shithub: pokecrystal

Download patch

ref: d7bc1d12f23a6d800169b887592807cf92b4974a
parent: b22a3347939a040ca3dc85c60c1cf6313c984add
parent: 1480602df75b980e291a832ba3a485d123a53047
author: Bryan Bishop <kanzure@gmail.com>
date: Fri Feb 13 09:38:23 EST 2015

Merge pull request #277 from yenatch/master

Start splitting code out of main.

--- a/battle/core.asm
+++ b/battle/core.asm
@@ -7366,7 +7366,7 @@
 .asm_3ee89
 	push hl
 	push bc
-	ld a, $1c
+	ld a, PartyMon1PokerusStatus - PartyMon1
 	call GetPartyParamLocation
 	ld a, [hl]
 	and a
@@ -7630,7 +7630,7 @@
 	call TextBox
 	hlcoord 11, 1
 	ld bc, $0004
-	predef Function50b7b
+	predef PrintTempMonStats
 	ld c, $1e
 	call DelayFrames
 	call Functiona80
@@ -7673,7 +7673,7 @@
 	cp b
 	jr z, .asm_3f0d1
 	ld [CurPartyMon], a
-	ld a, $0
+	ld a, PartyMon1Species - PartyMon1
 	call GetPartyParamLocation
 	ld b, h
 	ld c, l
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -1771,10 +1771,19 @@
 DUNGEON EQU 7
 
 ; object struct
+OBJECT_00 EQU $0
+OBJECT_01 EQU $1
 OBJECT_SPRITE EQU $2
+OBJECT_03 EQU $3
+OBJECT_04 EQU $4
 OBJECT_FLAGS EQU $5
 OBJECT_PALETTE EQU $6
+OBJECT_07 EQU $7
+OBJECT_08 EQU $8
+OBJECT_09 EQU $9
 OBJECT_STEP_DURATION EQU $a
+OBJECT_11 EQU $b
+OBJECT_12 EQU $c
 OBJECT_FACING EQU $d
 OBJECT_STANDING_TILE EQU $e
 OBJECT_NEXT_TILE EQU $f
@@ -1782,8 +1791,18 @@
 OBJECT_MAP_Y EQU $11
 OBJECT_NEXT_MAP_X EQU $12
 OBJECT_NEXT_MAP_Y EQU $13
+OBJECT_20 EQU $14
+OBJECT_21 EQU $15
+OBJECT_22 EQU $16
 OBJECT_SPRITE_X EQU $17
 OBJECT_SPRITE_Y EQU $18
 OBJECT_SPRITE_X_OFFSET EQU $19
 OBJECT_SPRITE_Y_OFFSET EQU $1a
+OBJECT_27 EQU $1b
+OBJECT_28 EQU $1c
+OBJECT_29 EQU $1d
+OBJECT_30 EQU $1e
+OBJECT_31 EQU $1f
+OBJECT_32 EQU $20
+; 33-39 are not used
 
--- a/constants/script_constants.asm
+++ b/constants/script_constants.asm
@@ -1,42 +1,3 @@
-; specials
-NUM_SPECIALS EQU $a8
-
-SPECIAL_UPDATESPRITETILES EQU $0038
-
-SPECIAL_WAITSFX           EQU $003b
-SPECIAL_BIKESURFMUSIC     EQU $003c
-
-SPECIAL_LOADFACESTEP      EQU $003f
-
-SPECIAL_GIVESHUCKLE       EQU $004b
-
-SPECIAL_SNORLAXAWAKE      EQU $0060
-
-SPECIAL_GAMEBOYCHECK      EQU $0066
-SPECIAL_TRAINERHOUSE      EQU $0067
-
-SPECIAL_RUSTLETREE        EQU $006a
-
-SPECIAL_ODDEGG            EQU $007d
-
-SPECIAL_MOVETUTOR         EQU $0083
-SPECIAL_OMANYTECHAMBER    EQU $0084
-
-SPECIAL_RUINCHAMBERWALL   EQU $0087
-
-SPECIAL_HOOHCHAMBER       EQU $008d
-
-SPECIAL_CELEBI            EQU $008f
-SPECIAL_AFTERCELEBI       EQU $0090
-SPECIAL_POKESEER          EQU $0091
-SPECIAL_BUENAS_PASSWORD   EQU $0092
-SPECIAL_BUENA_PRIZE       EQU $0093
-SPECIAL_DRATINI           EQU $0094
-
-SPECIAL_BEASTSCHECK       EQU $0096
-SPECIAL_MONCHECK          EQU $0097
-
-
 ; script vars
 NUM_VARS EQU $1b
 VAR_MOVEMENT EQU $08
--- /dev/null
+++ b/engine/diploma.asm
@@ -1,0 +1,94 @@
+
+Function1dd702: ; 1dd702
+	call Function1dd709
+	call Functiona80
+	ret
+; 1dd709
+
+Function1dd709: ; 1dd709
+	call WhiteBGMap
+	call ClearTileMap
+	call ClearSprites
+	call DisableLCD
+	ld hl, LZ_1dd805
+	ld de, VTiles2
+	call Decompress
+	ld hl, Tilemap_1ddc4b
+	ld de, TileMap
+	ld bc, $0168
+	call CopyBytes
+	ld de, String_1dd760
+	hlcoord 2, 5
+	call PlaceString
+	ld de, String_1dd767
+	hlcoord 15, 5
+	call PlaceString
+	ld de, PlayerName
+	hlcoord 9, 5
+	call PlaceString
+	ld de, String_1dd768
+	hlcoord 2, 8
+	call PlaceString
+	call EnableLCD
+	call WaitBGMap
+	ld b, $8
+	call GetSGBLayout
+	call Function32f9
+	call DelayFrame
+	ret
+; 1dd760
+
+String_1dd760:
+	db "PLAYER@"
+
+String_1dd767:
+	db "@"
+
+String_1dd768:
+	db   "This certifies"
+	next "that you have"
+	next "completed the"
+	next "new #DEX."
+	next "Congratulations!"
+	db   "@"
+; 1dd7ae
+
+Function1dd7ae: ; 1dd7ae
+	ld hl, TileMap
+	ld bc, $0168
+	ld a, $7f
+	call ByteFill
+	ld hl, Tilemap_1dddb3
+	ld de, TileMap
+	ld bc, $0168
+	call CopyBytes
+	ld de, String_1dd7fa
+	hlcoord 8, 0
+	call PlaceString
+	ld de, String_1dd7f0
+	hlcoord 3, 15
+	call PlaceString
+	hlcoord 12, 15
+	ld de, GameTimeHours
+	ld bc, $0204
+	call PrintNum
+	ld [hl], $67
+	inc hl
+	ld de, GameTimeMinutes
+	ld bc, $8102
+	call PrintNum
+	ret
+; 1dd7f0
+
+String_1dd7f0: db "PLAY TIME@"
+String_1dd7fa: db "GAME FREAK@"
+; 1dd805
+
+LZ_1dd805: ; 1dd805
+INCBIN "gfx/unknown/1dd805.2bpp.lz"
+
+Tilemap_1ddc4b: ; 1ddc4b
+INCBIN "gfx/unknown/1ddc4b.tilemap"
+
+Tilemap_1dddb3: ; 1dddb3
+INCBIN "gfx/unknown/1dddb3.tilemap"
--- /dev/null
+++ b/engine/map_objects.asm
@@ -1,0 +1,3683 @@
+
+INCLUDE "engine/facings.asm"
+
+Data4273:: ; 4273
+	db $00, $00, $01, $02, $00, $00
+	db $06, $00, $01, $0c, $00, $00
+	db $03, $00, $01, $00, $00, $00
+	db $04, $00, $01, $00, $00, $00
+	db $01, $00, $01, $00, $00, $00
+	db $02, $00, $01, $00, $00, $00
+	db $06, $00, $01, $00, $00, $00
+	db $06, $01, $01, $00, $00, $00
+	db $06, $02, $01, $00, $00, $00
+	db $06, $03, $01, $00, $00, $00
+	db $05, $00, $01, $00, $00, $00
+	db $07, $00, $01, $02, $00, $00
+	db $08, $00, $01, $00, $00, $00
+	db $09, $00, $01, $00, $00, $00
+	db $0a, $00, $01, $00, $00, $00
+	db $0b, $00, $01, $00, $00, $00
+	db $0c, $00, $01, $00, $00, $00
+	db $0d, $00, $01, $00, $00, $00
+	db $0e, $00, $01, $00, $00, $00
+	db $0f, $00, $01, $02, $00, $00
+	db $10, $00, $01, $02, $00, $00
+	db $15, $00, $09, $2e, $01, $c0
+	db $16, $00, $0a, $2e, $00, $00
+	db $06, $00, $01, $0c, $00, $00
+	db $06, $00, $01, $2e, $10, $00
+	db $11, $00, $01, $2e, $00, $40
+	db $12, $00, $01, $02, $00, $00
+	db $13, $00, $00, $8e, $01, $00
+	db $14, $00, $08, $8e, $02, $00
+	db $17, $00, $00, $82, $00, $00
+	db $19, $02, $01, $00, $00, $00
+	db $18, $03, $01, $00, $00, $00
+	db $11, $00, $0c, $2e, $01, $c0
+	db $11, $00, $0d, $2e, $01, $c0
+	db $1a, $00, $0e, $8e, $01, $00
+	db $1b, $00, $0f, $8e, $02, $00
+	db $03, $00, $01, $00, $00, $20
+	db $00, $00, $01, $00, $00, $00
+; 4357
+
+
+Function4357:: ; 4357
+	push bc
+	ld hl, OBJECT_01
+	add hl, bc
+	ld a, [hl]
+	push af
+	ld h, b
+	ld l, c
+	ld bc, ObjectStruct2 - ObjectStruct1
+	xor a
+	call ByteFill
+	pop af
+	cp $ff
+	jr z, .asm_4379
+	bit 7, a
+	jr nz, .asm_4379
+	call GetMapObject
+	ld hl, OBJECT_00
+	add hl, bc
+	ld [hl], $ff
+
+.asm_4379
+	pop bc
+	ret
+; 437b
+
+Function437b: ; 437b
+	call Function4386
+	ret c
+	call Function43f3
+	call Function4427
+	ret
+; 4386
+
+Function4386: ; 4386
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	res 6, [hl]
+	ld a, [XCoord]
+	ld e, a
+	ld hl, OBJECT_MAP_X
+	add hl, bc
+	ld a, [hl]
+	add $1
+	sub e
+	jr c, .asm_43b2
+	cp $c
+	jr nc, .asm_43b2
+	ld a, [YCoord]
+	ld e, a
+	ld hl, OBJECT_MAP_Y
+	add hl, bc
+	ld a, [hl]
+	add $1
+	sub e
+	jr c, .asm_43b2
+	cp $b
+	jr nc, .asm_43b2
+	jr .asm_43dc
+
+.asm_43b2
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	set 6, [hl]
+	ld a, [XCoord]
+	ld e, a
+	ld hl, OBJECT_20
+	add hl, bc
+	ld a, [hl]
+	add $1
+	sub e
+	jr c, .asm_43de
+	cp $c
+	jr nc, .asm_43de
+	ld a, [YCoord]
+	ld e, a
+	ld hl, OBJECT_21
+	add hl, bc
+	ld a, [hl]
+	add $1
+	sub e
+	jr c, .asm_43de
+	cp $b
+	jr nc, .asm_43de
+
+.asm_43dc
+	and a
+	ret
+
+.asm_43de
+	ld hl, OBJECT_04
+	add hl, bc
+	bit 1, [hl]
+	jr nz, .asm_43eb
+	call Function4357
+	scf
+	ret
+
+.asm_43eb
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	set 6, [hl]
+	and a
+	ret
+; 43f3
+
+Function43f3: ; 43f3
+	ld hl, OBJECT_09
+	add hl, bc
+	ld a, [hl]
+	and a
+	jr z, .asm_4409
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	bit 5, [hl]
+	jr nz, .asm_4426
+	cp $1
+	jr z, .asm_4414
+	jr .asm_4421
+
+.asm_4409
+	call Function47bc
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	bit 5, [hl]
+	jr nz, .asm_4426
+
+.asm_4414
+	call Function47dd
+	ld hl, OBJECT_09
+	add hl, bc
+	ld a, [hl]
+	and a
+	ret z
+	cp $1
+	ret z
+
+.asm_4421
+	ld hl, Pointers4b45
+	rst JumpTable
+	ret
+
+.asm_4426
+	ret
+; 4427
+
+Function4427: ; 4427
+	ld hl, OBJECT_04
+	add hl, bc
+	bit 0, [hl]
+	jr nz, Function44a3
+
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	bit 6, [hl]
+	jr nz, Function44a3
+
+	bit 5, [hl]
+	jr nz, Function4448
+
+	ld de, Pointers445f
+	jr Function444d
+; 4440
+
+Function4440: ; 4440
+	ld hl, OBJECT_04
+	add hl, bc
+	bit 0, [hl]
+	jr nz, Function44a3
+	; fallthrough
+; 4448
+
+Function4448: ; 4448
+	ld de, Pointers445f + 2
+	jr Function444d
+; 444d
+
+Function444d: ; 444d
+	ld hl, OBJECT_11
+	add hl, bc
+	ld a, [hl]
+	ld l, a
+	ld h, 0
+	add hl, hl
+	add hl, hl
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	call _hl_
+	ret
+; 445f
+
+Pointers445f: ; 445f
+	dw Function44a3
+	dw Function44a3
+	dw Function44b5
+	dw Function44aa
+	dw Function44c1
+	dw Function44aa
+	dw Function4508
+	dw Function44aa
+	dw Function4529
+	dw Function44aa
+	dw Function4539
+	dw Function44a3
+	dw Function456e
+	dw Function456e
+	dw Function457b
+	dw Function44a3
+	dw Function4582
+	dw Function4582
+	dw Function4589
+	dw Function4589
+	dw Function4590
+	dw Function45a4
+	dw Function45ab
+	dw Function44aa
+	dw Function45be
+	dw Function45be
+	dw Function45c5
+	dw Function45c5
+	dw Function45da
+	dw Function44a3
+	dw Function45ed
+	dw Function44a3
+	dw Function44e4
+	dw Function44aa
+; 44a3
+
+Function44a3: ; 44a3
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], $ff
+	ret
+; 44aa
+
+Function44aa: ; 44aa
+	call GetSpriteDirection
+	or $0
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], a
+	ret
+; 44b5
+
+Function44b5: ; 44b5
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld a, [hl]
+	and $1
+	jr nz, Function44c1
+	jp Function44aa
+; 44c1
+
+Function44c1: ; 44c1
+	ld hl, OBJECT_04
+	add hl, bc
+	bit 3, [hl]
+	jp nz, Function44aa
+	ld hl, OBJECT_12
+	add hl, bc
+	ld a, [hl]
+	inc a
+	and $f
+	ld [hl], a
+	rrca
+	rrca
+	and $3
+	ld d, a
+	call GetSpriteDirection
+	or $0
+	or d
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], a
+	ret
+; 44e4
+
+Function44e4: ; 44e4
+	ld hl, OBJECT_04
+	add hl, bc
+	bit 3, [hl]
+	jp nz, Function44aa
+	ld hl, OBJECT_12
+	add hl, bc
+	ld a, [hl]
+	add $2
+	and $f
+	ld [hl], a
+	rrca
+	rrca
+	and $3
+	ld d, a
+	call GetSpriteDirection
+	or $0
+	or d
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], a
+	ret
+; 4508
+
+Function4508: ; 4508
+	ld hl, OBJECT_04
+	add hl, bc
+	bit 3, [hl]
+	jp nz, Function44aa
+	ld hl, OBJECT_12
+	add hl, bc
+	inc [hl]
+	ld a, [hl]
+	rrca
+	rrca
+	rrca
+	and $3
+	ld d, a
+	call GetSpriteDirection
+	or $0
+	or d
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], a
+	ret
+; 4529
+
+Function4529: ; 4529
+	call Function453f
+	ld hl, OBJECT_08
+	add hl, bc
+	ld a, [hl]
+	or $0
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], a
+	ret
+; 4539
+
+Function4539: ; 4539
+	call Function453f
+	jp Function44a3
+; 453f
+
+Function453f: ; 453f
+	ld hl, OBJECT_12
+	add hl, bc
+	ld a, [hl]
+	and $f0
+	ld e, a
+	ld a, [hl]
+	inc a
+	and $f
+	ld d, a
+	cp $4
+	jr c, .asm_4558
+	ld d, 0
+	ld a, e
+	add $10
+	and $30
+	ld e, a
+
+.asm_4558
+	ld a, d
+	or e
+	ld [hl], a
+	swap e
+	ld d, 0
+	ld hl, .Directions
+	add hl, de
+	ld a, [hl]
+	ld hl, OBJECT_08
+	add hl, bc
+	ld [hl], a
+	ret
+; 456a
+
+.Directions ; 456a
+	db $00, $0c, $04, $08
+; 456e
+
+Function456e: ; 456e
+	call GetSpriteDirection
+	rrca
+	rrca
+	add $10
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], a
+	ret
+; 457b
+
+Function457b: ; 457b
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], $15
+	ret
+; 4582
+
+Function4582: ; 4582
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], $14
+	ret
+; 4589
+
+Function4589: ; 4589
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], $17
+	ret
+; 4590
+
+Function4590: ; 4590
+	ld hl, OBJECT_12
+	add hl, bc
+	ld a, [hl]
+	inc a
+	and $f
+	ld [hl], a
+	and $8
+	jr z, Function45a4
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], $4
+	ret
+; 45a4
+
+Function45a4: ; 45a4
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], $0
+	ret
+; 45ab
+
+Function45ab: ; 45ab
+	ld hl, OBJECT_12
+	add hl, bc
+	ld a, [hl]
+	inc a
+	ld [hl], a
+	and $c
+	rrca
+	rrca
+	add $18
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], a
+	ret
+; 45be
+
+Function45be: ; 45be
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], $16
+	ret
+; 45c5
+
+Function45c5: ; 45c5
+	ld a, [VariableSprites + 3]
+	ld d, $17
+	cp $33
+	jr z, .asm_45d4
+	cp $47
+	jr z, .asm_45d4
+	ld d, $16
+
+.asm_45d4
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], d
+	ret
+; 45da
+
+Function45da: ; 45da
+	ld hl, OBJECT_12
+	add hl, bc
+	inc [hl]
+	ld a, [hl]
+
+	ld hl, OBJECT_FACING
+	add hl, bc
+	and 2
+	ld a, $1c
+	jr z, .asm_45eb
+	inc a
+.asm_45eb
+	ld [hl], a
+	ret
+; 45ed
+
+Function45ed: ; 45ed
+	ld hl, OBJECT_12
+	add hl, bc
+	inc [hl]
+	ld a, [hl]
+	ld hl, OBJECT_FACING
+	add hl, bc
+	and 4
+	ld a, $1e
+	jr z, .asm_45fe
+	inc a
+
+.asm_45fe
+	ld [hl], a
+	ret
+; 4600
+
+Function4600: ; 4600
+
+	ld hl, OBJECT_MAP_X
+	add hl, bc
+	ld a, [hl]
+	ld hl, OBJECT_NEXT_MAP_X
+	add hl, bc
+	ld [hl], a
+
+	ld hl, OBJECT_MAP_Y
+	add hl, bc
+	ld a, [hl]
+	ld hl, OBJECT_NEXT_MAP_Y
+	add hl, bc
+	ld [hl], a
+
+	ld hl, OBJECT_STANDING_TILE
+	add hl, bc
+	ld a, [hl]
+	ld hl, OBJECT_NEXT_TILE
+	add hl, bc
+	ld [hl], a
+
+	call Function4661
+	ld hl, OBJECT_STANDING_TILE
+	add hl, bc
+	ld a, [hl]
+
+	call Function4679
+	ret
+; 462a
+
+Function462a: ; 462a
+
+	ld hl, OBJECT_NEXT_MAP_X
+	add hl, bc
+	ld a, [hl]
+	ld hl, OBJECT_MAP_X
+	add hl, bc
+	ld [hl], a
+
+	ld hl, OBJECT_NEXT_MAP_Y
+	add hl, bc
+	ld a, [hl]
+	ld hl, OBJECT_MAP_Y
+	add hl, bc
+	ld [hl], a
+
+	ret
+; 463f
+
+Function463f: ; 463f
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	bit 3, [hl]
+	jr z, .asm_464f
+	ld hl, OBJECT_STANDING_TILE
+	add hl, bc
+	ld a, [hl]
+	call Function4661
+
+.asm_464f
+	ld hl, OBJECT_STANDING_TILE
+	add hl, bc
+	ld a, [hl]
+	call Function4679
+	ret c
+	ld hl, OBJECT_NEXT_TILE
+	add hl, bc
+	ld a, [hl]
+	call Function4679
+	ret
+; 4661
+
+Function4661: ; 4661
+	call Function188e
+	jr z, .asm_466b
+	call Function1875
+	jr c, .asm_4672
+
+.asm_466b
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	set 3, [hl]
+	ret
+
+.asm_4672
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	res 3, [hl]
+	ret
+; 4679
+
+Function4679: ; 4679
+	and a
+	ret
+; 467b
+
+Function467b: ; 467b
+	xor a
+	ld hl, OBJECT_12
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_27
+	add hl, bc
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hl], a
+	ld hl, OBJECT_07
+	add hl, bc
+	ld [hl], $ff
+	ret
+; 4690
+
+Function4690: ; 4690
+	ld hl, OBJECT_07
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_04
+	add hl, bc
+	bit 2, [hl]
+	jr nz, .asm_46a6
+
+	add a
+	add a
+	and $c
+	ld hl, OBJECT_08
+	add hl, bc
+	ld [hl], a
+
+.asm_46a6
+	; fallthrough
+; 46a6
+
+Function46a6: ; 46a6
+
+	call GetStepVector
+
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], a
+
+	ld a, d
+	call Function4730
+	ld hl, OBJECT_NEXT_MAP_X
+	add hl, bc
+	add [hl]
+	ld hl, OBJECT_MAP_X
+	add hl, bc
+	ld [hl], a
+	ld d, a
+
+	ld a, e
+	call Function4730
+	ld hl, OBJECT_NEXT_MAP_Y
+	add hl, bc
+	add [hl]
+	ld hl, OBJECT_MAP_Y
+	add hl, bc
+	ld [hl], a
+	ld e, a
+
+	push bc
+	call Function2a3c
+	pop bc
+
+	ld hl, OBJECT_STANDING_TILE
+	add hl, bc
+	ld [hl], a
+
+	ret
+; 46d7
+
+Function46d7: ; 46d7
+
+	call GetStepVector
+
+	ld hl, OBJECT_SPRITE_X
+	add hl, bc
+	ld a, [hl]
+	add d
+	ld [hl], a
+
+	ld hl, OBJECT_SPRITE_Y
+	add hl, bc
+	ld a, [hl]
+	add e
+	ld [hl], a
+
+	ret
+; 46e9
+
+GetStepVector: ; 46e9
+; Return (x, y, duration, speed) in (d, e, a, h).
+	ld hl, OBJECT_07
+	add hl, bc
+	ld a, [hl]
+	and $f
+	add a
+	add a
+	ld l, a
+	ld h, 0
+	ld de, StepVectors
+	add hl, de
+	ld d, [hl]
+	inc hl
+	ld e, [hl]
+	inc hl
+	ld a, [hli]
+	ld h, [hl]
+	ret
+; 4700
+
+StepVectors: ; 4700
+; x,  y, duration, speed
+	; slow
+	db  0,  1, 16, 1
+	db  0, -1, 16, 1
+	db -1,  0, 16, 1
+	db  1,  0, 16, 1
+	; normal
+	db  0,  2,  8, 2
+	db  0, -2,  8, 2
+	db -2,  0,  8, 2
+	db  2,  0,  8, 2
+	; fast
+	db  0,  4,  4, 4
+	db  0, -4,  4, 4
+	db -4,  0,  4, 4
+	db  4,  0,  4, 4
+; 4730
+
+Function4730: ; 4730
+	add a
+	ret z
+	ld a, 1
+	ret nc
+	ld a, -1
+	ret
+; 4738
+
+Function4738: ; 4738
+	ld hl, OBJECT_07
+	add hl, bc
+	ld a, [hl]
+	and $3
+	ld [wd151], a
+	call Function46d7
+	ld a, [wd14e]
+	add d
+	ld [wd14e], a
+	ld a, [wd14f]
+	add e
+	ld [wd14f], a
+	ld hl, wd150
+	set 5, [hl]
+	ret
+; 4759
+
+Function4759: ; 4759
+	push bc
+	ld e, a
+	ld d, 0
+	ld hl, OBJECT_01
+	add hl, bc
+	ld a, [hl]
+	call GetMapObject
+	add hl, de
+	ld a, [hl]
+	pop bc
+	ret
+; 4769
+
+Function4769: ; 4769
+	ld hl, OBJECT_01
+	add hl, bc
+	ld a, [hl]
+	cp $ff
+	jr z, .asm_477d
+	push bc
+	call GetMapObject
+	ld hl, $0004
+	add hl, bc
+	ld a, [hl]
+	pop bc
+	ret
+
+.asm_477d
+	ld a, $6
+	ret
+; 4780
+
+Function4780: ; 4780
+	ld hl, OBJECT_27
+	add hl, bc
+	ld [hl], $0
+	ret
+; 4787
+
+Function4787: ; 4787
+	ld hl, OBJECT_27
+	add hl, bc
+	inc [hl]
+	ret
+; 478d
+
+Function478d: ; 478d
+	ld hl, OBJECT_27
+	add hl, bc
+	dec [hl]
+	ret
+; 4793
+
+Function4793: ; 4793
+	ld hl, OBJECT_27
+	add hl, bc
+	ld a, [hl]
+	pop hl
+	rst JumpTable
+	ret
+; 479b
+
+Function479b: ; 479b
+	ld hl, OBJECT_28
+	add hl, bc
+	ld [hl], $0
+	ret
+; 47a2
+
+Function47a2: ; 47a2
+	ld hl, OBJECT_28
+	add hl, bc
+	inc [hl]
+	ret
+; 47a8
+
+Function47a8: ; 47a8
+	ld hl, OBJECT_28
+	add hl, bc
+	ld a, [hl]
+	pop hl
+	rst JumpTable
+	ret
+; 47b0
+
+Function47b0: ; 47b0
+	ld hl, OBJECT_28
+	add hl, bc
+	ld a, [hl]
+	ret
+; 47b6
+
+Function47b6: ; 47b6
+	ld hl, OBJECT_28
+	add hl, bc
+	ld [hl], a
+	ret
+; 47bc
+
+Function47bc: ; 47bc
+	ld hl, OBJECT_MAP_X
+	add hl, bc
+	ld d, [hl]
+	ld hl, OBJECT_MAP_Y
+	add hl, bc
+	ld e, [hl]
+	push bc
+	call Function2a3c
+	pop bc
+	ld hl, OBJECT_STANDING_TILE
+	add hl, bc
+	ld [hl], a
+	call Function4600
+	call Function467b
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $1
+	ret
+; 47dd
+
+Function47dd: ; 47dd
+	call Function479b
+	call Function1a2f
+	ld a, [hl]
+	ld hl, .Pointers
+	rst JumpTable
+	ret
+; 47e9
+
+.Pointers ; 47e9
+	dw Function4821
+	dw Function4822
+	dw Function482c
+	dw Function4838
+	dw Function4842
+	dw Function4851
+	dw Function4869
+	dw Function487c
+	dw Function4882
+	dw Function4888
+	dw Function488e
+	dw Function4891
+	dw Function4894
+	dw Function4897
+	dw Function489d
+	dw Function48a0
+	dw Function48a6
+	dw Function48ac
+	dw Function48ff
+	dw Function49e5
+	dw Function4a21
+	dw Function4958
+	dw Function496e
+	dw Function4abc
+	dw Function498d
+	dw Function4984
+	dw Function4a46
+	dw Function4a89
+; 4821
+
+Function4821: ; 4821
+	ret
+; 4822
+
+Function4822: ; 4822
+	call Random
+	ld a, [hRandomAdd]
+	and 1
+	jp Function4af0
+; 482c
+
+Function482c: ; 482c
+	call Random
+	ld a, [hRandomAdd]
+	and 1
+	or 2
+	jp Function4af0
+; 4838
+
+Function4838: ; 4838
+	call Random
+	ld a, [hRandomAdd]
+	and 3
+	jp Function4af0
+; 4842
+
+Function4842: ; 4842
+	call Random
+	ld a, [hRandomAdd]
+	and $c
+	ld hl, OBJECT_08
+	add hl, bc
+	ld [hl], a
+	jp Function4b1d
+; 4851
+
+Function4851: ; 4851
+	ld hl, OBJECT_08
+	add hl, bc
+	ld a, [hl]
+	and $c
+	ld d, a
+	call Random
+	ld a, [hRandomAdd]
+	and $c
+	cp d
+	jr nz, .asm_4865
+	xor $c
+
+.asm_4865
+	ld [hl], a
+	jp Function4b26
+; 4869
+
+Function4869: ; 4869
+	call Function462a
+	call Function467b
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $1
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $5
+	ret
+; 487c
+
+Function487c: ; 487c
+	ld hl, Function5000
+	jp Function5041
+; 4882
+
+Function4882: ; 4882
+	ld hl, Function5015
+	jp Function5041
+; 4888
+
+Function4888: ; 4888
+	ld hl, Function5026
+	jp Function5041
+; 488e
+
+Function488e: ; 488e
+	jp Function5037
+; 4891
+
+Function4891: ; 4891
+	jp Function5037
+; 4894
+
+Function4894: ; 4894
+	jp Function5037
+; 4897
+
+Function4897: ; 4897
+	ld hl, Function5000
+	jp Function5041
+; 489d
+
+Function489d: ; 489d
+	jp Function5037
+; 48a0
+
+Function48a0: ; 48a0
+	ld hl, Function54e6
+	jp Function5041
+; 48a6
+
+Function48a6: ; 48a6
+	ld hl, Function500e
+	jp Function5041
+; 48ac
+
+Function48ac: ; 48ac
+	call Function4793
+	dw Function48b3
+	dw Function48f8
+; 48b3
+
+Function48b3: ; 48b3
+	ld hl, OBJECT_STANDING_TILE
+	add hl, bc
+	ld a, [hl]
+	call CheckPitTile
+	jr z, .asm_48f5
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	bit 2, [hl]
+	res 2, [hl]
+	jr z, .asm_48ee
+	ld hl, OBJECT_32
+	add hl, bc
+	ld a, [hl]
+	and $3
+	or $0
+	call Function4690
+	call Function6ec1
+	jr c, .asm_48eb
+	ld de, SFX_STRENGTH
+	call PlaySFX
+	call Function5538
+	call Function463f
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $f
+	ret
+
+.asm_48eb
+	call Function462a
+
+.asm_48ee
+	ld hl, OBJECT_07
+	add hl, bc
+	ld [hl], $ff
+	ret
+
+.asm_48f5
+	call Function4787
+	; fallthrough
+; 48f8
+
+Function48f8: ; 48f8
+	ld hl, OBJECT_07
+	add hl, bc
+	ld [hl], $ff
+	ret
+; 48ff
+
+Function48ff: ; 48ff
+	ld hl, OBJECT_MAP_X
+	add hl, bc
+	ld d, [hl]
+	ld hl, OBJECT_MAP_Y
+	add hl, bc
+	ld e, [hl]
+	ld hl, OBJECT_32
+	add hl, bc
+	ld a, [hl]
+	push bc
+	call Function1ae5
+	ld hl, OBJECT_07
+	add hl, bc
+	ld a, [hl]
+	cp $ff
+	jr z, .asm_494a
+	ld hl, OBJECT_NEXT_MAP_X
+	add hl, bc
+	ld a, [hl]
+	cp d
+	jr z, .asm_492d
+	jr c, .asm_4929
+	ld a, $3
+	jr .asm_493d
+
+.asm_4929
+	ld a, $2
+	jr .asm_493d
+
+.asm_492d
+	ld hl, OBJECT_NEXT_MAP_Y
+	add hl, bc
+	ld a, [hl]
+	cp e
+	jr z, .asm_494a
+	jr c, .asm_493b
+	ld a, $0
+	jr .asm_493d
+
+.asm_493b
+	ld a, $1
+
+.asm_493d
+	ld d, a
+	ld hl, OBJECT_07
+	add hl, bc
+	ld a, [hl]
+	and $c
+	or d
+	pop bc
+	jp Function5412
+
+.asm_494a
+	pop bc
+	ld hl, OBJECT_07
+	add hl, bc
+	ld [hl], $ff
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $1
+	ret
+; 4958
+
+Function4958: ; 4958
+	call Function467b
+	ld hl, OBJECT_07
+	add hl, bc
+	ld [hl], $ff
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $9
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $4
+	ret
+; 496e
+
+Function496e: ; 496e
+	call Function467b
+	ld hl, OBJECT_07
+	add hl, bc
+	ld [hl], $ff
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $a
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $4
+	ret
+; 4984
+
+Function4984: ; 4984
+	call Function4793
+	dw Function4996
+	dw Function499c
+	dw Function49b8
+; 498d
+
+Function498d: ; 498d
+	call Function4793
+	dw Function4996
+	dw Function499c
+	dw Function49c4
+; 4996
+
+Function4996: ; 4996
+	call Function467b
+	call Function4787
+	; fallthrough
+; 499c
+
+Function499c: ; 499c
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $1
+	ld hl, OBJECT_32
+	add hl, bc
+	ld a, [hl]
+	ld a, $10
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $3
+	call Function4787
+	ret
+; 49b8
+
+Function49b8: ; 49b8
+	ld de, .data_49c0
+	call Function49d0
+	jr Function4984
+; 49c0
+
+.data_49c0 ; 49c0
+	db $0c, $08, $00, $04
+; 49c4
+
+Function49c4: ; 49c4
+	ld de, .data_49cc
+	call Function49d0
+	jr Function498d
+; 49cc
+
+.data_49cc ; 49cc
+	db $08, $0c, $04, $00
+; 49d0
+
+Function49d0: ; 49d0
+	ld hl, OBJECT_08
+	add hl, bc
+	ld a, [hl]
+	and $c
+	rrca
+	rrca
+	push hl
+	ld l, a
+	ld h, $0
+	add hl, de
+	ld a, [hl]
+	pop hl
+	ld [hl], a
+	call Function478d
+	ret
+; 49e5
+
+Function49e5: ; 49e5
+	call Function4aa8
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $7
+	ld hl, OBJECT_STEP_DURATION
+	add hl, de
+	ld a, [hl]
+	inc a
+	add a
+	add $0
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_07
+	add hl, de
+	ld a, [hl]
+	and 3
+	ld d, $e
+	cp 0
+	jr z, .asm_4a0f
+	cp 1
+	jr z, .asm_4a0f
+	ld d, $c
+
+.asm_4a0f
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	ld [hl], d
+	ld hl, OBJECT_SPRITE_X_OFFSET
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $13
+	ret
+; 4a21
+
+Function4a21: ; 4a21
+	call Function467b
+	call Function4aa8
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $8
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	ld [hl], $f0
+	ld hl, OBJECT_SPRITE_X_OFFSET
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $13
+	ret
+; 4a46
+
+Function4a46: ; 4a46
+	call Function467b
+	call Function4aa8
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $e
+	ld hl, OBJECT_STEP_DURATION
+	add hl, de
+	ld a, [hl]
+	inc a
+	add a
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_07
+	add hl, de
+	ld a, [hl]
+	and 3
+	ld e, a
+	ld d, 0
+	ld hl, .data_4a81
+	add hl, de
+	add hl, de
+	ld d, [hl]
+	inc hl
+	ld e, [hl]
+	ld hl, OBJECT_SPRITE_X_OFFSET
+	add hl, bc
+	ld [hl], d
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	ld [hl], e
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $13
+	ret
+; 4a81
+
+.data_4a81  ; 4a81
+	;   x,  y
+	db  0, -4
+	db  0,  8
+	db  6,  2
+	db -6,  2
+; 4a89
+
+Function4a89: ; 4a89
+	call Function467b
+	call Function4aa8
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $f
+	ld hl, OBJECT_STEP_DURATION
+	add hl, de
+	ld a, [hl]
+	add $ff
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $13
+	ret
+; 4aa8
+
+Function4aa8: ; 4aa8
+	ld hl, OBJECT_32
+	add hl, bc
+	ld a, [hl]
+	push bc
+	call Function1ae5
+	ld d, b
+	ld e, c
+	pop bc
+	ld hl, OBJECT_29
+	add hl, bc
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	ret
+; 4abc
+
+Function4abc: ; 4abc
+	call Function467b
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_32
+	add hl, bc
+	ld a, [hl]
+	call Function4ade
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], e
+	ld hl, OBJECT_30
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $15
+	ret
+; 4ade
+
+Function4ade: ; 4ade
+	ld d, a
+	and $3f
+	ld e, a
+	ld a, d
+	rlca
+	rlca
+	and $3
+	ld d, a
+	inc d
+	ld a, $1
+.asm_4aeb
+	dec d
+	ret z
+	add a
+	jr .asm_4aeb
+; 4af0
+
+Function4af0: ; 4af0
+	call Function4690
+	call Function6ec1
+	jr c, Function4b17
+	call Function463f
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $2
+	ld hl, wd4cf
+	ld a, [$ffaf]
+	cp [hl]
+	jr z, .asm_4b10
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $7
+	ret
+
+.asm_4b10
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $6
+	ret
+
+Function4b17: ; 4b17
+	call Function467b
+	call Function462a
+	; fallthrough
+; 4b1d
+
+Function4b1d: ; 4b1d
+	call Random
+	ld a, [hRandomAdd]
+	and $7f
+	jr Function4b2d
+; 4b26
+
+Function4b26: ; 4b26
+	call Random
+	ld a, [hRandomAdd]
+	and $1f
+	; fallthrough
+; 4b2d
+
+Function4b2d: ; 4b2d
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_07
+	add hl, bc
+	ld [hl], $ff
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $1
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $3
+	ret
+; 4b45
+
+Pointers4b45: ; 4b45
+	dw Function47bc
+	dw Function47dd
+	dw Function4e2b
+	dw Function4ddd
+	dw Function4e21
+	dw Function4e0c
+	dw Function4e56
+	dw Function4e47
+	dw Function4b86
+	dw Function4bbf
+	dw Function4e83
+	dw Function4dff
+	dw Function4c18
+	dw Function4c89
+	dw Function4d14
+	dw Function4ecd
+	dw Function4d7e
+	dw Function4daf
+	dw Function4dc8
+	dw Function4f04
+	dw Function4f33
+	dw Function4f33
+	dw Function4f77
+	dw Function4f7a
+	dw Function4df0
+	dw Function4f83
+; 4b79
+
+Function4b79: ; 4b79
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $1
+	ret
+; 4b86
+
+Function4b86: ; 4b86
+	call Function47a8
+	dw Function4b8d
+	dw Function4ba9
+; 4b8d
+
+Function4b8d: ; 4b8d
+	call Function46d7
+	call UpdateJumpPosition
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	call Function4600
+	call Function46a6
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	res 3, [hl]
+	call Function47a2
+	ret
+; 4ba9
+
+Function4ba9: ; 4ba9
+	call Function46d7
+	call UpdateJumpPosition
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	call Function4600
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $1
+	ret
+; 4bbf
+
+Function4bbf: ; 4bbf
+	call Function47a8
+	dw Function4bca
+	dw Function4bd2
+	dw Function4bf2
+	dw Function4bfd
+; 4bca
+
+Function4bca: ; 4bca
+	ld hl, wd150
+	set 7, [hl]
+	call Function47a2
+;	fallthrough
+; 4bd2
+
+Function4bd2: ; 4bd2
+	call UpdateJumpPosition
+	call Function4738
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	call Function4600
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	res 3, [hl]
+	ld hl, wd150
+	set 6, [hl]
+	set 4, [hl]
+	call Function47a2
+	ret
+; 4bf2
+
+Function4bf2: ; 4bf2
+	call Function46a6
+	ld hl, wd150
+	set 7, [hl]
+	call Function47a2
+;	fallthrough
+; 4bfd
+
+Function4bfd: ; 4bfd
+	call UpdateJumpPosition
+	call Function4738
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	ld hl, wd150
+	set 6, [hl]
+	call Function4600
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $1
+	ret
+; 4c18
+
+Function4c18: ; 4c18
+	call Function47a8
+	dw Function4c23
+	dw Function4c32
+	dw Function4c42
+	dw Function4c5d
+; 4c23
+
+Function4c23: ; 4c23
+	ld hl, OBJECT_12
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], $10
+	call Function47a2
+;	fallthrough
+; 4c32
+
+Function4c32: ; 4c32
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $4
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	call Function47a2
+	ret
+; 4c42
+
+Function4c42: ; 4c42
+	ld hl, OBJECT_12
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_31
+	add hl, bc
+	ld [hl], $10
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], $10
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	res 3, [hl]
+	call Function47a2
+;	fallthrough
+; 4c5d
+
+Function4c5d: ; 4c5d
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $4
+	ld hl, OBJECT_31
+	add hl, bc
+	inc [hl]
+	ld a, [hl]
+	ld d, $60
+	call Sine
+	ld a, h
+	sub $60
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	ld hl, OBJECT_12
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $1
+	ret
+; 4c89
+
+Function4c89: ; 4c89
+	call Function47a8
+	dw Function4c9a
+	dw Function4caa
+	dw Function4cb3
+	dw Function4cc9
+	dw Function4ceb
+	dw Function4cf5
+	dw Function4d01
+; 4c9a
+
+Function4c9a: ; 4c9a
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], $10
+	call Function47a2
+	ret
+; 4caa
+
+Function4caa: ; 4caa
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	call Function47a2
+;	fallthrough
+; 4cb3
+
+Function4cb3: ; 4cb3
+	ld hl, OBJECT_12
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_31
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], $10
+	call Function47a2
+	ret
+; 4cc9
+
+Function4cc9: ; 4cc9
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $4
+	ld hl, OBJECT_31
+	add hl, bc
+	inc [hl]
+	ld a, [hl]
+	ld d, $60
+	call Sine
+	ld a, h
+	sub $60
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	call Function47a2
+;	fallthrough
+; 4ceb
+
+Function4ceb: ; 4ceb
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], $10
+	call Function47a2
+	ret
+; 4cf5
+
+Function4cf5: ; 4cf5
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $4
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+; 4d01
+
+Function4d01: ; 4d01
+	ld hl, OBJECT_12
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $1
+	ret
+; 4d14
+
+Function4d14: ; 4d14
+	call Function47a8
+	dw Function4d1f
+	dw Function4d2e
+	dw Function4d4f
+	dw Function4d6b
+; 4d1f
+
+Function4d1f: ; 4d1f
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], $10
+	call Function47a2
+;	fallthrough
+; 4d2e
+
+Function4d2e: ; 4d2e
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $2
+	ld hl, OBJECT_12
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_31
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], $10
+	call Function47a2
+;	fallthrough
+; 4d4f
+
+Function4d4f: ; 4d4f
+	ld hl, OBJECT_31
+	add hl, bc
+	inc [hl]
+	ld a, [hl]
+	ld d, $60
+	call Sine
+	ld a, h
+	sub $60
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	call Function47a2
+;	fallthrough
+; 4d6b
+
+Function4d6b: ; 4d6b
+	ld hl, OBJECT_12
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $1
+	ret
+; 4d7e
+
+Function4d7e: ; 4d7e
+	call Function47a8
+	dw Function4d85
+	dw Function4d94
+; 4d85
+
+Function4d85: ; 4d85
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], $8
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	ld [hl], $0
+	call Function47a2
+	; fallthrough
+; 4d94
+
+Function4d94: ; 4d94
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	ld a, [hl]
+	xor 1
+	ld [hl], a
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $1
+	ret
+; 4daf
+
+Function4daf: ; 4daf
+	call Function4db5
+	jp Function4b79
+; 4db5
+
+Function4db5: ; 4db5
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld a, [hl]
+	and $1
+	ld a, $1
+	jr z, .asm_4dc2
+	ld a, $0
+
+.asm_4dc2
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], a
+	ret
+; 4dc8
+
+Function4dc8: ; 4dc8
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld a, [hl]
+	and $1
+	ld a, $4
+	jr z, .asm_4dd5
+	ld a, $5
+
+.asm_4dd5
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], a
+	jp Function4b79
+; 4ddd
+
+Function4ddd: ; 4ddd
+	ld hl, OBJECT_07
+	add hl, bc
+	ld [hl], $ff
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $1
+	ret
+; 4df0
+
+Function4df0: ; 4df0
+	ld hl, OBJECT_07
+	add hl, bc
+	ld [hl], $ff
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	jp Function4357
+; 4dff
+
+Function4dff: ; 4dff
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $1
+	ret
+; 4e0c
+
+Function4e0c: ; 4e0c
+	call Function47a8
+	dw Function4e13
+	dw Function4e21
+; 4e13
+
+Function4e13: ; 4e13
+	call Function4769
+	call Function1a47
+	ld hl, OBJECT_08
+	add hl, bc
+	ld [hl], a
+	call Function47a2
+	; fallthrough
+; 4e21
+
+Function4e21: ; 4e21
+	call Function4fb2
+	ld hl, OBJECT_07
+	add hl, bc
+	ld [hl], $ff
+	ret
+; 4e2b
+
+Function4e2b: ; 4e2b
+	call Function4fb2
+	call Function46d7
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	call Function4600
+	ld hl, OBJECT_07
+	add hl, bc
+	ld [hl], $ff
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $1
+	ret
+; 4e47
+
+Function4e47: ; 4e47
+	call Function46d7
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	call Function4600
+	jp Function4b1d
+; 4e56
+
+Function4e56: ; 4e56
+; AnimateStep?
+	call Function47a8
+	dw Function4e5d
+	dw Function4e65
+; 4e5d
+
+Function4e5d: ; 4e5d
+	ld hl, wd150
+	set 7, [hl]
+	call Function47a2
+	; fallthrough
+; 4e65
+
+Function4e65: ; 4e65
+	call Function4738
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	ld hl, wd150
+	set 6, [hl]
+	call Function4600
+	ld hl, OBJECT_07
+	add hl, bc
+	ld [hl], $ff
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $1
+	ret
+; 4e83
+
+Function4e83: ; 4e83
+	call Function47a8
+	dw Function4e8e
+	dw Function4ea4
+	dw Function4ead
+	dw Function4ec0
+; 4e8e
+
+Function4e8e: ; 4e8e
+	ld hl, OBJECT_07
+	add hl, bc
+	ld [hl], $ff
+	ld hl, OBJECT_12
+	add hl, bc
+	ld a, [hl]
+	ld [hl], $2
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], $2
+	call Function47a2
+	; fallthrough
+; 4ea4
+
+Function4ea4: ; 4ea4
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	call Function47a2
+	; fallthrough
+; 4ead
+
+Function4ead: ; 4ead
+	ld hl, OBJECT_29
+	add hl, bc
+	ld a, [hl]
+	ld hl, OBJECT_08
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], $2
+	call Function47a2
+	; fallthrough
+; 4ec0
+
+Function4ec0: ; 4ec0
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $1
+	ret
+; 4ecd
+
+Function4ecd: ; 4ecd
+	call Function46d7
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	push bc
+	ld hl, OBJECT_MAP_X
+	add hl, bc
+	ld d, [hl]
+	ld hl, OBJECT_MAP_Y
+	add hl, bc
+	ld e, [hl]
+	ld hl, OBJECT_01
+	add hl, bc
+	ld a, [hl]
+	ld b, a
+	callba Function807e
+	pop bc
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	res 2, [hl]
+	call Function4600
+	ld hl, OBJECT_07
+	add hl, bc
+	ld [hl], $ff
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $1
+	ret
+; 4f04
+
+Function4f04: ; 4f04
+	ld hl, OBJECT_29
+	add hl, bc
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld hl, OBJECT_00
+	add hl, de
+	ld a, [hl]
+	and a
+	jr z, .asm_4f30
+	ld hl, OBJECT_SPRITE_X
+	add hl, de
+	ld a, [hl]
+	ld hl, OBJECT_SPRITE_X
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_SPRITE_Y
+	add hl, de
+	ld a, [hl]
+	ld hl, OBJECT_SPRITE_Y
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld a, [hl]
+	and a
+	ret z
+	dec [hl]
+	ret nz
+
+.asm_4f30
+	jp Function4357
+; 4f33
+
+Function4f33: ; 4f33
+	call Function47a8
+	dw Function4f3a
+	dw Function4f43
+; 4f3a
+
+Function4f3a: ; 4f3a
+	xor a
+	ld hl, OBJECT_29
+	add hl, bc
+	ld [hl], a
+	call Function47a2
+	; fallthrough
+; 4f43
+
+Function4f43: ; 4f43
+	ld hl, OBJECT_29
+	add hl, bc
+	ld d, [hl]
+	ld a, [wd14f]
+	sub d
+	ld [wd14f], a
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	jr z, .asm_4f68
+	ld a, [hl]
+	call Function4f6c
+	ld hl, OBJECT_29
+	add hl, bc
+	ld [hl], a
+	ld d, a
+	ld a, [wd14f]
+	add d
+	ld [wd14f], a
+	ret
+
+.asm_4f68
+	call Function4357
+	ret
+; 4f6c
+
+Function4f6c: ; 4f6c
+	ld hl, OBJECT_30
+	add hl, bc
+	and 1
+	ld a, [hl]
+	ret z
+	cpl
+	inc a
+	ret
+; 4f77
+
+Function4f77: ; 4f77
+	call Function47a8 ; ????
+; 4f7a
+
+Function4f7a: ; 4f7a
+	call Function47a8
+	dw Function4f83
+	dw Function4f83
+	dw Function4f83
+; 4f83
+
+Function4f83: ; 4f83
+	call Function47a8
+	dw Function4f8a
+	dw Function4f99
+; 4f8a
+
+Function4f8a: ; 4f8a
+	ld hl, OBJECT_11
+	add hl, bc
+	ld [hl], $10
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	ld [hl], $10
+	call Function47a2
+; 4f99
+
+Function4f99: ; 4f99
+	ld hl, OBJECT_STEP_DURATION
+	add hl, bc
+	dec [hl]
+	ret nz
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	ld [hl], $60
+	ld hl, OBJECT_12
+	add hl, bc
+	ld [hl], $0
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $1
+	ret
+; 4fb2
+
+Function4fb2: ; 4fb2
+	ret
+; 4fb3
+
+Function4fb3: ; 4fb3
+	ld hl, OBJECT_29
+	add hl, bc
+	inc [hl]
+	ld a, [hl]
+	srl a
+	srl a
+	and 7
+	ld l, a
+	ld h, 0
+	ld de, .y
+	add hl, de
+	ld a, [hl]
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	ld [hl], a
+	ret
+; 4fcd
+
+.y ; 4fcd
+	db 0, -1, -2, -3, -4, -3, -2, -1
+; 4fd5
+
+UpdateJumpPosition: ; 4fd5
+	call GetStepVector
+	ld a, h
+	ld hl, OBJECT_31
+	add hl, bc
+	ld e, [hl]
+	add e
+	ld [hl], a
+	nop
+	srl e
+	ld d, 0
+	ld hl, .y
+	add hl, de
+	ld a, [hl]
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	ld [hl], a
+	ret
+; 4ff0
+
+.y ; 4ff0
+	db  -4,  -6,  -8, -10, -11, -12, -12, -12
+	db -11, -10,  -9,  -8,  -6,  -4,   0,   0
+; 5000
+
+Function5000: ; 5000
+	ld a, [wc2de]
+	ld hl, wc2df
+	ld [hl], a
+	ld a, $3e
+	ld [wc2de], a
+	ld a, [hl]
+	ret
+; 500e
+
+Function500e: ; 500e
+	ld hl, wc2e3
+	call Function1aae
+	ret
+; 5015
+
+Function5015: ; 5015
+	ld hl, OBJECT_27
+	add hl, bc
+	ld e, [hl]
+	inc [hl]
+	ld d, 0
+	ld hl, wc2e2
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	add hl, de
+	ld a, [hl]
+	ret
+; 5026
+
+Function5026: ; 5026
+	ld hl, OBJECT_27
+	add hl, bc
+	ld e, [hl]
+	inc [hl]
+	ld d, 0
+	ld hl, wc2e6
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	add hl, de
+	ld a, [hl]
+	ret
+; 5037
+
+Function5037: ; 5037
+	ld hl, Function503d
+	jp Function5041
+; 503d
+
+Function503d: ; 503d
+	ld a, [wc2e2]
+	ret
+; 5041
+
+Function5041: ; 5041
+	call Function5055
+.asm_5044
+	xor a
+	ld [wc2ea], a
+	call Function505e
+	call Function506b
+	ld a, [wc2ea]
+	and a
+	jr nz, .asm_5044
+	ret
+; 5055
+
+Function5055: ; 5055
+	ld a, l
+	ld [wc2eb], a
+	ld a, h
+	ld [wc2ec], a
+	ret
+; 505e
+
+Function505e: ; 505e
+	ld hl, wc2eb
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 5065
+
+Function5065: ; 5065
+	ld a, $1
+	ld [wc2ea], a
+	ret
+; 506b
+
+Function506b: ; 506b
+	push af
+	call Function54b8
+	pop af
+	ld hl, MovementPointers
+	rst JumpTable
+	ret
+; 5075
+
+
+; 5075
+INCLUDE "engine/movement.asm"
+; 54b8
+
+
+Function54b8: ; 54b8
+	ld e, a
+	ld a, [wd4ce]
+	cp $ff
+	ret z
+	ld a, [wd4cd]
+	ld d, a
+	ld a, [$ffaf]
+	cp d
+	ret nz
+	ld a, e
+	cp $3e
+	ret z
+	cp $47
+	ret z
+	cp $4b
+	ret z
+	cp $50
+	ret z
+	cp $8
+	ret c
+	push af
+	ld hl, wd4d0
+	inc [hl]
+	ld e, [hl]
+	ld d, 0
+	ld hl, wd4d1
+	add hl, de
+	pop af
+	ld [hl], a
+	ret
+; 54e6
+
+Function54e6: ; 54e6
+	ld hl, wd4d0
+	ld a, [hl]
+	and a
+	jr z, .asm_5503
+	cp $ff
+	jr z, .asm_5503
+	dec [hl]
+	ld e, a
+	ld d, 0
+	ld hl, wd4d1
+	add hl, de
+	inc e
+	ld a, $ff
+.asm_54fc
+	ld d, [hl]
+	ld [hld], a
+	ld a, d
+	dec e
+	jr nz, .asm_54fc
+	ret
+
+.asm_5503
+	call Function550a
+	ret c
+	ld a, $3e
+	ret
+; 550a
+
+Function550a: ; 550a
+	ld a, [wd4cd]
+	cp $ff
+	jr z, .asm_5520
+	push bc
+	call Function1ae5
+	ld hl, OBJECT_00
+	add hl, bc
+	ld a, [hl]
+	pop bc
+	and a
+	jr z, .asm_5520
+	and a
+	ret
+
+.asm_5520
+	ld a, $ff
+	ld [wd4ce], a
+	ld a, $47
+	scf
+	ret
+; 5529
+
+Function5529: ; 5529
+	push bc
+	ld de, .data_5535
+	call Function55b9
+	call Function55ac
+	pop bc
+	ret
+
+.data_5535
+	db $00, $05, $1b
+; 5538
+
+Function5538: ; 5538
+	push bc
+	ld de, .data_5544
+	call Function55b9
+	call Function55ac
+	pop bc
+	ret
+
+.data_5544
+	db $00, $05, $22
+; 5547
+
+Function5547: ; 5547
+	push bc
+	ld de, .data_5553
+	call Function55b9
+	call Function55ac
+	pop bc
+	ret
+
+.data_5553
+	db $00, $05, $1c
+; 5556
+
+Function5556: ; 5556
+	push bc
+	ld de, .data_5562
+	call Function55b9
+	call Function55ac
+	pop bc
+	ret
+
+.data_5562
+	db $00, $06, $23
+; 5565
+
+Function5565: ; 5565
+	push bc
+	push af
+	ld de, .data_5576
+	call Function55b9
+	pop af
+	ld [wc2f5], a
+	call Function55ac
+	pop bc
+	ret
+
+.data_5576
+	db $00, $05, $1d
+; 5579
+
+Function5579: ; 5579
+	push bc
+	ld a, [$ffaf]
+	ld c, a
+	call Function5582
+	pop bc
+	ret
+; 5582
+
+Function5582: ; 5582
+	ld de, ObjectStructs
+	ld a, $d
+.asm_5587
+	push af
+	ld hl, OBJECT_04
+	add hl, de
+	bit 7, [hl]
+	jr z, .asm_55a1
+	ld hl, OBJECT_00
+	add hl, de
+	ld a, [hl]
+	and a
+	jr z, .asm_55a1
+	push bc
+	xor a
+	ld bc, ObjectStruct2 - ObjectStruct1
+	call ByteFill
+	pop bc
+
+.asm_55a1
+	ld hl, ObjectStruct2 - ObjectStruct1
+	add hl, de
+	ld d, h
+	ld e, l
+	pop af
+	dec a
+	jr nz, .asm_5587
+	ret
+; 55ac
+
+Function55ac: ; 55ac
+	call Function1a13
+	ret nc
+	ld d, h
+	ld e, l
+	callba Function8286
+	ret
+; 55b9
+
+Function55b9: ; 55b9
+	ld hl, wc2f0
+	ld [hl], $ff
+	inc hl
+	ld [hl], $ff
+	inc hl
+	ld a, [de]
+	inc de
+	ld [hli], a
+	ld a, [de]
+	inc de
+	ld [hli], a
+	ld a, [de]
+	ld [hli], a
+	ld a, [$ffaf]
+	ld [hli], a
+	push hl
+	ld hl, OBJECT_MAP_X
+	add hl, bc
+	ld d, [hl]
+	ld hl, OBJECT_MAP_Y
+	add hl, bc
+	ld e, [hl]
+	pop hl
+	ld [hl], d
+	inc hl
+	ld [hl], e
+	inc hl
+	ld [hl], $ff
+	ret
+; 55e0
+
+Function55e0:: ; 55e0
+	ld a, [VramState]
+	bit 0, a
+	ret z
+	ld bc, ObjectStructs
+	xor a
+.asm_55ea
+	ld [$ffaf], a
+	call Function1af1
+	jr z, .asm_55f4
+	call Function565c
+
+.asm_55f4
+	ld hl, ObjectStruct2 - ObjectStruct1
+	add hl, bc
+	ld b, h
+	ld c, l
+	ld a, [$ffaf]
+	inc a
+	cp $d
+	jr nz, .asm_55ea
+	ret
+; 5602
+
+Function5602: ; 5602
+	call Function5645
+	ld a, $0
+	call Function5629
+	ld a, [wd459]
+	bit 7, a
+	jr z, .asm_5619
+	ld a, [$ffe0]
+	and a
+	jr z, .asm_5619
+	call Function5629
+
+.asm_5619
+	call Function5920
+	ret
+; 561d
+
+Function561d: ; 561d
+	call Function5645
+	ld a, $0
+	call Function5629
+	call Function5920
+	ret
+; 5629
+
+Function5629: ; 5629
+	cp $10
+	ret nc
+	call GetMapObject
+	ld hl, $0000
+	add hl, bc
+	ld a, [hl]
+	cp $ff
+	ret z
+	cp $d
+	ret nc
+	call Function1ae5
+	call Function1af1
+	ret z
+	call Function5673
+	ret
+; 5645
+
+Function5645: ; 5645
+	xor a
+	ld bc, ObjectStructs
+.asm_5649
+	ld [$ffaf], a
+	call Function5680
+	ld hl, ObjectStruct2 - ObjectStruct1
+	add hl, bc
+	ld b, h
+	ld c, l
+	ld a, [$ffaf]
+	inc a
+	cp $d
+	jr nz, .asm_5649
+	ret
+; 565c
+
+Function565c: ; 565c
+	push bc
+	call Function56cd
+	pop bc
+	jr c, Function5680
+	call Function56a3
+	jr c, Function5680
+	call Function5688
+	callba Function4440
+	xor a
+	ret
+; 5673
+
+Function5673: ; 5673
+	call Function56a3
+	jr c, Function5680
+	callba Function4440
+	xor a
+	ret
+; 5680
+
+Function5680: ; 5680
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld [hl], $ff
+	scf
+	ret
+; 5688
+
+Function5688: ; 5688
+	push bc
+	ld hl, OBJECT_MAP_X
+	add hl, bc
+	ld d, [hl]
+	ld hl, OBJECT_MAP_Y
+	add hl, bc
+	ld e, [hl]
+	call Function2a3c
+	pop bc
+	ld hl, OBJECT_STANDING_TILE
+	add hl, bc
+	ld [hl], a
+	callba Function463f
+	ret
+; 56a3
+
+Function56a3: ; 56a3
+	ld hl, OBJECT_MAP_X
+	add hl, bc
+	ld d, [hl]
+	ld hl, OBJECT_MAP_Y
+	add hl, bc
+	ld e, [hl]
+	inc d
+	inc e
+	ld a, [XCoord]
+	cp d
+	jr z, .asm_56bc
+	jr nc, .asm_56cb
+	add $b
+	cp d
+	jr c, .asm_56cb
+
+.asm_56bc
+	ld a, [YCoord]
+	cp e
+	jr z, .asm_56c9
+	jr nc, .asm_56cb
+	add $a
+	cp e
+	jr c, .asm_56cb
+
+.asm_56c9
+	xor a
+	ret
+
+.asm_56cb
+	scf
+	ret
+; 56cd
+
+Function56cd: ; 56cd
+	ld a, [wd14c]
+	ld d, a
+	ld hl, OBJECT_SPRITE_X_OFFSET
+	add hl, bc
+	ld a, [hl]
+	ld hl, OBJECT_SPRITE_X
+	add hl, bc
+	add [hl]
+	add d
+	cp $f0
+	jr nc, .asm_56e5
+	cp $a0
+	jp nc, .asm_5768
+
+.asm_56e5
+	and $7
+	ld d, $2
+	cp $4
+	jr c, .asm_56ef
+	ld d, $3
+
+.asm_56ef
+	ld a, [hl]
+	srl a
+	srl a
+	srl a
+	cp $14
+	jr c, .asm_56fc
+	sub $20
+
+.asm_56fc
+	ld [$ffbd], a
+	ld a, [wd14d]
+	ld e, a
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	ld a, [hl]
+	ld hl, OBJECT_SPRITE_Y
+	add hl, bc
+	add [hl]
+	add e
+	cp $f0
+	jr nc, .asm_5715
+	cp $90
+	jr nc, .asm_5768
+
+.asm_5715
+	and $7
+	ld e, $2
+	cp $4
+	jr c, .asm_571f
+	ld e, $3
+
+.asm_571f
+	ld a, [hl]
+	srl a
+	srl a
+	srl a
+	cp $12
+	jr c, .asm_572c
+	sub $20
+
+.asm_572c
+	ld [$ffbe], a
+	ld hl, OBJECT_PALETTE
+	add hl, bc
+	bit 7, [hl]
+	jr z, .asm_573e
+	ld a, d
+	add $2
+	ld d, a
+	ld a, e
+	add $2
+	ld e, a
+
+.asm_573e
+	ld a, d
+	ld [$ffbf], a
+.asm_5741
+	ld a, [$ffbf]
+	ld d, a
+	ld a, [$ffbe]
+	add e
+	dec a
+	cp $12
+	jr nc, .asm_5763
+	ld b, a
+.asm_574d
+	ld a, [$ffbd]
+	add d
+	dec a
+	cp $14
+	jr nc, .asm_5760
+	ld c, a
+	push bc
+	call GetTileCoord
+	pop bc
+	ld a, [hl]
+	cp $60
+	jr nc, .asm_5768
+
+.asm_5760
+	dec d
+	jr nz, .asm_574d
+
+.asm_5763
+	dec e
+	jr nz, .asm_5741
+	and a
+	ret
+
+.asm_5768
+	scf
+	ret
+; 576a
+
+Function576a:: ; 576a
+	call Function5771
+	call Function5781
+	ret
+; 5771
+
+Function5771: ; 5771
+	xor a
+	ld [wd14e], a
+	ld [wd14f], a
+	ld [wd150], a
+	ld a, $ff
+	ld [wd151], a
+	ret
+; 5781
+
+Function5781: ; 5781
+	ld bc, ObjectStructs
+	xor a
+.asm_5785
+	ld [$ffaf], a
+	call Function1af1
+	jr z, .asm_578f
+	call Function437b
+
+.asm_578f
+	ld hl, ObjectStruct2 - ObjectStruct1
+	add hl, bc
+	ld b, h
+	ld c, l
+	ld a, [$ffaf]
+	inc a
+	cp $d
+	jr nz, .asm_5785
+	ret
+; 579d
+
+Function579d: ; 579d
+	ld a, $3e
+	ld [wc2de], a
+	ld [wc2df], a
+	xor a
+	ld [wd04e], a
+	ld [wd4e2], a
+	call Function57bc
+	callba Function149c6
+	call c, Function57d9
+	call Function57ca
+	ret
+; 57bc
+
+Function57bc: ; 57bc
+	ld hl, wd45b
+	bit 7, [hl]
+	jr nz, .asm_57c4
+	ret
+
+.asm_57c4
+	ld a, $0
+	ld [PlayerAction], a
+	ret
+; 57ca
+
+Function57ca: ; 57ca
+	ld hl, wd45b
+	bit 5, [hl]
+	ret z
+	ld a, [wd45b]
+	and $3
+	add a
+	add a
+	jr Function57db
+; 57d9
+
+Function57d9: ; 57d9
+	ld a, $0
+	; fallthrough
+; 57db
+
+Function57db: ; 57db
+	ld bc, PlayerStruct
+	call Function1af8
+	ret
+; 57e2
+
+Function57e2: ; 57e2
+	ld a, d
+	and $80
+	ret z
+	ld bc, $0000 ; debug?
+	ld hl, OBJECT_08
+	add hl, bc
+	ld a, [hl]
+	or d
+	ld [hl], a
+	ld a, d
+	swap a
+	and $7
+	ld d, a
+	ld bc, PlayerStruct
+	ld hl, OBJECT_PALETTE
+	add hl, bc
+	ld a, [hl]
+	and $f8
+	or d
+	ld [hl], a
+	ret
+; 5803
+
+Function5803:: ; 5803
+	push bc
+	ld a, b
+	call Function5815
+	pop bc
+	ret c
+	ld a, c
+	call Function582c
+	callba Function848a
+	ret
+; 5815
+
+Function5815: ; 5815
+	call Function18de
+	ret c
+	ld a, [$ffb0]
+	ld [wd4cd], a
+	ret
+; 581f
+
+Function581f:: ; 581f
+	call Function5826
+	call Function5847
+	ret
+; 5826
+
+Function5826: ; 5826
+	ld a, $ff
+	ld [wd4cd], a
+	ret
+; 582c
+
+Function582c: ; 582c
+	push af
+	call Function5847
+	pop af
+	call Function18de
+	ret c
+	ld hl, OBJECT_03
+	add hl, bc
+	ld [hl], $13
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $0
+	ld a, [$ffb0]
+	ld [wd4ce], a
+	ret
+; 5847
+
+Function5847: ; 5847
+	ld a, [wd4ce]
+	cp $ff
+	ret z
+	call Function1ae5
+	callba Function58e3
+	ld a, $ff
+	ld [wd4ce], a
+	ret
+; 585c
+
+Function585c:: ; 585c
+	ld a, c
+	call Function18de
+	ret c
+	push bc
+	call Function587a
+	pop bc
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	res 5, [hl]
+	xor a
+	ret
+; 586e
+
+Function586e: ; 586e
+	call Function18de
+	ret c
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	set 5, [hl]
+	xor a
+	ret
+; 587a
+
+Function587a: ; 587a
+	ld bc, ObjectStructs
+	xor a
+.asm_587e
+	push af
+	call Function1af1
+	jr z, .asm_588a
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	set 5, [hl]
+
+.asm_588a
+	ld hl, ObjectStruct2 - ObjectStruct1
+	add hl, bc
+	ld b, h
+	ld c, l
+	pop af
+	inc a
+	cp $d
+	jr nz, .asm_587e
+	ret
+; 5897
+
+Function5897:: ; 5897
+	ld a, [wd4cd]
+	cp $ff
+	ret z
+	push bc
+	call Function1ae5
+	ld hl, OBJECT_01
+	add hl, bc
+	ld a, [hl]
+	pop bc
+	cp c
+	ret nz
+	ld a, [wd4ce]
+	cp $ff
+	ret z
+	call Function1ae5
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	res 5, [hl]
+	ret
+; 58b9
+
+Function58b9:: ; 58b9
+	push bc
+	ld bc, ObjectStructs
+	xor a
+.asm_58be
+	push af
+	call Function1af1
+	jr z, .asm_58ca
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	res 5, [hl]
+
+.asm_58ca
+	ld hl, ObjectStruct2 - ObjectStruct1
+	add hl, bc
+	ld b, h
+	ld c, l
+	pop af
+	inc a
+	cp $d
+	jr nz, .asm_58be
+	pop bc
+	ret
+; 58d8
+
+Function58d8: ; 58d8
+	call Function18de
+	ret c
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	res 5, [hl]
+	ret
+; 58e3
+
+Function58e3: ; 58e3
+	ld hl, OBJECT_01
+	add hl, bc
+	ld a, [hl]
+	cp $ff
+	jp z, Function5903
+	push bc
+	call GetMapObject
+	ld hl, $0004
+	add hl, bc
+	ld a, [hl]
+	pop bc
+	ld hl, OBJECT_03
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $0
+	ret
+; 5903
+
+Function5903: ; 5903
+	call GetSpriteDirection
+	rrca
+	rrca
+	ld e, a
+	ld d, 0
+	ld hl, .data_591c
+	add hl, de
+	ld a, [hl]
+	ld hl, OBJECT_03
+	add hl, bc
+	ld [hl], a
+	ld hl, OBJECT_09
+	add hl, bc
+	ld [hl], $0
+	ret
+
+.data_591c
+	db 6, 7, 8, 9
+; 5920
+
+Function5920:: ; 5920
+	ld a, [VramState]
+	bit 0, a
+	ret z
+	xor a
+	ld [$ffbd], a
+	ld a, [hOAMUpdate]
+	push af
+	ld a, $1
+	ld [hOAMUpdate], a
+	call Function5991
+	call Function593a
+	pop af
+	ld [hOAMUpdate], a
+	ret
+; 593a
+
+Function593a: ; 593a
+	ld a, [VramState]
+	bit 1, a
+	ld b, $a0
+	jr z, .asm_5945
+	ld b, $70
+
+.asm_5945
+	ld a, [$ffbd]
+	cp b
+	ret nc
+	ld l, a
+	ld h, $c4
+	ld de, OBJECT_04
+	ld a, b
+	ld c, $a0
+.asm_5952
+	ld [hl], c
+	add hl, de
+	cp l
+	jr nz, .asm_5952
+	ret
+; 5958
+
+Function5958: ; 5958
+	push hl
+	push de
+	push bc
+	ld a, [wd14c]
+	ld d, a
+	ld a, [wd14d]
+	ld e, a
+	ld bc, ObjectStructs
+	ld a, $d
+
+.asm_5968
+	push af
+	call Function1af1
+	jr z, .asm_597c
+
+	ld hl, OBJECT_SPRITE_X
+	add hl, bc
+	ld a, [hl]
+	add d
+	ld [hl], a
+
+	ld hl, OBJECT_SPRITE_Y
+	add hl, bc
+	ld a, [hl]
+	add e
+	ld [hl], a
+
+.asm_597c
+	ld hl, ObjectStruct2 - ObjectStruct1
+	add hl, bc
+	ld b, h
+	ld c, l
+	pop af
+	dec a
+	jr nz, .asm_5968
+
+	xor a
+	ld [wd14c], a
+	ld [wd14d], a
+	pop bc
+	pop de
+	pop hl
+	ret
+; 5991
+
+Function5991: ; 5991
+	call Function59a4
+	ld c, $30
+	call Function59f3
+	ld c, $20
+	call Function59f3
+	ld c, $10
+	call Function59f3
+	ret
+; 59a4
+
+Function59a4: ; 59a4
+	xor a
+	ld hl, wc2eb
+	ld bc, 13
+	call ByteFill
+
+	ld d, 0
+	ld bc, ObjectStructs
+	ld hl, wc2eb
+.loop
+	push hl
+	call Function1af1
+	jr z, .skip
+
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld a, [hl]
+	cp -1
+	jr z, .skip
+
+; Define the sprite priority.
+	ld e, $10
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	bit 0, [hl]
+	jr nz, .add
+	ld e, $20
+	bit 1, [hl]
+	jr z, .add
+	ld e, $30
+	jr .add
+
+.skip
+	ld hl, ObjectStruct2 - ObjectStruct1
+	add hl, bc
+	ld b, h
+	ld c, l
+	pop hl
+	jr .next
+
+.add
+	ld hl, ObjectStruct2 - ObjectStruct1
+	add hl, bc
+	ld b, h
+	ld c, l
+	pop hl
+	ld a, d
+	or e
+	ld [hli], a
+
+.next
+	inc d
+	ld a, d
+	cp $d
+	jr nz, .loop
+	ret
+; 59f3
+
+Function59f3: ; 59f3
+	ld hl, wc2eb
+.next
+	ld a, [hli]
+	ld d, a
+	and $f0
+	ret z
+	cp c
+	jr nz, .next
+
+	push bc
+	push hl
+	ld a, d
+	and $f
+	call Function5ac2
+	call Function5a0d
+	pop hl
+	pop bc
+	jr .next
+; 5a0d
+
+Function5a0d: ; 5a0d
+	ld hl, OBJECT_SPRITE
+	add hl, bc
+	ld a, [hl]
+	and $7f
+	ld [$ffc1], a
+
+	xor a
+	bit 7, [hl]
+	jr nz, .asm_5a1d
+	or 8
+.asm_5a1d
+
+	ld hl, OBJECT_FLAGS
+	add hl, bc
+	ld e, [hl]
+	bit 7, e
+	jr z, .asm_5a28
+	or $80
+.asm_5a28
+
+	bit 4, e
+	jr z, .asm_5a2e
+	or $10
+.asm_5a2e
+
+	ld hl, OBJECT_PALETTE
+	add hl, bc
+	ld d, a
+	ld a, [hl]
+	and 7
+	or d
+	ld d, a
+
+	xor a
+	bit 3, e
+	jr z, .asm_5a3f
+	or $80
+.asm_5a3f
+	ld [$ffc2], a
+
+	ld hl, OBJECT_SPRITE_X
+	add hl, bc
+	ld a, [hl]
+
+	ld hl, OBJECT_SPRITE_X_OFFSET
+	add hl, bc
+	add [hl]
+
+	add 8
+
+	ld e, a
+	ld a, [wd14c]
+	add e
+	ld [$ffbf], a
+
+	ld hl, OBJECT_SPRITE_Y
+	add hl, bc
+	ld a, [hl]
+
+	ld hl, OBJECT_SPRITE_Y_OFFSET
+	add hl, bc
+	add [hl]
+
+	add 12
+
+	ld e, a
+	ld a, [wd14d]
+	add e
+	ld [$ffc0], a
+
+	ld hl, OBJECT_FACING
+	add hl, bc
+	ld a, [hl]
+	cp -1
+	jp z, .done
+	cp NUM_FACINGS
+	jp nc, .done
+
+	ld l, a
+	ld h, 0
+	add hl, hl
+	ld bc, Facings
+	add hl, bc
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+
+	ld a, [$ffbd]
+	ld c, a
+	ld b, Sprites / $100
+	ld a, [hli]
+	ld [$ffbe], a
+	add c
+	cp SpritesEnd % $100
+	jr nc, .full
+
+.addsprite
+	ld a, [$ffc0]
+	add [hl]
+	inc hl
+
+	ld [bc], a
+	inc c
+
+	ld a, [$ffbf]
+	add [hl]
+	inc hl
+
+	ld [bc], a
+	inc c
+
+	ld e, [hl]
+	inc hl
+
+	ld a, [$ffc1]
+	bit 2, e
+	jr z, .asm_5aa3
+	xor a
+.asm_5aa3
+	add [hl]
+	inc hl
+
+	ld [bc], a
+	inc c
+
+	ld a, e
+	bit 1, a
+	jr z, .asm_5aaf
+	ld a, [$ffc2]
+	or e
+.asm_5aaf
+	and $f0
+	or d
+	ld [bc], a
+	inc c
+
+	ld a, [$ffbe]
+	dec a
+	ld [$ffbe], a
+	jr nz, .addsprite
+
+	ld a, c
+	ld [$ffbd], a
+
+.done
+	xor a
+	ret
+
+.full
+	scf
+	ret
+; 5ac2
+
+Function5ac2: ; 5ac2
+	ld c, a
+	ld b, 0
+	ld hl, .Addresses
+	add hl, bc
+	add hl, bc
+	ld c, [hl]
+	inc hl
+	ld b, [hl]
+	ret
+; 5ace
+
+.Addresses ; 5ace
+	dw PlayerStruct
+	dw ObjectStruct1
+	dw ObjectStruct2
+	dw ObjectStruct3
+	dw ObjectStruct4
+	dw ObjectStruct5
+	dw ObjectStruct6
+	dw ObjectStruct7
+	dw ObjectStruct8
+	dw ObjectStruct9
+	dw ObjectStruct10
+	dw ObjectStruct11
+	dw ObjectStruct12
+; 5ae8
+
--- /dev/null
+++ b/engine/map_setup.asm
@@ -1,0 +1,489 @@
+
+RunMapSetupScript:: ; 15363
+	ld a, [$ff9f]
+	and $f
+	dec a
+	ld c, a
+	ld b, 0
+	ld hl, MapSetupScripts
+	add hl, bc
+	add hl, bc
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	call ReadMapSetupScript
+	ret
+; 15377
+
+MapSetupScripts: ; 15377
+	dw MapSetupScript1
+	dw MapSetupScript2
+	dw MapSetupScript3
+	dw MapSetupScript4
+	dw MapSetupScript5
+	dw MapSetupScript6
+	dw MapSetupScript7
+	dw MapSetupScript8
+	dw MapSetupScript9
+	dw MapSetupScript10
+	dw MapSetupScript11
+	dw MapSetupScript12
+; 1538f
+
+
+; Command descriptions from Condensation water's scripting compendium.
+	const_def
+	const map_lcd_on              ; 00 = Turn LCD on
+	const map_lcd_off             ; 01 = Turn LCD off
+	const map_sound_off           ; 02 = Turn speakers off
+	const map_music               ; 03 = Music check for current map/ special check for bug catcher contest
+	const map_start_music         ; 04 = Start map music anew
+	const map_fade_music          ; 05 = Music check for current map / special check for Bug Contest/ music with FadeOut (old) and FadeIn
+	const map_fade                ; 06 = Fade out music + screen
+	const map_bike_music          ; 07 = If HIRO is on bike = bike music, else play map music
+	const map_music_force         ; 08 = Play map music
+	const map_max_volume          ; 09 = Turn music to highest volume
+	const map_load_blocks         ; 0A = Write map data to MapRAM
+	const map_connection_blocks   ; 0B = Compute map’s connection pars and write into MapRAM
+	const map_save_screen         ; 0C = Write current part of map into temporary memory
+	const map_buffer_screen       ; 0D = Write current part of map into read-from memory
+	const map_load_graphics       ; 0E = Write tileset header to ram/ load tileset/ load sprite tiles/ load special tiles
+	const map_load_tileset_header ; 0F = Write tileset header to ram
+	const map_time_of_day         ; 10 = Compute time of day/ Update screen
+	const map_palettes            ; 11 = Load map palettes
+	const map_wildmons            ; 12 = Load probabilities for wild Pokémon battles
+	const map_sprites             ; 13 = Delete sprite data and draw new sprites
+	const map_change_callback     ; 14 = Check 2nd script header for 05 and 03 callbacks
+	const map_start_callback      ; 15 = Check 2nd script header for 03 callbacks
+	const map_load_objects        ; 16 = Analyze people data anew and check 2nd script header for 02 callbacks
+	const map_load_spawn          ; 17 = Writes arrival data for arrival by flying/Blackout from table 05:5319 to ram
+	const map_load_connection     ; 18 = Writes arrival data for entering a map by connection to ram
+	const map_load_warp           ; 19 = Write warp data to ram when entering warp
+	const map_attributes          ; 1A = Load complete map data (primary, secondary, event, script headers)
+	const map_attributes_2        ; 1B = Same as 1A, but some settings aren’t loaded new from the rom, such as hide function of the people events
+	const map_clear_bg_palettes   ; 1C = Fill palette data with FFFF (=white)
+	const map_fade_out_palettes   ; 1D = All BG pallet color are converted to 0|0 (Pal0, Col0), all sprite colors to x|0 (FadeOut)
+	const map_fade_in_palettes    ; 1E = Palette FadeIn
+	const map_anchor_screen       ; 1F = Compute position of upper left-most block visible on screen
+	const map_warp_face           ; 20 = Position computation when HIRO leaves a warp
+	const map_face_down           ; 21 = Set HIRO’s facing to “down”
+	const map_spawn_coord         ; 22 = Prepare HIRO data for arrival by flight
+	const map_player_coord        ; 23 = Compute HIRO x/y data anew
+	const map_prolong_sprites     ; 24 = Prolong old sprites before removing them
+	const map_delay_sprites       ; 25 = Delay rendering new sprites
+	const map_update_roam         ; 26 = Compute chances to meet Raikou, Entei or Suicune
+	const map_keep_roam           ; 27 = Recover chances to meet Raikou, Entei or Suicune
+	const map_fade_out_music      ; 28 = Temporarily stop music playing
+	const map_animations_on       ; 29 = Activate animations
+	const map_animations_off      ; 2A = Deactivate animations
+	const map_keep_palettes       ; 2B = Recover all palettes
+	const map_text_scroll_off     ; 2C = Turn off text scroll (for town name overlays)
+	const map_stop_script         ; 2D = Deactivate code prolonging
+
+
+MapSetupScript4: ; 1538f
+	db map_prolong_sprites
+
+MapSetupScript12: ; 15390
+	db map_fade_out_palettes
+	db map_keep_roam
+
+MapSetupScript1: ; 15392
+	db map_lcd_off
+	db map_sound_off
+	db map_load_spawn
+	db map_attributes
+	db map_change_callback
+	db map_spawn_coord
+	db map_player_coord
+	db map_anchor_screen
+	db map_load_blocks
+	db map_buffer_screen
+	db map_load_graphics
+	db map_time_of_day
+	db map_load_objects
+	db map_lcd_on
+	db map_palettes
+	db map_face_down
+	db map_sprites
+	db map_bike_music
+	db map_max_volume
+	db map_fade_in_palettes
+	db map_animations_on
+	db map_wildmons
+	db -1
+
+MapSetupScript11: ; 153a9
+	db map_load_spawn
+	db map_attributes
+	db map_change_callback
+	db map_spawn_coord
+	db map_player_coord
+	db map_anchor_screen
+	db map_load_blocks
+	db map_buffer_screen
+	db map_lcd_off
+	db map_load_graphics
+	db map_time_of_day
+	db map_fade_out_music
+	db map_lcd_on
+	db map_load_objects
+	db map_palettes
+	db map_face_down
+	db map_sprites
+	db map_fade_music
+	db map_fade_in_palettes
+	db map_animations_on
+	db map_wildmons
+	db -1
+
+MapSetupScript7: ; 153bf
+	db map_animations_off
+	db map_load_connection
+	db map_attributes
+	db map_change_callback
+	db map_player_coord
+	db map_load_blocks
+	db map_load_tileset_header
+	db map_save_screen
+	db map_load_objects
+	db map_fade_music
+	db map_palettes
+	db map_stop_script
+	db map_keep_palettes
+	db map_wildmons
+	db map_update_roam
+	db map_animations_on
+	db -1
+
+MapSetupScript6: ; 153d0
+	db map_prolong_sprites
+
+MapSetupScript5: ; 153d1
+	db map_fade_out_palettes
+
+MapSetupScript9: ; 153d2
+	db map_load_warp
+	db map_attributes
+	db map_warp_face
+	db map_change_callback
+	db map_player_coord
+	db map_load_blocks
+	db map_buffer_screen
+	db map_lcd_off
+	db map_load_graphics
+	db map_time_of_day
+	db map_fade_out_music
+	db map_lcd_on
+	db map_load_objects
+	db map_palettes
+	db map_sprites
+	db map_fade_music
+	db map_fade_in_palettes
+	db map_animations_on
+	db map_wildmons
+	db map_update_roam
+	db -1
+
+MapSetupScript3: ; 153e7
+	db map_fade
+	db map_clear_bg_palettes
+	db map_lcd_off
+	db map_sound_off
+	db map_load_blocks
+	db map_connection_blocks
+	db map_load_graphics
+	db map_time_of_day
+	db map_lcd_on
+	db map_palettes
+	db map_sprites
+	db map_music_force
+	db map_fade_in_palettes
+	db map_animations_on
+	db map_wildmons
+	db -1
+
+MapSetupScript8: ; 153f7
+	db map_fade
+	db map_lcd_off
+	db map_sound_off
+	db map_change_callback
+	db map_load_blocks
+	db map_buffer_screen
+	db map_load_graphics
+	db map_time_of_day
+	db map_lcd_on
+	db map_palettes
+	db map_sprites
+	db map_bike_music
+	db map_fade_in_palettes
+	db map_animations_on
+	db map_wildmons
+	db map_text_scroll_off
+	db -1
+
+MapSetupScript2: ; 15408
+	db map_lcd_off
+	db map_sound_off
+	db map_attributes_2
+	db map_anchor_screen
+	db map_start_callback
+	db map_load_blocks
+	db map_connection_blocks
+	db map_buffer_screen
+	db map_load_graphics
+	db map_time_of_day
+	db map_lcd_on
+	db map_palettes
+	db map_sprites
+	db map_bike_music
+	db map_fade_in_palettes
+	db map_animations_on
+	db map_wildmons
+	db -1
+
+MapSetupScript10: ; 1541a
+	db map_load_blocks
+	db map_connection_blocks
+	db -1
+
+
+ReadMapSetupScript: ; 1541d
+.loop
+	ld a, [hli]
+	cp -1
+	ret z
+
+	push hl
+
+	ld c, a
+	ld b, 0
+	ld hl, MapSetupCommands
+	add hl, bc
+	add hl, bc
+	add hl, bc
+
+	; bank
+	ld b, [hl]
+	inc hl
+
+	; address
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+
+	; Bit 7 of the bank indicates a parameter.
+	; This is left unused.
+	bit 7, b
+	jr z, .go
+
+	pop de
+	ld a, [de]
+	ld c, a
+	inc de
+	push de
+
+.go
+	ld a, b
+	and $7f
+	rst FarCall
+
+	pop hl
+	jr .loop
+; 15440
+
+MapSetupCommands: ; 15440
+	dbw BANK(EnableLCD), EnableLCD
+	dbw BANK(DisableLCD), DisableLCD
+	dbw BANK(SoundRestart), SoundRestart
+	dbw BANK(PlayMapMusic), PlayMapMusic
+	dbw BANK(RestartMapMusic), RestartMapMusic
+	dbw BANK(FadeToMapMusic), FadeToMapMusic
+	dbw BANK(Function15574), Function15574
+	dbw BANK(EnterMapMusic), EnterMapMusic
+	dbw BANK(Function15587), Function15587
+	dbw BANK(Function3cae), Function3cae
+	dbw BANK(Function24cd), Function24cd
+	dbw BANK(Function28e3), Function28e3
+	dbw BANK(Function289d), Function289d
+	dbw BANK(Function2879), Function2879
+	dbw BANK(Function1047cf), Function1047cf
+	dbw BANK(LoadTilesetHeader), LoadTilesetHeader
+	dbw BANK(Function104750), Function104750
+	dbw BANK(Function1047eb), Function1047eb
+	dbw BANK(Function29ff8), Function29ff8
+	dbw BANK(Function1047f0), Function1047f0
+	dbw BANK(Function1045b0), Function1045b0
+	dbw BANK(Function1045c4), Function1045c4
+	dbw BANK(Function154d7), Function154d7
+	dbw BANK(LoadSpawnPoint), LoadSpawnPoint
+	dbw BANK(EnterMapConnection), EnterMapConnection
+	dbw BANK(Function1046c6), Function1046c6
+	dbw BANK(Function2309), Function2309
+	dbw BANK(Function2317), Function2317
+	dbw BANK(WhiteBGMap), WhiteBGMap
+	dbw BANK(Function8c084), Function8c084
+	dbw BANK(Function8c079), Function8c079
+	dbw BANK(Function10486d), Function10486d
+	dbw BANK(Function248a), Function248a
+	dbw BANK(Function57d9), Function57d9
+	dbw BANK(Function8029), Function8029
+	dbw BANK(Function80b8), Function80b8
+	dbw BANK(Function154eb), Function154eb
+	dbw BANK(Function154f1), Function154f1
+	dbw BANK(Function2a30d), Function2a30d
+	dbw BANK(Function2a394), Function2a394
+	dbw BANK(Function15567), Function15567
+	dbw BANK(Function154cf), Function154cf
+	dbw BANK(Function154d3), Function154d3
+	dbw BANK(Function1556d), Function1556d
+	dbw BANK(Function154ca), Function154ca
+	dbw BANK(Functionb8000), Functionb8000
+; 154ca
+
+
+Function154ca: ; 154ca
+	xor a
+	ld [wc2d7], a
+	ret
+; 154cf
+
+Function154cf: ; 154cf
+	ld a, $1
+	ld [$ffde], a
+	ret
+; 154d3
+
+Function154d3: ; 154d3
+	xor a
+	ld [$ffde], a
+	ret
+; 154d7
+
+Function154d7: ; 154d7
+	ld a, $2
+	call Function263b
+	callba Function2454f
+	callba Function8177
+	ret
+; 154ea (5:54ea)
+
+Function154ea: ; 154ea
+	ret
+; 154eb
+
+Function154eb: ; 154eb
+	ld hl, wd45b
+	set 7, [hl]
+	ret
+; 154f1
+
+Function154f1: ; 154f1
+	ld hl, wd45b
+	set 6, [hl]
+	ret
+
+Function154f7: ; 154f7
+	nop
+	call Function1550c
+	jr c, .asm_15508
+	call Function1554e
+	jr c, .asm_15508
+	call Function1551a
+	jr c, .asm_15508
+	ret
+.asm_15508
+	call Functione4a
+	ret
+
+Function1550c: ; 1550c (5:550c)
+	and a
+	ld hl, BikeFlags
+	bit 1, [hl]
+	ret z
+	ld a, $1
+	ld [PlayerState], a
+	scf
+	ret
+
+Function1551a: ; 1551a (5:551a)
+	ld a, [PlayerState]
+	cp $0
+	jr z, .asm_1554c
+	cp $2
+	jr z, .asm_1554c
+	cp $4
+	jr z, .asm_15545
+	cp $8
+	jr z, .asm_15545
+	call GetMapPermission
+	cp $3
+	jr z, .asm_1553e
+	cp $5
+	jr z, .asm_1553e
+	cp $7
+	jr z, .asm_1553e
+	jr .asm_1554c
+.asm_1553e
+	ld a, [PlayerState]
+	cp $1
+	jr nz, .asm_1554c
+.asm_15545
+	ld a, $0
+	ld [PlayerState], a
+	scf
+	ret
+.asm_1554c
+	and a
+	ret
+
+Function1554e: ; 1554e (5:554e)
+	call Function1852
+	jr nz, .asm_15565
+	ld a, [PlayerState]
+	cp $4
+	jr z, .asm_15563
+	cp $8
+	jr z, .asm_15563
+	ld a, $4
+	ld [PlayerState], a
+.asm_15563
+	scf
+	ret
+.asm_15565
+	and a
+	ret
+; 15567
+
+Function15567: ; 15567
+	ld a, 6
+	call SkipMusic
+	ret
+; 1556d
+
+Function1556d: ; 1556d
+	callba _UpdateTimePals
+	ret
+
+Function15574: ; 15574
+	ld e, 0
+	ld a, [MusicFadeIDLo]
+	ld d, 0
+	ld a, [MusicFadeIDHi]
+	ld a, $4
+	ld [MusicFade], a
+	call Function4b6
+	ret
+; 15587
+
+Function15587: ; 15587
+	ld a, [PlayerState]
+	cp $1
+	jr nz, .asm_15596
+	call VolumeOff
+	ld a, $88
+	ld [MusicFade], a
+.asm_15596
+	call Function3d2f
+	ret
+; 1559a
--- /dev/null
+++ b/engine/map_triggers.asm
@@ -1,0 +1,91 @@
+MapTriggers:: ; 4d01e
+; Map triggers
+
+trigger_def: MACRO
+; db group, map
+; dw address
+	map \1
+	dw \2
+ENDM
+
+	trigger_def POKECENTER_2F,                          wPokecenter2FTrigger
+	trigger_def TRADE_CENTER,                           wTradeCenterTrigger
+	trigger_def COLOSSEUM,                              wColosseumTrigger
+	trigger_def TIME_CAPSULE,                           wTimeCapsuleTrigger
+	trigger_def POWER_PLANT,                            wPowerPlantTrigger
+	trigger_def CERULEAN_GYM,                           wCeruleanGymTrigger
+	trigger_def ROUTE_25,                               wRoute25Trigger
+	trigger_def TRAINER_HOUSE_B1F,                      wTrainerHouseB1FTrigger
+	trigger_def VICTORY_ROAD_GATE,                      wVictoryRoadGateTrigger
+	trigger_def SAFFRON_TRAIN_STATION,                  wSaffronTrainStationTrigger
+	trigger_def ROUTE_16_GATE,                          wRoute16GateTrigger
+	trigger_def ROUTE_17_18_GATE,                       wRoute1718GateTrigger
+	trigger_def INDIGO_PLATEAU_POKECENTER_1F,           wIndigoPlateauPokecenter1FTrigger
+	trigger_def WILLS_ROOM,                             wWillsRoomTrigger
+	trigger_def KOGAS_ROOM,                             wKogasRoomTrigger
+	trigger_def BRUNOS_ROOM,                            wBrunosRoomTrigger
+	trigger_def KARENS_ROOM,                            wKarensRoomTrigger
+	trigger_def LANCES_ROOM,                            wLancesRoomTrigger
+	trigger_def HALL_OF_FAME,                           wHallOfFameTrigger
+	trigger_def ROUTE_27,                               wRoute27Trigger
+	trigger_def NEW_BARK_TOWN,                          wNewBarkTownTrigger
+	trigger_def ELMS_LAB,                               wElmsLabTrigger
+	trigger_def KRISS_HOUSE_1F,                         wKrissHouse1FTrigger
+	trigger_def ROUTE_29,                               wRoute29Trigger
+	trigger_def CHERRYGROVE_CITY,                       wCherrygroveCityTrigger
+	trigger_def MR_POKEMONS_HOUSE,                      wMrPokemonsHouseTrigger
+	trigger_def ROUTE_32,                               wRoute32Trigger
+	trigger_def ROUTE_35_NATIONAL_PARK_GATE,            wRoute35NationalParkGateTrigger
+	trigger_def ROUTE_36,                               wRoute36Trigger
+	trigger_def ROUTE_36_NATIONAL_PARK_GATE,            wRoute36NationalParkGateTrigger
+	trigger_def AZALEA_TOWN,                            wAzaleaTownTrigger
+	trigger_def GOLDENROD_GYM,                          wGoldenrodGymTrigger
+	trigger_def GOLDENROD_MAGNET_TRAIN_STATION,         wGoldenrodMagnetTrainStationTrigger
+	trigger_def GOLDENROD_POKECENTER_1F,                wGoldenrodPokecenter1FTrigger
+	trigger_def OLIVINE_CITY,                           wOlivineCityTrigger
+	trigger_def ROUTE_34,                               wRoute34Trigger
+	trigger_def ROUTE_34_ILEX_FOREST_GATE,              wRoute34IlexForestGateTrigger
+	trigger_def ECRUTEAK_HOUSE,                         wEcruteakHouseTrigger
+	trigger_def WISE_TRIOS_ROOM,                        wWiseTriosRoomTrigger
+	trigger_def ECRUTEAK_POKECENTER_1F,                 wEcruteakPokecenter1FTrigger
+	trigger_def ECRUTEAK_GYM,                           wEcruteakGymTrigger
+	trigger_def MAHOGANY_TOWN,                          wMahoganyTownTrigger
+	trigger_def ROUTE_42,                               wRoute42Trigger
+	trigger_def CIANWOOD_CITY,                          wCianwoodCityTrigger
+	trigger_def BATTLE_TOWER_1F,                        wBattleTower1FTrigger
+	trigger_def BATTLE_TOWER_BATTLE_ROOM,               wBattleTowerBattleRoomTrigger
+	trigger_def BATTLE_TOWER_ELEVATOR,                  wBattleTowerElevatorTrigger
+	trigger_def BATTLE_TOWER_HALLWAY,                   wBattleTowerHallwayTrigger
+	trigger_def BATTLE_TOWER_OUTSIDE,                   wBattleTowerOutsideTrigger
+	trigger_def ROUTE_43_GATE,                          wRoute43GateTrigger
+	trigger_def MOUNT_MOON,                             wMountMoonTrigger
+	trigger_def SPROUT_TOWER_3F,                        wSproutTower3FTrigger
+	trigger_def TIN_TOWER_1F,                           wTinTower1FTrigger
+	trigger_def BURNED_TOWER_1F,                        wBurnedTower1FTrigger
+	trigger_def BURNED_TOWER_B1F,                       wBurnedTowerB1FTrigger
+	trigger_def RADIO_TOWER_5F,                         wRadioTower5FTrigger
+	trigger_def RUINS_OF_ALPH_OUTSIDE,                  wRuinsOfAlphOutsideTrigger
+	trigger_def RUINS_OF_ALPH_RESEARCH_CENTER,          wRuinsOfAlphResearchCenterTrigger
+	trigger_def RUINS_OF_ALPH_HO_OH_CHAMBER,            wRuinsOfAlphHoOhChamberTrigger
+	trigger_def RUINS_OF_ALPH_KABUTO_CHAMBER,           wRuinsOfAlphKabutoChamberTrigger
+	trigger_def RUINS_OF_ALPH_OMANYTE_CHAMBER,          wRuinsOfAlphOmanyteChamberTrigger
+	trigger_def RUINS_OF_ALPH_AERODACTYL_CHAMBER,       wRuinsOfAlphAerodactylChamberTrigger
+	trigger_def RUINS_OF_ALPH_INNER_CHAMBER,            wRuinsOfAlphInnerChamberTrigger
+	trigger_def MAHOGANY_MART_1F,                       wMahoganyMart1FTrigger
+	trigger_def TEAM_ROCKET_BASE_B1F,                   wTeamRocketBaseB1FTrigger
+	trigger_def TEAM_ROCKET_BASE_B2F,                   wTeamRocketBaseB2FTrigger
+	trigger_def TEAM_ROCKET_BASE_B3F,                   wTeamRocketBaseB3FTrigger
+	trigger_def UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, wUndergroundPathSwitchRoomEntrancesTrigger
+	trigger_def SILVER_CAVE_ROOM_3,                     wSilverCaveRoom3Trigger
+	trigger_def VICTORY_ROAD,                           wVictoryRoadTrigger
+	trigger_def DRAGONS_DEN_B1F,                        wDragonsDenB1FTrigger
+	trigger_def DRAGON_SHRINE,                          wDragonShrineTrigger
+	trigger_def OLIVINE_PORT,                           wOlivinePortTrigger
+	trigger_def VERMILION_PORT,                         wVermilionPortTrigger
+	trigger_def FAST_SHIP_1F,                           wFastShip1FTrigger
+	trigger_def FAST_SHIP_B1F,                          wFastShipB1FTrigger
+	trigger_def MOUNT_MOON_SQUARE,                      wMountMoonSquareTrigger
+	trigger_def MOBILE_TRADE_ROOM_MOBILE,               wMobileTradeRoomMobileTrigger
+	trigger_def MOBILE_BATTLE_ROOM,                     wMobileBattleRoomTrigger
+	db $ff
+; 4d15b
--- a/engine/more_phone_scripts.asm
+++ b/engine/more_phone_scripts.asm
@@ -1,5 +1,5 @@
 UnknownScript_0xa0000:
-	special $005d
+	special RandomPhoneMon
 	farscall UnknownScript_0xbde3f
 	if_equal $0, UnknownScript_0xa0013
 	farscall UnknownScript_0xbe51e
@@ -9,7 +9,7 @@
 	farjump UnknownScript_0xa002e
 
 UnknownScript_0xa0017:
-	special $005d
+	special RandomPhoneMon
 	farscall UnknownScript_0xbde3f
 	if_equal $0, UnknownScript_0xa002a
 	farscall UnknownScript_0xbe5d0
@@ -27,7 +27,7 @@
 	farjump UnknownScript_0xa0055
 
 UnknownScript_0xa003e:
-	special $005c
+	special Function2a51f
 	farscall UnknownScript_0xbde3f
 	if_equal $0, UnknownScript_0xa0051
 	farscall UnknownScript_0xa017a
@@ -37,7 +37,7 @@
 	farjump UnknownScript_0xa006c
 
 UnknownScript_0xa0055:
-	special $005c
+	special Function2a51f
 	farscall UnknownScript_0xbde3f
 	if_equal $0, UnknownScript_0xa0068
 	farscall UnknownScript_0xa0226
@@ -851,7 +851,7 @@
 	farjump UnknownScript_0xa053a
 
 UnknownScript_0xa05a0:
-	special $005b
+	special Function2a4ab
 	end
 
 UnknownScript_0xa05a4:
--- /dev/null
+++ b/engine/pack.asm
@@ -1,0 +1,1692 @@
+
+Pack: ; 10000
+	ld hl, Options
+	set 4, [hl]
+	call Function1068a
+.loop
+	call Functiona57
+	ld a, [wcf63]
+	bit 7, a
+	jr nz, .done
+	call Function10026
+	call DelayFrame
+	jr .loop
+
+.done
+	ld a, [wcf65]
+	ld [wd0d6], a
+	ld hl, Options
+	res 4, [hl]
+	ret
+; 10026
+
+Function10026: ; 10026
+	ld a, [wcf63]
+	ld hl, Jumptable_10030
+	call Function1086b
+	jp [hl]
+; 10030
+
+
+Jumptable_10030: ; 10030 (4:4030)
+	dw Function10046
+	dw Function10056
+	dw Function10067
+	dw Function10186
+	dw Function10198
+	dw Function10094
+	dw Function100a6
+	dw Function100d3
+	dw Function100e8
+	dw Function10874
+	dw Function1087e
+
+
+Function10046: ; 10046 (4:4046)
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	call Function10955
+	ld a, [wcf64]
+	ld [wcf63], a
+	call Function10a40
+	ret
+
+Function10056: ; 10056 (4:4056)
+	xor a
+	ld [wcf65], a
+	call Function10a36
+	call Function109bb
+	call Function1089a
+	call Function10866
+	ret
+
+Function10067: ; 10067 (4:4067)
+	ld hl, MenuDataHeader_0x10a4f
+	call Function1d3c
+	ld a, [wd0d9]
+	ld [wcf88], a
+	ld a, [wd0df]
+	ld [wd0e4], a
+	call Function350c
+	ld a, [wd0e4]
+	ld [wd0df], a
+	ld a, [wcfa9]
+	ld [wd0d9], a
+	ld b, $7
+	ld c, $3
+	call Function108d4
+	ret c
+	call Function101c5
+	ret
+
+Function10094: ; 10094 (4:4094)
+	ld a, $2
+	ld [wcf65], a
+	call Function10a36
+	call Function109bb
+	call Function1089a
+	call Function10866
+	ret
+
+Function100a6: ; 100a6 (4:40a6)
+	ld hl, MenuDataHeader_0x10a7f
+	call Function1d3c
+	ld a, [wd0da]
+	ld [wcf88], a
+	ld a, [wd0e0]
+	ld [wd0e4], a
+	call Function350c
+	ld a, [wd0e4]
+	ld [wd0e0], a
+	ld a, [wcfa9]
+	ld [wd0da], a
+	ld b, $3
+	ld c, $7
+	call Function108d4
+	ret c
+	call Function101c5
+	ret
+
+Function100d3: ; 100d3 (4:40d3)
+	ld a, $3
+	ld [wcf65], a
+	call Function10a36
+	call Function109bb
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	call Function1089a
+	call Function10866
+	ret
+
+Function100e8: ; 100e8 (4:40e8)
+	callba Function2c76f
+	ld b, $5
+	ld c, $1
+	call Function108d4
+	ret c
+	callba _CheckTossableItem
+	ld a, [wd142]
+	and a
+	jr nz, .asm_1010a
+	ld hl, MenuDataHeader_0x1013b
+	ld de, Jumptable_10153
+	jr .asm_10110
+.asm_1010a
+	ld hl, MenuDataHeader_0x10124
+	ld de, Jumptable_10137
+.asm_10110
+	push de
+	call LoadMenuDataHeader
+	call Function1d81
+	call Function1c07
+	pop hl
+	ret c
+	ld a, [wcfa9]
+	dec a
+	call Function1086b
+	jp [hl]
+; 10124 (4:4124)
+
+MenuDataHeader_0x10124: ; 0x10124
+	db $40 ; flags
+	db 07, 13 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x1012c
+	db 1 ; default option
+; 0x1012c
+
+MenuData2_0x1012c: ; 0x1012c
+	db $c0 ; flags
+	db 2 ; items
+	db "USE@"
+	db "QUIT@"
+; 0x10137
+
+Jumptable_10137: ; 10137
+	dw Function10159
+	dw Function10492
+; 1013b
+
+MenuDataHeader_0x1013b: ; 0x1013b
+	db $40 ; flags
+	db 05, 13 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x10143
+	db 1 ; default option
+; 0x10143
+
+MenuData2_0x10143: ; 0x10143
+	db $c0 ; flags
+	db 3 ; items
+	db "USE@"
+	db "GIVE@"
+	db "QUIT@"
+; 0x10153
+
+Jumptable_10153: ; 10153
+	dw Function10159
+	dw Function103fd
+	dw Function10492
+; 10159
+
+Function10159: ; 10159
+	callba Function2c7bf
+	ret c
+	callba Function2c7fb
+	jr c, .asm_10179
+	ld hl, Options
+	ld a, [hl]
+	push af
+	res 4, [hl]
+	callba Function2c867
+	pop af
+	ld [Options], a
+.asm_10179
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	call Function10955
+	call Function1089a
+	call Function10a40
+	ret
+
+Function10186: ; 10186 (4:4186)
+	ld a, $1
+	ld [wcf65], a
+	call Function10a36
+	call Function109bb
+	call Function1089a
+	call Function10866
+	ret
+
+Function10198: ; 10198 (4:4198)
+	ld hl, MenuDataHeader_0x10aaf
+	call Function1d3c
+	ld a, [wd0db]
+	ld [wcf88], a
+	ld a, [wd0e1]
+	ld [wd0e4], a
+	call Function350c
+	ld a, [wd0e4]
+	ld [wd0e1], a
+	ld a, [wcfa9]
+	ld [wd0db], a
+	ld b, $1
+	ld c, $5
+	call Function108d4
+	ret c
+	call Function101c5
+	ret
+
+Function101c5: ; 101c5 (4:41c5)
+	callba _CheckTossableItem
+	ld a, [wd142]
+	and a
+	jr nz, .asm_101f9
+	callba CheckSelectableItem
+	ld a, [wd142]
+	and a
+	jr nz, .asm_101eb
+	callba CheckItemMenu
+	ld a, [wd142]
+	and a
+	jr nz, .asm_10207
+	jr .asm_10227
+.asm_101eb
+	callba CheckItemMenu
+	ld a, [wd142]
+	and a
+	jr nz, .asm_1020f
+	jr .asm_1022f
+.asm_101f9
+	callba CheckSelectableItem
+	ld a, [wd142]
+	and a
+	jr nz, .asm_10217
+	jr .asm_1021f
+.asm_10207
+	ld hl, MenuDataHeader_0x10249
+	ld de, Jumptable_1026a
+	jr .asm_10235
+.asm_1020f
+	ld hl, MenuDataHeader_0x10274
+	ld de, Jumptable_10291
+	jr .asm_10235
+.asm_10217
+	ld hl, MenuDataHeader_0x10299
+	ld de, Jumptable_102ac
+	jr .asm_10235
+.asm_1021f
+	ld hl, MenuDataHeader_0x102b0
+	ld de, Jumptable_102c7
+	jr .asm_10235
+.asm_10227
+	ld hl, MenuDataHeader_0x102cd
+	ld de, Jumptable_102ea
+	jr .asm_10235
+.asm_1022f
+	ld hl, MenuDataHeader_0x102f2
+	ld de, Jumptable_1030b
+.asm_10235
+	push de
+	call LoadMenuDataHeader
+	call Function1d81
+	call Function1c07
+	pop hl
+	ret c
+	ld a, [wcfa9]
+	dec a
+	call Function1086b
+	jp [hl]
+; 10249 (4:4249)
+
+MenuDataHeader_0x10249: ; 0x10249
+	db $40 ; flags
+	db 01, 13 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x10251
+	db 1 ; default option
+; 0x10251
+
+MenuData2_0x10251: ; 0x10251
+	db $c0 ; flags
+	db 5 ; items
+	db "USE@"
+	db "GIVE@"
+	db "TOSS@"
+	db "SEL@"
+	db "QUIT@"
+; 0x1026a
+
+Jumptable_1026a: ; 1026a
+	dw Function10311
+	dw Function103fd
+	dw Function10364
+	dw Function103c2
+	dw Function10492
+; 10274
+
+MenuDataHeader_0x10274: ; 0x10274
+	db $40 ; flags
+	db 03, 13 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x1027c
+	db 1 ; default option
+; 0x1027c
+
+MenuData2_0x1027c: ; 0x1027c
+	db $c0 ; flags
+	db 4 ; items
+	db "USE@"
+	db "GIVE@"
+	db "TOSS@"
+	db "QUIT@"
+; 0x10291
+
+Jumptable_10291: ; 10291
+	dw Function10311
+	dw Function103fd
+	dw Function10364
+	dw Function10492
+; 10299
+
+MenuDataHeader_0x10299: ; 0x10299
+	db $40 ; flags
+	db 07, 13 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x102a1
+	db 1 ; default option
+; 0x102a1
+
+MenuData2_0x102a1: ; 0x102a1
+	db $c0 ; flags
+	db 2 ; items
+	db "USE@"
+	db "QUIT@"
+; 0x102ac
+
+Jumptable_102ac: ; 102ac
+	dw Function10311
+	dw Function10492
+; 102b0
+
+MenuDataHeader_0x102b0: ; 0x102b0
+	db $40 ; flags
+	db 05, 13 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x102b8
+	db 1 ; default option
+; 0x102b8
+
+MenuData2_0x102b8: ; 0x102b8
+	db $c0 ; flags
+	db 3 ; items
+	db "USE@"
+	db "SEL@"
+	db "QUIT@"
+; 0x102c7
+
+Jumptable_102c7: ; 102c7
+	dw Function10311
+	dw Function103c2
+	dw Function10492
+; 102cd
+
+MenuDataHeader_0x102cd: ; 0x102cd
+	db $40 ; flags
+	db 03, 13 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x102d5
+	db 1 ; default option
+; 0x102d5
+
+MenuData2_0x102d5: ; 0x102d5
+	db $c0 ; flags
+	db 4 ; items
+	db "GIVE@"
+	db "TOSS@"
+	db "SEL@"
+	db "QUIT@"
+; 0x102ea
+
+Jumptable_102ea: ; 102ea
+	dw Function103fd
+	dw Function10364
+	dw Function103c2
+	dw Function10492
+; 102f2
+
+MenuDataHeader_0x102f2: ; 0x102f2
+	db $40 ; flags
+	db 05, 13 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x102fa
+	db 1 ; default option
+; 0x102fa
+
+MenuData2_0x102fa: ; 0x102fa
+	db $c0 ; flags
+	db 3 ; items
+	db "GIVE@"
+	db "TOSS@"
+	db "QUIT@"
+; 0x1030b
+
+Jumptable_1030b: ; 1030b
+	dw Function103fd
+	dw Function10364
+	dw Function10492
+; 10311
+
+Function10311: ; 10311
+	callba CheckItemMenu
+	ld a, [wd142]
+	ld hl, Jumptable_1031f
+	rst JumpTable
+	ret
+; 1031f
+
+Jumptable_1031f: ; 1031f (4:431f)
+	dw Function1032d
+	dw Function1032d
+	dw Function1032d
+	dw Function1032d
+	dw Function10334
+	dw Function10338
+	dw Function10355
+; 1035c
+
+Function1032d: ; 1032d (4:432d)
+	ld hl, UnknownText_0x10af3
+	call Function10889
+	ret
+
+Function10334: ; 10334 (4:4334)
+	call DoItemEffect
+	ret
+
+Function10338: ; 10338 (4:4338)
+	ld a, [PartyCount]
+	and a
+	jr z, .asm_1034e
+	call DoItemEffect
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	call Function10955
+	call Function1089a
+	call Function10a40
+	ret
+.asm_1034e
+	ld hl, UnknownText_0x10af8
+	call Function10889
+	ret
+
+Function10355: ; 10355 (4:4355)
+	call DoItemEffect
+	ld a, [wd0ec]
+	and a
+	jr z, Function1032d
+	ld a, $a
+	ld [wcf63], a
+	ret
+; 10364 (4:4364)
+
+Function10364: ; 10364
+	ld hl, UnknownText_0x10ae4
+	call Function10889
+	callba Function24fbf
+	push af
+	call Function1c07
+	pop af
+	jr c, .asm_1039c
+	call Function10a1d
+	ld hl, UnknownText_0x10ae9
+	call Function1d4f
+	call YesNoBox
+	push af
+	call Function1c07
+	pop af
+	jr c, .asm_1039c
+	ld hl, NumItems
+	ld a, [wd107]
+	call TossItem
+	call Function10a1d
+	ld hl, UnknownText_0x10aee
+	call Function10889
+
+.asm_1039c
+	ret
+; 1039d
+
+Function1039d: ; 1039d
+	ld a, [wcf65]
+	and a
+	jr z, .asm_103b2
+	dec a
+	jr z, .asm_103aa
+	dec a
+	jr z, .asm_103ba
+	ret
+
+.asm_103aa
+	xor a
+	ld [wd0db], a
+	ld [wd0e1], a
+	ret
+
+.asm_103b2
+	xor a
+	ld [wd0d9], a
+	ld [wd0df], a
+	ret
+
+.asm_103ba
+	xor a
+	ld [wd0da], a
+	ld [wd0e0], a
+	ret
+; 103c2
+
+Function103c2: ; 103c2
+	callba CheckSelectableItem
+	ld a, [wd142]
+	and a
+	jr nz, .asm_103f6
+	ld a, [wcf65]
+	rrca
+	rrca
+	and $c0
+	ld b, a
+	ld a, [wd107]
+	inc a
+	and $3f
+	or b
+	ld [WhichRegisteredItem], a
+	ld a, [CurItem]
+	ld [RegisteredItem], a
+	call Function10a1d
+	ld de, SFX_FULL_HEAL
+	call WaitPlaySFX
+	ld hl, UnknownText_0x10afd
+	call Function10889
+	ret
+
+.asm_103f6
+	ld hl, UnknownText_0x10b02
+	call Function10889
+	ret
+; 103fd
+
+Function103fd: ; 103fd
+	ld a, [PartyCount]
+	and a
+	jp z, Function10486
+	ld a, [Options]
+	push af
+	res 4, a
+	ld [Options], a
+	ld a, $8
+	ld [PartyMenuActionText], a
+	call WhiteBGMap
+	callba Function5004f
+	callba Function50405
+	callba Function503e0
+.asm_10427
+	callba WritePartyMenuTilemap
+	callba PrintPartyMenuText
+	call WaitBGMap
+	call Function32f9
+	call DelayFrame
+	callba PartyMenuSelect
+	jr c, .asm_10475
+	ld a, [CurPartySpecies]
+	cp EGG
+	jr nz, .asm_10453
+	ld hl, UnknownText_0x1048d
+	call PrintText
+	jr .asm_10427
+.asm_10453
+	ld a, [wcf63]
+	push af
+	ld a, [wcf64]
+	push af
+	call GetCurNick
+	ld hl, StringBuffer1
+	ld de, wd050
+	ld bc, PKMN_NAME_LENGTH
+	call CopyBytes
+	call Function12bd9
+	pop af
+	ld [wcf64], a
+	pop af
+	ld [wcf63], a
+.asm_10475
+	pop af
+	ld [Options], a
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	call Function10955
+	call Function1089a
+	call Function10a40
+	ret
+
+Function10486: ; 10486 (4:4486)
+	ld hl, UnknownText_0x10af8
+	call Function10889
+	ret
+; 1048d (4:448d)
+
+UnknownText_0x1048d: ; 0x1048d
+	; An EGG can't hold an item.
+	text_jump UnknownText_0x1c0b7f
+	db "@"
+; 0x10492
+
+Function10492: ; 10492
+	ret
+; 10493
+
+
+BattlePack: ; 10493
+	ld hl, Options
+	set 4, [hl]
+	call Function1068a
+.asm_1049b
+	call Functiona57
+	ld a, [wcf63]
+	bit 7, a
+	jr nz, .asm_104ad
+	call Function104b9
+	call DelayFrame
+	jr .asm_1049b
+
+.asm_104ad
+	ld a, [wcf65]
+	ld [wd0d6], a
+	ld hl, Options
+	res 4, [hl]
+	ret
+; 104b9
+
+Function104b9: ; 104b9
+	ld a, [wcf63]
+	ld hl, Jumptable_104c3
+	call Function1086b
+	jp [hl]
+; 104c3
+
+
+Jumptable_104c3: ; 104c3 (4:44c3)
+	dw Function104d9
+	dw Function104e9
+	dw Function104fa
+	dw Function10594
+	dw Function105a6
+	dw Function10527
+	dw Function10539
+	dw Function10566
+	dw Function10581
+	dw Function10874
+	dw Function1087e
+
+
+Function104d9: ; 104d9 (4:44d9)
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	call Function10955
+	ld a, [wcf64]
+	ld [wcf63], a
+	call Function10a40
+	ret
+
+Function104e9: ; 104e9 (4:44e9)
+	xor a
+	ld [wcf65], a
+	call Function10a36
+	call Function109bb
+	call Function1089a
+	call Function10866
+	ret
+
+Function104fa: ; 104fa (4:44fa)
+	ld hl, MenuDataHeader_0x10a4f
+	call Function1d3c
+	ld a, [wd0d9]
+	ld [wcf88], a
+	ld a, [wd0df]
+	ld [wd0e4], a
+	call Function350c
+	ld a, [wd0e4]
+	ld [wd0df], a
+	ld a, [wcfa9]
+	ld [wd0d9], a
+	ld b, $7
+	ld c, $3
+	call Function108d4
+	ret c
+	call Function105d3
+	ret
+
+Function10527: ; 10527 (4:4527)
+	ld a, $2
+	ld [wcf65], a
+	call Function10a36
+	call Function109bb
+	call Function1089a
+	call Function10866
+	ret
+
+Function10539: ; 10539 (4:4539)
+	ld hl, MenuDataHeader_0x10a7f
+	call Function1d3c
+	ld a, [wd0da]
+	ld [wcf88], a
+	ld a, [wd0e0]
+	ld [wd0e4], a
+	call Function350c
+	ld a, [wd0e4]
+	ld [wd0e0], a
+	ld a, [wcfa9]
+	ld [wd0da], a
+	ld b, $3
+	ld c, $7
+	call Function108d4
+	ret c
+	call Function105d3
+	ret
+
+Function10566: ; 10566 (4:4566)
+	ld a, $3
+	ld [wcf65], a
+	call Function10a36
+	call Function109bb
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	call Function1089a
+	ld hl, UnknownText_0x10b0c
+	call Function10889
+	call Function10866
+	ret
+
+Function10581: ; 10581 (4:4581)
+	callba Function2c76f
+	ld b, $5
+	ld c, $1
+	call Function108d4
+	ret c
+	xor a
+	call Function105dc
+	ret
+
+Function10594: ; 10594 (4:4594)
+	ld a, $1
+	ld [wcf65], a
+	call Function10a36
+	call Function109bb
+	call Function1089a
+	call Function10866
+	ret
+
+Function105a6: ; 105a6 (4:45a6)
+	ld hl, MenuDataHeader_0x10aaf
+	call Function1d3c
+	ld a, [wd0db]
+	ld [wcf88], a
+	ld a, [wd0e1]
+	ld [wd0e4], a
+	call Function350c
+	ld a, [wd0e4]
+	ld [wd0e1], a
+	ld a, [wcfa9]
+	ld [wd0db], a
+	ld b, $1
+	ld c, $5
+	call Function108d4
+	ret c
+	call Function105d3
+	ret
+
+Function105d3: ; 105d3 (4:45d3)
+	callba CheckItemContext
+	ld a, [wd142]
+
+Function105dc: ; 105dc (4:45dc)
+	and a
+	jr z, .asm_105e7
+	ld hl, MenuDataHeader_0x10601
+	ld de, Jumptable_10614
+	jr .asm_105ed
+.asm_105e7
+	ld hl, MenuDataHeader_0x10618
+	ld de, Jumptable_10627
+.asm_105ed
+	push de
+	call LoadMenuDataHeader
+	call Function1d81
+	call Function1c07
+	pop hl
+	ret c
+	ld a, [wcfa9]
+	dec a
+	call Function1086b
+	jp [hl]
+; 10601 (4:4601)
+
+MenuDataHeader_0x10601: ; 0x10601
+	db $40 ; flags
+	db 07, 13 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x10609
+	db 1 ; default option
+; 0x10609
+
+MenuData2_0x10609: ; 0x10609
+	db $c0 ; flags
+	db 2 ; items
+	db "USE@"
+	db "QUIT@"
+; 0x10614
+
+Jumptable_10614: ; 10614
+	dw Function10629
+	dw Function10689
+; 10618
+
+MenuDataHeader_0x10618: ; 0x10618
+	db $40 ; flags
+	db 09, 13 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x10620
+	db 1 ; default option
+; 0x10620
+
+MenuData2_0x10620: ; 0x10620
+	db $c0 ; flags
+	db 1 ; items
+	db "QUIT@"
+; 0x10627
+
+Jumptable_10627: ; 10627
+	dw Function10689
+; 10629
+
+Function10629: ; 10629
+	callba CheckItemContext
+	ld a, [wd142]
+	ld hl, Jumptable_10637
+	rst JumpTable
+	ret
+
+Jumptable_10637: ; 10637 (4:4637)
+	dw Function10645
+	dw Function10645
+	dw Function10645
+	dw Function10645
+	dw Function1064c
+	dw Function10656
+	dw Function10671
+
+
+Function10645: ; 10645 (4:4645)
+	ld hl, UnknownText_0x10af3
+	call Function10889
+	ret
+
+Function1064c: ; 1064c (4:464c)
+	call DoItemEffect
+	ld a, [wd0ec]
+	and a
+	jr nz, asm_1066c
+	ret
+
+Function10656: ; 10656 (4:4656)
+	call DoItemEffect
+	ld a, [wd0ec]
+	and a
+	jr nz, asm_1067e
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	call Function10955
+	call Function1089a
+	call Function10a40
+	ret
+asm_1066c: ; 1066c (4:466c)
+	call WhiteBGMap
+	jr asm_1067e
+
+Function10671: ; 10671 (4:4671)
+	call DoItemEffect
+	ld a, [wd0ec]
+	and a
+	jr z, Function10645
+	cp $2
+	jr z, asm_10684
+asm_1067e: ; 1067e (4:467e)
+	ld a, $a
+	ld [wcf63], a
+	ret
+asm_10684: ; 10684 (4:4684)
+	xor a
+	ld [wd0ec], a
+	ret
+; 10689 (4:4689)
+
+Function10689: ; 10689
+	ret
+; 1068a
+
+
+Function1068a: ; 1068a
+	xor a
+	ld [wcf63], a
+	ld a, [wd0d6]
+	and $3
+	ld [wcf65], a
+	inc a
+	add a
+	dec a
+	ld [wcf64], a
+	xor a
+	ld [wcf66], a
+	xor a
+	ld [wd0e3], a
+	ret
+; 106a5
+
+Function106a5: ; 106a5
+	xor a
+	ld [hBGMapMode], a
+	ld [wcf63], a
+	ld [wcf64], a
+	ld [wcf65], a
+	ld [wcf66], a
+	ld [wd0e3], a
+	call Function10955
+	call Function10a40
+	ret
+; 106be
+
+Function106be: ; 106be
+.asm_106be
+	call Function106c7
+	call Function1076f
+	jr c, .asm_106be
+	ret
+; 106c7
+
+Function106c7: ; 106c7
+	ld a, [wcf63]
+	ld hl, Jumptable_106d1
+	call Function1086b
+	jp [hl]
+; 106d1
+
+
+Jumptable_106d1: ; 106d1 (4:46d1)
+	dw Function106d9
+	dw Function1073b
+	dw Function106ff
+	dw Function10726
+
+
+Function106d9: ; 106d9 (4:46d9)
+	xor a
+	call Function10762
+	ld hl, MenuDataHeader_0x10a67
+	call Function1d3c
+	ld a, [wd0d9]
+	ld [wcf88], a
+	ld a, [wd0df]
+	ld [wd0e4], a
+	call Function350c
+	ld a, [wd0e4]
+	ld [wd0df], a
+	ld a, [wcfa9]
+	ld [wd0d9], a
+	ret
+
+Function106ff: ; 106ff (4:46ff)
+	ld a, $2
+	call Function10762
+	ld hl, MenuDataHeader_0x10a97
+	call Function1d3c
+	ld a, [wd0da]
+	ld [wcf88], a
+	ld a, [wd0e0]
+	ld [wd0e4], a
+	call Function350c
+	ld a, [wd0e4]
+	ld [wd0e0], a
+	ld a, [wcfa9]
+	ld [wd0da], a
+	ret
+
+Function10726: ; 10726 (4:4726)
+	ld a, $3
+	call Function10762
+	call Function1089a
+	callba Function2c76f
+	ld a, [CurItem]
+	ld [CurItem], a
+	ret
+
+Function1073b: ; 1073b (4:473b)
+	ld a, $1
+	call Function10762
+	ld hl, MenuDataHeader_0x10ac7
+	call Function1d3c
+	ld a, [wd0db]
+	ld [wcf88], a
+	ld a, [wd0e1]
+	ld [wd0e4], a
+	call Function350c
+	ld a, [wd0e4]
+	ld [wd0e1], a
+	ld a, [wcfa9]
+	ld [wd0db], a
+	ret
+
+Function10762: ; 10762 (4:4762)
+	ld [wcf65], a
+	call Function10a36
+	call Function109bb
+	call Function1089a
+	ret
+
+
+Function1076f: ; 1076f
+	ld hl, wcf73
+	ld a, [hl]
+	and $1
+	jr nz, .asm_10788
+	ld a, [hl]
+	and $2
+	jr nz, .asm_1078f
+	ld a, [hl]
+	and $20
+	jr nz, .asm_10795
+	ld a, [hl]
+	and $10
+	jr nz, .asm_107a8
+	scf
+	ret
+
+.asm_10788
+	ld a, $1
+	ld [wcf66], a
+	and a
+	ret
+
+.asm_1078f
+	xor a
+	ld [wcf66], a
+	and a
+	ret
+
+.asm_10795
+	ld a, [wcf63]
+	dec a
+	and $3
+	ld [wcf63], a
+	push de
+	ld de, SFX_UNKNOWN_62
+	call PlaySFX
+	pop de
+	scf
+	ret
+
+.asm_107a8
+	ld a, [wcf63]
+	inc a
+	and $3
+	ld [wcf63], a
+	push de
+	ld de, SFX_UNKNOWN_62
+	call PlaySFX
+	pop de
+	scf
+	ret
+; 107bb
+
+Function107bb: ; 107bb
+	call Function106a5
+	ld a, [InputType]
+	or a
+	jr z, .asm_107ca
+	callba Function1de28f
+
+.asm_107ca
+	call Function107d7
+	call Function1076f
+	jr c, .asm_107ca
+	xor a
+	ld [wcf66], a
+	ret
+; 107d7
+
+Function107d7: ; 107d7
+	ld a, [wcf63]
+	ld hl, Jumptable_107e1
+	call Function1086b
+	jp [hl]
+; 107e1
+
+
+Jumptable_107e1: ; 107e1 (4:47e1)
+	dw Function107e9
+	dw Function1083b
+	dw Function10807
+	dw Function10826
+
+
+Function107e9: ; 107e9 (4:47e9)
+	xor a
+	ld hl, MenuDataHeader_0x107ef
+	jr Function1085a
+; 107ef (4:47ef)
+
+MenuDataHeader_0x107ef: ; 0x107ef
+	db $40 ; flags
+	db 01, 07 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x107f7
+	db 1 ; default option
+; 0x107f7
+
+MenuData2_0x107f7: ; 0x107f7
+	db $ae ; flags
+	db 5, 8 ; rows, columns
+	db 2 ; horizontal spacing
+	dbw 0, OTPartyMons
+	dbw BANK(Function24ab4), Function24ab4
+	dbw BANK(Function24ac3), Function24ac3
+	dbw BANK(Function244c3), Function244c3
+; 10807
+
+Function10807: ; 10807 (4:4807)
+	ld a, $2
+	ld hl, MenuDataHeader_0x1080e
+	jr Function1085a
+; 1080e (4:480e)
+
+MenuDataHeader_0x1080e: ; 0x1080e
+	db $40 ; flags
+	db 01, 07 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x10816
+	db 1 ; default option
+; 0x10816
+
+MenuData2_0x10816: ; 0x10816
+	db $ae ; flags
+	db 5, 8 ; rows, columns
+	db 1 ; horizontal spacing
+	dbw 0, OTPartyMon1Exp + 2
+	dbw BANK(Function24ab4), Function24ab4
+	dbw BANK(Function24ac3), Function24ac3
+	dbw BANK(Function244c3), Function244c3
+; 10826
+
+Function10826: ; 10826 (4:4826)
+	ld a, $3
+	call Function10762
+	call Function1089a
+	callba Function2c76f
+	ld a, [CurItem]
+	ld [CurItem], a
+	ret
+
+Function1083b: ; 1083b (4:483b)
+	ld a, $1
+	ld hl, MenuDataHeader_0x10842
+	jr Function1085a
+; 10842 (4:4842)
+
+MenuDataHeader_0x10842: ; 0x10842
+	db $40 ; flags
+	db 01, 07 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x1084a
+	db 1 ; default option
+; 0x1084a
+
+MenuData2_0x1084a: ; 0x1084a
+	db $ae ; flags
+	db 5, 8 ; rows, columns
+	db 2 ; horizontal spacing
+	dbw 0, OTPartyMon1CaughtGender
+	dbw BANK(Function24ab4), Function24ab4
+	dbw BANK(Function24ac3), Function24ac3
+	dbw BANK(Function244c3), Function244c3
+; 1085a
+
+Function1085a: ; 1085a (4:485a)
+	push hl
+	call Function10762
+	pop hl
+	call Function1d3c
+	call Function350c
+	ret
+
+Function10866: ; 10866 (4:4866)
+	ld hl, wcf63
+	inc [hl]
+	ret
+
+Function1086b: ; 1086b
+	ld e, a
+	ld d, 0
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ret
+; 10874
+
+Function10874: ; 10874 (4:4874)
+	ld hl, wcf63
+	set 7, [hl]
+	xor a
+	ld [wcf66], a
+	ret
+
+Function1087e: ; 1087e (4:487e)
+	ld hl, wcf63
+	set 7, [hl]
+	ld a, $1
+	ld [wcf66], a
+	ret
+
+Function10889: ; 10889 (4:4889)
+	ld a, [Options]
+	push af
+	set 4, a
+	ld [Options], a
+	call PrintText
+	pop af
+	ld [Options], a
+	ret
+
+Function1089a: ; 1089a (4:489a)
+	call WaitBGMap
+
+
+Function1089d: ; 1089d
+	ld a, [wcf65]
+	and $3
+	ld e, a
+	ld d, $0
+	ld a, [BattleType]
+	cp BATTLETYPE_TUTORIAL
+	jr z, .asm_108b3
+	ld a, [PlayerGender]
+	bit 0, a
+	jr nz, .asm_108c5
+
+.asm_108b3
+	ld hl, PackGFXPointers
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld e, a
+	ld d, [hl]
+	ld hl, $9500
+	lb bc, BANK(PackGFX), 15
+	call Request2bpp
+	ret
+
+.asm_108c5
+	callba Function48e81
+	ret
+; 108cc
+
+PackGFXPointers: ; 108cc
+	dw PackGFX + $f0 * 1
+	dw PackGFX + $f0 * 3
+	dw PackGFX + $f0 * 0
+	dw PackGFX + $f0 * 2
+; 108d4
+
+Function108d4: ; 108d4 (4:48d4)
+	ld hl, wcf73
+	ld a, [wd0e3]
+	and a
+	jr nz, .asm_10931
+	ld a, [hl]
+	and $1
+	jr nz, .asm_108f8
+	ld a, [hl]
+	and $2
+	jr nz, .asm_108fa
+	ld a, [hl]
+	and $20
+	jr nz, .asm_10901
+	ld a, [hl]
+	and $10
+	jr nz, .asm_10912
+	ld a, [hl]
+	and $4
+	jr nz, .asm_10923
+	scf
+	ret
+.asm_108f8
+	and a
+	ret
+.asm_108fa
+	ld a, $9
+	ld [wcf63], a
+	scf
+	ret
+.asm_10901
+	ld a, b
+	ld [wcf63], a
+	ld [wcf64], a
+	push de
+	ld de, SFX_UNKNOWN_62
+	call PlaySFX
+	pop de
+	scf
+	ret
+.asm_10912
+	ld a, c
+	ld [wcf63], a
+	ld [wcf64], a
+	push de
+	ld de, SFX_UNKNOWN_62
+	call PlaySFX
+	pop de
+	scf
+	ret
+.asm_10923
+	callba Function2490c
+	ld hl, UnknownText_0x10b07
+	call Function10889
+	scf
+	ret
+.asm_10931
+	ld a, [hl]
+	and $5
+	jr nz, .asm_1093d
+	ld a, [hl]
+	and $2
+	jr nz, .asm_1094f
+	scf
+	ret
+.asm_1093d
+	callba Function2490c
+	ld de, SFX_SWITCH_POKEMON
+	call WaitPlaySFX
+	ld de, SFX_SWITCH_POKEMON
+	call WaitPlaySFX
+.asm_1094f
+	xor a
+	ld [wd0e3], a
+	scf
+	ret
+
+
+Function10955: ; 10955
+	call WhiteBGMap
+	call ClearTileMap
+	call ClearSprites
+	call DisableLCD
+	ld hl, PackMenuGFX
+	ld de, VTiles2
+	ld bc, $0600
+	ld a, BANK(PackMenuGFX)
+	call FarCopyBytes
+	hlcoord 0, 1
+	ld bc, $00dc
+	ld a, $24
+	call ByteFill
+	hlcoord 5, 1
+	lb bc, 11, 15
+	call ClearBox
+	ld hl, TileMap
+	ld a, $28
+	ld c, $14
+.asm_1098a
+	ld [hli], a
+	inc a
+	dec c
+	jr nz, .asm_1098a
+	call Function109bb
+	call Function109a5
+	hlcoord 0, 12
+	lb bc, 4, 18
+	call TextBox
+	call EnableLCD
+	call Function1089d
+	ret
+; 109a5
+
+Function109a5: ; 109a5
+	hlcoord 0, 3
+	ld a, $50
+	ld de, 15
+	ld b, 3
+.asm_109af
+	ld c, 5
+.asm_109b1
+	ld [hli], a
+	inc a
+	dec c
+	jr nz, .asm_109b1
+	add hl, de
+	dec b
+	jr nz, .asm_109af
+	ret
+; 109bb
+
+Function109bb: ; 109bb
+	ld a, [wcf65]
+
+	; * 15
+	ld d, a
+	swap a
+	sub d
+
+	ld d, 0
+	ld e, a
+	ld hl, Tilemap_109e1
+	add hl, de
+	ld d, h
+	ld e, l
+	hlcoord 0, 7
+	ld c, 3
+.asm_109d0
+	ld b, 5
+.asm_109d2
+	ld a, [de]
+	inc de
+	ld [hli], a
+	dec b
+	jr nz, .asm_109d2
+	ld a, c
+	ld c, 15
+	add hl, bc
+	ld c, a
+	dec c
+	jr nz, .asm_109d0
+	ret
+; 109e1
+
+Tilemap_109e1: ; 109e1
+	db $00, $04, $04, $04, $01,  $06, $07, $08, $09, $0a,  $02, $05, $05, $05, $03
+	db $00, $04, $04, $04, $01,  $15, $16, $17, $18, $19,  $02, $05, $05, $05, $03
+	db $00, $04, $04, $04, $01,  $0b, $0c, $0d, $0e, $0f,  $02, $05, $05, $05, $03
+	db $00, $04, $04, $04, $01,  $10, $11, $12, $13, $14,  $02, $05, $05, $05, $03
+; 10a1d
+
+Function10a1d: ; 10a1d
+	ld a, [CurItem]
+	ld [wd265], a
+	call GetItemName
+	call CopyName1
+	ret
+; 10a2a
+
+Function10a2a: ; 10a2a
+	ld hl, TileMap
+	ld bc, $0168
+	ld a, $7f
+	call ByteFill
+	ret
+; 10a36
+
+Function10a36: ; 10a36 (4:4a36)
+	hlcoord 5, 2
+	ld bc, $a0f
+	call ClearBox
+	ret
+
+
+Function10a40: ; 10a40
+	call WaitBGMap
+	ld b, $14
+	call GetSGBLayout
+	call Function32f9
+	call DelayFrame
+	ret
+; 10a4f
+
+MenuDataHeader_0x10a4f: ; 0x10a4f
+	db $40 ; flags
+	db 01, 07 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x10a57
+	db 1 ; default option
+; 0x10a57
+
+MenuData2_0x10a57: ; 0x10a57
+	db $ae ; flags
+	db 5, 8 ; rows, columns
+	db 2 ; horizontal spacing
+	dbw 0, NumItems
+	dbw BANK(Function24ab4), Function24ab4
+	dbw BANK(Function24ac3), Function24ac3
+	dbw BANK(Function244c3), Function244c3
+; 10a67
+
+MenuDataHeader_0x10a67: ; 0x10a67
+	db $40 ; flags
+	db 01, 07 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x10a6f
+	db 1 ; default option
+; 0x10a6f
+
+MenuData2_0x10a6f: ; 0x10a6f
+	db $2e ; flags
+	db 5, 8 ; rows, columns
+	db 2 ; horizontal spacing
+	dbw 0, NumItems
+	dbw BANK(Function24ab4), Function24ab4
+	dbw BANK(Function24ac3), Function24ac3
+	dbw BANK(Function244c3), Function244c3
+; 10a7f
+
+MenuDataHeader_0x10a7f: ; 0x10a7f
+	db $40 ; flags
+	db 01, 07 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x10a87
+	db 1 ; default option
+; 0x10a87
+
+MenuData2_0x10a87: ; 0x10a87
+	db $ae ; flags
+	db 5, 8 ; rows, columns
+	db 1 ; horizontal spacing
+	dbw 0, NumKeyItems
+	dbw BANK(Function24ab4), Function24ab4
+	dbw BANK(Function24ac3), Function24ac3
+	dbw BANK(Function244c3), Function244c3
+; 10a97
+
+MenuDataHeader_0x10a97: ; 0x10a97
+	db $40 ; flags
+	db 01, 07 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x10a9f
+	db 1 ; default option
+; 0x10a9f
+
+MenuData2_0x10a9f: ; 0x10a9f
+	db $2e ; flags
+	db 5, 8 ; rows, columns
+	db 1 ; horizontal spacing
+	dbw 0, NumKeyItems
+	dbw BANK(Function24ab4), Function24ab4
+	dbw BANK(Function24ac3), Function24ac3
+	dbw BANK(Function244c3), Function244c3
+; 10aaf
+
+MenuDataHeader_0x10aaf: ; 0x10aaf
+	db $40 ; flags
+	db 01, 07 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x10ab7
+	db 1 ; default option
+; 0x10ab7
+
+MenuData2_0x10ab7: ; 0x10ab7
+	db $ae ; flags
+	db 5, 8 ; rows, columns
+	db 2 ; horizontal spacing
+	dbw 0, NumBalls
+	dbw BANK(Function24ab4), Function24ab4
+	dbw BANK(Function24ac3), Function24ac3
+	dbw BANK(Function244c3), Function244c3
+; 10ac7
+
+MenuDataHeader_0x10ac7: ; 0x10ac7
+	db $40 ; flags
+	db 01, 07 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_0x10acf
+	db 1 ; default option
+; 0x10acf
+
+MenuData2_0x10acf: ; 0x10acf
+	db $2e ; flags
+	db 5, 8 ; rows, columns
+	db 2 ; horizontal spacing
+	dbw 0, NumBalls
+	dbw BANK(Function24ab4), Function24ab4
+	dbw BANK(Function24ac3), Function24ac3
+	dbw BANK(Function244c3), Function244c3
+; 10adf
+
+UnknownText_0x10adf: ; 0x10adf
+	; No items.
+	text_jump UnknownText_0x1c0b9a
+	db "@"
+; 0x10ae4
+
+UnknownText_0x10ae4: ; 0x10ae4
+	; Throw away how many?
+	text_jump UnknownText_0x1c0ba5
+	db "@"
+; 0x10ae9
+
+UnknownText_0x10ae9: ; 0x10ae9
+	; Throw away @ @ (S)?
+	text_jump UnknownText_0x1c0bbb
+	db "@"
+; 0x10aee
+
+UnknownText_0x10aee: ; 0x10aee
+	; Threw away @ (S).
+	text_jump UnknownText_0x1c0bd8
+	db "@"
+; 0x10af3
+
+UnknownText_0x10af3: ; 0x10af3
+	; OAK:  ! This isn't the time to use that!
+	text_jump UnknownText_0x1c0bee
+	db "@"
+; 0x10af8
+
+UnknownText_0x10af8: ; 0x10af8
+	; You don't have a #MON!
+	text_jump UnknownText_0x1c0c17
+	db "@"
+; 0x10afd
+
+UnknownText_0x10afd: ; 0x10afd
+	; Registered the @ .
+	text_jump UnknownText_0x1c0c2e
+	db "@"
+; 0x10b02
+
+UnknownText_0x10b02: ; 0x10b02
+	; You can't register that item.
+	text_jump UnknownText_0x1c0c45
+	db "@"
+; 0x10b07
+
+UnknownText_0x10b07: ; 0x10b07
+	; Where should this be moved to?
+	text_jump UnknownText_0x1c0c63
+	db "@"
+; 0x10b0c
+
+UnknownText_0x10b0c: ; 0x10b0c
+	; 
+	text_jump UnknownText_0x1c0c83
+	db "@"
+; 0x10b11
+
+UnknownText_0x10b11: ; 0x10b11
+	; You can't use it in a battle.
+	text_jump UnknownText_0x1c0c85
+	db "@"
+; 0x10b16
+
+PackMenuGFX:
+INCBIN "gfx/misc/pack_menu.2bpp"
+
+PackGFX:
+INCBIN "gfx/misc/pack.w40.2bpp"
+
--- a/engine/phone_scripts.asm
+++ b/engine/phone_scripts.asm
@@ -381,7 +381,7 @@
 	iftrue UnknownScript_0xbd1cd
 
 UnknownScript_0xbd19b:
-	special $005d
+	special RandomPhoneMon
 	farjump UnknownScript_0xa0908
 
 UnknownScript_0xbd1a2:
@@ -608,7 +608,7 @@
 	iftrue UnknownScript_0xbd3c4
 
 UnknownScript_0xbd392:
-	special $005d
+	special RandomPhoneMon
 	farjump UnknownScript_0xa0930
 
 UnknownScript_0xbd399:
@@ -808,7 +808,7 @@
 	pokenamemem QWILFISH, $1
 	displaylocation ROUTE_32, $2
 	writebyte $1
-	special $0048
+	special Functionc3fc
 	farjump UnknownScript_0xa05d6
 
 UnknownScript_0xbd55c:
@@ -827,7 +827,7 @@
 	iftrue UnknownScript_0xbd5c3
 
 UnknownScript_0xbd57f:
-	special $005d
+	special RandomPhoneMon
 	farjump UnknownScript_0xa0948
 
 UnknownScript_0xbd586:
@@ -3079,7 +3079,7 @@
 	end
 
 UnknownScript_0xbe622:
-	special $005d
+	special RandomPhoneMon
 	farscall UnknownScript_0xbde3f
 	if_equal $0, UnknownScript_0xbe636
 	farwritetext UnknownText_0x1b518b
--- /dev/null
+++ b/engine/pokedex.asm
@@ -1,0 +1,2585 @@
+
+Pokedex: ; 40000
+
+	ld a, [hWX]
+	ld l, a
+	ld a, [hWY]
+	ld h, a
+	push hl
+	ld a, [hSCX]
+	push af
+	ld hl, Options
+	ld a, [hl]
+	push af
+	set NO_TEXT_SCROLL, [hl]
+	ld a, [VramState]
+	push af
+	xor a
+	ld [VramState], a
+	ld a, [$ffaa]
+	push af
+	ld a, $1
+	ld [$ffaa], a
+
+	xor a
+	ld [$ffde], a
+	call InitPokedex
+	call DelayFrame
+
+.main
+	call Functiona57
+	ld a, [wcf63]
+	bit 7, a
+	jr nz, .exit
+	call Function4010b
+	call DelayFrame
+	jr .main
+
+.exit
+	ld de, SFX_READ_TEXT_2
+	call PlaySFX
+	call WaitSFX
+	call ClearSprites
+	ld a, [wc7d4]
+	ld [wd959], a
+
+	pop af
+	ld [$ffaa], a
+	pop af
+	ld [VramState], a
+	pop af
+	ld [Options], a
+	pop af
+	ld [hSCX], a
+	pop hl
+	ld a, l
+	ld [hWX], a
+	ld a, h
+	ld [hWY], a
+	ret
+; 40063
+
+InitPokedex: ; 40063
+	call WhiteBGMap
+	call ClearSprites
+	call ClearTileMap
+	call Function414b7
+
+	ld hl, wc6d0
+	ld bc, $0115
+	xor a
+	call ByteFill
+
+	xor a
+	ld [wcf63], a
+	ld [wcf64], a
+	ld [wcf65], a
+	ld [wcf66], a
+
+	call Function400a2
+
+	ld a, [wd959]
+	ld [wc7d4], a
+
+	call Function40bdc
+	call Function400b4
+	call Function400ed
+	callba Function1de247
+	call Function41af7
+	ret
+; 400a2
+
+Function400a2: ; 400a2
+	ld a, [StatusFlags]
+	bit 1, a
+	jr nz, .asm_400ae
+
+	xor a
+	ld [wc7dc], a
+	ret
+
+.asm_400ae
+	ld a, 1
+	ld [wc7dc], a
+	ret
+; 400b4
+
+Function400b4: ; 400b4
+	ld hl, wc6d0
+	ld a, [wc2d6]
+	and a
+	jr z, .asm_400ec
+	cp $fc
+	jr nc, .asm_400ec
+
+	ld b, a
+	ld a, [wc7d2]
+	cp $8
+	jr c, .asm_400db
+
+	sub $7
+	ld c, a
+.asm_400cc
+	ld a, b
+	cp [hl]
+	jr z, .asm_400ec
+	inc hl
+	ld a, [wc7d0]
+	inc a
+	ld [wc7d0], a
+	dec c
+	jr nz, .asm_400cc
+
+.asm_400db
+	ld c, $7
+.asm_400dd
+	ld a, b
+	cp [hl]
+	jr z, .asm_400ec
+	inc hl
+	ld a, [wc7d1]
+	inc a
+	ld [wc7d1], a
+	dec c
+	jr nz, .asm_400dd
+
+.asm_400ec
+	ret
+; 400ed
+
+Function400ed: ; 400ed
+	ld a, [MapGroup]
+	ld b, a
+	ld a, [MapNumber]
+	ld c, a
+	call GetWorldMapLocation
+
+	cp SPECIAL_MAP
+	jr nz, .asm_40107
+
+	ld a, [BackupMapGroup]
+	ld b, a
+	ld a, [BackupMapNumber]
+	ld c, a
+	call GetWorldMapLocation
+
+.asm_40107
+	ld [wc7e4], a
+	ret
+; 4010b
+
+Function4010b: ; 4010b
+	ld a, [wcf63]
+	ld hl, Jumptable_40115
+	call Function41432
+	jp [hl]
+; 40115
+
+
+Jumptable_40115: ; 40115 (10:4115)
+	dw Function4013c
+	dw Function401ae
+	dw Function40217
+	dw Function40258
+	dw Function402aa
+	dw Function40443
+	dw Function40471
+	dw Function4039d
+	dw Function403be
+	dw Function4050a
+	dw Function40562
+	dw Function405bd
+	dw Function405df
+	dw Function40136
+
+
+Function40131: ; 40131 (10:4131)
+	ld hl, wcf63
+	inc [hl]
+	ret
+
+Function40136: ; 40136 (10:4136)
+	ld hl, wcf63
+	set 7, [hl]
+	ret
+
+Function4013c: ; 4013c (10:413c)
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	call ClearSprites
+	xor a
+	ld hl, AttrMap
+	ld bc, $168
+	call ByteFill
+	callba Function1de171
+	hlcoord 0, 17
+	ld de, Unknown_407f2
+	call Function40acd
+	ld a, $7
+	ld [wc7d3], a
+	call Function40b0f
+	call Function41aeb
+	call Function41af7
+	call Function4074c
+	ld a, $5
+	ld [hSCX], a ; $ff00+$cf
+	ld a, [wc7d4]
+	cp $1
+	ld a, $4a
+	jr z, .asm_4017b
+	ld a, $47
+
+.asm_4017b
+	ld [hWX], a ; $ff00+$d1
+	xor a
+	ld [hWY], a ; $ff00+$d2
+	call WaitBGMap
+	call Function41af7
+	ld a, $ff
+	ld [CurPartySpecies], a
+	ld a, $4
+	call Function41423
+	call Function41148
+	callba Function1de171
+	hlcoord 0, 17
+	ld de, Unknown_407f2
+	call Function40acd
+	ld a, $7
+	ld [wc7d3], a
+	call Function40b0f
+	call Function40131
+	ret
+
+Function401ae: ; 401ae (10:41ae)
+	ld hl, hJoyPressed ; $ffa7
+	ld a, [hl]
+	and B_BUTTON
+	jr nz, .b
+	ld a, [hl]
+	and A_BUTTON
+	jr nz, .a
+	ld a, [hl]
+	and SELECT
+	jr nz, .select
+	ld a, [hl]
+	and START
+	jr nz, .start
+	call Function406c5
+	ret nc
+	call Function41148
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	call Function40b0f
+	call Function41ad7
+	call Function41af7
+	ret
+
+.a
+	call Function40bb1
+	call Function40bd0
+	ret z
+	ld a, $2
+	ld [wcf63], a
+	ld a, $0
+	ld [wcf64], a
+	ret
+
+.select
+	call Function41401
+	ld a, $7
+	ld [wcf63], a
+	xor a
+	ld [hSCX], a ; $ff00+$cf
+	ld a, $a7
+	ld [hWX], a ; $ff00+$d1
+	call DelayFrame
+	ret
+
+.start
+	call Function41401
+	ld a, $5
+	ld [wcf63], a
+	xor a
+	ld [hSCX], a ; $ff00+$cf
+	ld a, $a7
+	ld [hWX], a ; $ff00+$d1
+	call DelayFrame
+	ret
+
+.b
+	ld a, $d
+	ld [wcf63], a
+	ret
+
+Function40217: ; 40217 (10:4217)
+	call LowVolume
+	xor a
+	ld [wcf65], a
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	call ClearSprites
+	call Function41478
+	call Function407fd
+	call Function4134f
+	call Function40bb1
+	ld [wc2d6], a
+	callba Function4424d
+	call Function40ba0
+	call WaitBGMap
+	ld a, $a7
+	ld [hWX], a ; $ff00+$d1
+	call Function40bb1
+	ld [CurPartySpecies], a
+	ld a, $4
+	call Function41423
+	ld a, [CurPartySpecies]
+	call PlayCry
+	call Function40131
+	ret
+
+Function40258: ; 40258 (10:4258)
+	ld de, Unknown_402e8
+	call Function4135a
+	ld hl, hJoyPressed ; $ffa7
+	ld a, [hl]
+	and B_BUTTON
+	jr nz, .b
+	ld a, [hl]
+	and A_BUTTON
+	jr nz, .a
+	call Function4066c
+	ret nc
+	call Function40131
+	ret
+
+.a
+	ld a, [wc7d8]
+	ld hl, Jumptable_402f2
+	call Function41432
+	jp [hl]
+
+.b
+	ld a, [LastVolume]
+	and a
+	jr z, .asm_40288
+	ld a, $77
+	ld [LastVolume], a
+
+.asm_40288
+	call MaxVolume
+	ld a, [wcf64]
+	ld [wcf63], a
+	ret
+; 40292 (10:4292)
+
+Function40292: ; 40292
+	ld a, [wcf65]
+	xor $1
+	ld [wcf65], a
+	call Function40bb1
+	ld [wc2d6], a
+	callba Function4424d
+	call WaitBGMap
+	ret
+; 402aa
+
+Function402aa: ; 402aa (10:42aa)
+	call Function41401
+	xor a
+	ld [wcf65], a
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	call Function407fd
+	call Function4134f
+	call Function41478
+	call Function40bb1
+	ld [wc2d6], a
+	callba Function4424d
+	call Function40ba0
+	call Function4143b
+	call WaitBGMap
+	call Function40bb1
+	ld [CurPartySpecies], a
+	ld a, $4
+	call Function41423
+	ld a, [CurPartySpecies]
+	call PlayCry
+	ld hl, wcf63
+	dec [hl]
+	ret
+; 402e8 (10:42e8)
+
+Unknown_402e8: ; 402e8
+	dw $0430
+	dwcoord 1, 17
+	dwcoord 6, 17
+	dwcoord 11, 17
+	dwcoord 15, 17
+; 402f2
+
+Jumptable_402f2: ; 402f2
+	dw Function40292
+	dw Function402fa
+	dw Function40340
+	dw Function4034f
+; 402fa
+
+Function402fa: ; 402fa
+	call Function41401
+	xor a
+	ld [hSCX], a
+	call DelayFrame
+	ld a, $7
+	ld [hWX], a
+	ld a, $90
+	ld [hWY], a
+	call Function40bb1
+	ld a, [wc7e4]
+	ld e, a
+	predef Function91d11
+	call Function41401
+	call DelayFrame
+	xor a
+	ld [hBGMapMode], a
+	ld a, $90
+	ld [hWY], a
+	ld a, $5
+	ld [hSCX], a
+	call DelayFrame
+	call Function4038d
+	call Function4143b
+	call WaitBGMap
+	call Function40bb1
+	ld [CurPartySpecies], a
+	ld a, $4
+	call Function41423
+	ret
+; 40340
+
+Function40340: ; 40340
+	call Function40bb1
+	ld a, [wd265]
+	call GetCryIndex
+	ld e, c
+	ld d, b
+	call PlayCryHeader
+	ret
+; 4034f
+
+Function4034f: ; 4034f
+	call Function41415
+	xor a
+	ld [hSCX], a
+	ld a, [wcf65]
+	push af
+	ld a, [wcf64]
+	push af
+	ld a, [wcf63]
+	push af
+	callba Function8442c
+	pop af
+	ld [wcf63], a
+	pop af
+	ld [wcf64], a
+	pop af
+	ld [wcf65], a
+	call WhiteBGMap
+	call DisableLCD
+	call Function414fb
+	call Function4038d
+	call EnableLCD
+	call WaitBGMap
+	ld a, $5
+	ld [hSCX], a
+	call Function41427
+	ret
+; 4038d
+
+Function4038d: ; 4038d
+	call Function407fd
+	call Function40bb1
+	callba Function4424d
+	call Function40ba0
+	ret
+; 4039d
+
+Function4039d: ; 4039d (10:439d)
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	call ClearSprites
+	call Function4087c
+	call Function4134f
+	ld a, [wc7d4]
+	ld [wc7d8], a
+	call Function40e5b
+	call WaitBGMap
+	ld a, $10
+	call Function41423
+	call Function40131
+	ret
+
+Function403be: ; 403be (10:43be)
+	ld a, [wc7dc]
+	and a
+	jr nz, .asm_403c9
+	ld de, Unknown_403f3
+	jr .asm_403cc
+
+.asm_403c9
+	ld de, Unknown_403fb
+.asm_403cc
+	call Function4135a
+	call c, Function40e5b
+	ld hl, hJoyPressed ; $ffa7
+	ld a, [hl]
+	and $6
+	jr nz, .asm_403ea
+	ld a, [hl]
+	and $1
+	jr nz, .asm_403e0
+	ret
+
+.asm_403e0
+	ld a, [wc7d8]
+	ld hl, Jumptable_40405
+	call Function41432
+	jp [hl]
+
+.asm_403ea
+	call Function41401
+	ld a, $0
+	ld [wcf63], a
+	ret
+; 403f3 (10:43f3)
+
+Unknown_403f3: ; 403f3
+	dw $03c0
+	dwcoord 2, 4
+	dwcoord 2, 6
+	dwcoord 2, 8
+; 403fb
+
+Unknown_403fb: ; 403fb
+	dw $04c0
+	dwcoord 2, 4
+	dwcoord 2, 6
+	dwcoord 2, 8
+	dwcoord 2, 10
+; 40405
+
+Jumptable_40405: ; 40405 (10:4405)
+	dw Function4040d
+	dw Function40411
+	dw Function40415
+	dw Function4043a
+; 4040d
+
+Function4040d: ; 4040d (10:440d)
+	ld b, $0
+	jr Function40417
+
+Function40411: ; 40411 (10:4411)
+	ld b, $1
+	jr Function40417
+
+Function40415: ; 40415 (10:4415)
+	ld b, $2
+Function40417: ; 40417 (10:4417)
+	ld a, [wc7d4]
+	cp b
+	jr z, .asm_40431
+	ld a, b
+	ld [wc7d4], a
+	call Function40bdc
+	call Function40f08
+	xor a
+	ld [wc7d0], a
+	ld [wc7d1], a
+	call Function400b4
+
+.asm_40431
+	call Function41401
+	ld a, $0
+	ld [wcf63], a
+	ret
+
+Function4043a: ; 4043a (10:443a)
+	call Function41401
+	ld a, $b
+	ld [wcf63], a
+	ret
+
+Function40443: ; 40443 (10:4443)
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	call ClearSprites
+	call Function408f0
+	call Function4134f
+	ld a, $1
+	ld [wc7d5], a
+	xor a
+	ld [wc7d6], a
+	call Function40fa8
+	xor a
+	ld [wc7db], a
+	callba Function44207
+	call WaitBGMap
+	ld a, $10
+	call Function41423
+	call Function40131
+	ret
+
+Function40471: ; 40471 (10:4471)
+	ld de, Unknown_4049e
+	call Function4135a
+	call Function40f4f
+	call c, Function40fa8
+	ld hl, hJoyPressed ; $ffa7
+	ld a, [hl]
+	and START | B_BUTTON
+	jr nz, .asm_40495
+	ld a, [hl]
+	and A_BUTTON
+	jr nz, .asm_4048b
+	ret
+
+.asm_4048b
+	ld a, [wc7d8]
+	ld hl, Jumptable_404a8
+	call Function41432
+	jp [hl]
+
+.asm_40495
+	call Function41401
+	ld a, $0
+	ld [wcf63], a
+	ret
+; 4049e (10:449e)
+
+Unknown_4049e: ; 4049e
+	dw $04c0
+	dwcoord 2, 4
+	dwcoord 2, 6
+	dwcoord 2, 13
+	dwcoord 2, 15
+; 404a8
+
+Jumptable_404a8: ; 404a8
+	dw Function404b0
+	dw Function404b0
+	dw Function404b7
+	dw Function40501
+; 404b0
+
+Function404b0: ; 404b0
+	call Function40f84
+	call Function40fa8
+	ret
+; 404b7
+
+Function404b7: ; 404b7
+	call Function41086
+	callba Function441cf
+	ld a, [wc7d7]
+	and a
+	jr nz, .asm_404dc
+	call Function40bdc
+	call Function41107
+	xor a
+	ld [hBGMapMode], a
+	call Function408f0
+	call Function4134f
+	call Function40fa8
+	call WaitBGMap
+	ret
+
+.asm_404dc
+	ld [wc7d2], a
+	ld a, [wc7d0]
+	ld [wc7e0], a
+	ld a, [wc7d1]
+	ld [wc7e1], a
+	ld a, [wc2d6]
+	ld [wcf65], a
+	xor a
+	ld [wc7d0], a
+	ld [wc7d1], a
+	call Function41401
+	ld a, $9
+	ld [wcf63], a
+	ret
+; 40501
+
+Function40501: ; 40501
+	call Function41401
+	ld a, $0
+	ld [wcf63], a
+	ret
+; 4050a
+
+Function4050a: ; 4050a (10:450a)
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	xor a
+	ld hl, AttrMap
+	ld bc, $168
+	call ByteFill
+	call Function41ae1
+	call Function41af7
+	callba Function1de1d1
+	call Function409cf
+	ld a, $4
+	ld [wc7d3], a
+	call Function40b0f
+	call Function41ad7
+	call Function41af7
+	call Function40962
+	ld a, $5
+	ld [hSCX], a ; $ff00+$cf
+	ld a, $4a
+	ld [hWX], a ; $ff00+$d1
+	xor a
+	ld [hWY], a ; $ff00+$d2
+	call WaitBGMap
+	call Function41af7
+	callba Function1de1d1
+	call Function409cf
+	call Function41281
+	ld a, $ff
+	ld [CurPartySpecies], a
+	ld a, $4
+	call Function41423
+	call Function40131
+	ret
+
+Function40562: ; 40562 (10:4562)
+	ld hl, hJoyPressed ; $ffa7
+	ld a, [hl]
+	and B_BUTTON
+	jr nz, .asm_40595
+	ld a, [hl]
+	and A_BUTTON
+	jr nz, .asm_40583
+	call Function406c5
+	ret nc
+	call Function41281
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	call Function40b0f
+	call Function41ad7
+	call Function41af7
+	ret
+
+.asm_40583
+	call Function40bb1
+	call Function40bd0
+	ret z
+	ld a, $2
+	ld [wcf63], a
+	ld a, $9
+	ld [wcf64], a
+	ret
+
+.asm_40595
+	ld a, [wc7e0]
+	ld [wc7d0], a
+	ld a, [wc7e1]
+	ld [wc7d1], a
+	ld a, [wcf65]
+	ld [wc2d6], a
+	call Function41401
+	call ClearSprites
+	call Function40bdc
+	ld a, $5
+	ld [wcf63], a
+	xor a
+	ld [hSCX], a ; $ff00+$cf
+	ld a, $a7
+	ld [hWX], a ; $ff00+$d1
+	ret
+
+Function405bd: ; 405bd (10:45bd)
+	call Function41a2c
+	call Function409f1
+	xor a
+	ld [wc7dd], a
+	call Function41a58
+	call Function40658
+	callba Functionfba2e
+	call WaitBGMap
+	ld a, $16
+	call Function41423
+	call Function40131
+	ret
+
+Function405df: ; 405df (10:45df)
+	ld hl, hJoyPressed ; $ffa7
+	ld a, [hl]
+	and A_BUTTON | B_BUTTON
+	jr nz, .asm_405eb
+	call Function40610
+	ret
+
+.asm_405eb
+	call Function41401
+	ld a, $7
+	ld [wcf63], a
+	call DelayFrame
+	call Function41a24
+	jr nz, .asm_40603
+	callba Function1ddf26
+	jr .asm_4060f
+
+.asm_40603
+	ld hl, PokedexLZ
+	ld de, $9310
+	lb bc, BANK(PokedexLZ), $3a
+	call Functione73
+
+.asm_4060f
+	ret
+
+Function40610: ; 40610 (10:4610)
+	ld hl, $ffa9
+	ld a, [hl]
+	and D_RIGHT
+	jr nz, .right
+	ld a, [hl]
+	and D_LEFT
+	jr nz, .left
+	ret
+
+.right
+	ld a, [wc7de]
+	ld e, a
+	ld hl, wc7dd
+	ld a, [hl]
+	inc a
+	cp e
+	ret nc
+	ld a, [hl]
+	inc [hl]
+	jr .asm_40635
+
+.left
+	ld hl, wc7dd
+	ld a, [hl]
+	and a
+	ret z
+	ld a, [hl]
+	dec [hl]
+
+.asm_40635
+	push af
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	pop af
+	call Function40654
+	call Function41a58
+	call Function40658
+	callba Functionfba2e
+	ld a, $1
+	ld [hBGMapMode], a ; $ff00+$d4
+	call DelayFrame
+	call DelayFrame
+	ret
+
+Function40654: ; 40654 (10:4654)
+	ld c, $7f
+	jr asm_4065d
+
+Function40658: ; 40658 (10:4658)
+	ld a, [wc7dd]
+	ld c, $5a
+asm_4065d: ; 4065d (10:465d)
+	ld e, a
+	ld d, 0
+	ld hl, Unknown_40a3e + 2
+	add hl, de
+	add hl, de
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld [hl], c
+	ret
+
+Function4066c: ; 4066c (10:466c)
+	ld a, [wc7d1]
+	ld [wc7e2], a
+	ld a, [wc7d0]
+	ld [wc7e3], a
+	ld hl, $ffa9
+	ld a, [hl]
+	and D_UP
+	jr nz, .up
+	ld a, [hl]
+	and D_DOWN
+	jr nz, .down
+	and a
+	ret
+
+.up
+	ld a, [wc7d3]
+	ld d, a
+	ld a, [wc7d2]
+	ld e, a
+	call Function406ea
+	jr nc, .asm_406b7
+	call Function40bb1
+	call Function40bd0
+	jr nz, .asm_406b5
+	jr .up
+
+.down
+	ld a, [wc7d3]
+	ld d, a
+	ld a, [wc7d2]
+	ld e, a
+	call Function406fe
+	jr nc, .asm_406b7
+	call Function40bb1
+	call Function40bd0
+	jr nz, .asm_406b5
+	jr .down
+
+.asm_406b5
+	scf
+	ret
+
+.asm_406b7
+	ld a, [wc7e2]
+	ld [wc7d1], a
+	ld a, [wc7e3]
+	ld [wc7d0], a
+	and a
+	ret
+
+Function406c5: ; 406c5 (10:46c5)
+	ld a, [wc7d3]
+	ld d, a
+	ld a, [wc7d2]
+	ld e, a
+	ld hl, $ffa9
+	ld a, [hl]
+	and D_UP
+	jr nz, Function406ea
+	ld a, [hl]
+	and D_DOWN
+	jr nz, Function406fe
+	ld a, d
+	cp e
+	jr nc, asm_4073d
+	ld a, [hl]
+	and $20
+	jr nz, asm_40716
+	ld a, [hl]
+	and $10
+	jr nz, asm_40728
+	jr asm_4073d
+
+Function406ea: ; 406ea (10:46ea)
+	ld hl, wc7d1
+	ld a, [hl]
+	and a
+	jr z, .asm_406f4
+	dec [hl]
+	jr asm_4073f
+.asm_406f4
+	ld hl, wc7d0
+	ld a, [hl]
+	and a
+	jr z, asm_4073d
+	dec [hl]
+	jr asm_4073f
+
+Function406fe: ; 406fe (10:46fe)
+	ld hl, wc7d1
+	ld a, [hl]
+	inc a
+	cp e
+	jr nc, asm_4073d
+	cp d
+	jr nc, .asm_4070c
+	inc [hl]
+	jr asm_4073f
+.asm_4070c
+	ld hl, wc7d0
+	add [hl]
+	cp e
+	jr nc, asm_4073d
+	inc [hl]
+	jr asm_4073f
+asm_40716: ; 40716 (10:4716)
+	ld hl, wc7d0
+	ld a, [hl]
+	and a
+	jr z, asm_4073d
+	cp d
+	jr nc, .asm_40724
+	xor a
+	ld [hl], a
+	jr asm_4073f
+.asm_40724
+	sub d
+	ld [hl], a
+	jr asm_4073f
+asm_40728: ; 40728 (10:4728)
+	ld hl, wc7d0
+	ld a, d
+	add a
+	add [hl]
+	jr c, .asm_40733
+	cp e
+	jr c, .asm_40738
+.asm_40733
+	ld a, e
+	sub d
+	ld [hl], a
+	jr asm_4073f
+.asm_40738
+	ld a, [hl]
+	add d
+	ld [hl], a
+	jr asm_4073f
+asm_4073d: ; 4073d (10:473d)
+	and a
+	ret
+asm_4073f: ; 4073f (10:473f)
+	scf
+	ret
+
+Function40741: ; 40741
+	push de
+	ld de, $0014
+.asm_40745
+	ld [hl], a
+	add hl, de
+	dec b
+	jr nz, .asm_40745
+	pop de
+	ret
+; 4074c
+
+
+Function4074c: ; 4074c (10:474c)
+	hlcoord 0, 17
+	ld de, Unknown_407f2
+	call Function40acd
+	ld a, $32
+	ld hl, TileMap
+	ld bc, $168
+	call ByteFill
+	ld hl, TileMap
+	lb bc, 7, 7
+	call Function40ad5
+	hlcoord 0, 9
+	ld bc, $607
+	call Function40ad5
+	hlcoord 1, 11
+	ld de, Unknown_407e1
+	call Function40acd
+	ld hl, PokedexSeen ; wdeb9 (aliases: EndPokedexSeen)
+	ld b, EndPokedexSeen - PokedexSeen
+	call CountSetBits
+	ld de, wd265
+	hlcoord 5, 12
+	ld bc, $103
+	call PrintNum
+	hlcoord 1, 14
+	ld de, Unknown_407e6
+	call Function40acd
+	ld hl, PokedexCaught
+	ld b, EndPokedexCaught - PokedexCaught
+	call CountSetBits
+	ld de, wd265
+	hlcoord 5, 15
+	ld bc, $103
+	call PrintNum
+	hlcoord 1, 17
+	ld de, Unknown_407ea
+	call Function40acd
+	hlcoord 8, 1
+	ld b, $7
+	ld a, $5a
+	call Function40741
+	hlcoord 8, 10
+	ld b, $6
+	ld a, $5a
+	call Function40741
+	hlcoord 8, 0
+	ld [hl], $59
+	hlcoord 8, 8
+	ld [hl], $53
+	hlcoord 8, 9
+	ld [hl], $54
+	hlcoord 8, 16
+	ld [hl], $5b
+	call Function40ab2
+	ret
+; 407e1 (10:47e1)
+
+Unknown_407e1: ; 407e1
+	db "SEEN", $ff
+Unknown_407e6: ; 407e6
+	db "OWN", $ff
+Unknown_407ea: ; 407ea
+	db $3b, $48, $49, $4a, $44, $45, $46, $47 ; SELECT > OPTION
+Unknown_407f2: ; 407f2
+	db $3c, $3b, $41, $42, $43, $4b, $4c, $4d, $4e, $3c, $ff ; START > SEARCH
+; 407fd
+
+Function407fd: ; 407fd
+	call Function40aa6
+	ld hl, TileMap
+	ld bc, $0f12
+	call Function40ad5
+	hlcoord 19, 0
+	ld [hl], $34
+	hlcoord 19, 1
+	ld a, $7f
+	ld b, $f
+	call Function40741
+	ld [hl], $39
+	hlcoord 1, 10
+	ld bc, $0013
+	ld a, $61
+	call ByteFill
+	hlcoord 1, 17
+	ld bc, $0012
+	ld a, $7f
+	call ByteFill
+	hlcoord 9, 7
+	ld de, Unknown_40852
+	call Function40acd
+	hlcoord 9, 9
+	ld de, Unknown_4085c
+	call Function40acd
+	hlcoord 0, 17
+	ld de, Unknown_40867
+	call Function40acd
+	call Function40ab2
+	ret
+; 4084f
+
+Unknown_4084f: ; 4084f
+	db $5c, $5d, $ff ; No.
+Unknown_40852: ; 40852
+	db "HT  ?", $5e, "??", $5f, $ff ; HT  ?'??"
+Unknown_4085c: ; 4085c
+	db "WT   ???lb", $ff ; WT   ???lb
+Unknown_40867: ; 40867
+	db $3b, " PAGE AREA CRY PRNT", $ff
+; 4087c
+
+Function4087c: ; 4087c (10:487c)
+	call Function40aa6
+	hlcoord 0, 2
+	lb bc, 8, 18
+	call Function40ad5
+	hlcoord 0, 12
+	lb bc, 4, 18
+	call Function40ad5
+	hlcoord 0, 1
+	ld de, Unknown_408b2
+	call Function40acd
+	hlcoord 3, 4
+	ld de, String_408bd
+	call PlaceString
+	ld a, [wc7dc]
+	and a
+	ret z
+	hlcoord 3, 10
+	ld de, String_408e5
+	call PlaceString
+	ret
+; 408b2 (10:48b2)
+
+Unknown_408b2: ; 408b2
+	db $3b, " OPTION ", $3c, $ff
+; 408bd
+
+String_408bd: ; 408bd
+	db "NEW #DEX MODE", $4e
+	db "OLD #DEX MODE", $4e
+	db "A to Z MODE@"
+; 408e5
+
+String_408e5: ; 408e5
+	db "UNOWN MODE@"
+; 408f0
+
+Function408f0: ; 408f0 (10:48f0)
+	call Function40aa6
+	hlcoord 0, 2
+	lb bc, 14, 18
+	call Function40ad5
+	hlcoord 0, 1
+	ld de, Unknown_4092a
+	call Function40acd
+	hlcoord 8, 4
+	ld de, Unknown_40935
+	call Function40acd
+	hlcoord 8, 6
+	ld de, Unknown_40935
+	call Function40acd
+	hlcoord 3, 4
+	ld de, String_40940
+	call PlaceString
+	hlcoord 3, 13
+	ld de, String_4094c
+	call PlaceString
+	ret
+; 4092a (10:492a)
+
+Unknown_4092a: ; 4092a
+	db $3b, " SEARCH ", $3c, $ff
+; 40925
+
+Unknown_40935: ; 40935
+	db $3d, "        ", $3e, $ff
+; 40940
+
+String_40940: ; 40940
+	db   "TYPE1"
+	next "TYPE2"
+	db   "@"
+; 4094c
+
+String_4094c: ; 4094c
+	db   "BEGIN SEARCH!!"
+	next "CANCEL"
+	db   "@"
+; 40962
+
+Function40962: ; 40962 (10:4962)
+	call Function40aa6
+	ld hl, TileMap
+	lb bc, 7, 7
+	call Function40ad5
+	hlcoord 0, 11
+	lb bc, 5, 18
+	call Function40ad5
+	hlcoord 1, 12
+	ld de, String_409ae
+	call PlaceString
+	ld de, wc7d7
+	hlcoord 1, 16
+	ld bc, $103
+	call PrintNum
+	hlcoord 8, 0
+	ld [hl], $59
+	hlcoord 8, 1
+	ld b, $7
+	ld a, $5a
+	call Function40741
+	hlcoord 8, 8
+	ld [hl], $53
+	hlcoord 8, 9
+	ld [hl], $69
+	hlcoord 8, 10
+	ld [hl], $6a
+	call Function40ab2
+	ret
+; 409ae (10:49ae)
+
+String_409ae: ; 409ae
+	db   "SEARCH RESULTS"
+	next "  TYPE"
+	next "    FOUND!"
+	db   "@"
+; 409cf
+
+Function409cf: ; 409cf (10:49cf)
+	ld a, [wc7d5]
+	hlcoord 0, 14
+	call Function40fcd
+	ld a, [wc7d5]
+	ld b, a
+	ld a, [wc7d6]
+	and a
+	jr z, .asm_409f0
+	cp b
+	jr z, .asm_409f0
+	hlcoord 2, 15
+	call Function40fcd
+	hlcoord 1, 15
+	ld [hl], $f3
+.asm_409f0
+	ret
+
+Function409f1: ; 409f1 (10:49f1)
+	call Function40aa6
+	hlcoord 2, 1
+	lb bc, 10, 13
+	call Function40ad5
+	hlcoord 2, 14
+	lb bc, 1, 13
+	call Function40ad5
+	hlcoord 2, 15
+	ld [hl], $3d
+	hlcoord 16, 15
+	ld [hl], $3e
+	hlcoord 6, 5
+	call Function40ab5
+	ld de, 0
+	ld b, 0
+	ld c, 26
+.asm_40a1d
+	ld hl, UnownDex
+	add hl, de
+	ld a, [hl]
+	and a
+	jr z, .asm_40a39
+	push af
+	ld hl, Unknown_40a3e
+	add hl, de
+	add hl, de
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	pop af
+	add $3f
+	ld [hl], a
+	inc de
+	inc b
+	dec c
+	jr nz, .asm_40a1d
+.asm_40a39
+	ld a, b
+	ld [wc7de], a
+	ret
+; 40a3e (10:4a3e)
+
+Unknown_40a3e: ; 40a3e
+	dwcoord   4,11,   3,11
+	dwcoord   4,10,   3,10
+	dwcoord   4, 9,   3, 9
+	dwcoord   4, 8,   3, 8
+	dwcoord   4, 7,   3, 7
+	dwcoord   4, 6,   3, 6
+	dwcoord   4, 5,   3, 5
+	dwcoord   4, 4,   3, 4
+	dwcoord   4, 3,   3, 2
+	dwcoord   5, 3,   5, 2
+	dwcoord   6, 3,   6, 2
+	dwcoord   7, 3,   7, 2
+	dwcoord   8, 3,   8, 2
+	dwcoord   9, 3,   9, 2
+	dwcoord  10, 3,  10, 2
+	dwcoord  11, 3,  11, 2
+	dwcoord  12, 3,  12, 2
+	dwcoord  13, 3,  13, 2
+	dwcoord  14, 3,  15, 2
+	dwcoord  14, 4,  15, 4
+	dwcoord  14, 5,  15, 5
+	dwcoord  14, 6,  15, 6
+	dwcoord  14, 7,  15, 7
+	dwcoord  14, 8,  15, 8
+	dwcoord  14, 9,  15, 9
+	dwcoord  14,10,  15,10
+; 40aa6
+
+Function40aa6: ; 40aa6
+	ld hl, TileMap
+	ld a, $32
+	ld bc, $0168
+	call ByteFill
+	ret
+; 40ab2
+
+Function40ab2: ; 40ab2
+	hlcoord 1, 1
+Function40ab5: ; 40ab5
+	xor a
+	ld b, $7
+.asm_40ab8
+	ld c, $7
+	push af
+	push hl
+.asm_40abc
+	ld [hli], a
+	add $7
+	dec c
+	jr nz, .asm_40abc
+	pop hl
+	ld de, $0014
+	add hl, de
+	pop af
+	inc a
+	dec b
+	jr nz, .asm_40ab8
+	ret
+; 40acd
+
+Function40acd: ; 40acd
+.asm_40acd
+	ld a, [de]
+	cp $ff
+	ret z
+	inc de
+	ld [hli], a
+	jr .asm_40acd
+; 40ad5
+
+
+Function40ad5: ; 40ad5
+	push hl
+	ld a, $33
+	ld [hli], a
+	ld d, $34
+	call Function40b06
+	ld a, $35
+	ld [hl], a
+	pop hl
+	ld de, $0014
+	add hl, de
+.asm_40ae6
+	push hl
+	ld a, $36
+	ld [hli], a
+	ld d, $7f
+	call Function40b06
+	ld a, $37
+	ld [hl], a
+	pop hl
+	ld de, $0014
+	add hl, de
+	dec b
+	jr nz, .asm_40ae6
+	ld a, $38
+	ld [hli], a
+	ld d, $39
+	call Function40b06
+	ld a, $3a
+	ld [hl], a
+	ret
+; 40b06
+
+Function40b06: ; 40b06
+	ld e, c
+.asm_40b07
+	ld a, e
+	and a
+	ret z
+	ld a, d
+	ld [hli], a
+	dec e
+	jr .asm_40b07
+; 40b0f
+
+
+Function40b0f: ; 40b0f (10:4b0f)
+	ld a, [wc7d4]
+	cp $1
+	jr z, .asm_40b1a
+	ld c, $b
+	jr .asm_40b1c
+.asm_40b1a
+	ld c, $b
+.asm_40b1c
+	hlcoord 0, 1
+	ld a, [wc7d3]
+	add a
+	inc a
+	ld b, a
+	ld a, $7f
+	call Function413fe
+	ld a, [wc7d0]
+	ld e, a
+	ld d, $0
+	ld hl, wc6d0
+	add hl, de
+	ld e, l
+	ld d, h
+	hlcoord 0, 2
+	ld a, [wc7d3]
+.asm_40b3c
+	push af
+	ld a, [de]
+	ld [wd265], a
+	push de
+	push hl
+	call Function40b55
+	pop hl
+	ld de, $28
+	add hl, de
+	pop de
+	inc de
+	pop af
+	dec a
+	jr nz, .asm_40b3c
+	call Function4143b
+	ret
+
+Function40b55: ; 40b55 (10:4b55)
+	and a
+	ret z
+	call Function40b6a
+	call Function40b8d
+	ret c
+	call Function40b82
+	push hl
+	call GetPokemonName
+	pop hl
+	call PlaceString
+	ret
+
+Function40b6a: ; 40b6a (10:4b6a)
+	ld a, [wc7d4]
+	cp $1
+	jr z, .asm_40b72
+	ret
+.asm_40b72
+	push hl
+	ld de, -20
+	add hl, de
+	ld de, wd265
+	ld bc, $8103
+	call PrintNum
+	pop hl
+	ret
+
+Function40b82: ; 40b82 (10:4b82)
+	call Function40bc4
+	jr nz, .asm_40b89
+	inc hl
+	ret
+.asm_40b89
+	ld a, $4f
+	ld [hli], a
+	ret
+
+Function40b8d: ; 40b8d (10:4b8d)
+	call Function40bd0
+	ret nz
+	inc hl
+	ld de, String_40b9a
+	call PlaceString
+	scf
+	ret
+; 40b9a (10:4b9a)
+
+String_40b9a: ; 40b9a
+	db "-----@"
+; 40ba0
+
+Function40ba0: ; 40ba0
+	hlcoord 18, 1
+	ld a, $62
+	ld [hli], a
+	inc a
+	ld [hl], a
+	hlcoord 18, 2
+	ld a, $64
+	ld [hli], a
+	inc a
+	ld [hl], a
+	ret
+; 40bb1
+
+
+Function40bb1: ; 40bb1
+	ld a, [wc7d1]
+	ld hl, wc7d0
+	add [hl]
+	ld e, a
+	ld d, $0
+	ld hl, wc6d0
+	add hl, de
+	ld a, [hl]
+	ld [wd265], a
+	ret
+; 40bc4
+
+
+Function40bc4: ; 40bc4 (10:4bc4)
+	push de
+	push hl
+	ld a, [wd265]
+	dec a
+	call CheckCaughtMon
+	pop hl
+	pop de
+	ret
+
+
+Function40bd0: ; 40bd0
+	push de
+	push hl
+	ld a, [wd265]
+	dec a
+	call CheckSeenMon
+	pop hl
+	pop de
+	ret
+; 40bdc
+
+
+
+Function40bdc: ; 40bdc
+	ld hl, wc6d0
+	ld bc, $100
+	xor a
+	call ByteFill
+	ld a, [wc7d4]
+	ld hl, Jumptable_40bf0
+	call Function41432
+	jp [hl]
+; 40bf0
+
+
+Jumptable_40bf0: ; 40bf0 (10:4bf0)
+	dw Function40bf6
+	dw Function40c08
+	dw Function40c30
+
+
+Function40bf6: ; 40bf6 (10:4bf6)
+	ld de, NewPokedexOrder
+	ld hl, wc6d0
+	ld c, NUM_POKEMON
+.asm_40bfe
+	ld a, [de]
+	inc de
+	ld [hli], a
+	dec c
+	jr nz, .asm_40bfe
+	call Function40c18
+	ret
+
+Function40c08: ; 40c08 (10:4c08)
+	ld hl, wc6d0
+	ld a, $1
+	ld c, NUM_POKEMON
+.asm_40c0f
+	ld [hli], a
+	inc a
+	dec c
+	jr nz, .asm_40c0f
+	call Function40c18
+	ret
+
+Function40c18: ; 40c18 (10:4c18)
+	ld hl, wc7ca
+	ld d, NUM_POKEMON
+	ld e, d
+.asm_40c1e
+	ld a, [hld]
+	ld [wd265], a
+	call Function40bd0
+	jr nz, .asm_40c2b
+	dec d
+	dec e
+	jr nz, .asm_40c1e
+.asm_40c2b
+	ld a, d
+	ld [wc7d2], a
+	ret
+
+Function40c30: ; 40c30
+	xor a
+	ld [wc7d2], a
+	ld hl, wc6d0
+	ld de, AlphabeticalPokedexOrder
+	ld c, NUM_POKEMON
+.asm_40c3c
+	push bc
+	ld a, [de]
+	ld [wd265], a
+	call Function40bd0
+	jr z, .asm_40c51
+	ld a, [wd265]
+	ld [hli], a
+	ld a, [wc7d2]
+	inc a
+	ld [wc7d2], a
+
+.asm_40c51
+	inc de
+	pop bc
+	dec c
+	jr nz, .asm_40c3c
+	ld a, [wc7d2]
+	ld c, 0
+.asm_40c5b
+	cp NUM_POKEMON
+	jr z, .asm_40c64
+	ld [hl], c
+	inc hl
+	inc a
+	jr .asm_40c5b
+
+.asm_40c64
+	ret
+; 40c65
+
+AlphabeticalPokedexOrder: ; 0x40c65
+INCLUDE "data/pokedex/order_alpha.asm"
+
+NewPokedexOrder: ; 0x40d60
+INCLUDE "data/pokedex/order_new.asm"
+
+Function40e5b: ; 40e5b
+	xor a
+	ld [hBGMapMode], a
+	hlcoord 0, 12
+	ld bc, $0412
+	call Function40ad5
+	ld a, [wc7d8]
+	ld hl, Unknown_40e7d
+	call Function41432
+	ld e, l
+	ld d, h
+	hlcoord 1, 14
+	call PlaceString
+	ld a, $1
+	ld [hBGMapMode], a
+	ret
+; 40e7d
+
+Unknown_40e7d: ; 40e7d
+	dw String_40e85
+	dw String_40ea6
+	dw String_40ec6
+	dw String_40ee4
+; 40e85
+
+String_40e85: ; 40e85
+	db $e1, $e2, " are listed by", $4e
+	db "evolution type.@"
+; 40ea6
+
+String_40ea6: ; 40ea6
+	db $e1, $e2, " are listed by", $4e
+	db "official type.@"
+; 40ec6
+
+String_40ec6: ; 40ec6
+	db $e1, $e2, " are listed", $4e
+	db "alphabetically.@"
+; 40ee4
+
+String_40ee4: ; 40ee4
+	db "UNOWN are listed", $4e
+	db "in catching order.@"
+; 40f08
+
+Function40f08: ; 40f08 (10:4f08)
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	hlcoord 0, 12
+	ld bc, $412
+	call Function40ad5
+	ld de, $4f32
+	hlcoord 1, 14
+	call PlaceString
+	ld a, $1
+	ld [hBGMapMode], a ; $ff00+$d4
+	ld c, $40
+	call DelayFrames
+	ld de, SFX_CHANGE_DEX_MODE
+	call PlaySFX
+	ld c, $40
+	call DelayFrames
+	ret
+; 40f32 (10:4f32)
+
+String_40f32: ; 40f32
+	db "Changing modes.", $4e, "Please wait.@"
+; 40f4f
+
+Function40f4f: ; 40f4f (10:4f4f)
+	ld a, [wc7d8]
+	cp $2
+	jr nc, .asm_40f63
+	ld hl, $ffa9
+	ld a, [hl]
+	and $20
+	jr nz, .asm_40f65
+	ld a, [hl]
+	and $10
+	jr nz, Function40f84
+.asm_40f63
+	and a
+	ret
+.asm_40f65
+	ld a, [wc7d8]
+	and a
+	jr nz, .asm_40f76
+	ld hl, wc7d5
+	ld a, [hl]
+	cp $1
+	jr z, .asm_40f80
+	dec [hl]
+	jr .asm_40f82
+.asm_40f76
+	ld hl, wc7d6
+	ld a, [hl]
+	and a
+	jr z, .asm_40f80
+	dec [hl]
+	jr .asm_40f82
+.asm_40f80
+	ld [hl], $11
+.asm_40f82
+	scf
+	ret
+; 40f84
+
+Function40f84: ; 40f84
+	ld a, [wc7d8]
+	and a
+	jr nz, .asm_40f99
+	ld hl, wc7d5
+	ld a, [hl]
+	cp $11
+	jr nc, .asm_40f95
+	inc [hl]
+	jr .asm_40fa6
+.asm_40f95
+	ld [hl], $1
+	jr .asm_40fa6
+.asm_40f99
+	ld hl, wc7d6
+	ld a, [hl]
+	cp $11
+	jr nc, .asm_40fa4
+	inc [hl]
+	jr .asm_40fa6
+.asm_40fa4
+	ld [hl], $0
+.asm_40fa6
+	scf
+	ret
+
+Function40fa8: ; 40fa8 (10:4fa8)
+	xor a
+	ld [hBGMapMode], a ; $ff00+$d4
+	hlcoord 9, 3
+	ld bc, $408
+	ld a, $7f
+	call Function413fe
+	ld a, [wc7d5]
+	hlcoord 9, 4
+	call Function40fcd
+	ld a, [wc7d6]
+	hlcoord 9, 6
+	call Function40fcd
+	ld a, $1
+	ld [hBGMapMode], a ; $ff00+$d4
+	ret
+
+Function40fcd: ; 40fcd (10:4fcd)
+	push hl
+	ld e, a
+	ld d, 0
+	ld hl, Strings_40fe4
+	add hl, de
+	add hl, de
+	add hl, de
+	add hl, de
+	add hl, de
+	add hl, de
+	add hl, de
+	add hl, de
+	add hl, de
+	ld e, l
+	ld d, h
+	pop hl
+	call PlaceString
+	ret
+; 40fe4 (10:4fe4)
+
+Strings_40fe4: ; 40fe4
+	db "  ----  @"
+	db " NORMAL @"
+	db "  FIRE  @"
+	db " WATER  @"
+	db " GRASS  @"
+	db "ELECTRIC@"
+	db "  ICE   @"
+	db "FIGHTING@"
+	db " POISON @"
+	db " GROUND @"
+	db " FLYING @"
+	db "PSYCHIC @"
+	db "  BUG   @"
+	db "  ROCK  @"
+	db " GHOST  @"
+	db " DRAGON @"
+	db "  DARK  @"
+	db " STEEL  @"
+; 41086
+
+Function41086: ; 41086
+	ld a, [wc7d6]
+	and a
+	call nz, Function41095
+	ld a, [wc7d5]
+	and a
+	call nz, Function41095
+	ret
+; 41095
+
+Function41095: ; 41095
+	dec a
+	ld e, a
+	ld d, 0
+	ld hl, Unknown_410f6
+	add hl, de
+	ld a, [hl]
+	ld [wc7df], a
+	ld hl, wc6d0
+	ld de, wc6d0
+	ld c, NUM_POKEMON
+	xor a
+	ld [wc7d7], a
+.asm_410ad
+	push bc
+	ld a, [hl]
+	and a
+	jr z, .asm_410e0
+	ld [wd265], a
+	ld [CurSpecies], a
+	call Function40bc4
+	jr z, .asm_410e0
+	push hl
+	push de
+	call GetBaseData
+	pop de
+	pop hl
+	ld a, [wc7df]
+	ld b, a
+	ld a, [BaseType1]
+	cp b
+	jr z, .asm_410d4
+	ld a, [BaseType2]
+	cp b
+	jr nz, .asm_410e0
+
+.asm_410d4
+	ld a, [wd265]
+	ld [de], a
+	inc de
+	ld a, [wc7d7]
+	inc a
+	ld [wc7d7], a
+
+.asm_410e0
+	inc hl
+	pop bc
+	dec c
+	jr nz, .asm_410ad
+	ld l, e
+	ld h, d
+	ld a, [wc7d7]
+	ld c, 0
+.asm_410ec
+	cp NUM_POKEMON
+	jr z, .asm_410f5
+	ld [hl], c
+	inc hl
+	inc a
+	jr .asm_410ec
+
+.asm_410f5
+	ret
+; 410f6
+
+Unknown_410f6: ; 410f6
+	db NORMAL
+	db FIRE
+	db WATER
+	db GRASS
+	db ELECTRIC
+	db ICE
+	db FIGHTING
+	db POISON
+	db GROUND
+	db FLYING
+	db PSYCHIC
+	db BUG
+	db ROCK
+	db GHOST
+	db DRAGON
+	db DARK
+	db STEEL
+; 41107
+
+Function41107: ; 41107
+	xor a
+	ld [hBGMapMode], a
+	hlcoord 0, 12
+	ld bc, $0412
+	call Function40ad5
+	ld de, String_41126
+	hlcoord 1, 14
+	call PlaceString
+	ld a, $1
+	ld [hBGMapMode], a
+	ld c, $80
+	call DelayFrames
+	ret
+; 41126
+
+String_41126: ; 41126
+	db "The specified type", $4e
+	db "was not found.@"
+; 41148
+
+Function41148: ; 41148 (10:5148)
+	ld a, [wc7d4]
+	cp $1
+	jp z, Function41157
+	call Function41229
+	call Function4130e
+	ret
+
+Function41157: ; 41157 (10:5157)
+	ld hl, Unknown_41167
+	ld a, [wc7d1]
+	or a
+	jr nz, .asm_41163
+	ld hl, Unknown_411c8
+.asm_41163
+	call Function412f1
+	ret
+; 41167 (10:5167)
+
+Unknown_41167: ; 41167
+; OAM
+	db $18, $47, $30, $07
+	db $10, $47, $31, $07
+	db $10, $4f, $32, $07
+	db $10, $57, $32, $07
+	db $10, $5f, $32, $07
+	db $10, $67, $33, $07
+	db $10, $7e, $33, $27
+	db $10, $86, $32, $27
+	db $10, $8e, $32, $27
+	db $10, $96, $32, $27
+	db $10, $9e, $31, $27
+	db $18, $9e, $30, $27
+	db $20, $47, $30, $47
+	db $28, $47, $31, $47
+	db $28, $4f, $32, $47
+	db $28, $57, $32, $47
+	db $28, $5f, $32, $47
+	db $28, $67, $33, $47
+	db $28, $7e, $33, $67
+	db $28, $86, $32, $67
+	db $28, $8e, $32, $67
+	db $28, $96, $32, $67
+	db $28, $9e, $31, $67
+	db $20, $9e, $30, $67
+	db $ff
+; 411c8
+
+Unknown_411c8: ; 411c8
+; OAM
+	db $18, $47, $30, $07
+	db $10, $47, $34, $07
+	db $10, $4f, $35, $07
+	db $10, $57, $35, $07
+	db $10, $5f, $35, $07
+	db $10, $67, $36, $07
+	db $10, $7e, $36, $27
+	db $10, $86, $35, $27
+	db $10, $8e, $35, $27
+	db $10, $96, $35, $27
+	db $10, $9e, $34, $27
+	db $18, $9e, $30, $27
+	db $20, $47, $30, $47
+	db $28, $47, $31, $47
+	db $28, $4f, $32, $47
+	db $28, $57, $32, $47
+	db $28, $5f, $32, $47
+	db $28, $67, $33, $47
+	db $28, $7e, $33, $67
+	db $28, $86, $32, $67
+	db $28, $8e, $32, $67
+	db $28, $96, $32, $67
+	db $28, $9e, $31, $67
+	db $20, $9e, $30, $67
+	db $ff
+; 41229
+
+Function41229: ; 41229 (10:5229)
+	ld hl, Unknown_41230
+	call Function412f1
+	ret
+; 41230 (10:5230)
+
+Unknown_41230: ; 41230
+; OAM
+	db $1b, $47, $30, $07
+	db $13, $47, $31, $07
+	db $13, $4f, $32, $07
+	db $13, $57, $32, $07
+	db $13, $5f, $33, $07
+	db $13, $80, $33, $27
+	db $13, $88, $32, $27
+	db $13, $90, $32, $27
+	db $13, $98, $31, $27
+	db $1b, $98, $30, $27
+	db $23, $47, $30, $47
+	db $2b, $47, $31, $47
+	db $2b, $4f, $32, $47
+	db $2b, $57, $32, $47
+	db $2b, $5f, $33, $47
+	db $2b, $80, $33, $67
+	db $2b, $88, $32, $67
+	db $2b, $90, $32, $67
+	db $2b, $98, $31, $67
+	db $23, $98, $30, $67
+	db $ff
+; 41281
+
+Function41281: ; 41281 (10:5281)
+	ld a, [wc7d4]
+	cp $1
+	jp z, Function41157
+	ld hl, Unknown_41290
+	call Function412f1
+	ret
+; 41290 (10:5290)
+
+Unknown_41290: ; 41290
+; OAM
+	db $1b, $47, $30, $07
+	db $13, $47, $31, $07
+	db $13, $4f, $32, $07
+	db $13, $57, $32, $07
+	db $13, $5f, $32, $07
+	db $13, $67, $33, $07
+	db $13, $7e, $33, $27
+	db $13, $86, $32, $27
+	db $13, $8e, $32, $27
+	db $13, $96, $32, $27
+	db $13, $9e, $31, $27
+	db $1b, $9e, $30, $27
+	db $23, $47, $30, $47
+	db $2b, $47, $31, $47
+	db $2b, $4f, $32, $47
+	db $2b, $57, $32, $47
+	db $2b, $5f, $32, $47
+	db $2b, $67, $33, $47
+	db $2b, $7e, $33, $67
+	db $2b, $86, $32, $67
+	db $2b, $8e, $32, $67
+	db $2b, $96, $32, $67
+	db $2b, $9e, $31, $67
+	db $23, $9e, $30, $67
+	db $ff
+; 412f1
+
+Function412f1: ; 412f1 (10:52f1)
+	ld de, Sprites
+.asm_412f4
+	ld a, [hl]
+	cp $ff
+	ret z
+	ld a, [wc7d1]
+	and $7
+	swap a
+	add [hl]
+	inc hl
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	jr .asm_412f4
+
+Function4130e: ; 4130e (10:530e)
+	push de
+	ld a, [wc7d2]
+	dec a
+	ld e, a
+	ld a, [wc7d1]
+	ld hl, wc7d0
+	add [hl]
+	cp e
+	jr z, .asm_4133f
+	ld hl, $0
+	ld bc, $79
+	call AddNTimes
+	ld e, l
+	ld d, h
+	ld b, $0
+	ld a, d
+	or e
+	jr z, .asm_41341
+	ld a, [wc7d2]
+	ld c, a
+.asm_41333
+	ld a, e
+	sub c
+	ld e, a
+	ld a, d
+	sbc $0
+	ld d, a
+	jr c, .asm_41341
+	inc b
+	jr .asm_41333
+.asm_4133f
+	ld b, $79
+.asm_41341
+	ld a, $14
+	add b
+	pop hl
+	ld [hli], a
+	ld a, $a1
+	ld [hli], a
+	ld a, $f
+	ld [hli], a
+	ld [hl], $0
+	ret
+
+Function4134f: ; 4134f (10:534f)
+	xor a
+	ld [wc7d8], a
+	ld [wc7d9], a
+	ld [wc7da], a
+	ret
+
+Function4135a: ; 4135a (10:535a)
+	ld a, [de]
+	ld b, a
+	inc de
+	ld a, [de]
+	dec a
+	ld c, a
+	inc de
+	call Function413e0
+	ld hl, hJoyPressed ; $ffa7
+	ld a, [hl]
+	and D_LEFT | D_UP
+	and b
+	jr nz, .asm_4138f
+	ld a, [hl]
+	and D_RIGHT | D_DOWN
+	and b
+	jr nz, .asm_413a0
+	ld a, [hl]
+	and SELECT
+	and b
+	jr nz, .asm_413c1
+	call Function413f5
+	jr c, .asm_413bf
+	ld hl, $ffa9
+	ld a, [hl]
+	and D_LEFT | D_UP
+	and b
+	jr nz, .asm_4138f
+	ld a, [hl]
+	and D_RIGHT | D_DOWN
+	and b
+	jr nz, .asm_413a0
+	jr .asm_413bf
+.asm_4138f
+	ld a, [wc7d8]
+	and a
+	jr z, .asm_413bf
+	call Function413d4
+	ld [hl], $7f
+	ld hl, wc7d8
+	dec [hl]
+	jr .asm_413af
+.asm_413a0
+	ld a, [wc7d8]
+	cp c
+	jr nc, .asm_413bf
+	call Function413d4
+	ld [hl], $7f
+	ld hl, wc7d8
+	inc [hl]
+.asm_413af
+	call Function413d4
+	ld [hl], $ed
+	ld a, $c
+	ld [wc7d9], a
+	xor a
+	ld [wc7da], a
+	scf
+	ret
+.asm_413bf
+	and a
+	ret
+.asm_413c1
+	call Function413d4
+	ld [hl], $7f
+	ld a, [wc7d8]
+	cp c
+	jr c, .asm_413ce
+	ld a, $ff
+.asm_413ce
+	inc a
+	ld [wc7d8], a
+	jr .asm_413af
+
+Function413d4: ; 413d4 (10:53d4)
+	ld a, [wc7d8]
+	add a
+	ld l, a
+	ld h, $0
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ret
+
+Function413e0: ; 413e0 (10:53e0)
+	ld hl, wc7da
+	ld a, [hl]
+	inc [hl]
+	and $8
+	jr z, .asm_413ef
+	call Function413d4
+	ld [hl], $7f
+	ret
+.asm_413ef
+	call Function413d4
+	ld [hl], $ed
+	ret
+
+Function413f5: ; 413f5 (10:53f5)
+	ld hl, wc7d9
+	ld a, [hl]
+	and a
+	ret z
+	dec [hl]
+	scf
+	ret
+
+Function413fe: ; 413fe (10:53fe)
+	jp Functionfb8
+
+Function41401: ; 41401 (10:5401)
+	ld a, [rSVBK] ; $ff00+$70
+	push af
+	ld a, $5
+	ld [rSVBK], a ; $ff00+$70
+	ld hl, Unkn1Pals
+	ld bc, $40
+	xor a
+	call ByteFill
+	pop af
+	ld [rSVBK], a ; $ff00+$70
+
+Function41415: ; 41415
+	ld a, $ff
+	call DmgToCgbBGPals
+	ld a, $ff
+	call Functioncf8
+	call DelayFrame
+	ret
+
+Function41423: ; 41423
+	ld b, a
+	call GetSGBLayout
+
+Function41427: ; 41427
+	ld a, $e4
+	call DmgToCgbBGPals
+	ld a, $e0
+	call Functioncf8
+	ret
+; 41432
+
+
+Function41432: ; 41432
+	ld e, a
+	ld d, 0
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ret
+; 4143b
+
+Function4143b: ; 4143b
+	call Function40bb1
+	call Function40bd0
+	jr z, .asm_4145b
+	ld a, [wdef4]
+	ld [UnownLetter], a
+	ld a, [wd265]
+	ld [CurPartySpecies], a
+	call GetBaseData
+	ld de, VTiles2
+	predef GetFrontpic
+	ret
+
+.asm_4145b
+	ld a, $0
+	call GetSRAMBank
+	callba Function1de0d7
+	ld hl, VTiles2
+	ld de, $a000
+	ld c, $31
+	ld a, [hROMBank]
+	ld b, a
+	call Get2bpp
+	call CloseSRAM
+	ret
+; 41478
+
+
+Function41478: ; 41478 (10:5478)
+	call Function40bb1
+
+Function4147b: ; 4147b
+	ld a, [wd265]
+	dec a
+	and $f8
+	srl a
+	srl a
+	srl a
+	ld e, 0
+	ld d, a
+	ld a, [wd265]
+	dec a
+	and 7
+	swap a ; * $10
+	ld l, a
+	ld h, 0
+	add hl, de
+	ld de, Footprints
+	add hl, de
+
+	push hl
+	ld e, l
+	ld d, h
+	ld hl, $9620
+	lb bc, BANK(Footprints), 2
+	call Request1bpp
+	pop hl
+
+	; Whoever was editing footprints forgot to fix their
+	; tile editor. Now each bottom half is 8 tiles off.
+	ld de, $80
+	add hl, de
+
+	ld e, l
+	ld d, h
+	ld hl, $9640
+	lb bc, BANK(Footprints), 2
+	call Request1bpp
+
+	ret
+; 414b7
+
+
+Function414b7: ; 414b7
+	call DisableLCD
+	ld hl, VTiles2
+	ld bc, $0310
+	xor a
+	call ByteFill
+	call Function414fb
+	call Functione5f
+	ld hl, $9600
+	ld bc, $0200
+	call Function41504
+	call Function41a24
+	jr nz, .asm_414e0
+	callba Function1ddf1c
+	jr .asm_414e9
+
+.asm_414e0
+	ld hl, PokedexLZ
+	ld de, $9310
+	call Decompress
+
+.asm_414e9
+	ld hl, PokedexSlowpokeLZ
+	ld de, VTiles0
+	call Decompress
+	ld a, 6
+	call SkipMusic
+	call EnableLCD
+	ret
+
+Function414fb: ; 414fb
+	call Functione51
+	ld hl, VTiles1
+	ld bc, $0800
+
+Function41504: ; 41504
+	ld a, [hl]
+	xor $ff
+	ld [hli], a
+	dec bc
+	ld a, b
+	or c
+	jr nz, Function41504
+	ret
+; 4150e
+
+PokedexLZ: ; 4150e
+INCBIN "gfx/unknown/04150e.2bpp.lz"
+; 416b0
+
+PokedexSlowpokeLZ: ; 416b0
+INCBIN "gfx/pokedex/slowpoke.2bpp.lz"
+
+Function41a24: ; 41a24
+	ld a, [hCGB]
+	or a
+	ret nz
+	ld a, [hSGB]
+	dec a
+	ret
+; 41a2c
+
+Function41a2c: ; 41a2c
+	ld a, $0
+	call GetSRAMBank
+	ld hl, UnownFont
+	ld de, $a188
+	ld bc, $270
+	ld a, BANK(UnownFont)
+	call FarCopyBytes
+	ld hl, $a188
+	ld bc, $1b0
+	call Function41504
+	ld de, $a188
+	ld hl, $9400
+	lb bc, BANK(Function41a2c), $1b
+	call Request2bpp
+	call CloseSRAM
+	ret
+; 41a58
+
+
+Function41a58: ; 41a58 (10:5a58)
+	ld a, [UnownLetter]
+	push af
+	ld a, [wc7dd]
+	ld e, a
+	ld d, $0
+	ld hl, EndPokedexSeen ; wded9 (aliases: UnownDex)
+	add hl, de
+	ld a, [hl]
+	ld [UnownLetter], a
+	ld a, UNOWN
+	ld [CurPartySpecies], a
+	call GetBaseData
+	ld de, $9000
+	predef GetFrontpic
+	pop af
+	ld [UnownLetter], a
+	ret
+
--- /dev/null
+++ b/engine/spawn_points.asm
@@ -1,0 +1,106 @@
+
+SpawnPoints: ; 0x152ab
+
+	const_def
+
+spawn: MACRO
+; name, map, y, x
+\1\@ EQUS "SPAWN_\1"
+	const \1\@
+	map \2
+	db \3, \4
+ENDM
+
+	spawn HOME,        KRISS_HOUSE_2F,              3,  3
+	spawn DEBUG,       VIRIDIAN_POKECENTER_1F,      5,  3
+
+	spawn PALLET,      PALLET_TOWN,                 5,  6
+	spawn VIRIDIAN,    VIRIDIAN_CITY,              23, 26
+	spawn PEWTER,      PEWTER_CITY,                13, 26
+	spawn CERULEAN,    CERULEAN_CITY,              19, 22
+	spawn ROCK_TUNNEL, ROUTE_10A,                  11,  2
+	spawn VERMILION,   VERMILION_CITY,              9,  6
+	spawn LAVENDER,    LAVENDER_TOWN,               5,  6
+	spawn SAFFRON,     SAFFRON_CITY,                9, 30
+	spawn CELADON,     CELADON_CITY,               29, 10
+	spawn FUCHSIA,     FUCHSIA_CITY,               19, 28
+	spawn CINNABAR,    CINNABAR_ISLAND,            11, 12
+	spawn INDIGO,      ROUTE_23,                    9,  6
+
+	spawn NEW_BARK,    NEW_BARK_TOWN,              13,  6
+	spawn CHERRYGROVE, CHERRYGROVE_CITY,           29,  4
+	spawn VIOLET,      VIOLET_CITY,                31, 26
+	spawn UNION_CAVE,  ROUTE_32,                   11, 74
+	spawn AZALEA,      AZALEA_TOWN,                15, 10
+	spawn CIANWOOD,    CIANWOOD_CITY,              23, 44
+	spawn GOLDENROD,   GOLDENROD_CITY,             15, 28
+	spawn OLIVINE,     OLIVINE_CITY,               13, 22
+	spawn ECRUTEAK,    ECRUTEAK_CITY,              23, 28
+	spawn MAHOGANY,    MAHOGANY_TOWN,              15, 14
+	spawn LAKE,        LAKE_OF_RAGE,               21, 29
+	spawn BLACKTHORN,  BLACKTHORN_CITY,            21, 30
+	spawn MT_SILVER,   SILVER_CAVE_OUTSIDE,        23, 20
+	spawn FAST_SHIP,   FAST_SHIP_CABINS_SW_SSW_NW,  6,  2
+
+	db -1, -1, -1, -1
+
+	const NUM_SPAWNS
+
+
+LoadSpawnPoint: ; 1531f
+	push hl
+	push de
+	ld a, [wd001]
+	cp -1
+	jr z, .asm_15341
+	ld l, a
+	ld h, 0
+	add hl, hl
+	add hl, hl
+	ld de, SpawnPoints
+	add hl, de
+	ld a, [hli]
+	ld [MapGroup], a
+	ld a, [hli]
+	ld [MapNumber], a
+	ld a, [hli]
+	ld [XCoord], a
+	ld a, [hli]
+	ld [YCoord], a
+.asm_15341
+	pop de
+	pop hl
+	ret
+; 15344
+
+
+IsSpawnPoint: ; 15344
+	ld hl, SpawnPoints
+	ld c, 0
+.asm_15349
+	ld a, [hl]
+	cp -1
+	jr z, .asm_1535f
+	cp d
+	jr nz, .asm_15356
+	inc hl
+	ld a, [hld]
+	cp e
+	jr z, .asm_15361
+
+.asm_15356
+	push bc
+	ld bc, 4
+	add hl, bc
+	pop bc
+	inc c
+	jr .asm_15349
+
+.asm_1535f
+	and a
+	ret
+
+.asm_15361
+	scf
+	ret
+; 15363
--- /dev/null
+++ b/engine/specials.asm
@@ -1,0 +1,642 @@
+
+Special:: ; c01b
+; Run script special de.
+	ld hl, SpecialsPointers
+	add hl, de
+	add hl, de
+	add hl, de
+	ld b, [hl]
+	inc hl
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld a, b
+	rst FarCall
+	ret
+; c029
+
+SpecialsPointers:: ; c029
+	add_special Function97c28
+	add_special Function29ce8
+	add_special Function29d11
+	add_special Function29d92
+	add_special Function29e66
+	add_special Function29e82
+	add_special Function29efa
+	add_special Function29eee
+	add_special Function29c92
+	add_special Function29cf1
+	add_special Function29cfa
+	add_special Function29bfb
+	add_special Function29c7b
+	add_special Function29ec4
+	add_special Function29ed9
+	add_special Function29eaf
+	add_special Function29f47
+	add_special Functionc2f6
+	add_special Functionc309
+	add_special Function1050b9
+	add_special Functionc34a
+	add_special Function4d9e5
+	add_special Function13a12
+	add_special Function13a31
+	add_special Function135db
+	add_special Functionfbb32
+	add_special Functionfbcd2
+	add_special Functionc658
+	add_special Function1559a
+	add_special Functionc2e7
+	add_special Function166d6
+	add_special Function1672a
+	add_special Function16936
+	add_special Function2c547
+	add_special Function16218
+	add_special Function8cc04
+	add_special SpecialNameRival
+	add_special Function90913
+	add_special Functionc2c0
+	add_special Functionc2cd
+	add_special Functionc355
+	add_special Functionc360
+	add_special Functionc373
+	add_special Functionc380
+	add_special Functionc38d
+	add_special Functionc3db
+	add_special Function8c084
+	add_special Function8c092
+	add_special Function8c0b6
+	add_special Function8c079
+	add_special Function8c0ab
+	add_special Functiond91
+	add_special WhiteBGMap
+	add_special UpdateTimePals
+	add_special ClearTileMap
+	add_special Function1ad2
+	add_special Functione4a
+	add_special Functionc230
+	add_special SpecialSeenMon
+	add_special WaitSFX
+	add_special PlayMapMusic
+	add_special RestartMapMusic
+	add_special Function12324
+	add_special Function8379
+	add_special Functionc25a
+	add_special Functionc268
+	add_special Functionc276
+	add_special Functionc284
+	add_special Functionc3ef
+	add_special Function17421
+	add_special Function17440
+	add_special Function139a8
+	add_special Functionc3fc
+	add_special Function26feb
+	add_special Function27043
+	add_special SpecialGiveShuckle
+	add_special SpecialReturnShuckle
+	add_special Function73f7
+	add_special SpecialCheckPokerus
+	add_special Function24b25
+	add_special Function24b4e
+	add_special Function24ae8
+	add_special Function4d87a
+	add_special Functionc434
+	add_special Functionc422
+	add_special Function4d9d3
+	add_special Function88018
+	add_special SpecialNameRater
+	add_special Functionc2da
+	add_special Function718d
+	add_special Function71ac
+	add_special Function2a4ab
+	add_special Function2a51f
+	add_special RandomPhoneMon
+	add_special Function14209
+	add_special Functionfb841
+	add_special SpecialSnorlaxAwake
+	add_special Function7413
+	add_special Function7418
+	add_special Function741d
+	add_special Functionc472
+	add_special ProfOaksPCBoot
+	add_special SpecialGameboyCheck
+	add_special SpecialTrainerHouse
+	add_special Function16dc7
+	add_special InitRoamMons
+	add_special Functionc48f
+	add_special Functionc49f
+	add_special Functionc4ac
+	add_special Function11ac3e
+	add_special Function11b444
+	add_special Function11b5e8
+	add_special Function11b7e5
+	add_special Function11b879
+	add_special Function11b920
+	add_special Function11b93b
+	add_special Function1700b0
+	add_special Function1700ba
+	add_special Function170114
+	add_special Function170215
+	add_special Function1704e1
+	add_special Function17021d
+	add_special Function170b44
+	add_special Function11ba38
+	add_special Function170bd3
+	add_special Function117656
+	add_special Reset
+	add_special Function1011f1
+	add_special Function101220
+	add_special Function101225
+	add_special Function101231
+	add_special Function4925b
+	add_special Function8adef
+	add_special Function11c1ab
+	add_special Function170687
+	add_special Function8ae68
+	add_special Function17d224
+	add_special Function17d2b6
+	add_special Function17d2ce
+	add_special Function17f53d
+	add_special Function103612
+	add_special SpecialHoOhChamber
+	add_special Function102142
+	add_special Function4989a
+	add_special Function49bf9
+	add_special SpecialPokeSeer
+	add_special SpecialBuenasPassword
+	add_special SpecialBuenaPrize
+	add_special SpecialDratini
+	add_special Function11485
+	add_special SpecialBeastsCheck
+	add_special SpecialMonCheck
+	add_special Functionc225
+	add_special Function170bd2
+	add_special Function10366e
+	add_special Function1037eb
+	add_special Function10383c
+	add_special Function1060a2
+	add_special Function14168
+	add_special Function1037c2
+	add_special Function10630f
+	add_special Function103780
+	add_special Function10387b
+	add_special Function4ae12
+	add_special Function1047eb
+	add_special Function4a927
+	add_special Function90a54
+	add_special Function90a88
+	add_special SpecialNone
+; c224
+
+SpecialNone: ; c224
+	ret
+; c225
+
+Functionc225: ; c225
+	ld a, [ScriptVar]
+	ld d, a
+	callba Function57e2
+	ret
+; c230
+
+Functionc230: ; c230
+	ld a, [ScriptVar]
+	dec a
+	call CheckCaughtMon
+	ret nz
+	ld a, [ScriptVar]
+	dec a
+	call SetSeenAndCaughtMon
+	call FadeToMenu
+	ld a, [ScriptVar]
+	ld [wd265], a
+	callba Functionfb877
+	call Function2b4d
+	ret
+; c252
+
+SpecialSeenMon: ; c252
+	ld a, [ScriptVar]
+	dec a
+	call SetSeenMon
+	ret
+; c25a
+
+Functionc25a: ; c25a
+	ld a, [ScriptVar]
+	ld b, a
+	callba Function4dbd2
+	jr z, Functionc298
+	jr Functionc292
+
+Functionc268: ; c268
+	ld a, [ScriptVar]
+	ld b, a
+	callba Function4dbd9
+	jr z, Functionc298
+	jr Functionc292
+
+Functionc276: ; c276
+	ld a, [ScriptVar]
+	ld b, a
+	callba Function4dbe0
+	jr z, Functionc298
+	jr Functionc292
+
+Functionc284: ; c284
+	ld a, [ScriptVar]
+	ld b, a
+	callba Function4dbe6
+	jr z, Functionc298
+	jr Functionc292
+
+Functionc292: ; c292
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+
+Functionc298: ; c298
+	xor a
+	ld [ScriptVar], a
+	ret
+; c29d
+
+SpecialNameRival: ; 0xc29d
+	ld b, $2 ; rival
+	ld de, RivalName
+	callba Function116b7
+	; default to "SILVER"
+	ld hl, RivalName
+	ld de, DefaultRivalName
+	call InitName
+	ret
+; 0xc2b2
+
+DefaultRivalName: ; 0xc2b2
+	db "SILVER@"
+
+SpecialNameRater: ; c2b9
+	callba NameRater
+	ret
+; c2c0
+
+Functionc2c0: ; c2c0
+	call FadeToMenu
+	callba Function9191c
+	call Function2b4d
+	ret
+; c2cd
+
+Functionc2cd: ; c2cd
+	call FadeToMenu
+	callba Function16be4
+	call Function2b4d
+	ret
+; c2da
+
+Functionc2da: ; c2da
+	call FadeToMenu
+	callba Function3f836
+	call Function2b4d
+	ret
+; c2e7
+
+Functionc2e7: ; c2e7
+	xor a
+	ld [ScriptVar], a
+	callba Function156d9
+	ld a, c
+	ld [ScriptVar], a
+	ret
+; c2f6
+
+Functionc2f6: ; c2f6
+	ld a, $0
+	call GetSRAMBank
+	ld a, [$abe2]
+	and a
+	jr z, .asm_c302
+	inc a
+
+.asm_c302
+	ld [ScriptVar], a
+	call CloseSRAM
+	ret
+; c309
+
+Functionc309: ; c309
+	ld a, $0
+	call GetSRAMBank
+	ld a, [$abe2]
+	ld [CurItem], a
+	ld a, $1
+	ld [wd10c], a
+	ld hl, NumItems
+	call ReceiveItem
+	jr nc, .asm_c33d
+	xor a
+	ld [$abe2], a
+	call CloseSRAM
+	ld a, [CurItem]
+	ld [wd265], a
+	call GetItemName
+	ld hl, UnknownText_0xc345
+	call PrintText
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+
+.asm_c33d
+	call CloseSRAM
+	xor a
+	ld [ScriptVar], a
+	ret
+; c345
+
+UnknownText_0xc345: ; 0xc345
+	; received item
+	text_jump UnknownText_0x1bd3be
+	db "@"
+; 0xc34a
+
+Functionc34a: ; c34a
+	callba Function1369d
+	ld a, b
+	ld [ScriptVar], a
+	ret
+; c355
+
+Functionc355: ; c355
+	ld a, [ScriptVar]
+	ld e, a
+	callba Function91a53
+	ret
+; c360
+
+Functionc360: ; c360
+	call FadeToMenu
+	callba Functione1190
+	ld a, [wd0ec]
+	ld [ScriptVar], a
+	call Function2b4d
+	ret
+; c373
+
+Functionc373: ; c373
+	call Functionc3ae
+	ret c
+	ld a, BANK(Function926c7)
+	ld hl, Function926c7
+	call Functionc39a
+	ret
+; c380
+
+Functionc380: ; c380
+	call Functionc3ae
+	ret c
+	ld a, BANK(Functione00ee)
+	ld hl, Functione00ee
+	call Functionc39a
+	ret
+; c38d
+
+Functionc38d: ; c38d
+	call Functionc3ae
+	ret c
+	ld a, BANK(Functione1e5b)
+	ld hl, Functione1e5b
+	call Functionc39a
+	ret
+; c39a
+
+Functionc39a: ; c39a
+	call Function31cf
+	call FadeToMenu
+	ld hl, wd0e8
+	ld a, [hli]
+	push af
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	pop af
+	rst FarCall
+	call Function2b4d
+	ret
+; c3ae
+
+Functionc3ae: ; c3ae
+	ld hl, Coins
+	ld a, [hli]
+	or [hl]
+	jr z, .asm_c3c4
+	ld a, COIN_CASE
+	ld [CurItem], a
+	ld hl, NumItems
+	call CheckItem
+	jr nc, .asm_c3c9
+	and a
+	ret
+
+.asm_c3c4
+	ld hl, UnknownText_0xc3d1
+	jr .asm_c3cc
+
+.asm_c3c9
+	ld hl, UnknownText_0xc3d6
+
+.asm_c3cc
+	call PrintText
+	scf
+	ret
+; c3d1
+
+UnknownText_0xc3d1: ; 0xc3d1
+	; You have no coins.
+	text_jump UnknownText_0x1bd3d7
+	db "@"
+; 0xc3d6
+
+UnknownText_0xc3d6: ; 0xc3d6
+	; You don't have a COIN CASE.
+	text_jump UnknownText_0x1bd3eb
+	db "@"
+; 0xc3db
+
+Functionc3db: ; c3db
+	call WhiteBGMap
+	call Function2879
+	ret
+; c3e2
+
+ScriptReturnCarry: ; c3e2
+	jr c, .carry
+	xor a
+	ld [ScriptVar], a
+	ret
+.carry
+	ld a, 1
+	ld [ScriptVar], a
+	ret
+; c3ef
+
+Functionc3ef: ; c3ef
+	callba Function1150c
+	ld a, [wdc3a]
+	ld [ScriptVar], a
+	ret
+; c3fc
+
+Functionc3fc: ; c3fc
+	ld a, [ScriptVar]
+	ld [wdfce], a
+	ret
+; c403
+
+
+Functionc403:: ; c403
+	ld a, c
+	and a
+	jr nz, .asm_c410
+	ld a, d
+	ld [wdfcc], a
+	ld a, e
+	ld [wdfcd], a
+	ret
+
+.asm_c410
+	ld a, d
+	ld [wdc5a], a
+	ld a, e
+	ld [wdc5b], a
+	ret
+; c419
+
+
+SpecialCheckPokerus: ; c419
+; Check if a monster in your party has Pokerus
+	callba CheckPokerus
+	jp ScriptReturnCarry
+; c422
+
+Functionc422: ; c422
+	callba Function1152b
+	ld hl, wdc9d
+	res 0, [hl]
+	callba Function5d33
+	ret
+; c434
+
+Functionc434: ; c434
+	callba Function11542
+	jp ScriptReturnCarry
+; c43d
+
+SpecialSnorlaxAwake: ; 0xc43d
+; Check if the Poké Flute channel is playing, and if the player is standing
+; next to Snorlax.
+
+; outputs:
+; ScriptVar is 1 if the conditions are met, otherwise 0.
+
+; check background music
+	ld a, [wMapMusic]
+	cp MUSIC_POKE_FLUTE_CHANNEL
+	jr nz, .nope
+
+	ld a, [XCoord]
+	ld b, a
+	ld a, [YCoord]
+	ld c, a
+
+	ld hl, .ProximityCoords
+.loop
+	ld a, [hli]
+	cp $ff
+	jr z, .nope
+	cp b
+	jr nz, .nextcoord
+	ld a, [hli]
+	cp c
+	jr nz, .loop
+
+	ld a, $1
+	jr .done
+
+.nextcoord
+	inc hl
+	jr .loop
+
+.nope
+	xor a
+.done
+	ld [ScriptVar], a
+	ret
+
+.ProximityCoords
+	;   x,  y
+	db 33,  8 ; left
+	db 34, 10 ; below
+	db 35, 10 ; below
+	db 36,  8 ; right
+	db 36,  9 ; right
+	db $ff
+
+
+Functionc472: ; c472
+	ld a, [CurPartySpecies]
+	jp PlayCry
+; c478
+
+
+SpecialGameboyCheck: ; c478
+	ld a, [hCGB]
+	and a
+	jr nz, .cgb
+
+	ld a, [hSGB]
+	and a
+	jr nz, .sgb
+
+.gb
+	xor a
+	jr .done
+.sgb
+	ld a, 1
+	jr .done
+.cgb
+	ld a, 2
+.done
+	ld [ScriptVar], a
+	ret
+
+
+Functionc48f: ; c48f
+	ld a, MUSIC_NONE % $100
+	ld [MusicFadeIDLo], a
+	ld a, MUSIC_NONE / $100
+	ld [MusicFadeIDHi], a
+	ld a, $2
+	ld [MusicFade], a
+	ret
+; c49f
+
+Functionc49f: ; c49f
+	call FadeToMenu
+	callba Function1dd702
+	call Function2b4d
+	ret
+; c4ac
+
+Functionc4ac: ; c4ac
+	call FadeToMenu
+	callba Function84688
+	call Function2b4d
+	ret
+; c4b9
+
+SpecialTrainerHouse: ; 0xc4b9
+	ld a, 0
+	call GetSRAMBank
+	ld a, [$abfd] ; XXX what is this memory location?
+	ld [ScriptVar], a
+	jp CloseSRAM
+
--- a/engine/std_scripts.asm
+++ b/engine/std_scripts.asm
@@ -122,16 +122,16 @@
 ; Go ahead and heal
 	farwritetext UnknownText_0x1b01bd
 	pause 20
-	special $009d
+	special Function1060a2
 ; Turn to the machine
 	spriteface $fe, $2
 	pause 10
-	special $001b
+	special Functionc658
 	playmusic MUSIC_NONE
 	writebyte $0
-	special $003e
+	special Function12324
 	pause 30
-	special $003d
+	special RestartMapMusic
 	spriteface $fe, $0
 	pause 10
 ; Has Elm already phoned you about Pokerus?
@@ -141,7 +141,7 @@
 	checkflag $000d
 	iftrue .done
 ; Check for Pokerus
-	special $004e ; SPECIAL_CHECKPOKERUS
+	special SpecialCheckPokerus ; SPECIAL_CHECKPOKERUS
 	iftrue .pokerus
 .done
 ; Thank you for waiting. ...
@@ -212,7 +212,7 @@
 	loadfont
 	farwritetext UnknownText_0x1b048d
 	closetext
-	special $0026
+	special Functionc2c0
 	loadmovesprites
 	end
 ; 0xbc185
@@ -236,7 +236,7 @@
 UnknownScript_0xbc195: ; 0xbc195
 	loadfont
 	writebyte $0
-	special $0028
+	special Functionc355
 	loadmovesprites
 	end
 ; 0xbc19d
@@ -244,7 +244,7 @@
 UnknownScript_0xbc19d: ; 0xbc19d
 	loadfont
 	writebyte $4
-	special $0028
+	special Functionc355
 	loadmovesprites
 	end
 ; 0xbc1a5
@@ -255,7 +255,7 @@
 
 UnknownScript_0xbc1a9: ; 0xbc1a9
 	loadfont
-	special $001c
+	special Function1559a
 	loadmovesprites
 	end
 ; 0xbc1af
@@ -371,7 +371,7 @@
 ; 0xbc25c
 
 UnknownScript_0xbc25c: ; 0xbc25c
-	special $0034
+	special WhiteBGMap
 	scall UnknownScript_0xbc380
 	setevent $0747
 	clearevent $0748
@@ -389,7 +389,7 @@
 	loadfont
 	farwritetext UnknownText_0x1b05bf
 	closetext
-	special $0014
+	special Functionc34a
 	RAM2MEM $0
 	if_equal $1, UnknownScript_0xbc31e
 	if_equal $2, UnknownScript_0xbc332
@@ -415,9 +415,9 @@
 	iffalse UnknownScript_0xbc2c4
 	farwritetext UnknownText_0x1b06d9
 	closetext
-	special $0017
+	special Function13a31
 UnknownScript_0xbc2c4:
-	special $0015
+	special Function4d9e5
 	if_equal $0, UnknownScript_0xbc2d4
 	if_equal $2, UnknownScript_0xbc2d4
 	farwritetext UnknownText_0x1b070d
@@ -447,7 +447,7 @@
 	setevent $0728
 	setevent $0729
 	setflag $0051
-	special $003c
+	special PlayMapMusic
 	end
 ; 0xbc31e
 
@@ -692,7 +692,7 @@
 ; 0xbc574
 
 UnknownScript_0xbc574: ; 0xbc574
-	special $005d
+	special RandomPhoneMon
 	checkcode $17
 	if_equal $5, UnknownScript_0xbc5c9
 	if_equal $7, UnknownScript_0xbc5ce
@@ -816,7 +816,7 @@
 ; 0xbc62d
 
 UnknownScript_0xbc62d: ; 0xbc62d
-	special $005d
+	special RandomPhoneMon
 	checkcode $17
 	if_equal $5, UnknownScript_0xbc682
 	if_equal $7, UnknownScript_0xbc687
@@ -2257,7 +2257,7 @@
 	farwritetext UnknownText_0x1b07e3
 
 UnknownScript_0xbcde4: ; 0xbcde4
-	special $0050
+	special Function24b4e
 	loadmenudata MenuDataHeader_0xbce54
 	interpretmenu2
 	writebackup
@@ -2336,7 +2336,7 @@
 UnknownScript_0xbce7f: ; 0xbce7f
 	faceplayer
 	loadfont
-	special $0059
+	special Function718d
 	if_less_than 50, UnknownScript_0xbce9a
 	if_less_than 150, UnknownScript_0xbce93
 	farwritetext UnknownText_0x1b092a
--- /dev/null
+++ b/event/move_deleter.asm
@@ -1,0 +1,168 @@
+Function2c547: ; 2c547
+	ld hl, UnknownText_0x2c5ef
+	call PrintText
+	call YesNoBox
+	jr c, .asm_2c5c3
+	ld hl, UnknownText_0x2c5f4
+	call PrintText
+	callba Function50000
+	jr c, .asm_2c5c3
+	ld a, [CurPartySpecies]
+	cp EGG
+	jr z, .asm_2c5bc
+	ld a, [CurPartyMon]
+	ld hl, PartyMon1Moves + 1
+	ld bc, PartyMon2 - PartyMon1
+	call AddNTimes
+	ld a, [hl]
+	and a
+	jr z, .asm_2c5ca
+	ld hl, UnknownText_0x2c5ea
+	call PrintText
+	call Function1d6e
+	callba Function12f5b
+	push af
+	call Function2b74
+	pop af
+	jr c, .asm_2c5c3
+	ld a, [wcfa9]
+	push af
+	ld a, [CurSpecies]
+	ld [wd265], a
+	call GetMoveName
+	ld hl, UnknownText_0x2c5d6
+	call PrintText
+	call YesNoBox
+	pop bc
+	jr c, .asm_2c5c3
+	call Function2c5f9
+	call WaitSFX
+	ld de, SFX_MOVE_DELETED
+	call PlaySFX
+	call WaitSFX
+	ld hl, UnknownText_0x2c5db
+	call PrintText
+	ret
+
+.asm_2c5bc
+	ld hl, UnknownText_0x2c5e0
+	call PrintText
+	ret
+
+.asm_2c5c3
+	ld hl, UnknownText_0x2c5e5
+	call PrintText
+	ret
+
+.asm_2c5ca
+	ld hl, UnknownText_0x2c5d1
+	call PrintText
+	ret
+; 2c5d1
+
+UnknownText_0x2c5d1: ; 0x2c5d1
+	; That #MON knows only one move.
+	text_jump UnknownText_0x1c5eba
+	db "@"
+; 0x2c5d6
+
+UnknownText_0x2c5d6: ; 0x2c5d6
+	; Oh, make it forget @ ?
+	text_jump UnknownText_0x1c5eda
+	db "@"
+; 0x2c5db
+
+UnknownText_0x2c5db: ; 0x2c5db
+	; Done! Your #MON forgot the move.
+	text_jump UnknownText_0x1c5ef5
+	db "@"
+; 0x2c5e0
+
+UnknownText_0x2c5e0: ; 0x2c5e0
+	; An EGG doesn't know any moves!
+	text_jump UnknownText_0x1c5f17
+	db "@"
+; 0x2c5e5
+
+UnknownText_0x2c5e5: ; 0x2c5e5
+	; No? Come visit me again.
+	text_jump UnknownText_0x1c5f36
+	db "@"
+; 0x2c5ea
+
+UnknownText_0x2c5ea: ; 0x2c5ea
+	; Which move should it forget, then?
+	text_jump UnknownText_0x1c5f50
+	db "@"
+; 0x2c5ef
+
+UnknownText_0x2c5ef: ; 0x2c5ef
+	; Um… Oh, yes, I'm the MOVE DELETER. I can make #MON forget moves. Shall I make a #MON forget?
+	text_jump UnknownText_0x1c5f74
+	db "@"
+; 0x2c5f4
+
+UnknownText_0x2c5f4: ; 0x2c5f4
+	; Which #MON?
+	text_jump UnknownText_0x1c5fd1
+	db "@"
+; 0x2c5f9
+
+Function2c5f9: ; 2c5f9
+	ld a, b
+	push bc
+	dec a
+	ld c, a
+	ld b, 0
+	ld hl, PartyMon1Moves
+	add hl, bc
+	ld a, [CurPartyMon]
+	ld bc, PartyMon2 - PartyMon1
+	call AddNTimes
+	pop bc
+	push bc
+	inc b
+.asm_2c60f
+	ld a, b
+	cp NUM_MOVES + 1
+	jr z, .asm_2c61b
+	inc hl
+	ld a, [hld]
+	ld [hl], a
+	inc hl
+	inc b
+	jr .asm_2c60f
+
+.asm_2c61b
+	xor a
+	ld [hl], a
+	pop bc
+
+	ld a, b
+	push bc
+	dec a
+	ld c, a
+	ld b, 0
+	ld hl, PartyMon1PP
+	add hl, bc
+	ld a, [CurPartyMon]
+	ld bc, PartyMon2 - PartyMon1
+	call AddNTimes
+	pop bc
+	inc b
+.asm_2c633
+	ld a, b
+	cp NUM_MOVES + 1
+	jr z, .asm_2c63f
+	inc hl
+	ld a, [hld]
+	ld [hl], a
+	inc hl
+	inc b
+	jr .asm_2c633
+
+.asm_2c63f
+	xor a
+	ld [hl], a
+	ret
+; 2c642
--- a/items/item_effects.asm
+++ b/items/item_effects.asm
@@ -1380,7 +1380,7 @@
 	callba Function50e47
 
 	pop de
-	ld a, $8
+	ld a, PartyMon1Exp - PartyMon1
 	call GetPartyParamLocation
 
 	ld a, [hMultiplicand]
@@ -1390,7 +1390,7 @@
 	ld a, [$ffb6]
 	ld [hl], a
 
-	ld a, $24
+	ld a, PartyMon1MaxHP - PartyMon1
 	call GetPartyParamLocation
 	ld a, [hli]
 	ld b, a
@@ -1398,7 +1398,7 @@
 	push bc
 	call Functionee8c
 
-	ld a, $25
+	ld a, PartyMon1MaxHP + 1 - PartyMon1
 	call GetPartyParamLocation
 
 	pop bc
@@ -1431,7 +1431,7 @@
 
 	hlcoord 11, 1
 	ld bc, $0004
-	predef Function50b7b
+	predef PrintTempMonStats
 
 	call Functiona80
 
@@ -1498,7 +1498,7 @@
 	ld a, $1
 	ret z
 	call Functionf058
-	ld a, $20
+	ld a, PartyMon1Status - PartyMon1
 	call GetPartyParamLocation
 	ld a, [hl]
 	and c
@@ -1537,7 +1537,7 @@
 Functionf01e: ; f01e (3:701e)
 	call Functionf2a6
 	ret nc
-	ld a, $22
+	ld a, PartyMon1HP - PartyMon1
 	call GetPartyParamLocation
 	ld a, [hli]
 	ld [BattleMonHP], a
@@ -1955,7 +1955,7 @@
 Functionf2c3: ; f2c3 (3:72c3)
 	call Functionf36f
 asm_f2c6: ; f2c6 (3:72c6)
-	ld a, $22
+	ld a, PartyMon1HP - PartyMon1
 	call GetPartyParamLocation
 	ld [hl], d
 	inc hl
@@ -1963,7 +1963,7 @@
 	jp Functionf328
 
 Functionf2d1: ; f2d1 (3:72d1)
-	ld a, $23
+	ld a, PartyMon1HP + 1 - PartyMon1
 	call GetPartyParamLocation
 	ld a, [hl]
 	add e
@@ -1973,11 +1973,11 @@
 	ld [hl], a
 	jr c, .asm_f2f5
 	call Functionf328
-	ld a, $23
+	ld a, PartyMon1HP + 1 - PartyMon1
 	call GetPartyParamLocation
 	ld d, h
 	ld e, l
-	ld a, $25
+	ld a, PartyMon1MaxHP + 1 - PartyMon1
 	call GetPartyParamLocation
 	ld a, [de]
 	sub [hl]
@@ -1992,7 +1992,7 @@
 	ret
 
 Functionf2f9: ; f2f9 (3:72f9)
-	ld a, $23
+	ld a, PartyMon1HP + 1 - PartyMon1
 	call GetPartyParamLocation
 	ld a, [hl]
 	sub e
@@ -2030,7 +2030,7 @@
 	ret
 
 Functionf328: ; f328 (3:7328)
-	ld a, $22
+	ld a, PartyMon1HP - PartyMon1
 	call GetPartyParamLocation
 	ld a, [hli]
 	ld [wd1ef], a
@@ -2056,7 +2056,7 @@
 ; f348
 
 Functionf348: ; f348 (3:7348)
-	ld a, $22
+	ld a, PartyMon1HP - PartyMon1
 	call GetPartyParamLocation
 	ld a, [hli]
 	ld [wd1ed], a
@@ -2073,7 +2073,7 @@
 
 Functionf35f: ; f35f (3:735f)
 	push hl
-	ld a, $24
+	ld a, PartyMon1MaxHP - PartyMon1
 	call GetPartyParamLocation
 	ld a, [hli]
 	ld [Buffer2], a
--- a/macros/event.asm
+++ b/macros/event.asm
@@ -80,10 +80,18 @@
 	dw \1
 	endm
 
+
 special: macro
 	db $0f
-	dw \1 ; predefined_script
+	dw (\1Special - SpecialsPointers) / 3
 	endm
+
+add_special: MACRO
+\1Special::
+	db BANK(\1)
+	dw \1
+ENDM
+
 
 ptcallasm: macro
 	db $10
--- a/macros/map.asm
+++ b/macros/map.asm
@@ -64,3 +64,99 @@
 	db \4 ; map group
 	db \5 ; map number
 	endm
+
+
+map_header: MACRO
+	; label, tileset, permission, location, music, time of day, fishing group
+\1_MapHeader:
+	db BANK(\1_SecondMapHeader), \2, \3
+	dw \1_SecondMapHeader
+	db \4, \5, \6, \7
+ENDM
+
+
+map_header_2: MACRO
+; label, map, border block, connections
+\1_SecondMapHeader::
+	db \3
+\2\@HEIGHT EQUS "\2_HEIGHT"
+\2\@WIDTH  EQUS "\2_WIDTH"
+	db \2\@HEIGHT, \2\@WIDTH
+	db BANK(\1_BlockData)
+	dw \1_BlockData
+	db BANK(\1_MapScriptHeader)
+	dw \1_MapScriptHeader
+	dw \1_MapEventHeader
+	db \4
+ENDM
+
+connection: MACRO
+if "\1" == "north"
+;\2: map id
+;\3: map label (eventually will be rolled into map id)
+;\4: x
+;\5: offset?
+;\6: strip length
+;\7: this map id
+	map \2
+	dw \3_BlockData + \2_WIDTH * (\2_HEIGHT - 3) + \5
+	dw OverworldMap + \4 + 3
+	db \6
+	db \2_WIDTH
+	db \2_HEIGHT * 2 - 1
+	db (\4 - \5) * -2
+	dw OverworldMap + \2_HEIGHT * (\2_WIDTH + 6) + 1
+endc
+
+if "\1" == "south"
+;\2: map id
+;\3: map label (eventually will be rolled into map id)
+;\4: x
+;\5: offset?
+;\6: strip length
+;\7: this map id
+	map \2
+	dw \3_BlockData + \5
+	dw OverworldMap + (\7_HEIGHT + 3) * (\7_WIDTH + 6) + \4 + 3
+	db \6
+	db \2_WIDTH
+	db 0
+	db (\4 - \5) * -2
+	dw OverworldMap + \2_WIDTH + 7
+endc
+
+if "\1" == "west"
+;\2: map id
+;\3: map label (eventually will be rolled into map id)
+;\4: y
+;\5: offset?
+;\6: strip length
+;\7: this map id
+	map \2
+	dw \3_BlockData + (\2_WIDTH * \5) + \2_WIDTH - 3
+	dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3)
+	db \6
+	db \2_WIDTH
+	db (\4 - \5) * -2
+	db \2_WIDTH * 2 - 1
+	dw OverworldMap + \2_WIDTH * 2 + 6
+endc
+
+if "\1" == "east"
+;\2: map id
+;\3: map label (eventually will be rolled into map id)
+;\4: y
+;\5: offset?
+;\6: strip length
+;\7: this map id
+	map \2
+	dw \3_BlockData + (\2_WIDTH * \5)
+	dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3 + 1) - 3
+	db \6
+	db \2_WIDTH
+	db (\4 - \5) * -2
+	db 0
+	dw OverworldMap + \2_WIDTH + 7
+endc
+
+ENDM
--- a/main.asm
+++ b/main.asm
@@ -56,3691 +56,10 @@
 ; 4049
 
 
-INCLUDE "engine/facings.asm"
+INCLUDE "engine/map_objects.asm"
 
 
-Data4273:: ; 4273
-	db $00, $00, $01, $02, $00, $00
-	db $06, $00, $01, $0c, $00, $00
-	db $03, $00, $01, $00, $00, $00
-	db $04, $00, $01, $00, $00, $00
-	db $01, $00, $01, $00, $00, $00
-	db $02, $00, $01, $00, $00, $00
-	db $06, $00, $01, $00, $00, $00
-	db $06, $01, $01, $00, $00, $00
-	db $06, $02, $01, $00, $00, $00
-	db $06, $03, $01, $00, $00, $00
-	db $05, $00, $01, $00, $00, $00
-	db $07, $00, $01, $02, $00, $00
-	db $08, $00, $01, $00, $00, $00
-	db $09, $00, $01, $00, $00, $00
-	db $0a, $00, $01, $00, $00, $00
-	db $0b, $00, $01, $00, $00, $00
-	db $0c, $00, $01, $00, $00, $00
-	db $0d, $00, $01, $00, $00, $00
-	db $0e, $00, $01, $00, $00, $00
-	db $0f, $00, $01, $02, $00, $00
-	db $10, $00, $01, $02, $00, $00
-	db $15, $00, $09, $2e, $01, $c0
-	db $16, $00, $0a, $2e, $00, $00
-	db $06, $00, $01, $0c, $00, $00
-	db $06, $00, $01, $2e, $10, $00
-	db $11, $00, $01, $2e, $00, $40
-	db $12, $00, $01, $02, $00, $00
-	db $13, $00, $00, $8e, $01, $00
-	db $14, $00, $08, $8e, $02, $00
-	db $17, $00, $00, $82, $00, $00
-	db $19, $02, $01, $00, $00, $00
-	db $18, $03, $01, $00, $00, $00
-	db $11, $00, $0c, $2e, $01, $c0
-	db $11, $00, $0d, $2e, $01, $c0
-	db $1a, $00, $0e, $8e, $01, $00
-	db $1b, $00, $0f, $8e, $02, $00
-	db $03, $00, $01, $00, $00, $20
-	db $00, $00, $01, $00, $00, $00
-; 4357
-
-
-Function4357:: ; 4357
-	push bc
-	ld hl, $0001
-	add hl, bc
-	ld a, [hl]
-	push af
-	ld h, b
-	ld l, c
-	ld bc, ObjectStruct2 - ObjectStruct1
-	xor a
-	call ByteFill
-	pop af
-	cp $ff
-	jr z, .asm_4379
-	bit 7, a
-	jr nz, .asm_4379
-	call GetMapObject
-	ld hl, $0000
-	add hl, bc
-	ld [hl], $ff
-
-.asm_4379
-	pop bc
-	ret
-; 437b
-
-Function437b: ; 437b
-	call Function4386
-	ret c
-	call Function43f3
-	call Function4427
-	ret
-; 4386
-
-Function4386: ; 4386
-	ld hl, OBJECT_FLAGS
-	add hl, bc
-	res 6, [hl]
-	ld a, [XCoord]
-	ld e, a
-	ld hl, OBJECT_MAP_X
-	add hl, bc
-	ld a, [hl]
-	add $1
-	sub e
-	jr c, .asm_43b2
-	cp $c
-	jr nc, .asm_43b2
-	ld a, [YCoord]
-	ld e, a
-	ld hl, OBJECT_MAP_Y
-	add hl, bc
-	ld a, [hl]
-	add $1
-	sub e
-	jr c, .asm_43b2
-	cp $b
-	jr nc, .asm_43b2
-	jr .asm_43dc
-
-.asm_43b2
-	ld hl, OBJECT_FLAGS
-	add hl, bc
-	set 6, [hl]
-	ld a, [XCoord]
-	ld e, a
-	ld hl, $0014
-	add hl, bc
-	ld a, [hl]
-	add $1
-	sub e
-	jr c, .asm_43de
-	cp $c
-	jr nc, .asm_43de
-	ld a, [YCoord]
-	ld e, a
-	ld hl, $0015
-	add hl, bc
-	ld a, [hl]
-	add $1
-	sub e
-	jr c, .asm_43de
-	cp $b
-	jr nc, .asm_43de
-
-.asm_43dc
-	and a
-	ret
-
-.asm_43de
-	ld hl, $0004
-	add hl, bc
-	bit 1, [hl]
-	jr nz, .asm_43eb
-	call Function4357
-	scf
-	ret
-
-.asm_43eb
-	ld hl, OBJECT_FLAGS
-	add hl, bc
-	set 6, [hl]
-	and a
-	ret
-; 43f3
-
-Function43f3: ; 43f3
-	ld hl, $0009
-	add hl, bc
-	ld a, [hl]
-	and a
-	jr z, .asm_4409
-	ld hl, OBJECT_FLAGS
-	add hl, bc
-	bit 5, [hl]
-	jr nz, .asm_4426
-	cp $1
-	jr z, .asm_4414
-	jr .asm_4421
-
-.asm_4409
-	call Function47bc
-	ld hl, OBJECT_FLAGS
-	add hl, bc
-	bit 5, [hl]
-	jr nz, .asm_4426
-
-.asm_4414
-	call Function47dd
-	ld hl, $0009
-	add hl, bc
-	ld a, [hl]
-	and a
-	ret z
-	cp $1
-	ret z
-
-.asm_4421
-	ld hl, Pointers4b45
-	rst JumpTable
-	ret
-
-.asm_4426
-	ret
-; 4427
-
-Function4427: ; 4427
-	ld hl, $0004
-	add hl, bc
-	bit 0, [hl]
-	jr nz, Function44a3
-
-	ld hl, OBJECT_FLAGS
-	add hl, bc
-	bit 6, [hl]
-	jr nz, Function44a3
-
-	bit 5, [hl]
-	jr nz, Function4448
-
-	ld de, Pointers445f
-	jr Function444d
-; 4440
-
-Function4440: ; 4440
-	ld hl, $0004
-	add hl, bc
-	bit 0, [hl]
-	jr nz, Function44a3
-	; fallthrough
-; 4448
-
-Function4448: ; 4448
-	ld de, Pointers445f + 2
-	jr Function444d
-; 444d
-
-Function444d: ; 444d
-	ld hl, $000b
-	add hl, bc
-	ld a, [hl]
-	ld l, a
-	ld h, 0
-	add hl, hl
-	add hl, hl
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	call _hl_
-	ret
-; 445f
-
-Pointers445f: ; 445f
-	dw Function44a3
-	dw Function44a3
-	dw Function44b5
-	dw Function44aa
-	dw Function44c1
-	dw Function44aa
-	dw Function4508
-	dw Function44aa
-	dw Function4529
-	dw Function44aa
-	dw Function4539
-	dw Function44a3
-	dw Function456e
-	dw Function456e
-	dw Function457b
-	dw Function44a3
-	dw Function4582
-	dw Function4582
-	dw Function4589
-	dw Function4589
-	dw Function4590
-	dw Function45a4
-	dw Function45ab
-	dw Function44aa
-	dw Function45be
-	dw Function45be
-	dw Function45c5
-	dw Function45c5
-	dw Function45da
-	dw Function44a3
-	dw Function45ed
-	dw Function44a3
-	dw Function44e4
-	dw Function44aa
-; 44a3
-
-Function44a3: ; 44a3
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], $ff
-	ret
-; 44aa
-
-Function44aa: ; 44aa
-	call GetSpriteDirection
-	or $0
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], a
-	ret
-; 44b5
-
-Function44b5: ; 44b5
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld a, [hl]
-	and $1
-	jr nz, Function44c1
-	jp Function44aa
-; 44c1
-
-Function44c1: ; 44c1
-	ld hl, $0004
-	add hl, bc
-	bit 3, [hl]
-	jp nz, Function44aa
-	ld hl, $000c
-	add hl, bc
-	ld a, [hl]
-	inc a
-	and $f
-	ld [hl], a
-	rrca
-	rrca
-	and $3
-	ld d, a
-	call GetSpriteDirection
-	or $0
-	or d
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], a
-	ret
-; 44e4
-
-Function44e4: ; 44e4
-	ld hl, $0004
-	add hl, bc
-	bit 3, [hl]
-	jp nz, Function44aa
-	ld hl, $000c
-	add hl, bc
-	ld a, [hl]
-	add $2
-	and $f
-	ld [hl], a
-	rrca
-	rrca
-	and $3
-	ld d, a
-	call GetSpriteDirection
-	or $0
-	or d
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], a
-	ret
-; 4508
-
-Function4508: ; 4508
-	ld hl, $0004
-	add hl, bc
-	bit 3, [hl]
-	jp nz, Function44aa
-	ld hl, $000c
-	add hl, bc
-	inc [hl]
-	ld a, [hl]
-	rrca
-	rrca
-	rrca
-	and $3
-	ld d, a
-	call GetSpriteDirection
-	or $0
-	or d
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], a
-	ret
-; 4529
-
-Function4529: ; 4529
-	call Function453f
-	ld hl, $0008
-	add hl, bc
-	ld a, [hl]
-	or $0
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], a
-	ret
-; 4539
-
-Function4539: ; 4539
-	call Function453f
-	jp Function44a3
-; 453f
-
-Function453f: ; 453f
-	ld hl, $000c
-	add hl, bc
-	ld a, [hl]
-	and $f0
-	ld e, a
-	ld a, [hl]
-	inc a
-	and $f
-	ld d, a
-	cp $4
-	jr c, .asm_4558
-	ld d, 0
-	ld a, e
-	add $10
-	and $30
-	ld e, a
-
-.asm_4558
-	ld a, d
-	or e
-	ld [hl], a
-	swap e
-	ld d, 0
-	ld hl, .Directions
-	add hl, de
-	ld a, [hl]
-	ld hl, $0008
-	add hl, bc
-	ld [hl], a
-	ret
-; 456a
-
-.Directions ; 456a
-	db $00, $0c, $04, $08
-; 456e
-
-Function456e: ; 456e
-	call GetSpriteDirection
-	rrca
-	rrca
-	add $10
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], a
-	ret
-; 457b
-
-Function457b: ; 457b
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], $15
-	ret
-; 4582
-
-Function4582: ; 4582
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], $14
-	ret
-; 4589
-
-Function4589: ; 4589
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], $17
-	ret
-; 4590
-
-Function4590: ; 4590
-	ld hl, $000c
-	add hl, bc
-	ld a, [hl]
-	inc a
-	and $f
-	ld [hl], a
-	and $8
-	jr z, Function45a4
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], $4
-	ret
-; 45a4
-
-Function45a4: ; 45a4
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], $0
-	ret
-; 45ab
-
-Function45ab: ; 45ab
-	ld hl, $000c
-	add hl, bc
-	ld a, [hl]
-	inc a
-	ld [hl], a
-	and $c
-	rrca
-	rrca
-	add $18
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], a
-	ret
-; 45be
-
-Function45be: ; 45be
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], $16
-	ret
-; 45c5
-
-Function45c5: ; 45c5
-	ld a, [VariableSprites + 3]
-	ld d, $17
-	cp $33
-	jr z, .asm_45d4
-	cp $47
-	jr z, .asm_45d4
-	ld d, $16
-
-.asm_45d4
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], d
-	ret
-; 45da
-
-Function45da: ; 45da
-	ld hl, $000c
-	add hl, bc
-	inc [hl]
-	ld a, [hl]
-
-	ld hl, OBJECT_FACING
-	add hl, bc
-	and 2
-	ld a, $1c
-	jr z, .asm_45eb
-	inc a
-.asm_45eb
-	ld [hl], a
-	ret
-; 45ed
-
-Function45ed: ; 45ed
-	ld hl, $000c
-	add hl, bc
-	inc [hl]
-	ld a, [hl]
-	ld hl, OBJECT_FACING
-	add hl, bc
-	and 4
-	ld a, $1e
-	jr z, .asm_45fe
-	inc a
-
-.asm_45fe
-	ld [hl], a
-	ret
-; 4600
-
-Function4600: ; 4600
-
-	ld hl, OBJECT_MAP_X
-	add hl, bc
-	ld a, [hl]
-	ld hl, OBJECT_NEXT_MAP_X
-	add hl, bc
-	ld [hl], a
-
-	ld hl, OBJECT_MAP_Y
-	add hl, bc
-	ld a, [hl]
-	ld hl, OBJECT_NEXT_MAP_Y
-	add hl, bc
-	ld [hl], a
-
-	ld hl, OBJECT_STANDING_TILE
-	add hl, bc
-	ld a, [hl]
-	ld hl, OBJECT_NEXT_TILE
-	add hl, bc
-	ld [hl], a
-
-	call Function4661
-	ld hl, OBJECT_STANDING_TILE
-	add hl, bc
-	ld a, [hl]
-
-	call Function4679
-	ret
-; 462a
-
-Function462a: ; 462a
-
-	ld hl, OBJECT_NEXT_MAP_X
-	add hl, bc
-	ld a, [hl]
-	ld hl, OBJECT_MAP_X
-	add hl, bc
-	ld [hl], a
-
-	ld hl, OBJECT_NEXT_MAP_Y
-	add hl, bc
-	ld a, [hl]
-	ld hl, OBJECT_MAP_Y
-	add hl, bc
-	ld [hl], a
-
-	ret
-; 463f
-
-Function463f: ; 463f
-	ld hl, OBJECT_FLAGS
-	add hl, bc
-	bit 3, [hl]
-	jr z, .asm_464f
-	ld hl, $000e
-	add hl, bc
-	ld a, [hl]
-	call Function4661
-
-.asm_464f
-	ld hl, $000e
-	add hl, bc
-	ld a, [hl]
-	call Function4679
-	ret c
-	ld hl, $000f
-	add hl, bc
-	ld a, [hl]
-	call Function4679
-	ret
-; 4661
-
-Function4661: ; 4661
-	call Function188e
-	jr z, .asm_466b
-	call Function1875
-	jr c, .asm_4672
-
-.asm_466b
-	ld hl, $0005
-	add hl, bc
-	set 3, [hl]
-	ret
-
-.asm_4672
-	ld hl, $0005
-	add hl, bc
-	res 3, [hl]
-	ret
-; 4679
-
-Function4679: ; 4679
-	and a
-	ret
-; 467b
-
-Function467b: ; 467b
-	xor a
-	ld hl, $000c
-	add hl, bc
-	ld [hl], a
-	ld hl, $001b
-	add hl, bc
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hl], a
-	ld hl, $0007
-	add hl, bc
-	ld [hl], $ff
-	ret
-; 4690
-
-Function4690: ; 4690
-	ld hl, $0007
-	add hl, bc
-	ld [hl], a
-	ld hl, $0004
-	add hl, bc
-	bit 2, [hl]
-	jr nz, .asm_46a6
-
-	add a
-	add a
-	and $c
-	ld hl, $0008
-	add hl, bc
-	ld [hl], a
-
-.asm_46a6
-	; fallthrough
-; 46a6
-
-Function46a6: ; 46a6
-
-	call GetStepVector
-
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], a
-
-	ld a, d
-	call Function4730
-	ld hl, OBJECT_NEXT_MAP_X
-	add hl, bc
-	add [hl]
-	ld hl, OBJECT_MAP_X
-	add hl, bc
-	ld [hl], a
-	ld d, a
-
-	ld a, e
-	call Function4730
-	ld hl, OBJECT_NEXT_MAP_Y
-	add hl, bc
-	add [hl]
-	ld hl, OBJECT_MAP_Y
-	add hl, bc
-	ld [hl], a
-	ld e, a
-
-	push bc
-	call Function2a3c
-	pop bc
-
-	ld hl, $000e
-	add hl, bc
-	ld [hl], a
-
-	ret
-; 46d7
-
-Function46d7: ; 46d7
-
-	call GetStepVector
-
-	ld hl, OBJECT_SPRITE_X
-	add hl, bc
-	ld a, [hl]
-	add d
-	ld [hl], a
-
-	ld hl, OBJECT_SPRITE_Y
-	add hl, bc
-	ld a, [hl]
-	add e
-	ld [hl], a
-
-	ret
-; 46e9
-
-GetStepVector: ; 46e9
-; Return (x, y, duration, speed) in (d, e, a, h).
-	ld hl, $0007
-	add hl, bc
-	ld a, [hl]
-	and $f
-	add a
-	add a
-	ld l, a
-	ld h, 0
-	ld de, StepVectors
-	add hl, de
-	ld d, [hl]
-	inc hl
-	ld e, [hl]
-	inc hl
-	ld a, [hli]
-	ld h, [hl]
-	ret
-; 4700
-
-StepVectors: ; 4700
-; x,  y, duration, speed
-	; slow
-	db  0,  1, 16, 1
-	db  0, -1, 16, 1
-	db -1,  0, 16, 1
-	db  1,  0, 16, 1
-	; normal
-	db  0,  2,  8, 2
-	db  0, -2,  8, 2
-	db -2,  0,  8, 2
-	db  2,  0,  8, 2
-	; fast
-	db  0,  4,  4, 4
-	db  0, -4,  4, 4
-	db -4,  0,  4, 4
-	db  4,  0,  4, 4
-; 4730
-
-Function4730: ; 4730
-	add a
-	ret z
-	ld a, 1
-	ret nc
-	ld a, -1
-	ret
-; 4738
-
-Function4738: ; 4738
-	ld hl, $0007
-	add hl, bc
-	ld a, [hl]
-	and $3
-	ld [wd151], a
-	call Function46d7
-	ld a, [wd14e]
-	add d
-	ld [wd14e], a
-	ld a, [wd14f]
-	add e
-	ld [wd14f], a
-	ld hl, wd150
-	set 5, [hl]
-	ret
-; 4759
-
-Function4759: ; 4759
-	push bc
-	ld e, a
-	ld d, 0
-	ld hl, $0001
-	add hl, bc
-	ld a, [hl]
-	call GetMapObject
-	add hl, de
-	ld a, [hl]
-	pop bc
-	ret
-; 4769
-
-Function4769: ; 4769
-	ld hl, $0001
-	add hl, bc
-	ld a, [hl]
-	cp $ff
-	jr z, .asm_477d
-	push bc
-	call GetMapObject
-	ld hl, $0004
-	add hl, bc
-	ld a, [hl]
-	pop bc
-	ret
-
-.asm_477d
-	ld a, $6
-	ret
-; 4780
-
-Function4780: ; 4780
-	ld hl, $001b
-	add hl, bc
-	ld [hl], $0
-	ret
-; 4787
-
-Function4787: ; 4787
-	ld hl, $001b
-	add hl, bc
-	inc [hl]
-	ret
-; 478d
-
-Function478d: ; 478d
-	ld hl, $001b
-	add hl, bc
-	dec [hl]
-	ret
-; 4793
-
-Function4793: ; 4793
-	ld hl, $001b
-	add hl, bc
-	ld a, [hl]
-	pop hl
-	rst JumpTable
-	ret
-; 479b
-
-Function479b: ; 479b
-	ld hl, $001c
-	add hl, bc
-	ld [hl], $0
-	ret
-; 47a2
-
-Function47a2: ; 47a2
-	ld hl, $001c
-	add hl, bc
-	inc [hl]
-	ret
-; 47a8
-
-Function47a8: ; 47a8
-	ld hl, $001c
-	add hl, bc
-	ld a, [hl]
-	pop hl
-	rst JumpTable
-	ret
-; 47b0
-
-Function47b0: ; 47b0
-	ld hl, $001c
-	add hl, bc
-	ld a, [hl]
-	ret
-; 47b6
-
-Function47b6: ; 47b6
-	ld hl, $001c
-	add hl, bc
-	ld [hl], a
-	ret
-; 47bc
-
-Function47bc: ; 47bc
-	ld hl, OBJECT_MAP_X
-	add hl, bc
-	ld d, [hl]
-	ld hl, OBJECT_MAP_Y
-	add hl, bc
-	ld e, [hl]
-	push bc
-	call Function2a3c
-	pop bc
-	ld hl, OBJECT_STANDING_TILE
-	add hl, bc
-	ld [hl], a
-	call Function4600
-	call Function467b
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $1
-	ret
-; 47dd
-
-Function47dd: ; 47dd
-	call Function479b
-	call Function1a2f
-	ld a, [hl]
-	ld hl, .Pointers
-	rst JumpTable
-	ret
-; 47e9
-
-.Pointers ; 47e9
-	dw Function4821
-	dw Function4822
-	dw Function482c
-	dw Function4838
-	dw Function4842
-	dw Function4851
-	dw Function4869
-	dw Function487c
-	dw Function4882
-	dw Function4888
-	dw Function488e
-	dw Function4891
-	dw Function4894
-	dw Function4897
-	dw Function489d
-	dw Function48a0
-	dw Function48a6
-	dw Function48ac
-	dw Function48ff
-	dw Function49e5
-	dw Function4a21
-	dw Function4958
-	dw Function496e
-	dw Function4abc
-	dw Function498d
-	dw Function4984
-	dw Function4a46
-	dw Function4a89
-; 4821
-
-Function4821: ; 4821
-	ret
-; 4822
-
-Function4822: ; 4822
-	call Random
-	ld a, [hRandomAdd]
-	and 1
-	jp Function4af0
-; 482c
-
-Function482c: ; 482c
-	call Random
-	ld a, [hRandomAdd]
-	and 1
-	or 2
-	jp Function4af0
-; 4838
-
-Function4838: ; 4838
-	call Random
-	ld a, [hRandomAdd]
-	and 3
-	jp Function4af0
-; 4842
-
-Function4842: ; 4842
-	call Random
-	ld a, [hRandomAdd]
-	and $c
-	ld hl, $0008
-	add hl, bc
-	ld [hl], a
-	jp Function4b1d
-; 4851
-
-Function4851: ; 4851
-	ld hl, $0008
-	add hl, bc
-	ld a, [hl]
-	and $c
-	ld d, a
-	call Random
-	ld a, [hRandomAdd]
-	and $c
-	cp d
-	jr nz, .asm_4865
-	xor $c
-
-.asm_4865
-	ld [hl], a
-	jp Function4b26
-; 4869
-
-Function4869: ; 4869
-	call Function462a
-	call Function467b
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $1
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $5
-	ret
-; 487c
-
-Function487c: ; 487c
-	ld hl, Function5000
-	jp Function5041
-; 4882
-
-Function4882: ; 4882
-	ld hl, Function5015
-	jp Function5041
-; 4888
-
-Function4888: ; 4888
-	ld hl, Function5026
-	jp Function5041
-; 488e
-
-Function488e: ; 488e
-	jp Function5037
-; 4891
-
-Function4891: ; 4891
-	jp Function5037
-; 4894
-
-Function4894: ; 4894
-	jp Function5037
-; 4897
-
-Function4897: ; 4897
-	ld hl, Function5000
-	jp Function5041
-; 489d
-
-Function489d: ; 489d
-	jp Function5037
-; 48a0
-
-Function48a0: ; 48a0
-	ld hl, Function54e6
-	jp Function5041
-; 48a6
-
-Function48a6: ; 48a6
-	ld hl, Function500e
-	jp Function5041
-; 48ac
-
-Function48ac: ; 48ac
-	call Function4793
-	dw Function48b3
-	dw Function48f8
-; 48b3
-
-Function48b3: ; 48b3
-	ld hl, $000e
-	add hl, bc
-	ld a, [hl]
-	call CheckPitTile
-	jr z, .asm_48f5
-	ld hl, $0005
-	add hl, bc
-	bit 2, [hl]
-	res 2, [hl]
-	jr z, .asm_48ee
-	ld hl, $0020
-	add hl, bc
-	ld a, [hl]
-	and $3
-	or $0
-	call Function4690
-	call Function6ec1
-	jr c, .asm_48eb
-	ld de, SFX_STRENGTH
-	call PlaySFX
-	call Function5538
-	call Function463f
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $f
-	ret
-
-.asm_48eb
-	call Function462a
-
-.asm_48ee
-	ld hl, $0007
-	add hl, bc
-	ld [hl], $ff
-	ret
-
-.asm_48f5
-	call Function4787
-	; fallthrough
-; 48f8
-
-Function48f8: ; 48f8
-	ld hl, $0007
-	add hl, bc
-	ld [hl], $ff
-	ret
-; 48ff
-
-Function48ff: ; 48ff
-	ld hl, $0010
-	add hl, bc
-	ld d, [hl]
-	ld hl, $0011
-	add hl, bc
-	ld e, [hl]
-	ld hl, $0020
-	add hl, bc
-	ld a, [hl]
-	push bc
-	call Function1ae5
-	ld hl, $0007
-	add hl, bc
-	ld a, [hl]
-	cp $ff
-	jr z, .asm_494a
-	ld hl, $0012
-	add hl, bc
-	ld a, [hl]
-	cp d
-	jr z, .asm_492d
-	jr c, .asm_4929
-	ld a, $3
-	jr .asm_493d
-
-.asm_4929
-	ld a, $2
-	jr .asm_493d
-
-.asm_492d
-	ld hl, $0013
-	add hl, bc
-	ld a, [hl]
-	cp e
-	jr z, .asm_494a
-	jr c, .asm_493b
-	ld a, $0
-	jr .asm_493d
-
-.asm_493b
-	ld a, $1
-
-.asm_493d
-	ld d, a
-	ld hl, $0007
-	add hl, bc
-	ld a, [hl]
-	and $c
-	or d
-	pop bc
-	jp Function5412
-
-.asm_494a
-	pop bc
-	ld hl, $0007
-	add hl, bc
-	ld [hl], $ff
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $1
-	ret
-; 4958
-
-Function4958: ; 4958
-	call Function467b
-	ld hl, $0007
-	add hl, bc
-	ld [hl], $ff
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $9
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $4
-	ret
-; 496e
-
-Function496e: ; 496e
-	call Function467b
-	ld hl, $0007
-	add hl, bc
-	ld [hl], $ff
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $a
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $4
-	ret
-; 4984
-
-Function4984: ; 4984
-	call Function4793
-	dw Function4996
-	dw Function499c
-	dw Function49b8
-; 498d
-
-Function498d: ; 498d
-	call Function4793
-	dw Function4996
-	dw Function499c
-	dw Function49c4
-; 4996
-
-Function4996: ; 4996
-	call Function467b
-	call Function4787
-	; fallthrough
-; 499c
-
-Function499c: ; 499c
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $1
-	ld hl, $0020
-	add hl, bc
-	ld a, [hl]
-	ld a, $10
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], a
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $3
-	call Function4787
-	ret
-; 49b8
-
-Function49b8: ; 49b8
-	ld de, .data_49c0
-	call Function49d0
-	jr Function4984
-; 49c0
-
-.data_49c0 ; 49c0
-	db $0c, $08, $00, $04
-; 49c4
-
-Function49c4: ; 49c4
-	ld de, .data_49cc
-	call Function49d0
-	jr Function498d
-; 49cc
-
-.data_49cc ; 49cc
-	db $08, $0c, $04, $00
-; 49d0
-
-Function49d0: ; 49d0
-	ld hl, $0008
-	add hl, bc
-	ld a, [hl]
-	and $c
-	rrca
-	rrca
-	push hl
-	ld l, a
-	ld h, $0
-	add hl, de
-	ld a, [hl]
-	pop hl
-	ld [hl], a
-	call Function478d
-	ret
-; 49e5
-
-Function49e5: ; 49e5
-	call Function4aa8
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $7
-	ld hl, OBJECT_STEP_DURATION
-	add hl, de
-	ld a, [hl]
-	inc a
-	add a
-	add $0
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], a
-	ld hl, $0007
-	add hl, de
-	ld a, [hl]
-	and 3
-	ld d, $e
-	cp 0
-	jr z, .asm_4a0f
-	cp 1
-	jr z, .asm_4a0f
-	ld d, $c
-
-.asm_4a0f
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	ld [hl], d
-	ld hl, OBJECT_SPRITE_X_OFFSET
-	add hl, bc
-	ld [hl], $0
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $13
-	ret
-; 4a21
-
-Function4a21: ; 4a21
-	call Function467b
-	call Function4aa8
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $8
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], $0
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	ld [hl], $f0
-	ld hl, OBJECT_SPRITE_X_OFFSET
-	add hl, bc
-	ld [hl], $0
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $13
-	ret
-; 4a46
-
-Function4a46: ; 4a46
-	call Function467b
-	call Function4aa8
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $e
-	ld hl, OBJECT_STEP_DURATION
-	add hl, de
-	ld a, [hl]
-	inc a
-	add a
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], a
-	ld hl, $0007
-	add hl, de
-	ld a, [hl]
-	and 3
-	ld e, a
-	ld d, 0
-	ld hl, .data_4a81
-	add hl, de
-	add hl, de
-	ld d, [hl]
-	inc hl
-	ld e, [hl]
-	ld hl, OBJECT_SPRITE_X_OFFSET
-	add hl, bc
-	ld [hl], d
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	ld [hl], e
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $13
-	ret
-; 4a81
-
-.data_4a81  ; 4a81
-	;   x,  y
-	db  0, -4
-	db  0,  8
-	db  6,  2
-	db -6,  2
-; 4a89
-
-Function4a89: ; 4a89
-	call Function467b
-	call Function4aa8
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $f
-	ld hl, OBJECT_STEP_DURATION
-	add hl, de
-	ld a, [hl]
-	add $ff
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], a
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $13
-	ret
-; 4aa8
-
-Function4aa8: ; 4aa8
-	ld hl, $0020
-	add hl, bc
-	ld a, [hl]
-	push bc
-	call Function1ae5
-	ld d, b
-	ld e, c
-	pop bc
-	ld hl, $001d
-	add hl, bc
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	ret
-; 4abc
-
-Function4abc: ; 4abc
-	call Function467b
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $0
-	ld hl, $0020
-	add hl, bc
-	ld a, [hl]
-	call Function4ade
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], e
-	ld hl, $001e
-	add hl, bc
-	ld [hl], a
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $15
-	ret
-; 4ade
-
-Function4ade: ; 4ade
-	ld d, a
-	and $3f
-	ld e, a
-	ld a, d
-	rlca
-	rlca
-	and $3
-	ld d, a
-	inc d
-	ld a, $1
-.asm_4aeb
-	dec d
-	ret z
-	add a
-	jr .asm_4aeb
-; 4af0
-
-Function4af0: ; 4af0
-	call Function4690
-	call Function6ec1
-	jr c, Function4b17
-	call Function463f
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $2
-	ld hl, wd4cf
-	ld a, [$ffaf]
-	cp [hl]
-	jr z, .asm_4b10
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $7
-	ret
-
-.asm_4b10
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $6
-	ret
-
-Function4b17: ; 4b17
-	call Function467b
-	call Function462a
-	; fallthrough
-; 4b1d
-
-Function4b1d: ; 4b1d
-	call Random
-	ld a, [hRandomAdd]
-	and $7f
-	jr Function4b2d
-; 4b26
-
-Function4b26: ; 4b26
-	call Random
-	ld a, [hRandomAdd]
-	and $1f
-	; fallthrough
-; 4b2d
-
-Function4b2d: ; 4b2d
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], a
-	ld hl, $0007
-	add hl, bc
-	ld [hl], $ff
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $1
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $3
-	ret
-; 4b45
-
-Pointers4b45: ; 4b45
-	dw Function47bc
-	dw Function47dd
-	dw Function4e2b
-	dw Function4ddd
-	dw Function4e21
-	dw Function4e0c
-	dw Function4e56
-	dw Function4e47
-	dw Function4b86
-	dw Function4bbf
-	dw Function4e83
-	dw Function4dff
-	dw Function4c18
-	dw Function4c89
-	dw Function4d14
-	dw Function4ecd
-	dw Function4d7e
-	dw Function4daf
-	dw Function4dc8
-	dw Function4f04
-	dw Function4f33
-	dw Function4f33
-	dw Function4f77
-	dw Function4f7a
-	dw Function4df0
-	dw Function4f83
-; 4b79
-
-Function4b79: ; 4b79
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $1
-	ret
-; 4b86
-
-Function4b86: ; 4b86
-	call Function47a8
-	dw Function4b8d
-	dw Function4ba9
-; 4b8d
-
-Function4b8d: ; 4b8d
-	call Function46d7
-	call UpdateJumpPosition
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	call Function4600
-	call Function46a6
-	ld hl, $0005
-	add hl, bc
-	res 3, [hl]
-	call Function47a2
-	ret
-; 4ba9
-
-Function4ba9: ; 4ba9
-	call Function46d7
-	call UpdateJumpPosition
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	call Function4600
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $1
-	ret
-; 4bbf
-
-Function4bbf: ; 4bbf
-	call Function47a8
-	dw Function4bca
-	dw Function4bd2
-	dw Function4bf2
-	dw Function4bfd
-; 4bca
-
-Function4bca: ; 4bca
-	ld hl, wd150
-	set 7, [hl]
-	call Function47a2
-;	fallthrough
-; 4bd2
-
-Function4bd2: ; 4bd2
-	call UpdateJumpPosition
-	call Function4738
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	call Function4600
-	ld hl, $0005
-	add hl, bc
-	res 3, [hl]
-	ld hl, wd150
-	set 6, [hl]
-	set 4, [hl]
-	call Function47a2
-	ret
-; 4bf2
-
-Function4bf2: ; 4bf2
-	call Function46a6
-	ld hl, wd150
-	set 7, [hl]
-	call Function47a2
-;	fallthrough
-; 4bfd
-
-Function4bfd: ; 4bfd
-	call UpdateJumpPosition
-	call Function4738
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	ld hl, wd150
-	set 6, [hl]
-	call Function4600
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $1
-	ret
-; 4c18
-
-Function4c18: ; 4c18
-	call Function47a8
-	dw Function4c23
-	dw Function4c32
-	dw Function4c42
-	dw Function4c5d
-; 4c23
-
-Function4c23: ; 4c23
-	ld hl, $000c
-	add hl, bc
-	ld [hl], $0
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], $10
-	call Function47a2
-;	fallthrough
-; 4c32
-
-Function4c32: ; 4c32
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $4
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	call Function47a2
-	ret
-; 4c42
-
-Function4c42: ; 4c42
-	ld hl, $000c
-	add hl, bc
-	ld [hl], $0
-	ld hl, $001f
-	add hl, bc
-	ld [hl], $10
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], $10
-	ld hl, $0005
-	add hl, bc
-	res 3, [hl]
-	call Function47a2
-;	fallthrough
-; 4c5d
-
-Function4c5d: ; 4c5d
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $4
-	ld hl, $001f
-	add hl, bc
-	inc [hl]
-	ld a, [hl]
-	ld d, $60
-	call Sine
-	ld a, h
-	sub $60
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	ld [hl], a
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	ld hl, $000c
-	add hl, bc
-	ld [hl], $0
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $1
-	ret
-; 4c89
-
-Function4c89: ; 4c89
-	call Function47a8
-	dw Function4c9a
-	dw Function4caa
-	dw Function4cb3
-	dw Function4cc9
-	dw Function4ceb
-	dw Function4cf5
-	dw Function4d01
-; 4c9a
-
-Function4c9a: ; 4c9a
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $0
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], $10
-	call Function47a2
-	ret
-; 4caa
-
-Function4caa: ; 4caa
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	call Function47a2
-;	fallthrough
-; 4cb3
-
-Function4cb3: ; 4cb3
-	ld hl, $000c
-	add hl, bc
-	ld [hl], $0
-	ld hl, $001f
-	add hl, bc
-	ld [hl], $0
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], $10
-	call Function47a2
-	ret
-; 4cc9
-
-Function4cc9: ; 4cc9
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $4
-	ld hl, $001f
-	add hl, bc
-	inc [hl]
-	ld a, [hl]
-	ld d, $60
-	call Sine
-	ld a, h
-	sub $60
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	ld [hl], a
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	call Function47a2
-;	fallthrough
-; 4ceb
-
-Function4ceb: ; 4ceb
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], $10
-	call Function47a2
-	ret
-; 4cf5
-
-Function4cf5: ; 4cf5
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $4
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-; 4d01
-
-Function4d01: ; 4d01
-	ld hl, $000c
-	add hl, bc
-	ld [hl], $0
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	ld [hl], $0
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $1
-	ret
-; 4d14
-
-Function4d14: ; 4d14
-	call Function47a8
-	dw Function4d1f
-	dw Function4d2e
-	dw Function4d4f
-	dw Function4d6b
-; 4d1f
-
-Function4d1f: ; 4d1f
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $0
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], $10
-	call Function47a2
-;	fallthrough
-; 4d2e
-
-Function4d2e: ; 4d2e
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $2
-	ld hl, $000c
-	add hl, bc
-	ld [hl], $0
-	ld hl, $001f
-	add hl, bc
-	ld [hl], $0
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], $10
-	call Function47a2
-;	fallthrough
-; 4d4f
-
-Function4d4f: ; 4d4f
-	ld hl, $001f
-	add hl, bc
-	inc [hl]
-	ld a, [hl]
-	ld d, $60
-	call Sine
-	ld a, h
-	sub $60
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	ld [hl], a
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	call Function47a2
-;	fallthrough
-; 4d6b
-
-Function4d6b: ; 4d6b
-	ld hl, $000c
-	add hl, bc
-	ld [hl], $0
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	ld [hl], $0
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $1
-	ret
-; 4d7e
-
-Function4d7e: ; 4d7e
-	call Function47a8
-	dw Function4d85
-	dw Function4d94
-; 4d85
-
-Function4d85: ; 4d85
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], $8
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	ld [hl], $0
-	call Function47a2
-	; fallthrough
-; 4d94
-
-Function4d94: ; 4d94
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	ld a, [hl]
-	xor 1
-	ld [hl], a
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	ld [hl], $0
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $1
-	ret
-; 4daf
-
-Function4daf: ; 4daf
-	call Function4db5
-	jp Function4b79
-; 4db5
-
-Function4db5: ; 4db5
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld a, [hl]
-	and $1
-	ld a, $1
-	jr z, .asm_4dc2
-	ld a, $0
-
-.asm_4dc2
-	ld hl, $000b
-	add hl, bc
-	ld [hl], a
-	ret
-; 4dc8
-
-Function4dc8: ; 4dc8
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld a, [hl]
-	and $1
-	ld a, $4
-	jr z, .asm_4dd5
-	ld a, $5
-
-.asm_4dd5
-	ld hl, $000b
-	add hl, bc
-	ld [hl], a
-	jp Function4b79
-; 4ddd
-
-Function4ddd: ; 4ddd
-	ld hl, $0007
-	add hl, bc
-	ld [hl], $ff
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $1
-	ret
-; 4df0
-
-Function4df0: ; 4df0
-	ld hl, $0007
-	add hl, bc
-	ld [hl], $ff
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	jp Function4357
-; 4dff
-
-Function4dff: ; 4dff
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $1
-	ret
-; 4e0c
-
-Function4e0c: ; 4e0c
-	call Function47a8
-	dw Function4e13
-	dw Function4e21
-; 4e13
-
-Function4e13: ; 4e13
-	call Function4769
-	call Function1a47
-	ld hl, $0008
-	add hl, bc
-	ld [hl], a
-	call Function47a2
-	; fallthrough
-; 4e21
-
-Function4e21: ; 4e21
-	call Function4fb2
-	ld hl, $0007
-	add hl, bc
-	ld [hl], $ff
-	ret
-; 4e2b
-
-Function4e2b: ; 4e2b
-	call Function4fb2
-	call Function46d7
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	call Function4600
-	ld hl, $0007
-	add hl, bc
-	ld [hl], $ff
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $1
-	ret
-; 4e47
-
-Function4e47: ; 4e47
-	call Function46d7
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	call Function4600
-	jp Function4b1d
-; 4e56
-
-Function4e56: ; 4e56
-; AnimateStep?
-	call Function47a8
-	dw Function4e5d
-	dw Function4e65
-; 4e5d
-
-Function4e5d: ; 4e5d
-	ld hl, wd150
-	set 7, [hl]
-	call Function47a2
-	; fallthrough
-; 4e65
-
-Function4e65: ; 4e65
-	call Function4738
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	ld hl, wd150
-	set 6, [hl]
-	call Function4600
-	ld hl, $0007
-	add hl, bc
-	ld [hl], $ff
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $1
-	ret
-; 4e83
-
-Function4e83: ; 4e83
-	call Function47a8
-	dw Function4e8e
-	dw Function4ea4
-	dw Function4ead
-	dw Function4ec0
-; 4e8e
-
-Function4e8e: ; 4e8e
-	ld hl, $0007
-	add hl, bc
-	ld [hl], $ff
-	ld hl, $000c
-	add hl, bc
-	ld a, [hl]
-	ld [hl], $2
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], $2
-	call Function47a2
-	; fallthrough
-; 4ea4
-
-Function4ea4: ; 4ea4
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	call Function47a2
-	; fallthrough
-; 4ead
-
-Function4ead: ; 4ead
-	ld hl, $001d
-	add hl, bc
-	ld a, [hl]
-	ld hl, $0008
-	add hl, bc
-	ld [hl], a
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], $2
-	call Function47a2
-	; fallthrough
-; 4ec0
-
-Function4ec0: ; 4ec0
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $1
-	ret
-; 4ecd
-
-Function4ecd: ; 4ecd
-	call Function46d7
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	push bc
-	ld hl, OBJECT_MAP_X
-	add hl, bc
-	ld d, [hl]
-	ld hl, OBJECT_MAP_Y
-	add hl, bc
-	ld e, [hl]
-	ld hl, $0001
-	add hl, bc
-	ld a, [hl]
-	ld b, a
-	callba Function807e
-	pop bc
-	ld hl, OBJECT_FLAGS
-	add hl, bc
-	res 2, [hl]
-	call Function4600
-	ld hl, $0007
-	add hl, bc
-	ld [hl], $ff
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $1
-	ret
-; 4f04
-
-Function4f04: ; 4f04
-	ld hl, $001d
-	add hl, bc
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld hl, $0000
-	add hl, de
-	ld a, [hl]
-	and a
-	jr z, .asm_4f30
-	ld hl, OBJECT_SPRITE_X
-	add hl, de
-	ld a, [hl]
-	ld hl, OBJECT_SPRITE_X
-	add hl, bc
-	ld [hl], a
-	ld hl, OBJECT_SPRITE_Y
-	add hl, de
-	ld a, [hl]
-	ld hl, OBJECT_SPRITE_Y
-	add hl, bc
-	ld [hl], a
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld a, [hl]
-	and a
-	ret z
-	dec [hl]
-	ret nz
-
-.asm_4f30
-	jp Function4357
-; 4f33
-
-Function4f33: ; 4f33
-	call Function47a8
-	dw Function4f3a
-	dw Function4f43
-; 4f3a
-
-Function4f3a: ; 4f3a
-	xor a
-	ld hl, $001d
-	add hl, bc
-	ld [hl], a
-	call Function47a2
-	; fallthrough
-; 4f43
-
-Function4f43: ; 4f43
-	ld hl, $001d
-	add hl, bc
-	ld d, [hl]
-	ld a, [wd14f]
-	sub d
-	ld [wd14f], a
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	jr z, .asm_4f68
-	ld a, [hl]
-	call Function4f6c
-	ld hl, $001d
-	add hl, bc
-	ld [hl], a
-	ld d, a
-	ld a, [wd14f]
-	add d
-	ld [wd14f], a
-	ret
-
-.asm_4f68
-	call Function4357
-	ret
-; 4f6c
-
-Function4f6c: ; 4f6c
-	ld hl, $001e
-	add hl, bc
-	and 1
-	ld a, [hl]
-	ret z
-	cpl
-	inc a
-	ret
-; 4f77
-
-Function4f77: ; 4f77
-	call Function47a8 ; ????
-; 4f7a
-
-Function4f7a: ; 4f7a
-	call Function47a8
-	dw Function4f83
-	dw Function4f83
-	dw Function4f83
-; 4f83
-
-Function4f83: ; 4f83
-	call Function47a8
-	dw Function4f8a
-	dw Function4f99
-; 4f8a
-
-Function4f8a: ; 4f8a
-	ld hl, $000b
-	add hl, bc
-	ld [hl], $10
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	ld [hl], $10
-	call Function47a2
-; 4f99
-
-Function4f99: ; 4f99
-	ld hl, OBJECT_STEP_DURATION
-	add hl, bc
-	dec [hl]
-	ret nz
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	ld [hl], $60
-	ld hl, $000c
-	add hl, bc
-	ld [hl], $0
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $1
-	ret
-; 4fb2
-
-Function4fb2: ; 4fb2
-	ret
-; 4fb3
-
-Function4fb3: ; 4fb3
-	ld hl, $001d
-	add hl, bc
-	inc [hl]
-	ld a, [hl]
-	srl a
-	srl a
-	and 7
-	ld l, a
-	ld h, 0
-	ld de, .y
-	add hl, de
-	ld a, [hl]
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	ld [hl], a
-	ret
-; 4fcd
-
-.y ; 4fcd
-	db 0, -1, -2, -3, -4, -3, -2, -1
-; 4fd5
-
-UpdateJumpPosition: ; 4fd5
-	call GetStepVector
-	ld a, h
-	ld hl, $001f
-	add hl, bc
-	ld e, [hl]
-	add e
-	ld [hl], a
-	nop
-	srl e
-	ld d, 0
-	ld hl, .y
-	add hl, de
-	ld a, [hl]
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	ld [hl], a
-	ret
-; 4ff0
-
-.y ; 4ff0
-	db  -4,  -6,  -8, -10, -11, -12, -12, -12
-	db -11, -10,  -9,  -8,  -6,  -4,   0,   0
-; 5000
-
-Function5000: ; 5000
-	ld a, [wc2de]
-	ld hl, wc2df
-	ld [hl], a
-	ld a, $3e
-	ld [wc2de], a
-	ld a, [hl]
-	ret
-; 500e
-
-Function500e: ; 500e
-	ld hl, wc2e3
-	call Function1aae
-	ret
-; 5015
-
-Function5015: ; 5015
-	ld hl, $001b
-	add hl, bc
-	ld e, [hl]
-	inc [hl]
-	ld d, 0
-	ld hl, wc2e2
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	add hl, de
-	ld a, [hl]
-	ret
-; 5026
-
-Function5026: ; 5026
-	ld hl, $001b
-	add hl, bc
-	ld e, [hl]
-	inc [hl]
-	ld d, 0
-	ld hl, wc2e6
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	add hl, de
-	ld a, [hl]
-	ret
-; 5037
-
-Function5037: ; 5037
-	ld hl, Function503d
-	jp Function5041
-; 503d
-
-Function503d: ; 503d
-	ld a, [wc2e2]
-	ret
-; 5041
-
-Function5041: ; 5041
-	call Function5055
-.asm_5044
-	xor a
-	ld [wc2ea], a
-	call Function505e
-	call Function506b
-	ld a, [wc2ea]
-	and a
-	jr nz, .asm_5044
-	ret
-; 5055
-
-Function5055: ; 5055
-	ld a, l
-	ld [wc2eb], a
-	ld a, h
-	ld [wc2ec], a
-	ret
-; 505e
-
-Function505e: ; 505e
-	ld hl, wc2eb
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 5065
-
-Function5065: ; 5065
-	ld a, $1
-	ld [wc2ea], a
-	ret
-; 506b
-
-Function506b: ; 506b
-	push af
-	call Function54b8
-	pop af
-	ld hl, MovementPointers
-	rst JumpTable
-	ret
-; 5075
-
-
-; 5075
-INCLUDE "engine/movement.asm"
-; 54b8
-
-
-Function54b8: ; 54b8
-	ld e, a
-	ld a, [wd4ce]
-	cp $ff
-	ret z
-	ld a, [wd4cd]
-	ld d, a
-	ld a, [$ffaf]
-	cp d
-	ret nz
-	ld a, e
-	cp $3e
-	ret z
-	cp $47
-	ret z
-	cp $4b
-	ret z
-	cp $50
-	ret z
-	cp $8
-	ret c
-	push af
-	ld hl, wd4d0
-	inc [hl]
-	ld e, [hl]
-	ld d, 0
-	ld hl, wd4d1
-	add hl, de
-	pop af
-	ld [hl], a
-	ret
-; 54e6
-
-Function54e6: ; 54e6
-	ld hl, wd4d0
-	ld a, [hl]
-	and a
-	jr z, .asm_5503
-	cp $ff
-	jr z, .asm_5503
-	dec [hl]
-	ld e, a
-	ld d, 0
-	ld hl, wd4d1
-	add hl, de
-	inc e
-	ld a, $ff
-.asm_54fc
-	ld d, [hl]
-	ld [hld], a
-	ld a, d
-	dec e
-	jr nz, .asm_54fc
-	ret
-
-.asm_5503
-	call Function550a
-	ret c
-	ld a, $3e
-	ret
-; 550a
-
-Function550a: ; 550a
-	ld a, [wd4cd]
-	cp $ff
-	jr z, .asm_5520
-	push bc
-	call Function1ae5
-	ld hl, $0000
-	add hl, bc
-	ld a, [hl]
-	pop bc
-	and a
-	jr z, .asm_5520
-	and a
-	ret
-
-.asm_5520
-	ld a, $ff
-	ld [wd4ce], a
-	ld a, $47
-	scf
-	ret
-; 5529
-
-Function5529: ; 5529
-	push bc
-	ld de, .data_5535
-	call Function55b9
-	call Function55ac
-	pop bc
-	ret
-
-.data_5535
-	db $00, $05, $1b
-; 5538
-
-Function5538: ; 5538
-	push bc
-	ld de, .data_5544
-	call Function55b9
-	call Function55ac
-	pop bc
-	ret
-
-.data_5544
-	db $00, $05, $22
-; 5547
-
-Function5547: ; 5547
-	push bc
-	ld de, .data_5553
-	call Function55b9
-	call Function55ac
-	pop bc
-	ret
-
-.data_5553
-	db $00, $05, $1c
-; 5556
-
-Function5556: ; 5556
-	push bc
-	ld de, .data_5562
-	call Function55b9
-	call Function55ac
-	pop bc
-	ret
-
-.data_5562
-	db $00, $06, $23
-; 5565
-
-Function5565: ; 5565
-	push bc
-	push af
-	ld de, .data_5576
-	call Function55b9
-	pop af
-	ld [wc2f5], a
-	call Function55ac
-	pop bc
-	ret
-
-.data_5576
-	db $00, $05, $1d
-; 5579
-
-Function5579: ; 5579
-	push bc
-	ld a, [$ffaf]
-	ld c, a
-	call Function5582
-	pop bc
-	ret
-; 5582
-
-Function5582: ; 5582
-	ld de, ObjectStructs
-	ld a, $d
-.asm_5587
-	push af
-	ld hl, $0004
-	add hl, de
-	bit 7, [hl]
-	jr z, .asm_55a1
-	ld hl, $0000
-	add hl, de
-	ld a, [hl]
-	and a
-	jr z, .asm_55a1
-	push bc
-	xor a
-	ld bc, ObjectStruct2 - ObjectStruct1
-	call ByteFill
-	pop bc
-
-.asm_55a1
-	ld hl, ObjectStruct2 - ObjectStruct1
-	add hl, de
-	ld d, h
-	ld e, l
-	pop af
-	dec a
-	jr nz, .asm_5587
-	ret
-; 55ac
-
-Function55ac: ; 55ac
-	call Function1a13
-	ret nc
-	ld d, h
-	ld e, l
-	callba Function8286
-	ret
-; 55b9
-
-Function55b9: ; 55b9
-	ld hl, wc2f0
-	ld [hl], $ff
-	inc hl
-	ld [hl], $ff
-	inc hl
-	ld a, [de]
-	inc de
-	ld [hli], a
-	ld a, [de]
-	inc de
-	ld [hli], a
-	ld a, [de]
-	ld [hli], a
-	ld a, [$ffaf]
-	ld [hli], a
-	push hl
-	ld hl, $0010
-	add hl, bc
-	ld d, [hl]
-	ld hl, $0011
-	add hl, bc
-	ld e, [hl]
-	pop hl
-	ld [hl], d
-	inc hl
-	ld [hl], e
-	inc hl
-	ld [hl], $ff
-	ret
-; 55e0
-
-Function55e0:: ; 55e0
-	ld a, [VramState]
-	bit 0, a
-	ret z
-	ld bc, ObjectStructs
-	xor a
-.asm_55ea
-	ld [$ffaf], a
-	call Function1af1
-	jr z, .asm_55f4
-	call Function565c
-
-.asm_55f4
-	ld hl, ObjectStruct2 - ObjectStruct1
-	add hl, bc
-	ld b, h
-	ld c, l
-	ld a, [$ffaf]
-	inc a
-	cp $d
-	jr nz, .asm_55ea
-	ret
-; 5602
-
-Function5602: ; 5602
-	call Function5645
-	ld a, $0
-	call Function5629
-	ld a, [wd459]
-	bit 7, a
-	jr z, .asm_5619
-	ld a, [$ffe0]
-	and a
-	jr z, .asm_5619
-	call Function5629
-
-.asm_5619
-	call Function5920
-	ret
-; 561d
-
-Function561d: ; 561d
-	call Function5645
-	ld a, $0
-	call Function5629
-	call Function5920
-	ret
-; 5629
-
-Function5629: ; 5629
-	cp $10
-	ret nc
-	call GetMapObject
-	ld hl, $0000
-	add hl, bc
-	ld a, [hl]
-	cp $ff
-	ret z
-	cp $d
-	ret nc
-	call Function1ae5
-	call Function1af1
-	ret z
-	call Function5673
-	ret
-; 5645
-
-Function5645: ; 5645
-	xor a
-	ld bc, ObjectStructs
-.asm_5649
-	ld [$ffaf], a
-	call Function5680
-	ld hl, ObjectStruct2 - ObjectStruct1
-	add hl, bc
-	ld b, h
-	ld c, l
-	ld a, [$ffaf]
-	inc a
-	cp $d
-	jr nz, .asm_5649
-	ret
-; 565c
-
-Function565c: ; 565c
-	push bc
-	call Function56cd
-	pop bc
-	jr c, Function5680
-	call Function56a3
-	jr c, Function5680
-	call Function5688
-	callba Function4440
-	xor a
-	ret
-; 5673
-
-Function5673: ; 5673
-	call Function56a3
-	jr c, Function5680
-	callba Function4440
-	xor a
-	ret
-; 5680
-
-Function5680: ; 5680
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld [hl], $ff
-	scf
-	ret
-; 5688
-
-Function5688: ; 5688
-	push bc
-	ld hl, $0010
-	add hl, bc
-	ld d, [hl]
-	ld hl, $0011
-	add hl, bc
-	ld e, [hl]
-	call Function2a3c
-	pop bc
-	ld hl, $000e
-	add hl, bc
-	ld [hl], a
-	callba Function463f
-	ret
-; 56a3
-
-Function56a3: ; 56a3
-	ld hl, $0010
-	add hl, bc
-	ld d, [hl]
-	ld hl, $0011
-	add hl, bc
-	ld e, [hl]
-	inc d
-	inc e
-	ld a, [XCoord]
-	cp d
-	jr z, .asm_56bc
-	jr nc, .asm_56cb
-	add $b
-	cp d
-	jr c, .asm_56cb
-
-.asm_56bc
-	ld a, [YCoord]
-	cp e
-	jr z, .asm_56c9
-	jr nc, .asm_56cb
-	add $a
-	cp e
-	jr c, .asm_56cb
-
-.asm_56c9
-	xor a
-	ret
-
-.asm_56cb
-	scf
-	ret
-; 56cd
-
-Function56cd: ; 56cd
-	ld a, [wd14c]
-	ld d, a
-	ld hl, OBJECT_SPRITE_X_OFFSET
-	add hl, bc
-	ld a, [hl]
-	ld hl, OBJECT_SPRITE_X
-	add hl, bc
-	add [hl]
-	add d
-	cp $f0
-	jr nc, .asm_56e5
-	cp $a0
-	jp nc, .asm_5768
-
-.asm_56e5
-	and $7
-	ld d, $2
-	cp $4
-	jr c, .asm_56ef
-	ld d, $3
-
-.asm_56ef
-	ld a, [hl]
-	srl a
-	srl a
-	srl a
-	cp $14
-	jr c, .asm_56fc
-	sub $20
-
-.asm_56fc
-	ld [$ffbd], a
-	ld a, [wd14d]
-	ld e, a
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	ld a, [hl]
-	ld hl, OBJECT_SPRITE_Y
-	add hl, bc
-	add [hl]
-	add e
-	cp $f0
-	jr nc, .asm_5715
-	cp $90
-	jr nc, .asm_5768
-
-.asm_5715
-	and $7
-	ld e, $2
-	cp $4
-	jr c, .asm_571f
-	ld e, $3
-
-.asm_571f
-	ld a, [hl]
-	srl a
-	srl a
-	srl a
-	cp $12
-	jr c, .asm_572c
-	sub $20
-
-.asm_572c
-	ld [$ffbe], a
-	ld hl, $0006
-	add hl, bc
-	bit 7, [hl]
-	jr z, .asm_573e
-	ld a, d
-	add $2
-	ld d, a
-	ld a, e
-	add $2
-	ld e, a
-
-.asm_573e
-	ld a, d
-	ld [$ffbf], a
-.asm_5741
-	ld a, [$ffbf]
-	ld d, a
-	ld a, [$ffbe]
-	add e
-	dec a
-	cp $12
-	jr nc, .asm_5763
-	ld b, a
-.asm_574d
-	ld a, [$ffbd]
-	add d
-	dec a
-	cp $14
-	jr nc, .asm_5760
-	ld c, a
-	push bc
-	call GetTileCoord
-	pop bc
-	ld a, [hl]
-	cp $60
-	jr nc, .asm_5768
-
-.asm_5760
-	dec d
-	jr nz, .asm_574d
-
-.asm_5763
-	dec e
-	jr nz, .asm_5741
-	and a
-	ret
-
-.asm_5768
-	scf
-	ret
-; 576a
-
-Function576a:: ; 576a
-	call Function5771
-	call Function5781
-	ret
-; 5771
-
-Function5771: ; 5771
-	xor a
-	ld [wd14e], a
-	ld [wd14f], a
-	ld [wd150], a
-	ld a, $ff
-	ld [wd151], a
-	ret
-; 5781
-
-Function5781: ; 5781
-	ld bc, ObjectStructs
-	xor a
-.asm_5785
-	ld [$ffaf], a
-	call Function1af1
-	jr z, .asm_578f
-	call Function437b
-
-.asm_578f
-	ld hl, ObjectStruct2 - ObjectStruct1
-	add hl, bc
-	ld b, h
-	ld c, l
-	ld a, [$ffaf]
-	inc a
-	cp $d
-	jr nz, .asm_5785
-	ret
-; 579d
-
-Function579d: ; 579d
-	ld a, $3e
-	ld [wc2de], a
-	ld [wc2df], a
-	xor a
-	ld [wd04e], a
-	ld [wd4e2], a
-	call Function57bc
-	callba Function149c6
-	call c, Function57d9
-	call Function57ca
-	ret
-; 57bc
-
-Function57bc: ; 57bc
-	ld hl, wd45b
-	bit 7, [hl]
-	jr nz, .asm_57c4
-	ret
-
-.asm_57c4
-	ld a, $0
-	ld [PlayerAction], a
-	ret
-; 57ca
-
-Function57ca: ; 57ca
-	ld hl, wd45b
-	bit 5, [hl]
-	ret z
-	ld a, [wd45b]
-	and $3
-	add a
-	add a
-	jr Function57db
-; 57d9
-
-Function57d9: ; 57d9
-	ld a, $0
-	; fallthrough
-; 57db
-
-Function57db: ; 57db
-	ld bc, PlayerStruct
-	call Function1af8
-	ret
-; 57e2
-
-Function57e2: ; 57e2
-	ld a, d
-	and $80
-	ret z
-	ld bc, $0000
-	ld hl, $0008
-	add hl, bc
-	ld a, [hl]
-	or d
-	ld [hl], a
-	ld a, d
-	swap a
-	and $7
-	ld d, a
-	ld bc, PlayerStruct
-	ld hl, $0006
-	add hl, bc
-	ld a, [hl]
-	and $f8
-	or d
-	ld [hl], a
-	ret
-; 5803
-
-Function5803:: ; 5803
-	push bc
-	ld a, b
-	call Function5815
-	pop bc
-	ret c
-	ld a, c
-	call Function582c
-	callba Function848a
-	ret
-; 5815
-
-Function5815: ; 5815
-	call Function18de
-	ret c
-	ld a, [$ffb0]
-	ld [wd4cd], a
-	ret
-; 581f
-
-Function581f:: ; 581f
-	call Function5826
-	call Function5847
-	ret
-; 5826
-
-Function5826: ; 5826
-	ld a, $ff
-	ld [wd4cd], a
-	ret
-; 582c
-
-Function582c: ; 582c
-	push af
-	call Function5847
-	pop af
-	call Function18de
-	ret c
-	ld hl, $0003
-	add hl, bc
-	ld [hl], $13
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $0
-	ld a, [$ffb0]
-	ld [wd4ce], a
-	ret
-; 5847
-
-Function5847: ; 5847
-	ld a, [wd4ce]
-	cp $ff
-	ret z
-	call Function1ae5
-	callba Function58e3
-	ld a, $ff
-	ld [wd4ce], a
-	ret
-; 585c
-
-Function585c:: ; 585c
-	ld a, c
-	call Function18de
-	ret c
-	push bc
-	call Function587a
-	pop bc
-	ld hl, $0005
-	add hl, bc
-	res 5, [hl]
-	xor a
-	ret
-; 586e
-
-Function586e: ; 586e
-	call Function18de
-	ret c
-	ld hl, $0005
-	add hl, bc
-	set 5, [hl]
-	xor a
-	ret
-; 587a
-
-Function587a: ; 587a
-	ld bc, ObjectStructs
-	xor a
-.asm_587e
-	push af
-	call Function1af1
-	jr z, .asm_588a
-	ld hl, $0005
-	add hl, bc
-	set 5, [hl]
-
-.asm_588a
-	ld hl, ObjectStruct2 - ObjectStruct1
-	add hl, bc
-	ld b, h
-	ld c, l
-	pop af
-	inc a
-	cp $d
-	jr nz, .asm_587e
-	ret
-; 5897
-
-Function5897:: ; 5897
-	ld a, [wd4cd]
-	cp $ff
-	ret z
-	push bc
-	call Function1ae5
-	ld hl, $0001
-	add hl, bc
-	ld a, [hl]
-	pop bc
-	cp c
-	ret nz
-	ld a, [wd4ce]
-	cp $ff
-	ret z
-	call Function1ae5
-	ld hl, $0005
-	add hl, bc
-	res 5, [hl]
-	ret
-; 58b9
-
-Function58b9:: ; 58b9
-	push bc
-	ld bc, ObjectStructs
-	xor a
-.asm_58be
-	push af
-	call Function1af1
-	jr z, .asm_58ca
-	ld hl, $0005
-	add hl, bc
-	res 5, [hl]
-
-.asm_58ca
-	ld hl, ObjectStruct2 - ObjectStruct1
-	add hl, bc
-	ld b, h
-	ld c, l
-	pop af
-	inc a
-	cp $d
-	jr nz, .asm_58be
-	pop bc
-	ret
-; 58d8
-
-Function58d8: ; 58d8
-	call Function18de
-	ret c
-	ld hl, $0005
-	add hl, bc
-	res 5, [hl]
-	ret
-; 58e3
-
-Function58e3: ; 58e3
-	ld hl, $0001
-	add hl, bc
-	ld a, [hl]
-	cp $ff
-	jp z, Function5903
-	push bc
-	call GetMapObject
-	ld hl, $0004
-	add hl, bc
-	ld a, [hl]
-	pop bc
-	ld hl, $0003
-	add hl, bc
-	ld [hl], a
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $0
-	ret
-; 5903
-
-Function5903: ; 5903
-	call GetSpriteDirection
-	rrca
-	rrca
-	ld e, a
-	ld d, 0
-	ld hl, .data_591c
-	add hl, de
-	ld a, [hl]
-	ld hl, $0003
-	add hl, bc
-	ld [hl], a
-	ld hl, $0009
-	add hl, bc
-	ld [hl], $0
-	ret
-
-.data_591c
-	db 6, 7, 8, 9
-; 5920
-
-Function5920:: ; 5920
-	ld a, [VramState]
-	bit 0, a
-	ret z
-	xor a
-	ld [$ffbd], a
-	ld a, [hOAMUpdate]
-	push af
-	ld a, $1
-	ld [hOAMUpdate], a
-	call Function5991
-	call Function593a
-	pop af
-	ld [hOAMUpdate], a
-	ret
-; 593a
-
-Function593a: ; 593a
-	ld a, [VramState]
-	bit 1, a
-	ld b, $a0
-	jr z, .asm_5945
-	ld b, $70
-
-.asm_5945
-	ld a, [$ffbd]
-	cp b
-	ret nc
-	ld l, a
-	ld h, $c4
-	ld de, $0004
-	ld a, b
-	ld c, $a0
-.asm_5952
-	ld [hl], c
-	add hl, de
-	cp l
-	jr nz, .asm_5952
-	ret
-; 5958
-
-Function5958: ; 5958
-	push hl
-	push de
-	push bc
-	ld a, [wd14c]
-	ld d, a
-	ld a, [wd14d]
-	ld e, a
-	ld bc, ObjectStructs
-	ld a, $d
-
-.asm_5968
-	push af
-	call Function1af1
-	jr z, .asm_597c
-
-	ld hl, OBJECT_SPRITE_X
-	add hl, bc
-	ld a, [hl]
-	add d
-	ld [hl], a
-
-	ld hl, OBJECT_SPRITE_Y
-	add hl, bc
-	ld a, [hl]
-	add e
-	ld [hl], a
-
-.asm_597c
-	ld hl, ObjectStruct2 - ObjectStruct1
-	add hl, bc
-	ld b, h
-	ld c, l
-	pop af
-	dec a
-	jr nz, .asm_5968
-
-	xor a
-	ld [wd14c], a
-	ld [wd14d], a
-	pop bc
-	pop de
-	pop hl
-	ret
-; 5991
-
-Function5991: ; 5991
-	call Function59a4
-	ld c, $30
-	call Function59f3
-	ld c, $20
-	call Function59f3
-	ld c, $10
-	call Function59f3
-	ret
-; 59a4
-
-Function59a4: ; 59a4
-	xor a
-	ld hl, wc2eb
-	ld bc, 13
-	call ByteFill
-
-	ld d, 0
-	ld bc, ObjectStructs
-	ld hl, wc2eb
-.loop
-	push hl
-	call Function1af1
-	jr z, .skip
-
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld a, [hl]
-	cp -1
-	jr z, .skip
-
-; Define the sprite priority.
-	ld e, $10
-	ld hl, OBJECT_FLAGS
-	add hl, bc
-	bit 0, [hl]
-	jr nz, .add
-	ld e, $20
-	bit 1, [hl]
-	jr z, .add
-	ld e, $30
-	jr .add
-
-.skip
-	ld hl, ObjectStruct2 - ObjectStruct1
-	add hl, bc
-	ld b, h
-	ld c, l
-	pop hl
-	jr .next
-
-.add
-	ld hl, ObjectStruct2 - ObjectStruct1
-	add hl, bc
-	ld b, h
-	ld c, l
-	pop hl
-	ld a, d
-	or e
-	ld [hli], a
-
-.next
-	inc d
-	ld a, d
-	cp $d
-	jr nz, .loop
-	ret
-; 59f3
-
-Function59f3: ; 59f3
-	ld hl, wc2eb
-.next
-	ld a, [hli]
-	ld d, a
-	and $f0
-	ret z
-	cp c
-	jr nz, .next
-
-	push bc
-	push hl
-	ld a, d
-	and $f
-	call Function5ac2
-	call Function5a0d
-	pop hl
-	pop bc
-	jr .next
-; 5a0d
-
-Function5a0d: ; 5a0d
-	ld hl, OBJECT_SPRITE
-	add hl, bc
-	ld a, [hl]
-	and $7f
-	ld [$ffc1], a
-
-	xor a
-	bit 7, [hl]
-	jr nz, .asm_5a1d
-	or 8
-.asm_5a1d
-
-	ld hl, OBJECT_FLAGS
-	add hl, bc
-	ld e, [hl]
-	bit 7, e
-	jr z, .asm_5a28
-	or $80
-.asm_5a28
-
-	bit 4, e
-	jr z, .asm_5a2e
-	or $10
-.asm_5a2e
-
-	ld hl, OBJECT_PALETTE
-	add hl, bc
-	ld d, a
-	ld a, [hl]
-	and 7
-	or d
-	ld d, a
-
-	xor a
-	bit 3, e
-	jr z, .asm_5a3f
-	or $80
-.asm_5a3f
-	ld [$ffc2], a
-
-	ld hl, OBJECT_SPRITE_X
-	add hl, bc
-	ld a, [hl]
-
-	ld hl, OBJECT_SPRITE_X_OFFSET
-	add hl, bc
-	add [hl]
-
-	add 8
-
-	ld e, a
-	ld a, [wd14c]
-	add e
-	ld [$ffbf], a
-
-	ld hl, OBJECT_SPRITE_Y
-	add hl, bc
-	ld a, [hl]
-
-	ld hl, OBJECT_SPRITE_Y_OFFSET
-	add hl, bc
-	add [hl]
-
-	add 12
-
-	ld e, a
-	ld a, [wd14d]
-	add e
-	ld [$ffc0], a
-
-	ld hl, OBJECT_FACING
-	add hl, bc
-	ld a, [hl]
-	cp -1
-	jp z, .done
-	cp NUM_FACINGS
-	jp nc, .done
-
-	ld l, a
-	ld h, 0
-	add hl, hl
-	ld bc, Facings
-	add hl, bc
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-
-	ld a, [$ffbd]
-	ld c, a
-	ld b, Sprites / $100
-	ld a, [hli]
-	ld [$ffbe], a
-	add c
-	cp SpritesEnd % $100
-	jr nc, .full
-
-.addsprite
-	ld a, [$ffc0]
-	add [hl]
-	inc hl
-
-	ld [bc], a
-	inc c
-
-	ld a, [$ffbf]
-	add [hl]
-	inc hl
-
-	ld [bc], a
-	inc c
-
-	ld e, [hl]
-	inc hl
-
-	ld a, [$ffc1]
-	bit 2, e
-	jr z, .asm_5aa3
-	xor a
-.asm_5aa3
-	add [hl]
-	inc hl
-
-	ld [bc], a
-	inc c
-
-	ld a, e
-	bit 1, a
-	jr z, .asm_5aaf
-	ld a, [$ffc2]
-	or e
-.asm_5aaf
-	and $f0
-	or d
-	ld [bc], a
-	inc c
-
-	ld a, [$ffbe]
-	dec a
-	ld [$ffbe], a
-	jr nz, .addsprite
-
-	ld a, c
-	ld [$ffbd], a
-
-.done
-	xor a
-	ret
-
-.full
-	scf
-	ret
-; 5ac2
-
-Function5ac2: ; 5ac2
-	ld c, a
-	ld b, 0
-	ld hl, .Addresses
-	add hl, bc
-	add hl, bc
-	ld c, [hl]
-	inc hl
-	ld b, [hl]
-	ret
-; 5ace
-
-.Addresses ; 5ace
-	dw PlayerStruct
-	dw ObjectStruct1
-	dw ObjectStruct2
-	dw ObjectStruct3
-	dw ObjectStruct4
-	dw ObjectStruct5
-	dw ObjectStruct6
-	dw ObjectStruct7
-	dw ObjectStruct8
-	dw ObjectStruct9
-	dw ObjectStruct10
-	dw ObjectStruct11
-	dw ObjectStruct12
-; 5ae8
-
-
-Function5ae8: ; 5ae8
+Function5ae8: ; 5ae8
 	ld de, MUSIC_NONE
 	call PlayMusic
 	call DelayFrame
@@ -4826,7 +1145,7 @@
 	ret
 ; 6292
 
-Function6292: ; 6292
+Function6292: ; 6292 ; unreferenced
 	ld a, [$ff9b]
 	and $7
 	ret nz
@@ -5783,11 +2102,11 @@
 
 Function6ec1: ; 6ec1
 
-	ld hl, $0006
+	ld hl, OBJECT_PALETTE
 	add hl, bc
 	bit 5, [hl]
 	jr z, .asm_6ed9
-	ld hl, $0004
+	ld hl, OBJECT_04
 	add hl, bc
 	bit 4, [hl]
 	push hl
@@ -5799,7 +2118,7 @@
 	jr .asm_6ee9
 
 .asm_6ed9
-	ld hl, $0004
+	ld hl, OBJECT_04
 	add hl, bc
 	bit 4, [hl]
 	jr nz, .asm_6ee9
@@ -5841,17 +2160,17 @@
 Function6f07: ; 6f07
 	call Function6f5f
 	ret c
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, bc
 	ld d, [hl]
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, bc
 	ld e, [hl]
-	ld hl, $0006
+	ld hl, OBJECT_PALETTE
 	add hl, bc
 	bit 7, [hl]
 	jp nz, Function6fa1
-	ld hl, $000e
+	ld hl, OBJECT_STANDING_TILE
 	add hl, bc
 	ld a, [hl]
 	ld d, a
@@ -5865,7 +2184,7 @@
 Function6f2c: ; 6f2c
 	call Function6f5f
 	ret c
-	ld hl, $000e
+	ld hl, OBJECT_STANDING_TILE
 	add hl, bc
 	ld a, [hl]
 	call GetTileCollision
@@ -5876,13 +2195,13 @@
 ; 6f3e
 
 Function6f3e: ; 6f3e
-	ld hl, $000e
+	ld hl, OBJECT_STANDING_TILE
 	add hl, bc
 	ld a, [hl]
 	call Function6f7f
 	ret nc
 	push af
-	ld hl, $0007
+	ld hl, OBJECT_07
 	add hl, bc
 	ld a, [hl]
 	and 3
@@ -5902,13 +2221,13 @@
 ; 6f5f
 
 Function6f5f: ; 6f5f
-	ld hl, $000f
+	ld hl, OBJECT_NEXT_TILE
 	add hl, bc
 	ld a, [hl]
 	call Function6f7f
 	ret nc
 	push af
-	ld hl, $0007
+	ld hl, OBJECT_07
 	add hl, bc
 	and 3
 	ld e, a
@@ -5954,7 +2273,7 @@
 ; 6fa1
 
 Function6fa1: ; 6fa1
-	ld hl, $0007
+	ld hl, OBJECT_07
 	add hl, bc
 	ld a, [hl]
 	and 3
@@ -6034,7 +2353,7 @@
 	ld [$ffaf], a
 	call Function7041
 	ret nc
-	ld hl, $0007
+	ld hl, OBJECT_07
 	add hl, bc
 	ld a, [hl]
 	cp $ff
@@ -6049,10 +2368,10 @@
 
 
 Function7009: ; 7009
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, bc
 	ld d, [hl]
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, bc
 	ld e, [hl]
 	jr Function7041
@@ -6066,10 +2385,10 @@
 	ret
 
 Function7021: ; 7021
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, bc
 	ld d, [hl]
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, bc
 	ld e, [hl]
 	call GetSpriteDirection
@@ -6102,11 +2421,11 @@
 	ld [$ffb0], a
 	call Function1af1
 	jr z, .asm_7093
-	ld hl, $0004
+	ld hl, OBJECT_04
 	add hl, bc
 	bit 7, [hl]
 	jr nz, .asm_7093
-	ld hl, $0006
+	ld hl, OBJECT_PALETTE
 	add hl, bc
 	bit 7, [hl]
 	jr z, .asm_7063
@@ -6168,7 +2487,7 @@
 ; 70a4
 
 Function70a4: ; 70a4
-	ld hl, $0016
+	ld hl, OBJECT_22
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -6177,7 +2496,7 @@
 	jr z, .asm_70c7
 	ld e, a
 	ld d, a
-	ld hl, $0014
+	ld hl, OBJECT_20
 	add hl, bc
 	ld a, [hl]
 	sub d
@@ -6185,7 +2504,7 @@
 	ld a, [hl]
 	add e
 	ld e, a
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, bc
 	ld a, [hl]
 	cp d
@@ -6194,7 +2513,7 @@
 	jr z, .asm_70eb
 
 .asm_70c7
-	ld hl, $0016
+	ld hl, OBJECT_22
 	add hl, bc
 	ld a, [hl]
 	swap a
@@ -6202,7 +2521,7 @@
 	jr z, .asm_70e9
 	ld e, a
 	ld d, a
-	ld hl, $0015
+	ld hl, OBJECT_21
 	add hl, bc
 	ld a, [hl]
 	sub d
@@ -6210,7 +2529,7 @@
 	ld a, [hl]
 	add e
 	ld e, a
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, bc
 	ld a, [hl]
 	cp d
@@ -6228,7 +2547,7 @@
 ; 70ed
 
 Function70ed: ; 70ed
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, bc
 	ld a, [XCoord]
 	cp [hl]
@@ -6239,7 +2558,7 @@
 	jr c, .asm_7111
 
 .asm_70fe
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, bc
 	ld a, [YCoord]
 	cp [hl]
@@ -6269,7 +2588,7 @@
 	ld [$ffb0], a
 	call Function1af1
 	jr z, .asm_7160
-	ld hl, $0003
+	ld hl, OBJECT_03
 	add hl, bc
 	ld a, [hl]
 	cp $15
@@ -6326,7 +2645,7 @@
 
 
 Function7171: ; 7171
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, bc
 	ld a, d
 	sub [hl]
@@ -6333,7 +2652,7 @@
 	jr c, .asm_718b
 	cp $2
 	jr nc, .asm_718b
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, bc
 	ld a, e
 	sub [hl]
@@ -6932,10 +3251,10 @@
 	ld a, b
 	call Function18de
 	ret c
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, bc
 	ld d, [hl]
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, bc
 	ld e, [hl]
 	ld a, [$ffaf]
@@ -7002,7 +3321,7 @@
 	ld hl, VramState
 	bit 7, [hl]
 	ret z
-	ld hl, $0005
+	ld hl, OBJECT_FLAGS
 	add hl, de
 	set 5, [hl]
 	ret
@@ -7016,12 +3335,12 @@
 
 Function811d: ; 811d
 	ld a, [$ffb0]
-	ld hl, $0000
+	ld hl, OBJECT_00
 	add hl, bc
 	ld [hl], a
 	ld a, [$ffaf]
 	ld [wc2f0], a
-	ld hl, $0001
+	ld hl, OBJECT_01
 	add hl, bc
 	ld a, [hl]
 	ld [wc2f1], a
@@ -7030,7 +3349,7 @@
 	ld a, [hl]
 	call GetSpritePalette
 	ld [wc2f3], a
-	ld hl, $0008
+	ld hl, OBJECT_08
 	add hl, bc
 	ld a, [hl]
 	and $f0
@@ -7040,23 +3359,23 @@
 	ld [wc2f3], a
 
 .asm_814e
-	ld hl, $0004
+	ld hl, OBJECT_04
 	add hl, bc
 	ld a, [hl]
 	ld [wc2f4], a
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld a, [hl]
 	ld [wc2f5], a
-	ld hl, $0003
+	ld hl, OBJECT_03
 	add hl, bc
 	ld a, [hl]
 	ld [wc2f6], a
-	ld hl, $0002
+	ld hl, OBJECT_SPRITE
 	add hl, bc
 	ld a, [hl]
 	ld [wc2f7], a
-	ld hl, $0005
+	ld hl, OBJECT_FLAGS
 	add hl, bc
 	ld a, [hl]
 	ld [wc2f8], a
@@ -7104,7 +3423,7 @@
 	jp c, Function81c9
 
 .asm_81bb
-	ld hl, $0010
+	ld hl, OBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
@@ -7183,7 +3502,7 @@
 	pop de
 
 .asm_8224
-	ld hl, $0010
+	ld hl, OBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
@@ -7241,7 +3560,7 @@
 	pop de
 
 .asm_8278
-	ld hl, $0010
+	ld hl, OBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
@@ -7255,13 +3574,13 @@
 
 Function8286: ; 8286
 	ld a, [wc2f0]
-	ld hl, $0001
+	ld hl, OBJECT_01
 	add hl, de
 	ld [hl], a
 	ld a, [wc2f4]
 	call Function1a61
 	ld a, [wc2f3]
-	ld hl, $0006
+	ld hl, OBJECT_PALETTE
 	add hl, de
 	or [hl]
 	ld [hl], a
@@ -7270,23 +3589,23 @@
 	ld a, [wc2f6]
 	call Function82f1
 	ld a, [wc2f1]
-	ld hl, $0000
+	ld hl, OBJECT_00
 	add hl, de
 	ld [hl], a
 	ld a, [wc2f2]
-	ld hl, $0002
+	ld hl, OBJECT_SPRITE
 	add hl, de
 	ld [hl], a
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, de
 	ld [hl], $0
-	ld hl, $000d
+	ld hl, OBJECT_FACING
 	add hl, de
 	ld [hl], $ff
 	ld a, [wc2f8]
 	call Function830d
 	ld a, [wc2f5]
-	ld hl, $0020
+	ld hl, OBJECT_32
 	add hl, de
 	ld [hl], a
 	and a
@@ -7294,10 +3613,10 @@
 ; 82d5
 
 Function82d5: ; 82d5
-	ld hl, $0015
+	ld hl, OBJECT_21
 	add hl, de
 	ld [hl], a
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, de
 	ld [hl], a
 	ld hl, YCoord
@@ -7306,7 +3625,7 @@
 	swap a
 	ld hl, wd14d
 	sub [hl]
-	ld hl, $0018
+	ld hl, OBJECT_SPRITE_Y
 	add hl, de
 	ld [hl], a
 	ret
@@ -7313,10 +3632,10 @@
 ; 82f1
 
 Function82f1: ; 82f1
-	ld hl, $0014
+	ld hl, OBJECT_20
 	add hl, de
 	ld [hl], a
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, de
 	ld [hl], a
 	ld hl, XCoord
@@ -7325,7 +3644,7 @@
 	swap a
 	ld hl, wd14c
 	sub [hl]
-	ld hl, $0017
+	ld hl, OBJECT_SPRITE_X
 	add hl, de
 	ld [hl], a
 	ret
@@ -7340,7 +3659,7 @@
 	add $10
 	and $f0
 	or l
-	ld hl, $0016
+	ld hl, OBJECT_22
 	add hl, de
 	ld [hl], a
 	ret
@@ -7385,17 +3704,17 @@
 	add hl, bc
 	ld a, [hl]
 	call Function1ae5
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, bc
 	ld a, [hl]
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, bc
 	ld c, [hl]
 	ld b, a
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, de
 	ld a, [hl]
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, de
 	ld e, [hl]
 	ld d, a
@@ -7442,14 +3761,14 @@
 	ld a, b
 	call Function18de
 	ret c
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, bc
 	ld a, [hl]
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, bc
 	ld c, [hl]
 	ld b, a
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, de
 	ld a, [hl]
 	cp b
@@ -7463,7 +3782,7 @@
 	jr .asm_83d5
 
 .asm_83c7
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, de
 	ld a, [hl]
 	cp c
@@ -7476,7 +3795,7 @@
 	dec c
 
 .asm_83d5
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, de
 	ld [hl], b
 	ld a, b
@@ -7486,10 +3805,10 @@
 	swap a
 	ld hl, wd14c
 	sub [hl]
-	ld hl, $0017
+	ld hl, OBJECT_SPRITE_X
 	add hl, de
 	ld [hl], a
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, de
 	ld [hl], c
 	ld a, c
@@ -7499,17 +3818,17 @@
 	swap a
 	ld hl, wd14d
 	sub [hl]
-	ld hl, $0018
+	ld hl, OBJECT_SPRITE_Y
 	add hl, de
 	ld [hl], a
 	ld a, [$ffb0]
-	ld hl, $0020
+	ld hl, OBJECT_32
 	add hl, de
 	ld [hl], a
-	ld hl, $0003
+	ld hl, OBJECT_03
 	add hl, de
 	ld [hl], $1a
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, de
 	ld [hl], $0
 	ret
@@ -7543,10 +3862,10 @@
 Function8439: ; 8439
 	ld a, d
 	call Function1ae5
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, bc
 	ld a, [hl]
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, bc
 	ld c, [hl]
 	ld b, a
@@ -7553,10 +3872,10 @@
 	push bc
 	ld a, e
 	call Function1ae5
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, bc
 	ld d, [hl]
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, bc
 	ld e, [hl]
 	pop bc
@@ -7630,15 +3949,15 @@
 Function849d: ; 849d
 	ld a, [wd4cd]
 	call Function1ae5
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, bc
 	ld d, [hl]
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, bc
 	ld e, [hl]
 	ld a, [wd4ce]
 	call Function1ae5
-	ld hl, $0010
+	ld hl, OBJECT_MAP_X
 	add hl, bc
 	ld a, d
 	cp [hl]
@@ -7654,7 +3973,7 @@
 	ret
 
 .asm_84c5
-	ld hl, $0011
+	ld hl, OBJECT_MAP_Y
 	add hl, bc
 	ld a, e
 	cp [hl]
@@ -7801,7 +4120,7 @@
 	add_predef StatsScreenInit
 	add_predef DrawPlayerHP
 	add_predef DrawEnemyHP
-	add_predef Function50b7b ; $28
+	add_predef PrintTempMonStats ; $28
 	add_predef GetTypeName
 	add_predef PrintMoveType
 	add_predef PrintType
@@ -7867,648 +4186,9 @@
 ; c01b
 
 
-Special:: ; c01b
-; Run script special de.
-	ld hl, SpecialsPointers
-	add hl, de
-	add hl, de
-	add hl, de
-	ld b, [hl]
-	inc hl
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld a, b
-	rst FarCall
-	ret
-; c029
+INCLUDE "engine/specials.asm"
 
-SpecialsPointers: ; c029
-	dbw BANK(Function97c28), Function97c28
-	dbw BANK(Function29ce8), Function29ce8
-	dbw BANK(Function29d11), Function29d11
-	dbw BANK(Function29d92), Function29d92
-	dbw BANK(Function29e66), Function29e66
-	dbw BANK(Function29e82), Function29e82
-	dbw BANK(Function29efa), Function29efa
-	dbw BANK(Function29eee), Function29eee
-	dbw BANK(Function29c92), Function29c92
-	dbw BANK(Function29cf1), Function29cf1
-	dbw BANK(Function29cfa), Function29cfa
-	dbw BANK(Function29bfb), Function29bfb
-	dbw BANK(Function29c7b), Function29c7b
-	dbw BANK(Function29ec4), Function29ec4
-	dbw BANK(Function29ed9), Function29ed9
-	dbw BANK(Function29eaf), Function29eaf
-	dbw BANK(Function29f47), Function29f47
-	dbw BANK(Functionc2f6), Functionc2f6
-	dbw BANK(Functionc309), Functionc309
-	dbw BANK(Function1050b9), Function1050b9
-	dbw BANK(Functionc34a), Functionc34a
-	dbw BANK(Function4d9e5), Function4d9e5
-	dbw BANK(Function13a12), Function13a12
-	dbw BANK(Function13a31), Function13a31
-	dbw BANK(Function135db), Function135db
-	dbw BANK(Functionfbb32), Functionfbb32
-	dbw BANK(Functionfbcd2), Functionfbcd2
-	dbw BANK(Functionc658), Functionc658
-	dbw BANK(Function1559a), Function1559a
-	dbw BANK(Functionc2e7), Functionc2e7
-	dbw BANK(Function166d6), Function166d6
-	dbw BANK(Function1672a), Function1672a
-	dbw BANK(Function16936), Function16936
-	dbw BANK(Function2c547), Function2c547
-	dbw BANK(Function16218), Function16218
-	dbw BANK(Function8cc04), Function8cc04
-	dbw BANK(SpecialNameRival), SpecialNameRival
-	dbw BANK(Function90913), Function90913
-	dbw BANK(Functionc2c0), Functionc2c0
-	dbw BANK(Functionc2cd), Functionc2cd
-	dbw BANK(Functionc355), Functionc355
-	dbw BANK(Functionc360), Functionc360
-	dbw BANK(Functionc373), Functionc373
-	dbw BANK(Functionc380), Functionc380
-	dbw BANK(Functionc38d), Functionc38d
-	dbw BANK(Functionc3db), Functionc3db
-	dbw BANK(Function8c084), Function8c084
-	dbw BANK(Function8c092), Function8c092
-	dbw BANK(Function8c0b6), Function8c0b6
-	dbw BANK(Function8c079), Function8c079
-	dbw BANK(Function8c0ab), Function8c0ab
-	dbw BANK(Functiond91), Functiond91
-	dbw BANK(WhiteBGMap), WhiteBGMap
-	dbw BANK(UpdateTimePals), UpdateTimePals
-	dbw BANK(ClearTileMap), ClearTileMap
-	dbw BANK(Function1ad2), Function1ad2
-	dbw BANK(Functione4a), Functione4a
-	dbw BANK(Functionc230), Functionc230
-	dbw BANK(SpecialSeenMon), SpecialSeenMon
-	dbw BANK(WaitSFX),WaitSFX
-	dbw BANK(PlayMapMusic), PlayMapMusic
-	dbw BANK(RestartMapMusic), RestartMapMusic
-	dbw BANK(Function12324), Function12324
-	dbw BANK(Function8379), Function8379
-	dbw BANK(Functionc25a), Functionc25a
-	dbw BANK(Functionc268), Functionc268
-	dbw BANK(Functionc276), Functionc276
-	dbw BANK(Functionc284), Functionc284
-	dbw BANK(Functionc3ef), Functionc3ef
-	dbw BANK(Function17421), Function17421
-	dbw BANK(Function17440), Function17440
-	dbw BANK(Function139a8), Function139a8
-	dbw BANK(Functionc3fc), Functionc3fc
-	dbw BANK(Function26feb), Function26feb
-	dbw BANK(Function27043), Function27043
-	dbw BANK(SpecialGiveShuckle), SpecialGiveShuckle
-	dbw BANK(SpecialReturnShuckle), SpecialReturnShuckle
-	dbw BANK(Function73f7), Function73f7
-	dbw BANK(SpecialCheckPokerus),SpecialCheckPokerus
-	dbw BANK(Function24b25), Function24b25
-	dbw BANK(Function24b4e), Function24b4e
-	dbw BANK(Function24ae8), Function24ae8
-	dbw BANK(Function4d87a), Function4d87a
-	dbw BANK(Functionc434), Functionc434
-	dbw BANK(Functionc422), Functionc422
-	dbw BANK(Function4d9d3), Function4d9d3
-	dbw BANK(Function88018), Function88018
-	dbw BANK(SpecialNameRater), SpecialNameRater
-	dbw BANK(Functionc2da), Functionc2da
-	dbw BANK(Function718d), Function718d
-	dbw BANK(Function71ac), Function71ac
-	dbw BANK(Function2a4ab), Function2a4ab
-	dbw BANK(Function2a51f), Function2a51f
-	dbw BANK(RandomPhoneMon), RandomPhoneMon
-	dbw BANK(Function14209), Function14209
-	dbw BANK(Functionfb841), Functionfb841
-	dbw BANK(SpecialSnorlaxAwake),SpecialSnorlaxAwake
-	dbw BANK(Function7413), Function7413
-	dbw BANK(Function7418), Function7418
-	dbw BANK(Function741d), Function741d
-	dbw BANK(Functionc472), Functionc472
-	dbw BANK(ProfOaksPCBoot), ProfOaksPCBoot
-	dbw BANK(SpecialGameboyCheck),SpecialGameboyCheck
-	dbw BANK(SpecialTrainerHouse),SpecialTrainerHouse
-	dbw BANK(Function16dc7), Function16dc7
-	dbw BANK(InitRoamMons), InitRoamMons
-	dbw BANK(Functionc48f), Functionc48f
-	dbw BANK(Functionc49f), Functionc49f
-	dbw BANK(Functionc4ac), Functionc4ac
-	dbw BANK(Function11ac3e), Function11ac3e
-	dbw BANK(Function11b444), Function11b444
-	dbw BANK(Function11b5e8), Function11b5e8
-	dbw BANK(Function11b7e5), Function11b7e5
-	dbw BANK(Function11b879), Function11b879
-	dbw BANK(Function11b920), Function11b920
-	dbw BANK(Function11b93b), Function11b93b
-	dbw BANK(Function1700b0), Function1700b0
-	dbw BANK(Function1700ba), Function1700ba
-	dbw BANK(Function170114), Function170114
-	dbw BANK(Function170215), Function170215
-	dbw BANK(Function1704e1), Function1704e1
-	dbw BANK(Function17021d), Function17021d
-	dbw BANK(Function170b44), Function170b44
-	dbw BANK(Function11ba38), Function11ba38
-	dbw BANK(Function170bd3), Function170bd3
-	dbw BANK(Function117656), Function117656
-	dbw BANK(Reset), Reset
-	dbw BANK(Function1011f1), Function1011f1
-	dbw BANK(Function101220), Function101220
-	dbw BANK(Function101225), Function101225
-	dbw BANK(Function101231), Function101231
-	dbw BANK(Function4925b), Function4925b
-	dbw BANK(Function8adef), Function8adef
-	dbw BANK(Function11c1ab), Function11c1ab
-	dbw BANK(Function170687), Function170687
-	dbw BANK(Function8ae68), Function8ae68
-	dbw BANK(Function17d224), Function17d224
-	dbw BANK(Function17d2b6), Function17d2b6
-	dbw BANK(Function17d2ce), Function17d2ce
-	dbw BANK(Function17f53d), Function17f53d
-	dbw BANK(Function103612), Function103612
-	dbw BANK(SpecialHoOhChamber),SpecialHoOhChamber
-	dbw BANK(Function102142), Function102142
-	dbw BANK(Function4989a), Function4989a
-	dbw BANK(Function49bf9), Function49bf9
-	dbw BANK(SpecialPokeSeer), SpecialPokeSeer
-	dbw BANK(SpecialBuenasPassword), SpecialBuenasPassword
-	dbw BANK(SpecialBuenaPrize), SpecialBuenaPrize
-	dbw BANK(SpecialDratini),SpecialDratini
-	dbw BANK(Function11485), Function11485
-	dbw BANK(SpecialBeastsCheck),SpecialBeastsCheck
-	dbw BANK(SpecialMonCheck),SpecialMonCheck
-	dbw BANK(Functionc225), Functionc225
-	dbw BANK(Function170bd2), Function170bd2
-	dbw BANK(Function10366e), Function10366e
-	dbw BANK(Function1037eb), Function1037eb
-	dbw BANK(Function10383c), Function10383c
-	dbw BANK(Function1060a2), Function1060a2
-	dbw BANK(Function14168), Function14168
-	dbw BANK(Function1037c2), Function1037c2
-	dbw BANK(Function10630f), Function10630f
-	dbw BANK(Function103780), Function103780
-	dbw BANK(Function10387b), Function10387b
-	dbw BANK(Function4ae12), Function4ae12
-	dbw BANK(Function1047eb), Function1047eb
-	dbw BANK(Function4a927), Function4a927
-	dbw BANK(Function90a54), Function90a54
-	dbw BANK(Function90a88), Function90a88
-	dbw BANK(SpecialNone), SpecialNone
-; c224
 
-SpecialNone: ; c224
-	ret
-; c225
-
-Functionc225: ; c225
-	ld a, [ScriptVar]
-	ld d, a
-	callba Function57e2
-	ret
-; c230
-
-Functionc230: ; c230
-	ld a, [ScriptVar]
-	dec a
-	call CheckCaughtMon
-	ret nz
-	ld a, [ScriptVar]
-	dec a
-	call SetSeenAndCaughtMon
-	call FadeToMenu
-	ld a, [ScriptVar]
-	ld [wd265], a
-	callba Functionfb877
-	call Function2b4d
-	ret
-; c252
-
-SpecialSeenMon: ; c252
-	ld a, [ScriptVar]
-	dec a
-	call SetSeenMon
-	ret
-; c25a
-
-Functionc25a: ; c25a
-	ld a, [ScriptVar]
-	ld b, a
-	callba Function4dbd2
-	jr z, Functionc298
-	jr Functionc292
-
-Functionc268: ; c268
-	ld a, [ScriptVar]
-	ld b, a
-	callba Function4dbd9
-	jr z, Functionc298
-	jr Functionc292
-
-Functionc276: ; c276
-	ld a, [ScriptVar]
-	ld b, a
-	callba Function4dbe0
-	jr z, Functionc298
-	jr Functionc292
-
-Functionc284: ; c284
-	ld a, [ScriptVar]
-	ld b, a
-	callba Function4dbe6
-	jr z, Functionc298
-	jr Functionc292
-
-Functionc292: ; c292
-	ld a, $1
-	ld [ScriptVar], a
-	ret
-
-Functionc298: ; c298
-	xor a
-	ld [ScriptVar], a
-	ret
-; c29d
-
-SpecialNameRival: ; 0xc29d
-	ld b, $2 ; rival
-	ld de, RivalName
-	callba Function116b7
-	; default to "SILVER"
-	ld hl, RivalName
-	ld de, DefaultRivalName
-	call InitName
-	ret
-; 0xc2b2
-
-DefaultRivalName: ; 0xc2b2
-	db "SILVER@"
-
-SpecialNameRater: ; c2b9
-	callba NameRater
-	ret
-; c2c0
-
-Functionc2c0: ; c2c0
-	call FadeToMenu
-	callba Function9191c
-	call Function2b4d
-	ret
-; c2cd
-
-Functionc2cd: ; c2cd
-	call FadeToMenu
-	callba Function16be4
-	call Function2b4d
-	ret
-; c2da
-
-Functionc2da: ; c2da
-	call FadeToMenu
-	callba Function3f836
-	call Function2b4d
-	ret
-; c2e7
-
-Functionc2e7: ; c2e7
-	xor a
-	ld [ScriptVar], a
-	callba Function156d9
-	ld a, c
-	ld [ScriptVar], a
-	ret
-; c2f6
-
-Functionc2f6: ; c2f6
-	ld a, $0
-	call GetSRAMBank
-	ld a, [$abe2]
-	and a
-	jr z, .asm_c302
-	inc a
-
-.asm_c302
-	ld [ScriptVar], a
-	call CloseSRAM
-	ret
-; c309
-
-Functionc309: ; c309
-	ld a, $0
-	call GetSRAMBank
-	ld a, [$abe2]
-	ld [CurItem], a
-	ld a, $1
-	ld [wd10c], a
-	ld hl, NumItems
-	call ReceiveItem
-	jr nc, .asm_c33d
-	xor a
-	ld [$abe2], a
-	call CloseSRAM
-	ld a, [CurItem]
-	ld [wd265], a
-	call GetItemName
-	ld hl, UnknownText_0xc345
-	call PrintText
-	ld a, $1
-	ld [ScriptVar], a
-	ret
-
-.asm_c33d
-	call CloseSRAM
-	xor a
-	ld [ScriptVar], a
-	ret
-; c345
-
-UnknownText_0xc345: ; 0xc345
-	; received item
-	text_jump UnknownText_0x1bd3be
-	db "@"
-; 0xc34a
-
-Functionc34a: ; c34a
-	callba Function1369d
-	ld a, b
-	ld [ScriptVar], a
-	ret
-; c355
-
-Functionc355: ; c355
-	ld a, [ScriptVar]
-	ld e, a
-	callba Function91a53
-	ret
-; c360
-
-Functionc360: ; c360
-	call FadeToMenu
-	callba Functione1190
-	ld a, [wd0ec]
-	ld [ScriptVar], a
-	call Function2b4d
-	ret
-; c373
-
-Functionc373: ; c373
-	call Functionc3ae
-	ret c
-	ld a, BANK(Function926c7)
-	ld hl, Function926c7
-	call Functionc39a
-	ret
-; c380
-
-Functionc380: ; c380
-	call Functionc3ae
-	ret c
-	ld a, BANK(Functione00ee)
-	ld hl, Functione00ee
-	call Functionc39a
-	ret
-; c38d
-
-Functionc38d: ; c38d
-	call Functionc3ae
-	ret c
-	ld a, BANK(Functione1e5b)
-	ld hl, Functione1e5b
-	call Functionc39a
-	ret
-; c39a
-
-Functionc39a: ; c39a
-	call Function31cf
-	call FadeToMenu
-	ld hl, wd0e8
-	ld a, [hli]
-	push af
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	pop af
-	rst FarCall
-	call Function2b4d
-	ret
-; c3ae
-
-Functionc3ae: ; c3ae
-	ld hl, Coins
-	ld a, [hli]
-	or [hl]
-	jr z, .asm_c3c4
-	ld a, COIN_CASE
-	ld [CurItem], a
-	ld hl, NumItems
-	call CheckItem
-	jr nc, .asm_c3c9
-	and a
-	ret
-
-.asm_c3c4
-	ld hl, UnknownText_0xc3d1
-	jr .asm_c3cc
-
-.asm_c3c9
-	ld hl, UnknownText_0xc3d6
-
-.asm_c3cc
-	call PrintText
-	scf
-	ret
-; c3d1
-
-UnknownText_0xc3d1: ; 0xc3d1
-	; You have no coins.
-	text_jump UnknownText_0x1bd3d7
-	db "@"
-; 0xc3d6
-
-UnknownText_0xc3d6: ; 0xc3d6
-	; You don't have a COIN CASE.
-	text_jump UnknownText_0x1bd3eb
-	db "@"
-; 0xc3db
-
-Functionc3db: ; c3db
-	call WhiteBGMap
-	call Function2879
-	ret
-; c3e2
-
-ScriptReturnCarry: ; c3e2
-	jr c, .carry
-	xor a
-	ld [ScriptVar], a
-	ret
-.carry
-	ld a, 1
-	ld [ScriptVar], a
-	ret
-; c3ef
-
-Functionc3ef: ; c3ef
-	callba Function1150c
-	ld a, [wdc3a]
-	ld [ScriptVar], a
-	ret
-; c3fc
-
-Functionc3fc: ; c3fc
-	ld a, [ScriptVar]
-	ld [wdfce], a
-	ret
-; c403
-
-
-Functionc403:: ; c403
-	ld a, c
-	and a
-	jr nz, .asm_c410
-	ld a, d
-	ld [wdfcc], a
-	ld a, e
-	ld [wdfcd], a
-	ret
-
-.asm_c410
-	ld a, d
-	ld [wdc5a], a
-	ld a, e
-	ld [wdc5b], a
-	ret
-; c419
-
-
-SpecialCheckPokerus: ; c419
-; Check if a monster in your party has Pokerus
-	callba CheckPokerus
-	jp ScriptReturnCarry
-; c422
-
-Functionc422: ; c422
-	callba Function1152b
-	ld hl, wdc9d
-	res 0, [hl]
-	callba Function5d33
-	ret
-; c434
-
-Functionc434: ; c434
-	callba Function11542
-	jp ScriptReturnCarry
-; c43d
-
-SpecialSnorlaxAwake: ; 0xc43d
-; Check if the Poké Flute channel is playing, and if the player is standing
-; next to Snorlax.
-
-; outputs:
-; ScriptVar is 1 if the conditions are met, otherwise 0.
-
-; check background music
-	ld a, [wMapMusic]
-	cp MUSIC_POKE_FLUTE_CHANNEL
-	jr nz, .nope
-
-	ld a, [XCoord]
-	ld b, a
-	ld a, [YCoord]
-	ld c, a
-
-	ld hl, .ProximityCoords
-.loop
-	ld a, [hli]
-	cp $ff
-	jr z, .nope
-	cp b
-	jr nz, .nextcoord
-	ld a, [hli]
-	cp c
-	jr nz, .loop
-
-	ld a, $1
-	jr .done
-
-.nextcoord
-	inc hl
-	jr .loop
-
-.nope
-	xor a
-.done
-	ld [ScriptVar], a
-	ret
-
-.ProximityCoords
-	;   x,  y
-	db 33,  8 ; left
-	db 34, 10 ; below
-	db 35, 10 ; below
-	db 36,  8 ; right
-	db 36,  9 ; right
-	db $ff
-
-
-Functionc472: ; c472
-	ld a, [CurPartySpecies]
-	jp PlayCry
-; c478
-
-
-SpecialGameboyCheck: ; c478
-	ld a, [hCGB]
-	and a
-	jr nz, .cgb
-
-	ld a, [hSGB]
-	and a
-	jr nz, .sgb
-
-.gb
-	xor a
-	jr .done
-.sgb
-	ld a, 1
-	jr .done
-.cgb
-	ld a, 2
-.done
-	ld [ScriptVar], a
-	ret
-
-
-Functionc48f: ; c48f
-	ld a, MUSIC_NONE % $100
-	ld [MusicFadeIDLo], a
-	ld a, MUSIC_NONE / $100
-	ld [MusicFadeIDHi], a
-	ld a, $2
-	ld [MusicFade], a
-	ret
-; c49f
-
-Functionc49f: ; c49f
-	call FadeToMenu
-	callba Function1dd702
-	call Function2b4d
-	ret
-; c4ac
-
-Functionc4ac: ; c4ac
-	call FadeToMenu
-	callba Function84688
-	call Function2b4d
-	ret
-; c4b9
-
-SpecialTrainerHouse: ; 0xc4b9
-	ld a, 0
-	call GetSRAMBank
-	ld a, [$abfd] ; XXX what is this memory location?
-	ld [ScriptVar], a
-	jp CloseSRAM
-
-
 _PrintNum:: ; c4c7
 ; Print c digits of the b-byte value at hl.
 ; Allows 2 to 7 digits. For 1-digit numbers, add
@@ -9145,7 +4825,7 @@
 
 UnknownScript_0xc7fe: ; c7fe
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 
 UnknownScript_0xc802: ; 0xc802
 	callasm GetPartyNick
@@ -9302,7 +4982,7 @@
 
 UnknownScript_0xc8e6: ; 0xc8e6
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 	writetext UnknownText_0xc8f3
 	callasm Function8c7e1
 	loadmovesprites
@@ -9401,7 +5081,7 @@
 ; c983 (3:4983)
 
 UnknownScript_0xc983: ; c983
-	special $0035
+	special UpdateTimePals
 
 UsedSurfScript: ; c986
 	writetext UsedSurfText ; "used SURF!"
@@ -9413,10 +5093,10 @@
 	copybytetovar Buffer2
 	writevarcode VAR_MOVEMENT
 
-	special SPECIAL_UPDATESPRITETILES
-	special SPECIAL_BIKESURFMUSIC
+	special Functione4a
+	special PlayMapMusic
 ; step into the water
-	special SPECIAL_LOADFACESTEP ; (slow_step_x, step_end)
+	special Function8379 ; (slow_step_x, step_end)
 	applymovement 0, MovementBuffer ; PLAYER, MovementBuffer
 	end
 ; c9a2
@@ -9635,15 +5315,15 @@
 UnknownScript_0xcaa3: ; 0xcaa3
 	reloadmappart
 	callasm HideSprites
-	special $0035
+	special UpdateTimePals
 	callasm Function8caed
 	farscall UnknownScript_0x122c1
-	special $0000
+	special Function97c28
 	callasm Function154f1
 	writecode $8, $0
 	newloadmap $fc
 	callasm Function8cb33
-	special $003b
+	special WaitSFX
 	callasm Functioncacb
 	end
 ; 0xcacb
@@ -9700,7 +5380,7 @@
 
 UnknownScript_0xcb1c: ; 0xcb1c
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 
 UnknownScript_0xcb20: ; 0xcb20
 	callasm GetPartyNick
@@ -9891,7 +5571,7 @@
 
 UnknownScript_0xcc2b: ; 0xcc2b
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 	writetext UnknownText_0xcc21
 	jump UnknownScript_0xcc3c
 ; 0xcc35
@@ -9898,7 +5578,7 @@
 
 UnknownScript_0xcc35: ; 0xcc35
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 	writetext UnknownText_0xcc1c
 
 UnknownScript_0xcc3c: ; 0xcc3c
@@ -9907,7 +5587,7 @@
 	playsound SFX_WARP_TO
 	applymovement $0, MovementData_0xcc59
 	farscall UnknownScript_0x122c1
-	special $0000
+	special Function97c28
 	writecode $8, $0
 	newloadmap $f5
 	playsound SFX_WARP_FROM
@@ -9997,7 +5677,7 @@
 
 UnknownScript_0xccbb: ; 0xccbb
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 	writetext UnknownText_0xccb1
 	pause 60
 	reloadmappart
@@ -10005,7 +5685,7 @@
 	playsound SFX_WARP_TO
 	applymovement $0, MovementData_0xcce1
 	farscall UnknownScript_0x122c1
-	special $0000
+	special Function97c28
 	writecode $8, $0
 	newloadmap $f4
 	playsound SFX_WARP_FROM
@@ -10082,7 +5762,7 @@
 
 UnknownScript_0xcd29: ; 0xcd29
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 
 UnknownScript_0xcd2d: ; 0xcd2d
 	callasm Functioncd12
@@ -10262,7 +5942,7 @@
 
 UnknownScript_0xce0b: ; 0xce0b
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 
 UnknownScript_0xce0f: ; 0xce0f
 	callasm GetPartyNick
@@ -10375,7 +6055,7 @@
 
 HeadbuttFromMenuScript: ; 0xcea7
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 
 HeadbuttScript: ; 0xceab
 	callasm GetPartyNick
@@ -10481,13 +6161,13 @@
 
 RockSmashFromMenuScript: ; 0xcf2e
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 
 RockSmashScript: ; cf32
 	callasm GetPartyNick
 	writetext UnknownText_0xcf58
 	loadmovesprites
-	special $003b
+	special WaitSFX
 	playsound SFX_STRENGTH
 	earthquake 84
 	applymovement2 MovementData_0xcf55
@@ -10732,7 +6412,7 @@
 UnknownScript_0xd07c: ; 0xd07c
 	reloadmappart
 	loadvar $ffd4, $0
-	special $0035
+	special UpdateTimePals
 	loademote $9
 	callasm Functionb84b3
 	loademote $0
@@ -10866,12 +6546,12 @@
 
 UnknownScript_0xd13e: ; 0xd13e
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 	writecode $8, $1
 	writetext UnknownText_0xd17c
 	closetext
 	loadmovesprites
-	special $0038
+	special Functione4a
 	end
 ; 0xd14e
 
@@ -10878,7 +6558,7 @@
 UnknownScript_0xd14e: ; 0xd14e
 	writecode $8, $1
 	loadmovesprites
-	special $0038
+	special Functione4a
 	end
 ; 0xd156
 
@@ -10888,7 +6568,7 @@
 
 UnknownScript_0xd158: ; 0xd158
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 	writecode $8, $0
 	writetext UnknownText_0xd181
 	closetext
@@ -10895,8 +6575,8 @@
 
 UnknownScript_0xd163:
 	loadmovesprites
-	special $0038
-	special $003c
+	special Functione4a
+	special PlayMapMusic
 	end
 ; 0xd16b
 
@@ -13615,26 +9295,26 @@
 ; e134
 
 Functione134: ; e134
-	ld a, $1f
+	ld a, PartyMon1Level - PartyMon1
 	call GetPartyParamLocation
 	ld a, [hl]
-	ld [$001f], a ; wow
-	ld a, $0
+	ld [PartyMon1Level - PartyMon1], a ; wow
+	ld a, PartyMon1Species - PartyMon1
 	call GetPartyParamLocation
 	ld a, [hl]
 	ld [CurSpecies], a
 	call GetBaseData
-	ld a, $24
+	ld a, PartyMon1MaxHP - PartyMon1
 	call GetPartyParamLocation
 	ld d, h
 	ld e, l
 	push de
-	ld a, $a
+	ld a, PartyMon1Exp + 2 - PartyMon1
 	call GetPartyParamLocation
 	ld b, $1
 	call Functione167
 	pop de
-	ld a, $22
+	ld a, PartyMon1HP - PartyMon1
 	call GetPartyParamLocation
 	ld a, [de]
 	inc de
@@ -14671,1697 +10351,10 @@
 
 SECTION "bank4", ROMX, BANK[$4]
 
-Pack: ; 10000
-	ld hl, Options
-	set 4, [hl]
-	call Function1068a
-.loop
-	call Functiona57
-	ld a, [wcf63]
-	bit 7, a
-	jr nz, .done
-	call Function10026
-	call DelayFrame
-	jr .loop
 
-.done
-	ld a, [wcf65]
-	ld [wd0d6], a
-	ld hl, Options
-	res 4, [hl]
-	ret
-; 10026
+INCLUDE "engine/pack.asm"
 
-Function10026: ; 10026
-	ld a, [wcf63]
-	ld hl, Jumptable_10030
-	call Function1086b
-	jp [hl]
-; 10030
 
-
-Jumptable_10030: ; 10030 (4:4030)
-	dw Function10046
-	dw Function10056
-	dw Function10067
-	dw Function10186
-	dw Function10198
-	dw Function10094
-	dw Function100a6
-	dw Function100d3
-	dw Function100e8
-	dw Function10874
-	dw Function1087e
-
-
-Function10046: ; 10046 (4:4046)
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	call Function10955
-	ld a, [wcf64]
-	ld [wcf63], a
-	call Function10a40
-	ret
-
-Function10056: ; 10056 (4:4056)
-	xor a
-	ld [wcf65], a
-	call Function10a36
-	call Function109bb
-	call Function1089a
-	call Function10866
-	ret
-
-Function10067: ; 10067 (4:4067)
-	ld hl, MenuDataHeader_0x10a4f
-	call Function1d3c
-	ld a, [wd0d9]
-	ld [wcf88], a
-	ld a, [wd0df]
-	ld [wd0e4], a
-	call Function350c
-	ld a, [wd0e4]
-	ld [wd0df], a
-	ld a, [wcfa9]
-	ld [wd0d9], a
-	ld b, $7
-	ld c, $3
-	call Function108d4
-	ret c
-	call Function101c5
-	ret
-
-Function10094: ; 10094 (4:4094)
-	ld a, $2
-	ld [wcf65], a
-	call Function10a36
-	call Function109bb
-	call Function1089a
-	call Function10866
-	ret
-
-Function100a6: ; 100a6 (4:40a6)
-	ld hl, MenuDataHeader_0x10a7f
-	call Function1d3c
-	ld a, [wd0da]
-	ld [wcf88], a
-	ld a, [wd0e0]
-	ld [wd0e4], a
-	call Function350c
-	ld a, [wd0e4]
-	ld [wd0e0], a
-	ld a, [wcfa9]
-	ld [wd0da], a
-	ld b, $3
-	ld c, $7
-	call Function108d4
-	ret c
-	call Function101c5
-	ret
-
-Function100d3: ; 100d3 (4:40d3)
-	ld a, $3
-	ld [wcf65], a
-	call Function10a36
-	call Function109bb
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	call Function1089a
-	call Function10866
-	ret
-
-Function100e8: ; 100e8 (4:40e8)
-	callba Function2c76f
-	ld b, $5
-	ld c, $1
-	call Function108d4
-	ret c
-	callba _CheckTossableItem
-	ld a, [wd142]
-	and a
-	jr nz, .asm_1010a
-	ld hl, MenuDataHeader_0x1013b
-	ld de, Jumptable_10153
-	jr .asm_10110
-.asm_1010a
-	ld hl, MenuDataHeader_0x10124
-	ld de, Jumptable_10137
-.asm_10110
-	push de
-	call LoadMenuDataHeader
-	call Function1d81
-	call Function1c07
-	pop hl
-	ret c
-	ld a, [wcfa9]
-	dec a
-	call Function1086b
-	jp [hl]
-; 10124 (4:4124)
-
-MenuDataHeader_0x10124: ; 0x10124
-	db $40 ; flags
-	db 07, 13 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x1012c
-	db 1 ; default option
-; 0x1012c
-
-MenuData2_0x1012c: ; 0x1012c
-	db $c0 ; flags
-	db 2 ; items
-	db "USE@"
-	db "QUIT@"
-; 0x10137
-
-Jumptable_10137: ; 10137
-	dw Function10159
-	dw Function10492
-; 1013b
-
-MenuDataHeader_0x1013b: ; 0x1013b
-	db $40 ; flags
-	db 05, 13 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x10143
-	db 1 ; default option
-; 0x10143
-
-MenuData2_0x10143: ; 0x10143
-	db $c0 ; flags
-	db 3 ; items
-	db "USE@"
-	db "GIVE@"
-	db "QUIT@"
-; 0x10153
-
-Jumptable_10153: ; 10153
-	dw Function10159
-	dw Function103fd
-	dw Function10492
-; 10159
-
-Function10159: ; 10159
-	callba Function2c7bf
-	ret c
-	callba Function2c7fb
-	jr c, .asm_10179
-	ld hl, Options
-	ld a, [hl]
-	push af
-	res 4, [hl]
-	callba Function2c867
-	pop af
-	ld [Options], a
-.asm_10179
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	call Function10955
-	call Function1089a
-	call Function10a40
-	ret
-
-Function10186: ; 10186 (4:4186)
-	ld a, $1
-	ld [wcf65], a
-	call Function10a36
-	call Function109bb
-	call Function1089a
-	call Function10866
-	ret
-
-Function10198: ; 10198 (4:4198)
-	ld hl, MenuDataHeader_0x10aaf
-	call Function1d3c
-	ld a, [wd0db]
-	ld [wcf88], a
-	ld a, [wd0e1]
-	ld [wd0e4], a
-	call Function350c
-	ld a, [wd0e4]
-	ld [wd0e1], a
-	ld a, [wcfa9]
-	ld [wd0db], a
-	ld b, $1
-	ld c, $5
-	call Function108d4
-	ret c
-	call Function101c5
-	ret
-
-Function101c5: ; 101c5 (4:41c5)
-	callba _CheckTossableItem
-	ld a, [wd142]
-	and a
-	jr nz, .asm_101f9
-	callba CheckSelectableItem
-	ld a, [wd142]
-	and a
-	jr nz, .asm_101eb
-	callba CheckItemMenu
-	ld a, [wd142]
-	and a
-	jr nz, .asm_10207
-	jr .asm_10227
-.asm_101eb
-	callba CheckItemMenu
-	ld a, [wd142]
-	and a
-	jr nz, .asm_1020f
-	jr .asm_1022f
-.asm_101f9
-	callba CheckSelectableItem
-	ld a, [wd142]
-	and a
-	jr nz, .asm_10217
-	jr .asm_1021f
-.asm_10207
-	ld hl, MenuDataHeader_0x10249
-	ld de, Jumptable_1026a
-	jr .asm_10235
-.asm_1020f
-	ld hl, MenuDataHeader_0x10274
-	ld de, Jumptable_10291
-	jr .asm_10235
-.asm_10217
-	ld hl, MenuDataHeader_0x10299
-	ld de, Jumptable_102ac
-	jr .asm_10235
-.asm_1021f
-	ld hl, MenuDataHeader_0x102b0
-	ld de, Jumptable_102c7
-	jr .asm_10235
-.asm_10227
-	ld hl, MenuDataHeader_0x102cd
-	ld de, Jumptable_102ea
-	jr .asm_10235
-.asm_1022f
-	ld hl, MenuDataHeader_0x102f2
-	ld de, Jumptable_1030b
-.asm_10235
-	push de
-	call LoadMenuDataHeader
-	call Function1d81
-	call Function1c07
-	pop hl
-	ret c
-	ld a, [wcfa9]
-	dec a
-	call Function1086b
-	jp [hl]
-; 10249 (4:4249)
-
-MenuDataHeader_0x10249: ; 0x10249
-	db $40 ; flags
-	db 01, 13 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x10251
-	db 1 ; default option
-; 0x10251
-
-MenuData2_0x10251: ; 0x10251
-	db $c0 ; flags
-	db 5 ; items
-	db "USE@"
-	db "GIVE@"
-	db "TOSS@"
-	db "SEL@"
-	db "QUIT@"
-; 0x1026a
-
-Jumptable_1026a: ; 1026a
-	dw Function10311
-	dw Function103fd
-	dw Function10364
-	dw Function103c2
-	dw Function10492
-; 10274
-
-MenuDataHeader_0x10274: ; 0x10274
-	db $40 ; flags
-	db 03, 13 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x1027c
-	db 1 ; default option
-; 0x1027c
-
-MenuData2_0x1027c: ; 0x1027c
-	db $c0 ; flags
-	db 4 ; items
-	db "USE@"
-	db "GIVE@"
-	db "TOSS@"
-	db "QUIT@"
-; 0x10291
-
-Jumptable_10291: ; 10291
-	dw Function10311
-	dw Function103fd
-	dw Function10364
-	dw Function10492
-; 10299
-
-MenuDataHeader_0x10299: ; 0x10299
-	db $40 ; flags
-	db 07, 13 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x102a1
-	db 1 ; default option
-; 0x102a1
-
-MenuData2_0x102a1: ; 0x102a1
-	db $c0 ; flags
-	db 2 ; items
-	db "USE@"
-	db "QUIT@"
-; 0x102ac
-
-Jumptable_102ac: ; 102ac
-	dw Function10311
-	dw Function10492
-; 102b0
-
-MenuDataHeader_0x102b0: ; 0x102b0
-	db $40 ; flags
-	db 05, 13 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x102b8
-	db 1 ; default option
-; 0x102b8
-
-MenuData2_0x102b8: ; 0x102b8
-	db $c0 ; flags
-	db 3 ; items
-	db "USE@"
-	db "SEL@"
-	db "QUIT@"
-; 0x102c7
-
-Jumptable_102c7: ; 102c7
-	dw Function10311
-	dw Function103c2
-	dw Function10492
-; 102cd
-
-MenuDataHeader_0x102cd: ; 0x102cd
-	db $40 ; flags
-	db 03, 13 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x102d5
-	db 1 ; default option
-; 0x102d5
-
-MenuData2_0x102d5: ; 0x102d5
-	db $c0 ; flags
-	db 4 ; items
-	db "GIVE@"
-	db "TOSS@"
-	db "SEL@"
-	db "QUIT@"
-; 0x102ea
-
-Jumptable_102ea: ; 102ea
-	dw Function103fd
-	dw Function10364
-	dw Function103c2
-	dw Function10492
-; 102f2
-
-MenuDataHeader_0x102f2: ; 0x102f2
-	db $40 ; flags
-	db 05, 13 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x102fa
-	db 1 ; default option
-; 0x102fa
-
-MenuData2_0x102fa: ; 0x102fa
-	db $c0 ; flags
-	db 3 ; items
-	db "GIVE@"
-	db "TOSS@"
-	db "QUIT@"
-; 0x1030b
-
-Jumptable_1030b: ; 1030b
-	dw Function103fd
-	dw Function10364
-	dw Function10492
-; 10311
-
-Function10311: ; 10311
-	callba CheckItemMenu
-	ld a, [wd142]
-	ld hl, Jumptable_1031f
-	rst JumpTable
-	ret
-; 1031f
-
-Jumptable_1031f: ; 1031f (4:431f)
-	dw Function1032d
-	dw Function1032d
-	dw Function1032d
-	dw Function1032d
-	dw Function10334
-	dw Function10338
-	dw Function10355
-; 1035c
-
-Function1032d: ; 1032d (4:432d)
-	ld hl, UnknownText_0x10af3
-	call Function10889
-	ret
-
-Function10334: ; 10334 (4:4334)
-	call DoItemEffect
-	ret
-
-Function10338: ; 10338 (4:4338)
-	ld a, [PartyCount]
-	and a
-	jr z, .asm_1034e
-	call DoItemEffect
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	call Function10955
-	call Function1089a
-	call Function10a40
-	ret
-.asm_1034e
-	ld hl, UnknownText_0x10af8
-	call Function10889
-	ret
-
-Function10355: ; 10355 (4:4355)
-	call DoItemEffect
-	ld a, [wd0ec]
-	and a
-	jr z, Function1032d
-	ld a, $a
-	ld [wcf63], a
-	ret
-; 10364 (4:4364)
-
-Function10364: ; 10364
-	ld hl, UnknownText_0x10ae4
-	call Function10889
-	callba Function24fbf
-	push af
-	call Function1c07
-	pop af
-	jr c, .asm_1039c
-	call Function10a1d
-	ld hl, UnknownText_0x10ae9
-	call Function1d4f
-	call YesNoBox
-	push af
-	call Function1c07
-	pop af
-	jr c, .asm_1039c
-	ld hl, NumItems
-	ld a, [wd107]
-	call TossItem
-	call Function10a1d
-	ld hl, UnknownText_0x10aee
-	call Function10889
-
-.asm_1039c
-	ret
-; 1039d
-
-Function1039d: ; 1039d
-	ld a, [wcf65]
-	and a
-	jr z, .asm_103b2
-	dec a
-	jr z, .asm_103aa
-	dec a
-	jr z, .asm_103ba
-	ret
-
-.asm_103aa
-	xor a
-	ld [wd0db], a
-	ld [wd0e1], a
-	ret
-
-.asm_103b2
-	xor a
-	ld [wd0d9], a
-	ld [wd0df], a
-	ret
-
-.asm_103ba
-	xor a
-	ld [wd0da], a
-	ld [wd0e0], a
-	ret
-; 103c2
-
-Function103c2: ; 103c2
-	callba CheckSelectableItem
-	ld a, [wd142]
-	and a
-	jr nz, .asm_103f6
-	ld a, [wcf65]
-	rrca
-	rrca
-	and $c0
-	ld b, a
-	ld a, [wd107]
-	inc a
-	and $3f
-	or b
-	ld [WhichRegisteredItem], a
-	ld a, [CurItem]
-	ld [RegisteredItem], a
-	call Function10a1d
-	ld de, SFX_FULL_HEAL
-	call WaitPlaySFX
-	ld hl, UnknownText_0x10afd
-	call Function10889
-	ret
-
-.asm_103f6
-	ld hl, UnknownText_0x10b02
-	call Function10889
-	ret
-; 103fd
-
-Function103fd: ; 103fd
-	ld a, [PartyCount]
-	and a
-	jp z, Function10486
-	ld a, [Options]
-	push af
-	res 4, a
-	ld [Options], a
-	ld a, $8
-	ld [PartyMenuActionText], a
-	call WhiteBGMap
-	callba Function5004f
-	callba Function50405
-	callba Function503e0
-.asm_10427
-	callba WritePartyMenuTilemap
-	callba PrintPartyMenuText
-	call WaitBGMap
-	call Function32f9
-	call DelayFrame
-	callba PartyMenuSelect
-	jr c, .asm_10475
-	ld a, [CurPartySpecies]
-	cp EGG
-	jr nz, .asm_10453
-	ld hl, UnknownText_0x1048d
-	call PrintText
-	jr .asm_10427
-.asm_10453
-	ld a, [wcf63]
-	push af
-	ld a, [wcf64]
-	push af
-	call GetCurNick
-	ld hl, StringBuffer1
-	ld de, wd050
-	ld bc, PKMN_NAME_LENGTH
-	call CopyBytes
-	call Function12bd9
-	pop af
-	ld [wcf64], a
-	pop af
-	ld [wcf63], a
-.asm_10475
-	pop af
-	ld [Options], a
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	call Function10955
-	call Function1089a
-	call Function10a40
-	ret
-
-Function10486: ; 10486 (4:4486)
-	ld hl, UnknownText_0x10af8
-	call Function10889
-	ret
-; 1048d (4:448d)
-
-UnknownText_0x1048d: ; 0x1048d
-	; An EGG can't hold an item.
-	text_jump UnknownText_0x1c0b7f
-	db "@"
-; 0x10492
-
-Function10492: ; 10492
-	ret
-; 10493
-
-
-BattlePack: ; 10493
-	ld hl, Options
-	set 4, [hl]
-	call Function1068a
-.asm_1049b
-	call Functiona57
-	ld a, [wcf63]
-	bit 7, a
-	jr nz, .asm_104ad
-	call Function104b9
-	call DelayFrame
-	jr .asm_1049b
-
-.asm_104ad
-	ld a, [wcf65]
-	ld [wd0d6], a
-	ld hl, Options
-	res 4, [hl]
-	ret
-; 104b9
-
-Function104b9: ; 104b9
-	ld a, [wcf63]
-	ld hl, Jumptable_104c3
-	call Function1086b
-	jp [hl]
-; 104c3
-
-
-Jumptable_104c3: ; 104c3 (4:44c3)
-	dw Function104d9
-	dw Function104e9
-	dw Function104fa
-	dw Function10594
-	dw Function105a6
-	dw Function10527
-	dw Function10539
-	dw Function10566
-	dw Function10581
-	dw Function10874
-	dw Function1087e
-
-
-Function104d9: ; 104d9 (4:44d9)
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	call Function10955
-	ld a, [wcf64]
-	ld [wcf63], a
-	call Function10a40
-	ret
-
-Function104e9: ; 104e9 (4:44e9)
-	xor a
-	ld [wcf65], a
-	call Function10a36
-	call Function109bb
-	call Function1089a
-	call Function10866
-	ret
-
-Function104fa: ; 104fa (4:44fa)
-	ld hl, MenuDataHeader_0x10a4f
-	call Function1d3c
-	ld a, [wd0d9]
-	ld [wcf88], a
-	ld a, [wd0df]
-	ld [wd0e4], a
-	call Function350c
-	ld a, [wd0e4]
-	ld [wd0df], a
-	ld a, [wcfa9]
-	ld [wd0d9], a
-	ld b, $7
-	ld c, $3
-	call Function108d4
-	ret c
-	call Function105d3
-	ret
-
-Function10527: ; 10527 (4:4527)
-	ld a, $2
-	ld [wcf65], a
-	call Function10a36
-	call Function109bb
-	call Function1089a
-	call Function10866
-	ret
-
-Function10539: ; 10539 (4:4539)
-	ld hl, MenuDataHeader_0x10a7f
-	call Function1d3c
-	ld a, [wd0da]
-	ld [wcf88], a
-	ld a, [wd0e0]
-	ld [wd0e4], a
-	call Function350c
-	ld a, [wd0e4]
-	ld [wd0e0], a
-	ld a, [wcfa9]
-	ld [wd0da], a
-	ld b, $3
-	ld c, $7
-	call Function108d4
-	ret c
-	call Function105d3
-	ret
-
-Function10566: ; 10566 (4:4566)
-	ld a, $3
-	ld [wcf65], a
-	call Function10a36
-	call Function109bb
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	call Function1089a
-	ld hl, UnknownText_0x10b0c
-	call Function10889
-	call Function10866
-	ret
-
-Function10581: ; 10581 (4:4581)
-	callba Function2c76f
-	ld b, $5
-	ld c, $1
-	call Function108d4
-	ret c
-	xor a
-	call Function105dc
-	ret
-
-Function10594: ; 10594 (4:4594)
-	ld a, $1
-	ld [wcf65], a
-	call Function10a36
-	call Function109bb
-	call Function1089a
-	call Function10866
-	ret
-
-Function105a6: ; 105a6 (4:45a6)
-	ld hl, MenuDataHeader_0x10aaf
-	call Function1d3c
-	ld a, [wd0db]
-	ld [wcf88], a
-	ld a, [wd0e1]
-	ld [wd0e4], a
-	call Function350c
-	ld a, [wd0e4]
-	ld [wd0e1], a
-	ld a, [wcfa9]
-	ld [wd0db], a
-	ld b, $1
-	ld c, $5
-	call Function108d4
-	ret c
-	call Function105d3
-	ret
-
-Function105d3: ; 105d3 (4:45d3)
-	callba CheckItemContext
-	ld a, [wd142]
-
-Function105dc: ; 105dc (4:45dc)
-	and a
-	jr z, .asm_105e7
-	ld hl, MenuDataHeader_0x10601
-	ld de, Jumptable_10614
-	jr .asm_105ed
-.asm_105e7
-	ld hl, MenuDataHeader_0x10618
-	ld de, Jumptable_10627
-.asm_105ed
-	push de
-	call LoadMenuDataHeader
-	call Function1d81
-	call Function1c07
-	pop hl
-	ret c
-	ld a, [wcfa9]
-	dec a
-	call Function1086b
-	jp [hl]
-; 10601 (4:4601)
-
-MenuDataHeader_0x10601: ; 0x10601
-	db $40 ; flags
-	db 07, 13 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x10609
-	db 1 ; default option
-; 0x10609
-
-MenuData2_0x10609: ; 0x10609
-	db $c0 ; flags
-	db 2 ; items
-	db "USE@"
-	db "QUIT@"
-; 0x10614
-
-Jumptable_10614: ; 10614
-	dw Function10629
-	dw Function10689
-; 10618
-
-MenuDataHeader_0x10618: ; 0x10618
-	db $40 ; flags
-	db 09, 13 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x10620
-	db 1 ; default option
-; 0x10620
-
-MenuData2_0x10620: ; 0x10620
-	db $c0 ; flags
-	db 1 ; items
-	db "QUIT@"
-; 0x10627
-
-Jumptable_10627: ; 10627
-	dw Function10689
-; 10629
-
-Function10629: ; 10629
-	callba CheckItemContext
-	ld a, [wd142]
-	ld hl, Jumptable_10637
-	rst JumpTable
-	ret
-
-Jumptable_10637: ; 10637 (4:4637)
-	dw Function10645
-	dw Function10645
-	dw Function10645
-	dw Function10645
-	dw Function1064c
-	dw Function10656
-	dw Function10671
-
-
-Function10645: ; 10645 (4:4645)
-	ld hl, UnknownText_0x10af3
-	call Function10889
-	ret
-
-Function1064c: ; 1064c (4:464c)
-	call DoItemEffect
-	ld a, [wd0ec]
-	and a
-	jr nz, asm_1066c
-	ret
-
-Function10656: ; 10656 (4:4656)
-	call DoItemEffect
-	ld a, [wd0ec]
-	and a
-	jr nz, asm_1067e
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	call Function10955
-	call Function1089a
-	call Function10a40
-	ret
-asm_1066c: ; 1066c (4:466c)
-	call WhiteBGMap
-	jr asm_1067e
-
-Function10671: ; 10671 (4:4671)
-	call DoItemEffect
-	ld a, [wd0ec]
-	and a
-	jr z, Function10645
-	cp $2
-	jr z, asm_10684
-asm_1067e: ; 1067e (4:467e)
-	ld a, $a
-	ld [wcf63], a
-	ret
-asm_10684: ; 10684 (4:4684)
-	xor a
-	ld [wd0ec], a
-	ret
-; 10689 (4:4689)
-
-Function10689: ; 10689
-	ret
-; 1068a
-
-
-Function1068a: ; 1068a
-	xor a
-	ld [wcf63], a
-	ld a, [wd0d6]
-	and $3
-	ld [wcf65], a
-	inc a
-	add a
-	dec a
-	ld [wcf64], a
-	xor a
-	ld [wcf66], a
-	xor a
-	ld [wd0e3], a
-	ret
-; 106a5
-
-Function106a5: ; 106a5
-	xor a
-	ld [hBGMapMode], a
-	ld [wcf63], a
-	ld [wcf64], a
-	ld [wcf65], a
-	ld [wcf66], a
-	ld [wd0e3], a
-	call Function10955
-	call Function10a40
-	ret
-; 106be
-
-Function106be: ; 106be
-.asm_106be
-	call Function106c7
-	call Function1076f
-	jr c, .asm_106be
-	ret
-; 106c7
-
-Function106c7: ; 106c7
-	ld a, [wcf63]
-	ld hl, Jumptable_106d1
-	call Function1086b
-	jp [hl]
-; 106d1
-
-
-Jumptable_106d1: ; 106d1 (4:46d1)
-	dw Function106d9
-	dw Function1073b
-	dw Function106ff
-	dw Function10726
-
-
-Function106d9: ; 106d9 (4:46d9)
-	xor a
-	call Function10762
-	ld hl, MenuDataHeader_0x10a67
-	call Function1d3c
-	ld a, [wd0d9]
-	ld [wcf88], a
-	ld a, [wd0df]
-	ld [wd0e4], a
-	call Function350c
-	ld a, [wd0e4]
-	ld [wd0df], a
-	ld a, [wcfa9]
-	ld [wd0d9], a
-	ret
-
-Function106ff: ; 106ff (4:46ff)
-	ld a, $2
-	call Function10762
-	ld hl, MenuDataHeader_0x10a97
-	call Function1d3c
-	ld a, [wd0da]
-	ld [wcf88], a
-	ld a, [wd0e0]
-	ld [wd0e4], a
-	call Function350c
-	ld a, [wd0e4]
-	ld [wd0e0], a
-	ld a, [wcfa9]
-	ld [wd0da], a
-	ret
-
-Function10726: ; 10726 (4:4726)
-	ld a, $3
-	call Function10762
-	call Function1089a
-	callba Function2c76f
-	ld a, [CurItem]
-	ld [CurItem], a
-	ret
-
-Function1073b: ; 1073b (4:473b)
-	ld a, $1
-	call Function10762
-	ld hl, MenuDataHeader_0x10ac7
-	call Function1d3c
-	ld a, [wd0db]
-	ld [wcf88], a
-	ld a, [wd0e1]
-	ld [wd0e4], a
-	call Function350c
-	ld a, [wd0e4]
-	ld [wd0e1], a
-	ld a, [wcfa9]
-	ld [wd0db], a
-	ret
-
-Function10762: ; 10762 (4:4762)
-	ld [wcf65], a
-	call Function10a36
-	call Function109bb
-	call Function1089a
-	ret
-
-
-Function1076f: ; 1076f
-	ld hl, wcf73
-	ld a, [hl]
-	and $1
-	jr nz, .asm_10788
-	ld a, [hl]
-	and $2
-	jr nz, .asm_1078f
-	ld a, [hl]
-	and $20
-	jr nz, .asm_10795
-	ld a, [hl]
-	and $10
-	jr nz, .asm_107a8
-	scf
-	ret
-
-.asm_10788
-	ld a, $1
-	ld [wcf66], a
-	and a
-	ret
-
-.asm_1078f
-	xor a
-	ld [wcf66], a
-	and a
-	ret
-
-.asm_10795
-	ld a, [wcf63]
-	dec a
-	and $3
-	ld [wcf63], a
-	push de
-	ld de, SFX_UNKNOWN_62
-	call PlaySFX
-	pop de
-	scf
-	ret
-
-.asm_107a8
-	ld a, [wcf63]
-	inc a
-	and $3
-	ld [wcf63], a
-	push de
-	ld de, SFX_UNKNOWN_62
-	call PlaySFX
-	pop de
-	scf
-	ret
-; 107bb
-
-Function107bb: ; 107bb
-	call Function106a5
-	ld a, [InputType]
-	or a
-	jr z, .asm_107ca
-	callba Function1de28f
-
-.asm_107ca
-	call Function107d7
-	call Function1076f
-	jr c, .asm_107ca
-	xor a
-	ld [wcf66], a
-	ret
-; 107d7
-
-Function107d7: ; 107d7
-	ld a, [wcf63]
-	ld hl, Jumptable_107e1
-	call Function1086b
-	jp [hl]
-; 107e1
-
-
-Jumptable_107e1: ; 107e1 (4:47e1)
-	dw Function107e9
-	dw Function1083b
-	dw Function10807
-	dw Function10826
-
-
-Function107e9: ; 107e9 (4:47e9)
-	xor a
-	ld hl, MenuDataHeader_0x107ef
-	jr Function1085a
-; 107ef (4:47ef)
-
-MenuDataHeader_0x107ef: ; 0x107ef
-	db $40 ; flags
-	db 01, 07 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x107f7
-	db 1 ; default option
-; 0x107f7
-
-MenuData2_0x107f7: ; 0x107f7
-	db $ae ; flags
-	db 5, 8 ; rows, columns
-	db 2 ; horizontal spacing
-	dbw 0, OTPartyMons
-	dbw BANK(Function24ab4), Function24ab4
-	dbw BANK(Function24ac3), Function24ac3
-	dbw BANK(Function244c3), Function244c3
-; 10807
-
-Function10807: ; 10807 (4:4807)
-	ld a, $2
-	ld hl, MenuDataHeader_0x1080e
-	jr Function1085a
-; 1080e (4:480e)
-
-MenuDataHeader_0x1080e: ; 0x1080e
-	db $40 ; flags
-	db 01, 07 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x10816
-	db 1 ; default option
-; 0x10816
-
-MenuData2_0x10816: ; 0x10816
-	db $ae ; flags
-	db 5, 8 ; rows, columns
-	db 1 ; horizontal spacing
-	dbw 0, OTPartyMon1Exp + 2
-	dbw BANK(Function24ab4), Function24ab4
-	dbw BANK(Function24ac3), Function24ac3
-	dbw BANK(Function244c3), Function244c3
-; 10826
-
-Function10826: ; 10826 (4:4826)
-	ld a, $3
-	call Function10762
-	call Function1089a
-	callba Function2c76f
-	ld a, [CurItem]
-	ld [CurItem], a
-	ret
-
-Function1083b: ; 1083b (4:483b)
-	ld a, $1
-	ld hl, MenuDataHeader_0x10842
-	jr Function1085a
-; 10842 (4:4842)
-
-MenuDataHeader_0x10842: ; 0x10842
-	db $40 ; flags
-	db 01, 07 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x1084a
-	db 1 ; default option
-; 0x1084a
-
-MenuData2_0x1084a: ; 0x1084a
-	db $ae ; flags
-	db 5, 8 ; rows, columns
-	db 2 ; horizontal spacing
-	dbw 0, OTPartyMon1CaughtGender
-	dbw BANK(Function24ab4), Function24ab4
-	dbw BANK(Function24ac3), Function24ac3
-	dbw BANK(Function244c3), Function244c3
-; 1085a
-
-Function1085a: ; 1085a (4:485a)
-	push hl
-	call Function10762
-	pop hl
-	call Function1d3c
-	call Function350c
-	ret
-
-Function10866: ; 10866 (4:4866)
-	ld hl, wcf63
-	inc [hl]
-	ret
-
-Function1086b: ; 1086b
-	ld e, a
-	ld d, 0
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ret
-; 10874
-
-Function10874: ; 10874 (4:4874)
-	ld hl, wcf63
-	set 7, [hl]
-	xor a
-	ld [wcf66], a
-	ret
-
-Function1087e: ; 1087e (4:487e)
-	ld hl, wcf63
-	set 7, [hl]
-	ld a, $1
-	ld [wcf66], a
-	ret
-
-Function10889: ; 10889 (4:4889)
-	ld a, [Options]
-	push af
-	set 4, a
-	ld [Options], a
-	call PrintText
-	pop af
-	ld [Options], a
-	ret
-
-Function1089a: ; 1089a (4:489a)
-	call WaitBGMap
-
-
-Function1089d: ; 1089d
-	ld a, [wcf65]
-	and $3
-	ld e, a
-	ld d, $0
-	ld a, [BattleType]
-	cp BATTLETYPE_TUTORIAL
-	jr z, .asm_108b3
-	ld a, [PlayerGender]
-	bit 0, a
-	jr nz, .asm_108c5
-
-.asm_108b3
-	ld hl, PackGFXPointers
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld e, a
-	ld d, [hl]
-	ld hl, $9500
-	lb bc, BANK(PackGFX), 15
-	call Request2bpp
-	ret
-
-.asm_108c5
-	callba Function48e81
-	ret
-; 108cc
-
-PackGFXPointers: ; 108cc
-	dw PackGFX + $f0 * 1
-	dw PackGFX + $f0 * 3
-	dw PackGFX + $f0 * 0
-	dw PackGFX + $f0 * 2
-; 108d4
-
-Function108d4: ; 108d4 (4:48d4)
-	ld hl, wcf73
-	ld a, [wd0e3]
-	and a
-	jr nz, .asm_10931
-	ld a, [hl]
-	and $1
-	jr nz, .asm_108f8
-	ld a, [hl]
-	and $2
-	jr nz, .asm_108fa
-	ld a, [hl]
-	and $20
-	jr nz, .asm_10901
-	ld a, [hl]
-	and $10
-	jr nz, .asm_10912
-	ld a, [hl]
-	and $4
-	jr nz, .asm_10923
-	scf
-	ret
-.asm_108f8
-	and a
-	ret
-.asm_108fa
-	ld a, $9
-	ld [wcf63], a
-	scf
-	ret
-.asm_10901
-	ld a, b
-	ld [wcf63], a
-	ld [wcf64], a
-	push de
-	ld de, SFX_UNKNOWN_62
-	call PlaySFX
-	pop de
-	scf
-	ret
-.asm_10912
-	ld a, c
-	ld [wcf63], a
-	ld [wcf64], a
-	push de
-	ld de, SFX_UNKNOWN_62
-	call PlaySFX
-	pop de
-	scf
-	ret
-.asm_10923
-	callba Function2490c
-	ld hl, UnknownText_0x10b07
-	call Function10889
-	scf
-	ret
-.asm_10931
-	ld a, [hl]
-	and $5
-	jr nz, .asm_1093d
-	ld a, [hl]
-	and $2
-	jr nz, .asm_1094f
-	scf
-	ret
-.asm_1093d
-	callba Function2490c
-	ld de, SFX_SWITCH_POKEMON
-	call WaitPlaySFX
-	ld de, SFX_SWITCH_POKEMON
-	call WaitPlaySFX
-.asm_1094f
-	xor a
-	ld [wd0e3], a
-	scf
-	ret
-
-
-Function10955: ; 10955
-	call WhiteBGMap
-	call ClearTileMap
-	call ClearSprites
-	call DisableLCD
-	ld hl, PackMenuGFX
-	ld de, VTiles2
-	ld bc, $0600
-	ld a, BANK(PackMenuGFX)
-	call FarCopyBytes
-	hlcoord 0, 1
-	ld bc, $00dc
-	ld a, $24
-	call ByteFill
-	hlcoord 5, 1
-	lb bc, 11, 15
-	call ClearBox
-	ld hl, TileMap
-	ld a, $28
-	ld c, $14
-.asm_1098a
-	ld [hli], a
-	inc a
-	dec c
-	jr nz, .asm_1098a
-	call Function109bb
-	call Function109a5
-	hlcoord 0, 12
-	lb bc, 4, 18
-	call TextBox
-	call EnableLCD
-	call Function1089d
-	ret
-; 109a5
-
-Function109a5: ; 109a5
-	hlcoord 0, 3
-	ld a, $50
-	ld de, 15
-	ld b, 3
-.asm_109af
-	ld c, 5
-.asm_109b1
-	ld [hli], a
-	inc a
-	dec c
-	jr nz, .asm_109b1
-	add hl, de
-	dec b
-	jr nz, .asm_109af
-	ret
-; 109bb
-
-Function109bb: ; 109bb
-	ld a, [wcf65]
-
-	; * 15
-	ld d, a
-	swap a
-	sub d
-
-	ld d, 0
-	ld e, a
-	ld hl, Tilemap_109e1
-	add hl, de
-	ld d, h
-	ld e, l
-	hlcoord 0, 7
-	ld c, 3
-.asm_109d0
-	ld b, 5
-.asm_109d2
-	ld a, [de]
-	inc de
-	ld [hli], a
-	dec b
-	jr nz, .asm_109d2
-	ld a, c
-	ld c, 15
-	add hl, bc
-	ld c, a
-	dec c
-	jr nz, .asm_109d0
-	ret
-; 109e1
-
-Tilemap_109e1: ; 109e1
-	db $00, $04, $04, $04, $01,  $06, $07, $08, $09, $0a,  $02, $05, $05, $05, $03
-	db $00, $04, $04, $04, $01,  $15, $16, $17, $18, $19,  $02, $05, $05, $05, $03
-	db $00, $04, $04, $04, $01,  $0b, $0c, $0d, $0e, $0f,  $02, $05, $05, $05, $03
-	db $00, $04, $04, $04, $01,  $10, $11, $12, $13, $14,  $02, $05, $05, $05, $03
-; 10a1d
-
-Function10a1d: ; 10a1d
-	ld a, [CurItem]
-	ld [wd265], a
-	call GetItemName
-	call CopyName1
-	ret
-; 10a2a
-
-Function10a2a: ; 10a2a
-	ld hl, TileMap
-	ld bc, $0168
-	ld a, $7f
-	call ByteFill
-	ret
-; 10a36
-
-Function10a36: ; 10a36 (4:4a36)
-	hlcoord 5, 2
-	ld bc, $a0f
-	call ClearBox
-	ret
-
-
-Function10a40: ; 10a40
-	call WaitBGMap
-	ld b, $14
-	call GetSGBLayout
-	call Function32f9
-	call DelayFrame
-	ret
-; 10a4f
-
-MenuDataHeader_0x10a4f: ; 0x10a4f
-	db $40 ; flags
-	db 01, 07 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x10a57
-	db 1 ; default option
-; 0x10a57
-
-MenuData2_0x10a57: ; 0x10a57
-	db $ae ; flags
-	db 5, 8 ; rows, columns
-	db 2 ; horizontal spacing
-	dbw 0, NumItems
-	dbw BANK(Function24ab4), Function24ab4
-	dbw BANK(Function24ac3), Function24ac3
-	dbw BANK(Function244c3), Function244c3
-; 10a67
-
-MenuDataHeader_0x10a67: ; 0x10a67
-	db $40 ; flags
-	db 01, 07 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x10a6f
-	db 1 ; default option
-; 0x10a6f
-
-MenuData2_0x10a6f: ; 0x10a6f
-	db $2e ; flags
-	db 5, 8 ; rows, columns
-	db 2 ; horizontal spacing
-	dbw 0, NumItems
-	dbw BANK(Function24ab4), Function24ab4
-	dbw BANK(Function24ac3), Function24ac3
-	dbw BANK(Function244c3), Function244c3
-; 10a7f
-
-MenuDataHeader_0x10a7f: ; 0x10a7f
-	db $40 ; flags
-	db 01, 07 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x10a87
-	db 1 ; default option
-; 0x10a87
-
-MenuData2_0x10a87: ; 0x10a87
-	db $ae ; flags
-	db 5, 8 ; rows, columns
-	db 1 ; horizontal spacing
-	dbw 0, NumKeyItems
-	dbw BANK(Function24ab4), Function24ab4
-	dbw BANK(Function24ac3), Function24ac3
-	dbw BANK(Function244c3), Function244c3
-; 10a97
-
-MenuDataHeader_0x10a97: ; 0x10a97
-	db $40 ; flags
-	db 01, 07 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x10a9f
-	db 1 ; default option
-; 0x10a9f
-
-MenuData2_0x10a9f: ; 0x10a9f
-	db $2e ; flags
-	db 5, 8 ; rows, columns
-	db 1 ; horizontal spacing
-	dbw 0, NumKeyItems
-	dbw BANK(Function24ab4), Function24ab4
-	dbw BANK(Function24ac3), Function24ac3
-	dbw BANK(Function244c3), Function244c3
-; 10aaf
-
-MenuDataHeader_0x10aaf: ; 0x10aaf
-	db $40 ; flags
-	db 01, 07 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x10ab7
-	db 1 ; default option
-; 0x10ab7
-
-MenuData2_0x10ab7: ; 0x10ab7
-	db $ae ; flags
-	db 5, 8 ; rows, columns
-	db 2 ; horizontal spacing
-	dbw 0, NumBalls
-	dbw BANK(Function24ab4), Function24ab4
-	dbw BANK(Function24ac3), Function24ac3
-	dbw BANK(Function244c3), Function244c3
-; 10ac7
-
-MenuDataHeader_0x10ac7: ; 0x10ac7
-	db $40 ; flags
-	db 01, 07 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_0x10acf
-	db 1 ; default option
-; 0x10acf
-
-MenuData2_0x10acf: ; 0x10acf
-	db $2e ; flags
-	db 5, 8 ; rows, columns
-	db 2 ; horizontal spacing
-	dbw 0, NumBalls
-	dbw BANK(Function24ab4), Function24ab4
-	dbw BANK(Function24ac3), Function24ac3
-	dbw BANK(Function244c3), Function244c3
-; 10adf
-
-UnknownText_0x10adf: ; 0x10adf
-	; No items.
-	text_jump UnknownText_0x1c0b9a
-	db "@"
-; 0x10ae4
-
-UnknownText_0x10ae4: ; 0x10ae4
-	; Throw away how many?
-	text_jump UnknownText_0x1c0ba5
-	db "@"
-; 0x10ae9
-
-UnknownText_0x10ae9: ; 0x10ae9
-	; Throw away @ @ (S)?
-	text_jump UnknownText_0x1c0bbb
-	db "@"
-; 0x10aee
-
-UnknownText_0x10aee: ; 0x10aee
-	; Threw away @ (S).
-	text_jump UnknownText_0x1c0bd8
-	db "@"
-; 0x10af3
-
-UnknownText_0x10af3: ; 0x10af3
-	; OAK:  ! This isn't the time to use that!
-	text_jump UnknownText_0x1c0bee
-	db "@"
-; 0x10af8
-
-UnknownText_0x10af8: ; 0x10af8
-	; You don't have a #MON!
-	text_jump UnknownText_0x1c0c17
-	db "@"
-; 0x10afd
-
-UnknownText_0x10afd: ; 0x10afd
-	; Registered the @ .
-	text_jump UnknownText_0x1c0c2e
-	db "@"
-; 0x10b02
-
-UnknownText_0x10b02: ; 0x10b02
-	; You can't register that item.
-	text_jump UnknownText_0x1c0c45
-	db "@"
-; 0x10b07
-
-UnknownText_0x10b07: ; 0x10b07
-	; Where should this be moved to?
-	text_jump UnknownText_0x1c0c63
-	db "@"
-; 0x10b0c
-
-UnknownText_0x10b0c: ; 0x10b0c
-	; 
-	text_jump UnknownText_0x1c0c83
-	db "@"
-; 0x10b11
-
-UnknownText_0x10b11: ; 0x10b11
-	; You can't use it in a battle.
-	text_jump UnknownText_0x1c0c85
-	db "@"
-; 0x10b16
-
-PackMenuGFX:
-INCBIN "gfx/misc/pack_menu.2bpp"
-
-PackGFX:
-INCBIN "gfx/misc/pack.w40.2bpp"
-
 Function113d6: ; 113d6
 	call Function114dd
 	ret
@@ -18394,7 +12387,7 @@
 	checkflag $0011
 	iffalse .script_122cd
 	setflag $0051
-	special $0017
+	special Function13a31
 .script_122cd
 	end
 ; 0x122ce
@@ -18725,15 +12718,15 @@
 UnknownScript_0x124ce: ; 0x124ce
 	writetext UnknownText_0x124f5
 	closetext
-	special $002e
+	special Function8c084
 	pause 40
-	special $001b
+	special Functionc658
 	checkflag $0011
 	iftrue .script_64f2
 	callasm HalveMoney
 	callasm Function12527
 	farscall UnknownScript_0x122c1
-	special $0000
+	special Function97c28
 	newloadmap $f1
 	resetfuncs
 
@@ -18900,7 +12893,7 @@
 
 UnknownScript_0x125ad: ; 0x125ad
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 	callasm Function12599
 	writetext UnknownText_0x125c3
 	loadmovesprites
@@ -18909,7 +12902,7 @@
 
 UnknownScript_0x125ba: ; 0x125ba
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 	writetext UnknownText_0x125c8
 	loadmovesprites
 	end
@@ -20301,7 +14294,7 @@
 ; 0x12f05
 
 Function12f05: ; 12f05
-	ld a, $24
+	ld a, PartyMon1MaxHP - PartyMon1
 	call GetPartyParamLocation
 	ld a, [hli]
 	ld [hProduct], a
@@ -20311,7 +14304,7 @@
 	ld [hMultiplier], a
 	ld b, $2
 	call Divide
-	ld a, $23
+	ld a, PartyMon1HP + 1 - PartyMon1
 	call GetPartyParamLocation
 	ld a, [$ffb6]
 	sub [hl]
@@ -25360,603 +19353,10 @@
 ; 0x152ab
 
 
-SpawnPoints: ; 0x152ab
+INCLUDE "engine/spawn_points.asm"
 
-	const_def
+INCLUDE "engine/map_setup.asm"
 
-spawn: MACRO
-; name, map, y, x
-\1\@ EQUS "SPAWN_\1"
-	const \1\@
-	map \2
-	db \3, \4
-ENDM
-
-	spawn HOME,        KRISS_HOUSE_2F,              3,  3
-	spawn DEBUG,       VIRIDIAN_POKECENTER_1F,      5,  3
-
-	spawn PALLET,      PALLET_TOWN,                 5,  6
-	spawn VIRIDIAN,    VIRIDIAN_CITY,              23, 26
-	spawn PEWTER,      PEWTER_CITY,                13, 26
-	spawn CERULEAN,    CERULEAN_CITY,              19, 22
-	spawn ROCK_TUNNEL, ROUTE_10A,                  11,  2
-	spawn VERMILION,   VERMILION_CITY,              9,  6
-	spawn LAVENDER,    LAVENDER_TOWN,               5,  6
-	spawn SAFFRON,     SAFFRON_CITY,                9, 30
-	spawn CELADON,     CELADON_CITY,               29, 10
-	spawn FUCHSIA,     FUCHSIA_CITY,               19, 28
-	spawn CINNABAR,    CINNABAR_ISLAND,            11, 12
-	spawn INDIGO,      ROUTE_23,                    9,  6
-
-	spawn NEW_BARK,    NEW_BARK_TOWN,              13,  6
-	spawn CHERRYGROVE, CHERRYGROVE_CITY,           29,  4
-	spawn VIOLET,      VIOLET_CITY,                31, 26
-	spawn UNION_CAVE,  ROUTE_32,                   11, 74
-	spawn AZALEA,      AZALEA_TOWN,                15, 10
-	spawn CIANWOOD,    CIANWOOD_CITY,              23, 44
-	spawn GOLDENROD,   GOLDENROD_CITY,             15, 28
-	spawn OLIVINE,     OLIVINE_CITY,               13, 22
-	spawn ECRUTEAK,    ECRUTEAK_CITY,              23, 28
-	spawn MAHOGANY,    MAHOGANY_TOWN,              15, 14
-	spawn LAKE,        LAKE_OF_RAGE,               21, 29
-	spawn BLACKTHORN,  BLACKTHORN_CITY,            21, 30
-	spawn MT_SILVER,   SILVER_CAVE_OUTSIDE,        23, 20
-	spawn FAST_SHIP,   FAST_SHIP_CABINS_SW_SSW_NW,  6,  2
-
-	db -1, -1, -1, -1
-
-	const NUM_SPAWNS
-
-
-LoadSpawnPoint: ; 1531f
-	push hl
-	push de
-	ld a, [wd001]
-	cp -1
-	jr z, .asm_15341
-	ld l, a
-	ld h, 0
-	add hl, hl
-	add hl, hl
-	ld de, SpawnPoints
-	add hl, de
-	ld a, [hli]
-	ld [MapGroup], a
-	ld a, [hli]
-	ld [MapNumber], a
-	ld a, [hli]
-	ld [XCoord], a
-	ld a, [hli]
-	ld [YCoord], a
-.asm_15341
-	pop de
-	pop hl
-	ret
-; 15344
-
-
-IsSpawnPoint: ; 15344
-	ld hl, SpawnPoints
-	ld c, 0
-.asm_15349
-	ld a, [hl]
-	cp -1
-	jr z, .asm_1535f
-	cp d
-	jr nz, .asm_15356
-	inc hl
-	ld a, [hld]
-	cp e
-	jr z, .asm_15361
-
-.asm_15356
-	push bc
-	ld bc, 4
-	add hl, bc
-	pop bc
-	inc c
-	jr .asm_15349
-
-.asm_1535f
-	and a
-	ret
-
-.asm_15361
-	scf
-	ret
-; 15363
-
-
-RunMapSetupScript:: ; 15363
-	ld a, [$ff9f]
-	and $f
-	dec a
-	ld c, a
-	ld b, 0
-	ld hl, MapSetupScripts
-	add hl, bc
-	add hl, bc
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	call ReadMapSetupScript
-	ret
-; 15377
-
-MapSetupScripts: ; 15377
-	dw MapSetupScript1
-	dw MapSetupScript2
-	dw MapSetupScript3
-	dw MapSetupScript4
-	dw MapSetupScript5
-	dw MapSetupScript6
-	dw MapSetupScript7
-	dw MapSetupScript8
-	dw MapSetupScript9
-	dw MapSetupScript10
-	dw MapSetupScript11
-	dw MapSetupScript12
-; 1538f
-
-
-; Command descriptions from Condensation water's scripting compendium.
-	const_def
-	const map_lcd_on              ; 00 = Turn LCD on
-	const map_lcd_off             ; 01 = Turn LCD off
-	const map_sound_off           ; 02 = Turn speakers off
-	const map_music               ; 03 = Music check for current map/ special check for bug catcher contest
-	const map_start_music         ; 04 = Start map music anew
-	const map_fade_music          ; 05 = Music check for current map / special check for Bug Contest/ music with FadeOut (old) and FadeIn
-	const map_fade                ; 06 = Fade out music + screen
-	const map_bike_music          ; 07 = If HIRO is on bike = bike music, else play map music
-	const map_music_force         ; 08 = Play map music
-	const map_max_volume          ; 09 = Turn music to highest volume
-	const map_load_blocks         ; 0A = Write map data to MapRAM
-	const map_connection_blocks   ; 0B = Compute map’s connection pars and write into MapRAM
-	const map_save_screen         ; 0C = Write current part of map into temporary memory
-	const map_buffer_screen       ; 0D = Write current part of map into read-from memory
-	const map_load_graphics       ; 0E = Write tileset header to ram/ load tileset/ load sprite tiles/ load special tiles
-	const map_load_tileset_header ; 0F = Write tileset header to ram
-	const map_time_of_day         ; 10 = Compute time of day/ Update screen
-	const map_palettes            ; 11 = Load map palettes
-	const map_wildmons            ; 12 = Load probabilities for wild Pokémon battles
-	const map_sprites             ; 13 = Delete sprite data and draw new sprites
-	const map_change_callback     ; 14 = Check 2nd script header for 05 and 03 callbacks
-	const map_start_callback      ; 15 = Check 2nd script header for 03 callbacks
-	const map_load_objects        ; 16 = Analyze people data anew and check 2nd script header for 02 callbacks
-	const map_load_spawn          ; 17 = Writes arrival data for arrival by flying/Blackout from table 05:5319 to ram
-	const map_load_connection     ; 18 = Writes arrival data for entering a map by connection to ram
-	const map_load_warp           ; 19 = Write warp data to ram when entering warp
-	const map_attributes          ; 1A = Load complete map data (primary, secondary, event, script headers)
-	const map_attributes_2        ; 1B = Same as 1A, but some settings aren’t loaded new from the rom, such as hide function of the people events
-	const map_clear_bg_palettes   ; 1C = Fill palette data with FFFF (=white)
-	const map_fade_out_palettes   ; 1D = All BG pallet color are converted to 0|0 (Pal0, Col0), all sprite colors to x|0 (FadeOut)
-	const map_fade_in_palettes    ; 1E = Palette FadeIn
-	const map_anchor_screen       ; 1F = Compute position of upper left-most block visible on screen
-	const map_warp_face           ; 20 = Position computation when HIRO leaves a warp
-	const map_face_down           ; 21 = Set HIRO’s facing to “down”
-	const map_spawn_coord         ; 22 = Prepare HIRO data for arrival by flight
-	const map_player_coord        ; 23 = Compute HIRO x/y data anew
-	const map_prolong_sprites     ; 24 = Prolong old sprites before removing them
-	const map_delay_sprites       ; 25 = Delay rendering new sprites
-	const map_update_roam         ; 26 = Compute chances to meet Raikou, Entei or Suicune
-	const map_keep_roam           ; 27 = Recover chances to meet Raikou, Entei or Suicune
-	const map_fade_out_music      ; 28 = Temporarily stop music playing
-	const map_animations_on       ; 29 = Activate animations
-	const map_animations_off      ; 2A = Deactivate animations
-	const map_keep_palettes       ; 2B = Recover all palettes
-	const map_text_scroll_off     ; 2C = Turn off text scroll (for town name overlays)
-	const map_stop_script         ; 2D = Deactivate code prolonging
-
-
-MapSetupScript4: ; 1538f
-	db map_prolong_sprites
-
-MapSetupScript12: ; 15390
-	db map_fade_out_palettes
-	db map_keep_roam
-
-MapSetupScript1: ; 15392
-	db map_lcd_off
-	db map_sound_off
-	db map_load_spawn
-	db map_attributes
-	db map_change_callback
-	db map_spawn_coord
-	db map_player_coord
-	db map_anchor_screen
-	db map_load_blocks
-	db map_buffer_screen
-	db map_load_graphics
-	db map_time_of_day
-	db map_load_objects
-	db map_lcd_on
-	db map_palettes
-	db map_face_down
-	db map_sprites
-	db map_bike_music
-	db map_max_volume
-	db map_fade_in_palettes
-	db map_animations_on
-	db map_wildmons
-	db -1
-
-MapSetupScript11: ; 153a9
-	db map_load_spawn
-	db map_attributes
-	db map_change_callback
-	db map_spawn_coord
-	db map_player_coord
-	db map_anchor_screen
-	db map_load_blocks
-	db map_buffer_screen
-	db map_lcd_off
-	db map_load_graphics
-	db map_time_of_day
-	db map_fade_out_music
-	db map_lcd_on
-	db map_load_objects
-	db map_palettes
-	db map_face_down
-	db map_sprites
-	db map_fade_music
-	db map_fade_in_palettes
-	db map_animations_on
-	db map_wildmons
-	db -1
-
-MapSetupScript7: ; 153bf
-	db map_animations_off
-	db map_load_connection
-	db map_attributes
-	db map_change_callback
-	db map_player_coord
-	db map_load_blocks
-	db map_load_tileset_header
-	db map_save_screen
-	db map_load_objects
-	db map_fade_music
-	db map_palettes
-	db map_stop_script
-	db map_keep_palettes
-	db map_wildmons
-	db map_update_roam
-	db map_animations_on
-	db -1
-
-MapSetupScript6: ; 153d0
-	db map_prolong_sprites
-
-MapSetupScript5: ; 153d1
-	db map_fade_out_palettes
-
-MapSetupScript9: ; 153d2
-	db map_load_warp
-	db map_attributes
-	db map_warp_face
-	db map_change_callback
-	db map_player_coord
-	db map_load_blocks
-	db map_buffer_screen
-	db map_lcd_off
-	db map_load_graphics
-	db map_time_of_day
-	db map_fade_out_music
-	db map_lcd_on
-	db map_load_objects
-	db map_palettes
-	db map_sprites
-	db map_fade_music
-	db map_fade_in_palettes
-	db map_animations_on
-	db map_wildmons
-	db map_update_roam
-	db -1
-
-MapSetupScript3: ; 153e7
-	db map_fade
-	db map_clear_bg_palettes
-	db map_lcd_off
-	db map_sound_off
-	db map_load_blocks
-	db map_connection_blocks
-	db map_load_graphics
-	db map_time_of_day
-	db map_lcd_on
-	db map_palettes
-	db map_sprites
-	db map_music_force
-	db map_fade_in_palettes
-	db map_animations_on
-	db map_wildmons
-	db -1
-
-MapSetupScript8: ; 153f7
-	db map_fade
-	db map_lcd_off
-	db map_sound_off
-	db map_change_callback
-	db map_load_blocks
-	db map_buffer_screen
-	db map_load_graphics
-	db map_time_of_day
-	db map_lcd_on
-	db map_palettes
-	db map_sprites
-	db map_bike_music
-	db map_fade_in_palettes
-	db map_animations_on
-	db map_wildmons
-	db map_text_scroll_off
-	db -1
-
-MapSetupScript2: ; 15408
-	db map_lcd_off
-	db map_sound_off
-	db map_attributes_2
-	db map_anchor_screen
-	db map_start_callback
-	db map_load_blocks
-	db map_connection_blocks
-	db map_buffer_screen
-	db map_load_graphics
-	db map_time_of_day
-	db map_lcd_on
-	db map_palettes
-	db map_sprites
-	db map_bike_music
-	db map_fade_in_palettes
-	db map_animations_on
-	db map_wildmons
-	db -1
-
-MapSetupScript10: ; 1541a
-	db map_load_blocks
-	db map_connection_blocks
-	db -1
-
-
-ReadMapSetupScript: ; 1541d
-.loop
-	ld a, [hli]
-	cp -1
-	ret z
-
-	push hl
-
-	ld c, a
-	ld b, 0
-	ld hl, MapSetupCommands
-	add hl, bc
-	add hl, bc
-	add hl, bc
-
-	; bank
-	ld b, [hl]
-	inc hl
-
-	; address
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-
-	; Bit 7 of the bank indicates a parameter.
-	; This is left unused.
-	bit 7, b
-	jr z, .go
-
-	pop de
-	ld a, [de]
-	ld c, a
-	inc de
-	push de
-
-.go
-	ld a, b
-	and $7f
-	rst FarCall
-
-	pop hl
-	jr .loop
-; 15440
-
-MapSetupCommands: ; 15440
-	dbw BANK(EnableLCD), EnableLCD
-	dbw BANK(DisableLCD), DisableLCD
-	dbw BANK(SoundRestart), SoundRestart
-	dbw BANK(PlayMapMusic), PlayMapMusic
-	dbw BANK(RestartMapMusic), RestartMapMusic
-	dbw BANK(FadeToMapMusic), FadeToMapMusic
-	dbw BANK(Function15574), Function15574
-	dbw BANK(EnterMapMusic), EnterMapMusic
-	dbw BANK(Function15587), Function15587
-	dbw BANK(Function3cae), Function3cae
-	dbw BANK(Function24cd), Function24cd
-	dbw BANK(Function28e3), Function28e3
-	dbw BANK(Function289d), Function289d
-	dbw BANK(Function2879), Function2879
-	dbw BANK(Function1047cf), Function1047cf
-	dbw BANK(LoadTilesetHeader), LoadTilesetHeader
-	dbw BANK(Function104750), Function104750
-	dbw BANK(Function1047eb), Function1047eb
-	dbw BANK(Function29ff8), Function29ff8
-	dbw BANK(Function1047f0), Function1047f0
-	dbw BANK(Function1045b0), Function1045b0
-	dbw BANK(Function1045c4), Function1045c4
-	dbw BANK(Function154d7), Function154d7
-	dbw BANK(LoadSpawnPoint), LoadSpawnPoint
-	dbw BANK(EnterMapConnection), EnterMapConnection
-	dbw BANK(Function1046c6), Function1046c6
-	dbw BANK(Function2309), Function2309
-	dbw BANK(Function2317), Function2317
-	dbw BANK(WhiteBGMap), WhiteBGMap
-	dbw BANK(Function8c084), Function8c084
-	dbw BANK(Function8c079), Function8c079
-	dbw BANK(Function10486d), Function10486d
-	dbw BANK(Function248a), Function248a
-	dbw BANK(Function57d9), Function57d9
-	dbw BANK(Function8029), Function8029
-	dbw BANK(Function80b8), Function80b8
-	dbw BANK(Function154eb), Function154eb
-	dbw BANK(Function154f1), Function154f1
-	dbw BANK(Function2a30d), Function2a30d
-	dbw BANK(Function2a394), Function2a394
-	dbw BANK(Function15567), Function15567
-	dbw BANK(Function154cf), Function154cf
-	dbw BANK(Function154d3), Function154d3
-	dbw BANK(Function1556d), Function1556d
-	dbw BANK(Function154ca), Function154ca
-	dbw BANK(Functionb8000), Functionb8000
-; 154ca
-
-
-Function154ca: ; 154ca
-	xor a
-	ld [wc2d7], a
-	ret
-; 154cf
-
-Function154cf: ; 154cf
-	ld a, $1
-	ld [$ffde], a
-	ret
-; 154d3
-
-Function154d3: ; 154d3
-	xor a
-	ld [$ffde], a
-	ret
-; 154d7
-
-Function154d7: ; 154d7
-	ld a, $2
-	call Function263b
-	callba Function2454f
-	callba Function8177
-	ret
-; 154ea (5:54ea)
-
-Function154ea: ; 154ea
-	ret
-; 154eb
-
-Function154eb: ; 154eb
-	ld hl, wd45b
-	set 7, [hl]
-	ret
-; 154f1
-
-Function154f1: ; 154f1
-	ld hl, wd45b
-	set 6, [hl]
-	ret
-
-Function154f7: ; 154f7
-	nop
-	call Function1550c
-	jr c, .asm_15508
-	call Function1554e
-	jr c, .asm_15508
-	call Function1551a
-	jr c, .asm_15508
-	ret
-.asm_15508
-	call Functione4a
-	ret
-
-Function1550c: ; 1550c (5:550c)
-	and a
-	ld hl, BikeFlags
-	bit 1, [hl]
-	ret z
-	ld a, $1
-	ld [PlayerState], a
-	scf
-	ret
-
-Function1551a: ; 1551a (5:551a)
-	ld a, [PlayerState]
-	cp $0
-	jr z, .asm_1554c
-	cp $2
-	jr z, .asm_1554c
-	cp $4
-	jr z, .asm_15545
-	cp $8
-	jr z, .asm_15545
-	call GetMapPermission
-	cp $3
-	jr z, .asm_1553e
-	cp $5
-	jr z, .asm_1553e
-	cp $7
-	jr z, .asm_1553e
-	jr .asm_1554c
-.asm_1553e
-	ld a, [PlayerState]
-	cp $1
-	jr nz, .asm_1554c
-.asm_15545
-	ld a, $0
-	ld [PlayerState], a
-	scf
-	ret
-.asm_1554c
-	and a
-	ret
-
-Function1554e: ; 1554e (5:554e)
-	call Function1852
-	jr nz, .asm_15565
-	ld a, [PlayerState]
-	cp $4
-	jr z, .asm_15563
-	cp $8
-	jr z, .asm_15563
-	ld a, $4
-	ld [PlayerState], a
-.asm_15563
-	scf
-	ret
-.asm_15565
-	and a
-	ret
-; 15567
-
-Function15567: ; 15567
-	ld a, 6
-	call SkipMusic
-	ret
-; 1556d
-
-Function1556d: ; 1556d
-	callba _UpdateTimePals
-	ret
-
-Function15574: ; 15574
-	ld e, 0
-	ld a, [MusicFadeIDLo]
-	ld d, 0
-	ld a, [MusicFadeIDHi]
-	ld a, $4
-	ld [MusicFade], a
-	call Function4b6
-	ret
-; 15587
-
-Function15587: ; 15587
-	ld a, [PlayerState]
-	cp $1
-	jr nz, .asm_15596
-	call VolumeOff
-	ld a, $88
-	ld [MusicFade], a
-.asm_15596
-	call Function3d2f
-	ret
-; 1559a
-
-
 Function1559a: ; 1559a
 	call Function15650
 	ret c
@@ -33120,11 +26520,11 @@
 	ld a, [InLinkBattle]
 	and a
 	jr nz, .asm_24e03
-	ld a, $2
+	ld a, PartyMon1Moves - PartyMon1
 	call GetPartyParamLocation
 	ld d, h
 	ld e, l
-	ld c, $4
+	ld c, NUM_MOVES
 .asm_24ded
 	push bc
 	push de
@@ -33155,7 +26555,7 @@
 	and a
 	jr nz, .asm_24e2f
 	push hl
-	ld a, $1
+	ld a, PartyMon1Item - PartyMon1
 	call GetPartyParamLocation
 	ld d, [hl]
 	callba ItemIsMail
@@ -35701,7 +29101,7 @@
 	loadfont
 	writetext UnknownText_0x26f9b
 	closetext
-	special $0026
+	special Functionc2c0
 	loadmovesprites
 	end
 ; 0x26f9b
@@ -36211,9 +29611,9 @@
 	ld [de], a
 	ld hl, wc813
 	call Function2868a
-	ld a, $a8
+	ld a, OTPartyMonOT % $100
 	ld [wd102], a
-	ld a, $d3
+	ld a, OTPartyMonOT / $100
 	ld [wd103], a
 	ld de, MUSIC_NONE
 	call PlayMusic
@@ -37974,17 +31374,17 @@
 	ld b, $1
 	pop af
 	ld c, a
-	cp $97
+	cp MEW
 	jr z, .asm_28e49
 	ld a, [CurPartySpecies]
-	cp $97
+	cp MEW
 	jr z, .asm_28e49
 	ld b, $2
 	ld a, c
-	cp $fb
+	cp CELEBI
 	jr z, .asm_28e49
 	ld a, [CurPartySpecies]
-	cp $fb
+	cp CELEBI
 	jr z, .asm_28e49
 	ld b, $0
 
@@ -41918,176 +35318,9 @@
 	ret
 
 
-Function2c547: ; 2c547
-	ld hl, UnknownText_0x2c5ef
-	call PrintText
-	call YesNoBox
-	jr c, .asm_2c5c3
-	ld hl, UnknownText_0x2c5f4
-	call PrintText
-	callba Function50000
-	jr c, .asm_2c5c3
-	ld a, [CurPartySpecies]
-	cp EGG
-	jr z, .asm_2c5bc
-	ld a, [CurPartyMon]
-	ld hl, PartyMon1Moves + 1
-	ld bc, PartyMon2 - PartyMon1
-	call AddNTimes
-	ld a, [hl]
-	and a
-	jr z, .asm_2c5ca
-	ld hl, UnknownText_0x2c5ea
-	call PrintText
-	call Function1d6e
-	callba Function12f5b
-	push af
-	call Function2b74
-	pop af
-	jr c, .asm_2c5c3
-	ld a, [wcfa9]
-	push af
-	ld a, [CurSpecies]
-	ld [wd265], a
-	call GetMoveName
-	ld hl, UnknownText_0x2c5d6
-	call PrintText
-	call YesNoBox
-	pop bc
-	jr c, .asm_2c5c3
-	call Function2c5f9
-	call WaitSFX
-	ld de, SFX_MOVE_DELETED
-	call PlaySFX
-	call WaitSFX
-	ld hl, UnknownText_0x2c5db
-	call PrintText
-	ret
+INCLUDE "event/move_deleter.asm"
 
-.asm_2c5bc
-	ld hl, UnknownText_0x2c5e0
-	call PrintText
-	ret
 
-.asm_2c5c3
-	ld hl, UnknownText_0x2c5e5
-	call PrintText
-	ret
-
-.asm_2c5ca
-	ld hl, UnknownText_0x2c5d1
-	call PrintText
-	ret
-; 2c5d1
-
-UnknownText_0x2c5d1: ; 0x2c5d1
-	; That #MON knows only one move.
-	text_jump UnknownText_0x1c5eba
-	db "@"
-; 0x2c5d6
-
-UnknownText_0x2c5d6: ; 0x2c5d6
-	; Oh, make it forget @ ?
-	text_jump UnknownText_0x1c5eda
-	db "@"
-; 0x2c5db
-
-UnknownText_0x2c5db: ; 0x2c5db
-	; Done! Your #MON forgot the move.
-	text_jump UnknownText_0x1c5ef5
-	db "@"
-; 0x2c5e0
-
-UnknownText_0x2c5e0: ; 0x2c5e0
-	; An EGG doesn't know any moves!
-	text_jump UnknownText_0x1c5f17
-	db "@"
-; 0x2c5e5
-
-UnknownText_0x2c5e5: ; 0x2c5e5
-	; No? Come visit me again.
-	text_jump UnknownText_0x1c5f36
-	db "@"
-; 0x2c5ea
-
-UnknownText_0x2c5ea: ; 0x2c5ea
-	; Which move should it forget, then?
-	text_jump UnknownText_0x1c5f50
-	db "@"
-; 0x2c5ef
-
-UnknownText_0x2c5ef: ; 0x2c5ef
-	; Um… Oh, yes, I'm the MOVE DELETER. I can make #MON forget moves. Shall I make a #MON forget?
-	text_jump UnknownText_0x1c5f74
-	db "@"
-; 0x2c5f4
-
-UnknownText_0x2c5f4: ; 0x2c5f4
-	; Which #MON?
-	text_jump UnknownText_0x1c5fd1
-	db "@"
-; 0x2c5f9
-
-Function2c5f9: ; 2c5f9
-	ld a, b
-	push bc
-	dec a
-	ld c, a
-	ld b, 0
-	ld hl, PartyMon1Moves
-	add hl, bc
-	ld a, [CurPartyMon]
-	ld bc, PartyMon2 - PartyMon1
-	call AddNTimes
-	pop bc
-	push bc
-	inc b
-.asm_2c60f
-	ld a, b
-	cp NUM_MOVES + 1
-	jr z, .asm_2c61b
-	inc hl
-	ld a, [hld]
-	ld [hl], a
-	inc hl
-	inc b
-	jr .asm_2c60f
-
-.asm_2c61b
-	xor a
-	ld [hl], a
-	pop bc
-
-	ld a, b
-	push bc
-	dec a
-	ld c, a
-	ld b, 0
-	ld hl, PartyMon1PP
-	add hl, bc
-	ld a, [CurPartyMon]
-	ld bc, PartyMon2 - PartyMon1
-	call AddNTimes
-	pop bc
-	inc b
-.asm_2c633
-	ld a, b
-	cp NUM_MOVES + 1
-	jr z, .asm_2c63f
-	inc hl
-	ld a, [hld]
-	ld [hl], a
-	inc hl
-	inc b
-	jr .asm_2c633
-
-.asm_2c63f
-	xor a
-	ld [hl], a
-	ret
-; 2c642
-
-
 Function2c642: ; 2c642 (b:4642)
 	ld de, OverworldMap
 	ld a, $1
@@ -43771,2590 +37004,10 @@
 
 SECTION "bank10", ROMX, BANK[$10]
 
-Pokedex: ; 40000
 
-	ld a, [hWX]
-	ld l, a
-	ld a, [hWY]
-	ld h, a
-	push hl
-	ld a, [hSCX]
-	push af
-	ld hl, Options
-	ld a, [hl]
-	push af
-	set NO_TEXT_SCROLL, [hl]
-	ld a, [VramState]
-	push af
-	xor a
-	ld [VramState], a
-	ld a, [$ffaa]
-	push af
-	ld a, $1
-	ld [$ffaa], a
+INCLUDE "engine/pokedex.asm"
 
-	xor a
-	ld [$ffde], a
-	call InitPokedex
-	call DelayFrame
 
-.main
-	call Functiona57
-	ld a, [wcf63]
-	bit 7, a
-	jr nz, .exit
-	call Function4010b
-	call DelayFrame
-	jr .main
-
-.exit
-	ld de, SFX_READ_TEXT_2
-	call PlaySFX
-	call WaitSFX
-	call ClearSprites
-	ld a, [wc7d4]
-	ld [wd959], a
-
-	pop af
-	ld [$ffaa], a
-	pop af
-	ld [VramState], a
-	pop af
-	ld [Options], a
-	pop af
-	ld [hSCX], a
-	pop hl
-	ld a, l
-	ld [hWX], a
-	ld a, h
-	ld [hWY], a
-	ret
-; 40063
-
-InitPokedex: ; 40063
-	call WhiteBGMap
-	call ClearSprites
-	call ClearTileMap
-	call Function414b7
-
-	ld hl, wc6d0
-	ld bc, $0115
-	xor a
-	call ByteFill
-
-	xor a
-	ld [wcf63], a
-	ld [wcf64], a
-	ld [wcf65], a
-	ld [wcf66], a
-
-	call Function400a2
-
-	ld a, [wd959]
-	ld [wc7d4], a
-
-	call Function40bdc
-	call Function400b4
-	call Function400ed
-	callba Function1de247
-	call Function41af7
-	ret
-; 400a2
-
-Function400a2: ; 400a2
-	ld a, [StatusFlags]
-	bit 1, a
-	jr nz, .asm_400ae
-
-	xor a
-	ld [wc7dc], a
-	ret
-
-.asm_400ae
-	ld a, 1
-	ld [wc7dc], a
-	ret
-; 400b4
-
-Function400b4: ; 400b4
-	ld hl, wc6d0
-	ld a, [wc2d6]
-	and a
-	jr z, .asm_400ec
-	cp $fc
-	jr nc, .asm_400ec
-
-	ld b, a
-	ld a, [wc7d2]
-	cp $8
-	jr c, .asm_400db
-
-	sub $7
-	ld c, a
-.asm_400cc
-	ld a, b
-	cp [hl]
-	jr z, .asm_400ec
-	inc hl
-	ld a, [wc7d0]
-	inc a
-	ld [wc7d0], a
-	dec c
-	jr nz, .asm_400cc
-
-.asm_400db
-	ld c, $7
-.asm_400dd
-	ld a, b
-	cp [hl]
-	jr z, .asm_400ec
-	inc hl
-	ld a, [wc7d1]
-	inc a
-	ld [wc7d1], a
-	dec c
-	jr nz, .asm_400dd
-
-.asm_400ec
-	ret
-; 400ed
-
-Function400ed: ; 400ed
-	ld a, [MapGroup]
-	ld b, a
-	ld a, [MapNumber]
-	ld c, a
-	call GetWorldMapLocation
-
-	cp SPECIAL_MAP
-	jr nz, .asm_40107
-
-	ld a, [BackupMapGroup]
-	ld b, a
-	ld a, [BackupMapNumber]
-	ld c, a
-	call GetWorldMapLocation
-
-.asm_40107
-	ld [wc7e4], a
-	ret
-; 4010b
-
-Function4010b: ; 4010b
-	ld a, [wcf63]
-	ld hl, Jumptable_40115
-	call Function41432
-	jp [hl]
-; 40115
-
-
-Jumptable_40115: ; 40115 (10:4115)
-	dw Function4013c
-	dw Function401ae
-	dw Function40217
-	dw Function40258
-	dw Function402aa
-	dw Function40443
-	dw Function40471
-	dw Function4039d
-	dw Function403be
-	dw Function4050a
-	dw Function40562
-	dw Function405bd
-	dw Function405df
-	dw Function40136
-
-
-Function40131: ; 40131 (10:4131)
-	ld hl, wcf63
-	inc [hl]
-	ret
-
-Function40136: ; 40136 (10:4136)
-	ld hl, wcf63
-	set 7, [hl]
-	ret
-
-Function4013c: ; 4013c (10:413c)
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	call ClearSprites
-	xor a
-	ld hl, AttrMap
-	ld bc, $168
-	call ByteFill
-	callba Function1de171
-	hlcoord 0, 17
-	ld de, Unknown_407f2
-	call Function40acd
-	ld a, $7
-	ld [wc7d3], a
-	call Function40b0f
-	call Function41aeb
-	call Function41af7
-	call Function4074c
-	ld a, $5
-	ld [hSCX], a ; $ff00+$cf
-	ld a, [wc7d4]
-	cp $1
-	ld a, $4a
-	jr z, .asm_4017b
-	ld a, $47
-
-.asm_4017b
-	ld [hWX], a ; $ff00+$d1
-	xor a
-	ld [hWY], a ; $ff00+$d2
-	call WaitBGMap
-	call Function41af7
-	ld a, $ff
-	ld [CurPartySpecies], a
-	ld a, $4
-	call Function41423
-	call Function41148
-	callba Function1de171
-	hlcoord 0, 17
-	ld de, Unknown_407f2
-	call Function40acd
-	ld a, $7
-	ld [wc7d3], a
-	call Function40b0f
-	call Function40131
-	ret
-
-Function401ae: ; 401ae (10:41ae)
-	ld hl, hJoyPressed ; $ffa7
-	ld a, [hl]
-	and B_BUTTON
-	jr nz, .b
-	ld a, [hl]
-	and A_BUTTON
-	jr nz, .a
-	ld a, [hl]
-	and SELECT
-	jr nz, .select
-	ld a, [hl]
-	and START
-	jr nz, .start
-	call Function406c5
-	ret nc
-	call Function41148
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	call Function40b0f
-	call Function41ad7
-	call Function41af7
-	ret
-
-.a
-	call Function40bb1
-	call Function40bd0
-	ret z
-	ld a, $2
-	ld [wcf63], a
-	ld a, $0
-	ld [wcf64], a
-	ret
-
-.select
-	call Function41401
-	ld a, $7
-	ld [wcf63], a
-	xor a
-	ld [hSCX], a ; $ff00+$cf
-	ld a, $a7
-	ld [hWX], a ; $ff00+$d1
-	call DelayFrame
-	ret
-
-.start
-	call Function41401
-	ld a, $5
-	ld [wcf63], a
-	xor a
-	ld [hSCX], a ; $ff00+$cf
-	ld a, $a7
-	ld [hWX], a ; $ff00+$d1
-	call DelayFrame
-	ret
-
-.b
-	ld a, $d
-	ld [wcf63], a
-	ret
-
-Function40217: ; 40217 (10:4217)
-	call LowVolume
-	xor a
-	ld [wcf65], a
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	call ClearSprites
-	call Function41478
-	call Function407fd
-	call Function4134f
-	call Function40bb1
-	ld [wc2d6], a
-	callba Function4424d
-	call Function40ba0
-	call WaitBGMap
-	ld a, $a7
-	ld [hWX], a ; $ff00+$d1
-	call Function40bb1
-	ld [CurPartySpecies], a
-	ld a, $4
-	call Function41423
-	ld a, [CurPartySpecies]
-	call PlayCry
-	call Function40131
-	ret
-
-Function40258: ; 40258 (10:4258)
-	ld de, Unknown_402e8
-	call Function4135a
-	ld hl, hJoyPressed ; $ffa7
-	ld a, [hl]
-	and B_BUTTON
-	jr nz, .b
-	ld a, [hl]
-	and A_BUTTON
-	jr nz, .a
-	call Function4066c
-	ret nc
-	call Function40131
-	ret
-
-.a
-	ld a, [wc7d8]
-	ld hl, Jumptable_402f2
-	call Function41432
-	jp [hl]
-
-.b
-	ld a, [LastVolume]
-	and a
-	jr z, .asm_40288
-	ld a, $77
-	ld [LastVolume], a
-
-.asm_40288
-	call MaxVolume
-	ld a, [wcf64]
-	ld [wcf63], a
-	ret
-; 40292 (10:4292)
-
-Function40292: ; 40292
-	ld a, [wcf65]
-	xor $1
-	ld [wcf65], a
-	call Function40bb1
-	ld [wc2d6], a
-	callba Function4424d
-	call WaitBGMap
-	ret
-; 402aa
-
-Function402aa: ; 402aa (10:42aa)
-	call Function41401
-	xor a
-	ld [wcf65], a
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	call Function407fd
-	call Function4134f
-	call Function41478
-	call Function40bb1
-	ld [wc2d6], a
-	callba Function4424d
-	call Function40ba0
-	call Function4143b
-	call WaitBGMap
-	call Function40bb1
-	ld [CurPartySpecies], a
-	ld a, $4
-	call Function41423
-	ld a, [CurPartySpecies]
-	call PlayCry
-	ld hl, wcf63
-	dec [hl]
-	ret
-; 402e8 (10:42e8)
-
-Unknown_402e8: ; 402e8
-	dw $0430
-	dwcoord 1, 17
-	dwcoord 6, 17
-	dwcoord 11, 17
-	dwcoord 15, 17
-; 402f2
-
-Jumptable_402f2: ; 402f2
-	dw Function40292
-	dw Function402fa
-	dw Function40340
-	dw Function4034f
-; 402fa
-
-Function402fa: ; 402fa
-	call Function41401
-	xor a
-	ld [hSCX], a
-	call DelayFrame
-	ld a, $7
-	ld [hWX], a
-	ld a, $90
-	ld [hWY], a
-	call Function40bb1
-	ld a, [wc7e4]
-	ld e, a
-	predef Function91d11
-	call Function41401
-	call DelayFrame
-	xor a
-	ld [hBGMapMode], a
-	ld a, $90
-	ld [hWY], a
-	ld a, $5
-	ld [hSCX], a
-	call DelayFrame
-	call Function4038d
-	call Function4143b
-	call WaitBGMap
-	call Function40bb1
-	ld [CurPartySpecies], a
-	ld a, $4
-	call Function41423
-	ret
-; 40340
-
-Function40340: ; 40340
-	call Function40bb1
-	ld a, [wd265]
-	call GetCryIndex
-	ld e, c
-	ld d, b
-	call PlayCryHeader
-	ret
-; 4034f
-
-Function4034f: ; 4034f
-	call Function41415
-	xor a
-	ld [hSCX], a
-	ld a, [wcf65]
-	push af
-	ld a, [wcf64]
-	push af
-	ld a, [wcf63]
-	push af
-	callba Function8442c
-	pop af
-	ld [wcf63], a
-	pop af
-	ld [wcf64], a
-	pop af
-	ld [wcf65], a
-	call WhiteBGMap
-	call DisableLCD
-	call Function414fb
-	call Function4038d
-	call EnableLCD
-	call WaitBGMap
-	ld a, $5
-	ld [hSCX], a
-	call Function41427
-	ret
-; 4038d
-
-Function4038d: ; 4038d
-	call Function407fd
-	call Function40bb1
-	callba Function4424d
-	call Function40ba0
-	ret
-; 4039d
-
-Function4039d: ; 4039d (10:439d)
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	call ClearSprites
-	call Function4087c
-	call Function4134f
-	ld a, [wc7d4]
-	ld [wc7d8], a
-	call Function40e5b
-	call WaitBGMap
-	ld a, $10
-	call Function41423
-	call Function40131
-	ret
-
-Function403be: ; 403be (10:43be)
-	ld a, [wc7dc]
-	and a
-	jr nz, .asm_403c9
-	ld de, Unknown_403f3
-	jr .asm_403cc
-
-.asm_403c9
-	ld de, Unknown_403fb
-.asm_403cc
-	call Function4135a
-	call c, Function40e5b
-	ld hl, hJoyPressed ; $ffa7
-	ld a, [hl]
-	and $6
-	jr nz, .asm_403ea
-	ld a, [hl]
-	and $1
-	jr nz, .asm_403e0
-	ret
-
-.asm_403e0
-	ld a, [wc7d8]
-	ld hl, Jumptable_40405
-	call Function41432
-	jp [hl]
-
-.asm_403ea
-	call Function41401
-	ld a, $0
-	ld [wcf63], a
-	ret
-; 403f3 (10:43f3)
-
-Unknown_403f3: ; 403f3
-	dw $03c0
-	dwcoord 2, 4
-	dwcoord 2, 6
-	dwcoord 2, 8
-; 403fb
-
-Unknown_403fb: ; 403fb
-	dw $04c0
-	dwcoord 2, 4
-	dwcoord 2, 6
-	dwcoord 2, 8
-	dwcoord 2, 10
-; 40405
-
-Jumptable_40405: ; 40405 (10:4405)
-	dw Function4040d
-	dw Function40411
-	dw Function40415
-	dw Function4043a
-; 4040d
-
-Function4040d: ; 4040d (10:440d)
-	ld b, $0
-	jr Function40417
-
-Function40411: ; 40411 (10:4411)
-	ld b, $1
-	jr Function40417
-
-Function40415: ; 40415 (10:4415)
-	ld b, $2
-Function40417: ; 40417 (10:4417)
-	ld a, [wc7d4]
-	cp b
-	jr z, .asm_40431
-	ld a, b
-	ld [wc7d4], a
-	call Function40bdc
-	call Function40f08
-	xor a
-	ld [wc7d0], a
-	ld [wc7d1], a
-	call Function400b4
-
-.asm_40431
-	call Function41401
-	ld a, $0
-	ld [wcf63], a
-	ret
-
-Function4043a: ; 4043a (10:443a)
-	call Function41401
-	ld a, $b
-	ld [wcf63], a
-	ret
-
-Function40443: ; 40443 (10:4443)
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	call ClearSprites
-	call Function408f0
-	call Function4134f
-	ld a, $1
-	ld [wc7d5], a
-	xor a
-	ld [wc7d6], a
-	call Function40fa8
-	xor a
-	ld [wc7db], a
-	callba Function44207
-	call WaitBGMap
-	ld a, $10
-	call Function41423
-	call Function40131
-	ret
-
-Function40471: ; 40471 (10:4471)
-	ld de, Unknown_4049e
-	call Function4135a
-	call Function40f4f
-	call c, Function40fa8
-	ld hl, hJoyPressed ; $ffa7
-	ld a, [hl]
-	and START | B_BUTTON
-	jr nz, .asm_40495
-	ld a, [hl]
-	and A_BUTTON
-	jr nz, .asm_4048b
-	ret
-
-.asm_4048b
-	ld a, [wc7d8]
-	ld hl, Jumptable_404a8
-	call Function41432
-	jp [hl]
-
-.asm_40495
-	call Function41401
-	ld a, $0
-	ld [wcf63], a
-	ret
-; 4049e (10:449e)
-
-Unknown_4049e: ; 4049e
-	dw $04c0
-	dwcoord 2, 4
-	dwcoord 2, 6
-	dwcoord 2, 13
-	dwcoord 2, 15
-; 404a8
-
-Jumptable_404a8: ; 404a8
-	dw Function404b0
-	dw Function404b0
-	dw Function404b7
-	dw Function40501
-; 404b0
-
-Function404b0: ; 404b0
-	call Function40f84
-	call Function40fa8
-	ret
-; 404b7
-
-Function404b7: ; 404b7
-	call Function41086
-	callba Function441cf
-	ld a, [wc7d7]
-	and a
-	jr nz, .asm_404dc
-	call Function40bdc
-	call Function41107
-	xor a
-	ld [hBGMapMode], a
-	call Function408f0
-	call Function4134f
-	call Function40fa8
-	call WaitBGMap
-	ret
-
-.asm_404dc
-	ld [wc7d2], a
-	ld a, [wc7d0]
-	ld [wc7e0], a
-	ld a, [wc7d1]
-	ld [wc7e1], a
-	ld a, [wc2d6]
-	ld [wcf65], a
-	xor a
-	ld [wc7d0], a
-	ld [wc7d1], a
-	call Function41401
-	ld a, $9
-	ld [wcf63], a
-	ret
-; 40501
-
-Function40501: ; 40501
-	call Function41401
-	ld a, $0
-	ld [wcf63], a
-	ret
-; 4050a
-
-Function4050a: ; 4050a (10:450a)
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	xor a
-	ld hl, AttrMap
-	ld bc, $168
-	call ByteFill
-	call Function41ae1
-	call Function41af7
-	callba Function1de1d1
-	call Function409cf
-	ld a, $4
-	ld [wc7d3], a
-	call Function40b0f
-	call Function41ad7
-	call Function41af7
-	call Function40962
-	ld a, $5
-	ld [hSCX], a ; $ff00+$cf
-	ld a, $4a
-	ld [hWX], a ; $ff00+$d1
-	xor a
-	ld [hWY], a ; $ff00+$d2
-	call WaitBGMap
-	call Function41af7
-	callba Function1de1d1
-	call Function409cf
-	call Function41281
-	ld a, $ff
-	ld [CurPartySpecies], a
-	ld a, $4
-	call Function41423
-	call Function40131
-	ret
-
-Function40562: ; 40562 (10:4562)
-	ld hl, hJoyPressed ; $ffa7
-	ld a, [hl]
-	and B_BUTTON
-	jr nz, .asm_40595
-	ld a, [hl]
-	and A_BUTTON
-	jr nz, .asm_40583
-	call Function406c5
-	ret nc
-	call Function41281
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	call Function40b0f
-	call Function41ad7
-	call Function41af7
-	ret
-
-.asm_40583
-	call Function40bb1
-	call Function40bd0
-	ret z
-	ld a, $2
-	ld [wcf63], a
-	ld a, $9
-	ld [wcf64], a
-	ret
-
-.asm_40595
-	ld a, [wc7e0]
-	ld [wc7d0], a
-	ld a, [wc7e1]
-	ld [wc7d1], a
-	ld a, [wcf65]
-	ld [wc2d6], a
-	call Function41401
-	call ClearSprites
-	call Function40bdc
-	ld a, $5
-	ld [wcf63], a
-	xor a
-	ld [hSCX], a ; $ff00+$cf
-	ld a, $a7
-	ld [hWX], a ; $ff00+$d1
-	ret
-
-Function405bd: ; 405bd (10:45bd)
-	call Function41a2c
-	call Function409f1
-	xor a
-	ld [wc7dd], a
-	call Function41a58
-	call Function40658
-	callba Functionfba2e
-	call WaitBGMap
-	ld a, $16
-	call Function41423
-	call Function40131
-	ret
-
-Function405df: ; 405df (10:45df)
-	ld hl, hJoyPressed ; $ffa7
-	ld a, [hl]
-	and A_BUTTON | B_BUTTON
-	jr nz, .asm_405eb
-	call Function40610
-	ret
-
-.asm_405eb
-	call Function41401
-	ld a, $7
-	ld [wcf63], a
-	call DelayFrame
-	call Function41a24
-	jr nz, .asm_40603
-	callba Function1ddf26
-	jr .asm_4060f
-
-.asm_40603
-	ld hl, PokedexLZ
-	ld de, $9310
-	lb bc, BANK(PokedexLZ), $3a
-	call Functione73
-
-.asm_4060f
-	ret
-
-Function40610: ; 40610 (10:4610)
-	ld hl, $ffa9
-	ld a, [hl]
-	and D_RIGHT
-	jr nz, .right
-	ld a, [hl]
-	and D_LEFT
-	jr nz, .left
-	ret
-
-.right
-	ld a, [wc7de]
-	ld e, a
-	ld hl, wc7dd
-	ld a, [hl]
-	inc a
-	cp e
-	ret nc
-	ld a, [hl]
-	inc [hl]
-	jr .asm_40635
-
-.left
-	ld hl, wc7dd
-	ld a, [hl]
-	and a
-	ret z
-	ld a, [hl]
-	dec [hl]
-
-.asm_40635
-	push af
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	pop af
-	call Function40654
-	call Function41a58
-	call Function40658
-	callba Functionfba2e
-	ld a, $1
-	ld [hBGMapMode], a ; $ff00+$d4
-	call DelayFrame
-	call DelayFrame
-	ret
-
-Function40654: ; 40654 (10:4654)
-	ld c, $7f
-	jr asm_4065d
-
-Function40658: ; 40658 (10:4658)
-	ld a, [wc7dd]
-	ld c, $5a
-asm_4065d: ; 4065d (10:465d)
-	ld e, a
-	ld d, 0
-	ld hl, Unknown_40a3e + 2
-	add hl, de
-	add hl, de
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld [hl], c
-	ret
-
-Function4066c: ; 4066c (10:466c)
-	ld a, [wc7d1]
-	ld [wc7e2], a
-	ld a, [wc7d0]
-	ld [wc7e3], a
-	ld hl, $ffa9
-	ld a, [hl]
-	and D_UP
-	jr nz, .up
-	ld a, [hl]
-	and D_DOWN
-	jr nz, .down
-	and a
-	ret
-
-.up
-	ld a, [wc7d3]
-	ld d, a
-	ld a, [wc7d2]
-	ld e, a
-	call Function406ea
-	jr nc, .asm_406b7
-	call Function40bb1
-	call Function40bd0
-	jr nz, .asm_406b5
-	jr .up
-
-.down
-	ld a, [wc7d3]
-	ld d, a
-	ld a, [wc7d2]
-	ld e, a
-	call Function406fe
-	jr nc, .asm_406b7
-	call Function40bb1
-	call Function40bd0
-	jr nz, .asm_406b5
-	jr .down
-
-.asm_406b5
-	scf
-	ret
-
-.asm_406b7
-	ld a, [wc7e2]
-	ld [wc7d1], a
-	ld a, [wc7e3]
-	ld [wc7d0], a
-	and a
-	ret
-
-Function406c5: ; 406c5 (10:46c5)
-	ld a, [wc7d3]
-	ld d, a
-	ld a, [wc7d2]
-	ld e, a
-	ld hl, $ffa9
-	ld a, [hl]
-	and D_UP
-	jr nz, Function406ea
-	ld a, [hl]
-	and D_DOWN
-	jr nz, Function406fe
-	ld a, d
-	cp e
-	jr nc, asm_4073d
-	ld a, [hl]
-	and $20
-	jr nz, asm_40716
-	ld a, [hl]
-	and $10
-	jr nz, asm_40728
-	jr asm_4073d
-
-Function406ea: ; 406ea (10:46ea)
-	ld hl, wc7d1
-	ld a, [hl]
-	and a
-	jr z, .asm_406f4
-	dec [hl]
-	jr asm_4073f
-.asm_406f4
-	ld hl, wc7d0
-	ld a, [hl]
-	and a
-	jr z, asm_4073d
-	dec [hl]
-	jr asm_4073f
-
-Function406fe: ; 406fe (10:46fe)
-	ld hl, wc7d1
-	ld a, [hl]
-	inc a
-	cp e
-	jr nc, asm_4073d
-	cp d
-	jr nc, .asm_4070c
-	inc [hl]
-	jr asm_4073f
-.asm_4070c
-	ld hl, wc7d0
-	add [hl]
-	cp e
-	jr nc, asm_4073d
-	inc [hl]
-	jr asm_4073f
-asm_40716: ; 40716 (10:4716)
-	ld hl, wc7d0
-	ld a, [hl]
-	and a
-	jr z, asm_4073d
-	cp d
-	jr nc, .asm_40724
-	xor a
-	ld [hl], a
-	jr asm_4073f
-.asm_40724
-	sub d
-	ld [hl], a
-	jr asm_4073f
-asm_40728: ; 40728 (10:4728)
-	ld hl, wc7d0
-	ld a, d
-	add a
-	add [hl]
-	jr c, .asm_40733
-	cp e
-	jr c, .asm_40738
-.asm_40733
-	ld a, e
-	sub d
-	ld [hl], a
-	jr asm_4073f
-.asm_40738
-	ld a, [hl]
-	add d
-	ld [hl], a
-	jr asm_4073f
-asm_4073d: ; 4073d (10:473d)
-	and a
-	ret
-asm_4073f: ; 4073f (10:473f)
-	scf
-	ret
-
-Function40741: ; 40741
-	push de
-	ld de, $0014
-.asm_40745
-	ld [hl], a
-	add hl, de
-	dec b
-	jr nz, .asm_40745
-	pop de
-	ret
-; 4074c
-
-
-Function4074c: ; 4074c (10:474c)
-	hlcoord 0, 17
-	ld de, Unknown_407f2
-	call Function40acd
-	ld a, $32
-	ld hl, TileMap
-	ld bc, $168
-	call ByteFill
-	ld hl, TileMap
-	lb bc, 7, 7
-	call Function40ad5
-	hlcoord 0, 9
-	ld bc, $607
-	call Function40ad5
-	hlcoord 1, 11
-	ld de, Unknown_407e1
-	call Function40acd
-	ld hl, PokedexSeen ; wdeb9 (aliases: EndPokedexSeen)
-	ld b, EndPokedexSeen - PokedexSeen
-	call CountSetBits
-	ld de, wd265
-	hlcoord 5, 12
-	ld bc, $103
-	call PrintNum
-	hlcoord 1, 14
-	ld de, Unknown_407e6
-	call Function40acd
-	ld hl, PokedexCaught
-	ld b, EndPokedexCaught - PokedexCaught
-	call CountSetBits
-	ld de, wd265
-	hlcoord 5, 15
-	ld bc, $103
-	call PrintNum
-	hlcoord 1, 17
-	ld de, Unknown_407ea
-	call Function40acd
-	hlcoord 8, 1
-	ld b, $7
-	ld a, $5a
-	call Function40741
-	hlcoord 8, 10
-	ld b, $6
-	ld a, $5a
-	call Function40741
-	hlcoord 8, 0
-	ld [hl], $59
-	hlcoord 8, 8
-	ld [hl], $53
-	hlcoord 8, 9
-	ld [hl], $54
-	hlcoord 8, 16
-	ld [hl], $5b
-	call Function40ab2
-	ret
-; 407e1 (10:47e1)
-
-Unknown_407e1: ; 407e1
-	db "SEEN", $ff
-Unknown_407e6: ; 407e6
-	db "OWN", $ff
-Unknown_407ea: ; 407ea
-	db $3b, $48, $49, $4a, $44, $45, $46, $47 ; SELECT > OPTION
-Unknown_407f2: ; 407f2
-	db $3c, $3b, $41, $42, $43, $4b, $4c, $4d, $4e, $3c, $ff ; START > SEARCH
-; 407fd
-
-Function407fd: ; 407fd
-	call Function40aa6
-	ld hl, TileMap
-	ld bc, $0f12
-	call Function40ad5
-	hlcoord 19, 0
-	ld [hl], $34
-	hlcoord 19, 1
-	ld a, $7f
-	ld b, $f
-	call Function40741
-	ld [hl], $39
-	hlcoord 1, 10
-	ld bc, $0013
-	ld a, $61
-	call ByteFill
-	hlcoord 1, 17
-	ld bc, $0012
-	ld a, $7f
-	call ByteFill
-	hlcoord 9, 7
-	ld de, Unknown_40852
-	call Function40acd
-	hlcoord 9, 9
-	ld de, Unknown_4085c
-	call Function40acd
-	hlcoord 0, 17
-	ld de, Unknown_40867
-	call Function40acd
-	call Function40ab2
-	ret
-; 4084f
-
-Unknown_4084f: ; 4084f
-	db $5c, $5d, $ff ; No.
-Unknown_40852: ; 40852
-	db "HT  ?", $5e, "??", $5f, $ff ; HT  ?'??"
-Unknown_4085c: ; 4085c
-	db "WT   ???lb", $ff ; WT   ???lb
-Unknown_40867: ; 40867
-	db $3b, " PAGE AREA CRY PRNT", $ff
-; 4087c
-
-Function4087c: ; 4087c (10:487c)
-	call Function40aa6
-	hlcoord 0, 2
-	lb bc, 8, 18
-	call Function40ad5
-	hlcoord 0, 12
-	lb bc, 4, 18
-	call Function40ad5
-	hlcoord 0, 1
-	ld de, Unknown_408b2
-	call Function40acd
-	hlcoord 3, 4
-	ld de, String_408bd
-	call PlaceString
-	ld a, [wc7dc]
-	and a
-	ret z
-	hlcoord 3, 10
-	ld de, String_408e5
-	call PlaceString
-	ret
-; 408b2 (10:48b2)
-
-Unknown_408b2: ; 408b2
-	db $3b, " OPTION ", $3c, $ff
-; 408bd
-
-String_408bd: ; 408bd
-	db "NEW #DEX MODE", $4e
-	db "OLD #DEX MODE", $4e
-	db "A to Z MODE@"
-; 408e5
-
-String_408e5: ; 408e5
-	db "UNOWN MODE@"
-; 408f0
-
-Function408f0: ; 408f0 (10:48f0)
-	call Function40aa6
-	hlcoord 0, 2
-	lb bc, 14, 18
-	call Function40ad5
-	hlcoord 0, 1
-	ld de, Unknown_4092a
-	call Function40acd
-	hlcoord 8, 4
-	ld de, Unknown_40935
-	call Function40acd
-	hlcoord 8, 6
-	ld de, Unknown_40935
-	call Function40acd
-	hlcoord 3, 4
-	ld de, String_40940
-	call PlaceString
-	hlcoord 3, 13
-	ld de, String_4094c
-	call PlaceString
-	ret
-; 4092a (10:492a)
-
-Unknown_4092a: ; 4092a
-	db $3b, " SEARCH ", $3c, $ff
-; 40925
-
-Unknown_40935: ; 40935
-	db $3d, "        ", $3e, $ff
-; 40940
-
-String_40940: ; 40940
-	db   "TYPE1"
-	next "TYPE2"
-	db   "@"
-; 4094c
-
-String_4094c: ; 4094c
-	db   "BEGIN SEARCH!!"
-	next "CANCEL"
-	db   "@"
-; 40962
-
-Function40962: ; 40962 (10:4962)
-	call Function40aa6
-	ld hl, TileMap
-	lb bc, 7, 7
-	call Function40ad5
-	hlcoord 0, 11
-	lb bc, 5, 18
-	call Function40ad5
-	hlcoord 1, 12
-	ld de, String_409ae
-	call PlaceString
-	ld de, wc7d7
-	hlcoord 1, 16
-	ld bc, $103
-	call PrintNum
-	hlcoord 8, 0
-	ld [hl], $59
-	hlcoord 8, 1
-	ld b, $7
-	ld a, $5a
-	call Function40741
-	hlcoord 8, 8
-	ld [hl], $53
-	hlcoord 8, 9
-	ld [hl], $69
-	hlcoord 8, 10
-	ld [hl], $6a
-	call Function40ab2
-	ret
-; 409ae (10:49ae)
-
-String_409ae: ; 409ae
-	db   "SEARCH RESULTS"
-	next "  TYPE"
-	next "    FOUND!"
-	db   "@"
-; 409cf
-
-Function409cf: ; 409cf (10:49cf)
-	ld a, [wc7d5]
-	hlcoord 0, 14
-	call Function40fcd
-	ld a, [wc7d5]
-	ld b, a
-	ld a, [wc7d6]
-	and a
-	jr z, .asm_409f0
-	cp b
-	jr z, .asm_409f0
-	hlcoord 2, 15
-	call Function40fcd
-	hlcoord 1, 15
-	ld [hl], $f3
-.asm_409f0
-	ret
-
-Function409f1: ; 409f1 (10:49f1)
-	call Function40aa6
-	hlcoord 2, 1
-	lb bc, 10, 13
-	call Function40ad5
-	hlcoord 2, 14
-	lb bc, 1, 13
-	call Function40ad5
-	hlcoord 2, 15
-	ld [hl], $3d
-	hlcoord 16, 15
-	ld [hl], $3e
-	hlcoord 6, 5
-	call Function40ab5
-	ld de, 0
-	ld b, 0
-	ld c, 26
-.asm_40a1d
-	ld hl, UnownDex
-	add hl, de
-	ld a, [hl]
-	and a
-	jr z, .asm_40a39
-	push af
-	ld hl, Unknown_40a3e
-	add hl, de
-	add hl, de
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	pop af
-	add $3f
-	ld [hl], a
-	inc de
-	inc b
-	dec c
-	jr nz, .asm_40a1d
-.asm_40a39
-	ld a, b
-	ld [wc7de], a
-	ret
-; 40a3e (10:4a3e)
-
-Unknown_40a3e: ; 40a3e
-	dwcoord   4,11,   3,11
-	dwcoord   4,10,   3,10
-	dwcoord   4, 9,   3, 9
-	dwcoord   4, 8,   3, 8
-	dwcoord   4, 7,   3, 7
-	dwcoord   4, 6,   3, 6
-	dwcoord   4, 5,   3, 5
-	dwcoord   4, 4,   3, 4
-	dwcoord   4, 3,   3, 2
-	dwcoord   5, 3,   5, 2
-	dwcoord   6, 3,   6, 2
-	dwcoord   7, 3,   7, 2
-	dwcoord   8, 3,   8, 2
-	dwcoord   9, 3,   9, 2
-	dwcoord  10, 3,  10, 2
-	dwcoord  11, 3,  11, 2
-	dwcoord  12, 3,  12, 2
-	dwcoord  13, 3,  13, 2
-	dwcoord  14, 3,  15, 2
-	dwcoord  14, 4,  15, 4
-	dwcoord  14, 5,  15, 5
-	dwcoord  14, 6,  15, 6
-	dwcoord  14, 7,  15, 7
-	dwcoord  14, 8,  15, 8
-	dwcoord  14, 9,  15, 9
-	dwcoord  14,10,  15,10
-; 40aa6
-
-Function40aa6: ; 40aa6
-	ld hl, TileMap
-	ld a, $32
-	ld bc, $0168
-	call ByteFill
-	ret
-; 40ab2
-
-Function40ab2: ; 40ab2
-	hlcoord 1, 1
-Function40ab5: ; 40ab5
-	xor a
-	ld b, $7
-.asm_40ab8
-	ld c, $7
-	push af
-	push hl
-.asm_40abc
-	ld [hli], a
-	add $7
-	dec c
-	jr nz, .asm_40abc
-	pop hl
-	ld de, $0014
-	add hl, de
-	pop af
-	inc a
-	dec b
-	jr nz, .asm_40ab8
-	ret
-; 40acd
-
-Function40acd: ; 40acd
-.asm_40acd
-	ld a, [de]
-	cp $ff
-	ret z
-	inc de
-	ld [hli], a
-	jr .asm_40acd
-; 40ad5
-
-
-Function40ad5: ; 40ad5
-	push hl
-	ld a, $33
-	ld [hli], a
-	ld d, $34
-	call Function40b06
-	ld a, $35
-	ld [hl], a
-	pop hl
-	ld de, $0014
-	add hl, de
-.asm_40ae6
-	push hl
-	ld a, $36
-	ld [hli], a
-	ld d, $7f
-	call Function40b06
-	ld a, $37
-	ld [hl], a
-	pop hl
-	ld de, $0014
-	add hl, de
-	dec b
-	jr nz, .asm_40ae6
-	ld a, $38
-	ld [hli], a
-	ld d, $39
-	call Function40b06
-	ld a, $3a
-	ld [hl], a
-	ret
-; 40b06
-
-Function40b06: ; 40b06
-	ld e, c
-.asm_40b07
-	ld a, e
-	and a
-	ret z
-	ld a, d
-	ld [hli], a
-	dec e
-	jr .asm_40b07
-; 40b0f
-
-
-Function40b0f: ; 40b0f (10:4b0f)
-	ld a, [wc7d4]
-	cp $1
-	jr z, .asm_40b1a
-	ld c, $b
-	jr .asm_40b1c
-.asm_40b1a
-	ld c, $b
-.asm_40b1c
-	hlcoord 0, 1
-	ld a, [wc7d3]
-	add a
-	inc a
-	ld b, a
-	ld a, $7f
-	call Function413fe
-	ld a, [wc7d0]
-	ld e, a
-	ld d, $0
-	ld hl, wc6d0
-	add hl, de
-	ld e, l
-	ld d, h
-	hlcoord 0, 2
-	ld a, [wc7d3]
-.asm_40b3c
-	push af
-	ld a, [de]
-	ld [wd265], a
-	push de
-	push hl
-	call Function40b55
-	pop hl
-	ld de, $28
-	add hl, de
-	pop de
-	inc de
-	pop af
-	dec a
-	jr nz, .asm_40b3c
-	call Function4143b
-	ret
-
-Function40b55: ; 40b55 (10:4b55)
-	and a
-	ret z
-	call Function40b6a
-	call Function40b8d
-	ret c
-	call Function40b82
-	push hl
-	call GetPokemonName
-	pop hl
-	call PlaceString
-	ret
-
-Function40b6a: ; 40b6a (10:4b6a)
-	ld a, [wc7d4]
-	cp $1
-	jr z, .asm_40b72
-	ret
-.asm_40b72
-	push hl
-	ld de, -20
-	add hl, de
-	ld de, wd265
-	ld bc, $8103
-	call PrintNum
-	pop hl
-	ret
-
-Function40b82: ; 40b82 (10:4b82)
-	call Function40bc4
-	jr nz, .asm_40b89
-	inc hl
-	ret
-.asm_40b89
-	ld a, $4f
-	ld [hli], a
-	ret
-
-Function40b8d: ; 40b8d (10:4b8d)
-	call Function40bd0
-	ret nz
-	inc hl
-	ld de, String_40b9a
-	call PlaceString
-	scf
-	ret
-; 40b9a (10:4b9a)
-
-String_40b9a: ; 40b9a
-	db "-----@"
-; 40ba0
-
-Function40ba0: ; 40ba0
-	hlcoord 18, 1
-	ld a, $62
-	ld [hli], a
-	inc a
-	ld [hl], a
-	hlcoord 18, 2
-	ld a, $64
-	ld [hli], a
-	inc a
-	ld [hl], a
-	ret
-; 40bb1
-
-
-Function40bb1: ; 40bb1
-	ld a, [wc7d1]
-	ld hl, wc7d0
-	add [hl]
-	ld e, a
-	ld d, $0
-	ld hl, wc6d0
-	add hl, de
-	ld a, [hl]
-	ld [wd265], a
-	ret
-; 40bc4
-
-
-Function40bc4: ; 40bc4 (10:4bc4)
-	push de
-	push hl
-	ld a, [wd265]
-	dec a
-	call CheckCaughtMon
-	pop hl
-	pop de
-	ret
-
-
-Function40bd0: ; 40bd0
-	push de
-	push hl
-	ld a, [wd265]
-	dec a
-	call CheckSeenMon
-	pop hl
-	pop de
-	ret
-; 40bdc
-
-
-
-Function40bdc: ; 40bdc
-	ld hl, wc6d0
-	ld bc, $100
-	xor a
-	call ByteFill
-	ld a, [wc7d4]
-	ld hl, Jumptable_40bf0
-	call Function41432
-	jp [hl]
-; 40bf0
-
-
-Jumptable_40bf0: ; 40bf0 (10:4bf0)
-	dw Function40bf6
-	dw Function40c08
-	dw Function40c30
-
-
-Function40bf6: ; 40bf6 (10:4bf6)
-	ld de, NewPokedexOrder
-	ld hl, wc6d0
-	ld c, NUM_POKEMON
-.asm_40bfe
-	ld a, [de]
-	inc de
-	ld [hli], a
-	dec c
-	jr nz, .asm_40bfe
-	call Function40c18
-	ret
-
-Function40c08: ; 40c08 (10:4c08)
-	ld hl, wc6d0
-	ld a, $1
-	ld c, NUM_POKEMON
-.asm_40c0f
-	ld [hli], a
-	inc a
-	dec c
-	jr nz, .asm_40c0f
-	call Function40c18
-	ret
-
-Function40c18: ; 40c18 (10:4c18)
-	ld hl, wc7ca
-	ld d, NUM_POKEMON
-	ld e, d
-.asm_40c1e
-	ld a, [hld]
-	ld [wd265], a
-	call Function40bd0
-	jr nz, .asm_40c2b
-	dec d
-	dec e
-	jr nz, .asm_40c1e
-.asm_40c2b
-	ld a, d
-	ld [wc7d2], a
-	ret
-
-Function40c30: ; 40c30
-	xor a
-	ld [wc7d2], a
-	ld hl, wc6d0
-	ld de, AlphabeticalPokedexOrder
-	ld c, NUM_POKEMON
-.asm_40c3c
-	push bc
-	ld a, [de]
-	ld [wd265], a
-	call Function40bd0
-	jr z, .asm_40c51
-	ld a, [wd265]
-	ld [hli], a
-	ld a, [wc7d2]
-	inc a
-	ld [wc7d2], a
-
-.asm_40c51
-	inc de
-	pop bc
-	dec c
-	jr nz, .asm_40c3c
-	ld a, [wc7d2]
-	ld c, 0
-.asm_40c5b
-	cp NUM_POKEMON
-	jr z, .asm_40c64
-	ld [hl], c
-	inc hl
-	inc a
-	jr .asm_40c5b
-
-.asm_40c64
-	ret
-; 40c65
-
-AlphabeticalPokedexOrder: ; 0x40c65
-INCLUDE "data/pokedex/order_alpha.asm"
-
-NewPokedexOrder: ; 0x40d60
-INCLUDE "data/pokedex/order_new.asm"
-
-Function40e5b: ; 40e5b
-	xor a
-	ld [hBGMapMode], a
-	hlcoord 0, 12
-	ld bc, $0412
-	call Function40ad5
-	ld a, [wc7d8]
-	ld hl, Unknown_40e7d
-	call Function41432
-	ld e, l
-	ld d, h
-	hlcoord 1, 14
-	call PlaceString
-	ld a, $1
-	ld [hBGMapMode], a
-	ret
-; 40e7d
-
-Unknown_40e7d: ; 40e7d
-	dw String_40e85
-	dw String_40ea6
-	dw String_40ec6
-	dw String_40ee4
-; 40e85
-
-String_40e85: ; 40e85
-	db $e1, $e2, " are listed by", $4e
-	db "evolution type.@"
-; 40ea6
-
-String_40ea6: ; 40ea6
-	db $e1, $e2, " are listed by", $4e
-	db "official type.@"
-; 40ec6
-
-String_40ec6: ; 40ec6
-	db $e1, $e2, " are listed", $4e
-	db "alphabetically.@"
-; 40ee4
-
-String_40ee4: ; 40ee4
-	db "UNOWN are listed", $4e
-	db "in catching order.@"
-; 40f08
-
-Function40f08: ; 40f08 (10:4f08)
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	hlcoord 0, 12
-	ld bc, $412
-	call Function40ad5
-	ld de, $4f32
-	hlcoord 1, 14
-	call PlaceString
-	ld a, $1
-	ld [hBGMapMode], a ; $ff00+$d4
-	ld c, $40
-	call DelayFrames
-	ld de, SFX_CHANGE_DEX_MODE
-	call PlaySFX
-	ld c, $40
-	call DelayFrames
-	ret
-; 40f32 (10:4f32)
-
-String_40f32: ; 40f32
-	db "Changing modes.", $4e, "Please wait.@"
-; 40f4f
-
-Function40f4f: ; 40f4f (10:4f4f)
-	ld a, [wc7d8]
-	cp $2
-	jr nc, .asm_40f63
-	ld hl, $ffa9
-	ld a, [hl]
-	and $20
-	jr nz, .asm_40f65
-	ld a, [hl]
-	and $10
-	jr nz, Function40f84
-.asm_40f63
-	and a
-	ret
-.asm_40f65
-	ld a, [wc7d8]
-	and a
-	jr nz, .asm_40f76
-	ld hl, wc7d5
-	ld a, [hl]
-	cp $1
-	jr z, .asm_40f80
-	dec [hl]
-	jr .asm_40f82
-.asm_40f76
-	ld hl, wc7d6
-	ld a, [hl]
-	and a
-	jr z, .asm_40f80
-	dec [hl]
-	jr .asm_40f82
-.asm_40f80
-	ld [hl], $11
-.asm_40f82
-	scf
-	ret
-; 40f84
-
-Function40f84: ; 40f84
-	ld a, [wc7d8]
-	and a
-	jr nz, .asm_40f99
-	ld hl, wc7d5
-	ld a, [hl]
-	cp $11
-	jr nc, .asm_40f95
-	inc [hl]
-	jr .asm_40fa6
-.asm_40f95
-	ld [hl], $1
-	jr .asm_40fa6
-.asm_40f99
-	ld hl, wc7d6
-	ld a, [hl]
-	cp $11
-	jr nc, .asm_40fa4
-	inc [hl]
-	jr .asm_40fa6
-.asm_40fa4
-	ld [hl], $0
-.asm_40fa6
-	scf
-	ret
-
-Function40fa8: ; 40fa8 (10:4fa8)
-	xor a
-	ld [hBGMapMode], a ; $ff00+$d4
-	hlcoord 9, 3
-	ld bc, $408
-	ld a, $7f
-	call Function413fe
-	ld a, [wc7d5]
-	hlcoord 9, 4
-	call Function40fcd
-	ld a, [wc7d6]
-	hlcoord 9, 6
-	call Function40fcd
-	ld a, $1
-	ld [hBGMapMode], a ; $ff00+$d4
-	ret
-
-Function40fcd: ; 40fcd (10:4fcd)
-	push hl
-	ld e, a
-	ld d, 0
-	ld hl, Strings_40fe4
-	add hl, de
-	add hl, de
-	add hl, de
-	add hl, de
-	add hl, de
-	add hl, de
-	add hl, de
-	add hl, de
-	add hl, de
-	ld e, l
-	ld d, h
-	pop hl
-	call PlaceString
-	ret
-; 40fe4 (10:4fe4)
-
-Strings_40fe4: ; 40fe4
-	db "  ----  @"
-	db " NORMAL @"
-	db "  FIRE  @"
-	db " WATER  @"
-	db " GRASS  @"
-	db "ELECTRIC@"
-	db "  ICE   @"
-	db "FIGHTING@"
-	db " POISON @"
-	db " GROUND @"
-	db " FLYING @"
-	db "PSYCHIC @"
-	db "  BUG   @"
-	db "  ROCK  @"
-	db " GHOST  @"
-	db " DRAGON @"
-	db "  DARK  @"
-	db " STEEL  @"
-; 41086
-
-Function41086: ; 41086
-	ld a, [wc7d6]
-	and a
-	call nz, Function41095
-	ld a, [wc7d5]
-	and a
-	call nz, Function41095
-	ret
-; 41095
-
-Function41095: ; 41095
-	dec a
-	ld e, a
-	ld d, 0
-	ld hl, Unknown_410f6
-	add hl, de
-	ld a, [hl]
-	ld [wc7df], a
-	ld hl, wc6d0
-	ld de, wc6d0
-	ld c, NUM_POKEMON
-	xor a
-	ld [wc7d7], a
-.asm_410ad
-	push bc
-	ld a, [hl]
-	and a
-	jr z, .asm_410e0
-	ld [wd265], a
-	ld [CurSpecies], a
-	call Function40bc4
-	jr z, .asm_410e0
-	push hl
-	push de
-	call GetBaseData
-	pop de
-	pop hl
-	ld a, [wc7df]
-	ld b, a
-	ld a, [BaseType1]
-	cp b
-	jr z, .asm_410d4
-	ld a, [BaseType2]
-	cp b
-	jr nz, .asm_410e0
-
-.asm_410d4
-	ld a, [wd265]
-	ld [de], a
-	inc de
-	ld a, [wc7d7]
-	inc a
-	ld [wc7d7], a
-
-.asm_410e0
-	inc hl
-	pop bc
-	dec c
-	jr nz, .asm_410ad
-	ld l, e
-	ld h, d
-	ld a, [wc7d7]
-	ld c, 0
-.asm_410ec
-	cp NUM_POKEMON
-	jr z, .asm_410f5
-	ld [hl], c
-	inc hl
-	inc a
-	jr .asm_410ec
-
-.asm_410f5
-	ret
-; 410f6
-
-Unknown_410f6: ; 410f6
-	db NORMAL
-	db FIRE
-	db WATER
-	db GRASS
-	db ELECTRIC
-	db ICE
-	db FIGHTING
-	db POISON
-	db GROUND
-	db FLYING
-	db PSYCHIC
-	db BUG
-	db ROCK
-	db GHOST
-	db DRAGON
-	db DARK
-	db STEEL
-; 41107
-
-Function41107: ; 41107
-	xor a
-	ld [hBGMapMode], a
-	hlcoord 0, 12
-	ld bc, $0412
-	call Function40ad5
-	ld de, String_41126
-	hlcoord 1, 14
-	call PlaceString
-	ld a, $1
-	ld [hBGMapMode], a
-	ld c, $80
-	call DelayFrames
-	ret
-; 41126
-
-String_41126: ; 41126
-	db "The specified type", $4e
-	db "was not found.@"
-; 41148
-
-Function41148: ; 41148 (10:5148)
-	ld a, [wc7d4]
-	cp $1
-	jp z, Function41157
-	call Function41229
-	call Function4130e
-	ret
-
-Function41157: ; 41157 (10:5157)
-	ld hl, Unknown_41167
-	ld a, [wc7d1]
-	or a
-	jr nz, .asm_41163
-	ld hl, Unknown_411c8
-.asm_41163
-	call Function412f1
-	ret
-; 41167 (10:5167)
-
-Unknown_41167: ; 41167
-; OAM
-	db $18, $47, $30, $07
-	db $10, $47, $31, $07
-	db $10, $4f, $32, $07
-	db $10, $57, $32, $07
-	db $10, $5f, $32, $07
-	db $10, $67, $33, $07
-	db $10, $7e, $33, $27
-	db $10, $86, $32, $27
-	db $10, $8e, $32, $27
-	db $10, $96, $32, $27
-	db $10, $9e, $31, $27
-	db $18, $9e, $30, $27
-	db $20, $47, $30, $47
-	db $28, $47, $31, $47
-	db $28, $4f, $32, $47
-	db $28, $57, $32, $47
-	db $28, $5f, $32, $47
-	db $28, $67, $33, $47
-	db $28, $7e, $33, $67
-	db $28, $86, $32, $67
-	db $28, $8e, $32, $67
-	db $28, $96, $32, $67
-	db $28, $9e, $31, $67
-	db $20, $9e, $30, $67
-	db $ff
-; 411c8
-
-Unknown_411c8: ; 411c8
-; OAM
-	db $18, $47, $30, $07
-	db $10, $47, $34, $07
-	db $10, $4f, $35, $07
-	db $10, $57, $35, $07
-	db $10, $5f, $35, $07
-	db $10, $67, $36, $07
-	db $10, $7e, $36, $27
-	db $10, $86, $35, $27
-	db $10, $8e, $35, $27
-	db $10, $96, $35, $27
-	db $10, $9e, $34, $27
-	db $18, $9e, $30, $27
-	db $20, $47, $30, $47
-	db $28, $47, $31, $47
-	db $28, $4f, $32, $47
-	db $28, $57, $32, $47
-	db $28, $5f, $32, $47
-	db $28, $67, $33, $47
-	db $28, $7e, $33, $67
-	db $28, $86, $32, $67
-	db $28, $8e, $32, $67
-	db $28, $96, $32, $67
-	db $28, $9e, $31, $67
-	db $20, $9e, $30, $67
-	db $ff
-; 41229
-
-Function41229: ; 41229 (10:5229)
-	ld hl, Unknown_41230
-	call Function412f1
-	ret
-; 41230 (10:5230)
-
-Unknown_41230: ; 41230
-; OAM
-	db $1b, $47, $30, $07
-	db $13, $47, $31, $07
-	db $13, $4f, $32, $07
-	db $13, $57, $32, $07
-	db $13, $5f, $33, $07
-	db $13, $80, $33, $27
-	db $13, $88, $32, $27
-	db $13, $90, $32, $27
-	db $13, $98, $31, $27
-	db $1b, $98, $30, $27
-	db $23, $47, $30, $47
-	db $2b, $47, $31, $47
-	db $2b, $4f, $32, $47
-	db $2b, $57, $32, $47
-	db $2b, $5f, $33, $47
-	db $2b, $80, $33, $67
-	db $2b, $88, $32, $67
-	db $2b, $90, $32, $67
-	db $2b, $98, $31, $67
-	db $23, $98, $30, $67
-	db $ff
-; 41281
-
-Function41281: ; 41281 (10:5281)
-	ld a, [wc7d4]
-	cp $1
-	jp z, Function41157
-	ld hl, Unknown_41290
-	call Function412f1
-	ret
-; 41290 (10:5290)
-
-Unknown_41290: ; 41290
-; OAM
-	db $1b, $47, $30, $07
-	db $13, $47, $31, $07
-	db $13, $4f, $32, $07
-	db $13, $57, $32, $07
-	db $13, $5f, $32, $07
-	db $13, $67, $33, $07
-	db $13, $7e, $33, $27
-	db $13, $86, $32, $27
-	db $13, $8e, $32, $27
-	db $13, $96, $32, $27
-	db $13, $9e, $31, $27
-	db $1b, $9e, $30, $27
-	db $23, $47, $30, $47
-	db $2b, $47, $31, $47
-	db $2b, $4f, $32, $47
-	db $2b, $57, $32, $47
-	db $2b, $5f, $32, $47
-	db $2b, $67, $33, $47
-	db $2b, $7e, $33, $67
-	db $2b, $86, $32, $67
-	db $2b, $8e, $32, $67
-	db $2b, $96, $32, $67
-	db $2b, $9e, $31, $67
-	db $23, $9e, $30, $67
-	db $ff
-; 412f1
-
-Function412f1: ; 412f1 (10:52f1)
-	ld de, Sprites
-.asm_412f4
-	ld a, [hl]
-	cp $ff
-	ret z
-	ld a, [wc7d1]
-	and $7
-	swap a
-	add [hl]
-	inc hl
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	jr .asm_412f4
-
-Function4130e: ; 4130e (10:530e)
-	push de
-	ld a, [wc7d2]
-	dec a
-	ld e, a
-	ld a, [wc7d1]
-	ld hl, wc7d0
-	add [hl]
-	cp e
-	jr z, .asm_4133f
-	ld hl, $0
-	ld bc, $79
-	call AddNTimes
-	ld e, l
-	ld d, h
-	ld b, $0
-	ld a, d
-	or e
-	jr z, .asm_41341
-	ld a, [wc7d2]
-	ld c, a
-.asm_41333
-	ld a, e
-	sub c
-	ld e, a
-	ld a, d
-	sbc $0
-	ld d, a
-	jr c, .asm_41341
-	inc b
-	jr .asm_41333
-.asm_4133f
-	ld b, $79
-.asm_41341
-	ld a, $14
-	add b
-	pop hl
-	ld [hli], a
-	ld a, $a1
-	ld [hli], a
-	ld a, $f
-	ld [hli], a
-	ld [hl], $0
-	ret
-
-Function4134f: ; 4134f (10:534f)
-	xor a
-	ld [wc7d8], a
-	ld [wc7d9], a
-	ld [wc7da], a
-	ret
-
-Function4135a: ; 4135a (10:535a)
-	ld a, [de]
-	ld b, a
-	inc de
-	ld a, [de]
-	dec a
-	ld c, a
-	inc de
-	call Function413e0
-	ld hl, hJoyPressed ; $ffa7
-	ld a, [hl]
-	and D_LEFT | D_UP
-	and b
-	jr nz, .asm_4138f
-	ld a, [hl]
-	and D_RIGHT | D_DOWN
-	and b
-	jr nz, .asm_413a0
-	ld a, [hl]
-	and SELECT
-	and b
-	jr nz, .asm_413c1
-	call Function413f5
-	jr c, .asm_413bf
-	ld hl, $ffa9
-	ld a, [hl]
-	and D_LEFT | D_UP
-	and b
-	jr nz, .asm_4138f
-	ld a, [hl]
-	and D_RIGHT | D_DOWN
-	and b
-	jr nz, .asm_413a0
-	jr .asm_413bf
-.asm_4138f
-	ld a, [wc7d8]
-	and a
-	jr z, .asm_413bf
-	call Function413d4
-	ld [hl], $7f
-	ld hl, wc7d8
-	dec [hl]
-	jr .asm_413af
-.asm_413a0
-	ld a, [wc7d8]
-	cp c
-	jr nc, .asm_413bf
-	call Function413d4
-	ld [hl], $7f
-	ld hl, wc7d8
-	inc [hl]
-.asm_413af
-	call Function413d4
-	ld [hl], $ed
-	ld a, $c
-	ld [wc7d9], a
-	xor a
-	ld [wc7da], a
-	scf
-	ret
-.asm_413bf
-	and a
-	ret
-.asm_413c1
-	call Function413d4
-	ld [hl], $7f
-	ld a, [wc7d8]
-	cp c
-	jr c, .asm_413ce
-	ld a, $ff
-.asm_413ce
-	inc a
-	ld [wc7d8], a
-	jr .asm_413af
-
-Function413d4: ; 413d4 (10:53d4)
-	ld a, [wc7d8]
-	add a
-	ld l, a
-	ld h, $0
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ret
-
-Function413e0: ; 413e0 (10:53e0)
-	ld hl, wc7da
-	ld a, [hl]
-	inc [hl]
-	and $8
-	jr z, .asm_413ef
-	call Function413d4
-	ld [hl], $7f
-	ret
-.asm_413ef
-	call Function413d4
-	ld [hl], $ed
-	ret
-
-Function413f5: ; 413f5 (10:53f5)
-	ld hl, wc7d9
-	ld a, [hl]
-	and a
-	ret z
-	dec [hl]
-	scf
-	ret
-
-Function413fe: ; 413fe (10:53fe)
-	jp Functionfb8
-
-Function41401: ; 41401 (10:5401)
-	ld a, [rSVBK] ; $ff00+$70
-	push af
-	ld a, $5
-	ld [rSVBK], a ; $ff00+$70
-	ld hl, Unkn1Pals
-	ld bc, $40
-	xor a
-	call ByteFill
-	pop af
-	ld [rSVBK], a ; $ff00+$70
-
-Function41415: ; 41415
-	ld a, $ff
-	call DmgToCgbBGPals
-	ld a, $ff
-	call Functioncf8
-	call DelayFrame
-	ret
-
-Function41423: ; 41423
-	ld b, a
-	call GetSGBLayout
-
-Function41427: ; 41427
-	ld a, $e4
-	call DmgToCgbBGPals
-	ld a, $e0
-	call Functioncf8
-	ret
-; 41432
-
-
-Function41432: ; 41432
-	ld e, a
-	ld d, 0
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ret
-; 4143b
-
-Function4143b: ; 4143b
-	call Function40bb1
-	call Function40bd0
-	jr z, .asm_4145b
-	ld a, [wdef4]
-	ld [UnownLetter], a
-	ld a, [wd265]
-	ld [CurPartySpecies], a
-	call GetBaseData
-	ld de, VTiles2
-	predef GetFrontpic
-	ret
-
-.asm_4145b
-	ld a, $0
-	call GetSRAMBank
-	callba Function1de0d7
-	ld hl, VTiles2
-	ld de, $a000
-	ld c, $31
-	ld a, [hROMBank]
-	ld b, a
-	call Get2bpp
-	call CloseSRAM
-	ret
-; 41478
-
-
-Function41478: ; 41478 (10:5478)
-	call Function40bb1
-
-Function4147b: ; 4147b
-	ld a, [wd265]
-	dec a
-	and $f8
-	srl a
-	srl a
-	srl a
-	ld e, 0
-	ld d, a
-	ld a, [wd265]
-	dec a
-	and 7
-	swap a ; * $10
-	ld l, a
-	ld h, 0
-	add hl, de
-	ld de, Footprints
-	add hl, de
-
-	push hl
-	ld e, l
-	ld d, h
-	ld hl, $9620
-	lb bc, BANK(Footprints), 2
-	call Request1bpp
-	pop hl
-
-	; Whoever was editing footprints forgot to fix their
-	; tile editor. Now each bottom half is 8 tiles off.
-	ld de, $80
-	add hl, de
-
-	ld e, l
-	ld d, h
-	ld hl, $9640
-	lb bc, BANK(Footprints), 2
-	call Request1bpp
-
-	ret
-; 414b7
-
-
-Function414b7: ; 414b7
-	call DisableLCD
-	ld hl, VTiles2
-	ld bc, $0310
-	xor a
-	call ByteFill
-	call Function414fb
-	call Functione5f
-	ld hl, $9600
-	ld bc, $0200
-	call Function41504
-	call Function41a24
-	jr nz, .asm_414e0
-	callba Function1ddf1c
-	jr .asm_414e9
-
-.asm_414e0
-	ld hl, PokedexLZ
-	ld de, $9310
-	call Decompress
-
-.asm_414e9
-	ld hl, PokedexSlowpokeLZ
-	ld de, VTiles0
-	call Decompress
-	ld a, 6
-	call SkipMusic
-	call EnableLCD
-	ret
-
-Function414fb: ; 414fb
-	call Functione51
-	ld hl, VTiles1
-	ld bc, $0800
-
-Function41504: ; 41504
-	ld a, [hl]
-	xor $ff
-	ld [hli], a
-	dec bc
-	ld a, b
-	or c
-	jr nz, Function41504
-	ret
-; 4150e
-
-PokedexLZ: ; 4150e
-INCBIN "gfx/unknown/04150e.2bpp.lz"
-; 416b0
-
-PokedexSlowpokeLZ: ; 416b0
-INCBIN "gfx/pokedex/slowpoke.2bpp.lz"
-
-Function41a24: ; 41a24
-	ld a, [hCGB]
-	or a
-	ret nz
-	ld a, [hSGB]
-	dec a
-	ret
-; 41a2c
-
-Function41a2c: ; 41a2c
-	ld a, $0
-	call GetSRAMBank
-	ld hl, UnownFont
-	ld de, $a188
-	ld bc, $270
-	ld a, BANK(UnownFont)
-	call FarCopyBytes
-	ld hl, $a188
-	ld bc, $1b0
-	call Function41504
-	ld de, $a188
-	ld hl, $9400
-	lb bc, BANK(Function41a2c), $1b
-	call Request2bpp
-	call CloseSRAM
-	ret
-; 41a58
-
-
-Function41a58: ; 41a58 (10:5a58)
-	ld a, [UnownLetter]
-	push af
-	ld a, [wc7dd]
-	ld e, a
-	ld d, $0
-	ld hl, EndPokedexSeen ; wded9 (aliases: UnownDex)
-	add hl, de
-	ld a, [hl]
-	ld [UnownLetter], a
-	ld a, UNOWN
-	ld [CurPartySpecies], a
-	call GetBaseData
-	ld de, $9000
-	predef GetFrontpic
-	pop af
-	ld [UnownLetter], a
-	ret
-
 Function41a7f: ; 41a7f
 	xor a
 	ld [hBGMapMode], a
@@ -47620,7 +38273,7 @@
 
 
 Function4456e: ; 4456e
-	ld a, $1
+	ld a, PartyMon1Item - PartyMon1
 	call GetPartyParamLocation
 	ld d, [hl]
 	callba ItemIsMail
@@ -47646,7 +38299,7 @@
 	xor a
 	ld bc, $002f
 	call ByteFill
-	ld a, $1
+	ld a, PartyMon1Item - PartyMon1
 	call GetPartyParamLocation
 	ld [hl], $0
 	ld hl, $a834
@@ -54298,99 +44951,10 @@
 	ret
 ; 4d01e
 
-MapTriggers:: ; 4d01e
-; Map triggers
 
-trigger_def: MACRO
-; db group, map
-; dw address
-	map \1
-	dw \2
-ENDM
+INCLUDE "engine/map_triggers.asm"
 
-	trigger_def POKECENTER_2F,                          wPokecenter2FTrigger
-	trigger_def TRADE_CENTER,                           wTradeCenterTrigger
-	trigger_def COLOSSEUM,                              wColosseumTrigger
-	trigger_def TIME_CAPSULE,                           wTimeCapsuleTrigger
-	trigger_def POWER_PLANT,                            wPowerPlantTrigger
-	trigger_def CERULEAN_GYM,                           wCeruleanGymTrigger
-	trigger_def ROUTE_25,                               wRoute25Trigger
-	trigger_def TRAINER_HOUSE_B1F,                      wTrainerHouseB1FTrigger
-	trigger_def VICTORY_ROAD_GATE,                      wVictoryRoadGateTrigger
-	trigger_def SAFFRON_TRAIN_STATION,                  wSaffronTrainStationTrigger
-	trigger_def ROUTE_16_GATE,                          wRoute16GateTrigger
-	trigger_def ROUTE_17_18_GATE,                       wRoute1718GateTrigger
-	trigger_def INDIGO_PLATEAU_POKECENTER_1F,           wIndigoPlateauPokecenter1FTrigger
-	trigger_def WILLS_ROOM,                             wWillsRoomTrigger
-	trigger_def KOGAS_ROOM,                             wKogasRoomTrigger
-	trigger_def BRUNOS_ROOM,                            wBrunosRoomTrigger
-	trigger_def KARENS_ROOM,                            wKarensRoomTrigger
-	trigger_def LANCES_ROOM,                            wLancesRoomTrigger
-	trigger_def HALL_OF_FAME,                           wHallOfFameTrigger
-	trigger_def ROUTE_27,                               wRoute27Trigger
-	trigger_def NEW_BARK_TOWN,                          wNewBarkTownTrigger
-	trigger_def ELMS_LAB,                               wElmsLabTrigger
-	trigger_def KRISS_HOUSE_1F,                         wKrissHouse1FTrigger
-	trigger_def ROUTE_29,                               wRoute29Trigger
-	trigger_def CHERRYGROVE_CITY,                       wCherrygroveCityTrigger
-	trigger_def MR_POKEMONS_HOUSE,                      wMrPokemonsHouseTrigger
-	trigger_def ROUTE_32,                               wRoute32Trigger
-	trigger_def ROUTE_35_NATIONAL_PARK_GATE,            wRoute35NationalParkGateTrigger
-	trigger_def ROUTE_36,                               wRoute36Trigger
-	trigger_def ROUTE_36_NATIONAL_PARK_GATE,            wRoute36NationalParkGateTrigger
-	trigger_def AZALEA_TOWN,                            wAzaleaTownTrigger
-	trigger_def GOLDENROD_GYM,                          wGoldenrodGymTrigger
-	trigger_def GOLDENROD_MAGNET_TRAIN_STATION,         wGoldenrodMagnetTrainStationTrigger
-	trigger_def GOLDENROD_POKECENTER_1F,                wGoldenrodPokecenter1FTrigger
-	trigger_def OLIVINE_CITY,                           wOlivineCityTrigger
-	trigger_def ROUTE_34,                               wRoute34Trigger
-	trigger_def ROUTE_34_ILEX_FOREST_GATE,              wRoute34IlexForestGateTrigger
-	trigger_def ECRUTEAK_HOUSE,                         wEcruteakHouseTrigger
-	trigger_def WISE_TRIOS_ROOM,                        wWiseTriosRoomTrigger
-	trigger_def ECRUTEAK_POKECENTER_1F,                 wEcruteakPokecenter1FTrigger
-	trigger_def ECRUTEAK_GYM,                           wEcruteakGymTrigger
-	trigger_def MAHOGANY_TOWN,                          wMahoganyTownTrigger
-	trigger_def ROUTE_42,                               wRoute42Trigger
-	trigger_def CIANWOOD_CITY,                          wCianwoodCityTrigger
-	trigger_def BATTLE_TOWER_1F,                        wBattleTower1FTrigger
-	trigger_def BATTLE_TOWER_BATTLE_ROOM,               wBattleTowerBattleRoomTrigger
-	trigger_def BATTLE_TOWER_ELEVATOR,                  wBattleTowerElevatorTrigger
-	trigger_def BATTLE_TOWER_HALLWAY,                   wBattleTowerHallwayTrigger
-	trigger_def BATTLE_TOWER_OUTSIDE,                   wBattleTowerOutsideTrigger
-	trigger_def ROUTE_43_GATE,                          wRoute43GateTrigger
-	trigger_def MOUNT_MOON,                             wMountMoonTrigger
-	trigger_def SPROUT_TOWER_3F,                        wSproutTower3FTrigger
-	trigger_def TIN_TOWER_1F,                           wTinTower1FTrigger
-	trigger_def BURNED_TOWER_1F,                        wBurnedTower1FTrigger
-	trigger_def BURNED_TOWER_B1F,                       wBurnedTowerB1FTrigger
-	trigger_def RADIO_TOWER_5F,                         wRadioTower5FTrigger
-	trigger_def RUINS_OF_ALPH_OUTSIDE,                  wRuinsOfAlphOutsideTrigger
-	trigger_def RUINS_OF_ALPH_RESEARCH_CENTER,          wRuinsOfAlphResearchCenterTrigger
-	trigger_def RUINS_OF_ALPH_HO_OH_CHAMBER,            wRuinsOfAlphHoOhChamberTrigger
-	trigger_def RUINS_OF_ALPH_KABUTO_CHAMBER,           wRuinsOfAlphKabutoChamberTrigger
-	trigger_def RUINS_OF_ALPH_OMANYTE_CHAMBER,          wRuinsOfAlphOmanyteChamberTrigger
-	trigger_def RUINS_OF_ALPH_AERODACTYL_CHAMBER,       wRuinsOfAlphAerodactylChamberTrigger
-	trigger_def RUINS_OF_ALPH_INNER_CHAMBER,            wRuinsOfAlphInnerChamberTrigger
-	trigger_def MAHOGANY_MART_1F,                       wMahoganyMart1FTrigger
-	trigger_def TEAM_ROCKET_BASE_B1F,                   wTeamRocketBaseB1FTrigger
-	trigger_def TEAM_ROCKET_BASE_B2F,                   wTeamRocketBaseB2FTrigger
-	trigger_def TEAM_ROCKET_BASE_B3F,                   wTeamRocketBaseB3FTrigger
-	trigger_def UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, wUndergroundPathSwitchRoomEntrancesTrigger
-	trigger_def SILVER_CAVE_ROOM_3,                     wSilverCaveRoom3Trigger
-	trigger_def VICTORY_ROAD,                           wVictoryRoadTrigger
-	trigger_def DRAGONS_DEN_B1F,                        wDragonsDenB1FTrigger
-	trigger_def DRAGON_SHRINE,                          wDragonShrineTrigger
-	trigger_def OLIVINE_PORT,                           wOlivinePortTrigger
-	trigger_def VERMILION_PORT,                         wVermilionPortTrigger
-	trigger_def FAST_SHIP_1F,                           wFastShip1FTrigger
-	trigger_def FAST_SHIP_B1F,                          wFastShipB1FTrigger
-	trigger_def MOUNT_MOON_SQUARE,                      wMountMoonSquareTrigger
-	trigger_def MOBILE_TRADE_ROOM_MOBILE,               wMobileTradeRoomMobileTrigger
-	trigger_def MOBILE_BATTLE_ROOM,                     wMobileBattleRoomTrigger
-	db $ff
-; 4d15b
 
-
 Function4d15b:: ; 4d15b
 	ld hl, wc608
 	ld a, [wd196]
@@ -56517,7 +47081,7 @@
 	jr nz, .asm_4e1bb
 	hlcoord 11, 8
 	ld bc, $6
-	predef Function50b7b
+	predef PrintTempMonStats
 	ret
 
 Function4e1cc: ; 4e1cc (13:61cc)
@@ -58745,34 +49309,39 @@
 ; 5062e
 
 Function5062e: ; 5062e
-	ld a, $20
+	ld a, PartyMon1Status - PartyMon1
 	call GetPartyParamLocation
 	ld a, [hl]
-	and $8
+	and 1 << PSN
 	ret z
-	ld a, $22
+
+	ld a, PartyMon1HP - PartyMon1
 	call GetPartyParamLocation
 	ld a, [hli]
 	ld b, a
 	ld c, [hl]
+
 	or c
 	ret z
+
 	dec bc
 	ld [hl], c
 	dec hl
 	ld [hl], b
+
 	ld a, b
 	or c
-	jr nz, .asm_50654
-	ld a, $20
+	jr nz, .not_fainted
+
+	ld a, PartyMon1Status - PartyMon1
 	call GetPartyParamLocation
-	ld [hl], $0
-	ld c, $2
+	ld [hl], 0
+	ld c, 2
 	scf
 	ret
 
-.asm_50654
-	ld c, $1
+.not_fainted
+	ld c, 1
 	scf
 	ret
 ; 50658
@@ -58849,7 +49418,7 @@
 
 UnknownScript_0x506c8: ; 0x506c8
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 	callasm GetPartyNick
 	writetext UnknownText_0x50726
 	closetext
@@ -58926,7 +49495,7 @@
 
 UnknownScript_0x5073c: ; 0x5073c
 	reloadmappart
-	special $0035
+	special UpdateTimePals
 	callasm Function50753
 	iffalse UnknownScript_0x5074b
 	farjump WateredWeirdTreeScript
@@ -59094,15 +49663,15 @@
 ; 50821
 
 UnknownScript_0x50821: ; 0x50821
-	special $001b
+	special Functionc658
 	reloadmappart
 	playsound SFX_WARP_TO
-	special $002e
-	special $0031
-	special $002e
-	special $0031
-	special $002e
-	special $0031
+	special Function8c084
+	special Function8c079
+	special Function8c084
+	special Function8c079
+	special Function8c084
+	special Function8c079
 	waitbutton
 	writetext UnknownText_0x50845
 	playsound SFX_CAUGHT_MON
@@ -59433,40 +50002,40 @@
 ; 50b7b
 
 
-Function50b7b: ; 50b7b
-; Print a monster's stats on level up.
+PrintTempMonStats: ; 50b7b
+; Print TempMon's stats at hl, with spacing bc.
 	push bc
 	push hl
-	ld de, String_50bb5
+	ld de, .StatNames
 	call PlaceString
 	pop hl
 	pop bc
 	add hl, bc
-	ld bc, $0014
+	ld bc, SCREEN_WIDTH
 	add hl, bc
 	ld de, TempMonAttack
 	ld bc, $0203
-	call Function50bab
+	call .PrintStat
 	ld de, TempMonDefense
-	call Function50bab
+	call .PrintStat
 	ld de, TempMonSpclAtk
-	call Function50bab
+	call .PrintStat
 	ld de, TempMonSpclDef
-	call Function50bab
+	call .PrintStat
 	ld de, TempMonSpeed
 	jp PrintNum
 ; 50bab
 
-Function50bab: ; 50bab
+.PrintStat: ; 50bab
 	push hl
 	call PrintNum
 	pop hl
-	ld de, $0028
+	ld de, SCREEN_WIDTH * 2
 	add hl, de
 	ret
 ; 50bb5
 
-String_50bb5: ; 50bb5
+.StatNames: ; 50bb5
 	db   "ATTACK"
 	next "DEFENSE"
 	next "SPCL.ATK"
@@ -70785,7 +61354,7 @@
 	dec a
 	ld [CurPartyMon], a
 	push bc
-	ld a, $1
+	ld a, PartyMon1Item - PartyMon1
 	call GetPartyParamLocation
 	pop bc
 	ld a, [hl]
@@ -100772,8085 +91341,9 @@
 INCBIN "baserom.gbc", $fd1d1, $fd1d2 - $fd1d1
 
 
-SECTION "bank40", ROMX, BANK[$40]
+INCLUDE "misc/mobile_40.asm"
 
-Function100000: ; 100000
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	call Function100022
-	call Function1000ba
-	call Function100675
-	call Function100057
-	call Function10016f
-	call Function100276
-	push bc
-	call Function100301
-	pop bc
-	pop af
-	ld [rSVBK], a
-	ret
-; 100022
 
-Function100022: ; 100022
-	push de
-	push bc
-	call Function100063
-	pop bc
-	pop de
-	ld a, d
-	ld [wcd21], a
-	ld a, e
-	ld [CreditsTimer], a
-	ld a, c
-	ld [wcd23], a
-	ld a, b
-	ld [wcd24], a
-	callba Function10127e
-	callba Function106462
-	callba Function106464
-	callba Function11615a
-	ld hl, VramState
-	set 1, [hl]
-	ret
-; 100057
-
-Function100057: ; 100057
-	call Function1000a4
-	call Function222a
-	ld hl, VramState
-	res 1, [hl]
-	ret
-; 100063
-
-Function100063: ; 100063
-	xor a
-	ld hl, BGMapBuffer
-	ld bc, $0065
-	call ByteFill
-	xor a
-	ld hl, wc300
-	ld bc, $100
-	call ByteFill
-	ld a, [rIE]
-	ld [BGMapBuffer], a
-	xor a
-	ld [$ffde], a
-	ld [hLCDStatCustom], a
-	ret
-; 100082
-
-Function100082: ; 100082
-	xor a
-	ld hl, OverworldMap
-	ld bc, 1300
-	call ByteFill
-	di
-	call DoubleSpeed
-	xor a
-	ld [rIF], a
-	ld a, 1 << VBLANK + 1 << LCD_STAT + 1 << TIMER + 1 << SERIAL
-	ld [rIE], a
-	xor a
-	ld [$ffde], a
-	ld [hLCDStatCustom], a
-	ld a, $1
-	ld [$ffc9], a
-	ld [$ffe9], a
-	ei
-	ret
-; 0x1000a4
-
-Function1000a4: ; 1000a4
-	di
-	xor a
-	ld [$ffc9], a
-	ld [$ffe9], a
-	xor a
-	ld [hVBlank], a
-	call NormalSpeed
-	xor a
-	ld [rIF], a
-	ld a, [BGMapBuffer]
-	ld [rIE], a
-	ei
-	ret
-; 1000ba
-
-Function1000ba: ; 1000ba
-.asm_1000ba
-	ld hl, wcd23
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld a, [wcd25]
-	ld e, a
-	ld d, $0
-	add hl, de
-	add hl, de
-	ld a, [CreditsTimer]
-	call GetFarHalfword
-	ld a, [CreditsTimer]
-	rst FarCall
-	call Function1000e8
-	call Function1000fa
-	call Function100144
-	call Function100163
-	ld a, [wcd2b]
-	and a
-	jr z, .asm_1000ba
-	call DelayFrame
-	ret
-; 1000e8
-
-Function1000e8: ; 1000e8
-	ld hl, wcd29
-	bit 7, [hl]
-	ret z
-	callba Function115dd3
-	ld hl, wcd29
-	set 6, [hl]
-	ret
-; 1000fa
-
-Function1000fa: ; 1000fa
-	ld a, [wc30d]
-	and a
-	ret z
-	ld hl, wcd29
-	bit 4, [hl]
-	ret z
-	ld a, [wcd2b]
-	and a
-	jr nz, .asm_100117
-	callba Function11619d
-	ld hl, wcd29
-	set 6, [hl]
-	ret
-
-.asm_100117
-	di
-	xor a
-	ld [rIF], a
-	ld a, [rIE]
-	and $13
-	ld [rIE], a
-	xor a
-	ld [$ffc9], a
-	ld [$ffe9], a
-	ei
-	ld a, [InLinkBattle]
-	push af
-	xor a
-	ld [InLinkBattle], a
-	ld a, $4
-	ld [wc319], a
-	callba Function11619d
-	ld hl, wcd29
-	set 6, [hl]
-	pop af
-	ld [InLinkBattle], a
-	ret
-; 100144
-
-Function100144: ; 100144
-	ld hl, wcd29
-	bit 5, [hl]
-	jr z, .asm_100155
-	res 5, [hl]
-	res 2, [hl]
-	res 6, [hl]
-	call Function100320
-	ret
-
-.asm_100155
-	bit 2, [hl]
-	ret z
-	res 2, [hl]
-	res 6, [hl]
-	callba Function10402d
-	ret
-; 100163
-
-Function100163: ; 100163
-	ld hl, wcd29
-	bit 6, [hl]
-	ret z
-	res 6, [hl]
-	call DelayFrame
-	ret
-; 10016f
-
-Function10016f: ; 10016f
-	ld a, [wcd2b]
-	cp $1
-	ret z
-	cp $2
-	ret z
-	cp $ff
-	jp z, .asm_1001f5
-	cp $fe
-	jr z, .asm_1001c4
-	cp $f5
-	jr z, .asm_1001e7
-	cp $f6
-	jr z, .asm_1001b6
-	cp $fa
-	jp z, .asm_1001bd
-	cp $f7
-	jp z, .asm_1001ee
-	cp $f4
-	jr z, .asm_1001d2
-	cp $f3
-	jr z, .asm_1001cb
-	cp $f1
-	jr z, .asm_1001c4
-	cp $f2
-	jr z, .asm_1001c4
-	cp $fc
-	jr z, .asm_1001e6
-	cp $fb
-	jr z, .asm_1001af
-	cp $f8
-	ret z
-	ret
-
-.asm_1001af
-	ld a, $d7
-	ld de, $0000
-	jr .asm_1001d7
-
-.asm_1001b6
-	ld a, $d5
-	ld de, $0000
-	jr .asm_1001d7
-
-.asm_1001bd
-	ld a, $d6
-	ld de, $0000
-	jr .asm_1001d7
-
-.asm_1001c4
-	ld a, $d2
-	ld de, $0002
-	jr .asm_1001d7
-
-.asm_1001cb
-	ld a, $d1
-	ld de, $0001
-	jr .asm_1001d7
-
-.asm_1001d2
-	ld a, $d0
-	ld de, $0000
-
-.asm_1001d7
-	ld [wc300], a
-	ld a, d
-	ld [wc302], a
-	ld a, e
-	ld [wc301], a
-	call Function10020b
-	ret
-
-.asm_1001e6
-	ret
-
-.asm_1001e7
-	ld de, String10025e
-	call Function100232
-	ret
-
-.asm_1001ee
-	ld de, String10024d
-	call Function100232
-	ret
-
-.asm_1001f5
-	ld a, [wcd2c]
-	ld [wc300], a
-	ld a, [wcd2d]
-	ld [wc302], a
-	ld a, [wcd2d]
-	ld [wc301], a
-	call Function10020b
-	ret
-; 10020b
-
-Function10020b: ; 10020b
-	xor a
-	ld [wc303], a
-	callba Function8c084
-	callba Function106464
-	call HideSprites
-	call DelayFrame
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	callba Function17f555
-	pop af
-	ld [rSVBK], a
-	ret
-; 100232
-
-Function100232: ; 100232
-	push de
-	callba Function106464
-	call Function3f20
-	call Function1ad2
-	hlcoord 1, 2
-	pop de
-	call PlaceString
-	call Function100320
-	call Functiona36
-	ret
-; 10024d
-
-String10024d: ; 10024d
-	db   "つうしんを キャンセル しました@"
-; 10025e
-
-String10025e: ; 10025e
-	db   "おともだちと えらんだ へやが"
-	next "ちがうようです@"
-; 100276
-
-Function100276: ; 100276
-	ld a, [wcd2b]
-	cp $1
-	jr z, .asm_10029f
-	cp $2
-	jr z, .asm_100296
-	cp $f5
-	jr z, .asm_1002a5
-	cp $f6
-	jr z, .asm_1002a5
-	cp $f7
-	jr z, .asm_100293
-	cp $f8
-	jr z, .asm_1002b1
-	jr .asm_1002c0
-
-.asm_100293
-	ld c, $2
-	ret
-
-.asm_100296
-	callba Script_reloadmappart
-	ld c, $4
-	ret
-
-.asm_10029f
-	call Function1002dc
-	ld c, $0
-	ret
-
-.asm_1002a5
-	callba Script_reloadmappart
-	call Function1002ed
-	ld c, $3
-	ret
-
-.asm_1002b1
-	call Function1002c9
-	call Function1002dc
-	ld de, String10024d
-	call Function100232
-	ld c, $2
-	ret
-
-.asm_1002c0
-	call Function1002c9
-	call Function1002dc
-	ld c, $1
-	ret
-; 1002c9
-
-Function1002c9: ; 1002c9
-	ld hl, wcd2a
-	bit 0, [hl]
-	ret z
-	callba Function3f6d0
-	callba Function1500c
-	ret
-; 1002dc
-
-Function1002dc: ; 1002dc
-	ld a, $f8
-	ld [$ff9f], a
-	callba RunMapSetupScript
-	xor a
-	ld [$ff9f], a
-	call Functione51
-	ret
-; 1002ed
-
-Function1002ed: ; 1002ed
-	callba Function49409
-	callba Function96a4
-	ld a, $1
-	ld [hCGBPalUpdate], a
-	call DelayFrame
-	ret
-; 100301
-
-Function100301: ; 100301
-	ld hl, wcd2a
-	bit 1, [hl]
-	ret z
-	callba Function106464
-	callba Function10202c
-	callba Function115dd3
-	call Function100320
-	call Functiona36
-	ret
-; 100320
-
-Function100320: ; 100320
-	callba Function104099
-	ret
-; 100327
-
-Function100327: ; 100327
-	callba Function10402d
-	ret
-; 100327
-
-
-Function10032e: ; 10032e
-	call Function10034d
-	ld e, a
-	ret nc
-	ld [wcd2b], a
-	ret
-; 100337
-
-Function100337: ; 100337
-	call Function10032e
-	ret c
-	ld a, [wc821]
-	bit 4, a
-	jr z, .asm_100345
-	ld a, e
-	and a
-	ret
-
-.asm_100345
-	ld a, $f9
-	ld e, a
-	ld [wcd2b], a
-	scf
-	ret
-; 10034d
-
-Function10034d: ; 10034d
-	ld a, [wc821]
-	bit 1, a
-	jr nz, .asm_10036a
-	bit 2, a
-	jr nz, .asm_10037e
-	bit 3, a
-	jr nz, .asm_100366
-	bit 0, a
-	jr nz, .asm_100364
-	ld a, $1
-	and a
-	ret
-
-.asm_100364
-	xor a
-	ret
-
-.asm_100366
-	ld a, $2
-	and a
-	ret
-
-.asm_10036a
-	ld a, $0
-	call Function3e32
-	ld [wcd2c], a
-	ld a, h
-	ld [wcd2d], a
-	ld a, l
-	ld [wcd2e], a
-	ld a, $ff
-	scf
-	ret
-
-.asm_10037e
-	ld a, $fe
-	scf
-	ret
-; 100382
-
-Function100382: ; 100382
-	ld a, [wcd27]
-	ld hl, Jumptable_10044e
-	rst JumpTable
-	ret
-; 10038a
-
-Function10038a: ; 10038a
-	ld hl, wccb4
-	ld a, $2e
-	call Function3e32
-	ret
-; 100393
-
-Function100393: ; 100393
-	ld hl, wcc60
-	ld a, $3a
-	call Function3e32
-	ret
-; 10039c
-
-Function10039c: ; 10039c
-	ld hl, wcc60
-	ld de, wd000
-	ld bc, $0054
-	ld a, $3
-	call FarCopyWRAM
-	ret
-; 1003ab
-
-Function1003ab: ; 1003ab
-	ld hl, wd000
-	ld de, wcc60
-	ld bc, $0054
-	ld a, $3
-	call FarCopyWRAM
-	ret
-; 1003ba
-
-Function1003ba: ; 1003ba
-	ld hl, wccb4
-	ld de, $d080
-	ld bc, $0054
-	ld a, $3
-	call FarCopyWRAM
-	ret
-; 1003c9
-
-Function1003c9: ; 1003c9
-	ld hl, $d080
-	ld de, wccb4
-	ld bc, $0054
-	ld a, $3
-	call FarCopyWRAM
-	ret
-; 1003d8
-
-Function1003d8: ; 1003d8
-	ld hl, wccb4
-	ld a, [hli]
-	ld c, a
-	ld b, $0
-	push hl
-	add hl, bc
-	ld a, [BGMapPalBuffer]
-	ld [hl], a
-	pop hl
-	inc bc
-	call Function10043a
-	add hl, bc
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	ld a, c
-	add $2
-	ld [wccb4], a
-	ret
-; 1003f5
-
-Function1003f5: ; 1003f5
-	ld a, [wcc60]
-	sub $3
-	ld [wcc60], a
-	ld a, [wccb4]
-	sub $3
-	ld [wccb4], a
-	ret
-; 100406
-
-Function100406: ; 100406
-	ld a, [wcc60]
-	sub $2
-	ld c, a
-	ld b, $0
-	ld hl, wcc61
-	call Function10043a
-	add hl, bc
-	ld a, [hli]
-	cp e
-	jr nz, .asm_100426
-	ld a, [hld]
-	cp d
-	jr nz, .asm_100426
-	dec hl
-	ld a, [BGMapPalBuffer]
-	cp [hl]
-	jr nz, .asm_10042d
-	xor a
-	ret
-
-.asm_100426
-	ld a, $f4
-	ld [wcd2b], a
-	jr .asm_100432
-
-.asm_10042d
-	ld a, $f3
-	ld [wcd2b], a
-
-.asm_100432
-	push hl
-	ld hl, wcd7c
-	inc [hl]
-	pop hl
-	scf
-	ret
-; 10043a
-
-Function10043a: ; 10043a
-	push hl
-	push bc
-	ld de, $0000
-.asm_10043f
-	ld a, [hli]
-	add e
-	ld e, a
-	ld a, d
-	adc $0
-	ld d, a
-	dec bc
-	ld a, b
-	or c
-	jr nz, .asm_10043f
-	pop bc
-	pop hl
-	ret
-; 10044e
-
-
-Jumptable_10044e: ; 10044e (40:444e)
-	dw Function10046a
-	dw Function10047c
-	dw Function100493
-	dw Function1004ba
-	dw Function1004f4
-	dw Function1004ce
-	dw Function1004de
-	dw Function1004a4
-	dw Function100495
-	dw Function1004ce
-	dw Function1004de
-	dw Function1004e9
-	dw Function1004f4
-	dw Function1004a4
-
-Function10046a: ; 10046a
-	ld hl, BGMapPalBuffer
-	inc [hl]
-	call Function1003d8
-	call Function1003ba
-	ld a, [wcd27]
-	inc a
-	ld [wcd27], a
-	ret
-; 10047c
-
-Function10047c: ; 10047c
-	call Function100337
-	ret c
-	ret z
-	cp $2
-	jr z, .asm_100487
-	jr .asm_10048d
-
-.asm_100487
-	ld a, $8
-	ld [wcd27], a
-	ret
-
-.asm_10048d
-	ld a, $2
-	ld [wcd27], a
-	ret
-; 100493
-
-Function100493: ; 100493
-	jr asm_100497
-
-Function100495: ; 100495
-	jr asm_100497
-
-asm_100497
-	call Function100337
-	ret c
-	ret z
-	ld a, [wcd27]
-	inc a
-	ld [wcd27], a
-	ret
-; 1004a4
-
-Function1004a4: ; 1004a4
-	call Function100406
-	jr c, .asm_1004b8
-	call Function1003c9
-	call Function1003f5
-	ld a, [wcd27]
-	set 7, a
-	ld [wcd27], a
-	ret
-
-.asm_1004b8
-	scf
-	ret
-; 1004ba
-
-Function1004ba: ; 1004ba
-	call Function10038a
-	and a
-	jr nz, .asm_1004c8
-	ld a, [wcd27]
-	inc a
-	ld [wcd27], a
-	ret
-
-.asm_1004c8
-	ld a, $8
-	ld [wcd27], a
-	ret
-; 1004ce
-
-Function1004ce: ; 1004ce
-	call Function100337
-	ret c
-	ret z
-	cp $2
-	ret nz
-	ld a, [wcd27]
-	inc a
-	ld [wcd27], a
-	ret
-; 1004de
-
-Function1004de: ; 1004de
-	call Function100393
-	ld a, [wcd27]
-	inc a
-	ld [wcd27], a
-	ret
-; 1004e9
-
-Function1004e9: ; 1004e9
-	call Function10038a
-	ld a, [wcd27]
-	inc a
-	ld [wcd27], a
-	ret
-; 1004f4
-
-Function1004f4: ; 1004f4
-	call Function100337
-	ret c
-	ret z
-	ld a, [wcd27]
-	inc a
-	ld [wcd27], a
-	call Function10039c
-	ret
-; 100504
-
-Function100504: ; 100504
-	push de
-	call Function3f20
-	call Function1ad2
-	pop de
-	hlcoord 4, 2
-	call PlaceString
-	ret
-; 100513
-
-Function100513: ; 100513
-	call Function3f7c
-	call Function1c89
-	call Function1c10
-	ld hl, wcfa5
-	set 7, [hl]
-	ret
-; 100522
-
-Function100522: ; 100522
-	ld a, [wcd28]
-	ld hl, Jumptable_10052a
-	rst JumpTable
-	ret
-; 10052a
-
-Jumptable_10052a: ; 10052a
-	dw Function100534
-	dw Function100545
-	dw Function100545
-	dw Function100545
-	dw Function10054d
-; 100534
-
-Function100534: ; 100534
-	call Function100513
-	call Function1ad2
-	call Function321c
-	ld a, [wcd28]
-	inc a
-	ld [wcd28], a
-	ret
-; 100545
-
-Function100545: ; 100545
-	ld a, [wcd28]
-	inc a
-	ld [wcd28], a
-	ret
-; 10054d
-
-Function10054d: ; 10054d
-	callba Function241ba
-	ld a, c
-	ld hl, wcfa8
-	and [hl]
-	ret z
-	call Function1ff8
-	bit 0, a
-	jr nz, .asm_100565
-	bit 1, a
-	jr nz, .asm_10056f
-	ret
-
-.asm_100565
-	ld a, [wcd28]
-	set 7, a
-	ld [wcd28], a
-	and a
-	ret
-
-.asm_10056f
-	ld a, [wcd28]
-	set 7, a
-	ld [wcd28], a
-	scf
-	ret
-; 100579
-
-Function100579: ; 100579
-	ld a, [wcd26]
-	ld hl, Jumptable_100581
-	rst JumpTable
-	ret
-; 100581
-
-Jumptable_100581: ; 100581
-	dw Function100585
-	dw Function100597
-; 100585
-
-Function100585: ; 100585
-	ld hl, MenuDataHeader_1005b2
-	call LoadMenuDataHeader
-	ld a, $0
-	ld [wcd28], a
-	ld a, [wcd26]
-	inc a
-	ld [wcd26], a
-
-Function100597: ; 100597
-	call Function100522
-	ld a, [wcd28]
-	bit 7, a
-	ret z
-	jr nc, .asm_1005a6
-	xor a
-	ld [wcfa9], a
-
-.asm_1005a6
-	call Function1c07
-	ld a, [wcd26]
-	set 7, a
-	ld [wcd26], a
-	ret
-; 1005b2
-
-MenuDataHeader_1005b2: ; 1005b2
-	db $40 ; flags
-	db 6, 14
-	db 10, 19
-	dw MenuData2_1005ba
-	db 1 ; default option
-
-MenuData2_1005ba:
-	db $c0 ; flags
-	db 2
-	db "はい@"
-	db "いいえ@"
-; 1005c3
-
-Function1005c3: ; 1005c3
-	ld a, [wcd26]
-	ld hl, Jumptable_1005cb
-	rst JumpTable
-	ret
-; 1005cb
-
-Jumptable_1005cb: ; 1005cb
-	dw Function1005cf
-	dw Function1005e1
-; 1005cf
-
-Function1005cf: ; 1005cf
-	ld hl, MenuDataHeader_1005fc
-	call LoadMenuDataHeader
-	ld a, $0
-	ld [wcd28], a
-	ld a, [wcd26]
-	inc a
-	ld [wcd26], a
-
-Function1005e1: ; 1005e1
-	call Function100522
-	ld a, [wcd28]
-	bit 7, a
-	ret z
-	jr nc, .asm_1005f0
-	xor a
-	ld [wcfa9], a
-.asm_1005f0
-	call Function1c07
-	ld a, [wcd26]
-	set 7, a
-	ld [wcd26], a
-	ret
-; 1005fc
-
-MenuDataHeader_1005fc: ; 1005fc
-	db $40 ; flags
-	db 6, 14
-	db 10, 19
-	dw MenuData2_100604
-	db 1 ; default option
-
-MenuData2_100604: ; 100604
-	db $c0 ; flags
-	db 2
-	db "かける@"
-	db "まつ@"
-; 10060d
-
-Function10060d: ; 10060d
-	hlcoord 3, 10
-	ld b, $1
-	ld c, $b
-	call Function3eea
-	ld de, String_100621
-	hlcoord 4, 11
-	call PlaceString
-	ret
-; 100621
-
-String_100621: ; 100621
-	db "つうしんたいきちゅう!@"
-; 10062d
-
-Function10062d: ; 10062d
-	push bc
-	call Function10064e
-	pop bc
-	ld a, [wcd44]
-	cp b
-	jr nc, .asm_10063a
-	and a
-	ret
-
-.asm_10063a
-	ld a, $fa
-	ld [wcd2b], a
-	scf
-	ret
-; 100641
-
-Function100641: ; 100641
-	xor a
-	ld [wcd44], a
-	ld [wcd45], a
-	ld [wcd46], a
-	ret
-; 10064c
-
-Function10064c: ; 10064c
-	ld c, 1
-
-Function10064e: ; 10064e
-	ld hl, wcd46
-	ld a, [hl]
-	add c
-	cp $3c
-	jr c, .asm_100658
-	xor a
-
-.asm_100658
-	ld [hld], a
-	ret c
-	ld a, [hl]
-	inc a
-	cp $3c
-	jr c, .asm_100661
-	xor a
-
-.asm_100661
-	ld [hld], a
-	ret c
-	inc [hl]
-	ret
-; 100665
-
-Function100665: ; 100665
-	call UpdateTime
-	ld hl, wcd36
-	ld a, [hHours]
-	ld [hli], a
-	ld a, [hMinutes]
-	ld [hli], a
-	ld a, [hSeconds]
-	ld [hl], a
-	ret
-; 100675
-
-Function100675: ; 100675
-	ld hl, wcd2a
-	bit 2, [hl]
-	set 2, [hl]
-	ret nz
-	call Function1006d3
-	ret
-; 100681
-
-Function100681: ; 100681
-	push hl
-	ld hl, wcd2a
-	bit 2, [hl]
-	ld hl, wcd2a
-	set 2, [hl]
-	pop hl
-	jr nz, .asm_100694
-	push hl
-	call Function1006d3
-	pop hl
-.asm_100694
-	ld de, wcd32
-
-Function100697: ; 100697
-	ld a, [de]
-	and a
-	jr nz, .asm_1006bb
-	inc de
-	push de
-	call .asm_1006b4
-	ld de, String1006c2
-	call PlaceString
-	ld h, b
-	ld l, c
-	pop de
-	inc de
-	call .asm_1006b4
-	ld de, String1006c6
-	call PlaceString
-	ret
-
-.asm_1006b4
-	ld bc, $8102
-	call PrintNum
-	ret
-
-.asm_1006bb
-	ld de, String1006ca
-	call PlaceString
-	ret
-; 1006c2
-
-String1006c2: ; 1006c2
-	db "ふん @"
-String1006c6: ; 1006c6
-	db "びょう@"
-String1006ca: ; 1006ca
-	db "1じかんいじょう@"
-; 1006d3
-
-Function1006d3: ; 1006d3
-	call UpdateTime
-	ld de, wcd34
-	ld hl, wcd38
-
-Function1006dc: ; 1006dc
-	ld a, [hld]
-	ld c, a
-	ld a, [hSeconds]
-	sub c
-	jr nc, .asm_1006e5
-	add $3c
-
-.asm_1006e5
-	ld [de], a
-	dec de
-	ld a, [hld]
-	ld c, a
-	ld a, [hMinutes]
-	sbc c
-	jr nc, .asm_1006f0
-	add $3c
-
-.asm_1006f0
-	ld [de], a
-	dec de
-	ld a, [hl]
-	ld c, a
-	ld a, [hHours]
-	sbc c
-	jr nc, .asm_1006fb
-	add $18
-
-.asm_1006fb
-	ld [de], a
-	ret
-; 1006fd
-
-Function1006fd: ; 1006fd
-	ld a, $4
-	ld hl, $a800
-	call GetSRAMBank
-	xor a
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	call CloseSRAM
-	ret
-; 10070d
-
-Function10070d: ; 10070d
-	ld a, $4
-	ld hl, $a800
-	call GetSRAMBank
-	xor a
-	ld [hli], a
-	ld a, $a
-	ld [hli], a
-	xor a
-	ld [hli], a
-	call CloseSRAM
-	ret
-; 100720
-
-Function100720: ; 100720
-	xor a
-	ld [wcd6a], a
-	call UpdateTime
-	ld a, [hHours]
-	ld [wcd72], a
-	ld a, [hMinutes]
-	ld [wcd73], a
-	ld a, [hSeconds]
-	ld [wcd74], a
-	ld a, $4
-	ld hl, $a800
-	call GetSRAMBank
-	ld a, [hli]
-	ld [wcd6c], a
-	ld a, [hli]
-	ld [wcd6d], a
-	ld a, [hli]
-	ld [wcd6e], a
-	call CloseSRAM
-	ld a, [wcd6d]
-	ld [wcd6b], a
-	ret
-; 100754
-
-Function100754: ; 100754
-	call UpdateTime
-	ld a, [hHours]
-	ld [wcd72], a
-	ld a, [hMinutes]
-	ld [wcd73], a
-	ld a, [hSeconds]
-	ld [wcd74], a
-	ld a, [wcd6d]
-	ld [wcd6b], a
-	ld hl, wcd2a
-	res 6, [hl]
-	ret
-; 100772
-
-Function100772: ; 100772
-	push de
-	ld hl, wcd6c
-	ld a, [de]
-	cp [hl]
-	jr c, .asm_10079a
-	jr nz, .asm_10078c
-	inc hl
-	inc de
-	ld a, [de]
-	cp [hl]
-	jr c, .asm_10079a
-	jr nz, .asm_10078c
-	inc hl
-	inc de
-	ld a, [de]
-	cp [hl]
-	jr c, .asm_10079a
-	jr z, .asm_10079a
-
-.asm_10078c
-	pop hl
-	ld a, [hli]
-	ld [wcd6c], a
-	ld a, [hli]
-	ld [wcd6d], a
-	ld a, [hli]
-	ld [wcd6e], a
-	ret
-
-.asm_10079a
-	pop de
-	ret
-; 10079c
-
-
-Function10079c: ; 10079c
-	ld a, [wcd21]
-	cp $1
-	jr nz, .asm_1007f4
-	ld hl, wcd2a
-	bit 5, [hl]
-	jr nz, .asm_1007f4
-	ld hl, wcd2a
-	bit 6, [hl]
-	jr nz, .asm_1007f4
-	ld a, [wcd6a]
-	add c
-	cp $3c
-	jr nc, .asm_1007be
-	ld [wcd6a], a
-	and a
-	ret
-
-.asm_1007be
-	sub $3c
-	ld [wcd6a], a
-	ld d, b
-	push de
-	call Function1007f6
-	pop de
-	jr c, .asm_1007e5
-	ld a, c
-	and a
-	jr nz, .asm_1007e5
-	ld a, b
-	cp $a
-	jr nc, .asm_1007e5
-	ld a, d
-	and a
-	ret z
-	ld a, [wcd6b]
-	cp b
-	ret z
-	ld a, b
-	ld [wcd6b], a
-	call Function1008e0
-	and a
-	ret
-
-.asm_1007e5
-	call Function1008e0
-	ld hl, wcd2a
-	set 4, [hl]
-	ld a, $fc
-	ld [wcd2b], a
-	scf
-	ret
-
-.asm_1007f4
-	and a
-	ret
-; 1007f6
-
-Function1007f6: ; 1007f6
-	call UpdateTime
-	ld hl, wcd74
-	ld de, wcd71
-	call Function1006dc
-	ld a, $4
-	call GetSRAMBank
-	ld hl, $a802
-	call Function100826
-	call CloseSRAM
-	ld hl, wcd6e
-	call Function100826
-	ld a, [hHours]
-	ld [wcd72], a
-	ld a, [hMinutes]
-	ld [wcd73], a
-	ld a, [hSeconds]
-	ld [wcd74], a
-	ret
-; 100826
-
-Function100826: ; 100826
-	ld a, [wcd71]
-	add [hl]
-	sub $3c
-	jr nc, .asm_100830
-	add $3c
-
-.asm_100830
-	ld [hld], a
-	ccf
-	ld a, [BGMapBufferPtrs]
-	adc [hl]
-	sub $3c
-	jr nc, .asm_10083c
-	add $3c
-
-.asm_10083c
-	ld [hld], a
-	ld b, a
-	ccf
-	ld a, [wcd6f]
-	adc [hl]
-	ld [hl], a
-	ld c, a
-	ret
-; 100846
-
-Function100846: ; 100846
-	ld hl, wcd2a
-	bit 5, [hl]
-	jr nz, .asm_10087c
-	ld a, [wcd6e]
-	ld c, a
-	ld a, $0
-	sub c
-	jr nc, .asm_100858
-	add $3c
-
-.asm_100858
-	ld [StringBuffer2 + 2], a
-	ld a, [wcd6d]
-	ld c, a
-	ld a, $a
-	sbc c
-	ld [StringBuffer2 + 1], a
-	xor a
-	ld [StringBuffer2], a
-	ld de, String_10088e
-	hlcoord 1, 14
-	call PlaceString
-	ld de, StringBuffer2
-	hlcoord 4, 16
-	call Function100697
-	ret
-
-.asm_10087c
-	ld de, String_10088e
-	hlcoord 1, 14
-	call PlaceString
-	ld h, b
-	ld l, c
-	ld de, String_10089f
-	call PlaceString
-	ret
-; 10088e
-
-String_10088e: ; 10088e
-	db   "モバイルたいせん できる"
-	next "じかん@"
-; 10089f
-
-String_10089f: ; 10089f
-	db " むせいげん@"
-; 1008a6
-
-Function1008a6: ; 1008a6
-	ld a, $4
-	ld hl, $a800
-	call GetSRAMBank
-	ld a, [hli]
-	ld [StringBuffer2], a
-	ld a, [hli]
-	ld [StringBuffer2 + 1], a
-	ld a, [hli]
-	ld [StringBuffer2 + 2], a
-	call CloseSRAM
-	ld a, [StringBuffer2 + 2]
-	ld b, a
-	ld a, $0
-	sub b
-	jr nc, .asm_1008c8
-	add $3c
-
-.asm_1008c8
-	ld b, a
-	ld a, [StringBuffer2 + 1]
-	ld c, a
-	ld a, $a
-	sbc c
-	ld c, a
-	jr c, .asm_1008da
-	ld a, [StringBuffer2]
-	and a
-	jr nz, .asm_1008da
-	ret
-
-.asm_1008da
-	call Function10070d
-	ld c, $0
-	ret
-; 1008e0
-
-
-Function1008e0: ; 1008e0
-	ld a, [hBGMapMode]
-	ld b, a
-	ld a, [hVBlank]
-	ld c, a
-	push bc
-	xor a
-	ld [hBGMapMode], a
-	ld a, $3
-	ld [hVBlank], a
-	call Function100970
-	call Function100902
-	call Function100989
-	call DelayFrame
-	pop bc
-	ld a, c
-	ld [hVBlank], a
-	ld a, b
-	ld [hBGMapMode], a
-	ret
-; 100902
-
-Function100902: ; 100902
-	hlcoord 3, 10
-	ld b, $1
-	ld c, $b
-	call TextBox
-	ld a, [wcd6d]
-	ld c, a
-	ld a, $a
-	sub c
-	ld [StringBuffer2], a
-	jr z, .asm_10093f
-	ld de, .string_100966
-	hlcoord 4, 11
-	call PlaceString
-	hlcoord 8, 11
-	ld bc, $0102
-	ld de, StringBuffer2
-	call PrintNum
-	ld de, SFX_TWO_PC_BEEPS
-	call PlaySFX
-	callba Function104061
-	ld c, $3c
-	call DelayFrames
-	ret
-
-.asm_10093f
-	ld de, .string_10095a
-	hlcoord 4, 11
-	call PlaceString
-	ld de, SFX_4_NOTE_DITTY
-	call PlaySFX
-	callba Function104061
-	ld c, $78
-	call DelayFrames
-	ret
-; 10095a
-
-.string_10095a ; 10095a
-	db "たいせん しゅうりょう@"
-.string_100966 ; 100966
-	db "のこり   ふん", $e7, "@"
-; 100970
-
-
-Function100970: ; 100970
-	ld hl, TileMap
-	ld de, wdc00
-	call Function1009a5
-	ld hl, AttrMap
-	ld de, $dd68
-	call Function1009a5
-	call Function1009d2
-	call Function1009ae
-	ret
-; 100989
-
-Function100989: ; 100989
-	ld hl, wdc00
-	ld de, TileMap
-	call Function1009a5
-	call Function1009ae
-	callba Function104061
-	ld hl, $dd68
-	ld de, AttrMap
-	call Function1009a5
-	ret
-; 1009a5
-
-Function1009a5: ; 1009a5
-	ld bc, $0168
-	ld a, $3
-	call FarCopyWRAM
-	ret
-; 1009ae
-
-Function1009ae: ; 1009ae
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-	ld hl, $d800
-	ld de, AttrMap
-	ld c, $14
-	ld b, $12
-.asm_1009bf
-	push bc
-.asm_1009c0
-	ld a, [hli]
-	ld [de], a
-	inc de
-	dec c
-	jr nz, .asm_1009c0
-	ld bc, $000c
-	add hl, bc
-	pop bc
-	dec b
-	jr nz, .asm_1009bf
-	pop af
-	ld [rSVBK], a
-	ret
-; 1009d2
-
-Function1009d2: ; 1009d2
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-	ld a, [rVBK]
-	push af
-	ld a, $1
-	ld [rVBK], a
-	ld hl, $d800
-	ld de, VBGMap0
-	lb bc, $3, $24
-	call Get2bpp
-	pop af
-	ld [rVBK], a
-	pop af
-	ld [rSVBK], a
-	ret
-; 1009f3
-
-Function1009f3: ; 1009f3
-	ld a, [hJoyDown]
-	and SELECT + A_BUTTON
-	cp SELECT + A_BUTTON
-	jr nz, .asm_100a07
-	ld hl, wcd2a
-	set 4, [hl]
-	ld a, $f8
-	ld [wcd2b], a
-	scf
-	ret
-
-.asm_100a07
-	xor a
-	ret
-; 100a09
-
-Function100a09: ; 100a09
-	call Function100a2e
-	ld [wd431], a
-	callba Function4000
-	ld a, [InLinkBattle]
-	cp $4
-	jr nz, .asm_100a2a
-	call Function100a87
-	call Function100da5
-	callba Function3ee27
-	jr .asm_100a2d
-
-.asm_100a2a
-	call Function100a53
-
-.asm_100a2d
-	ret
-; 100a2e
-
-Function100a2e: ; 100a2e
-	ld a, [wd0ec]
-	and a
-	jr nz, .asm_100a48
-	ld a, [CurPlayerMove]
-	ld b, $e
-	cp STRUGGLE
-	jr z, .asm_100a4f
-	ld b, $d
-	cp $ff
-	jr z, .asm_100a4f
-	ld a, [CurMoveNum]
-	jr .asm_100a50
-
-.asm_100a48
-	ld a, [CurPartyMon]
-	add $4
-	jr .asm_100a50
-
-.asm_100a4f
-	ld a, b
-
-.asm_100a50
-	and $f
-	ret
-; 100a53
-
-Function100a53: ; 100a53
-	ld a, [wd431]
-	ld [wcf56], a
-	ld a, $ff
-	ld [wcf52], a
-.asm_100a5e
-	call Function8c1
-	call DelayFrame
-	ld a, [wcf52]
-	inc a
-	jr z, .asm_100a5e
-	ld b, $a
-.asm_100a6c
-	call DelayFrame
-	call Function8c1
-	dec b
-	jr nz, .asm_100a6c
-	ld b, $a
-.asm_100a77
-	call DelayFrame
-	call Function908
-	dec b
-	jr nz, .asm_100a77
-	ld a, [wcf52]
-	ld [wd430], a
-	ret
-; 100a87
-
-Function100a87: ; 100a87
-	call Function100acf
-	call Function100641
-	ld a, $0
-	ld [wcd27], a
-.asm_100a92
-	call DelayFrame
-	call GetJoypad
-	callba Function100382
-	ld c, $1
-	ld b, $3
-	push bc
-	call Function10062d
-	pop bc
-	jr c, .asm_100ac7
-	ld b, $1
-	call Function10079c
-	jr c, .asm_100ac7
-	call Function1009f3
-	jr c, .asm_100ac7
-	ld a, [wcd2b]
-	and a
-	jr nz, .asm_100ac7
-	ld a, [wcd27]
-	bit 7, a
-	jr z, .asm_100a92
-	call Function100ae7
-	jr .asm_100ace
-
-.asm_100ac7
-	ld a, $f
-	ld [wd430], a
-	jr .asm_100ace
-
-.asm_100ace
-	ret
-; 100acf
-
-Function100acf: ; 100acf
-	ld de, Unknown_100b0a
-	ld hl, wccb5
-	ld a, [wd431]
-	ld [hli], a
-	ld c, $1
-.asm_100adb
-	ld a, [de]
-	inc de
-	ld [hli], a
-	inc c
-	and a
-	jr nz, .asm_100adb
-	ld a, c
-	ld [wccb4], a
-	ret
-; 100ae7
-
-Function100ae7: ; 100ae7
-	ld de, Unknown_100b0a
-	ld hl, wcc62
-.asm_100aed
-	ld a, [de]
-	inc de
-	and a
-	jr z, .asm_100af8
-	cp [hl]
-	jr nz, .asm_100aff
-	inc hl
-	jr .asm_100aed
-
-.asm_100af8
-	ld a, [wcc61]
-	ld [wd430], a
-	ret
-
-.asm_100aff
-	ld a, $f
-	ld [wd430], a
-	ld a, $f1
-	ld [wcd2b], a
-	ret
-; 100b0a
-
-
-SECTION "tetsuji", ROMX, BANK[$40]
-
-	charmap " ", $20 ; revert to ascii
-
-Unknown_100b0a: ; 100b0a
-	db "tetsuji", 0
-; 100b12
-
-
-SECTION "bank40_2", ROMX, BANK[$40]
-
-Function100b12: ; 100b12
-	call Function100dd8
-	ret c
-	ld hl, BattleMenuDataHeader
-	ld a, BANK(BattleMenuDataHeader)
-	ld de, LoadMenuDataHeader
-	call FarCall_de
-	ld a, BANK(BattleMenuDataHeader)
-	ld [wcf94], a
-	ld a, [wd0d2]
-	ld [wcf88], a
-	call Function100e72
-	call Function100b45
-	callba Function8e85
-	call Function100ed4
-	ld a, [wcf88]
-	ld [wd0d2], a
-	call Function1c07
-	ret
-; 100b45
-
-Function100b45: ; 100b45
-	call Function100b7a
-.asm_100b48
-	call Function100dd2
-	callba Function241ba
-	push bc
-	callba Function10402d
-	call Function100e2d
-	pop bc
-	jr c, .asm_100b6b
-	ld a, [wcfa8]
-	and c
-	jr z, .asm_100b48
-	callba Function24098
-	ret
-
-.asm_100b6b
-	ld a, [wcfa4]
-	ld c, a
-	ld a, [wcfa3]
-	call SimpleMultiply
-	ld [wcf88], a
-	and a
-	ret
-; 100b7a
-
-Function100b7a: ; 100b7a
-	ld hl, Function1c66
-	ld a, [wcf94]
-	rst FarCall
-	callba Function24085
-	callba MobileTextBorder
-	call Function1ad2
-	call Function321c
-	callba Function2411a
-	ld hl, wcfa5
-	set 7, [hl]
-	ret
-; 100b9f
-
-Function100b9f: ; 100b9f
-	xor a
-	ld [wd0e3], a
-	callba Function3e786
-	ret z
-	call Function100dd8
-	jp c, Function2ec8
-	call Function100e72
-	call Function100bc2
-	push af
-	callba Function8e85
-	call Function100ed4
-	pop af
-	ret
-; 100bc2
-
-Function100bc2: ; 100bc2
-	xor a
-	ld [hBGMapMode], a
-	call Function100c74
-	call Function100c98
-.asm_100bcb
-	callba MoveInfoBox
-.asm_100bd1
-	call Function100dd2
-	callba Function241ba
-	push bc
-	callba Function10402d
-	call Function100e2d
-	pop bc
-	jr c, .asm_100c25
-	ld a, [wcfa8]
-	and c
-	bit 6, a
-	jp nz, .asm_100bff
-	bit 7, a
-	jp nz, .asm_100c10
-	bit 0, a
-	jr nz, .asm_100c30
-	bit 1, a
-	jr nz, .asm_100c25
-	jr .asm_100bd1
-
-.asm_100bff
-	ld a, [wcfa9]
-	and a
-	jp nz, .asm_100bcb
-	ld a, [wd0eb]
-	inc a
-	ld [wcfa9], a
-	jp .asm_100bcb
-
-.asm_100c10
-	ld a, [wcfa9]
-	ld b, a
-	ld a, [wd0eb]
-	inc a
-	inc a
-	cp b
-	jp nz, .asm_100bcb
-	ld a, $1
-	ld [wcfa9], a
-	jp .asm_100bcb
-
-.asm_100c25
-	ld a, [wcfa9]
-	dec a
-	ld [CurMoveNum], a
-	ld a, $1
-	and a
-	ret
-
-.asm_100c30
-	ld a, [wcfa9]
-	dec a
-	ld [CurMoveNum], a
-	ld a, [wcfa9]
-	dec a
-	ld c, a
-	ld b, 0
-	ld hl, BattleMonPP
-	add hl, bc
-	ld a, [hl]
-	and $3f
-	jr z, .asm_100c68
-	ld a, [PlayerDisableCount]
-	swap a
-	and $f
-	dec a
-	cp c
-	jr z, .asm_100c63
-	ld a, [wcfa9]
-	dec a
-	ld c, a
-	ld b, 0
-	ld hl, BattleMonMoves
-	add hl, bc
-	ld a, [hl]
-	ld [CurPlayerMove], a
-	xor a
-	ret
-
-.asm_100c63
-	ld hl, BattleText_0x80c5b
-	jr .asm_100c6b
-
-.asm_100c68
-	ld hl, BattleText_0x80c39
-
-.asm_100c6b
-	call StdBattleTextBox
-	call Function30b4
-	jp Function100bc2
-; 100c74
-
-Function100c74: ; 100c74
-	hlcoord 0, 8
-	ld b, 8
-	ld c, 8
-	call TextBox
-	ld hl, BattleMonMoves
-	ld de, wd25e
-	ld bc, NUM_MOVES
-	call CopyBytes
-	ld a, SCREEN_WIDTH * 2
-	ld [Buffer1], a
-	hlcoord 2, 10
-	predef ListMoves
-	ret
-; 100c98
-
-Function100c98: ; 100c98
-	ld de, Unknown_100cad
-	call Function1bb1
-	ld a, [wd0eb]
-	inc a
-	ld [wcfa3], a
-	ld a, [CurMoveNum]
-	inc a
-	ld [wcfa9], a
-	ret
-; 100cad
-
-Unknown_100cad: ; 100cad
-INCBIN "baserom.gbc",$100cad,$100cb5 - $100cad
-
-
-Function100cb5: ; 100cb5
-	call Function100dd8
-	ret c
-	ld hl, wcfa5
-	set 7, [hl]
-	res 6, [hl]
-.asm_100cc0
-	call Function100dd2
-	callba Function241ba
-	push bc
-	callba Function8cf69
-	callba Function10402d
-	call Function100dfd
-	pop bc
-	jr c, .asm_100d17
-	ld a, [wcfa8]
-	and c
-	jr z, .asm_100cc0
-	call Function1bee
-	ld a, [PartyCount]
-	inc a
-	ld b, a
-	ld a, [wcfa9]
-	cp b
-	jr z, .asm_100d17
-	ld [wd0d8], a
-	ld a, [$ffa9]
-	ld b, a
-	bit 1, b
-	jr nz, .asm_100d17
-	ld a, [wcfa9]
-	dec a
-	ld [CurPartyMon], a
-	ld c, a
-	ld b, $0
-	ld hl, PartySpecies
-	add hl, bc
-	ld a, [hl]
-	ld [CurPartySpecies], a
-	ld de, SFX_READ_TEXT_2
-	call PlaySFX
-	call WaitSFX
-	and a
-	ret
-
-.asm_100d17
-	ld de, SFX_READ_TEXT_2
-	call PlaySFX
-	call WaitSFX
-	scf
-	ret
-; 100d22
-
-Function100d22: ; 100d22
-	call Function100dd8
-	ret c
-	call Function100d67
-	ld hl, wcfa5
-	set 7, [hl]
-	res 6, [hl]
-.asm_100d30
-	call Function100dd2
-	callba Function241ba
-	push bc
-	callba Function8cf69
-	callba Function10402d
-	call Function100dfd
-	pop bc
-	jr c, .asm_100d54
-	ld a, [wcfa8]
-	and c
-	jr nz, .asm_100d56
-	jr .asm_100d30
-
-.asm_100d54
-	scf
-	ret
-
-.asm_100d56
-	push af
-	ld de, SFX_READ_TEXT_2
-	call PlaySFX
-	pop af
-	bit 1, a
-	jr z, .asm_100d65
-	ret z
-	scf
-	ret
-
-.asm_100d65
-	and a
-	ret
-; 100d67
-
-Function100d67: ; 100d67
-	ld hl, MenuDataHeader_100d88
-	call Function1d3c
-	xor a
-	ld [hBGMapMode], a
-	call Function1cbb
-	call Function1ad2
-	call Function1c89
-	call WaitBGMap
-	call Function1c66
-	call Function1c10
-	ld hl, wcfa5
-	set 6, [hl]
-	ret
-; 100d88
-
-MenuDataHeader_100d88: ; 100d88
-	db 0 ; flags
-	db 11, 11 ; start coords
-	db 17, 19 ; end coords
-	dw MenuData2_100d90
-	db 1 ; default option
-
-MenuData2_100d90: ; 100d90
-	db $c0 ; flags
-	db 3
-	db "いれかえる@"
-	db "つよさをみる@"
-	db "キャンセル@"
-; 100da5
-
-Function100da5: ; 100da5
-	ld hl, wcd2a
-	res 3, [hl]
-	ld hl, wcd29
-	res 0, [hl]
-	ret
-; 100db0
-
-Function100db0: ; 100db0
-	ld hl, wcd2a
-	bit 3, [hl]
-	jr nz, .asm_100dbe
-	ld hl, wcd2a
-	set 3, [hl]
-	scf
-	ret
-
-.asm_100dbe
-	xor a
-	ret
-; 100dc0
-
-
-
-Function100dc0: ; 100dc0
-	ld a, [InLinkBattle]
-	cp $4
-	jr nz, .asm_100dd0
-	ld hl, wcd2a
-	bit 3, [hl]
-	jr z, .asm_100dd0
-	scf
-	ret
-
-.asm_100dd0
-	xor a
-	ret
-; 100dd2
-
-Function100dd2: ; 100dd2
-	ld a, 30
-	ld [OverworldDelay], a
-	ret
-; 100dd8
-
-Function100dd8: ; 100dd8
-	ld c, $1
-	ld b, $3
-	callba Function10062d
-	jr c, .asm_100dfb
-	ld c, $3c
-	ld b, $1
-	call Function10079c
-	jr c, .asm_100dfb
-	callba Function10032e
-	ld a, [wcd2b]
-	and a
-	jr nz, .asm_100dfb
-	xor a
-	ret
-
-.asm_100dfb
-	scf
-	ret
-; 100dfd
-
-Function100dfd: ; 100dfd
-	ld a, [OverworldDelay]
-	ld c, a
-	ld a, 30
-	sub c
-	ld c, a
-	ld b, 3
-	push bc
-	callba Function10062d
-	pop bc
-	jr c, .asm_100e2b
-	ld b, 1
-	call Function10079c
-	jr c, .asm_100e2b
-	call Function1009f3
-	jr c, .asm_100e2b
-	callba Function10032e
-	ld a, [wcd2b]
-	and a
-	jr nz, .asm_100e2b
-	xor a
-	ret
-
-.asm_100e2b
-	scf
-	ret
-; 100e2d
-
-Function100e2d: ; 100e2d
-	ld a, [OverworldDelay]
-	ld c, a
-	ld a, 30
-	sub c
-	ld c, a
-	ld b, 3
-	push bc
-	callba Function10062d
-	pop bc
-	jr c, .asm_100e61
-	ld b, 1
-	call Function10079c
-	jr c, .asm_100e61
-	call Function1009f3
-	jr c, .asm_100e61
-	callba Function10032e
-	ld a, [wcd2b]
-	and a
-	jr nz, .asm_100e61
-	call Function100e63
-	call Function100e84
-	xor a
-	ret
-
-.asm_100e61
-	scf
-	ret
-; 100e63
-
-Function100e63: ; 100e63
-	ld a, e
-	cp $2
-	ret nz
-	call Function100db0
-	ret nc
-	ld de, SFX_ELEVATOR_END
-	call PlaySFX
-	ret
-; 100e72
-
-Function100e72: ; 100e72
-	xor a
-	ld hl, wcd29
-	bit 0, [hl]
-	jr z, .asm_100e7c
-	ld a, $a
-
-.asm_100e7c
-	ld [wcd67], a
-	xor a
-	ld [wcd68], a
-	ret
-; 100e84
-
-Function100e84: ; 100e84
-	ld a, [wcd67]
-	ld hl, Jumptable_100e8c
-	rst JumpTable
-	ret
-; 100e8c
-
-
-Jumptable_100e8c: ; 100e8c (40:4e8c)
-	dw Function100ea2
-	dw Function100eae
-	dw Function100eb4
-	dw Function100eae
-	dw Function100eb4
-	dw Function100eae
-	dw Function100eb4
-	dw Function100eae
-	dw Function100eb4
-	dw Function100eae
-	dw Function100ec4
-
-
-Function100ea2: ; 100ea2 (40:4ea2)
-	call Function100dc0
-	ret nc
-	ld hl, wcd29
-	set 0, [hl]
-	call Function100ec5
-
-
-Function100eae: ; 100eae
-	scf
-	call Function100eca
-	jr asm_100eb8
-
-Function100eb4: ; 100eb4
-	and a
-	call Function100eca
-
-asm_100eb8
-	ld hl, wcd68
-	inc [hl]
-	ld a, [hl]
-	cp $2
-	ret c
-	ld [hl], $0
-	jr Function100ec5
-
-Function100ec4: ; 100ec4
-	ret
-
-Function100ec5
-	ld hl, wcd67
-	inc [hl]
-	ret
-; 100eca
-
-Function100eca: ; 100eca
-	callba Function8e8b
-	call Function100ed4
-	ret
-; 100ed4
-
-Function100ed4: ; 100ed4
-	callba Function96a4
-	ld a, $1
-	ld [hCGBPalUpdate], a
-	ret
-; 100edf
-
-Function100edf: ; 100edf
-	ld hl, Unknown_100fc0
-	ld c, 1
-	jr asm_100f02
-
-Function100ee6: ; 100ee6
-	ld hl, Unknown_100fc0
-	ld c, 2
-	jr asm_100f02
-
-Function100eed: ; 100eed
-	ld hl, Unknown_100feb
-	ld c, 1
-	jr asm_100f02
-
-Function100ef4: ; 100ef4
-	ld hl, Unknown_100ff3
-	ld c, 1
-	jr asm_100f02
-
-Function100efb: ; 100efb
-	ld hl, Unknown_10102c
-	ld c, 1
-	jr asm_100f02
-
-asm_100f02:
-	ld a, c
-	ld [StringBuffer2], a
-	ld a, e
-	ld [StringBuffer2 + 1], a
-	ld a, d
-	ld [StringBuffer2 + 2], a
-	xor a
-	ld [StringBuffer2 + 4], a
-	ld [StringBuffer2 + 5], a
-.asm_100f15
-	ld a, [hl]
-	cp $ff
-	jr z, .asm_100f34
-	ld [StringBuffer2 + 3], a
-	push hl
-	inc hl
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	call Function100f3d
-	pop hl
-	ld de, $0007
-	add hl, de
-	jr .asm_100f15
-
-.asm_100f34
-	ld a, [StringBuffer2 + 4]
-	ld c, a
-	ld a, [StringBuffer2 + 5]
-	ld b, a
-	ret
-; 100f3d
-
-Function100f3d: ; 100f3d
-	ld a, [StringBuffer2]
-	cp $2
-	jr z, .asm_100f61
-	cp $1
-	jr z, .asm_100f77
-	cp $3
-	jr z, .asm_100f4d
-	ret
-
-.asm_100f4d
-	ld a, [StringBuffer2 + 1]
-	ld l, a
-	ld a, [StringBuffer2 + 2]
-	ld h, a
-	call Function100f8d
-	ld a, l
-	ld [StringBuffer2 + 1], a
-	ld a, h
-	ld [StringBuffer2 + 2], a
-	ret
-
-.asm_100f61
-	ld d, h
-	ld e, l
-	ld a, [StringBuffer2 + 1]
-	ld l, a
-	ld a, [StringBuffer2 + 2]
-	ld h, a
-	call Function100f8d
-	ld a, l
-	ld [StringBuffer2 + 1], a
-	ld a, h
-	ld [StringBuffer2 + 2], a
-	ret
-
-.asm_100f77
-	ld h, d
-	ld l, e
-	ld a, [StringBuffer2 + 1]
-	ld e, a
-	ld a, [StringBuffer2 + 2]
-	ld d, a
-	call Function100f8d
-	ld a, e
-	ld [StringBuffer2 + 1], a
-	ld a, d
-	ld [StringBuffer2 + 2], a
-	ret
-; 100f8d
-
-Function100f8d: ; 100f8d
-	push hl
-	ld a, [StringBuffer2 + 4]
-	ld l, a
-	ld a, [StringBuffer2 + 5]
-	ld h, a
-	add hl, bc
-	ld a, l
-	ld [StringBuffer2 + 4], a
-	ld a, h
-	ld [StringBuffer2 + 5], a
-	pop hl
-	ld a, [StringBuffer2 + 3]
-	bit 7, a
-	res 7, a
-	jr z, .asm_100fb6
-	and a
-	jr nz, .asm_100fb0
-	call CopyBytes
-	ret
-
-.asm_100fb0
-	and $7f
-	call FarCopyWRAM
-	ret
-
-.asm_100fb6
-	call GetSRAMBank
-	call CopyBytes
-	call CloseSRAM
-	ret
-; 100fc0
-
-Unknown_100fc0: ; 100fc0
-	dbwww $80, PlayerName, NAME_LENGTH, wd26b
-	dbwww $80, PartyCount, 1 + PARTY_LENGTH + 1, OTPartyCount
-	dbwww $80, PlayerID, 2, wd276
-	dbwww $80, PartyMons, $30 * PARTY_LENGTH, OTPartyMons
-	dbwww $80, PartyMonOT, NAME_LENGTH * PARTY_LENGTH, OTPartyMonOT
-	dbwww $80, PartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, OTPartyMonNicknames
-	db -1
-
-Unknown_100feb: ; 100feb
-	dbwww $00, $a600, $2f * PARTY_LENGTH, NULL
-	db -1
-
-Unknown_100ff3: ; 100ff3
-	dbwww $80, wdc41, 1, NULL
-	dbwww $80, PlayerName, NAME_LENGTH, NULL
-	dbwww $80, PlayerName, NAME_LENGTH, NULL
-	dbwww $80, PlayerID, 2, NULL
-	dbwww $80, wd84a, 2, NULL
-	dbwww $80, PlayerGender, 1, NULL
-	dbwww $04, $a603, 8, NULL
-	dbwww $04, $a007, $30, NULL
-	db -1
-
-Unknown_10102c: ; 10102c
-	dbwww $80, wd26b, 11, NULL
-	dbwww $80, wd276, 2, NULL
-	dbwww $80, OTPartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, NULL
-	dbwww $80, OTPartyMonOT, NAME_LENGTH * PARTY_LENGTH, NULL
-	dbwww $80, OTPartyMons, $30 * PARTY_LENGTH, NULL
-	db -1
-; 10104f
-
-Function101050: ; 101050
-	call Function10107d
-	ld a, [OTPartyCount]
-	ld hl, $c608
-	ld hl, $c608
-	ld bc, $01b3
-	call Function1010de
-	ld hl, wc7bb
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	ld a, $7
-	call GetSRAMBank
-	ld hl, $c608
-	ld de, $a001
-	ld bc, $01b5
-	call CopyBytes
-	call CloseSRAM
-	ret
-; 10107d
-
-Function10107d: ; 10107d
-	xor a
-	ld hl, $c608
-	ld bc, $01b5
-	call ByteFill
-	ld hl, wd26b
-	ld de, $c608
-	ld bc, $000b
-	call CopyBytes
-	ld hl, wd271
-	ld a, [hli]
-	ld [$c608 + 11], a
-	ld a, [hl]
-	ld [$c608 + 12], a
-	ld hl, OTPartyMonNicknames
-	ld de, $c608 + 13
-	ld bc, $000b
-	call Function1010cd
-	ld hl, OTPartyMonOT
-	ld de, $c656 + 1
-	ld bc, $000b
-	call Function1010cd
-	ld hl, OTPartyMon1Species
-	ld de, $c68a + 15
-	ld bc, $0030
-	call Function1010cd
-	ld a, $50
-	ld [wc7b9], a
-	ld a, $33
-	ld [wc7ba], a
-	ret
-; 1010cd
-
-Function1010cd: ; 1010cd
-	push hl
-	ld hl, 0
-	ld a, [OTPartyCount]
-	call AddNTimes
-	ld b, h
-	ld c, l
-	pop hl
-	call CopyBytes
-	ret
-; 1010de
-
-Function1010de: ; 1010de
-	push hl
-	push bc
-	ld de, 0
-.asm_1010e3
-	ld a, [hli]
-	add e
-	ld e, a
-	ld a, d
-	adc 0
-	ld d, a
-	dec bc
-	ld a, b
-	or c
-	jr nz, .asm_1010e3
-	pop bc
-	pop hl
-	ret
-; 1010f2
-
-Function1010f2: ; 1010f2
-	xor a
-	ld hl, StringBuffer2
-	ld bc, $0009
-	call ByteFill
-	ld hl, wdc5c
-	ld de, PartyCount
-	call Function101145
-	ld hl, wdc5c
-	ld de, PartyMon1Species
-	call Function10117c
-	ld hl, wdc5c
-	ld de, PartyMonOT
-	call Function101181
-	ld hl, wdc5c
-	ld de, PartyMonNicknames
-	call Function101181
-	ld hl, wcd75
-	ld de, OTPartyCount
-	call Function101145
-	ld hl, wcd75
-	ld de, OTPartyMon1Species
-	call Function10117c
-	ld hl, wcd75
-	ld de, OTPartyMonOT
-	call Function101181
-	ld hl, wcd75
-	ld de, OTPartyMonNicknames
-	call Function101181
-	ret
-; 101145
-
-Function101145: ; 101145
-	push de
-	ld bc, StringBuffer2 + 6
-	xor a
-.asm_10114a
-	push af
-	call Function101168
-	ld [bc], a
-	inc bc
-	pop af
-	inc a
-	cp $3
-	jr nz, .asm_10114a
-	pop de
-	ld a, $3
-	ld [de], a
-	inc de
-	ld hl, StringBuffer2 + 6
-	ld bc, $0003
-	call CopyBytes
-	ld a, $ff
-	ld [de], a
-	ret
-; 101168
-
-Function101168: ; 101168
-	push hl
-	add l
-	ld l, a
-	ld a, h
-	adc $0
-	ld h, a
-	ld a, [hl]
-	pop hl
-	push de
-	inc de
-	add e
-	ld e, a
-	ld a, d
-	adc $0
-	ld d, a
-	ld a, [de]
-	pop de
-	ret
-; 10117c
-
-Function10117c: ; 10117c
-	ld bc, $0030
-	jr asm_101184
-
-Function101181: ; 101181
-	ld bc, $000b
-
-asm_101184:
-	ld a, $c608 % $100
-	ld [StringBuffer2], a
-	ld a, $c608 / $100
-	ld [StringBuffer2 + 1], a
-	ld a, c
-	ld [StringBuffer2 + 2], a
-	ld a, b
-	ld [StringBuffer2 + 3], a
-	ld a, e
-	ld [StringBuffer2 + 4], a
-	ld a, d
-	ld [StringBuffer2 + 5], a
-	ld a, $3
-.asm_1011a0
-	push af
-	ld a, [hli]
-	push hl
-	push af
-	call Function1011df
-	call Function1011e8
-	pop af
-	call AddNTimes
-	ld a, [StringBuffer2]
-	ld e, a
-	ld a, [StringBuffer2 + 1]
-	ld d, a
-	call CopyBytes
-	ld a, e
-	ld [StringBuffer2], a
-	ld a, d
-	ld [StringBuffer2 + 1], a
-	pop hl
-	pop af
-	dec a
-	jr nz, .asm_1011a0
-	call Function1011e8
-	ld a, 3
-	ld hl, 0
-	call AddNTimes
-	ld b, h
-	ld c, l
-	call Function1011df
-	ld d, h
-	ld e, l
-	ld hl, $c608
-	call CopyBytes
-	ret
-; 1011df
-
-Function1011df: ; 1011df
-	ld a, [StringBuffer2 + 4]
-	ld l, a
-	ld a, [StringBuffer2 + 5]
-	ld h, a
-	ret
-; 1011e8
-
-Function1011e8: ; 1011e8
-	ld a, [StringBuffer2 + 2]
-	ld c, a
-	ld a, [StringBuffer2 + 3]
-	ld b, a
-	ret
-; 1011f1
-
-Function1011f1: ; 1011f1
-	ld a, $4
-	call GetSRAMBank
-	ld a, [$a60c]
-	ld [wdc41], a
-	call CloseSRAM
-	ld hl, wdc41
-	res 4, [hl]
-	ld hl, GameTimerPause
-	bit 7, [hl]
-	jr z, .asm_101210
-	ld hl, wdc41
-	set 4, [hl]
-
-.asm_101210
-	call Function10209c
-	xor a
-	ld [wdc5f], a
-	ld [wdc60], a
-	ld a, $4
-	ld [InLinkBattle], a
-	ret
-; 101220
-
-Function101220: ; 101220
-	xor a
-	ld [InLinkBattle], a
-	ret
-; 101225
-
-Function101225: ; 101225
-	ld d, 1
-	ld e, BANK(Jumptable_101297)
-	ld bc, Jumptable_101297
-	call Function100000
-	jr Function10123d
-
-Function101231: ; 101231
-	ld d, 2
-	ld e, BANK(Jumptable_101297)
-	ld bc, Jumptable_101297
-	call Function100000
-	jr Function10123d
-
-Function10123d: ; 10123d
-	xor a
-	ld [ScriptVar], a
-	ld a, c
-	ld hl, Jumptable_101247
-	rst JumpTable
-	ret
-; 101247
-
-Jumptable_101247: ; 101247
-	dw Function101251
-	dw Function10127d
-	dw Function10127c
-	dw Function10126c
-	dw Function101265
-; 101251
-
-Function101251: ; 101251
-	call Function1ad2
-	call ResetWindow
-	ld hl, UnknownText_0x1021f4
-	call Function1021e0
-	call Function1020ea
-	ret c
-	call Function102142
-	ret
-; 101265
-
-Function101265: ; 101265
-	ld hl, UnknownText_0x1021ef
-	call Function1021e0
-	ret
-; 10126c
-
-Function10126c: ; 10126c
-	call Function1ad2
-	callba Script_reloadmappart
-	ld hl, UnknownText_0x1021f4
-	call Function1021e0
-	ret
-; 10127c
-
-Function10127c: ; 10127c
-	ret
-; 10127d
-
-Function10127d: ; 10127d
-	ret
-; 10127e
-
-Function10127e: ; 10127e
-	ld a, [wdc5f]
-	and a
-	jr z, .asm_101290
-	cp $1
-	ld c, $27
-	jr z, .asm_101292
-	cp $2
-	ld c, $37
-	jr z, .asm_101292
-
-.asm_101290
-	ld c, $0
-
-.asm_101292
-	ld a, c
-	ld [wcd25], a
-	ret
-; 101297
-
-Jumptable_101297: ; 101297
-	dw Function101a97
-	dw Function101ab4
-	dw Function101475
-	dw Function101b0f
-	dw Function101438
-	dw Function101b2b
-	dw Function101b59
-	dw Function101475
-	dw Function101b70
-	dw Function101438
-	dw Function101b8f
-	dw Function101d7b
-	dw Function101d95
-	dw Function101475
-	dw Function101db2
-	dw Function101e4f
-	dw Function101475
-	dw Function101e64
-	dw Function101e4f
-	dw Function101475
-	dw Function101e64
-	dw Function101d95
-	dw Function101475
-	dw Function101db2
-	dw Function101dd0
-	dw Function101de3
-	dw Function101e39
-	dw Function101e09
-	dw Function101e4f
-	dw Function101475
-	dw Function101e64
-	dw Function101d95
-	dw Function101475
-	dw Function101db2
-	dw Function101e09
-	dw Function101e31
-	dw Function101bc8
-	dw Function101438
-	dw Function101be5
-	dw Function101ac6
-	dw Function101ab4
-	dw Function101475
-	dw Function101c11
-	dw Function1014f4
-	dw Function101cc8
-	dw Function1014e2
-	dw Function1014e2
-	dw Function101d10
-	dw Function101d2a
-	dw Function101d2a
-	dw Function101507
-	dw Function10156d
-	dw Function101557
-	dw Function10158a
-	dw Function101c42
-	dw Function101aed
-	dw Function101ab4
-	dw Function101475
-	dw Function101c2b
-	dw Function1014f4
-	dw Function101cdf
-	dw Function1014e2
-	dw Function1014e2
-	dw Function101d1e
-	dw Function101d2a
-	dw Function101d2a
-	dw Function101507
-	dw Function10156d
-	dw Function101544
-	dw Function10158a
-	dw Function101c42
-	dw Function101c50
-	dw Function1014ce
-	dw Function101cf6
-	dw Function101826
-	dw Function1017e4
-	dw Function1017f1
-	dw Function1018a8
-	dw Function1018d6
-	dw Function1017e4
-	dw Function1017f1
-	dw Function1018e1
-	dw Function1015df
-	dw Function10167d
-	dw Function10168a
-	dw Function10162a
-	dw Function1015be
-	dw Function10167d
-	dw Function10168a
-	dw Function10161f
-	dw Function10159d
-	dw Function10167d
-	dw Function10168a
-	dw Function101600
-	dw Function101d03
-	dw Function101d6b
-	dw Function10159d
-	dw Function1014ce
-	dw Function10168e
-	dw Function101600
-	dw Function101913
-	dw Function10194b
-	dw Function10196d
-	dw Function1017e4
-	dw Function1017f5
-	dw Function1019ab
-	dw Function101537
-	dw Function101571
-	dw Function101c92
-	dw Function10152a
-	dw Function101571
-	dw Function101a4f
-	dw Function101cbc
-	dw Function101c62
-	dw Function101537
-	dw Function101571
-	dw Function101c92
-	dw Function10152a
-	dw Function101571
-	dw Function101ca0
-	dw Function101475
-	dw Function101cbc
-; 10138b
-
-Function10138b: ; 10138b
-	callba Function8adcc
-	ld c, $0
-	jr c, .asm_101396
-	inc c
-
-.asm_101396
-	sla c
-	ld a, [wcd2f]
-	and a
-	jr z, .asm_10139f
-	inc c
-
-.asm_10139f
-	sla c
-	ld a, [wcd21]
-	cp $1
-	jr z, .asm_1013a9
-	inc c
-
-.asm_1013a9
-	ret
-; 1013aa
-
-Function1013aa: ; 1013aa
-	call WhiteBGMap
-	call Function1d7d
-	call Function2bae
-	callba Function106464
-	call Function1ad2
-	call Function2b5c
-	ret
-; 1013c0
-
-Function1013c0: ; 1013c0
-	callba Function8000
-	callba Function106462
-	callba Function106464
-	call Function2b5c
-	ret
-; 1013d6
-
-Function1013d6: ; 1013d6
-	callba Function104000
-	ret
-; 1013dd
-
-Function1013dd: ; 1013dd
-	call Function3238
-	ret
-; 1013e1
-
-Function1013e1: ; 1013e1 ; unreferenced
-	push de
-	inc de
-	ld b, a
-	ld c, $0
-.asm_1013e6
-	inc c
-	ld a, [hli]
-	ld [de], a
-	inc de
-	and a
-	jr z, .asm_1013f1
-	dec b
-	jr nz, .asm_1013e6
-	scf
-
-.asm_1013f1
-	pop de
-	ld a, c
-	ld [de], a
-	ret
-; 1013f5
-
-Function1013f5: ; 1013f5
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld c, a
-.asm_1013f9
-	ld a, [hli]
-	ld [de], a
-	inc de
-	dec c
-	jr nz, .asm_1013f9
-	ret
-; 101400
-
-Function101400: ; 101400 ; unreferenced
-	ld a, [de]
-	inc de
-	cp [hl]
-	jr nz, asm_101416
-	inc hl
-
-Function101406: ; 101406
-	ld c, a
-	ld b, $0
-.asm_101409
-	ld a, [de]
-	inc de
-	cp [hl]
-	jr nz, asm_101416
-	inc hl
-	dec bc
-	ld a, b
-	or c
-	jr nz, .asm_101409
-	and a
-	ret
-
-asm_101416
-	scf
-	ret
-; 101418
-
-Function101418: ; 101418
-	call GetJoypad
-	ld a, [hJoyDown]
-	and SELECT + A_BUTTON
-	cp SELECT + A_BUTTON
-	jr z, .asm_101425
-	xor a
-	ret
-
-.asm_101425
-	ld a, $f7
-	ld [wcd2b], a
-	scf
-	ret
-; 10142c
-
-Function10142c: ; 10142c
-	ld a, $1
-	ld [wc305], a
-	callba Function115e18
-	ret
-; 101438
-
-Function101438: ; 101438
-	ld hl, wcd29
-	set 6, [hl]
-	ld a, [wcd26]
-	ld hl, Jumptable_101457
-	rst JumpTable
-	ld a, [wcd26]
-	bit 7, a
-	ret z
-	ld a, $0
-	ld [wcd26], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101457
-
-Jumptable_101457: ; 101457
-	dw Function10145b
-	dw Function101467
-; 10145b
-
-Function10145b: ; 10145b
-	ld a, $3c
-	ld [wcd42], a
-	ld a, [wcd26]
-	inc a
-	ld [wcd26], a
-
-Function101467: ; 101467
-	ld hl, wcd42
-	dec [hl]
-	ret nz
-	ld a, [wcd26]
-	set 7, a
-	ld [wcd26], a
-	ret
-; 101475
-
-Function101475: ; 101475
-	ld hl, wcd29
-	set 6, [hl]
-	ld a, [wcd26]
-	ld hl, Jumptable_101494
-	rst JumpTable
-	ld a, [wcd26]
-	bit 7, a
-	ret z
-	ld a, $0
-	ld [wcd26], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101494
-
-Jumptable_101494: ; 101494
-	dw Function10149a
-	dw Function1014a6
-	dw Function1014b7
-; 10149a
-
-Function10149a: ; 10149a
-	ld a, $28
-	ld [wcd42], a
-	ld a, [wcd26]
-	inc a
-	ld [wcd26], a
-
-Function1014a6: ; 1014a6
-	ld hl, wcd42
-	dec [hl]
-	ret nz
-	ld a, $50
-	ld [wcd42], a
-	ld a, [wcd26]
-	inc a
-	ld [wcd26], a
-
-Function1014b7: ; 1014b7
-	call GetJoypad
-	ld a, [hJoyPressed]
-	and $3
-	jr nz, .asm_1014c5
-	ld hl, wcd42
-	dec [hl]
-	ret nz
-
-.asm_1014c5
-	ld a, [wcd26]
-	set 7, a
-	ld [wcd26], a
-	ret
-; 1014ce
-
-Function1014ce: ; 1014ce
-	callba Function100720
-	callba Function100641
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 1014e2
-
-Function1014e2: ; 1014e2
-	ld hl, wcd29
-	set 6, [hl]
-	ld a, $0
-	ld [wcd26], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 1014f4
-
-Function1014f4: ; 1014f4
-	callba Function100082
-	ld hl, wcd29
-	set 6, [hl]
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101507
-
-Function101507: ; 101507
-	ld de, wcd30
-	ld hl, $0040
-	ld bc, $0040
-	ld a, $2
-	call Function3e32
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 10151d
-
-Function10151d: ; 10151d ; unreferenced
-	ld a, $34
-	call Function3e32
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 10152a
-
-Function10152a: ; 10152a
-	ld a, $36
-	call Function3e32
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101537
-
-Function101537: ; 101537
-	ld a, $a
-	call Function3e32
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101544
-
-Function101544: ; 101544
-	callba Function100641
-	ld a, $12
-	call Function3e32
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101557
-
-Function101557: ; 101557
-	callba Function100641
-	ld hl, wcd53
-	ld a, $8
-	call Function3e32
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 10156d
-
-Function10156d: ; 10156d
-	call Function101418
-	ret c
-
-Function101571: ; 101571
-	callba Function10032e
-	ret c
-	ret z
-	ld a, e
-	cp $1
-	jr z, .asm_101582
-	ld [wcd2b], a
-	ret
-
-.asm_101582
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 10158a
-
-Function10158a: ; 10158a
-	callba Function10064c
-	ld a, [wcd44]
-	cp $a
-	jr c, Function10156d
-	ld a, $fb
-	ld [wcd2b], a
-	ret
-; 10159d
-
-Function10159d: ; 10159d
-	ld de, $c608
-	callba Function100edf
-	ld de, $c608
-	ld a, $5
-	ld hl, $d800
-	call Function10174c
-	ld a, $0
-	ld [wcd26], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 1015be
-
-Function1015be: ; 1015be
-	ld de, $c608
-	callba Function100eed
-	ld de, $c608
-	ld a, $5
-	ld hl, $d800
-	call Function10174c
-	ld a, $0
-	ld [wcd26], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 1015df
-
-Function1015df: ; 1015df
-	ld de, $c608
-	callba Function100ef4
-	ld de, $c608
-	ld a, $5
-	ld hl, $d800
-	call Function10174c
-	ld a, $0
-	ld [wcd26], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101600
-
-Function101600: ; 101600
-	ld hl, $d800
-	ld de, $c608
-	ld bc, $01e0
-	ld a, $5
-	call FarCopyWRAM
-	ld de, $c608
-	callba Function100ee6
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 10161f
-
-Function10161f: ; 10161f
-	call Function101649
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 10162a
-
-Function10162a: ; 10162a
-	call Function101663
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101635
-
-Function101635: ; 101635
-	ld de, $c608
-	ld bc, $01e0
-	call FarCopyWRAM
-	ret
-; 10163f
-
-Function10163f: ; 10163f
-	ld hl, $c608
-	ld bc, $01e0
-	call FarCopyWRAM
-	ret
-; 101649
-
-Function101649: ; 101649
-	ld a, $5
-	ld hl, $d800
-	call Function101635
-	ld a, $5
-	ld de, wda00
-	call Function10163f
-	ret
-; 10165a
-
-Function10165a: ; 10165a
-	ld a, $5
-	ld hl, wda00
-	call Function101635
-	ret
-; 101663
-
-Function101663: ; 101663
-	ld a, $5
-	ld hl, $d800
-	call Function101635
-	ld a, $5
-	ld de, wdc00
-	call Function10163f
-	ret
-; 101674
-
-Function101674: ; 101674 ; unreferenced
-	ld a, $5
-	ld hl, wdc00
-	call Function101635
-	ret
-; 10167d
-
-Function10167d: ; 10167d
-	ld a, $0
-	ld [wcd26], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 10168a
-
-Function10168a: ; 10168a
-	call Function101418
-	ret c
-
-Function10168e: ; 10168e
-	ld b, $0
-	ld c, $1
-	callba Function10079c
-	ret c
-	ld c, $1
-	ld b, $3
-	callba Function10062d
-	ret c
-	ld a, [wcd26]
-	ld hl, Jumptable_1016c3
-	rst JumpTable
-	ld hl, wcd29
-	set 6, [hl]
-	ld a, [wcd26]
-	bit 7, a
-	ret z
-	ld a, $0
-	ld [wcd26], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 1016c3
-
-Jumptable_1016c3: ; 1016c3
-	dw Function1016cf
-	dw Function1016de
-	dw Function1016f8
-	dw Function101705
-	dw Function101719
-	dw Function101724
-; 1016cf
-
-Function1016cf: ; 1016cf
-	ld hl, wcd3a
-	inc [hl]
-	call Function10176f
-	ld a, [wcd26]
-	inc a
-	ld [wcd26], a
-	ret
-; 1016de
-
-Function1016de: ; 1016de
-	call Function10177b
-	jr nc, .asm_1016eb
-	ld a, [wcd26]
-	inc a
-	ld [wcd26], a
-	ret
-
-.asm_1016eb
-	ld a, $ff
-	ld [wcd39], a
-	ld a, [wcd26]
-	inc a
-	ld [wcd26], a
-	ret
-; 1016f8
-
-Function1016f8: ; 1016f8
-	ld a, $0
-	ld [wcd27], a
-	ld a, [wcd26]
-	inc a
-	ld [wcd26], a
-	ret
-; 101705
-
-Function101705: ; 101705
-	callba Function100382
-	ld a, [wcd27]
-	bit 7, a
-	ret z
-	ld a, [wcd26]
-	inc a
-	ld [wcd26], a
-	ret
-; 101719
-
-Function101719: ; 101719
-	call Function1017c7
-	ld a, [wcd26]
-	inc a
-	ld [wcd26], a
-	ret
-; 101724
-
-Function101724: ; 101724
-	ld a, [wcd39]
-	cp $ff
-	jr z, .asm_101731
-	ld a, $0
-	ld [wcd26], a
-	ret
-
-.asm_101731
-	ld a, [wcd26]
-	set 7, a
-	ld [wcd26], a
-	ret
-; 10173a
-
-Unknown_10173a:
-	db $50
-
-Function10173b: ; 10173b
-	push bc
-	push af
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld a, [Unknown_10173a]
-	ld c, a
-	ld b, $0
-	pop af
-	call AddNTimes
-	pop bc
-	ret
-; 10174c
-
-Function10174c: ; 10174c
-	ld [wcd3d], a
-	ld a, l
-	ld [wcd3e], a
-	ld a, h
-	ld [wcd3f], a
-	ld a, e
-	ld [wcd3b], a
-	ld a, d
-	ld [wcd3c], a
-	ld a, c
-	ld [wcd40], a
-	ld a, b
-	ld [wcd41], a
-	xor a
-	ld [wcd39], a
-	ld [wcd3a], a
-	ret
-; 10176f
-
-Function10176f: ; 10176f
-	ld hl, wccb4
-	ld bc, $0054
-	ld a, $11
-	call ByteFill
-	ret
-; 10177b
-
-Function10177b: ; 10177b
-	ld a, [Unknown_10173a]
-	ld c, a
-	ld b, $0
-	ld a, [wcd3a]
-	ld hl, $0000
-	call AddNTimes
-	ld e, l
-	ld d, h
-	ld hl, wcd40
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld a, l
-	sub e
-	ld l, a
-	ld a, h
-	sbc d
-	ld h, a
-	jr c, .asm_1017a0
-	add hl, bc
-	call Function1017b0
-	scf
-	ret
-
-.asm_1017a0
-	ld a, $ff
-	ld [wcd39], a
-	add hl, bc
-	ld a, h
-	or l
-	ret z
-	ld c, l
-	ld b, h
-	call Function1017b0
-	xor a
-	ret
-; 1017b0
-
-Function1017b0: ; 1017b0
-	ld a, c
-	ld [wccb4], a
-	push bc
-	ld a, [wcd3a]
-	dec a
-	ld hl, wcd3b
-	call Function10173b
-	pop bc
-	ld de, wccb5
-	call CopyBytes
-	ret
-; 1017c7
-
-Function1017c7: ; 1017c7
-	ld a, [wcc60]
-	ld c, a
-	ld b, $0
-	ld a, [wcd3a]
-	dec a
-	ld hl, wcd3e
-	call Function10173b
-	ld e, l
-	ld d, h
-	ld hl, wcc61
-	ld a, [wcd3d]
-	call FarCopyWRAM
-	and a
-	ret
-; 1017e4
-
-Function1017e4: ; 1017e4
-	ld a, $0
-	ld [wcd27], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 1017f1
-
-Function1017f1: ; 1017f1
-	call Function101418
-	ret c
-
-Function1017f5: ; 1017f5
-	ld b, $0
-	ld c, $1
-	callba Function10079c
-	ret c
-	ld c, $1
-	ld b, $3
-	callba Function10062d
-	ret c
-	callba Function100382
-	ld a, [wcd27]
-	bit 7, a
-	jr nz, .asm_10181e
-	ld hl, wcd29
-	set 6, [hl]
-	ret
-
-.asm_10181e
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101826
-
-Function101826: ; 101826
-	ld a, [wcd21]
-	cp $2
-	jr z, .asm_101833
-	cp $1
-	jr z, .asm_101844
-	jr .asm_101869
-
-.asm_101833
-	ld hl, Unknown_10186f
-	ld de, wccb4
-	call Function1013f5
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-
-.asm_101844
-	callba Function103654
-	ld a, c
-	ld hl, Unknown_101882
-	cp $1
-	jr z, .asm_10185b
-	ld hl, Unknown_101895
-	cp $2
-	jr z, .asm_10185b
-	jr .asm_101869
-
-.asm_10185b
-	ld de, wccb4
-	call Function1013f5
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-
-.asm_101869
-	ld a, $fe
-	ld [wcd2b], a
-	ret
-; 10186f
-
-
-SECTION "ascii 10186f", ROMX, BANK[$40]
-
-	charmap " ", $20 ; revert to ascii
-
-Unknown_10186f:
-	db .end - @
-	db $19, $73, $09, $13, "trade_crystal"
-.end	db 0
-
-Unknown_101882:
-	db .end - @
-	db $19, $67, $10, $01, "free__crystal"
-.end	db 0
-
-Unknown_101895:
-	db .end - @
-	db $19, $67, $10, $01, "limit_crystal"
-.end	db 0
-; 1018a8
-
-
-SECTION "bank40_3", ROMX, BANK[$40]
-
-Function1018a8: ; 1018a8
-	ld hl, wccb5
-	ld de, wcc61
-	ld a, $4
-	call Function101406
-	jr c, .asm_1018d0
-	ld hl, wccb9
-	ld de, wcc65
-	ld a, $6
-	call Function101406
-	jr c, .asm_1018ca
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-
-.asm_1018ca
-	ld a, $f6
-	ld [wcd2b], a
-	ret
-
-.asm_1018d0
-	ld a, $f5
-	ld [wcd2b], a
-	ret
-; 1018d6
-
-Function1018d6: ; 1018d6
-	call Function1018ec
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 1018e1
-
-Function1018e1: ; 1018e1
-	call Function1018fb
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 1018ec
-
-Function1018ec: ; 1018ec
-	ld a, $a
-	ld hl, wccb4
-	ld [hli], a
-	ld c, a
-.asm_1018f3
-	call Random
-	ld [hli], a
-	dec c
-	jr nz, .asm_1018f3
-	ret
-; 1018fb
-
-Function1018fb: ; 1018fb
-	ld a, [wcd2f]
-	and a
-	jr z, .asm_101906
-	ld hl, wcc61
-	jr .asm_101909
-
-.asm_101906
-	ld hl, wccb5
-
-.asm_101909
-	ld de, LinkBattleRNs
-	ld bc, $000a
-	call CopyBytes
-	ret
-; 101913
-
-Function101913: ; 101913
-	ld hl, wcd2a
-	set 0, [hl]
-	xor a
-	ld [wc30d], a
-	ld hl, wcd29
-	res 4, [hl]
-	xor a
-	ld [wc305], a
-	ld hl, wcd29
-	res 7, [hl]
-	ld a, $90
-	ld [hWY], a
-	ld a, [wcd21]
-	cp $1
-	jr z, .asm_10193f
-	cp $2
-	jr z, .asm_101945
-	ld a, $71
-	ld [wcd25], a
-	ret
-
-.asm_10193f
-	ld a, $66
-	ld [wcd25], a
-	ret
-
-.asm_101945
-	ld a, $65
-	ld [wcd25], a
-	ret
-; 10194b
-
-Function10194b: ; 10194b
-	call Function2ed3
-	call ClearSprites
-	callba Function1021f9
-	ld hl, wcd29
-	bit 3, [hl]
-	jr nz, .asm_101967
-	call Function1013c0
-	ld a, $71
-	ld [wcd25], a
-	ret
-
-.asm_101967
-	ld a, $60
-	ld [wcd25], a
-	ret
-; 10196d
-
-Function10196d: ; 10196d
-	callba Function8000
-	callba Function10060d
-	ld hl, wcd29
-	set 5, [hl]
-	ld hl, wcd2a
-	set 6, [hl]
-	ld a, $6
-	ld [wccb4], a
-	ld hl, wdc5c
-	ld de, wccb5
-	ld bc, $0003
-	call CopyBytes
-	ld hl, wcd6c
-	ld a, [hli]
-	ld [wccb8], a
-	ld a, [hli]
-	ld [wccb9], a
-	ld a, [hl]
-	ld [wccba], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 1019ab
-
-Function1019ab: ; 1019ab
-	call Function101a75
-	callba Function100754
-	xor a
-	ld [wdc5f], a
-	ld [wdc60], a
-	callba Function8000
-	call SpeechTextBox
-	callba Function100846
-	ld c, $78
-	call DelayFrames
-	callba ClearTileMap
-	call Function1019ee
-	call Function101a21
-	ld a, [wcd2b]
-	cp $fc
-	jr nz, .asm_1019e6
-	xor a
-	ld [wcd2b], a
-
-.asm_1019e6
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 1019ee
-
-Function1019ee: ; 1019ee
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld bc, wdc0d
-	ld de, wdc11
-	callba Function4e929
-	pop af
-	ld [rSVBK], a
-	ld a, c
-	ld [OtherTrainerClass], a
-	ld hl, wd26b
-	ld de, $c656
-	ld bc, $000b
-	call CopyBytes
-	ld a, [wcd2f]
-	and a
-	ld a, $2
-	jr z, .asm_101a1e
-	ld a, $1
-
-.asm_101a1e
-	ld [$ffcb], a
-	ret
-; 101a21
-
-Function101a21: ; 101a21
-	ld hl, Options
-	ld a, [hl]
-	push af
-	and $20
-	or $1
-	ld [hl], a
-	ld a, $1
-	ld [wc2d7], a
-	callba Function3f4dd
-	callba Function3c000
-	callba Function3f759
-	xor a
-	ld [wc2d7], a
-	ld a, $ff
-	ld [$ffcb], a
-	pop af
-	ld [Options], a
-	ret
-; 101a4f
-
-Function101a4f: ; 101a4f
-	ld a, $1
-	ld [wc2d7], a
-	callba Function3f77c
-	xor a
-	ld [wc2d7], a
-	callba Function3f6d0
-	callba Function1500c
-	call Function1013c0
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101a75
-
-Function101a75: ; 101a75
-	ld hl, wcc61
-	ld de, wcd75
-	ld bc, $0003
-	call CopyBytes
-	ld de, wcc64
-	callba Function100772
-	callba Function101050
-	callba Function1010f2
-	ret
-; 101a97
-
-Function101a97: ; 101a97
-	callba Function115d99
-	ld hl, wcd29
-	set 7, [hl]
-	ld c, $2
-	call Function10142c
-	ld hl, wcd29
-	set 6, [hl]
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101ab4
-
-Function101ab4: ; 101ab4
-	ld e, $1
-	call Function101ee4
-	ld hl, wcd29
-	set 5, [hl]
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101ac6
-
-Function101ac6: ; 101ac6
-	callba Function115d99
-	ld hl, wcd29
-	set 7, [hl]
-	ld c, $2
-	call Function10142c
-	ld hl, wcd29
-	set 6, [hl]
-	xor a
-	ld [wcd2f], a
-	ld de, wdc42
-	call Function102068
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101aed
-
-Function101aed: ; 101aed
-	callba Function115d99
-	ld hl, wcd29
-	set 7, [hl]
-	ld c, $2
-	call Function10142c
-	ld hl, wcd29
-	set 6, [hl]
-	ld a, $1
-	ld [wcd2f], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101b0f
-
-Function101b0f: ; 101b0f
-	ld c, $0
-	call Function10142c
-	ld e, $3
-	call Function101ee4
-	ld hl, wcd29
-	set 5, [hl]
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ld a, $0
-	ld [wcd26], a
-	ret
-; 101b2b
-
-Function101b2b: ; 101b2b
-	callba Function100579
-	ld hl, wcd29
-	set 2, [hl]
-	ld a, [wcd26]
-	bit 7, a
-	ret z
-	call Function1013dd
-	ld a, $0
-	ld [wcd26], a
-	ld a, [wcfa9]
-	cp $1
-	jr z, .asm_101b51
-	ld a, $2
-	ld [wcd2b], a
-	ret
-
-.asm_101b51
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101b59
-
-Function101b59: ; 101b59
-	ld c, $2
-	call Function10142c
-	ld e, $2
-	call Function101ee4
-	ld hl, wcd29
-	set 5, [hl]
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101b70
-
-Function101b70: ; 101b70
-	ld c, $2
-	call Function10142c
-	ld e, $4
-	call Function101ee4
-	ld hl, wcd29
-	set 5, [hl]
-	call Function1ad2
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ld a, $0
-	ld [wcd26], a
-	ret
-; 101b8f
-
-Function101b8f: ; 101b8f
-	callba Function1005c3
-	ld hl, wcd29
-	set 2, [hl]
-	ld a, [wcd26]
-	bit 7, a
-	ret z
-	call Function1013dd
-	ld a, $0
-	ld [wcd26], a
-	ld a, [wcfa9]
-	cp $1
-	jr z, .asm_101bbc
-	ld a, $1
-	ld [wcd2f], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-
-.asm_101bbc
-	xor a
-	ld [wcd2f], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101bc8
-
-Function101bc8: ; 101bc8
-	ld c, $2
-	call Function10142c
-	ld e, $8
-	call Function101ee4
-	call Function102048
-	call Function1013dd
-	ld a, $0
-	ld [wcd26], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101be5
-
-Function101be5: ; 101be5
-	callba Function100579
-	ld hl, wcd29
-	set 2, [hl]
-	ld a, [wcd26]
-	bit 7, a
-	ret z
-	call Function1013dd
-	ld a, $0
-	ld [wcd26], a
-	ld a, [wcfa9]
-	cp $1
-	jr nz, .asm_101c0b
-	ld a, $2a
-	ld [wcd25], a
-	ret
-
-.asm_101c0b
-	ld a, $2
-	ld [wcd2b], a
-	ret
-; 101c11
-
-Function101c11: ; 101c11
-	ld a, $1
-	ld [wdc5f], a
-	ld e, $9
-	call Function101ee4
-	call Function102048
-	ld hl, wcd29
-	set 5, [hl]
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101c2b
-
-Function101c2b: ; 101c2b
-	ld a, $2
-	ld [wdc5f], a
-	ld e, $7
-	call Function101ee4
-	ld hl, wcd29
-	set 5, [hl]
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101c42
-
-Function101c42: ; 101c42
-	ld hl, wcd2a
-	set 1, [hl]
-	call Function100665
-	ld a, $47
-	ld [wcd25], a
-	ret
-; 101c50
-
-Function101c50: ; 101c50
-	ld e, $a
-	call Function101ee4
-	ld hl, wcd29
-	set 2, [hl]
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101c62
-
-Function101c62: ; 101c62
-	callba Function115d99
-	ld hl, wcd29
-	set 7, [hl]
-	ld c, $1
-	call Function10142c
-	xor a
-	ld [wc30d], a
-	ld hl, wcd29
-	res 4, [hl]
-	ld e, $b
-	call Function101ee4
-	ld hl, wcd29
-	set 5, [hl]
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ld a, $0
-	ld [wcd26], a
-	ret
-; 101c92
-
-Function101c92: ; 101c92
-	callba Function100675
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101ca0
-
-Function101ca0: ; 101ca0
-	ld c, $2
-	call Function10142c
-	ld e, $c
-	call Function101ee4
-	ld hl, wcd29
-	set 5, [hl]
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ld a, $0
-	ld [wcd26], a
-	ret
-; 101cbc
-
-Function101cbc: ; 101cbc
-	ld a, $1
-	ld [wcd2b], a
-	ret
-; 101cc2
-
-Function101cc2: ; 101cc2 ; unreferenced
-	ld a, $2
-	ld [wcd2b], a
-	ret
-; 101cc8
-
-Function101cc8: ; 101cc8
-	ld a, $1
-	ld [wc314], a
-	ld a, $1
-	ld [wc30d], a
-	ld hl, wcd29
-	set 4, [hl]
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101cdf
-
-Function101cdf: ; 101cdf
-	ld a, $6
-	ld [wc314], a
-	ld a, $1
-	ld [wc30d], a
-	ld hl, wcd29
-	set 4, [hl]
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101cf6
-
-Function101cf6: ; 101cf6
-	ld a, $b
-	ld [wc315], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101d03
-
-Function101d03: ; 101d03
-	ld a, $e
-	ld [wc315], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101d10
-
-Function101d10: ; 101d10
-	ld c, $1
-	call Function10142c
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	jr Function101d2a
-
-Function101d1e: ; 101d1e
-	ld c, $3
-	call Function10142c
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-
-Function101d2a: ; 101d2a
-	call Function101418
-	ret c
-	ld hl, wcd29
-	set 6, [hl]
-	ld a, [wcd26]
-	ld hl, Jumptable_101d4d
-	rst JumpTable
-	ld a, [wcd26]
-	bit 7, a
-	ret z
-	ld a, $0
-	ld [wcd26], a
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101d4d
-
-Jumptable_101d4d: ; 101d4d
-	dw Function101d51
-	dw Function101d5d
-; 101d51
-
-Function101d51: ; 101d51
-	ld a, $3c
-	ld [wcd42], a
-	ld a, [wcd26]
-	inc a
-	ld [wcd26], a
-
-Function101d5d: ; 101d5d
-	ld hl, wcd42
-	dec [hl]
-	ret nz
-	ld a, [wcd26]
-	set 7, a
-	ld [wcd26], a
-	ret
-; 101d6b
-
-Function101d6b: ; 101d6b
-	ld a, [wc30d]
-	and a
-	ret nz
-	ld hl, wcd29
-	res 4, [hl]
-	ld a, $64
-	ld [wcd25], a
-	ret
-; 101d7b
-
-Function101d7b: ; 101d7b
-	callba Function10138b
-	ld b, 0
-	ld hl, Unknown_101d8d
-	add hl, bc
-	ld c, [hl]
-	ld a, c
-	ld [wcd25], a
-	ret
-; 101d8d
-
-Unknown_101d8d: ; 101d8d
-	db $15, $15, $1f, $1f, $0c, $12, $3a, $3a
-; 101d95
-
-Function101d95: ; 101d95
-	call Function101ee2
-	call Function1d6e
-	ld e, $e
-	call Function101ee4
-	ld hl, wcd29
-	set 5, [hl]
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ld a, $0
-	ld [wcd26], a
-	ret
-; 101db2
-
-Function101db2: ; 101db2
-	callba Function103302
-	call Function1c07
-	ld hl, wcd29
-	set 5, [hl]
-	jr c, .asm_101dca
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-
-.asm_101dca
-	ld a, $2
-	ld [wcd2b], a
-	ret
-; 101dd0
-
-Function101dd0: ; 101dd0
-	ld hl, wdc41
-	bit 1, [hl]
-	jr nz, .asm_101ddd
-	ld a, $19
-	ld [wcd25], a
-	ret
-
-.asm_101ddd
-	ld a, $1b
-	ld [wcd25], a
-	ret
-; 101de3
-
-Function101de3: ; 101de3
-	call Function101ecc
-	call Function101ead
-	jr c, .asm_101df3
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-
-.asm_101df3
-	call Function101e98
-	jr c, .asm_101e00
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-
-.asm_101e00
-	call Function101ed3
-	ld a, $2
-	ld [wcd2b], a
-	ret
-; 101e09
-
-Function101e09: ; 101e09
-	call Function101ead
-	jr c, .asm_101e16
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-
-.asm_101e16
-	call Function101ecc
-	call Function101e98
-	push af
-	call Function101ed3
-	pop af
-	jr c, .asm_101e2b
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-
-.asm_101e2b
-	ld a, $2
-	ld [wcd2b], a
-	ret
-; 101e31
-
-Function101e31: ; 101e31
-	ld a, $3a
-	ld [wcd25], a
-	jp Function101c2b
-; 101e39
-
-Function101e39: ; 101e39
-	call Function1020bf
-	push af
-	call Function101ed3
-	pop af
-	jr c, .asm_101e49
-	ld a, $2a
-	ld [wcd25], a
-	ret
-
-.asm_101e49
-	ld a, $2
-	ld [wcd2b], a
-	ret
-; 101e4f
-
-Function101e4f: ; 101e4f
-	ld e, $6
-	call Function101ee4
-	call Function1013d6
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ld a, $0
-	ld [wcd26], a
-	ret
-; 101e64
-
-Function101e64: ; 101e64
-	call Function101ecc
-	call Function1020a8
-	push af
-	call Function101ed3
-	pop af
-	jr c, .asm_101e77
-	ld a, $24
-	ld [wcd25], a
-	ret
-
-.asm_101e77
-	ld hl, wcd29
-	set 5, [hl]
-	ld a, $2
-	ld [wcd2b], a
-	ret
-; 101e82
-
-Function101e82: ; 101e82 ; unreferenced
-	call Function101ecc
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101e8d
-
-Function101e8d: ; 101e8d ; unreferenced
-	call Function101ed3
-	ld a, [wcd25]
-	inc a
-	ld [wcd25], a
-	ret
-; 101e98
-
-Function101e98: ; 101e98
-	call ClearSprites
-	callba Function8adb3
-	ret c
-	ld hl, GameTimerPause
-	set 7, [hl]
-	ld hl, wdc41
-	set 4, [hl]
-	ret
-; 101ead
-
-Function101ead: ; 101ead
-	ld hl, GameTimerPause
-	bit 7, [hl]
-	jr nz, .asm_101ec8
-	ld hl, wdc41
-	bit 2, [hl]
-	jr z, .asm_101eca
-	ld a, [wcd2f]
-	and a
-	jr nz, .asm_101ec8
-	ld hl, wdc41
-	bit 1, [hl]
-	jr z, .asm_101eca
-
-.asm_101ec8
-	xor a
-	ret
-
-.asm_101eca
-	scf
-	ret
-; 101ecc
-
-Function101ecc: ; 101ecc
-	call Function101ee2
-	call FadeToMenu
-	ret
-; 101ed3
-
-Function101ed3: ; 101ed3
-	call Function1013aa
-	callba Function115d99
-	ld hl, wcd29
-	set 7, [hl]
-	ret
-; 101ee2
-
-Function101ee2: ; 101ee2
-	ld e, 0
-
-Function101ee4: ; 101ee4
-	ld d, 0
-	ld hl, Unknown_101ef5
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld d, [hl]
-	ld e, a
-	callba Function100504
-	ret
-; 101ef5
-
-Unknown_101ef5: ; 101ef5
-	dw String_101f13
-	dw String_101f14
-	dw String_101f32
-	dw String_101f4f
-	dw String_101f69
-	dw String_101f81
-	dw String_101f93
-	dw String_101faa
-	dw String_101fc5
-	dw String_101fd2
-	dw String_101fe1
-	dw String_101fef
-	dw String_102000
-	dw String_10200c
-	dw String_102014
-
-String_101f13: ; 101f13
-	db "@"
-
-String_101f14: ; 101f14
-	db   "モバイルアダプタを つかって"
-	next "おともだちと つうしんします@"
-
-String_101f32: ; 101f32
-	db   "でんわを かけるひとには"
-	next "つうわりょうきんが かかります@"
-
-String_101f4f: ; 101f4f
-	db   "モバイルアダプタの じゅんびは"
-	next "できて いますか?@"
-
-String_101f69: ; 101f69
-	db   "あなたが おともだちに"
-	next "でんわを かけますか?@"
-
-String_101f81: ; 101f81
-	db   "めいしフ,ルダーを"
-	next "つかいますか?@"
-
-String_101f93: ; 101f93
-	db   "でんわばんごうを にゅうりょく"
-	next "してください@"
-
-String_101faa: ; 101faa
-	db   "それでは おともだちからの"
-	next "でんわを おまちします…@"
-
-String_101fc5: ; 101fc5
-	next "に でんわを かけます@"
-
-String_101fd2: ; 101fd2
-	next "に でんわを かけています@"
-
-String_101fe1: ; 101fe1
-	db   "でんわが つながりました!@"
-
-String_101fef: ; 101fef
-	db   "つうわを"
-	next "しゅうりょう します…@"
-
-String_102000: ; 102000
-	db   "つうしん しゅうりょう@"
-
-String_10200c: ; 10200c
-	db   "つうわ じかん@"
-
-String_102014: ; 102014
-	db   "それでは つうしんの"
-	next "せっていを してください@"
-; 10202c
-
-Function10202c: ; 10202c
-	callba Function115d99
-	ld hl, wcd29
-	set 7, [hl]
-	ld c, $2
-	call Function10142c
-	ld e, $d
-	call Function101ee4
-	hlcoord 4, 4
-	call Function100681
-	ret
-; 102048
-
-Function102048: ; 102048
-	call Function10204c
-	ret
-; 10204c
-
-Function10204c: ; 10204c
-	hlcoord 3, 2
-	ld c, $10
-	ld de, wcd53
-.asm_102054
-	ld a, [de]
-	inc de
-	and a
-	jr z, .asm_102067
-	sub $30
-	jr c, .asm_102067
-	cp $a
-	jr nc, .asm_102067
-	add $f6
-	ld [hli], a
-	dec c
-	jr nz, .asm_102054
-
-.asm_102067
-	ret
-; 102068
-
-Function102068: ; 102068
-	ld hl, wcd53
-	ld c, $8
-.asm_10206d
-	ld a, [de]
-	call Function102080
-	jr c, .asm_10207f
-	ld a, [de]
-	swap a
-	call Function102080
-	jr c, .asm_10207f
-	inc de
-	dec c
-	jr nz, .asm_10206d
-
-.asm_10207f
-	ret
-; 102080
-
-Function102080: ; 102080
-	and $f
-	cp $f
-	jr z, .asm_10208a
-	add $30
-	ld [hli], a
-	ret
-
-.asm_10208a
-	ld [hl], $0
-	scf
-	ret
-; 10208e
-
-Function10208e: ; 10208e
-	push de
-	ld h, d
-	ld l, e
-	ld de, wdc42
-	ld bc, $0008
-	call CopyBytes
-	pop de
-	ret
-; 10209c
-
-Function10209c: ; 10209c
-	ld a, $ff
-	ld hl, wdc42
-	ld bc, $0008
-	call ByteFill
-	ret
-; 1020a8
-
-Function1020a8: ; 1020a8
-	call Function10209c
-	ld c, $1
-	ld de, wdc42
-	callba Function17a68f
-	ret c
-	call Function10208e
-	call Function102068
-	xor a
-	ret
-; 1020bf
-
-Function1020bf: ; 1020bf
-	call ClearSprites
-	callba Function8aba9
-	ld a, c
-	and a
-	jr z, .asm_1020e8
-	dec a
-	ld hl, $a04c
-	ld bc, $0025
-	call AddNTimes
-	ld d, h
-	ld e, l
-	ld a, $4
-	call GetSRAMBank
-	call Function10208e
-	call Function102068
-	call CloseSRAM
-	xor a
-	ret
-
-.asm_1020e8
-	scf
-	ret
-; 1020ea
-
-Function1020ea: ; 1020ea
-	ld hl, wdc41
-	bit 4, [hl]
-	jr z, .asm_102110
-	ld hl, wdc41
-	bit 2, [hl]
-	jr nz, .asm_102110
-	call Function10218d
-	ld hl, $c608
-	bit 4, [hl]
-	jr z, .asm_102110
-	ld hl, $c608
-	bit 2, [hl]
-	jr nz, .asm_102110
-	call Function102112
-	jr z, .asm_102110
-	and a
-	ret
-
-.asm_102110
-	scf
-	ret
-; 102112
-
-Function102112: ; 102112
-	ld a, $4
-	call GetSRAMBank
-	ld hl, $a041
-	ld c, $28
-.asm_10211c
-	push hl
-	ld de, $c60f
-	ld b, $1f
-.asm_102122
-	ld a, [de]
-	cp [hl]
-	jr nz, .asm_10212f
-	inc de
-	inc hl
-	dec b
-	jr nz, .asm_102122
-	pop hl
-	xor a
-	jr .asm_10213c
-
-.asm_10212f
-	pop hl
-	ld de, $0025
-	add hl, de
-	dec c
-	jr nz, .asm_10211c
-	ld a, $1
-	and a
-	jr .asm_10213c
-
-.asm_10213c
-	push af
-	call CloseSRAM
-	pop af
-	ret
-; 102142
-
-Function102142: ; 102142
-	call Function10218d
-	call Function102180
-	ld hl, UnknownText_0x1021d1
-	call Function1d4f
-	ld de, SFX_LEVEL_UP
-	call PlaySFX
-	call Functiona36
-	call Function1c07
-	call Function10219f
-	ld hl, UnknownText_0x1021d6
-	call Function1d4f
-	call YesNoBox
-	call Function1c07
-	jr c, .asm_10217c
-	call Function1021b8
-	jr c, .asm_10217c
-	call Function10218d
-	call Function102180
-	ld hl, UnknownText_0x1021db
-	call PrintText
-
-.asm_10217c
-	call Function1013d6
-	ret
-; 102180
-
-Function102180: ; 102180
-	ld hl, $c608 + 1
-	ld de, StringBuffer2
-	ld bc, $000b
-	call CopyBytes
-	ret
-; 10218d
-
-Function10218d: ; 10218d
-	ld hl, wdc00
-	ld de, $c608
-	ld bc, $0026
-	ld a, $5
-	call FarCopyWRAM
-	ld de, $c608 + 1
-	ret
-; 10219f
-
-Function10219f: ; 10219f
-	call FadeToMenu
-	call Function10218d
-	ld de, $c608 + 1
-	callba Function8ac4e
-	call Functiona36
-	call PlayClickSFX
-	call Function1013aa
-	ret
-; 1021b8
-
-Function1021b8: ; 1021b8
-	call FadeToMenu
-	call Function10218d
-	ld de, $c60f
-	callba Function8ac70
-	ld a, c
-	ld [StringBuffer1], a
-	push af
-	call Function1013aa
-	pop af
-	ret
-; 1021d1
-
-UnknownText_0x1021d1: ; 1021d1
-	text_jump UnknownText_0x1bd19a
-	db "@"
-
-UnknownText_0x1021d6: ; 1021d1
-	text_jump UnknownText_0x1bd1ba
-	db "@"
-
-UnknownText_0x1021db: ; 1021d1
-	text_jump UnknownText_0x1bd1dd
-	db "@"
-; 1021e0
-
-Function1021e0: ; 1021e0
-	call Function1d4f
-	call Functiona36
-	call Function1c07
-	ret
-; 1021ea
-
-UnknownText_0x1021ea: ; 1021ea
-	text_jump UnknownText_0x1bd201
-	db "@"
-
-UnknownText_0x1021ef:
-	text_jump UnknownText_0x1bd211
-	db "@"
-
-UnknownText_0x1021f4:
-	text_jump UnknownText_0x1bd223
-	db "@"
-; 1021f9
-
-Function1021f9: ; 1021f9
-	call Function102233
-	ld a, $0
-	ld [wcd49], a
-	ld hl, wcd29
-	bit 3, [hl]
-	res 3, [hl]
-	jr z, .asm_10220f
-	ld a, $1
-	ld [wcd49], a
-
-.asm_10220f
-	call Function1022ca
-	ld a, [wcd49]
-	ld hl, Jumptable_1022f5
-	rst JumpTable
-	call Function102241
-	call Function1022d0
-	jr c, .asm_102231
-	ld a, [wcd49]
-	bit 7, a
-	jr z, .asm_10220f
-	xor a
-	ld hl, wcd29
-	bit 3, [hl]
-	ret z
-	scf
-	ret
-
-.asm_102231
-	xor a
-	ret
-; 102233
-
-Function102233: ; 102233
-	ld hl, wcd49
-	ld bc, $000a
-	xor a
-	call ByteFill
-	call Function10304f
-	ret
-; 102241
-
-Function102241: ; 102241
-	call Function10226a
-	call Function102274
-	call Function10224b
-	ret
-; 10224b
-
-Function10224b: ; 10224b
-	ld hl, wcd4b
-	bit 1, [hl]
-	jr nz, .asm_10225e
-	bit 2, [hl]
-	jr nz, .asm_10225e
-	call DelayFrame
-	call DelayFrame
-	xor a
-	ret
-
-.asm_10225e
-	res 1, [hl]
-	res 2, [hl]
-	callba Function104099
-	scf
-	ret
-; 10226a
-
-Function10226a: ; 10226a
-	ld hl, wcd4b
-	bit 0, [hl]
-	ret z
-	call Function10305d
-	ret
-; 102274
-
-Function102274: ; 102274
-	ld hl, wcd4b
-	bit 3, [hl]
-	ret z
-	res 3, [hl]
-	ld de, $0008
-	call PlaySFX
-	ret
-; 102283
-
-Function102283: ; 102283
-	ld a, $1
-	ld [AttrMapEnd], a
-	ld hl, wcd4b
-	set 0, [hl]
-	ret
-; 10228e
-
-Function10228e: ; 10228e
-	xor a
-	ld [AttrMapEnd], a
-	ld hl, wcd4b
-	res 0, [hl]
-	ret
-; 102298
-
-Function102298: ; 102298
-	ld a, e
-	cp $2
-	ret nz
-	ld hl, wcd4b
-	bit 6, [hl]
-	jr z, .asm_1022b6
-	ld hl, wcd4b
-	bit 7, [hl]
-	ld hl, wcd4b
-	set 7, [hl]
-	ret nz
-	ld de, SFX_ELEVATOR_END
-	call PlaySFX
-	jr .asm_1022c1
-
-.asm_1022b6
-	ld hl, wcd4b
-	bit 7, [hl]
-	ld hl, wcd4b
-	res 7, [hl]
-	ret z
-
-.asm_1022c1
-	call Function10304f
-	ld a, $1
-	ld [AttrMapEnd], a
-	ret
-; 1022ca
-
-Function1022ca: ; 1022ca
-	ld a, 30
-	ld [OverworldDelay], a
-	ret
-; 1022d0
-
-Function1022d0: ; 1022d0
-	callba Function10032e
-	ld a, [wcd2b]
-	and a
-	jr nz, .asm_1022f3
-	call Function102298
-	ld a, [OverworldDelay]
-	ld c, a
-	ld a, 30
-	sub c
-	ld c, a
-	ld b, $3
-	callba Function10062d
-	jr c, .asm_1022f3
-	xor a
-	ret
-
-.asm_1022f3
-	scf
-	ret
-; 1022f5
-
-Jumptable_1022f5: ; 1022f5
-	dw Function10234b
-	dw Function102361
-	dw Function10236e
-	dw Function102387
-	dw Function1023a1
-	dw Function1025c7
-	dw Function1025dc
-	dw Function1024f6
-	dw Function10250c
-	dw Function1024a8
-	dw Function102591
-	dw Function1024a8
-	dw Function1025b0
-	dw Function1025bd
-	dw Function102814
-	dw Function10283c
-	dw Function102862
-	dw Function10286f
-	dw Function1024a8
-	dw Function1028a5
-	dw Function1028ab
-	dw Function1023b5
-	dw Function1023c6
-	dw Function1024af
-	dw Function102416
-	dw Function102423
-	dw Function10244b
-	dw Function1024af
-	dw Function10246a
-	dw Function102652
-	dw Function10266b
-	dw Function1025e9
-	dw Function1025ff
-	dw Function102738
-	dw Function102754
-	dw Function1026b7
-	dw Function1026c8
-	dw Function1028bf
-	dw Function1028c6
-	dw Function1028d3
-	dw Function1028da
-	dw Function1024a8
-	dw Function10248d
-; 10234b
-
-Function10234b: ; 10234b
-	call Function102d9a
-	call Function102dd3
-	call Function102dec
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 102361
-
-Function102361: ; 102361
-	ld a, $cc
-	call Function1028e8
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 10236e
-
-Function10236e: ; 10236e
-	call Function1028fc
-	ret nc
-	ld a, [wcd51]
-	cp $cc
-	jr z, .asm_10237f
-	ld a, $f2
-	ld [wcd2b], a
-	ret
-
-.asm_10237f
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 102387
-
-Function102387: ; 102387
-	ld hl, wcd4b
-	set 6, [hl]
-	xor a
-	ld [wdc5f], a
-	ld de, MUSIC_ROUTE_30
-	call PlayMusic
-	call Function102d9a
-	call Function102dd3
-	ld a, $1
-	ld [wcfa9], a
-
-Function1023a1: ; 1023a1
-	call Function102283
-	call Function102db7
-	call Function102dec
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, $1d
-	ld [wcd49], a
-	ret
-; 1023b5
-
-Function1023b5: ; 1023b5
-	call Function10228e
-	call Function102a3b
-	call Function102b12
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 1023c6
-
-Function1023c6: ; 1023c6
-	call Function102c48
-	call Function102c87
-	ld a, [wcd4c]
-	dec a
-	ld [CurPartyMon], a
-	xor a
-	ld [wd10b], a
-	callba Functione039
-	ld hl, PartyCount
-	inc [hl]
-	ld a, [hli]
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld [hl], $ff
-	ld a, [PartyCount]
-	ld [wcd4c], a
-	call Function102c07
-	call Function102d48
-	call Function102b32
-	call Function102f50
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, $14
-	ld [wcd4e], a
-	ld a, $0
-	ld [wcd4f], a
-	ld a, $0
-	ld [wcd4a], a
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 102416
-
-Function102416: ; 102416
-	ld a, $aa
-	call Function1028e8
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 102423
-
-Function102423: ; 102423
-	call Function102921
-	ret nc
-	callba Function14a58
-	callba Function1060af
-	callba Function106187
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, $0
-	ld [wcd4a], a
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 10244b
-
-Function10244b: ; 10244b
-	call Function102f32
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, $19
-	ld [wcd4e], a
-	ld a, $0
-	ld [wcd4f], a
-	ld a, $0
-	ld [wcd4a], a
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 10246a
-
-Function10246a: ; 10246a
-	call Function102d9a
-	ld hl, wcd29
-	set 3, [hl]
-	call Function102e07
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, $2a
-	ld [wcd49], a
-	ret
-; 102480
-
-Function102480: ; 102480
-	ld c, $32
-	call DelayFrames
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 10248d
-
-Function10248d: ; 10248d
-	ld a, [wcd49]
-	set 7, a
-	ld [wcd49], a
-	ret
-; 102496
-
-Function102496: ; 102496
-	ld hl, wcd4e
-	dec [hl]
-	ret nz
-	ld a, $0
-	ld [wcd4a], a
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 1024a8
-
-Function1024a8: ; 1024a8
-	callba Function1009f3
-	ret c
-
-Function1024af: ; 1024af
-	call GetJoypad
-	ld a, [wcd4a]
-	ld hl, Jumptable_1024ba
-	rst JumpTable
-	ret
-; 1024ba
-
-Jumptable_1024ba: ; 1024ba
-	dw Function1024c0
-	dw Function1024cb
-	dw Function1024de
-; 1024c0
-
-Function1024c0: ; 1024c0
-	ld hl, wcd4e
-	inc [hl]
-	ld a, [wcd4a]
-	inc a
-	ld [wcd4a], a
-
-Function1024cb: ; 1024cb
-	ld hl, wcd4e
-	dec [hl]
-	ret nz
-	ld a, [wcd4f]
-	inc a
-	ld [wcd4e], a
-	ld a, [wcd4a]
-	inc a
-	ld [wcd4a], a
-
-Function1024de: ; 1024de
-	ld hl, wcd4e
-	dec [hl]
-	jr z, .asm_1024e9
-	ld a, [hJoyPressed]
-	and A_BUTTON | B_BUTTON
-	ret z
-
-.asm_1024e9
-	ld a, $0
-	ld [wcd4a], a
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 1024f6
-
-Function1024f6: ; 1024f6
-	call Function1bee
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, [wcd4c]
-	call Function1028e8
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 10250c
-
-Function10250c: ; 10250c
-	call Function1028fc
-	ret nc
-	ld a, [wcd51]
-	cp $f
-	jr z, .asm_10254b
-	and a
-	jr z, .asm_102572
-	cp $aa
-	jr z, .asm_102572
-	cp $7
-	jr nc, .asm_102572
-	ld [wcd4d], a
-	dec a
-	ld [wd003], a
-	ld a, [wcd4c]
-	dec a
-	ld [DefaultFlypoint], a
-	call Function102b9c
-	call Function102bdc
-	jr c, .asm_10256d
-	callba Functionfb5dd
-	jr c, .asm_102568
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, $e
-	ld [wcd49], a
-	ret
-
-.asm_10254b
-	call Function103021
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, $0
-	ld [wcd4a], a
-	ld a, $1e
-	ld [wcd4e], a
-	ld a, $1e
-	ld [wcd4f], a
-	ld a, $29
-	ld [wcd49], a
-	ret
-
-.asm_102568
-	call Function102ff5
-	jr .asm_102577
-
-.asm_10256d
-	call Function102f85
-	jr .asm_102577
-
-.asm_102572
-	call Function102fce
-	jr .asm_102577
-
-.asm_102577
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, $0
-	ld [wcd4a], a
-	ld a, $1e
-	ld [wcd4e], a
-	ld a, $3c
-	ld [wcd4f], a
-	ld a, $9
-	ld [wcd49], a
-	ret
-; 102591
-
-Function102591: ; 102591
-	call Function102ee7
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, $0
-	ld [wcd4a], a
-	ld a, $1e
-	ld [wcd4e], a
-	ld a, $3c
-	ld [wcd4f], a
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 1025b0
-
-Function1025b0: ; 1025b0
-	ld a, $9
-	call Function1028e8
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 1025bd
-
-Function1025bd: ; 1025bd
-	call Function1028fc
-	ret nc
-	ld a, $4
-	ld [wcd49], a
-	ret
-; 1025c7
-
-Function1025c7: ; 1025c7
-	call Function102f6d
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, $f
-	call Function1028e8
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 1025dc
-
-Function1025dc: ; 1025dc
-	call Function1028fc
-	ret nc
-	ld a, [wcd49]
-	set 7, a
-	ld [wcd49], a
-	ret
-; 1025e9
-
-Function1025e9: ; 1025e9
-	nop
-	ld hl, wcd4b
-	set 6, [hl]
-	call Function102b4e
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 1025ff
-
-Function1025ff: ; 1025ff
-	ld hl, wcd4b
-	set 2, [hl]
-	callba Function1009f3
-	ret c
-	callba Function241ba
-	ld a, [wcfa8]
-	and c
-	ret z
-	bit 0, c
-	jr nz, .asm_102623
-	bit 6, c
-	jr nz, .asm_10262e
-	bit 7, c
-	jr nz, .asm_102646
-	ret
-
-.asm_102623
-	ld hl, wcd4b
-	set 3, [hl]
-	ld a, $27
-	ld [wcd49], a
-	ret
-
-.asm_10262e
-	ld a, [wcfa9]
-	ld b, a
-	ld a, [OTPartyCount]
-	cp b
-	ret nz
-	call Function1bf7
-	ld a, [PartyCount]
-	ld [wcfa9], a
-	ld a, $1d
-	ld [wcd49], a
-	ret
-
-.asm_102646
-	ld a, [wcfa9]
-	cp $1
-	ret nz
-	ld a, $23
-	ld [wcd49], a
-	ret
-; 102652
-
-Function102652: ; 102652
-	nop
-	ld hl, wcd4b
-	set 6, [hl]
-	nop
-	call Function102b7b
-	nop
-	ld hl, wcd4b
-	set 1, [hl]
-	nop
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 10266b
-
-Function10266b: ; 10266b
-	ld hl, wcd4b
-	set 2, [hl]
-	callba Function1009f3
-	ret c
-	callba Function241ba
-	ld a, [wcfa8]
-	and c
-	ret z
-	bit 0, c
-	jr nz, .asm_10268f
-	bit 7, c
-	jr nz, .asm_10269a
-	bit 6, c
-	jr nz, .asm_1026a8
-	ret
-
-.asm_10268f
-	ld hl, wcd4b
-	set 3, [hl]
-	ld a, $21
-	ld [wcd49], a
-	ret
-
-.asm_10269a
-	ld a, [wcfa9]
-	dec a
-	ret nz
-	call Function1bf7
-	ld a, $1f
-	ld [wcd49], a
-	ret
-
-.asm_1026a8
-	ld a, [wcfa9]
-	ld b, a
-	ld a, [PartyCount]
-	cp b
-	ret nz
-	ld a, $23
-	ld [wcd49], a
-	ret
-; 1026b7
-
-Function1026b7: ; 1026b7
-	ld hl, wcd4b
-	set 6, [hl]
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ld a, $0
-	ld [wcd4a], a
-
-Function1026c8: ; 1026c8
-	call GetJoypad
-	callba Function1009f3
-	ret c
-	ld a, [wcd4a]
-	ld hl, Jumptable_1026da
-	rst JumpTable
-	ret
-; 1026da
-
-Jumptable_1026da: ; 1026da
-	dw Function1026de
-	dw Function1026f3
-; 1026de
-
-Function1026de: ; 1026de
-	call Function1bf7
-	hlcoord 9, 17
-	ld [hl], $ed
-	ld a, [wcd4a]
-	inc a
-	ld [wcd4a], a
-	ld hl, wcd4b
-	set 1, [hl]
-	ret
-; 1026f3
-
-Function1026f3: ; 1026f3
-	ld a, [hJoyPressed]
-	bit 0, a
-	jr nz, .asm_102723
-	bit 6, a
-	jr nz, .asm_102712
-	bit 7, a
-	jr nz, .asm_102702
-	ret
-
-.asm_102702
-	hlcoord 9, 17
-	ld [hl], $7f
-	ld a, $1
-	ld [wcfa9], a
-	ld a, $1d
-	ld [wcd49], a
-	ret
-
-.asm_102712
-	hlcoord 9, 17
-	ld [hl], $7f
-	ld a, [OTPartyCount]
-	ld [wcfa9], a
-	ld a, $1f
-	ld [wcd49], a
-	ret
-
-.asm_102723
-	hlcoord 9, 17
-	ld [hl], $ec
-	ld hl, wcd4b
-	set 3, [hl]
-	ld hl, wcd4b
-	set 2, [hl]
-	ld a, $5
-	ld [wcd49], a
-	ret
-; 102738
-
-Function102738: ; 102738
-	ld hl, wcd4b
-	set 6, [hl]
-	call Function1bee
-	call Function1027eb
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ld a, $0
-	ld [wcd4a], a
-
-Function102754: ; 102754
-	call GetJoypad
-	callba Function1009f3
-	ret c
-	ld a, [wcd4a]
-	ld hl, Jumptable_102766
-	rst JumpTable
-	ret
-; 102766
-
-Jumptable_102766: ; 102766
-	dw Function102770
-	dw Function102775
-	dw Function10278c
-	dw Function1027a0
-	dw Function1027b7
-; 102770
-
-Function102770: ; 102770
-	ld a, $1
-	ld [wcd4a], a
-
-Function102775: ; 102775
-	hlcoord 1, 16
-	ld [hl], $ed
-	hlcoord 11, 16
-	ld [hl], $7f
-	ld hl, wcd4b
-	set 2, [hl]
-	ld a, [wcd4a]
-	inc a
-	ld [wcd4a], a
-	ret
-; 10278c
-
-Function10278c: ; 10278c
-	ld a, [hJoyPressed]
-	bit 0, a
-	jr nz, asm_1027c6
-	bit 1, a
-	jr nz, asm_1027e2
-	bit 4, a
-	jr nz, .asm_10279b
-	ret
-
-.asm_10279b
-	ld a, $3
-	ld [wcd4a], a
-
-Function1027a0: ; 1027a0
-	hlcoord 1, 16
-	ld [hl], $7f
-	hlcoord 11, 16
-	ld [hl], $ed
-	ld hl, wcd4b
-	set 2, [hl]
-	ld a, [wcd4a]
-	inc a
-	ld [wcd4a], a
-	ret
-
-Function1027b7: ; 1027b7
-	ld a, [hJoyPressed]
-	bit 0, a
-	jr nz, asm_1027d1
-	bit 1, a
-	jr nz, asm_1027e2
-	bit 5, a
-	jr nz, Function102770
-	ret
-
-asm_1027c6:
-	ld hl, wcd4b
-	set 3, [hl]
-	ld a, $25
-	ld [wcd49], a
-	ret
-
-asm_1027d1:
-	ld hl, wcd4b
-	set 3, [hl]
-	ld a, [wcfa9]
-	ld [wcd4c], a
-	ld a, $7
-	ld [wcd49], a
-	ret
-
-asm_1027e2:
-	call Function102db7
-	ld a, $1d
-	ld [wcd49], a
-	ret
-; 1027eb
-
-Function1027eb: ; 1027eb
-	hlcoord 0, 14
-	ld b, $2
-	ld c, $12
-	ld d, h
-	ld e, l
-	callba Function16d61d
-	ld de, String_102804
-	hlcoord 2, 16
-	call PlaceString
-	ret
-; 102804
-
-String_102804: ; 102804
-	db "STATS     TRADE@"
-; 102814
-
-Function102814: ; 102814
-	ld a, [wcfa9]
-	ld [wcd52], a
-	ld a, [wcd4c]
-	dec a
-	ld [DefaultFlypoint], a
-	ld a, [wcd4d]
-	dec a
-	ld [wd003], a
-	call Function102ea8
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ld a, $0
-	ld [wcd4a], a
-	ld hl, wcd4b
-	set 1, [hl]
-
-Function10283c: ; 10283c
-	ld hl, wcd4b
-	set 2, [hl]
-	call Function1029c3
-	ret z
-	jr c, .asm_102852
-	ld a, $10
-	ld [wcd49], a
-	ld hl, wcd4b
-	set 1, [hl]
-	ret
-
-.asm_102852
-	ld a, $14
-	ld [wcd49], a
-	ld hl, wcd4b
-	set 3, [hl]
-	ld hl, wcd4b
-	set 1, [hl]
-	ret
-; 102862
-
-Function102862: ; 102862
-	ld a, $8
-	call Function1028e8
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 10286f
-
-Function10286f: ; 10286f
-	call Function1028fc
-	ret nc
-	ld a, [wcd52]
-	ld [wcfa9], a
-	ld a, [wcd51]
-	cp $8
-	jr nz, .asm_102886
-	ld a, $15
-	ld [wcd49], a
-	ret
-
-.asm_102886
-	call Function102ee7
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, $1e
-	ld [wcd4e], a
-	ld a, $3c
-	ld [wcd4f], a
-	ld a, $0
-	ld [wcd4a], a
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ret
-; 1028a5
-
-Function1028a5: ; 1028a5
-	ld a, $4
-	ld [wcd49], a
-	ret
-; 1028ab
-
-Function1028ab: ; 1028ab
-	ld a, [wcd52]
-	ld [wcfa9], a
-	call Function102f15
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, $c
-	ld [wcd49], a
-	ret
-; 1028bf
-
-Function1028bf: ; 1028bf
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-
-Function1028c6: ; 1028c6
-	xor a
-	ld [MonType], a
-	call Function102bac
-	ld a, $1d
-	ld [wcd49], a
-	ret
-; 1028d3
-
-Function1028d3: ; 1028d3
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-
-Function1028da: ; 1028da
-	ld a, $1
-	ld [MonType], a
-	call Function102bac
-	ld a, $1f
-	ld [wcd49], a
-	ret
-; 1028e8
-
-Function1028e8: ; 1028e8
-	ld hl, wcd4b
-	res 6, [hl]
-	ld [wcd50], a
-	callba Function100641
-	ld a, $0
-	ld [wcd4a], a
-	ret
-; 1028fc
-
-Function1028fc: ; 1028fc
-	call GetJoypad
-	callba Function1009f3
-	jr nc, .asm_102909
-	and a
-	ret
-
-.asm_102909
-	ld a, [wcd4a]
-	ld hl, Jumptable_102917
-	rst JumpTable
-	ret nc
-	ld a, $0
-	ld [wcd4a], a
-	ret
-; 102917
-
-Jumptable_102917: ; 102917
-	dw Function102933
-	dw Function10294f
-	dw Function10295d
-	dw Function10296e
-	dw Function102996
-; 102921
-
-Function102921: ; 102921
-	ld a, [wcd4a]
-	ld hl, Jumptable_10292f
-	rst JumpTable
-	ret nc
-	ld a, $0
-	ld [wcd4a], a
-	ret
-; 10292f
-
-Jumptable_10292f: ; 10292f
-	dw Function10295d
-	dw Function102984
-; 102933
-
-Function102933: ; 102933
-	ld hl, MenuDataHeader_1029bb
-	call LoadMenuDataHeader
-	call Function102e07
-	ld a, $32
-	ld [TextDelayFrames], a
-	ld hl, wcd4b
-	set 1, [hl]
-	ld a, [wcd4a]
-	inc a
-	ld [wcd4a], a
-	and a
-	ret
-; 10294f
-
-Function10294f: ; 10294f
-	ld a, [TextDelayFrames]
-	and a
-	ret nz
-	ld a, [wcd4a]
-	inc a
-	ld [wcd4a], a
-	and a
-	ret
-; 10295d
-
-Function10295d: ; 10295d
-	call Function10299e
-	ld a, $0
-	ld [wcd27], a
-	ld a, [wcd4a]
-	inc a
-	ld [wcd4a], a
-	and a
-	ret
-; 10296e
-
-Function10296e: ; 10296e
-	callba Function100382
-	and a
-	ld a, [wcd27]
-	bit 7, a
-	ret z
-	ld a, [wcd4a]
-	inc a
-	ld [wcd4a], a
-	and a
-	ret
-; 102984
-
-Function102984: ; 102984
-	callba Function100382
-	and a
-	ld a, [wcd27]
-	bit 7, a
-	ret z
-	call Function1029af
-	scf
-	ret
-; 102996
-
-Function102996: ; 102996
-	call Function1029af
-	call Function1c07
-	scf
-	ret
-; 10299e
-
-Function10299e: ; 10299e
-	ld a, $1
-	ld [wccb4], a
-	ld a, [wcd50]
-	ld [wccb5], a
-	ld a, $aa
-	ld [wcd51], a
-	ret
-; 1029af
-
-Function1029af: ; 1029af
-	ld hl, wcd4b
-	res 7, [hl]
-	ld a, [wcc61]
-	ld [wcd51], a
-	ret
-; 1029bb
-
-MenuDataHeader_1029bb: ; 1029bb
-	db $40 ; flags
-	db 10, 3 ; start coords
-	db 12, 15 ; end coords
-	dw NULL
-	db 1 ; default option
-; 1029c3
-
-Function1029c3: ; 1029c3
-	ld a, [wcd4a]
-	ld hl, Jumptable_1029cb
-	rst JumpTable
-	ret
-; 1029cb
-
-Jumptable_1029cb: ; 1029cb
-	dw Function1029cf
-	dw Function1029fe
-; 1029cf
-
-Function1029cf: ; 1029cf
-	call Function1d6e
-	hlcoord 10, 7
-	ld b, $3
-	ld c, $8
-	ld d, h
-	ld e, l
-	callba Function16d61d
-	ld de, String_102a26
-	hlcoord 12, 8
-	call PlaceString
-	ld hl, wcd4b
-	set 1, [hl]
-	ld de, Unknown_102a33
-	call Function1bb1
-	ld a, [wcd4a]
-	inc a
-	ld [wcd4a], a
-	xor a
-	ret
-; 1029fe
-
-Function1029fe: ; 1029fe
-	callba Function1009f3
-	ret c
-	callba Function241ba
-	ld a, c
-	ld hl, wcfa8
-	and [hl]
-	ret z
-	push af
-	call Function1c07
-	pop af
-	ld a, [wcfa9]
-	cp $1
-	jr nz, .asm_102a21
-	ld a, $1
-	and a
-	ret
-
-.asm_102a21
-	ld a, $1
-	and a
-	scf
-	ret
-; 102a26
-
-String_102a26: ; 102a26
-	db   "TRADE"
-	next "CANCEL"
-	db   "@"
-; 102a33
-
-Unknown_102a33:
-INCBIN "baserom.gbc", $102a33, $102a3b - $102a33
-
-Function102a3b: ; 102a3b
-	ld a, [wcd30]
-	ld [wc74e], a
-	ld hl, PlayerName
-	ld de, $c6e7
-	ld bc, $000b
-	call CopyBytes
-	ld a, [wcd4c]
-	dec a
-	ld c, a
-	ld b, $0
-	ld hl, PartySpecies
-	add hl, bc
-	ld a, [hl]
-	ld [$c6d0], a
-	ld a, [wcd4c]
-	dec a
-	ld hl, PartyMonOT
-	call SkipNames
-	ld de, $c6f2
-	ld bc, $000b
-	call CopyBytes
-	ld a, [wcd4c]
-	dec a
-	ld hl, PartyMon1ID
-	call GetPartyLocation
-	ld a, [hli]
-	ld [$c6ff], a
-	ld a, [hl]
-	ld [wc700], a
-	ld a, [wcd4c]
-	dec a
-	ld hl, PartyMon1DVs
-	call GetPartyLocation
-	ld a, [hli]
-	ld [$c6fd], a
-	ld a, [hl]
-	ld [$c6fe], a
-	ld a, [wcd4c]
-	dec a
-	ld hl, PartyMon1Species
-	call GetPartyLocation
-	ld b, h
-	ld c, l
-	callba GetCaughtGender
-	ld a, c
-	ld [wc701], a
-	ld hl, wd26b
-	ld de, wc719
-	ld bc, $000b
-	call CopyBytes
-	ld a, [wcd4d]
-	dec a
-	ld c, a
-	ld b, $0
-	ld hl, OTPartySpecies
-	add hl, bc
-	ld a, [hl]
-	ld [wc702], a
-	ld a, [wcd4d]
-	dec a
-	ld hl, OTPartyMonOT
-	call SkipNames
-	ld de, wc724
-	ld bc, $000b
-	call CopyBytes
-	ld a, [wcd4d]
-	dec a
-	ld hl, OTPartyMon1ID
-	call GetPartyLocation
-	ld a, [hli]
-	ld [wc731], a
-	ld a, [hl]
-	ld [wc732], a
-	ld a, [wcd4d]
-	dec a
-	ld hl, OTPartyMon1DVs
-	call GetPartyLocation
-	ld a, [hli]
-	ld [wc72f], a
-	ld a, [hl]
-	ld [wc730], a
-	ld a, [wcd4d]
-	dec a
-	ld hl, OTPartyMon1Species
-	call GetPartyLocation
-	ld b, h
-	ld c, l
-	callba GetCaughtGender
-	ld a, c
-	ld [wc733], a
-	ret
-; 102b12
-
-Function102b12: ; 102b12
-	ld c, $64
-	call DelayFrames
-	call Function102d9a
-	call Functione58
-	ld a, [wcd2f]
-	and a
-	jr nz, .asm_102b2b
-	callba Function108026
-	jr .asm_102b31
-
-.asm_102b2b
-	callba Function10802a
-
-.asm_102b31
-	ret
-; 102b32
-
-Function102b32: ; 102b32
-	ld a, [wcd4c]
-	dec a
-	ld [CurPartyMon], a
-	ld a, $1
-	ld [wd1e9], a
-	callba Function421d8
-	call Function102d9a
-	call Function102dd3
-	call Function102dec
-	ret
-; 102b4e
-
-Function102b4e: ; 102b4e
-	ld a, $1
-	ld [MonType], a
-	ld a, [wcfa9]
-	push af
-	ld de, Unknown_102b73
-	call Function1bb1
-	pop af
-	ld [wcfa9], a
-	ld a, [OTPartyCount]
-	ld [wcfa3], a
-	ret
-; 102b68
-
-Function102b68: ; 102b68 ; unreferenced
-	xor a
-	ld hl, wcf71
-	ld bc, $0010
-	call ByteFill
-	ret
-; 102b73
-
-Unknown_102b73:
-INCBIN "baserom.gbc", $102b73, $102b7b - $102b73
-
-Function102b7b: ; 102b7b
-	xor a
-	ld [MonType], a
-	ld a, [wcfa9]
-	push af
-	ld de, Unknown_102b94
-	call Function1bb1
-	pop af
-	ld [wcfa9], a
-	ld a, [PartyCount]
-	ld [wcfa3], a
-	ret
-; 102b94
-
-Unknown_102b94:
-INCBIN "baserom.gbc", $102b94, $102b9c - $102b94
-
-Function102b9c: ; 102b9c
-	ld a, [wcd4d]
-	dec a
-	hlcoord 6, 9
-	ld bc, $0014
-	call AddNTimes
-	ld [hl], $ec
-	ret
-; 102bac
-
-Function102bac: ; 102bac
-	ld a, [wcfa9]
-	dec a
-	ld [CurPartyMon], a
-	call LowVolume
-	call ClearSprites
-	callba Function4dc8f
-	ld a, [CurPartyMon]
-	inc a
-	ld [wcfa9], a
-	call Function102d9a
-	call ClearPalettes
-	call DelayFrame
-	call MaxVolume
-	call Function102dd3
-	call Function102dec
-	call Function102db7
-	ret
-; 102bdc
-
-Function102bdc: ; 102bdc
-	ld a, [wcd4d]
-	dec a
-	ld hl, OTPartyMon1Species
-	call GetPartyLocation
-	push hl
-	ld a, [wcd4d]
-	ld c, a
-	ld b, $0
-	ld hl, OTPartyCount
-	add hl, bc
-	ld a, [hl]
-	pop hl
-	cp EGG
-	jr z, .asm_102bfa
-	cp [hl]
-	jr nz, .asm_102c05
-
-.asm_102bfa
-	ld bc, OTPartyMon1Level - OTPartyMon1
-	add hl, bc
-	ld a, [hl]
-	cp MAX_LEVEL + 1
-	jr nc, .asm_102c05
-	and a
-	ret
-
-.asm_102c05
-	scf
-	ret
-; 102c07
-
-Function102c07: ; 102c07
-	call Function102c14
-	call Function102c3b
-	call Function102c21
-	call Function102c2e
-	ret
-; 102c14
-
-Function102c14: ; 102c14
-	ld hl, PartySpecies
-	ld de, OTPartySpecies
-	ld bc, $0001
-	call Function102c71
-	ret
-; 102c21
-
-Function102c21: ; 102c21
-	ld hl, PartyMonNicknames
-	ld de, OTPartyMonNicknames
-	ld bc, $000b
-	call Function102c71
-	ret
-; 102c2e
-
-Function102c2e: ; 102c2e
-	ld hl, PartyMonOT
-	ld de, OTPartyMonOT
-	ld bc, $000b
-	call Function102c71
-	ret
-; 102c3b
-
-Function102c3b: ; 102c3b
-	ld hl, PartyMon1
-	ld de, OTPartyMon1
-	ld bc, $0030
-	call Function102c71
-	ret
-; 102c48
-
-Function102c48: ; 102c48
-	callba Function10165a
-	ld a, $0
-	call GetSRAMBank
-	ld hl, $a600
-	ld de, $c608
-	ld bc, $002f
-	call Function102c71
-	call CloseSRAM
-	ld hl, $c608
-	ld de, wda00
-	ld bc, $01e0
-	ld a, $5
-	call FarCopyWRAM
-	ret
-; 102c71
-
-Function102c71: ; 102c71
-	ld a, [wcd4c]
-	dec a
-	call AddNTimes
-	push hl
-	ld h, d
-	ld l, e
-	ld a, [wcd4d]
-	dec a
-	call AddNTimes
-	pop de
-	call SwapBytes
-	ret
-; 102c87
-
-Function102c87: ; 102c87
-	ld a, [wcf63]
-	push af
-	ld a, [wcf64]
-	push af
-	ld a, [wcd4c]
-	ld [wcf63], a
-	ld a, [PartyCount]
-	ld [wcf64], a
-	ld a, $0
-	ld hl, $a600
-	ld de, $c608
-	ld bc, $011a
-	call Function102d3e
-	call Function102cee
-	ld a, $0
-	ld hl, $c608
-	ld de, $a600
-	ld bc, $011a
-	call Function102d3e
-	ld a, [wcd4d]
-	ld [wcf63], a
-	ld a, [OTPartyCount]
-	ld [wcf64], a
-	ld a, $5
-	ld hl, wda00
-	ld de, $c608
-	ld bc, $011a
-	call FarCopyWRAM
-	call Function102cee
-	ld a, $5
-	ld hl, $c608
-	ld de, wda00
-	ld bc, $011a
-	call FarCopyWRAM
-	pop af
-	ld [wcf64], a
-	pop af
-	ld [wcf63], a
-	ret
-; 102cee
-
-Function102cee: ; 102cee
-	ld a, [wcf63]
-	dec a
-	call Function102d34
-	ld de, DefaultFlypoint
-	ld bc, $002f
-	call CopyBytes
-	ld a, [wcf63]
-	ld c, a
-	ld a, $6
-	sub c
-	ret z
-	ld bc, $002f
-	ld hl, $0000
-	call AddNTimes
-	push hl
-	ld a, [wcf63]
-	dec a
-	call Function102d34
-	ld d, h
-	ld e, l
-	ld hl, $002f
-	add hl, de
-	pop bc
-	call CopyBytes
-	ld a, [wcf64]
-	dec a
-	call Function102d34
-	ld d, h
-	ld e, l
-	ld hl, DefaultFlypoint
-	ld bc, $002f
-	call CopyBytes
-	ret
-; 102d34
-
-Function102d34: ; 102d34
-	ld hl, $c608
-	ld bc, $002f
-	call AddNTimes
-	ret
-; 102d3e
-
-Function102d3e: ; 102d3e
-	call GetSRAMBank
-	call CopyBytes
-	call CloseSRAM
-	ret
-; 102d48
-
-Function102d48: ; 102d48
-	ld a, [wcd4c]
-	ld e, a
-	ld d, 0
-	ld hl, PartyCount
-	add hl, de
-	ld a, [hl]
-	ld [wd265], a
-	cp EGG
-	jr z, .asm_102d6d
-	dec a
-	call SetSeenAndCaughtMon
-	ld a, [wcd4c]
-	dec a
-	ld bc, PartyMon2 - PartyMon1
-	ld hl, PartyMon1Happiness
-	call AddNTimes
-	ld [hl], BASE_HAPPINESS
-
-.asm_102d6d
-	ld a, [wd265]
-	cp UNOWN
-	jr nz, .asm_102d98
-	ld a, [wcd4c]
-	dec a
-	ld bc, PartyMon2 - PartyMon1
-	ld hl, PartyMon1DVs
-	call AddNTimes
-	predef GetUnownLetter
-	callba Functionfba18
-	ld a, [wdef4]
-	and a
-	jr nz, .asm_102d98
-	ld a, [UnownLetter]
-	ld [wdef4], a
-
-.asm_102d98
-	and a
-	ret
-; 102d9a
-
-Function102d9a: ; 102d9a
-	ld a, $7f
-	ld hl, SpritesEnd
-	ld bc, $0168
-	call ByteFill
-	ld a, $7
-	ld hl, AttrMap
-	ld bc, $0168
-	call ByteFill
-	callba Function104000
-	ret
-; 102db7
-
-Function102db7: ; 102db7
-	call Function102e4f
-	call Function102e3e
-	ld hl, wcd4b
-	set 1, [hl]
-	ret
-; 102dc3
-
-Function102dc3: ; 102dc3
-	hlcoord 0, 12
-	ld b, $4
-	ld c, $12
-	ld d, h
-	ld e, l
-	callba Function16d61d
-	ret
-; 102dd3
-
-Function102dd3: ; 102dd3
-	call DisableLCD
-	ld de, GFX_1032a2
-	ld hl, VTiles0
-	lb bc, BANK(GFX_1032a2), 4
-	call Get2bpp
-	callba Function16d421
-	call EnableLCD
-	ret
-; 102dec
-
-Function102dec: ; 102dec
-	ld hl, Unknown_1032e2
-	ld de, Unkn2Pals
-	ld bc, $0020
-	ld a, $5
-	call FarCopyWRAM
-	callba Function49742
-	call Function32f9
-	call DelayFrame
-	ret
-; 102e07
-
-Function102e07: ; 102e07
-	hlcoord 3, 10
-	ld b, $1
-	ld c, $b
-	ld a, [IsInBattle]
-	and a
-	jr z, .asm_102e19
-	call TextBox
-	jr .asm_102e28
-
-.asm_102e19
-	hlcoord 3, 10
-	ld b, $1
-	ld c, $b
-	ld d, h
-	ld e, l
-	callba Function16d61d
-
-.asm_102e28
-	ld de, String_102e32
-	hlcoord 4, 11
-	call PlaceString
-	ret
-; 102e32
-
-String_102e32: ; 102e32
-	db "Waiting...!@"
-; 102e3e
-
-Function102e3e: ; 102e3e
-	ld de, String_102e48
-	hlcoord 10, 17
-	call PlaceString
-	ret
-; 102e48
-
-String_102e48: ; 102e48
-	db "CANCEL@"
-; 102e4f
-
-Function102e4f: ; 102e4f
-	callba Function16d42e
-	callba Function49797
-	ld de, PlayerName
-	hlcoord 4, 0
-	call PlaceString
-	ld a, $14
-	ld [bc], a
-	ld de, wd26b
-	hlcoord 4, 8
-	call PlaceString
-	ld a, $14
-	ld [bc], a
-	hlcoord 7, 1
-	ld de, PartySpecies
-	call Function102e86
-	hlcoord 7, 9
-	ld de, OTPartySpecies
-	call Function102e86
-	ret
-; 102e86
-
-Function102e86: ; 102e86
-	ld c, $0
-.asm_102e88
-	ld a, [de]
-	cp $ff
-	ret z
-	ld [wd265], a
-	push bc
-	push hl
-	push de
-	push hl
-	ld a, c
-	ld [hDividend], a
-	call GetPokemonName
-	pop hl
-	call PlaceString
-	pop de
-	inc de
-	pop hl
-	ld bc, $0014
-	add hl, bc
-	pop bc
-	inc c
-	jr .asm_102e88
-; 102ea8
-
-Function102ea8: ; 102ea8
-	call Function102dc3
-	ld a, [wcd4c]
-	dec a
-	ld c, a
-	ld b, $0
-	ld hl, PartySpecies
-	add hl, bc
-	ld a, [hl]
-	ld [wd265], a
-	call GetPokemonName
-	ld hl, StringBuffer1
-	ld de, StringBuffer2
-	ld bc, $000b
-	call CopyBytes
-	ld a, [wcd4d]
-	dec a
-	ld c, a
-	ld b, $0
-	ld hl, OTPartySpecies
-	add hl, bc
-	ld a, [hl]
-	ld [wd265], a
-	call GetPokemonName
-	ld hl, UnknownText_0x102ee2
-	call PrintTextBoxText
-	ret
-; 102ee2
-
-UnknownText_0x102ee2: ; 102ee2
-	text_jump UnknownText_0x1bd286
-	db "@"
-
-Function102ee7: ; 102ee7
-	call Function102dc3
-	ld de, String_102ef4
-	hlcoord 1, 14
-	call PlaceString
-	ret
-; 102ef4
-
-String_102ef4: ; 102ef4
-	db   "Too bad! The trade"
-	next "was canceled!"
-	db   "@"
-; 102f15
-
-Function102f15: ; 102f15
-	call Function102dc3
-	ld de, String_102f22
-	hlcoord 1, 14
-	call PlaceString
-	ret
-; 102f22
-
-String_102f22: ; 102f22
-	db "こうかんを キャンセルしました@"
-; 102f32
-
-Function102f32: ; 102f32
-	call Function102dc3
-	ld de, String_102f3f
-	hlcoord 1, 14
-	call PlaceString
-	ret
-; 102f3f
-
-String_102f3f: ; 102f3f
-	db "Trade completed!@"
-; 102f50
-
-Function102f50: ; 102f50
-	call Function102dc3
-	ld de, String_102f5d
-	hlcoord 1, 14
-	call PlaceString
-	ret
-; 102f5d
-
-String_102f5d: ; 102f5d
-	db "しょうしょう おまち ください@"
-; 102f6d
-
-Function102f6d: ; 102f6d
-	call Function102dc3
-	ld de, String_102f7a
-	hlcoord 1, 14
-	call PlaceString
-	ret
-; 102f7a
-
-String_102f7a: ; 102f7a
-	db "しゅうりょう します@"
-; 102f85
-
-Function102f85: ; 102f85
-	ld a, [wd003]
-	ld c, a
-	ld b, $0
-	ld hl, OTPartySpecies
-	add hl, bc
-	ld a, [hl]
-	ld [wd265], a
-	call GetPokemonName
-	call Function102dc3
-	ld de, String_102fb2
-	hlcoord 1, 14
-	call PlaceString
-	ld de, StringBuffer1
-	hlcoord 13, 14
-	call PlaceString
-	ld de, String_102fcc
-	call PlaceString
-	ret
-; 102fb2
-
-String_102fb2: ; 102fb2
-	db   "あいてがわ", $4a, "えらんだ "
-	next "いじょう", $4a, "あるようです!!"
-	db   "@"
-; 102fcc
-
-String_102fcc: ; 102fcc
-	db "に@"
-; 102fce
-
-Function102fce: ; 102fce
-	call Function102dc3
-	ld de, String_102fdb
-	hlcoord 1, 14
-	call PlaceString
-	ret
-; 102fdb
-
-String_102fdb: ; 102fdb
-	db   "あいてがわ", $25, "せんたくに"
-	next "いじょう", $4a, "あるようです!!"
-	done
-; 102ff5
-
-Function102ff5: ; 102ff5
-	call Function102dc3
-	ld de, String_103002
-	hlcoord 1, 14
-	call PlaceString
-	ret
-; 103002
-
-String_103002: ; 103002
-	db   "その#を こうかんすると"
-	next "せんとう できなく なっちゃうよ!"
-	db   "@"
-; 103021
-
-Function103021: ; 103021
-	call Function102dc3
-	ld de, String_10302e
-	hlcoord 1, 14
-	call PlaceString
-	ret
-; 10302e
-
-String_10302e: ; 10302e
-	db   "あいてが ちゅうしを えらんだので"
-	next "こうかんを ちゅうし します"
-	db   "@"
-; 10304f
-
-Function10304f: ; 10304f
-	xor a
-	ld [AttrMapEnd], a
-	ld [wcf42], a
-	ld [wcf44], a
-	ld [wcf45], a
-	ret
-; 10305d
-
-Function10305d: ; 10305d
-	nop
-	ld a, [AttrMapEnd]
-	and a
-	ret z
-	call Function10307f
-	ret c
-	call Function103094
-	call Function10306e
-	ret
-; 10306e
-
-Function10306e: ; 10306e
-	ld a, $1
-	ld [hOAMUpdate], a
-	call ClearSprites
-	ld de, Sprites
-	call Function1030cd
-	xor a
-	ld [hOAMUpdate], a
-	ret
-; 10307f
-
-Function10307f: ; 10307f
-	ld c, $2
-	ld hl, wcd4b
-	bit 7, [hl]
-	jr z, .asm_10308a
-	ld c, $1
-
-.asm_10308a
-	ld hl, wcf45
-	inc [hl]
-	ld a, [hl]
-	cp c
-	ret c
-	xor a
-	ld [hl], a
-	ret
-; 103094
-
-Function103094: ; 103094
-	ld hl, wcd4b
-	bit 7, [hl]
-	jr nz, .asm_1030c0
-	ld a, [wcf42]
-	bit 7, a
-	jr nz, .asm_1030b2
-	ld a, [wcf44]
-	inc a
-	ld [wcf44], a
-	cp $2c
-	ret nz
-	ld hl, wcf42
-	set 7, [hl]
-	ret
-
-.asm_1030b2
-	ld a, [wcf44]
-	dec a
-	ld [wcf44], a
-	ret nz
-	ld hl, wcf42
-	res 7, [hl]
-	ret
-
-.asm_1030c0
-	ld hl, wcf44
-	ld a, [hl]
-	and a
-	jr z, .asm_1030ca
-	dec a
-	ld [hl], a
-	ret nz
-
-.asm_1030ca
-	ld [hl], $2c
-	ret
-; 1030cd
-
-Function1030cd: ; 1030cd
-	ld a, [wcf44]
-	ld l, a
-	ld h, 0
-	add hl, hl
-	add hl, hl
-	add hl, hl
-	ld bc, Unknown_103112
-	add hl, bc
-	ld b, $30
-	ld c, $8
-.asm_1030de
-	push hl
-	ld hl, wcd4b
-	bit 7, [hl]
-	pop hl
-	ld a, $0
-	jr z, .asm_1030eb
-	ld a, $5
-.asm_1030eb
-
-	add [hl]
-	inc hl
-	push hl
-
-	add a
-	add a
-
-	add Unknown_10327a % $100
-	ld l, a
-	ld a, Unknown_10327a / $100
-	adc 0
-	ld h, a
-
-	ld a, b
-	add [hl]
-	inc hl
-	ld [de], a
-	inc de
-	ld a, $a
-	add [hl]
-	inc hl
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	pop hl
-	ld a, b
-	add $8
-	ld b, a
-	dec c
-	jr nz, .asm_1030de
-	ret
-; 103112
-
-Unknown_103112: ; 103112
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $01, $00, $00, $00, $00, $00, $00, $00
-	db $02, $01, $00, $00, $00, $00, $00, $00
-	db $03, $02, $01, $00, $00, $00, $00, $00
-	db $04, $03, $02, $01, $00, $00, $00, $00
-	db $04, $04, $03, $02, $01, $00, $00, $00
-	db $04, $04, $04, $03, $02, $01, $00, $00
-	db $04, $04, $04, $04, $03, $02, $01, $00
-	db $04, $04, $04, $04, $04, $03, $02, $01
-	db $04, $04, $04, $04, $04, $04, $03, $02
-	db $04, $04, $04, $04, $04, $04, $04, $03
-	db $04, $04, $04, $04, $04, $04, $04, $04
-	db $04, $04, $04, $04, $04, $04, $04, $04
-	db $04, $04, $04, $04, $04, $04, $04, $04
-	db $04, $04, $04, $04, $04, $04, $04, $04
-	db $04, $04, $04, $04, $04, $04, $04, $04
-	db $04, $04, $04, $04, $04, $04, $04, $04
-	db $04, $04, $04, $04, $04, $04, $04, $04
-	db $04, $04, $04, $04, $04, $04, $04, $04
-	db $03, $04, $04, $04, $04, $04, $04, $04
-	db $02, $03, $04, $04, $04, $04, $04, $04
-	db $01, $02, $03, $04, $04, $04, $04, $04
-	db $00, $01, $02, $03, $04, $04, $04, $04
-	db $00, $00, $01, $02, $03, $04, $04, $04
-	db $00, $00, $00, $01, $02, $03, $04, $04
-	db $00, $00, $00, $00, $01, $02, $03, $04
-	db $00, $00, $00, $00, $00, $01, $02, $03
-	db $00, $00, $00, $00, $00, $00, $01, $02
-	db $00, $00, $00, $00, $00, $00, $00, $01
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $00, $00, $00, $00, $00, $00, $00, $00
-	db $00, $00, $00, $00, $00, $00, $00, $00
-; 10327a
-
-Unknown_10327a: ; 10327a
-	db $00, $00, $00, $00
-	db $00, $00, $01, $00
-	db $00, $00, $02, $00
-	db $00, $00, $03, $00
-	db $00, $00, $01, $01
-	db $00, $00, $00, $00
-	db $00, $00, $01, $02
-	db $00, $00, $02, $02
-	db $00, $00, $03, $02
-	db $00, $00, $01, $03
-
-GFX_1032a2:
-INCBIN "gfx/unknown/1032a2.2bpp"
-
-Unknown_1032e2:
-	db $00, $00, $ff, $1f
-	db $f4, $1b, $8d, $42
-	db $00, $00, $67, $45
-	db $00, $00, $00, $00
-	db $00, $00, $1f, $13
-	db $99, $01, $ff, $10
-	db $00, $00, $19, $00
-	db $00, $00, $00, $00
-; 103302
-
-Function103302: ; 103302
-	call Function103309
-	call Function103362
-	ret
-; 103309
-
-Function103309: ; 103309
-	xor a
-	ld [hBGMapMode], a
-	ld hl, Buffer1
-	ld bc, $000a
-	xor a
-	call ByteFill
-	ld a, $4
-	call GetSRAMBank
-	ld a, [wdc41]
-	ld [$a60c], a
-	ld [Buffer1], a
-	call CloseSRAM
-	call Function1035c6
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	ld a, [hli]
-	ld [wd1ef], a
-	ld a, [hli]
-	ld [wd1ec], a
-	ld a, [hli]
-	ld [wd1ed], a
-	ld h, d
-	ld l, e
-	call Function3eea
-	ld hl, wd1ec
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld a, [hl]
-	ld [wd1ee], a
-	call Function1034be
-	call Function1ad2
-	callba Function104000
-	ld a, $1
-	ld [wd1f0], a
-	call Function10339a
-	ret
-; 103362
-
-Function103362: ; 103362
-.asm_103362
-	ld a, [wd1f0]
-	ld [wd1f1], a
-	call Function1033af
-	call Function10339a
-	call Function10342c
-	callba Function10402d
-	ld a, [Buffer2]
-	bit 7, a
-	jr z, .asm_103362
-	ld hl, Buffer2
-	bit 6, [hl]
-	jr z, .asm_103398
-	ld a, $4
-	call GetSRAMBank
-	ld a, [Buffer1]
-	ld [$a60c], a
-	ld [wdc41], a
-	call CloseSRAM
-	xor a
-	ret
-
-.asm_103398
-	scf
-	ret
-; 10339a
-
-Function10339a: ; 10339a
-	ld a, [wd1f0]
-	ld [wd1f2], a
-	ld c, a
-	ld b, $0
-	ld hl, wd1ec
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	add hl, bc
-	ld a, [hl]
-	ld [wd1f3], a
-	ret
-; 1033af
-
-Function1033af: ; 1033af
-	call GetJoypad
-	ld a, [hJoyPressed]
-	bit 5, a
-	jr nz, .left
-	bit 4, a
-	jr nz, .right
-	bit 1, a
-	jr nz, .b
-	bit 0, a
-	jr nz, .a
-	bit 6, a
-	jr nz, .up
-	bit 7, a
-	jr nz, .down
-	ret
-
-.up
-	ld a, [wd1f0]
-	dec a
-	ld [wd1f0], a
-	cp $1
-	ret nc
-	ld a, [wd1ee]
-	ld [wd1f0], a
-	ret
-
-.down
-	ld a, [wd1f0]
-	inc a
-	ld [wd1f0], a
-	ld c, a
-	ld a, [wd1ee]
-	cp c
-	ret nc
-	ld a, $1
-	ld [wd1f0], a
-	ret
-
-.b
-	call PlayClickSFX
-	ld hl, Buffer2
-	set 7, [hl]
-	ret
-
-.a
-	ld a, [wd1f3]
-	cp $3
-	jr nz, .asm_103412
-	ld de, SFX_TRANSACTION
-	call PlaySFX
-	ld hl, Buffer2
-	set 7, [hl]
-	ld hl, Buffer2
-	set 6, [hl]
-	ret
-
-.left
-.right
-.asm_103412
-	ld a, [wd1f3]
-	cp $3
-	ret z
-	ld de, SFX_PUSH_BUTTON
-	call PlaySFX
-	ld bc, $0008
-	call Function10350f
-	ld a, [Buffer1]
-	xor e
-	ld [Buffer1], a
-	ret
-; 10342c
-
-Function10342c: ; 10342c
-	ld a, [wd1f0]
-	ld [wd1f2], a
-	call Function103490
-	call Function10343c
-	call Function1034a7
-	ret
-; 10343c
-
-Function10343c: ; 10343c
-	ld a, [wd1f3]
-	cp $2
-	jr nz, .asm_103452
-	ld bc, $0001
-	call Function1034f7
-	ld c, $12
-	ld b, $1
-	call Function1034e0
-	jr .asm_10345f
-
-.asm_103452
-	ld bc, $ffed
-	call Function1034f7
-	ld c, $12
-	ld b, $2
-	call Function1034e0
-
-.asm_10345f
-	ld bc, $0000
-	call Function10350f
-	ld bc, $0001
-	call Function103487
-	ld bc, $0008
-	call Function10350f
-	ld a, [Buffer1]
-	and e
-	ld bc, $0002
-	jr z, .asm_10347d
-	ld bc, $0004
-
-.asm_10347d
-	call Function10350f
-	ld bc, $000b
-	call Function103487
-	ret
-; 103487
-
-Function103487: ; 103487
-	push de
-	call Function1034f7
-	pop de
-	call PlaceString
-	ret
-; 103490
-
-Function103490: ; 103490
-	hlcoord 0, 15
-	ld c, $14
-	ld b, $3
-	call Function1034e0
-	ld bc, $0006
-	call Function10350f
-	hlcoord 1, 16
-	call PlaceString
-	ret
-; 1034a7
-
-Function1034a7: ; 1034a7
-	ld a, [wd1f1]
-	ld [wd1f2], a
-	ld bc, $000a
-	call Function1034f7
-	ld [hl], $7f
-	ld bc, $000a
-	call Function1034f1
-	ld [hl], $ed
-	ret
-; 1034be
-
-Function1034be: ; 1034be
-	ld a, $1
-	ld [wd1f2], a
-	ld hl, wd1ec
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld a, [hli]
-.asm_1034ca
-	push af
-	ld a, [hli]
-	push hl
-	ld [wd1f3], a
-	call Function10343c
-	ld hl, wd1f2
-	inc [hl]
-	pop hl
-	pop af
-	dec a
-	jr nz, .asm_1034ca
-	call Function103490
-	ret
-; 1034e0
-
-Function1034e0: ; 1034e0
-	push bc
-	push hl
-	call ClearBox
-	pop hl
-	ld bc, AttrMap - TileMap
-	add hl, bc
-	pop bc
-	ld a, $6
-	call Functionfb8
-	ret
-; 1034f1
-
-Function1034f1: ; 1034f1
-	ld a, [wd1f0]
-	ld [wd1f2], a
-
-Function1034f7: ; 10134f7
-	ld hl, TileMap
-	add hl, bc
-	ld a, [wd1ef]
-	ld bc, SCREEN_WIDTH
-	call AddNTimes
-	ld a, [wd1f2]
-	dec a
-	ld bc, 40
-	call AddNTimes
-	ret
-; 10350f
-
-Function10350f: ; 10350f
-	ld a, [wd1f3]
-	push bc
-	ld hl, Unknown_103522
-	ld bc, $0009
-	call AddNTimes
-	pop bc
-	add hl, bc
-	ld a, [hli]
-	ld d, [hl]
-	ld e, a
-	ret
-; 103522
-
-Unknown_103522: ; 103522
-	dw String_103546
-	dw String_103598
-	dw String_1035a0
-	dw String_10355f
-	db $1
-	dw String_10354f
-	dw String_1035a8
-	dw String_1035b1
-	dw String_103571
-	db $2
-	dw String_103557
-	dw String_1035ba
-	dw String_1035bd
-	dw String_103585
-	db $4
-	dw String_103545
-	dw String_1035c1
-	dw String_1035c1
-	dw String_103545
-
-String_103545: db "@"
-String_103546: db "せんとう アニメ@"
-String_10354f: db "でんわばんごう@"
-String_103557: db "めいしこうかん@"
-String_10355f: db "でんわを かけるひとが きめられる@"
-String_103571: db "でんわばんごうの にゅうりょくのしかた@"
-String_103585: db "あたらしいめいしが あれば こうかん@"
-String_103598: db "とばして みる@"
-String_1035a0: db "じっくり みる@"
-String_1035a8: db "めいしからえらぶ@"
-String_1035b1: db "すうじで いれる@"
-String_1035ba: db "する@"
-String_1035bd: db "しない@"
-String_1035c1: db "けってい@"
-; 1035c6
-
-Function1035c6: ; 1035c6
-	callba Function10138b
-	ld b, 0
-	ld hl, Unknown_1035d7
-	add hl, bc
-	add hl, bc
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ret
-; 1035d7
-
-Unknown_1035d7: ; 1035d7
-	dw Unknown_1035e7
-	dw Unknown_1035f3
-	dw Unknown_103608
-	dw Unknown_103608
-	dw Unknown_1035fe
-
-	dw Function103612
-	dw Function103612
-	dw Function103612
-
-Unknown_1035e7: ; 1035e7
-	dwcoord 0, 6
-	db $12, $07, $07
-	dw .this
-.this
-	db 4, 2, 1, 0, 3
-
-Unknown_1035f3: ; 1035f3
-	dwcoord 0, 7
-	db $12, $06, $09
-	dw .this
-.this
-	db 3, 2, 1, 3
-
-Unknown_1035fe: ; 1035fe
-	dwcoord 0, 9
-	db $12, $04, $0b
-	dw .this
-.this
-	db 2, 0, 3
-
-Unknown_103608: ; 103608
-	dwcoord 0, 9
-	db $12, $04, $0b
-	dw .this
-.this
-	db 2, 2, 3
-; 103612
-
-Function103612: ; 103612
-	ld hl, MenuDataHeader_103640
-	call LoadMenuDataHeader
-	ld a, [wdc40]
-	and $f
-	jr z, .asm_103622
-	ld [wcf88], a
-
-.asm_103622
-	call Function1d81
-	call Function1c17
-	jr c, .asm_10363b
-	ld a, [wcfa9]
-	ld [ScriptVar], a
-	ld c, a
-	ld a, [wdc40]
-	and $f0
-	or c
-	ld [wdc40], a
-	ret
-
-.asm_10363b
-	xor a
-	ld [ScriptVar], a
-	ret
-; 103640
-
-MenuDataHeader_103640: ; 103640
-	db $40 ; flags
-	db  6, 13 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_103648
-	db 1 ; default option
-
-MenuData2_103648: ; 103648
-	db $80 ; flags
-	db 2
-	db "モバイル@"
-	db "ケーブル@"
-; 103654
-
-Function103654: ; 103654
-	callba Function10632f
-	bit 7, c
-	jr nz, .asm_103666
-	ld hl, wcd2a
-	res 5, [hl]
-	ld c, $2
-	ret
-
-.asm_103666
-	ld hl, wcd2a
-	set 5, [hl]
-	ld c, $1
-	ret
-; 10366e
-
-Function10366e: ; 10366e
-	callba Function10632f
-	bit 7, c
-	jr z, .asm_10369b
-	ld hl, UnknownText_0x10375d
-	call PrintText
-	call YesNoBox
-	jr c, .asm_103696
-	callba Function8b1e1
-	jr nc, .asm_103690
-	call Functiona36
-	jr .asm_103696
-
-.asm_103690
-	ld a, $1
-	ld [ScriptVar], a
-	ret
-
-.asm_103696
-	xor a
-	ld [ScriptVar], a
-	ret
-
-.asm_10369b
-	ld hl, wdc40
-	bit 7, [hl]
-	set 7, [hl]
-	jr nz, .asm_1036b5
-	ld hl, UnknownText_0x103762
-	call PrintText
-	call YesNoBox
-	jr c, .asm_1036b5
-	call Function1036f9
-	call Functiona36
-
-.asm_1036b5
-	call Function103700
-	jr c, .asm_1036f4
-	ld hl, MenuDataHeader_103747
-	call LoadMenuDataHeader
-	call Function1d81
-	call Function1c07
-	jr c, .asm_1036f4
-	ld a, [wcfa9]
-	cp $1
-	jr z, .asm_1036d9
-	cp $2
-	jr z, .asm_1036f4
-	cp $3
-	jr z, .asm_1036ec
-	jr .asm_1036b5
-
-.asm_1036d9
-	callba Function8b1e1
-	jr nc, .asm_1036e6
-	call Functiona36
-	jr .asm_1036f4
-
-.asm_1036e6
-	ld a, $1
-	ld [ScriptVar], a
-	ret
-
-.asm_1036ec
-	call Function1036f9
-	call Functiona36
-	jr .asm_1036b5
-
-.asm_1036f4
-	xor a
-	ld [ScriptVar], a
-	ret
-; 1036f9
-
-Function1036f9: ; 1036f9
-	ld hl, UnknownText_0x103767
-	call PrintText
-	ret
-; 103700
-
-Function103700: ; 103700
-	ld c, $a
-	ld hl, wdc20
-	bit 4, [hl]
-	jr z, .asm_10370f
-	callba Function1008a6
-
-.asm_10370f
-	ld a, c
-	ld [StringBuffer2], a
-	ld a, [StringBuffer2]
-	cp $5
-	jr nc, .asm_103724
-	cp $2
-	jr nc, .asm_10372c
-	cp $1
-	jr nc, .asm_103734
-	jr .asm_10373c
-
-.asm_103724
-	ld hl, UnknownText_0x10376c
-	call PrintText
-	and a
-	ret
-
-.asm_10372c
-	ld hl, UnknownText_0x103771
-	call PrintText
-	and a
-	ret
-
-.asm_103734
-	ld hl, UnknownText_0x103776
-	call PrintText
-	and a
-	ret
-
-.asm_10373c
-	ld hl, UnknownText_0x10377b
-	call PrintText
-	call Functiona36
-	scf
-	ret
-; 103747
-
-MenuDataHeader_103747: ; 103747
-	db $40 ; flags
-	db  5, 13 ; start coords
-	db 11, 19 ; end coords
-	dw MenuData2_10374f
-	db 1 ; default option
-
-MenuData2_10374f: ; 10374f
-	db $c0 ; flags
-	db 3
-	db "はい@"
-	db "やめる@"
-	db "せつめい@"
-; 10375d
-
-UnknownText_0x10375d: ; 0x10375d
-	text_jump UnknownText_0x1c422a
-	db "@"
-; 0x103762
-UnknownText_0x103762: ; 0x103762
-	text_jump UnknownText_0x1c4275
-	db "@"
-; 0x103767
-UnknownText_0x103767: ; 0x103767
-	text_jump UnknownText_0x1c4298
-	db "@"
-; 0x10376c
-UnknownText_0x10376c: ; 0x10376c
-	text_jump UnknownText_0x1c439c
-	db "@"
-; 0x103771
-UnknownText_0x103771: ; 0x103771
-	text_jump UnknownText_0x1c43dc
-	db "@"
-; 0x103776
-UnknownText_0x103776: ; 0x103776
-	text_jump UnknownText_0x1c4419
-	db "@"
-; 0x10377b
-UnknownText_0x10377b: ; 0x10377b
-	text_jump UnknownText_0x1c445a
-	db "@"
-; 0x103780
-
-Function103780: ; 103780
-	ld a, [wd265]
-	push af
-	call Function10378c
-	pop af
-	ld [wd265], a
-	ret
-; 10378c
-
-Function10378c: ; 10378c
-	ld c, $0
-	ld hl, wdc20
-	bit 4, [hl]
-	jr nz, .asm_10379c
-	ld c, $1
-	ld hl, wdc20
-	set 4, [hl]
-
-.asm_10379c
-	push bc
-	callba Function14ab2
-	pop bc
-	jr c, .asm_1037b5
-	ld a, $1
-	ld [ScriptVar], a
-	ld a, c
-	and a
-	ret z
-	callba Function1006fd
-	ret
-
-.asm_1037b5
-	xor a
-	ld [ScriptVar], a
-	ld a, c
-	and a
-	ret z
-	ld hl, wdc20
-	res 4, [hl]
-	ret
-; 1037c2
-
-Function1037c2: ; 1037c2
-	call Function103823
-	jr c, .asm_1037de
-	ld a, [wdc5f]
-	and a
-	jr z, .asm_1037de
-	ld hl, UnknownText_0x1037e6
-	call PrintText
-	call YesNoBox
-	jr c, .asm_1037de
-	ld a, $1
-	ld [ScriptVar], a
-	ret
-
-.asm_1037de
-	xor a
-	ld [wdc5f], a
-	ld [ScriptVar], a
-	ret
-; 1037e6
-
-UnknownText_0x1037e6: ; 0x1037e6
-	text_jump UnknownText_0x1c449c
-	db "@"
-; 0x1037eb
-
-Function1037eb: ; 1037eb
-	call Function103823
-	jr nc, .asm_103807
-	ld hl, UnknownText_0x103819
-	call PrintText
-	call Functiona36
-	ld hl, UnknownText_0x10381e
-	call PrintText
-	call Functiona36
-	xor a
-	ld [ScriptVar], a
-	ret
-
-.asm_103807
-	ld a, [wdc60]
-	and a
-	jr nz, .asm_103813
-	ld a, $1
-	ld [ScriptVar], a
-	ret
-
-.asm_103813
-	ld a, $2
-	ld [ScriptVar], a
-	ret
-; 103819
-
-UnknownText_0x103819: ; 0x103819
-	text_jump UnknownText_0x1c44c0
-	db "@"
-; 0x10381e
-
-UnknownText_0x10381e: ; 0x10381e
-	text_jump UnknownText_0x1c44e7
-	db "@"
-; 0x103823
-
-Function103823: ; 103823
-	callba Function10632f
-	bit 7, c
-	jr nz, .asm_103838
-	callba Function1008a6
-	ld a, c
-	cp $1
-	jr c, .asm_10383a
-
-.asm_103838
-	xor a
-	ret
-
-.asm_10383a
-	scf
-	ret
-; 10383c
-
-Function10383c: ; 10383c
-	ld a, $1
-	ld [wdc60], a
-	xor a
-	ld hl, wdc5c
-	ld [hli], a
-	ld [hli], a
-	ld [hl], a
-	ld hl, UnknownText_0x103876
-	call PrintText
-	call Functiona36
-	callba Script_reloadmappart
-	callba Function4a94e
-	jr c, .asm_103870
-	ld hl, DefaultFlypoint
-	ld de, wdc5c
-	ld bc, $0003
-	call CopyBytes
-	xor a
-	ld [ScriptVar], a
-	ret
-
-.asm_103870
-	ld a, $1
-	ld [ScriptVar], a
-	ret
-; 103876
-
-UnknownText_0x103876: ; 0x103876
-	text_jump UnknownText_0x1c4508
-	db "@"
-; 0x10387b
-
-Function10387b: ; 10387b
-	callba Function10632f
-	bit 7, c
-	ret nz
-	callba Function1008a6
-	ld a, c
-	ld [StringBuffer2], a
-	ld hl, UnknownText_0x103898
-	call PrintText
-	call Functiona36
-	ret
-; 103898
-
-UnknownText_0x103898: ; 0x103898
-	text_jump UnknownText_0x1c4525
-	db "@"
-; 0x10389d
-
-
 SECTION "bank41", ROMX, BANK[$41]
 
 Function104000:: ; 104000
@@ -111912,6 +94405,8 @@
 
 
 
+SECTION "bank41_2", ROMX, BANK[$41]
+
 Mobile_HallOfFame2:: mobile ; 0x105ef6
 	ld a, $5
 	call GetSRAMBank
@@ -112996,26595 +95491,25 @@
 INCBIN "gfx/unknown/1065ad.2bpp"
 
 
-SECTION "bank42", ROMX, BANK[$42]
+INCLUDE "misc/mobile_42.asm"
 
-Function108000: ; 108000
-	ld a, $80
-	ld [wcf65], a
-	ld de, Unknown_10800b
-	jp Function108089
-; 10800b
 
-Unknown_10800b:
-INCBIN "baserom.gbc", $10800b, $108012 - $10800b
+SECTION "Intro Logo", ROMX, BANK[$42]
 
-Function108012:
-	ld a, $80
-	jr asm_108018
-
-Function108016: ; 108016
-	ld a, $0
-asm_108018:
-	ld [wcf65], a
-	ld de, Unknown_108021
-	jp Function108089
-; 108021
-
-Unknown_108021:
-INCBIN "baserom.gbc", $108021, $108026 - $108021
-
-Function108026: ; 108026
-	ld a, $0
-	jr asm_10802c
-
-Function10802a: ; 10802a
-	ld a, $1
-
-asm_10802c:
-	ld [wcf65], a
-	ld de, Unknown_108035
-	jp Function10805b
-; 108035
-
-Unknown_108035:
-INCBIN "baserom.gbc", $108035, $10803d - $108035
-
-Function10803d: ; 10803d
-	ld a, $0
-	ld [wcf65], a
-	ld de, Unknown_108048
-	jp Function108089
-; 108048
-
-Unknown_108048:
-INCBIN "baserom.gbc", $108048, $10804d - $108048
-
-Function10804d: ; 10804d
-	ld a, $0
-	ld [wcf65], a
-	ld de, Unknown_108058
-	jp Function108089
-; 108058
-
-Unknown_108058:
-INCBIN "baserom.gbc", $108058, $10805b - $108058
-
-Function10805b: ; 10805b
-	ld hl, wc734
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	ld a, [$ffde]
-	push af
-	xor a
-	ld [$ffde], a
-	ld hl, VramState
-	ld a, [hl]
-	push af
-	res 0, [hl]
-	ld hl, Options
-	ld a, [hl]
-	push af
-	set 4, [hl]
-	call Function1080b7
-.asm_108078
-	call Function10824b
-	jr nc, .asm_108078
-	pop af
-	ld [Options], a
-	pop af
-	ld [VramState], a
-	pop af
-	ld [$ffde], a
-	ret
-; 108089
-
-Function108089: ; 108089
-	ld hl, BattleEnded
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	ld a, [$ffde]
-	push af
-	xor a
-	ld [$ffde], a
-	ld hl, VramState
-	ld a, [hl]
-	push af
-	res 0, [hl]
-	ld hl, Options
-	ld a, [hl]
-	push af
-	set 4, [hl]
-	call Function108157
-.asm_1080a6
-	call Function10824b
-	jr nc, .asm_1080a6
-	pop af
-	ld [Options], a
-	pop af
-	ld [VramState], a
-	pop af
-	ld [$ffde], a
-	ret
-; 1080b7
-
-Function1080b7: ; 1080b7
-	xor a
-	ld [wcf63], a
-	call WhiteBGMap
-	call ClearSprites
-	call ClearTileMap
-	call DisableLCD
-	call Function1081ad
-	call Function1081ca
-	call Functione51
-	call Functione58
-	ld a, $1
-	ld [rVBK], a
-	ld hl, LZ_108da7
-	ld de, VTiles2
-	call Decompress
-	ld a, $0
-	ld [rVBK], a
-	ld hl, LZ_108d27
-	ld de, $8200
-	call Decompress
-	call EnableLCD
-	xor a
-	ld [hSCX], a
-	ld [hSCY], a
-	ld a, $7
-	ld [hWX], a
-	ld a, $90
-	ld [hWY], a
-	callba Function8cf53
-	call DelayFrame
-	ld de, TradeBallGFX
-	ld hl, VTiles0
-	lb bc, BANK(TradeBallGFX), $06
-	call Request2bpp
-	ld de, TradePoofGFX
-	ld hl, $8060
-	lb bc, BANK(TradePoofGFX), $0c
-	call Request2bpp
-	xor a
-	ld hl, wc300
-	ld [hli], a
-	ld [hl], $0
-	ld a, [$c6d0]
-	ld hl, $c6fd
-	ld de, $8300
-	call Function1081e9
-	ld a, [wc702]
-	ld hl, wc72f
-	ld de, $9310
-	call Function1081e9
-	ld a, [$c6d0]
-	ld de, $c6d1
-	call Function108239
-	ld a, [wc702]
-	ld de, wc703
-	call Function108239
-	xor a
-	call Function108b98
-	call Function108af4
-	ret
-; 108157
-
-Function108157: ; 108157
-	xor a
-	ld [wcf63], a
-	call WhiteBGMap
-	call ClearSprites
-	call ClearTileMap
-	call DisableLCD
-	call Function1081ad
-	call Function1081ca
-	call Functione51
-	call Functione58
-	call EnableLCD
-	xor a
-	ld [hSCX], a
-	ld [hSCY], a
-	ld a, $7
-	ld [hWX], a
-	ld a, $90
-	ld [hWY], a
-	callba Function8cf53
-	xor a
-	ld hl, wc300
-	ld [hli], a
-	ld [hl], $0
-	call DelayFrame
-	ld a, [$c6d0]
-	ld de, $c6d1
-	call Function108239
-	ld a, [wc702]
-	ld de, wc703
-	call Function108239
-	xor a
-	call Function108b98
-	call Function108af4
-	ret
-; 1081ad
-
-Function1081ad: ; 1081ad
-	ld a, $1
-	ld [rVBK], a
-	ld hl, VTiles0
-	ld bc, $1800
-	xor a
-	call ByteFill
-	ld a, $0
-	ld [rVBK], a
-	ld hl, VTiles0
-	ld bc, $1800
-	xor a
-	call ByteFill
-	ret
-; 1081ca
-
-Function1081ca: ; 1081ca
-	ld a, $1
-	ld [rVBK], a
-	ld hl, VBGMap0
-	ld bc, $0800
-	ld a, $0
-	call ByteFill
-	ld a, $0
-	ld [rVBK], a
-	ld hl, VBGMap0
-	ld bc, $0800
-	ld a, $7f
-	call ByteFill
-	ret
-; 1081e9
-
-Function1081e9: ; 1081e9
-	push de
-	push af
-	predef GetUnownLetter
-	pop af
-	ld [CurPartySpecies], a
-	ld [CurSpecies], a
-	call GetBaseData
-	pop de
-	predef GetFrontpic
-	ret
-; 108201
-
-Function108201: ; 108201
-	push de
-	push af
-	predef GetUnownLetter
-	pop af
-	ld [CurPartySpecies], a
-	ld [CurSpecies], a
-	call GetBaseData
-	pop de
-	predef Function5108b
-	ret
-; 108219
-
-Function108219: ; 108219
-	ld [CurPartySpecies], a
-	hlcoord 7, 2
-	ld d, $0
-	ld e, $3
-	predef Functiond008e
-	ret
-; 108229
-
-Function108229: ; 108229
-	ld [CurPartySpecies], a
-	hlcoord 7, 2
-	ld d, $0
-	ld e, $3
-	predef Functiond00a3
-	ret
-; 108239
-
-Function108239: ; 108239
-	push de
-	ld [wd265], a
-	call GetPokemonName
-	ld hl, StringBuffer1
-	pop de
-	ld bc, $000b
-	call CopyBytes
-	ret
-; 10824b
-
-Function10824b: ; 10824b
-	ld a, [wcf63]
-	bit 7, a
-	jr nz, .asm_10825a
-	call Function10827b
-	call DelayFrame
-	and a
-	ret
-
-.asm_10825a
-	xor a
-	ld [hSCX], a
-	ld [hSCY], a
-	ld a, $7
-	ld [hWX], a
-	ld a, $90
-	ld [hWY], a
-	call Functione51
-	call Functione58
-	callba Function106462
-	callba Function106464
-	scf
-	ret
-; 10827b
-
-Function10827b: ; 10827b
-	ld a, [wcf63]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_10828a
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 10828a
-
-Jumptable_10828a: ; 10828a
-	dw Function1082b7
-	dw Function10830e
-	dw Function108638
-	dw Function108763
-	dw Function1087cf
-	dw Function108811
-	dw Function108838
-	dw Function10884c
-	dw Function108863
-	dw Function108894
-	dw Function10890a
-	dw Function10839b
-	dw Function1082c6
-	dw Function10842c
-	dw Function1084d7
-	dw Function108919
-	dw Function108689
-	dw Function1086f4
-	dw Function10893d
-	dw Function108589
-; 1082b2
-
-Function1082b2: ; 1082b2
-	ld hl, wcf63
-	inc [hl]
-	ret
-; 1082b7
-
-Function1082b7: ; 1082b7
-	ld hl, wc734
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld a, [de]
-	ld [wcf63], a
-	inc de
-	ld [hl], d
-	dec hl
-	ld [hl], e
-	ret
-; 1082c6
-
-Function1082c6: ; 1082c6
-	ld hl, wcf63
-	set 7, [hl]
-	ret
-; 1082cc
-
-Function1082cc: ; 1082cc
-.asm_1082cc
-	push bc
-	callba Function8cf69
-	pop bc
-	call DelayFrame
-	dec c
-	jr nz, .asm_1082cc
-	ret
-; 1082db
-
-Function1082db: ; 1082db
-.asm_1082db
-	callba Function8cf69
-	callba Functiond00b4
-	callba Function10402d
-	jr nc, .asm_1082db
-	ret
-; 1082f0
-
-Function1082f0: ; 1082f0
-.asm_1082f0
-	call Function108b78
-	call DelayFrame
-	dec c
-	jr nz, .asm_1082f0
-	ret
-; 1082fa
-
-Function1082fa: ; 1082fa
-.asm_1082fa
-	call Function108b78
-	push hl
-	push bc
-	callba Function8cf69
-	pop bc
-	pop hl
-	call DelayFrame
-	dec c
-	jr nz, .asm_1082fa
-	ret
-; 10830e
-
-Function10830e: ; 10830e
-	ld de, MUSIC_EVOLUTION
-	call PlayMusic2
-	ld a, $80
-	ld [hSCX], a
-	xor a
-	ld [hSCY], a
-	ld a, $87
-	ld [hWX], a
-	ld a, $50
-	ld [hWY], a
-	call Function1089a8
-	ld a, [$c6d0]
-	ld [CurPartySpecies], a
-	call Function10895e
-	ld a, [$c6fd]
-	ld [TempMonDVs], a
-	ld a, [$c6fe]
-	ld [TempMonDVs + 1], a
-	ld b, $1a
-	call GetSGBLayout
-	ld a, $e4
-	call DmgToCgbBGPals
-	call WaitBGMap
-.asm_108348
-	ld a, [hWX]
-	cp $7
-	jr z, .asm_10835d
-	sub $4
-	ld [hWX], a
-	ld a, [hSCX]
-	sub $4
-	ld [hSCX], a
-	call DelayFrame
-	jr .asm_108348
-
-.asm_10835d
-	ld a, $7
-	ld [hWX], a
-	xor a
-	ld [hSCX], a
-	ld a, [$c6d0]
-	call GetCryIndex
-	jr c, .asm_108371
-	ld e, c
-	ld d, b
-	call PlayCryHeader
-
-.asm_108371
-	ld c, $50
-	call DelayFrames
-	call Function108bec
-	lb de, $54, $58
-	ld a, $20
-	call Function3b2a
-	ld de, SFX_BALL_POOF
-	call PlaySFX
-	ld hl, TileMap
-	ld bc, $00f0
-	ld a, $7f
-	call ByteFill
-	ld c, $50
-	call Function1082cc
-	call Function1082b7
-	ret
-; 10839b
-
-Function10839b: ; 10839b
-	call WhiteBGMap
-	call ClearSprites
-	call ClearTileMap
-	call DisableLCD
-	call Function1081ca
-	ld a, [wc702]
-	ld [CurPartySpecies], a
-	ld hl, wc72f
-	ld de, VTiles2
-	call Function108201
-	call EnableLCD
-	callba Function8d03d
-	xor a
-	ld [hSCX], a
-	ld [hSCY], a
-	ld a, $7
-	ld [hWX], a
-	ld a, $90
-	ld [hWY], a
-	lb de, $54, $58
-	ld a, $21
-	call Function3b2a
-	call Function108b45
-	ld a, $1
-	call Function108b98
-	call Function108af4
-	ld c, $30
-	call Function1082cc
-	ld de, SFX_BALL_POOF
-	call PlaySFX
-	call Function1089d2
-	xor a
-	ld [hSCX], a
-	ld [hSCY], a
-	ld a, $7
-	ld [hWX], a
-	ld a, $50
-	ld [hWY], a
-	ld a, [wc702]
-	ld [CurPartySpecies], a
-	ld a, [wc72f]
-	ld [TempMonDVs], a
-	ld a, [wc730]
-	ld [TempMonDVs + 1], a
-	ld b, $1a
-	call GetSGBLayout
-	ld a, $e4
-	call DmgToCgbBGPals
-	call Function108963
-	ld a, [wc702]
-	call Function108229
-	call Function1082db
-	call Function108c16
-	call Function1082b7
-	ret
-; 10842c
-
-Function10842c: ; 10842c
-	ld de, MUSIC_EVOLUTION
-	call PlayMusic2
-	ld a, $80
-	ld [hSCX], a
-	xor a
-	ld [hSCY], a
-	ld a, $87
-	ld [hWX], a
-	ld a, $50
-	ld [hWY], a
-	call Function1089a8
-	ld a, [$c6d0]
-	ld [CurPartySpecies], a
-	ld hl, $c6fd
-	call Function10898a
-	call DelayFrame
-	ld de, TradeBallGFX
-	ld hl, VTiles0
-	lb bc, BANK(TradeBallGFX), $06
-	call Request2bpp
-	ld de, TradePoofGFX
-	ld hl, $8060
-	lb bc, BANK(TradePoofGFX), $0c
-	call Request2bpp
-	ld a, [$c6fd]
-	ld [TempMonDVs], a
-	ld a, [$c6fe]
-	ld [TempMonDVs + 1], a
-	ld b, $1a
-	call GetSGBLayout
-	ld a, $e4
-	call DmgToCgbBGPals
-	call WaitBGMap
-.asm_108484
-	ld a, [hWX]
-	cp $7
-	jr z, .asm_108499
-	sub $4
-	ld [hWX], a
-	ld a, [hSCX]
-	sub $4
-	ld [hSCX], a
-	call DelayFrame
-	jr .asm_108484
-
-.asm_108499
-	ld a, $7
-	ld [hWX], a
-	xor a
-	ld [hSCX], a
-	ld a, [$c6d0]
-	call GetCryIndex
-	jr c, .asm_1084ad
-	ld e, c
-	ld d, b
-	call PlayCryHeader
-
-.asm_1084ad
-	ld c, $50
-	call DelayFrames
-	call Function108c2b
-	lb de, $54, $58
-	ld a, $20
-	call Function3b2a
-	ld de, SFX_BALL_POOF
-	call PlaySFX
-	ld hl, TileMap
-	ld bc, $00f0
-	ld a, $7f
-	call ByteFill
-	ld c, $50
-	call Function1082cc
-	call Function1082b7
-	ret
-; 1084d7
-
-Function1084d7: ; 1084d7
-	call WhiteBGMap
-	call ClearSprites
-	call ClearTileMap
-	call DisableLCD
-	call Function1081ca
-	ld a, [wc702]
-	ld [CurPartySpecies], a
-	ld hl, wc72f
-	ld de, VTiles2
-	call Function108201
-	call EnableLCD
-	callba Function8d03d
-	call DelayFrame
-	ld de, TradeBallGFX
-	ld hl, VTiles0
-	lb bc, BANK(TradeBallGFX), $06
-	call Request2bpp
-	ld de, TradePoofGFX
-	ld hl, $8060
-	lb bc, BANK(TradePoofGFX), $0c
-	call Request2bpp
-	xor a
-	ld [hSCX], a
-	ld [hSCY], a
-	ld a, $7
-	ld [hWX], a
-	ld a, $90
-	ld [hWY], a
-	lb de, $54, $58
-	ld a, $21
-	call Function3b2a
-	call Function108b45
-	ld a, $1
-	call Function108b98
-	call Function108af4
-	ld c, $30
-	call Function1082cc
-	ld de, SFX_BALL_POOF
-	call PlaySFX
-	call Function1089d2
-	xor a
-	ld [hSCX], a
-	ld [hSCY], a
-	ld a, $7
-	ld [hWX], a
-	ld a, $50
-	ld [hWY], a
-	ld a, [wc702]
-	ld [CurPartySpecies], a
-	ld a, [wc72f]
-	ld [TempMonDVs], a
-	ld a, [wc730]
-	ld [TempMonDVs + 1], a
-	ld b, $1a
-	call GetSGBLayout
-	ld a, $e4
-	call DmgToCgbBGPals
-	ld a, [wc702]
-	ld hl, wc72f
-	call Function10898a
-	ld a, [wc702]
-	call Function108229
-	call Function1082db
-	call Function108c40
-	call Function1082b7
-	ret
-; 108589
-
-Function108589: ; 108589
-	call WhiteBGMap
-	call ClearSprites
-	call ClearTileMap
-	call DisableLCD
-	call Function1081ca
-	ld a, [wc702]
-	ld [CurPartySpecies], a
-	ld hl, wc72f
-	ld de, VTiles2
-	call Function108201
-	call EnableLCD
-	callba Function8d03d
-	call DelayFrame
-	ld de, TradeBallGFX
-	ld hl, VTiles0
-	lb bc, BANK(TradeBallGFX), $06
-	call Request2bpp
-	ld de, TradePoofGFX
-	ld hl, $8060
-	lb bc, BANK(TradePoofGFX), $0c
-	call Request2bpp
-	xor a
-	ld [hSCX], a
-	ld [hSCY], a
-	ld a, $7
-	ld [hWX], a
-	ld a, $90
-	ld [hWY], a
-	lb de, $54, $58
-	ld a, $21
-	call Function3b2a
-	call Function108b45
-	ld a, $1
-	call Function108b98
-	call Function108af4
-	ld c, $30
-	call Function1082cc
-	ld de, SFX_BALL_POOF
-	call PlaySFX
-	call Function108a33
-	xor a
-	ld [hSCX], a
-	ld [hSCY], a
-	ld a, $7
-	ld [hWX], a
-	ld a, $50
-	ld [hWY], a
-	ld a, [wc702]
-	ld [CurPartySpecies], a
-	ld a, [wc72f]
-	ld [TempMonDVs], a
-	ld a, [wc730]
-	ld [TempMonDVs + 1], a
-	ld b, $1a
-	call GetSGBLayout
-	ld a, $e4
-	call DmgToCgbBGPals
-	ld a, [wc702]
-	ld hl, wc72f
-	call Function10898a
-	ld a, [wc702]
-	call Function108229
-	call Function1082db
-	call Function1082b7
-	ret
-; 108638
-
-Function108638: ; 108638
-	callba Function8d03d
-	call WhiteBGMap
-	call ClearSprites
-	call ClearTileMap
-	xor a
-	ld [hBGMapMode], a
-	call DisableLCD
-	call Function1081ca
-	call Function108c80
-	call Function108c6d
-	call EnableLCD
-	ld a, $c
-	ld [hSCX], a
-	ld a, $78
-	ld [hSCY], a
-	ld a, $7
-	ld [hWX], a
-	ld a, $90
-	ld [hWY], a
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld hl, Palette_109107
-	ld de, Unkn1Pals
-	ld bc, $0040
-	call CopyBytes
-	pop af
-	ld [rSVBK], a
-	call Function108d07
-	call Function108af4
-	call Function1082b7
-	ret
-; 108689
-
-Function108689: ; 108689
-	callba Function8d03d
-	call WhiteBGMap
-	call ClearSprites
-	call ClearTileMap
-	xor a
-	ld [hBGMapMode], a
-	call DisableLCD
-	call Function1081ca
-	ld a, $1
-	ld [rVBK], a
-	ld hl, LZ_108da7
-	ld de, VTiles2
-	call Decompress
-	ld a, $0
-	ld [rVBK], a
-	ld hl, LZ_108d27
-	ld de, $8200
-	call Decompress
-	call Function108c80
-	call Function108c6d
-	call EnableLCD
-	ld a, $c
-	ld [hSCX], a
-	ld a, $78
-	ld [hSCY], a
-	ld a, $7
-	ld [hWX], a
-	ld a, $90
-	ld [hWY], a
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld hl, Palette_109107
-	ld de, Unkn1Pals
-	ld bc, $0040
-	call CopyBytes
-	pop af
-	ld [rSVBK], a
-	call Function108d07
-	call Function108af4
-	call Function1082b7
-	ret
-; 1086f4
-
-Function1086f4: ; 1086f4
-	call WhiteBGMap
-	call ClearSprites
-	call ClearTileMap
-	xor a
-	ld [hBGMapMode], a
-	call DisableLCD
-	ld a, $1
-	ld [rVBK], a
-	ld hl, LZ_108da7
-	ld de, VTiles2
-	call Decompress
-	ld a, $0
-	ld [rVBK], a
-	ld hl, LZ_108d27
-	ld de, $8200
-	call Decompress
-	call Function108c80
-	call Function108c6d
-	call EnableLCD
-	ld a, $80
-	ld [hSCX], a
-	ld a, $90
-	ld [hSCY], a
-	ld a, $7
-	ld [hWX], a
-	ld a, $90
-	ld [hWY], a
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld hl, Palette_109107
-	ld de, Unkn1Pals
-	ld bc, $0040
-	call CopyBytes
-	pop af
-	ld [rSVBK], a
-	call Function108d07
-	call Function108af4
-	call Function108b5a
-	ld a, $e0
-	ld [hSCX], a
-	ld de, MUSIC_EVOLUTION
-	call PlayMusic2
-	call Function1082b7
-	ret
-; 108763
-
-Function108763: ; 108763
-	ld de, SFX_GIVE_TRADEMON
-	call PlaySFX
-	ld c, $28
-	ld hl, $d0b0
-	call Function1082f0
-	call Function108af4
-.asm_108774
-	ld a, [hSCX]
-	cp $e0
-	jr z, .asm_108791
-	dec a
-	dec a
-	ld [hSCX], a
-	cp $f8
-	jr nz, .asm_10878a
-	lb de, $54, $58
-	ld a, $22
-	call Function3b2a
-
-.asm_10878a
-	ld c, $1
-	call Function1082cc
-	jr .asm_108774
-
-.asm_108791
-	ld a, [hSCY]
-	cp $f8
-	jr z, .asm_1087cb
-	dec a
-	dec a
-	ld [hSCY], a
-	cp $40
-	jr z, .asm_1087a9
-	cp $30
-	jr z, .asm_1087b7
-	cp $68
-	jr z, .asm_1087bc
-	jr .asm_1087c4
-
-.asm_1087a9
-	lb de, $54, $58
-	ld a, $22
-	call Function3b2a
-	xor a
-	call Function108ad4
-	jr .asm_1087c4
-
-.asm_1087b7
-	call Function108bbd
-	jr .asm_1087c4
-
-.asm_1087bc
-	call Function108bbd
-	ld a, $1
-	call Function108ad4
-
-.asm_1087c4
-	ld c, $1
-	call Function1082cc
-	jr .asm_108791
-
-.asm_1087cb
-	call Function1082b2
-	ret
-; 1087cf
-
-Function1087cf: ; 1087cf
-	ld c, $28
-	ld hl, StringBuffer2 + 2
-	call Function1082f0
-	call Function108af4
-	call Function108b5a
-	lb de, $4a, $50
-	ld a, $25
-	call Function3b2a
-	ld de, SFX_FORESIGHT
-	call PlaySFX
-	ld c, $a
-	call Function1082cc
-	xor a
-	ld [wcf64], a
-	lb de, $4a, $50
-	ld a, $23
-	call Function3b2a
-.asm_1087fc
-	ld a, [hSCY]
-	cp $90
-	jr z, .asm_10880d
-	sub $8
-	ld [hSCY], a
-	ld c, $1
-	call Function1082cc
-	jr .asm_1087fc
-
-.asm_10880d
-	call Function1082b7
-	ret
-; 108811
-
-Function108811: ; 108811
-	ld c, $28
-	call Function1082cc
-	ld a, $1
-	ld [wcf64], a
-	ld de, SFX_SHARPEN
-	call PlaySFX
-	ld c, $3c
-	call Function1082cc
-	lb de, $f2, $50
-	ld a, $24
-	call Function3b2a
-	call Function1082b7
-	ld de, SFX_THROW_BALL
-	call PlaySFX
-	ret
-; 108838
-
-Function108838: ; 108838
-	ld c, $28
-	call Function1082cc
-	ld a, $1
-	ld [wcf64], a
-	ld de, SFX_SHARPEN
-	call PlaySFX
-	call Function1082b7
-	ret
-; 10884c
-
-Function10884c: ; 10884c
-	ld c, $50
-	call DelayFrames
-	lb de, $f2, $50
-	ld a, $24
-	call Function3b2a
-	call Function1082b7
-	ld de, SFX_THROW_BALL
-	call PlaySFX
-	ret
-; 108863
-
-Function108863: ; 108863
-	ld c, $28
-	call Function1082cc
-.asm_108868
-	ld a, [hSCY]
-	cp $f8
-	jr z, .asm_108879
-	add $8
-	ld [hSCY], a
-	ld c, $1
-	call Function1082cc
-	jr .asm_108868
-
-.asm_108879
-	callba Function8d03d
-	lb de, $4a, $50
-	ld a, $25
-	call Function3b2a
-	ld de, SFX_GLASS_TING_2
-	call PlaySFX
-	call Function108af4
-	call Function1082b2
-	ret
-; 108894
-
-Function108894: ; 108894
-	ld c, $14
-	ld hl, StringBuffer2 + 2
-	call Function1082fa
-	ld de, SFX_GIVE_TRADEMON
-	call PlaySFX
-	ld c, $14
-	ld hl, StringBuffer2 + 2
-	call Function1082fa
-	call Function108af4
-.asm_1088ad
-	ld a, [hSCY]
-	cp $78
-	jr z, .asm_1088ee
-	inc a
-	inc a
-	ld [hSCY], a
-	cp $30
-	jr z, .asm_1088c5
-	cp $40
-	jr z, .asm_1088dd
-	cp $68
-	jr z, .asm_1088cf
-	jr .asm_1088e7
-
-.asm_1088c5
-	lb de, $54, $58
-	ld a, $22
-	call Function3b2a
-	jr .asm_1088e7
-
-.asm_1088cf
-	lb de, $54, $58
-	ld a, $22
-	call Function3b2a
-	xor a
-	call Function108ad4
-	jr .asm_1088e7
-
-.asm_1088dd
-	call Function108bbd
-	ld a, $1
-	call Function108ad4
-	jr .asm_1088e7
-
-.asm_1088e7
-	ld c, $1
-	call Function1082cc
-	jr .asm_1088ad
-
-.asm_1088ee
-	ld a, [hSCX]
-	cp $c
-	jr z, .asm_108906
-	inc a
-	inc a
-	ld [hSCX], a
-	cp $f8
-	jr nz, .asm_1088e7
-	call Function108bbd
-	ld c, $1
-	call Function1082cc
-	jr .asm_1088ee
-
-.asm_108906
-	call Function1082b2
-	ret
-; 10890a
-
-Function10890a: ; 10890a
-	ld c, $28
-	ld hl, $d0b0
-	call Function1082f0
-	call Function108af4
-	call Function1082b7
-	ret
-; 108919
-
-Function108919: ; 108919
-	ld c, $28
-	call Function1082cc
-	callba Function8d03d
-	call WhiteBGMap
-	call ClearSprites
-	call ClearTileMap
-	call DisableLCD
-	call Function1081ad
-	call Function1081ca
-	call EnableLCD
-	call Function1082b7
-	ret
-; 10893d
-
-Function10893d: ; 10893d
-.asm_10893d
-	ld a, [rBGP]
-	and a
-	jr z, .asm_108953
-	sla a
-	sla a
-	call DmgToCgbBGPals
-	call Functioncf8
-	ld c, $4
-	call DelayFrames
-	jr .asm_10893d
-
-.asm_108953
-	xor a
-	call DmgToCgbBGPals
-	call Functioncf8
-	call Function1082b7
-	ret
-; 10895e
-
-Function10895e: ; 10895e
-	ld de, $8300
-	jr asm_108966
-
-Function108963:
-	ld de, $9310
-
-asm_108966
-	call DelayFrame
-	ld hl, VTiles2
-	lb bc, $0a, $31
-	call Request2bpp
-	call WaitTop
-	call Function108ac8
-	hlcoord 7, 2
-	xor a
-	ld [$ffad], a
-	ld bc, $0707
-	predef FillBox
-	call WaitBGMap
-	ret
-; 10898a
-
-Function10898a: ; 10898a
-	ld de, VTiles2
-	call Function1081e9
-	call WaitTop
-	call Function108ac8
-	hlcoord 7, 2
-	xor a
-	ld [$ffad], a
-	ld bc, $0707
-	predef FillBox
-	call WaitBGMap
-	ret
-; 1089a8
-
-Function1089a8: ; 1089a8
-	ld de, $c6d0
-	ld a, [de]
-	cp $fd
-	jr z, asm_1089fc
-	call Function108a5b
-	ld de, $c6d0
-	call Function108a92
-	ld de, $c6d1
-	call Function108a9c
-	ld a, [wc701]
-	ld de, $c6f2
-	call Function108aa3
-	ld de, $c6ff
-	call Function108abe
-	call Function108a87
-	ret
-
-Function1089d2:
-	ld de, wc702
-	ld a, [de]
-	cp $fd
-	jr z, asm_1089fc
-	call Function108a5b
-	ld de, wc702
-	call Function108a92
-	ld de, wc703
-	call Function108a9c
-	ld a, [wc733]
-	ld de, wc724
-	call Function108aa3
-	ld de, wc731
-	call Function108abe
-	call Function108a87
-	ret
-
-asm_1089fc
-	call WaitTop
-	call Function108ac8
-	ld a, $9c
-	ld [$ffd7], a
-	hlcoord 5, 0
-	ld b, $6
-	ld c, $9
-	call TextBox
-	hlcoord 6, 2
-	ld de, String_108a1d
-	call PlaceString
-	call Function108a87
-	ret
-; 108a1d
-
-String_108a1d: ; 108a1d
-	db   "タマゴ"
-	next "おや/?????"
-	next $73, "№", $f2, "?????"
-	db   "@"
-; 108a33
-
-Function108a33: ; 108a33
-	call WaitTop
-	call Function108ac8
-	ld a, $9c
-	ld [$ffd7], a
-	hlcoord 5, 0
-	ld b, $6
-	ld c, $9
-	call TextBox
-	hlcoord 7, 4
-	ld de, String_108a54
-	call PlaceString
-	call Function108a87
-	ret
-; 108a54
-
-String_108a54: ; 108a54
-	db "なぞのタマゴ@"
-; 108a5b
-
-Function108a5b: ; 108a5b
-	call WaitTop
-	call Function108ac8
-	ld a, $9c
-	ld [$ffd7], a
-	hlcoord 4, 0
-	ld b, $6
-	ld c, $a
-	call TextBox
-	hlcoord 5, 0
-	ld de, String_108a79
-	call PlaceString
-	ret
-; 108a79
-
-String_108a79: ; 108a79
-	db   "─ №", $f2
-	next ""
-	next "おや/"
-	next $73, "№", $f2, ""
-	db   "@"
-; 108a87
-
-Function108a87: ; 108a87
-	call WaitBGMap
-	call WaitTop
-	ld a, $98
-	ld [$ffd7], a
-	ret
-; 108a92
-
-Function108a92: ; 108a92
-	hlcoord 9, 0
-	ld bc, $8103
-	call PrintNum
-	ret
-; 108a9c
-
-Function108a9c: ; 108a9c
-	hlcoord 5, 2
-	call PlaceString
-	ret
-; 108aa3
-
-Function108aa3: ; 108aa3
-	cp $3
-	jr c, .asm_108aa8
-	xor a
-
-.asm_108aa8
-	push af
-	hlcoord 8, 4
-	call PlaceString
-	inc bc
-	pop af
-	ld hl, Unknown_108abb
-	ld d, 0
-	ld e, a
-	add hl, de
-	ld a, [hl]
-	ld [bc], a
-	ret
-; 108abb
-
-Unknown_108abb: ; 108abb
-	db " ", "♂", "♀"
-; 108abe
-
-Function108abe: ; 108abe
-	hlcoord 8, 6
-	ld bc, $8205
-	call PrintNum
-	ret
-; 108ac8
-
-Function108ac8: ; 108ac8
-	ld hl, TileMap
-	ld bc, $0168
-	ld a, $7f
-	call ByteFill
-	ret
-; 108ad4
-
-Function108ad4: ; 108ad4
-	and a
-	jr z, .asm_108adc
-	ld de, GFX_1092c7
-	jr .asm_108adf
-
-.asm_108adc
-	ld de, GFX_1091c7
-
-.asm_108adf
-	ld a, $1
-	ld [rVBK], a
-	ld hl, $94a0
-	lb bc, $42, $10
-	call Functiondc9
-	call DelayFrame
-	ld a, $0
-	ld [rVBK], a
-	ret
-; 108af4
-
-Function108af4: ; 108af4
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld a, [wcf65]
-	and $1
-	jr z, .asm_108b1c
-	ld hl, Palette_109187
-	ld de, Unkn2Pals
-	ld bc, $0040
-	call CopyBytes
-	ld hl, Palette_109187
-	ld de, OBPals
-	ld bc, $0040
-	call CopyBytes
-	jr .asm_108b34
-
-.asm_108b1c
-	ld hl, Palette_109147
-	ld de, Unkn2Pals
-	ld bc, $0040
-	call CopyBytes
-	ld hl, Palette_109147
-	ld de, OBPals
-	ld bc, $0040
-	call CopyBytes
-
-.asm_108b34
-	pop af
-	ld [rSVBK], a
-	ld a, $e4
-	call Functioncf8
-	ld a, $e4
-	call DmgToCgbBGPals
-	call DelayFrame
-	ret
-; 108b45
-
-Function108b45: ; 108b45
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld de, $7fff
-	ld hl, Unkn1Pals
-	ld a, e
-	ld [hli], a
-	ld d, a
-	ld [hli], a
-	pop af
-	ld [rSVBK], a
-	ret
-; 108b5a
-
-Function108b5a: ; 108b5a
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld de, $3ff2
-	ld hl, $d0a0
-	ld c, $10
-.asm_108b69
-	ld a, e
-	ld [hli], a
-	ld a, d
-	ld [hli], a
-	dec c
-	jr nz, .asm_108b69
-	pop af
-	ld [rSVBK], a
-	ld a, $1
-	ld [hCGBPalUpdate], a
-	ret
-; 108b78
-
-Function108b78: ; 108b78
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld a, c
-	and $2
-	jr z, .asm_108b89
-	ld de, $7fff
-	jr .asm_108b8c
-
-.asm_108b89
-	ld de, $05ff
-
-.asm_108b8c
-	ld a, e
-	ld [hli], a
-	ld a, d
-	ld [hld], a
-	pop af
-	ld [rSVBK], a
-	ld a, $1
-	ld [hCGBPalUpdate], a
-	ret
-; 108b98
-
-Palette_108b98:
-; removed
-
-Function108b98: ; 108b98
-	ld d, a
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld a, [wcf65]
-	and $1
-	xor d
-	jr z, .asm_108bad
-	ld hl, Palette_108b98 + 8
-	jr .asm_108bb0
-
-.asm_108bad
-	ld hl, Palette_108b98
-
-.asm_108bb0
-	ld de, Unkn1Pals + 8 * 7
-	ld bc, $0040
-	call CopyBytes
-	pop af
-	ld [rSVBK], a
-	ret
-; 108bbd
-
-Function108bbd: ; 108bbd
-	callba Function8d03d
-	call ClearSprites
-	ret
-; 108bc7
-
-Function108bc7: ; 108bc7 (42:4bc7)
-	ld a, [wcf64]
-	and a
-	ret z
-	ld hl, $5
-	add hl, bc
-	ld a, [hl]
-	cp $f2
-	jr z, .asm_108bd9
-	sub $8
-	ld [hl], a
-	ret
-.asm_108bd9
-	callba Function8d036
-	ret
-
-Function108be0: ; 108be0 (42:4be0)
-	ld hl, $5
-	add hl, bc
-	ld a, [hl]
-	cp $4a
-	ret z
-	add $8
-	ld [hl], a
-	ret
-; 108bec (42:4bec)
-
-Function108bec: ; 108bec
-	ld a, $90
-	ld [hWY], a
-	ld hl, UnknownText_0x108c07
-	call PrintText
-	ld c, $50
-	call DelayFrames
-	ld hl, UnknownText_0x108c0c
-	call PrintText
-	ld c, $50
-	call DelayFrames
-	ret
-; 108c07
-
-UnknownText_0x108c07: ; 0x108c07
-	text_jump UnknownText_0x1bc787
-	db "@"
-; 0x108c0c
-
-UnknownText_0x108c0c: ; 0x108c0c
-	text_jump UnknownText_0x1bc79d
-	db "@"
-; 0x108c11
-
-UnknownText_0x108c11: ; 0x108c11
-	text_jump UnknownText_0x1bc7b0
-	db "@"
-; 0x108c16
-
-Function108c16: ; 108c16
-	ld a, $90
-	ld [hWY], a
-	ld hl, UnknownText_0x108c26
-	call PrintText
-	ld c, $50
-	call DelayFrames
-	ret
-; 108c26
-
-UnknownText_0x108c26: ; 0x108c26
-	text_jump UnknownText_0x1bc7c3
-	db "@"
-; 0x108c2b
-
-Function108c2b: ; 108c2b
-	ld a, $90
-	ld [hWY], a
-	ld hl, UnknownText_0x108c3b
-	call PrintText
-	ld c, $50
-	call DelayFrames
-	ret
-; 108c3b
-
-UnknownText_0x108c3b: ; 0x108c3b
-	text_jump UnknownText_0x1bc7dd
-	db $50
-; 0x108c40
-
-Function108c40: ; 108c40
-	ld a, $90
-	ld [hWY], a
-	ld a, [wcf65]
-	and $80
-	jr z, .asm_108c57
-	ld hl, UnknownText_0x108c68
-	call PrintText
-	ld c, $50
-	call DelayFrames
-	ret
-
-.asm_108c57
-	ld hl, UnknownText_0x108c63
-	call PrintText
-	ld c, $50
-	call DelayFrames
-	ret
-; 108c63
-
-UnknownText_0x108c63: ; 0x108c63
-	text_jump UnknownText_0x1bc7f0
-	db "@"
-; 0x108c68
-
-UnknownText_0x108c68: ; 0x108c68
-	text_jump UnknownText_0x1bc80a
-	db "@"
-; 0x108c6d
-
-Function108c6d: ; 108c6d
-	ld hl, LZ_108fe7
-	ld de, VBGMap0
-	call Decompress
-	ld hl, LZ_108fe7
-	ld de, VBGMap1
-	call Decompress
-	ret
-; 108c80
-
-Function108c80: ; 108c80
-	ld a, $1
-	ld [rVBK], a
-	ld hl, LZ_1090a7
-	ld de, VBGMap0
-	call Decompress
-	ld hl, LZ_1090a7
-	ld de, VBGMap1
-	call Decompress
-	ld a, $0
-	ld [rVBK], a
-	ret
-; 108c9b
-
-Function108c9b: ; 108c9b
-; localization error: $b should be 6 here
-
-	ld hl, Unknown_108ce9
-	ld a, [hli]
-	ld [$c6d0], a
-
-	ld de, $c6e7
-	ld c, $b
-.asm_108ca7
-	ld a, [hli]
-	ld [de], a
-	inc de
-	dec c
-	jr nz, .asm_108ca7
-
-	ld de, $c6ff
-	ld c, $2
-.asm_108cb2
-	ld a, [hli]
-	ld [de], a
-	inc de
-	dec c
-	jr nz, .asm_108cb2
-
-	ld de, $c6f2
-	ld c, $b
-.asm_108cbd
-	ld a, [hli]
-	ld [de], a
-	inc de
-	dec c
-	jr nz, .asm_108cbd
-
-	ld a, [hli]
-	ld [wc702], a
-
-	ld de, wc719
-	ld c, $b
-.asm_108ccc
-	ld a, [hli]
-	ld [de], a
-	inc de
-	dec c
-	jr nz, .asm_108ccc
-
-	ld de, wc731
-	ld c, $2
-.asm_108cd7
-	ld a, [hli]
-	ld [de], a
-	inc de
-	dec c
-	jr nz, .asm_108cd7
-
-	ld de, wc724
-	ld c, $b
-.asm_108ce2
-	ld a, [hli]
-	ld [de], a
-	inc de
-	dec c
-	jr nz, .asm_108ce2
-
-	ret
-; 108ce9
-
-Unknown_108ce9:
-	db 3
-	db "ゲーフり@@"
-	db $23, $01
-	db "かびーん@@"
-	db 6
-	db "クりーチャ@"
-	db $56, $04
-	db "マツミヤ@@"
-; 108d07
-
-Function108d07: ; 108d07
-	ld a, [wc74e]
-	and $7f
-	cp $8
-	jr c, .asm_108d12
-	ld a, $7
-
-.asm_108d12
-	ld bc, $0008
-	ld hl, Palette_1093c7
-	call AddNTimes
-	ld a, $5
-	ld de, wd020
-	ld bc, $0008
-	call FarCopyWRAM
-	ret
-; 108d27
-
-LZ_108d27:
-INCBIN "gfx/unknown/108d27.2bpp.lz"
-
-LZ_108da7:
-INCBIN "gfx/unknown/108da7.2bpp.lz"
-
-LZ_108fe7:
-INCBIN "gfx/unknown/108fe7.tilemap.lz"
-
-LZ_1090a7:
-INCBIN "gfx/unknown/1090a7.tilemap.lz"
-
-Palette_1090f7:
-	RGB 31, 31, 31
-	RGB  0,  0,  0
-	RGB 31,  0, 25
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB  0,  0,  0
-	RGB  9, 19, 31
-	RGB  0,  0,  0
-
-Palette_109107:
-	RGB 18, 31, 15
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-	RGB 31, 15,  1
-	RGB 14, 14, 31
-	RGB 12,  9, 31
-	RGB  0,  0,  0
-	RGB 18, 31, 15
-	RGB 14, 14, 31
-	RGB 12,  9, 31
-	RGB  0,  0,  0
-	RGB 18, 31, 15
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-	RGB 18, 31, 15
-	RGB 31,  7,  9
-	RGB 18,  0,  1
-	RGB  0,  0,  0
-	RGB 18, 31, 15
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-	RGB 31, 15,  1
-	RGB 18,  0, 30
-	RGB  9,  0, 17
-	RGB  0,  0,  0
-	RGB 18, 31, 15
-	RGB 18,  0, 30
-	RGB  9,  0, 17
-	RGB  0,  0,  0
-
-Palette_109147:
-	RGB 31, 31, 31
-	RGB 31, 31, 12
-	RGB 31, 13, 12
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB 31, 23, 15
-	RGB 31, 18,  7
-	RGB 31, 15,  0
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB 31,  0, 25
-	RGB 31,  0, 25
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB  9, 19, 31
-	RGB  9, 19, 31
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-
-Palette_109187:
-	RGB 31, 31, 31
-	RGB 31, 31, 12
-	RGB 31, 13, 12
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB 31, 23, 15
-	RGB 31, 18,  7
-	RGB 31, 15,  0
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB  9, 19, 31
-	RGB  9, 19, 31
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB 31,  0, 25
-	RGB 31,  0, 25
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-
-GFX_1091c7:
-INCBIN "gfx/unknown/1091c7.2bpp"
-GFX_1092c7:
-INCBIN "gfx/unknown/1092c7.2bpp"
-
-Palette_1093c7:
-	RGB 18, 31, 15
-	RGB  4, 13, 31
-	RGB  0,  0, 31
-	RGB  0,  0,  0
-	RGB 18, 31, 15
-	RGB 31, 31,  0
-	RGB 31, 15,  0
-	RGB  0,  0,  0
-	RGB 18, 31, 15
-	RGB  9, 24,  0
-	RGB  2, 16,  0
-	RGB  0,  0,  0
-	RGB 18, 31, 15
-	RGB 31,  7,  9
-	RGB 18,  0,  1
-	RGB  0,  0,  0
-	RGB 18, 31, 15
-	RGB 28,  5, 31
-	RGB 17,  0, 17
-	RGB  0,  0,  0
-	RGB 18, 31, 15
-	RGB  9,  9,  9
-	RGB  4,  4,  4
-	RGB  0,  0,  0
-	RGB 18, 31, 15
-	RGB 31, 13, 21
-	RGB 27,  7, 12
-	RGB  0,  0,  0
-	RGB 18, 31, 15
-	RGB 21, 20, 20
-	RGB 14, 14, 31
-	RGB  0,  0,  0
-
 IntroLogoGFX: ; 109407
 INCBIN "gfx/intro/logo.2bpp.lz"
 ; 109847
 
 
-SECTION "bank43", ROMX, BANK[$43]
+INCLUDE "misc/unused_title.asm"
 
-UnusedTitleScreen: ; 10c000
 
-	call WhiteBGMap
-	call ClearTileMap
-	call DisableLCD
-	xor a
-	ld [hBGMapMode], a
-
-	ld hl, wcf63
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hl], a
-
-	ld hl, UnusedTitleBG_GFX
-	ld de, VTiles2
-	ld bc, $800
-	call CopyBytes
-
-	ld hl, UnusedTitleBG_GFX + $800
-	ld de, VTiles1
-	ld bc, $800
-	call CopyBytes
-
-	ld hl, UnusedTitleFG_GFX
-	ld de, VTiles0
-	ld bc, $800
-	call CopyBytes
-
-	ld hl, UnusedTitleBG_Tilemap
-	ld de, VBGMap0
-	ld bc, 32 * 32
-.copy
-	ld a, 0
-	ld [rVBK], a
-	ld a, [hli]
-	ld [de], a
-	ld a, 1
-	ld [rVBK], a
-	ld a, [hli]
-	ld [de], a
-	inc de
-	dec bc
-	ld a, b
-	or c
-	jr nz, .copy
-
-	ld hl, UnusedTitleFG_OAM
-	ld de, Sprites
-	ld bc, $a0
-	call CopyBytes
-
-	call EnableLCD
-	ld a, [rLCDC]
-	set 1, a
-	set 2, a
-	ld [rLCDC], a
-
-	call DelayFrame
-
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-
-	ld hl, UnsuedTitleBG_Palettes
-	ld de, Unkn1Pals
-	ld bc, $40
-	call CopyBytes
-
-	ld hl, UnsuedTitleFG_Palettes
-	ld de, Unkn2Pals
-	ld bc, $40
-	call CopyBytes
-
-	ld hl, UnsuedTitleBG_Palettes
-	ld de, BGPals
-	ld bc, $40
-	call CopyBytes
-
-	ld hl, UnsuedTitleFG_Palettes
-	ld de, OBPals
-	ld bc, $40
-	call CopyBytes
-
-	pop af
-	ld [rSVBK], a
-
-	ld a, $1
-	ld [hCGBPalUpdate], a
-
-	ld de, MUSIC_TITLE
-	call PlayMusic
-
-	ret
-; 10c0b1
-
-UnusedTitleBG_GFX: ; 10c0b1
-INCBIN "gfx/title/old_bg.2bpp"
-; 10d0b1
-
-UnusedTitleBG_Tilemap: ; 10d0b1
-; 32x32 (tile, attributes)
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $01,$00, $02,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $03,$00, $04,$00, $05,$01, $06,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $07,$05, $08,$05, $09,$05, $0a,$05, $0b,$00, $0c,$00, $0d,$00, $0e,$00, $0f,$01, $10,$01, $11,$01, $12,$01, $13,$05, $14,$05, $15,$05, $16,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $17,$04, $18,$04, $19,$04, $1a,$04, $1b,$00, $1c,$00, $1d,$02, $1e,$02, $1f,$07, $20,$07, $21,$01, $22,$01, $23,$04, $24,$04, $25,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $27,$04, $28,$04, $29,$04, $2a,$04, $2b,$00, $2c,$00, $2d,$03, $2e,$01, $2f,$01, $30,$01, $31,$01, $32,$01, $33,$04, $34,$04, $35,$04, $36,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $37,$04, $38,$04, $39,$04, $3a,$04, $3b,$00, $3c,$00, $3d,$01, $00,$00, $00,$00, $3e,$07, $3f,$01, $40,$01, $41,$04, $42,$04, $43,$04, $44,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $45,$04, $46,$04, $47,$04, $48,$04, $49,$00, $3c,$00, $4a,$01, $00,$00, $00,$00, $4b,$07, $3f,$01, $4c,$01, $4d,$06, $4e,$06, $4f,$06, $50,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $51,$04, $52,$06, $53,$06, $54,$06, $55,$00, $3c,$00, $56,$01, $00,$00, $00,$00, $57,$07, $58,$01, $59,$01, $5a,$06, $5b,$06, $5c,$06, $5d,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $5e,$06, $5f,$06, $60,$06, $61,$06, $62,$00, $63,$00, $64,$03, $65,$01, $66,$01, $67,$07, $68,$01, $69,$01, $26,$04, $6a,$06, $26,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $6b,$00, $6c,$05, $6d,$05, $6e,$05, $6f,$00, $70,$02, $71,$02, $72,$01, $73,$00, $74,$02, $75,$01, $76,$01, $77,$05, $78,$05, $79,$05, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $7a,$00, $7b,$00, $7c,$00, $7d,$00, $0f,$01, $7e,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $a2,$00, $80,$00, $81,$00, $82,$00, $83,$00, $84,$07, $85,$01, $86,$01, $87,$01, $88,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $89,$00, $8a,$00, $8b,$00, $8c,$07, $8d,$01, $8e,$01, $8f,$01, $90,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $91,$01, $92,$01, $93,$01, $94,$01, $95,$01, $00,$00, $00,$00, $00,$00, $96,$05, $97,$05, $98,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $99,$05, $9a,$05, $9b,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9c,$05, $9d,$05, $9e,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9f,$05, $a0,$05, $a1,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
-; 10d8b1
-
-UnsuedTitleBG_Palettes: ; 10d8b1
-	RGB 00, 00, 00
-	RGB 25, 15, 28
-	RGB 22, 11, 28
-	RGB 19, 08, 26
-
-	RGB 00, 00, 00
-	RGB 17, 07, 22
-	RGB 13, 07, 16
-	RGB 19, 08, 26
-
-	RGB 25, 15, 28
-	RGB 22, 11, 28
-	RGB 19, 08, 26
-	RGB 17, 07, 22
-
-	RGB 22, 11, 28
-	RGB 19, 08, 26
-	RGB 17, 07, 22
-	RGB 13, 07, 16
-
-	RGB 00, 00, 00
-	RGB 31, 31, 31
-	RGB 16, 16, 24
-	RGB 02, 13, 21
-
-	RGB 00, 00, 00
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 12, 12, 12
-
-	RGB 00, 00, 00
-	RGB 01, 11, 23
-	RGB 16, 16, 24
-	RGB 02, 13, 21
-
-	RGB 00, 00, 00
-	RGB 22, 10, 31
-	RGB 19, 08, 26
-	RGB 17, 07, 22
-
-
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-
-	RGB 31, 31, 31
-	RGB 20, 04, 20
-	RGB 16, 08, 16
-	RGB 24, 00, 24
-
-	rept 54
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	endr
-; 10dab1
-
-UnusedTitleFG_GFX: ; 10dab1
-INCBIN "gfx/title/old_fg.2bpp"
-; 10eab1
-
-UnsuedTitleFG_Palettes: ; 10eab1
-	RGB 00, 00, 00
-	RGB 31, 31, 31
-	RGB 16, 16, 24
-	RGB 02, 13, 21
-
-	RGB 00, 00, 00
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 12, 12, 12
-
-	RGB 00, 00, 00
-	RGB 01, 11, 23
-	RGB 16, 16, 24
-	RGB 02, 13, 21
-
-	RGB 00, 00, 00
-	RGB 31, 22, 00
-	RGB 31, 27, 00
-	RGB 31, 31, 00
-
-	RGB 00, 00, 00
-	RGB 31, 31, 31
-	RGB 16, 16, 24
-	RGB 02, 13, 21
-
-	RGB 00, 00, 00
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 12, 12, 12
-
-	RGB 00, 00, 00
-	RGB 01, 11, 23
-	RGB 16, 16, 24
-	RGB 02, 13, 21
-
-	RGB 16, 31, 00
-	RGB 22, 31, 00
-	RGB 27, 31, 00
-	RGB 31, 31, 00
-
-
-	RGB 31, 00, 18
-	RGB 31, 31, 31
-	RGB 16, 16, 24
-	RGB 02, 13, 21
-
-	RGB 00, 00, 00
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 12, 12, 12
-
-	RGB 00, 00, 00
-	RGB 01, 11, 23
-	RGB 16, 16, 24
-	RGB 02, 13, 21
-
-	RGB 16, 31, 00
-	RGB 22, 31, 00
-	RGB 27, 31, 00
-	RGB 31, 31, 00
-
-	RGB 24, 18, 31
-	RGB 31, 31, 00
-	RGB 31, 31, 01
-	RGB 31, 31, 03
-
-	RGB 31, 31, 05
-	RGB 31, 31, 08
-	RGB 31, 31, 10
-	RGB 31, 31, 12
-
-	RGB 31, 31, 14
-	RGB 31, 31, 16
-	RGB 31, 31, 18
-	RGB 31, 31, 20
-
-	RGB 31, 31, 22
-	RGB 31, 31, 25
-	RGB 31, 31, 27
-	RGB 31, 31, 29
-
-	RGB 24, 06, 06
-	RGB 01, 01, 01
-	RGB 03, 03, 03
-	RGB 05, 05, 05
-
-	RGB 08, 08, 08
-	RGB 10, 10, 10
-	RGB 12, 12, 12
-	RGB 14, 14, 14
-
-	RGB 16, 16, 16
-	RGB 18, 18, 18
-	RGB 20, 20, 20
-	RGB 22, 22, 22
-
-	RGB 25, 25, 25
-	RGB 27, 27, 27
-	RGB 29, 29, 29
-	RGB 31, 31, 31
-
-	RGB 18, 24, 18
-	RGB 31, 29, 01
-	RGB 31, 27, 03
-	RGB 31, 25, 05
-
-	RGB 31, 22, 08
-	RGB 31, 20, 10
-	RGB 31, 18, 12
-	RGB 31, 16, 14
-
-	RGB 31, 14, 16
-	RGB 31, 12, 18
-	RGB 31, 10, 20
-	RGB 31, 08, 22
-
-	RGB 31, 05, 25
-	RGB 31, 03, 27
-	RGB 31, 01, 29
-	RGB 31, 00, 31
-
-	RGB 18, 06, 31
-	RGB 00, 31, 31
-	RGB 00, 31, 29
-	RGB 00, 31, 27
-
-	RGB 00, 31, 25
-	RGB 00, 31, 22
-	RGB 00, 31, 20
-	RGB 00, 31, 18
-
-	RGB 00, 31, 16
-	RGB 00, 31, 14
-	RGB 00, 31, 12
-	RGB 00, 31, 10
-
-	RGB 00, 31, 08
-	RGB 00, 31, 05
-	RGB 00, 31, 03
-	RGB 00, 31, 01
-
-	RGB 12, 31, 06
-	RGB 00, 00, 31
-	RGB 00, 01, 31
-	RGB 00, 03, 31
-
-	RGB 00, 05, 31
-	RGB 00, 08, 31
-	RGB 00, 10, 31
-	RGB 00, 12, 31
-
-	RGB 00, 14, 31
-	RGB 00, 16, 31
-	RGB 00, 18, 31
-	RGB 00, 20, 31
-
-	RGB 00, 22, 31
-	RGB 00, 25, 31
-	RGB 00, 27, 31
-	RGB 00, 29, 31
-
-	RGB 00, 00, 00
-	RGB 06, 00, 04
-	RGB 19, 02, 09
-	RGB 28, 04, 11
-
-	RGB 31, 07, 16
-	RGB 31, 17, 23
-	RGB 31, 26, 30
-	RGB 07, 05, 10
-
-	RGB 14, 10, 18
-	RGB 20, 20, 25
-	RGB 25, 27, 31
-	RGB 09, 05, 06
-
-	RGB 23, 16, 13
-	RGB 30, 23, 22
-	RGB 31, 28, 28
-	RGB 31, 31, 31
-
-	RGB 06, 31, 31
-	RGB 04, 00, 04
-	RGB 11, 02, 04
-	RGB 17, 02, 04
-
-	RGB 24, 05, 04
-	RGB 28, 07, 04
-	RGB 31, 11, 04
-	RGB 02, 01, 15
-
-	RGB 04, 11, 22
-	RGB 12, 25, 25
-	RGB 20, 31, 31
-	RGB 09, 04, 03
-
-	RGB 22, 11, 08
-	RGB 27, 19, 16
-	RGB 30, 28, 26
-	RGB 31, 31, 31
-
-	RGB 06, 18, 06
-	RGB 04, 04, 02
-	RGB 07, 07, 02
-	RGB 18, 18, 04
-
-	RGB 24, 24, 06
-	RGB 27, 27, 11
-	RGB 31, 31, 20
-	RGB 02, 03, 10
-
-	RGB 04, 05, 13
-	RGB 06, 10, 25
-	RGB 08, 15, 31
-	RGB 04, 00, 06
-
-	RGB 11, 07, 14
-	RGB 21, 16, 23
-	RGB 29, 26, 31
-	RGB 31, 31, 31
-
-	RGB 06, 00, 18
-	RGB 00, 04, 03
-	RGB 02, 09, 05
-	RGB 11, 19, 07
-
-	RGB 16, 24, 08
-	RGB 22, 31, 09
-	RGB 24, 31, 18
-	RGB 03, 01, 03
-
-	RGB 10, 04, 10
-	RGB 20, 08, 20
-	RGB 31, 17, 31
-	RGB 01, 03, 06
-
-	RGB 05, 09, 10
-	RGB 15, 21, 21
-	RGB 23, 25, 25
-	RGB 31, 31, 31
-
-	RGB 00, 18, 31
-	RGB 00, 05, 07
-	RGB 00, 08, 13
-	RGB 00, 12, 17
-
-	RGB 01, 20, 24
-	RGB 04, 27, 31
-	RGB 14, 31, 31
-	RGB 04, 02, 02
-
-	RGB 15, 01, 03
-	RGB 26, 04, 07
-	RGB 31, 13, 16
-	RGB 00, 05, 02
-
-	RGB 01, 11, 03
-	RGB 06, 21, 06
-	RGB 13, 31, 16
-	RGB 31, 31, 31
-
-	RGB 00, 06, 06
-	RGB 00, 01, 08
-	RGB 00, 05, 14
-	RGB 00, 08, 19
-
-	RGB 02, 14, 26
-	RGB 04, 21, 31
-	RGB 06, 26, 31
-	RGB 13, 00, 00
-
-	RGB 27, 07, 00
-	RGB 31, 17, 05
-	RGB 31, 25, 16
-	RGB 02, 04, 00
-
-	RGB 07, 11, 03
-	RGB 17, 19, 05
-	RGB 27, 31, 16
-	RGB 31, 31, 31
-
-	RGB 02, 00, 00
-	RGB 04, 01, 06
-	RGB 11, 03, 14
-	RGB 16, 04, 19
-
-	RGB 20, 07, 22
-	RGB 26, 12, 27
-	RGB 26, 20, 31
-	RGB 04, 07, 00
-
-	RGB 16, 20, 07
-	RGB 24, 28, 15
-	RGB 29, 31, 24
-	RGB 05, 02, 02
-
-	RGB 15, 04, 02
-	RGB 24, 11, 10
-	RGB 31, 22, 20
-	RGB 31, 31, 31
-
-	RGB 00, 00, 14
-	RGB 12, 00, 00
-	RGB 27, 05, 00
-	RGB 31, 15, 05
-
-	RGB 31, 26, 13
-	RGB 31, 30, 21
-	RGB 05, 07, 16
-	RGB 04, 16, 20
-
-	RGB 04, 24, 26
-	RGB 08, 31, 31
-	RGB 23, 31, 31
-	RGB 00, 00, 00
-
-	RGB 05, 05, 05
-	RGB 17, 17, 15
-	RGB 28, 28, 24
-	RGB 31, 31, 31
-; 10ecb1
-
-UnusedTitleFG_OAM: ; 10ecb1
-	db $18, $38, $00, $01,  $18, $40, $02, $01,  $18, $48, $04, $01,  $18, $50, $06, $01
-	db $18, $58, $08, $01,  $18, $60, $0a, $01,  $18, $68, $0c, $01,  $18, $70, $0e, $01
-
-	db $28, $38, $10, $00,  $28, $40, $12, $00,  $28, $48, $14, $00,  $28, $50, $16, $00
-	db $28, $58, $18, $00,  $28, $60, $1a, $00,  $28, $68, $1c, $00,  $28, $70, $1e, $00
-
-	db $38, $38, $20, $00,  $38, $40, $22, $00,  $38, $48, $24, $00,  $38, $50, $26, $00
-	db $38, $58, $28, $00,  $38, $60, $2a, $00,  $38, $68, $2c, $00,  $38, $70, $2e, $00
-
-	db $48, $38, $30, $02,  $48, $40, $32, $02,  $48, $48, $34, $02,  $48, $50, $36, $02
-	db $48, $58, $38, $02,  $48, $60, $3a, $02,  $48, $68, $3c, $02,  $48, $70, $3e, $02
-
-	db $58, $38, $40, $01,  $58, $40, $42, $01,  $58, $48, $44, $01,  $58, $50, $46, $01
-	db $58, $58, $48, $01,  $58, $60, $4a, $01,  $58, $68, $4c, $01,  $58, $70, $4e, $01
-; 10ed51
-
-
-Function10ed51: ; 10ed51
-	call _TitleScreen
-.loop
-	call Functiona57
-	ld a, [$ffa9]
-	ld b, a
-	and 1
-	jr nz, .done
-	call Function10eea7
-	call DelayFrame
-	jr .loop
-.done
-	ret
-; 10ed67
-
-
 INCLUDE "engine/title.asm"
 
 
-
-SECTION "bank45", ROMX, BANK[$45]
-
-	charmap " ", $20 ; revert to ascii
-
-String_114000:
-	db "---", 0
-String_114004:
-	db "CGB-AAAA-00", 0, 0
-
-Unknown_114011: ; 114011
-	dw String_114033
-	dw String_11403a
-	dw String_114043
-	dw String_11404e
-	dw String_114053
-	dw String_114058
-	dw String_114062
-	dw String_114074
-	dw String_11408d
-	dw String_11409f
-	dw String_1140b8
-	dw String_1140e6
-	dw String_114110
-	dw String_11413f
-	dw String_114160
-	dw String_114160
-	dw String_114163
-
-String_114033: ; 114033
-	db "From: ", 0
-String_11403a: ; 11403a
-	db "Sender: ", 0
-String_114043: ; 114043
-	db "Reply-To: ", 0
-String_11404e: ; 11404e
-	db "To: ", 0
-String_114053: ; 114053
-	db "Cc: ", 0
-String_114058: ; 114058
-	db "Subject: ", 0
-String_114062: ; 114062
-	db "MIME-Version: 1.0", 0
-String_114074: ; 114074
-	db "X-Game-title: XXXXXXXXXX", 0
-String_11408d: ; 11408d
-	db "X-Game-code: CGB-", 0
-String_11409f: ; 11409f
-	db "X-GBmail-type: exclusive", 0
-String_1140b8: ; 1140b8
-	db "Content-Type: text/plain; charset=iso-2022-jp", 0
-String_1140e6: ; 1140e6
-	db "Content-Type: multipart/mixed; boundary=\"", 0
-String_114110: ; 114110
-	db "Content-Type: Application/Octet-Stream; name=\"", 0
-String_11413f: ; 11413f
-	db "Content-Transfer-Encoding:Base64", 0
-String_114160: ; 114160
-	db "--", 0
-String_114163: ; 114163
-	db ".", 0
-; 114165
-
-Jumptable_114165: ; 114165
-	dw Function114268
-	dw Function114269
-	dw Function11433c
-	dw Function1143b7
-	dw Function1144d1
-	dw Function114b55
-	dw Function114bbc
-	dw Function114cd9
-	dw Function114e62
-	dw Function1152b8
-	dw Function1154d4
-	dw Function1156cc
-	dw Function1159fb
-; 11417f
-
-Unknown_11417f: ; 11417f
-	dw String_114199
-	dw String_11419f
-	dw String_1141a7
-	dw String_1141b1
-	dw String_1141b5
-	dw String_1141b9
-	dw String_1141c2
-	dw String_1141c8
-	dw String_1141d6
-	dw String_1141e4
-	dw String_1141ee
-	dw String_1141fc
-	dw String_114209
-
-String_114199: ; 114199
-	db "FROM:", 0
-String_11419f: ; 11419f
-	db "SENDER:", 0
-String_1141a7: ; 1141a7
-	db "REPLY-TO:", 0
-String_1141b1: ; 1141b1
-	db "TO:", 0
-String_1141b5: ; 1141b5
-	db "CC:", 0
-String_1141b9: ; 1141b9
-	db "SUBJECT:", 0
-String_1141c2: ; 1141c2
-	db "DATE:", 0
-String_1141c8: ; 1141c8
-	db "CONTENT-TYPE:", 0
-String_1141d6: ; 1141d6
-	db "MIME-VERSION:", 0
-String_1141e4: ; 1141e4
-	db "X-MAILER:", 0
-String_1141ee: ; 1141ee
-	db "X-GAME-TITLE:", 0
-String_1141fc: ; 1141fc
-	db "X-GAME-CODE:", 0
-String_114209: ; 114209
-	db "X-GBMAIL-TYPE:", 0
-; 114218
-
-String_114218: ; 114218
-	db "NAME=", 0
-String_11421e: ; 11421e
-	db "MULTIPART", 0
-String_114228: ; 114228
-	db "BOUNDARY=", 0
-String_114232: ; 114232
-	db "=?ISO-2022-JP?B?", 0
-; 114243
-
-Function114243:: ; 114243
-	ld a, $a
-	ld [MBC3SRamEnable], a
-	ld a, [$ff8c]
-	push af
-	push de
-	ld a, [wdc02]
-	add a
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_114165
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	pop de
-	jp [hl]
-; 11425c
-
-Function11425c: ; 11425c
-	ld [wdc02], a
-	pop af
-	ld [$ff8c], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ret
-; 114268
-
-Function114268: ; 114268
-	ret
-; 114269
-
-Function114269: ; 114269
-	ld h, d
-	ld l, e
-	xor a
-	ld [wdc02], a
-	ld [wdc03], a
-	ld a, [hli]
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	inc hl
-	ld c, [hl]
-	inc hl
-	ld b, [hl]
-.asm_114282
-	ld a, [de]
-	and a
-	jr z, .asm_1142a4
-	ld h, a
-	ld a, [wdc03]
-	and a
-	jr nz, .asm_114292
-	ld a, h
-	cp $80
-	jr nc, .asm_1142ae
-
-.asm_114292
-	ld a, h
-	cp $d
-	jr z, .asm_1142bb
-	xor a
-	ld [wdc02], a
-.asm_11429b
-	inc e
-	call z, Function114333
-	dec bc
-	ld a, b
-	or c
-	jr nz, .asm_114282
-
-.asm_1142a4
-	ld a, [wdc03]
-	and a
-	jr nz, .asm_114303
-	ld b, $80
-	jr .asm_1142b0
-
-.asm_1142ae
-	ld b, $81
-
-.asm_1142b0
-	ld a, [wdc00]
-	ld c, a
-	ld a, $1
-	ld h, d
-	ld l, e
-	jp Function11425c
-
-.asm_1142bb
-	and a
-	jr z, .asm_1142a4
-	inc e
-	call z, Function114333
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_1142a4
-	ld a, [de]
-	ld h, a
-	ld a, [wdc03]
-	and a
-	jr nz, .asm_1142d4
-	ld a, h
-	cp $80
-	jr nc, .asm_1142ae
-
-.asm_1142d4
-	ld a, h
-	cp $a
-	jr nz, .asm_1142ae
-	ld a, [wdc03]
-	and a
-	jr nz, .asm_11430d
-	ld a, [wdc02]
-	and a
-	jr nz, .asm_114309
-	ld a, $1
-	ld [wdc02], a
-	inc e
-	call z, Function114333
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_1142a4
-	ld a, [de]
-	cp $20
-	jr z, .asm_11429b
-	cp $9
-	jr z, .asm_11429b
-	jr .asm_114282
-
-.asm_1142fe
-	xor a
-	ld b, a
-	jp Function11425c
-
-.asm_114303
-	xor a
-	ld b, $1
-	jp Function11425c
-
-.asm_114309
-	xor a
-	ld [wdc02], a
-
-.asm_11430d
-	ld a, [wdc02]
-	and a
-	jr nz, .asm_1142fe
-	ld a, $1
-	ld [wdc03], a
-	inc e
-	call z, Function114333
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_1142a4
-	ld a, [de]
-	and a
-	jp z, .asm_1142a4
-	cp $2e
-	jp nz, .asm_114282
-	ld a, $1
-	ld [wdc02], a
-	jp .asm_11429b
-; 114333
-
-Function114333: ; 114333
-	push bc
-	ld bc, wdc00
-	call Function115d80
-	pop bc
-	ret
-; 11433c
-
-Function11433c: ; 11433c
-	push de
-	ld h, d
-	ld l, e
-	ld c, [hl]
-	inc hl
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld b, $b
-	call Function1143f3
-	cp $2
-	jr z, .asm_114358
-	and a
-	jr z, .asm_114360
-	pop hl
-.asm_114351
-	xor a
-	ld b, $3
-	jp Function11425c
-
-.asm_114357
-	pop hl
-
-.asm_114358
-	pop hl
-	ld a, $1
-	ld b, $82
-	jp Function11425c
+INCLUDE "misc/mobile_45.asm"
 
-.asm_114360
-	ld a, h
-	ld [wdc03], a
-	pop hl
-	push bc
-	push de
-	ld c, [hl]
-	inc hl
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	inc hl
-	ld b, $c
-	call Function1143f3
-	cp $2
-	jr z, .asm_114357
-	and a
-	jr z, .asm_114381
-	xor a
-	ld b, $2
-	pop hl
-	pop hl
-	jp Function11425c
 
-.asm_114381
-	pop de
-	pop bc
-	ld a, [wdc03]
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	call Function114c0b
-	ld hl, String_114004
-.asm_114394
-	ld de, wdc24
-.asm_114397
-	ld a, [hli]
-	and a
-	jr z, .asm_1143ad
-	ld b, a
-	ld a, [de]
-	inc de
-	cp b
-	jr z, .asm_114397
-.asm_1143a1
-	ld a, [hli]
-	and a
-	jr nz, .asm_1143a1
-	ld a, [hl]
-	and a
-	jr nz, .asm_114394
-	ld b, a
-	jp Function11425c
-
-.asm_1143ad
-	ld a, [de]
-	and a
-	jr nz, .asm_114351
-	xor a
-	ld b, $1
-	jp Function11425c
-; 1143b7
-
-Function1143b7: ; 1143b7
-	ld a, [de]
-	ld b, a
-	inc de
-	ld a, [de]
-	ld c, a
-	inc de
-	ld a, [de]
-	ld h, a
-	inc de
-	ld a, [de]
-	inc de
-	push de
-	ld d, a
-	ld e, h
-	call Function1143f3
-	cp $2
-	jr z, .asm_1143eb
-	and a
-	jr nz, .asm_1143ed
-	ld a, h
-	pop hl
-	push af
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	pop af
-	ld [hli], a
-	ld a, e
-	ld [hli], a
-	ld a, d
-	ld [hli], a
-	ld a, c
-	ld [hli], a
-	ld [hl], b
-	xor a
-	jp Function11425c
-
-.asm_1143eb
-	ld b, $82
-
-.asm_1143ed
-	ld a, $1
-	pop hl
-	jp Function11425c
-; 1143f3
-
-Function1143f3: ; 1143f3
-	call Function114412
-	and a
-	jr nz, .asm_11440d
-	ld a, $4
-	cp b
-	jr c, .asm_114407
-	jr z, .asm_114402
-.asm_114400
-	xor a
-	ret
-
-.asm_114402
-	ld a, $0
-	cp c
-	jr nc, .asm_114400
-
-.asm_114407
-	ld bc, VBlank5
-	ld a, $2
-	ret
-
-.asm_11440d
-	ld a, $1
-	ld b, $84
-	ret
-; 114412
-
-Function114412: ; 114412
-	ld a, c
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld hl, Unknown_11417f
-	ld a, b
-	add a
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld c, $0
-	jr .asm_11444a
-
-.asm_11442b
-	ld a, [de]
-	and a
-	jp z, .asm_1144c2
-	inc e
-	call z, Function1144c8
-	cp $d
-	jr nz, .asm_11442b
-	ld a, [de]
-	inc e
-	call z, Function1144c8
-	cp $a
-	jr nz, .asm_11442b
-	ld a, [de]
-	cp $2e
-	jr z, .asm_1144ae
-	cp $d
-	jr z, .asm_1144b8
-
-.asm_11444a
-	ld a, [wdc00]
-	ld [wdc02], a
-	ld a, [de]
-	and a
-	jr z, .asm_1144c2
-	inc e
-	call z, Function1144c8
-	cp $61
-	jr c, .asm_114462
-	cp $7b
-	jr nc, .asm_114462
-	sub $20
-
-.asm_114462
-	ld b, a
-	ld a, [hl]
-	and a
-	jr z, .asm_114476
-	cp b
-	jr nz, .asm_11446e
-	inc c
-	inc hl
-	jr .asm_11444a
-
-.asm_11446e
-	ld a, c
-	and a
-	jr z, .asm_11442b
-	dec c
-	dec hl
-	jr .asm_11446e
-
-.asm_114476
-	ld a, $20
-	cp b
-	jr z, .asm_114481
-	ld a, $a
-	cp b
-	jr z, .asm_114481
-	dec de
-
-.asm_114481
-	ld h, d
-	ld l, e
-	ld bc, NULL
-.asm_114486
-	ld a, [de]
-	and a
-	jr z, .asm_1144c2
-	inc bc
-	inc e
-	call z, Function1144c8
-	cp $d
-	jr nz, .asm_114486
-	ld a, [de]
-	inc bc
-	inc e
-	call z, Function1144c8
-	cp $a
-	jr nz, .asm_114486
-	ld a, [de]
-	cp $20
-	jr z, .asm_114486
-	cp $9
-	jr z, .asm_114486
-	ld d, h
-	ld e, l
-	ld a, [wdc02]
-	ld h, a
-	xor a
-	ret
-
-.asm_1144ae
-	inc e
-	call z, Function1144c8
-	ld a, [de]
-	cp $d
-	jp nz, .asm_11442b
-
-.asm_1144b8
-	inc e
-	call z, Function1144c8
-	ld a, [de]
-	cp $a
-	jp nz, .asm_11442b
-
-.asm_1144c2
-	ld a, $0
-	ld [hl], a
-	ld a, $1
-	ret
-; 1144c8
-
-Function1144c8: ; 1144c8
-	push bc
-	ld bc, wdc00
-	call Function115d80
-	pop bc
-	ret
-; 1144d1
-
-Function1144d1: ; 1144d1
-	call Function114561
-	dec de
-	dec de
-	push de
-	inc de
-	inc de
-	inc de
-	inc hl
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc hl
-	ld a, [de]
-	ld [hld], a
-	dec de
-	ld a, [de]
-	ld [hl], a
-	xor a
-	ld [BigDoll], a
-	ld [wdc17], a
-	ld a, $2
-	ld [wdc0e], a
-	ld hl, wdc03
-	ld c, [hl]
-	inc hl
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	call Function114576
-	cp $2
-	jr z, .asm_11455b
-	and a
-	jr z, .asm_114511
-	ld a, $1
-	ld [wdc0d], a
-	call Function1146fa
-	and a
-	jr nz, .asm_11455b
-	jr .asm_11451c
-
-.asm_114511
-	call Function1146a4
-	and a
-	jr nz, .asm_11455b
-	ld a, $2
-	ld [wdc0d], a
-
-.asm_11451c
-	pop hl
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld a, [wdc0d]
-	ld [de], a
-	ld b, $0
-	ld a, [BigDoll]
-	and a
-	jr z, .asm_114537
-	ld b, $1
-
-.asm_114537
-	ld hl, wdc06
-	ld a, [hl]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld hl, wdc09
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	dec de
-	ld a, d
-	or e
-	jr z, .asm_114559
-	ld hl, wdc07
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	xor a
-	ld [de], a
-	jp Function11425c
-
-.asm_114559
-	ld b, $83
-
-.asm_11455b
-	pop hl
-	ld a, $1
-	jp Function11425c
-; 114561
-
-Function114561: ; 114561
-	ld hl, wdc03
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hl], a
-	ret
-; 114576
-
-Function114576: ; 114576
-	xor a
-	ld [Bed], a
-	ld b, $7
-	call Function1143f3
-	cp $2
-	jr z, .asm_1145b6
-	and a
-	jr nz, .asm_1145b4
-	ld a, h
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	push hl
-	push de
-	push bc
-	ld hl, wdc24
-	call Function115d53
-	call Function1145c5
-	pop bc
-	pop de
-	pop hl
-	and a
-	jr z, .asm_1145bf
-	ld a, b
-	and a
-	jr nz, .asm_1145ba
-	ld a, h
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld hl, String_114218
-	call Function114acf
-
-.asm_1145b4
-	xor a
-	ret
-
-.asm_1145b6
-	ld b, $82
-	jr .asm_1145bc
-
-.asm_1145ba
-	ld b, $81
-
-.asm_1145bc
-	ld a, $2
-	ret
-
-.asm_1145bf
-	ld a, $1
-	ld [Bed], a
-	ret
-; 1145c5
-
-Function1145c5: ; 1145c5
-	ld hl, wdc24
-	ld de, String_11421e
-	ld c, $0
-.asm_1145cd
-	ld a, [hli]
-	and a
-	jr z, .asm_1145ef
-	cp $20
-	jr z, .asm_1145cd
-	cp $d
-	jr z, .asm_1145f8
-	cp $61
-	jr c, .asm_1145e3
-	cp $7b
-	jr nc, .asm_1145e3
-	sub $20
-
-.asm_1145e3
-	ld b, a
-	ld a, [de]
-	and a
-	jr z, .asm_11460e
-	inc de
-	cp b
-	jr z, .asm_1145cd
-	dec de
-	jr .asm_1145cd
-
-.asm_1145ef
-	ld b, $0
-	jr .asm_1145f5
-
-.asm_1145f3
-	ld b, $81
-
-.asm_1145f5
-	ld a, $1
-	ret
-
-.asm_1145f8
-	ld a, [hli]
-	and a
-	jr z, .asm_1145f3
-	cp $a
-	jr nz, .asm_1145f3
-	ld a, [hli]
-	and a
-	jr z, .asm_1145f3
-	cp $20
-	jr z, .asm_1145cd
-	cp $9
-	jr z, .asm_1145cd
-	jr .asm_1145f3
-
-.asm_11460e
-	ld a, c
-	and a
-	jr nz, .asm_114619
-	ld c, $1
-	ld de, String_114228
-	jr .asm_1145cd
-
-.asm_114619
-	dec hl
-	ld a, [hl]
-	cp $22
-	jr nz, .asm_114620
-	inc hl
-
-.asm_114620
-	ld de, $ddc8
-	ld b, $0
-	ld c, $40
-.asm_114627
-	ld a, [hli]
-	cp $22
-	jr z, .asm_114636
-	cp $d
-	jr z, .asm_114636
-	ld [de], a
-	inc de
-	inc b
-	dec c
-	jr nz, .asm_114627
-
-.asm_114636
-	ld a, b
-	ld [PartyMon5Defense], a
-	xor a
-	ret
-; 11463c
-
-Function11463c: ; 11463c
-	ld a, [wdc00]
-	push af
-	push de
-	ld hl, $ddc8
-	ld a, [PartyMon5Defense]
-	ld b, a
-.asm_114648
-	ld a, [de]
-	ld c, a
-	ld a, [hli]
-	cp c
-	jr nz, .asm_11468a
-	inc e
-	call z, Function11469b
-	dec b
-	jr nz, .asm_114648
-	ld a, [de]
-	cp $2d
-	jr z, .asm_114673
-	cp $d
-	jr nz, .asm_11468a
-	xor a
-	ld [Carpet], a
-.asm_114662
-	inc e
-	call z, Function11469b
-	ld a, [de]
-	cp $a
-	jr nz, .asm_11468a
-	inc e
-	call z, Function11469b
-	xor a
-	pop hl
-	pop hl
-	ret
-
-.asm_114673
-	inc e
-	call z, Function11469b
-	ld a, [de]
-	cp $2d
-	jr nz, .asm_11468a
-	inc e
-	call z, Function11469b
-	ld a, $1
-	ld [Carpet], a
-	ld a, [de]
-	cp $d
-	jr z, .asm_114662
-
-.asm_11468a
-	pop de
-	pop af
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	xor a
-	ld [Carpet], a
-	ld a, $1
-	ret
-; 11469b
-
-Function11469b: ; 11469b
-	push bc
-	ld bc, wdc00
-	call Function115d80
-	pop bc
-	ret
-; 1146a4
-
-Function1146a4: ; 1146a4
-	call Function114867
-	and a
-	jr nz, .asm_1146e4
-	ld hl, wdc03
-	ld a, [hli]
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	call Function114a18
-	and a
-	jr nz, .asm_1146e8
-	call Function1148c2
-	and a
-	jr nz, .asm_1146e4
-	ld hl, wdc03
-	ld a, [hli]
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	call Function114a7a
-	and a
-	jr nz, .asm_1146e8
-.asm_1146da
-	dec bc
-	dec bc
-	call Function1149cc
-	and a
-	jr nz, .asm_1146e4
-	xor a
-	ret
-
-.asm_1146e4
-	ld b, $83
-	jr .asm_1146f7
-
-.asm_1146e8
-	ld a, [wdc17]
-	and a
-	jr z, .asm_1146f5
-	ld a, $1
-	ld [BigDoll], a
-	jr .asm_1146da
-
-.asm_1146f5
-	ld b, $81
-
-.asm_1146f7
-	ld a, $1
-	ret
-; 1146fa
-
-Function1146fa: ; 1146fa
-	call Function114867
-	and a
-	jp nz, .asm_11478a
-	ld hl, wdc03
-	ld a, [hli]
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	call Function114a18
-	and a
-	jp nz, .asm_11478e
-	call Function1149cc
-	and a
-	jp nz, .asm_11478a
-	ld a, $1
-	ld [wdc0e], a
-	ld a, [wdc00]
-	ld [$ff8c], a
-	ld [$4000], a
-	ld a, $1
-	ld [RightOrnament], a
-	call Function1147cd
-	and a
-	jp nz, .asm_1147b7
-.asm_114737
-	call Function114843
-	cp $1
-	jr nz, .asm_114749
-	ld a, [wdc17]
-	and a
-	jr z, .asm_114794
-	ld a, $1
-	ld [BigDoll], a
-
-.asm_114749
-	call Function11494d
-	and a
-	jr nz, .asm_11478a
-	ld a, [BigDoll]
-	and a
-	jr nz, .asm_114786
-	ld hl, wdc03
-	ld a, [hli]
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	call Function1147cd
-	and a
-	jr nz, .asm_1147b7
-	ld a, [wdc0e]
-	cp $3
-	jr nz, .asm_114773
-	dec bc
-	dec bc
-
-.asm_114773
-	call Function1149cc
-	and a
-	jr nz, .asm_11478a
-	ld a, [wdc0d]
-	inc a
-	ld [wdc0d], a
-	ld a, [BigDoll]
-	and a
-	jr z, .asm_114799
-
-.asm_114786
-	ld b, $1
-	jr .asm_1147cb
-
-.asm_11478a
-	ld b, $83
-	jr .asm_114796
-
-.asm_11478e
-	ld a, [wdc17]
-	and a
-	jr nz, .asm_114796
-
-.asm_114794
-	ld b, $81
-
-.asm_114796
-	ld a, $1
-	ret
-
-.asm_114799
-	ld a, [Carpet]
-	and a
-	jr z, .asm_114737
-	jr .asm_1147cb
-
-	ld hl, wdc03
-	ld a, [hli]
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	call Function114a7a
-	and a
-	jr z, .asm_1147cb
-	xor a
-	ld [BigDoll], a
-
-.asm_1147b7
-	ld a, [wdc17]
-	and a
-	jr z, .asm_114794
-	ld a, $1
-	ld [BigDoll], a
-	ld a, [wdc0d]
-	cp $1
-	jr nz, .asm_114773
-	ld b, $1
-
-.asm_1147cb
-	xor a
-	ret
-; 1147cd
-
-Function1147cd: ; 1147cd
-	ld bc, NULL
-	ld a, [RightOrnament]
-	and a
-	jr nz, .asm_11480c
-.asm_1147d6
-	ld a, [de]
-	and a
-	jr z, .asm_11482f
-	inc e
-	call z, Function11483a
-	inc bc
-	cp $d
-	jr nz, .asm_1147d6
-	ld a, [de]
-	cp $a
-	jr nz, .asm_11482f
-.asm_1147e8
-	inc bc
-	inc e
-	call z, Function11483a
-	ld a, [de]
-	cp $20
-	jr z, .asm_114827
-	cp $9
-	jr z, .asm_114827
-	cp $d
-	jr nz, .asm_11482b
-	inc e
-	call z, Function11483a
-	ld a, [de]
-	cp $a
-	jr nz, .asm_11482f
-	inc e
-	call z, Function11483a
-	ld a, h
-	and a
-	jr z, .asm_11480c
-	dec bc
-
-.asm_11480c
-	ld a, [de]
-	cp $2d
-	jr nz, .asm_1147d6
-	inc e
-	call z, Function11483a
-	ld a, [de]
-	cp $2d
-	jr nz, .asm_1147d6
-	inc e
-	call z, Function11483a
-	push bc
-	call Function11463c
-	pop bc
-	and a
-	jr nz, .asm_1147d6
-	ret
-
-.asm_114827
-	ld h, $1
-	jr .asm_1147e8
-
-.asm_11482b
-	ld h, $0
-	jr .asm_11480c
-
-.asm_11482f
-	and a
-	jr nz, .asm_114837
-	ld a, $1
-	ld [wdc17], a
-
-.asm_114837
-	ld a, $1
-	ret
-; 11483a
-
-Function11483a: ; 11483a
-	push bc
-	ld bc, wdc00
-	call Function115d80
-	pop bc
-	ret
-; 114843
-
-Function114843: ; 114843
-	ld a, [wdc00]
-	push af
-	push de
-	ld [$ff8c], a
-	ld [$4000], a
-	call Function114a18
-	and a
-	jr nz, .asm_11485f
-	pop de
-	pop af
-	ld [wdc00], a
-	ld hl, String_114218
-	call Function114acf
-	ret
-
-.asm_11485f
-	pop de
-	pop af
-	ld [wdc00], a
-	ld a, $1
-	ret
-; 114867
-
-Function114867: ; 114867
-	ld hl, wdc06
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld a, $2
-	ld [de], a
-	inc e
-	call z, Function1148b9
-	ld a, $1
-	ld [de], a
-	inc e
-	call z, Function1148b9
-	ld hl, wdc03
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function1148b9
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function1148b9
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function1148b9
-	ld hl, wdc06
-	ld a, [wdc01]
-	ld [hli], a
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	inc hl
-	ld c, [hl]
-	inc hl
-	ld b, [hl]
-	ld d, $5
-.asm_1148a9
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_1148b6
-	dec d
-	jr nz, .asm_1148a9
-	ld [hl], b
-	dec hl
-	ld [hl], c
-	xor a
-	ret
-
-.asm_1148b6
-	ld a, $1
-	ret
-; 1148b9
-
-Function1148b9: ; 1148b9
-	push bc
-	ld bc, wdc01
-	call Function115d80
-	pop bc
-	ret
-; 1148c2
-
-Function1148c2: ; 1148c2
-	ld hl, wdc06
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld a, c
-	ld [de], a
-	inc e
-	call z, Function114944
-	ld a, b
-	ld [de], a
-	inc e
-	call z, Function114944
-	ld a, [wdc0e]
-	ld [de], a
-	inc e
-	call z, Function114944
-	cp $3
-	jr nz, .asm_114904
-	ld hl, Plant
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function114944
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function114944
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function114944
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function114944
-
-.asm_114904
-	ld hl, wdc03
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function114944
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function114944
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function114944
-	ld hl, wdc06
-	ld a, [wdc01]
-	ld [hli], a
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	inc hl
-	ld c, [hl]
-	inc hl
-	ld b, [hl]
-	ld a, [wdc0e]
-	cp $3
-	jr z, .asm_114932
-	ld d, $6
-	jr .asm_114934
-
-.asm_114932
-	ld d, $a
-
-.asm_114934
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_114941
-	dec d
-	jr nz, .asm_114934
-	ld [hl], b
-	dec hl
-	ld [hl], c
-	xor a
-	ret
-
-.asm_114941
-	ld a, $1
-	ret
-; 114944
-
-Function114944: ; 114944
-	push bc
-	ld bc, wdc01
-	call Function115d80
-	pop bc
-	ret
-; 11494d
-
-Function11494d: ; 11494d
-	ld hl, wdc06
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld a, [wdc0e]
-	ld [de], a
-	inc e
-	call z, Function1149c3
-	cp $3
-	jr nz, .asm_114983
-	ld hl, Plant
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function1149c3
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function1149c3
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function1149c3
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function1149c3
-
-.asm_114983
-	ld hl, wdc03
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function1149c3
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function1149c3
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function1149c3
-	ld hl, wdc06
-	ld a, [wdc01]
-	ld [hli], a
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	inc hl
-	ld c, [hl]
-	inc hl
-	ld b, [hl]
-	ld a, [wdc0e]
-	cp $3
-	jr z, .asm_1149b1
-	ld d, $4
-	jr .asm_1149b3
-
-.asm_1149b1
-	ld d, $8
-
-.asm_1149b3
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_1149c0
-	dec d
-	jr nz, .asm_1149b3
-	ld [hl], b
-	dec hl
-	ld [hl], c
-	xor a
-	ret
-
-.asm_1149c0
-	ld a, $1
-	ret
-; 1149c3
-
-Function1149c3: ; 1149c3
-	push bc
-	ld bc, wdc01
-	call Function115d80
-	pop bc
-	ret
-; 1149cc
-
-Function1149cc: ; 1149cc
-	ld hl, wdc06
-	ld a, [hl]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	push de
-	ld hl, wdc09
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	dec de
-	ld a, d
-	or e
-	jr z, .asm_114a0b
-	dec de
-	ld a, d
-	or e
-	jr z, .asm_114a0b
-	ld [hl], d
-	dec hl
-	ld [hl], e
-	ld hl, wdc07
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld a, c
-	ld [de], a
-	inc e
-	call z, Function114a0f
-	ld a, b
-	ld [de], a
-	inc e
-	call z, Function114a0f
-	ld hl, wdc06
-	ld a, [wdc01]
-	ld [hli], a
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	pop de
-	xor a
-	ret
-
-.asm_114a0b
-	pop de
-	ld a, $1
-	ret
-; 114a0f
-
-Function114a0f: ; 114a0f
-	push bc
-	ld bc, wdc01
-	call Function115d80
-	pop bc
-	ret
-; 114a18
-
-Function114a18: ; 114a18
-	ld bc, NULL
-	ld h, b
-.asm_114a1c
-	inc bc
-	ld a, [de]
-	and a
-	jr z, .asm_114a66
-	inc e
-	call z, Function114a71
-	cp $d
-	jr nz, .asm_114a1c
-	ld a, [de]
-	cp $a
-	jr nz, .asm_114a66
-.asm_114a2e
-	inc bc
-	inc e
-	call z, Function114a71
-	ld a, [de]
-	cp $20
-	jr z, .asm_114a5e
-	cp $9
-	jr z, .asm_114a5e
-	cp $d
-	jr nz, .asm_114a62
-	inc e
-	call z, Function114a71
-	ld a, [de]
-	cp $a
-	jr nz, .asm_114a66
-	inc e
-	call z, Function114a71
-	ld a, h
-	and a
-	jr z, .asm_114a52
-	dec bc
-
-.asm_114a52
-	ld hl, wdc03
-	ld a, [wdc00]
-	ld [hli], a
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	xor a
-	ret
-
-.asm_114a5e
-	ld h, $1
-	jr .asm_114a2e
-
-.asm_114a62
-	ld h, $0
-	jr .asm_114a1c
-
-.asm_114a66
-	and a
-	jr nz, .asm_114a6e
-	ld a, $1
-	ld [wdc17], a
-
-.asm_114a6e
-	ld a, $1
-	ret
-; 114a71
-
-Function114a71: ; 114a71
-	push bc
-	ld bc, wdc00
-	call Function115d80
-	pop bc
-	ret
-; 114a7a
-
-Function114a7a: ; 114a7a
-	ld bc, NULL
-.asm_114a7d
-	inc bc
-	ld a, [de]
-	and a
-	jr z, .asm_114abb
-	inc e
-	call z, Function114ac6
-	cp $d
-	jr nz, .asm_114a7d
-	ld a, [de]
-	cp $a
-	jr nz, .asm_114abb
-	inc e
-	call z, Function114ac6
-	inc bc
-	ld a, [de]
-	cp $2e
-	jr nz, .asm_114a7d
-	inc e
-	call z, Function114ac6
-	ld a, [de]
-	cp $d
-	jr nz, .asm_114a7d
-	inc e
-	call z, Function114ac6
-	ld a, [de]
-	cp $a
-	jr nz, .asm_114abb
-	inc e
-	call z, Function114ac6
-	ld hl, wdc03
-	ld a, [wdc00]
-	ld [hli], a
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	xor a
-	ret
-
-.asm_114abb
-	and a
-	jr nz, .asm_114ac3
-	ld a, $1
-	ld [wdc17], a
-
-.asm_114ac3
-	ld a, $1
-	ret
-; 114ac6
-
-Function114ac6: ; 114ac6
-	push bc
-	ld bc, wdc00
-	call Function115d80
-	pop bc
-	ret
-; 114acf
-
-Function114acf: ; 114acf
-.asm_114acf
-	push hl
-	push bc
-.asm_114ad1
-	ld a, [hl]
-	ld b, a
-	ld a, [de]
-	inc e
-	call z, Function114b4c
-	cp $61
-	jr c, .asm_114ae2
-	cp $7b
-	jr nc, .asm_114ae2
-	sub $20
-
-.asm_114ae2
-	cp b
-	jr z, .asm_114af4
-	pop bc
-	dec bc
-	push bc
-	ld a, b
-	or c
-	jr nz, .asm_114ad1
-.asm_114aec
-	ld a, $2
-	ld [wdc0e], a
-	pop bc
-	pop hl
-	ret
-
-.asm_114af4
-	inc hl
-.asm_114af5
-	ld a, [hli]
-	and a
-	jr z, .asm_114b19
-	ld b, a
-	ld a, [de]
-	inc e
-	call z, Function114b4c
-	cp $61
-	jr c, .asm_114b09
-	cp $7b
-	jr nc, .asm_114b09
-	sub $20
-
-.asm_114b09
-	cp b
-	jr nz, .asm_114b15
-	pop bc
-	dec bc
-	push bc
-	ld a, b
-	or c
-	jr nz, .asm_114af5
-	jr .asm_114aec
-
-.asm_114b15
-	pop bc
-	pop hl
-	jr .asm_114acf
-
-.asm_114b19
-	ld b, $0
-	ld c, $40
-	ld a, [de]
-	cp $22
-	jr nz, .asm_114b26
-	inc e
-	call z, Function114b4c
-
-.asm_114b26
-	ld hl, Plant
-	ld a, [wdc00]
-	ld [hli], a
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	inc hl
-.asm_114b31
-	ld a, [de]
-	cp $22
-	jr z, .asm_114b42
-	cp $d
-	jr z, .asm_114b42
-	inc e
-	call z, Function114b4c
-	inc b
-	dec c
-	jr nz, .asm_114b31
-
-.asm_114b42
-	ld [hl], b
-	pop bc
-	pop hl
-	ld a, $3
-	ld [wdc0e], a
-	xor a
-	ret
-; 114b4c
-
-Function114b4c: ; 114b4c
-	push bc
-	ld bc, wdc00
-	call Function115d80
-	pop bc
-	ret
-; 114b55
-
-Function114b55: ; 114b55
-	call Function114561
-	ld b, $0
-	ld hl, wdc03
-	ld c, [hl]
-	inc hl
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld hl, wdc24
-.asm_114b65
-	push de
-	push bc
-	push hl
-	call Function1143f3
-	cp $2
-	jr z, .asm_114bb2
-	and a
-	jr nz, .asm_114b8c
-	ld a, h
-	pop hl
-	inc hl
-	ld [hld], a
-	ld a, $1
-	ld [hli], a
-	inc hl
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	inc hl
-	ld [hl], c
-	inc hl
-	ld [hl], b
-	inc hl
-.asm_114b82
-	pop bc
-	pop de
-	inc b
-	ld a, b
-	cp $d
-	jr z, .asm_114b96
-	jr .asm_114b65
-
-.asm_114b8c
-	pop hl
-	xor a
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	jr .asm_114b82
-
-.asm_114b96
-	ld hl, wdc06
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	inc hl
-	ld bc, $004e
-	ld hl, wdc24
-	call Function115d6a
-	jp Function11425c
-
-.asm_114bb2
-	ld a, $1
-	pop bc
-	pop bc
-	pop bc
-	ld b, $82
-	jp Function11425c
-; 114bbc
-
-Function114bbc: ; 114bbc
-	ld h, d
-	ld l, e
-	ld a, [hli]
-	ld b, a
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld e, a
-	ld d, [hl]
-	inc hl
-	push hl
-	call Function1143f3
-	cp $2
-	jr z, .asm_114c03
-	and a
-	jr nz, .asm_114bff
-	ld a, h
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	call Function114c0b
-	ld hl, wdc24
-	call Function114c5e
-	ld a, b
-	or c
-	jr z, .asm_114bff
-	pop hl
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld a, [hli]
-	ld e, a
-	ld d, [hl]
-	ld hl, wdc24
-	push bc
-	call Function115d6a
-	pop hl
-	jp Function11425c
-
-.asm_114bff
-	ld b, $84
-	jr .asm_114c05
-
-.asm_114c03
-	ld b, $82
-
-.asm_114c05
-	ld a, $1
-	pop hl
-	jp Function11425c
-; 114c0b
-
-Function114c0b: ; 114c0b
-	ld hl, wdc24
-	push bc
-	call Function115d53
-	pop bc
-	ld hl, wdc24
-	ld d, h
-	ld e, l
-.asm_114c18
-	ld a, [hli]
-	cp $d
-	jr z, .asm_114c34
-	ld [de], a
-	inc de
-	dec bc
-	ld a, b
-	or c
-	jr nz, .asm_114c18
-.asm_114c24
-	xor a
-	ld [de], a
-	ld hl, wdc24
-	ld bc, NULL
-.asm_114c2c
-	ld a, [hli]
-	inc bc
-	and a
-	jr nz, .asm_114c2c
-	dec bc
-	xor a
-	ret
-
-.asm_114c34
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_114c24
-	ld a, [hli]
-	cp $a
-	jr nz, .asm_114c18
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_114c24
-	ld a, [hli]
-	cp $20
-	jr z, .asm_114c4e
-	cp $9
-	jr z, .asm_114c4e
-	jr .asm_114c24
-
-.asm_114c4e
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_114c24
-	jr .asm_114c18
-; 114c55
-
-Function114c55: ; 114c55
-	push bc
-	ld bc, wdc00
-	call Function115d80
-	pop bc
-	ret
-; 114c5e
-
-Function114c5e: ; 114c5e
-	ld de, PartyMon5Defense
-	push hl
-.asm_114c62
-	ld a, [hli]
-	ld [de], a
-	inc de
-	and a
-	jr z, .asm_114cc6
-	cp $3d
-	jr nz, .asm_114c62
-	ld a, [hli]
-	ld [de], a
-	inc de
-	cp $3f
-	jr nz, .asm_114c62
-	dec de
-	dec de
-.asm_114c75
-	ld a, [hli]
-	cp $3f
-	jr nz, .asm_114c75
-	ld a, [hli]
-	cp $42
-	jr nz, .asm_114cb8
-	inc hl
-	ld bc, NULL
-	push hl
-.asm_114c84
-	inc bc
-	ld a, [hli]
-	cp $3f
-	jr nz, .asm_114c84
-	inc bc
-	ld a, [hli]
-	cp $3d
-	jr nz, .asm_114c84
-	dec bc
-	dec bc
-	ld a, l
-	ld [wdc03], a
-	ld a, h
-	ld [wdc04], a
-	pop hl
-	push de
-	call Function115c49
-	pop de
-	ld h, d
-	ld l, e
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-.asm_114ca6
-	ld a, [hli]
-	ld [de], a
-	inc de
-	dec bc
-	ld a, b
-	or c
-	jr nz, .asm_114ca6
-	ld a, [wdc03]
-	ld l, a
-	ld a, [wdc04]
-	ld h, a
-	jr .asm_114c62
-
-.asm_114cb8
-	ld a, $3d
-	ld [de], a
-	inc de
-	ld a, $3f
-	ld [de], a
-	inc de
-.asm_114cc0
-	ld a, [hli]
-	ld [de], a
-	inc de
-	and a
-	jr nz, .asm_114cc0
-
-.asm_114cc6
-	ld [de], a
-	pop hl
-	ld de, PartyMon5Defense
-	ld bc, NULL
-.asm_114cce
-	inc bc
-	ld a, [de]
-	ld [hli], a
-	inc de
-	and a
-	jr z, .asm_114cd7
-	jr .asm_114cce
-
-.asm_114cd7
-	dec bc
-	ret
-; 114cd9
-
-Function114cd9: ; 114cd9
-	ld h, d
-	ld l, e
-	ld b, [hl]
-	inc hl
-	ld c, [hl]
-	inc hl
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	inc hl
-	push hl
-	call Function1143f3
-	and a
-	jr nz, .asm_114d33
-	ld [wdc03], a
-	ld [wdc04], a
-	ld a, h
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld hl, wdc24
-	call Function114d39
-	ld hl, wdc24
-	call Function114d99
-	pop hl
-	push hl
-	inc hl
-	inc hl
-	inc hl
-	inc hl
-	ld a, [hld]
-	cp b
-	jr c, .asm_114d2d
-	jr z, .asm_114d29
-.asm_114d11
-	pop hl
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld hl, PartyMon5Defense
-	call Function115d6a
-	xor a
-	jp Function11425c
-
-.asm_114d29
-	ld a, [hli]
-	cp c
-	jr nc, .asm_114d11
-
-.asm_114d2d
-	ld b, $83
-	jr .asm_114d33
-
-	ld b, $82
-
-.asm_114d33
-	pop hl
-	ld a, $1
-	jp Function11425c
-; 114d39
-
-Function114d39: ; 114d39
-.asm_114d39
-	ld a, [wdc04]
-	and a
-	jr nz, .asm_114d4a
-	ld a, [de]
-	cp $28
-	jr z, .asm_114d55
-	cp $22
-	jr z, .asm_114d55
-	jr .asm_114d7f
-
-.asm_114d4a
-	ld a, [de]
-	cp $29
-	jr z, .asm_114d5f
-	cp $22
-	jr z, .asm_114d6f
-	jr .asm_114d84
-
-.asm_114d55
-	ld [wdc03], a
-	ld a, $1
-	ld [wdc04], a
-	jr .asm_114d84
-
-.asm_114d5f
-	ld a, [wdc03]
-	cp $28
-	jr nz, .asm_114d84
-	xor a
-	ld [wdc03], a
-	ld [wdc04], a
-	jr .asm_114d84
-
-.asm_114d6f
-	ld a, [wdc03]
-	cp $22
-	jr nz, .asm_114d84
-	xor a
-	ld [wdc03], a
-	ld [wdc04], a
-	jr .asm_114d84
-
-.asm_114d7f
-	cp $20
-	jr z, .asm_114d84
-	ld [hli], a
-
-.asm_114d84
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_114d96
-	inc e
-	jr nz, .asm_114d39
-	push bc
-	ld bc, wdc00
-	call Function115d80
-	pop bc
-	jr .asm_114d39
-
-.asm_114d96
-	xor a
-	ld [hli], a
-	ret
-; 114d99
-
-Function114d99: ; 114d99
-	ld de, PartyMon5Defense
-	xor a
-	ld [de], a
-.asm_114d9e
-	ld a, [hli]
-	call Function114df1
-	and a
-	jr z, .asm_114dde
-	cp $40
-	jr nz, .asm_114d9e
-	dec hl
-.asm_114daa
-	dec hl
-	ld a, [hl]
-	call Function114e2d
-	and a
-	jr z, .asm_114daa
-	inc hl
-	push hl
-	ld b, $0
-.asm_114db6
-	ld a, [hli]
-	cp $40
-	jr z, .asm_114dc1
-	call Function114e2d
-	and a
-	jr nz, .asm_114dc4
-
-.asm_114dc1
-	inc b
-	jr .asm_114db6
-
-.asm_114dc4
-	pop hl
-	ld a, [PartyMon5Defense]
-	and a
-	jr z, .asm_114dd2
-	ld a, $2c
-	inc de
-	ld [de], a
-	ld a, [PartyMon5Defense]
-
-.asm_114dd2
-	inc a
-	ld [PartyMon5Defense], a
-.asm_114dd6
-	inc de
-	ld a, [hli]
-	ld [de], a
-	dec b
-	jr nz, .asm_114dd6
-	jr .asm_114d9e
-
-.asm_114dde
-	inc de
-	xor a
-	ld [de], a
-	ld a, $dd
-	cpl
-	ld h, a
-	ld a, $c8
-	cpl
-	ld l, a
-	inc hl
-	add hl, de
-	ld b, h
-	ld c, l
-	inc bc
-	inc bc
-	xor a
-	ret
-; 114df1
-
-Function114df1: ; 114df1
-	cp $1b
-	ret nz
-	ld a, [hli]
-	and a
-	jr z, .asm_114e2b
-	cp $24
-	jr nz, .asm_114e09
-	ld a, [hli]
-	and a
-	jr z, .asm_114e2b
-	cp $42
-	jr z, .asm_114e0b
-	cp $40
-	jr z, .asm_114e0b
-	dec hl
-
-.asm_114e09
-	dec hl
-	ret
-
-.asm_114e0b
-	ld a, [hli]
-	and a
-	jr z, .asm_114e2b
-	cp $1b
-	jr nz, .asm_114e0b
-	ld a, [hli]
-	and a
-	jr z, .asm_114e2b
-	cp $28
-	jr nz, .asm_114e0b
-	ld a, [hli]
-	and a
-	jr z, .asm_114e2b
-	cp $42
-	jr z, .asm_114e29
-	cp $4a
-	jr z, .asm_114e29
-	jr .asm_114e0b
-
-.asm_114e29
-	ld a, [hli]
-	ret
-
-.asm_114e2b
-	xor a
-	ret
-; 114e2d
-
-Function114e2d: ; 114e2d
-	cp $30
-	jr c, .asm_114e45
-	cp $40
-	jr c, .asm_114e58
-	cp $41
-	jr c, .asm_114e45
-	cp $5b
-	jr c, .asm_114e58
-	cp $61
-	jr c, .asm_114e45
-	cp $7b
-	jr c, .asm_114e58
-
-.asm_114e45
-	cp $20
-	jr z, .asm_114e58
-	cp $2d
-	jr z, .asm_114e58
-	cp $2e
-	jr z, .asm_114e58
-	cp $5f
-	jr z, .asm_114e58
-.asm_114e55
-	ld a, $1
-	ret
-
-.asm_114e58
-	cp $3c
-	jr z, .asm_114e55
-	cp $3e
-	jr z, .asm_114e55
-	xor a
-	ret
-; 114e62
-
-Function114e62: ; 114e62
-	ld a, c
-	and a
-	jr nz, .asm_114e6f
-	ld a, [wdc23]
-	and a
-	jp z, Function11425c
-	jr .asm_114e76
-
-.asm_114e6f
-	xor a
-	ld [wdc23], a
-	call Function114ee9
-
-.asm_114e76
-	call Function114f0a
-	cp $ff
-	jp z, Function11425c
-	and a
-	jr nz, .asm_114e99
-	call Function114ea0
-	and a
-	jr nz, .asm_114e99
-	ld hl, wdc09
-	ld a, [hli]
-	cpl
-	ld e, a
-	ld a, [hli]
-	cpl
-	ld d, a
-	inc de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	add hl, de
-	xor a
-	jp Function11425c
-
-.asm_114e99
-	ld a, $1
-	ld b, $83
-	jp Function11425c
-; 114ea0
-
-Function114ea0: ; 114ea0
-	ld hl, wdc06
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	ld a, $d
-	ld [de], a
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_114edb
-	inc e
-	call z, Function114ee0
-	ld a, $a
-	ld [de], a
-	dec bc
-	inc e
-	call z, Function114ee0
-	ld hl, wdc06
-	ld a, [wdc01]
-	ld [hli], a
-	ld a, e
-	ld [hli], a
-	ld a, d
-	ld [hli], a
-	ld a, c
-	ld [hli], a
-	ld [hl], b
-	xor a
-	ld [wdc23], a
-	ret
-
-.asm_114edb
-	ld a, $1
-	ld b, $83
-	ret
-; 114ee0
-
-Function114ee0: ; 114ee0
-	push bc
-	ld bc, wdc01
-	call Function115d80
-	pop bc
-	ret
-; 114ee9
-
-Function114ee9: ; 114ee9
-	ld hl, wdc03
-	ld a, b
-	ld [hli], a
-	ld a, c
-	ld [hli], a
-	ld [hli], a
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld c, a
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld b, a
-	ld [hli], a
-	inc de
-	ld a, c
-	ld [hli], a
-	ld a, b
-	ld [hli], a
-	ld a, e
-	ld [hli], a
-	ld [hl], d
-	ret
-; 114f0a
-
-Function114f0a: ; 114f0a
-	call Function114f39
-	and a
-	jr nz, .asm_114f26
-	ld a, [wdc03]
-	cp $6
-	jr c, .asm_114f21
-	cp $c
-	jr z, .asm_114f23
-	call Function114f59
-	and a
-	jr nz, .asm_114f23
-
-.asm_114f21
-	xor a
-	ret
-
-.asm_114f23
-	ld a, $1
-	ret
-
-.asm_114f26
-	call Function114f59
-	and a
-	jr nz, .asm_114f23
-	ld hl, wdc0d
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld a, [de]
-	and a
-	jr z, .asm_114f21
-	ld a, $ff
-	ret
-; 114f39
-
-Function114f39: ; 114f39
-	ld hl, wdc0d
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	inc hl
-	ld a, [de]
-	and a
-	jr z, .asm_114f58
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld hl, wdc0d
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	ld a, $1
-	ret
-
-.asm_114f58
-	ret
-; 114f59
-
-Function114f59: ; 114f59
-	ld a, [wdc23]
-	and a
-	jr nz, .asm_114f7c
-	ld a, [wdc03]
-	cp $11
-	jr z, .asm_114fa7
-	add a
-	ld e, a
-	ld d, 0
-	ld hl, Unknown_114011
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	call Function115020
-	and a
-	jr nz, .asm_114fe7
-	ld a, $1
-	ld [wdc23], a
-
-.asm_114f7c
-	ld a, [wdc03]
-	cp $5
-	jr c, .asm_114fc9
-	jr z, .asm_114fec
-	cp $8
-	jr c, .asm_114fa5
-	jr z, .asm_114ff4
-	cp $b
-	jr c, .asm_114fa5
-	jr z, .asm_114ffc
-	cp $c
-	jr z, .asm_115007
-	cp $d
-	jr z, .asm_114fa5
-	cp $10
-	jr c, .asm_115015
-	jr z, .asm_114fa5
-	cp $12
-	jr c, .asm_114fa5
-	jr .asm_114fe7
-
-.asm_114fa5
-	xor a
-	ret
-
-.asm_114fa7
-	ld hl, Bed
-	ld c, [hl]
-	inc hl
-	ld a, [hli]
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld hl, wdc24
-	call Function115d53
-	ld hl, wdc24
-	call Function115020
-	and a
-	jr nz, .asm_114fe7
-	jr .asm_11501e
-
-.asm_114fc9
-	call Function115062
-	and a
-	jr nz, .asm_114fe7
-	ld a, [wdc04]
-	dec a
-	ld [wdc04], a
-	and a
-	jr z, .asm_114fdf
-	call Function114f39
-	and a
-	jr nz, .asm_114fc9
-
-.asm_114fdf
-	ld a, [wdc05]
-	ld [wdc04], a
-	jr .asm_11501e
-
-.asm_114fe7
-	ld a, $1
-	ld b, $83
-	ret
-
-.asm_114fec
-	call Function115062
-	and a
-	jr nz, .asm_114fe7
-	jr .asm_11501e
-
-.asm_114ff4
-	call Function115179
-	and a
-	jr nz, .asm_114fe7
-	jr .asm_11501e
-
-.asm_114ffc
-	ld hl, String_114000
-	call Function115217
-	and a
-	jr nz, .asm_114fe7
-	jr .asm_11501e
-
-.asm_115007
-	call Function11528f
-	ld hl, wdc24
-	call Function115217
-	and a
-	jr nz, .asm_114fe7
-	jr .asm_11501e
-
-.asm_115015
-	ld hl, String_114000
-	call Function115217
-	and a
-	jr nz, .asm_114fe7
-
-.asm_11501e
-	xor a
-	ret
-; 115020
-
-Function115020: ; 115020
-	push hl
-	ld hl, wdc06
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	pop hl
-.asm_115036
-	ld a, [hli]
-	and a
-	jr z, .asm_115046
-	ld [de], a
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_115056
-	inc e
-	call z, Function115059
-	jr .asm_115036
-
-.asm_115046
-	ld hl, wdc06
-	ld a, [wdc01]
-	ld [hli], a
-	ld a, e
-	ld [hli], a
-	ld a, d
-	ld [hli], a
-	ld a, c
-	ld [hli], a
-	ld [hl], b
-	xor a
-	ret
-
-.asm_115056
-	ld a, $1
-	ret
-; 115059
-
-Function115059: ; 115059
-	push bc
-	ld bc, wdc01
-	call Function115d80
-	pop bc
-	ret
-; 115062
-
-Function115062: ; 115062
-	ld hl, Bed
-	ld a, [hli]
-	and a
-	jr z, .asm_1150ae
-	ld c, a
-	ld a, [hli]
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld b, $0
-	ld hl, wdc24
-	ld a, [wdc23]
-	cp $1
-	jr z, .asm_11509b
-	cp $2
-	jr z, .asm_115098
-	cp $3
-	jr nz, .asm_1150b2
-	ld a, $2c
-	ld [hli], a
-	ld a, $d
-	ld [hli], a
-	ld a, $a
-	ld [hli], a
-	ld a, $9
-	ld [hli], a
-	jr .asm_11509b
-
-.asm_115098
-	ld a, $2c
-	ld [hli], a
-
-.asm_11509b
-	call Function115d53
-	call Function1150b3
-	call Function115136
-	ld a, [wdc23]
-	inc a
-	cp $4
-	jr nz, .asm_1150ae
-	ld a, $2
-
-.asm_1150ae
-	ld [wdc23], a
-	xor a
-
-.asm_1150b2
-	ret
-; 1150b3
-
-Function1150b3: ; 1150b3
-	ld hl, wdc24
-	ld de, PartyMon5Defense
-	ld b, $0
-.asm_1150bb
-	ld c, $0
-	ld a, [hli]
-	cp $1b
-	jr z, .asm_1150c9
-	ld [de], a
-	inc de
-	and a
-	jr z, .asm_115133
-	jr .asm_1150bb
-
-.asm_1150c9
-	inc c
-	ld a, [hl]
-	cp $24
-	jr nz, .asm_1150bb
-	inc hl
-	inc c
-	ld a, [hl]
-	cp $42
-	jr z, .asm_1150dc
-	cp $40
-	jr z, .asm_1150dc
-	jr .asm_1150bb
-
-.asm_1150dc
-	push hl
-.asm_1150dd
-	inc c
-	ld a, [hli]
-	and a
-	jr z, .asm_115133
-	cp $1b
-	jr nz, .asm_1150dd
-	inc c
-	ld a, [hli]
-	cp $28
-	jr nz, .asm_1150dd
-	inc c
-	ld a, [hli]
-	cp $42
-	jr z, .asm_1150f8
-	cp $4a
-	jr z, .asm_1150f8
-	jr .asm_1150dd
-
-.asm_1150f8
-	ld a, l
-	ld [Console], a
-	ld a, h
-	ld [LeftOrnament], a
-	ld hl, String_114232
-.asm_115103
-	ld a, [hli]
-	and a
-	jr z, .asm_11510b
-	ld [de], a
-	inc de
-	jr .asm_115103
-
-.asm_11510b
-	pop hl
-	dec hl
-	dec hl
-	push de
-	call Function1158c2
-	pop de
-	ld h, d
-	ld l, e
-	ld c, [hl]
-	inc hl
-	ld b, [hl]
-	inc hl
-.asm_115119
-	ld a, [hli]
-	ld [de], a
-	inc de
-	dec bc
-	ld a, b
-	or c
-	jr nz, .asm_115119
-	ld a, $3f
-	ld [de], a
-	inc de
-	ld a, $3d
-	ld [de], a
-	inc de
-	ld a, [Console]
-	ld l, a
-	ld a, [LeftOrnament]
-	ld h, a
-	jr .asm_1150bb
-
-.asm_115133
-	xor a
-	ld [de], a
-	ret
-; 115136
-
-Function115136: ; 115136
-	ld hl, wdc06
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	ld hl, PartyMon5Defense
-.asm_11514d
-	ld a, [hli]
-	and a
-	jr z, .asm_11515d
-	ld [de], a
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_11516d
-	inc e
-	call z, Function115170
-	jr .asm_11514d
-
-.asm_11515d
-	ld hl, wdc06
-	ld a, [wdc01]
-	ld [hli], a
-	ld a, e
-	ld [hli], a
-	ld a, d
-	ld [hli], a
-	ld a, c
-	ld [hli], a
-	ld [hl], b
-	xor a
-	ret
-
-.asm_11516d
-	ld a, $1
-	ret
-; 115170
-
-Function115170: ; 115170
-	push bc
-	ld bc, wdc01
-	call Function115d80
-	pop bc
-	ret
-; 115179
-
-Function115179: ; 115179
-	ld hl, wdc06
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	ld hl, $013f
-	ld a, [hli]
-	ld [de], a
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_1151ef
-	inc e
-	call z, Function11520e
-	ld a, [hli]
-	ld [de], a
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_1151ef
-	inc e
-	call z, Function11520e
-	ld a, [hli]
-	ld [de], a
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_1151ef
-	inc e
-	call z, Function11520e
-	ld a, [hli]
-	ld [de], a
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_1151ef
-	inc e
-	call z, Function11520e
-	ld a, $2d
-	ld [de], a
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_1151ef
-	inc e
-	call z, Function11520e
-	ld a, [$014c]
-	ld h, a
-	and $f0
-	swap a
-	cp $a
-	jr nc, .asm_1151d8
-	add $30
-	jr .asm_1151da
-
-.asm_1151d8
-	add $37
-
-.asm_1151da
-	ld [de], a
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_1151ef
-	inc e
-	call z, Function11520e
-	ld a, h
-	and $f
-	cp $a
-	jr nc, .asm_1151f2
-	add $30
-	jr .asm_1151f4
-
-.asm_1151ef
-	ld a, $1
-	ret
-
-.asm_1151f2
-	add $37
-
-.asm_1151f4
-	ld [de], a
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_1151ef
-	inc e
-	call z, Function11520e
-	ld hl, wdc06
-	ld a, [wdc01]
-	ld [hli], a
-	ld a, e
-	ld [hli], a
-	ld a, d
-	ld [hli], a
-	ld a, c
-	ld [hli], a
-	ld [hl], b
-	xor a
-	ret
-; 11520e
-
-Function11520e: ; 11520e
-	push bc
-	ld bc, wdc01
-	call Function115d80
-	pop bc
-	ret
-; 115217
-
-Function115217: ; 115217
-	push hl
-	ld hl, wdc06
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	pop hl
-.asm_11522d
-	ld a, [hli]
-	and a
-	jr z, .asm_11523d
-	ld [de], a
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_115262
-	inc e
-	call z, Function115286
-	jr .asm_11522d
-
-.asm_11523d
-	ld a, [wdc03]
-	cp $b
-	jr z, .asm_115278
-	cp $c
-	jr z, .asm_115278
-	cp $e
-	jr z, .asm_115252
-	cp $f
-	jr z, .asm_115265
-	jr .asm_115262
-
-.asm_115252
-	ld hl, wdc06
-	ld a, [wdc01]
-	ld [hli], a
-	ld a, e
-	ld [hli], a
-	ld a, d
-	ld [hli], a
-	ld a, c
-	ld [hli], a
-	ld [hl], b
-	xor a
-	ret
-
-.asm_115262
-	ld a, $1
-	ret
-
-.asm_115265
-	ld h, $2
-.asm_115267
-	ld a, $2d
-	ld [de], a
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_115262
-	inc e
-	call z, Function115286
-	dec h
-	jr nz, .asm_115267
-	jr .asm_115252
-
-.asm_115278
-	ld a, $22
-	ld [de], a
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_115262
-	inc e
-	call z, Function115286
-	jr .asm_115252
-; 115286
-
-Function115286: ; 115286
-	push bc
-	ld bc, wdc01
-	call Function115d80
-	pop bc
-	ret
-; 11528f
-
-Function11528f: ; 11528f
-	ld hl, Bed
-	ld c, [hl]
-	inc hl
-	ld a, [hli]
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld hl, wdc24
-.asm_1152a4
-	ld a, [de]
-	ld [hli], a
-	inc e
-	call z, Function1152af
-	dec c
-	jr nz, .asm_1152a4
-	ld [hl], c
-	ret
-; 1152af
-
-Function1152af: ; 1152af
-	push bc
-	ld bc, wdc00
-	call Function115d80
-	pop bc
-	ret
-; 1152b8
-
-Function1152b8: ; 1152b8
-	push bc
-	call Function11537d
-	push de
-	ld h, d
-	ld l, e
-	ld a, [hli]
-	ld b, a
-	ld c, $1
-	call Function1153d2
-	pop de
-	and a
-	jr nz, .asm_1152f9
-.asm_1152ca
-	ld hl, wdc0d
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-.asm_1152d0
-	ld a, [wdc03]
-	cp $3
-	jr nz, .asm_1152d8
-	push de
-
-.asm_1152d8
-	cp $5
-	jr nz, .asm_1152e7
-	pop hl
-	ld a, [hli]
-	ld b, a
-	ld c, $3
-	call Function1153d2
-	and a
-	jr nz, .asm_1152f9
-
-.asm_1152e7
-	ld a, [de]
-	inc de
-	and a
-	jr nz, .asm_115301
-	ld a, [wdc03]
-	cp $6
-	jr z, .asm_115335
-	inc a
-	ld [wdc03], a
-	jr .asm_1152d0
-
-.asm_1152f9
-	pop hl
-	ld a, $1
-	ld b, $83
-	jp Function11425c
-
-.asm_115301
-	ld hl, wdc0d
-	ld [hl], e
-	inc hl
-	ld [hl], d
-.asm_115307
-	ld [wdc05], a
-	ld a, $1
-	ld [wdc04], a
-	call Function1153b5
-	call Function114f59
-	and a
-	jr nz, .asm_1152f9
-	ld a, [wdc05]
-	dec a
-	jr nz, .asm_115307
-	ld a, [wdc03]
-	inc a
-	ld [wdc03], a
-	call Function114ea0
-	and a
-	jr nz, .asm_1152f9
-	ld [wdc23], a
-	ld a, [wdc03]
-	cp $6
-	jr nz, .asm_1152ca
-
-.asm_115335
-	call Function1153b5
-	xor a
-	ld [wdc23], a
-	call Function114f59
-	and a
-	jr nz, .asm_1152f9
-	call Function114ea0
-	and a
-	jr nz, .asm_1152f9
-	ld a, [wdc03]
-	inc a
-	ld [wdc03], a
-	cp $9
-	jr nz, .asm_115335
-	pop bc
-	ld a, b
-	and a
-	jr z, .asm_11536b
-	call Function1153b5
-	xor a
-	ld [wdc23], a
-	call Function114f59
-	and a
-	jr nz, .asm_1152f9
-	call Function114ea0
-	and a
-	jr nz, .asm_1152f9
-
-.asm_11536b
-	ld hl, wdc09
-	ld a, [hli]
-	cpl
-	ld e, a
-	ld a, [hli]
-	cpl
-	ld d, a
-	inc de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	add hl, de
-	xor a
-	jp Function11425c
-; 11537d
-
-Function11537d: ; 11537d
-	ld hl, wdc06
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	ld b, a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc hl
-	ld a, [de]
-	ld [hld], a
-	ld a, b
-	ld [hli], a
-	inc de
-	ld hl, RightOrnament
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld hl, wdc0d
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	xor a
-	ld [wdc03], a
-	ld [wdc23], a
-	ret
-; 1153b5
-
-Function1153b5: ; 1153b5
-	ld hl, wdc0d
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	inc hl
-	inc hl
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hl], a
-	inc de
-	ld a, [de]
-	ld [Bed], a
-	inc de
-	ld hl, wdc0d
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	ret
-; 1153d2
-
-Function1153d2: ; 1153d2
-	ld a, [wdc03]
-	ld d, a
-	ld a, [wdc04]
-	ld e, a
-	push de
-	xor a
-	ld [wdc03], a
-	ld [wdc04], a
-	ld a, $24
-	ld [Console], a
-	ld a, $dc
-	ld [LeftOrnament], a
-	push bc
-	jr .asm_1153f4
-
-.asm_1153ef
-	ld a, [hli]
-	and a
-	jr z, .asm_115426
-	ld b, a
-
-.asm_1153f4
-	push bc
-.asm_1153f5
-	ld a, [hli]
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	inc hl
-	ld c, [hl]
-	inc hl
-	push hl
-	ld a, [Console]
-	ld l, a
-	ld a, [LeftOrnament]
-	ld h, a
-	push bc
-	ld b, $0
-	call Function115d53
-	inc hl
-	ld [hl], a
-	pop bc
-	ld a, l
-	ld e, a
-	ld [Console], a
-	ld a, h
-	ld d, a
-	ld [LeftOrnament], a
-	dec b
-	jr z, .asm_11542b
-	pop hl
-	jr .asm_1153f5
-
-.asm_115426
-	dec c
-	jr nz, .asm_1153ef
-	jr .asm_115430
-
-.asm_11542b
-	pop hl
-	pop bc
-	dec c
-	jr nz, .asm_1153ef
-
-.asm_115430
-	ld a, l
-	ld [Console], a
-	ld a, h
-	ld [LeftOrnament], a
-	xor a
-	ld [de], a
-	ld hl, wdc24
-.asm_11543d
-	ld a, [hli]
-	and a
-	jr nz, .asm_11543d
-	ld a, [hl]
-	and a
-	jr z, .asm_115457
-	dec hl
-	ld a, $2c
-	ld [hli], a
-	jr .asm_11543d
-
-.asm_11544b
-	pop hl
-	ld a, h
-	ld [wdc03], a
-	ld a, l
-	ld [wdc04], a
-	ld a, $1
-	ret
-
-.asm_115457
-	ld hl, wdc24
-	call Function114d99
-	ld hl, $ddc8
-.asm_115460
-	ld a, [hli]
-	and a
-	jr z, .asm_11546d
-	cp $2c
-	jr nz, .asm_115460
-	dec hl
-	xor a
-	ld [hli], a
-	jr .asm_115460
-
-.asm_11546d
-	pop de
-	ld a, e
-	cp $1
-	jr z, .asm_115477
-	xor a
-	ld [hli], a
-	jr .asm_115478
-
-.asm_115477
-	dec bc
-
-.asm_115478
-	ld hl, $dc18
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld a, b
-	cp h
-	jr c, .asm_11548c
-	jr nz, .asm_11544b
-	ld a, c
-	cp l
-	jr c, .asm_11548c
-	jr z, .asm_11548c
-	jr .asm_11544b
-
-.asm_11548c
-	ld hl, $dc18
-	ld a, c
-	cpl
-	ld e, a
-	ld a, b
-	cpl
-	ld d, a
-	inc de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	add hl, de
-	ld de, $dc18
-	ld a, l
-	ld [de], a
-	inc de
-	ld a, h
-	ld [de], a
-	ld hl, RightOrnament
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld hl, $ddc8
-	call Function115d6a
-	ld hl, RightOrnament
-	ld a, [wdc01]
-	ld [hli], a
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	ld a, [Console]
-	ld e, a
-	ld a, [LeftOrnament]
-	ld d, a
-	pop hl
-	ld a, h
-	ld [wdc03], a
-	ld a, l
-	ld [wdc04], a
-	xor a
-	ret
-; 1154d4
-
-Function1154d4: ; 1154d4
-	xor a
-	ld [wdc23], a
-	call Function1155af
-	call Function11560a
-	and a
-	jr nz, .asm_11552c
-	call Function1155d1
-	ld a, [RightOrnament]
-	dec a
-	ld [RightOrnament], a
-	and a
-	jp z, .asm_115577
-	cp $1
-	jr nz, .asm_115531
-	xor a
-	ld [wdc1c], a
-.asm_1154f7
-	ld a, [BigDoll]
-	cp $2
-	jr z, .asm_115502
-	cp $3
-	jr z, .asm_11550f
-
-.asm_115502
-	ld a, $a
-	ld [wdc03], a
-	call Function114f59
-	and a
-	jr z, .asm_11551a
-	jr .asm_11552c
-
-.asm_11550f
-	ld a, $c
-	ld [wdc03], a
-	call Function114f59
-	and a
-	jr nz, .asm_11552c
-
-.asm_11551a
-	call Function114ea0
-	and a
-	jr nz, .asm_11552c
-	call Function114ea0
-	and a
-	jr nz, .asm_11552c
-	call Function11560a
-	and a
-	jr z, .asm_1155a0
-
-.asm_11552c
-	ld a, $1
-	jp Function11425c
-
-.asm_115531
-	ld a, $1
-	ld [wdc1c], a
-	ld a, $b
-	ld [wdc03], a
-	call Function114f59
-	and a
-	jr nz, .asm_11552c
-	call Function114ea0
-	and a
-	jr nz, .asm_11552c
-.asm_115547
-	call Function114ea0
-	and a
-	jr nz, .asm_11552c
-	ld a, $e
-	ld [wdc03], a
-	call Function114f59
-	and a
-	jr nz, .asm_11552c
-	call Function114ea0
-	and a
-	jr nz, .asm_11552c
-	jr .asm_1154f7
-
-.asm_115560
-	call Function114ea0
-	and a
-	jr nz, .asm_11552c
-	ld a, [wdc1c]
-	and a
-	jr z, .asm_11557d
-	ld a, $f
-	ld [wdc03], a
-	call Function114f59
-	and a
-	jr nz, .asm_11552c
-
-.asm_115577
-	call Function114ea0
-	and a
-	jr nz, .asm_11552c
-
-.asm_11557d
-	ld a, $10
-	ld [wdc03], a
-	call Function114f59
-	and a
-	jr nz, .asm_11552c
-	call Function114ea0
-	and a
-	jr nz, .asm_11552c
-	ld hl, wdc09
-	ld a, [hli]
-	cpl
-	ld e, a
-	ld a, [hli]
-	cpl
-	ld d, a
-	inc de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	add hl, de
-	xor a
-	jp Function11425c
-
-.asm_1155a0
-	ld a, [RightOrnament]
-	dec a
-	ld [RightOrnament], a
-	and a
-	jr z, .asm_115560
-	call Function1155d1
-	jr .asm_115547
-; 1155af
-
-Function1155af: ; 1155af
-	ld hl, wdc06
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	ld b, a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	ld [hl], b
-	inc hl
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [RightOrnament], a
-	inc de
-	ld a, e
-	ld [hli], a
-	ld [hl], d
-	call Function1155d1
-	ret
-; 1155d1
-
-Function1155d1: ; 1155d1
-	ld a, [wdc0d]
-	ld l, a
-	ld a, [wdc0e]
-	ld h, a
-	ld a, [hli]
-	ld [BigDoll], a
-	cp $3
-	jr nz, .asm_1155f0
-	ld de, Carpet
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	ld a, [hli]
-	ld [Bed], a
-
-.asm_1155f0
-	ld de, wdc17
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	ld a, l
-	ld [wdc0d], a
-	ld a, h
-	ld [wdc0e], a
-	ret
-; 11560a
-
-Function11560a: ; 11560a
-	ld a, [wdc06]
-	ld [wdc01], a
-	ld a, [wdc17]
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld hl, wdc1a
-	ld c, [hl]
-	inc hl
-	ld b, [hl]
-	ld a, [wdc0a]
-	cp b
-	jp c, .asm_1156b1
-	jr nz, .asm_115631
-	ld a, [wdc09]
-	cp c
-	jp c, .asm_1156b1
-
-.asm_115631
-	ld a, b
-	or c
-	jr z, .asm_1156a9
-	ld a, [wdc09]
-	ld l, a
-	ld a, [wdc0a]
-	ld h, a
-	ld a, c
-	cpl
-	ld e, a
-	ld a, b
-	cpl
-	ld d, a
-	inc de
-	add hl, de
-	ld a, l
-	ld [wdc09], a
-	ld a, h
-	ld [wdc0a], a
-.asm_11564d
-	ld a, $3
-	cp b
-	jr c, .asm_1156b6
-	jr nz, .asm_115659
-	ld a, $db
-	cp c
-	jr c, .asm_1156b6
-
-.asm_115659
-	ld a, [wdc1a]
-	ld e, a
-	ld a, [wdc1b]
-	ld d, a
-	ld a, c
-	cpl
-	ld l, a
-	ld a, b
-	cpl
-	ld h, a
-	inc hl
-	add hl, de
-	ld a, l
-	ld [wdc1a], a
-	ld a, h
-	ld [wdc1b], a
-	push bc
-	ld hl, $dc18
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld hl, wdc24
-	call Function115d53
-	ld hl, $dc18
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	pop bc
-	ld a, [wdc01]
-	ld [$ff8c], a
-	ld [$4000], a
-	ld hl, wdc07
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld hl, wdc24
-	call Function115d6a
-	ld hl, wdc07
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	ld hl, wdc1a
-	ld c, [hl]
-	inc hl
-	ld b, [hl]
-	ld a, b
-	or c
-	jr nz, .asm_11564d
-
-.asm_1156a9
-	ld a, [wdc01]
-	ld [wdc06], a
-	xor a
-	ret
-
-.asm_1156b1
-	ld a, $1
-	ld b, $83
-	ret
-
-.asm_1156b6
-	ld a, $3
-	cpl
-	ld h, a
-	ld a, $db
-	cpl
-	ld l, a
-	add hl, bc
-	ld de, wdc1a
-	ld a, l
-	ld [de], a
-	inc de
-	ld a, h
-	ld [de], a
-	ld bc, $03db
-	jr .asm_115659
-; 1156cc
-
-Function1156cc: ; 1156cc
-	ld a, [wdc23]
-	and a
-	jp z, Function11425c
-	cp $2
-	jr z, .asm_1156fa
-	cp $3
-	jr z, .asm_1156fd
-	cp $4
-	jr z, .asm_1156fd
-	cp $5
-	jr z, .asm_115716
-	cp $ff
-	jr z, .asm_11572b
-	cp $1
-	jp nz, Function11425c
-	call Function115732
-	call Function11575c
-	ld a, h
-	ld [Poster], a
-	ld a, l
-	ld [Plant], a
-
-.asm_1156fa
-	call Function1157d0
-
-.asm_1156fd
-	call Function11581e
-	and a
-	jr nz, .asm_11572b
-	ld a, [wdc23]
-	cp $5
-	jr z, .asm_115716
-	ld a, [Poster]
-	ld h, a
-	ld a, [Plant]
-	ld l, a
-	xor a
-	jp Function11425c
-
-.asm_115716
-	ld hl, wdc0a
-	ld a, [hli]
-	cpl
-	ld e, a
-	ld a, [hli]
-	cpl
-	ld d, a
-	inc de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	add hl, de
-	xor a
-	ld [wdc23], a
-	jp Function11425c
-
-.asm_11572b
-	ld a, $1
-	ld b, $83
-	jp Function11425c
-; 115732
-
-Function115732: ; 115732
-	ld hl, wdc02
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	dec de
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hli], a
-	ld a, c
-	ld [hli], a
-	ld [hl], b
-	ret
-; 11575c
-
-Function11575c: ; 11575c
-	ld hl, wdc05
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld e, $10
-	ld b, $0
-	ld c, b
-	ld d, b
-	ld a, $3
-.asm_11576a
-	rl l
-	rl h
-	rl d
-	cp d
-	jr c, .asm_11577c
-	rl c
-	rl b
-	dec e
-	jr nz, .asm_11576a
-	jr .asm_11578a
-
-.asm_11577c
-	ld a, d
-	sub $3
-	ld d, a
-	ld a, $3
-	scf
-	rl c
-	rl b
-	dec e
-	jr nz, .asm_11576a
-
-.asm_11578a
-	ld a, d
-	and a
-	jr z, .asm_11578f
-	inc bc
-
-.asm_11578f
-	sla c
-	rl b
-	sla c
-	rl b
-	ld h, b
-	ld l, c
-	push hl
-	ld e, $10
-	ld b, $0
-	ld c, b
-	ld d, b
-	ld a, $40
-.asm_1157a2
-	rl l
-	rl h
-	rl d
-	cp d
-	jr c, .asm_1157b4
-	rl c
-	rl b
-	dec e
-	jr nz, .asm_1157a2
-	jr .asm_1157c3
-
-.asm_1157b4
-	ld a, d
-	sub $40
-	ld d, a
-	ld a, $40
-	scf
-	rl c
-	rl b
-	dec e
-	jr nz, .asm_1157a2
-	inc bc
-
-.asm_1157c3
-	and a
-	sla c
-	rl b
-	pop hl
-	add hl, bc
-	ld a, $2
-	ld [wdc23], a
-	ret
-; 1157d0
-
-Function1157d0: ; 1157d0
-	ld hl, wdc05
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld a, [wdc0e]
-	ld c, a
-	ld a, [Bed]
-	ld b, a
-	cp h
-	jr c, .asm_1157eb
-	jr nz, .asm_1157e9
-	ld a, c
-	cp l
-	jr c, .asm_1157eb
-	jr z, .asm_1157eb
-
-.asm_1157e9
-	ld b, h
-	ld c, l
-
-.asm_1157eb
-	push bc
-	ld a, b
-	cpl
-	ld b, a
-	ld a, c
-	cpl
-	ld c, a
-	inc bc
-	add hl, bc
-	ld a, l
-	ld [wdc05], a
-	ld a, h
-	ld [wdc06], a
-	ld a, h
-	or l
-	jr nz, .asm_11580f
-	pop bc
-	ld a, c
-	ld [wdc0e], a
-	ld a, b
-	ld [Bed], a
-	ld a, $4
-	ld [wdc23], a
-	ret
-
-.asm_11580f
-	pop bc
-	ld a, c
-	ld [wdc0e], a
-	ld a, b
-	ld [Bed], a
-	ld a, $3
-	ld [wdc23], a
-	ret
-; 11581e
-
-Function11581e: ; 11581e
-	ld a, [wdc23]
-	and a
-	ret z
-	ld a, [wdc0e]
-	ld c, a
-	ld a, [Bed]
-	ld b, a
-	ld hl, wdc02
-	ld a, [hli]
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld hl, wdc24
-	push bc
-	call Function115d53
-	pop bc
-	ld hl, wdc02
-	ld a, [wdc00]
-	ld [hli], a
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	ld hl, wdc24
-	ld de, PartyMon5Defense
-	call Function1158c2
-	ld hl, PartyMon5Defense
-	ld c, [hl]
-	inc hl
-	ld b, [hl]
-	inc hl
-	push hl
-	ld a, [wdc0a]
-	ld l, a
-	ld a, [wdc0b]
-	ld h, a
-	cp b
-	jr c, .asm_1158bb
-	jr nz, .asm_11586e
-	ld a, l
-	cp c
-	jr c, .asm_1158bb
-
-.asm_11586e
-	push bc
-	ld a, b
-	cpl
-	ld b, a
-	ld a, c
-	cpl
-	ld c, a
-	inc bc
-	add hl, bc
-	ld a, l
-	ld [wdc0a], a
-	ld a, h
-	ld [wdc0b], a
-	pop bc
-	pop hl
-	ld hl, wdc07
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld hl, PartyMon5Speed
-	call Function115d6a
-	ld hl, wdc07
-	ld a, [wdc01]
-	ld [hli], a
-	ld a, e
-	ld [hli], a
-	ld [hl], d
-	ld a, [wdc23]
-	cp $3
-	jr z, .asm_1158b4
-	cp $4
-	jr z, .asm_1158ad
-	jr .asm_1158bc
-
-.asm_1158ad
-	ld a, $5
-	ld [wdc23], a
-	jr .asm_1158b9
-
-.asm_1158b4
-	ld a, $2
-	ld [wdc23], a
-
-.asm_1158b9
-	xor a
-	ret
-
-.asm_1158bb
-	pop hl
-
-.asm_1158bc
-	ld a, $ff
-	ld [wdc23], a
-	ret
-; 1158c2
-
-Function1158c2: ; 1158c2
-	ld a, e
-	ld [wdc20], a
-	ld a, d
-	ld [wdc21], a
-	xor a
-	ld [wdc22], a
-	xor a
-	ld [de], a
-	inc de
-	ld [de], a
-	inc de
-	ld a, c
-	ld [wdc19], a
-	ld a, b
-	ld [wdc1a], a
-	ld c, e
-	ld b, d
-	ld e, l
-	ld d, h
-	ld l, c
-	ld h, b
-	xor a
-	ld [wdc1f], a
-
-.asm_1158e5
-	ld b, $3
-	push hl
-	ld hl, wdc1b
-.asm_1158eb
-	ld a, [de]
-	inc de
-	ld [hli], a
-	dec b
-	jr nz, .asm_1158eb
-	ld a, [wdc19]
-	ld c, a
-	ld a, [wdc1a]
-	ld b, a
-	xor a
-	or b
-	jr nz, .asm_115914
-	ld a, $2
-	cp c
-	jr c, .asm_115914
-	push hl
-	dec hl
-	ld a, c
-	ld [wdc1f], a
-.asm_115908
-	xor a
-	ld [hld], a
-	inc c
-	ld a, $3
-	cp c
-	jr nz, .asm_115908
-	pop hl
-	ld bc, $0003
-
-.asm_115914
-	dec bc
-	dec bc
-	dec bc
-	ld a, c
-	ld [wdc19], a
-	ld a, b
-	ld [wdc1a], a
-	push de
-	push hl
-	ld hl, wdc20
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	inc de
-	inc de
-	inc de
-	inc de
-	ld [hl], d
-	dec hl
-	ld [hl], e
-	pop hl
-	dec hl
-	ld c, [hl]
-	dec hl
-	ld b, [hl]
-	dec hl
-	ld a, [hl]
-	ld d, a
-	srl a
-	srl a
-	ld [hli], a
-	ld a, $3
-	and d
-	ld d, a
-	ld a, $f0
-	and b
-	or d
-	swap a
-	ld [hli], a
-	ld a, $f
-	and b
-	ld d, a
-	ld a, c
-	and $c0
-	or d
-	rlca
-	rlca
-	ld [hli], a
-	ld a, $3f
-	and c
-	ld [hld], a
-	dec hl
-	dec hl
-	pop de
-	ld b, h
-	ld c, l
-	pop hl
-	ld a, [bc]
-	inc bc
-	call Function1159dc
-	ld [hli], a
-	ld a, [bc]
-	inc bc
-	call Function1159dc
-	ld [hli], a
-	ld a, [bc]
-	inc bc
-	call Function1159dc
-	ld [hli], a
-	ld a, [bc]
-	inc bc
-	call Function1159dc
-	ld [hli], a
-	ld a, [wdc22]
-	inc a
-	cp $10
-	jr nz, .asm_1159b1
-	push af
-	push bc
-	ld a, [wdc19]
-	ld b, a
-	ld a, [wdc1a]
-	or b
-	jr nz, .asm_115998
-	ld a, [wdc05]
-	ld b, a
-	ld a, [wdc06]
-	or b
-	jr nz, .asm_115998
-	pop bc
-	pop af
-	jr .asm_1159c4
-
-.asm_115998
-	pop bc
-	pop af
-	ld a, $d
-	ld [hli], a
-	ld a, $a
-	ld [hli], a
-	push hl
-	ld hl, wdc20
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld a, [hli]
-	ld c, a
-	ld b, [hl]
-	inc bc
-	inc bc
-	ld a, b
-	ld [hld], a
-	ld [hl], c
-	pop hl
-	xor a
-
-.asm_1159b1
-	ld [wdc22], a
-	ld a, [wdc19]
-	cp $0
-	jp nz, .asm_1158e5
-	ld a, [wdc1a]
-	cp $0
-	jp nz, .asm_1158e5
-
-.asm_1159c4
-	ld a, [wdc1f]
-	cp $0
-	jr z, .asm_1159d8
-	push hl
-	dec hl
-	ld b, a
-.asm_1159ce
-	ld a, $3d
-	ld [hld], a
-	inc b
-	ld a, $3
-	cp b
-	jr nz, .asm_1159ce
-	pop hl
-
-.asm_1159d8
-	ld a, $0
-	ld [hl], a
-	ret
-; 1159dc
-
-Function1159dc: ; 1159dc
-	cp $1a
-	jr c, .asm_1159ef
-	cp $34
-	jr c, .asm_1159f2
-	cp $3e
-	jr c, .asm_1159f5
-	cp $3e
-	jr z, .asm_1159f8
-	ld a, $2f
-	ret
-
-.asm_1159ef
-	add $41
-	ret
-
-.asm_1159f2
-	add $47
-	ret
-
-.asm_1159f5
-	sub $4
-	ret
-
-.asm_1159f8
-	ld a, $2b
-	ret
-; 1159fb
-
-Function1159fb: ; 1159fb
-	ld a, [wdc23]
-	and a
-	jp z, Function11425c
-	cp $2
-	jr z, .asm_115a29
-	cp $3
-	jr z, .asm_115a2c
-	cp $4
-	jr z, .asm_115a2c
-	cp $5
-	jr z, .asm_115a45
-	cp $ff
-	jr z, .asm_115a5a
-	cp $1
-	jp nz, Function11425c
-	call Function115732
-	call Function115a5f
-	ld a, h
-	ld [Plant], a
-	ld a, l
-	ld [Poster], a
-
-.asm_115a29
-	call Function115ab0
-
-.asm_115a2c
-	call Function115b00
-	and a
-	jr nz, .asm_115a5a
-	ld a, [wdc23]
-	cp $5
-	jr z, .asm_115a45
-	ld a, [Poster]
-	ld h, a
-	ld a, [Plant]
-	ld l, a
-	xor a
-	jp Function11425c
-
-.asm_115a45
-	ld hl, wdc0a
-	ld a, [hli]
-	cpl
-	ld e, a
-	ld a, [hli]
-	cpl
-	ld d, a
-	inc de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	add hl, de
-	xor a
-	ld [wdc23], a
-	jp Function11425c
-
-.asm_115a5a
-	ld a, $1
-	jp Function11425c
-; 115a5f
-
-Function115a5f: ; 115a5f
-	ld hl, wdc05
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	push hl
-	ld e, $10
-	ld b, $0
-	ld c, b
-	ld d, b
-	ld a, $42
-.asm_115a6e
-	rl l
-	rl h
-	rl d
-	cp d
-	jr c, .asm_115a80
-	rl c
-	rl b
-	dec e
-	jr nz, .asm_115a6e
-	jr .asm_115a8e
-
-.asm_115a80
-	ld a, d
-	sub $42
-	ld d, a
-	ld a, $42
-	scf
-	rl c
-	rl b
-	dec e
-	jr nz, .asm_115a6e
-
-.asm_115a8e
-	sla c
-	rl b
-	pop hl
-	ld a, b
-	cpl
-	ld b, a
-	ld a, c
-	cpl
-	ld c, a
-	inc bc
-	add hl, bc
-	srl h
-	rr l
-	srl h
-	rr l
-	ld b, h
-	ld c, l
-	sla c
-	rl b
-	add hl, bc
-	ld a, $2
-	ld [wdc23], a
-	ret
-; 115ab0
-
-Function115ab0: ; 115ab0
-	ld hl, wdc05
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld a, [wdc0e]
-	ld c, a
-	ld a, [Bed]
-	ld b, a
-	cp h
-	jr c, .asm_115acb
-	jr nz, .asm_115ac9
-	ld a, c
-	cp l
-	jr c, .asm_115acb
-	jr z, .asm_115acb
-
-.asm_115ac9
-	ld b, h
-	ld c, l
-
-.asm_115acb
-	push bc
-	ld a, b
-	cpl
-	ld b, a
-	ld a, c
-	cpl
-	ld c, a
-	inc bc
-	add hl, bc
-	ld a, l
-	ld [wdc05], a
-	ld a, h
-	ld [wdc06], a
-	ld a, h
-	or l
-	jr nz, .asm_115af0
-	pop bc
-	ld a, c
-	ld [wdc0e], a
-	ld a, b
-	ld [Bed], a
-	ld a, $4
-	ld [wdc23], a
-	xor a
-	ret
-
-.asm_115af0
-	pop bc
-	ld a, c
-	ld [wdc0e], a
-	ld a, b
-	ld [Bed], a
-	ld a, $3
-	ld [wdc23], a
-	xor a
-	ret
-; 115b00
-
-Function115b00: ; 115b00
-	ld a, [wdc23]
-	and a
-	ret z
-	ld a, [wdc0e]
-	ld c, a
-	ld a, [Bed]
-	ld b, a
-	ld hl, wdc02
-	ld a, [hli]
-	ld [wdc00], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld hl, PartyMon5Defense
-	push bc
-	call Function115bc8
-	pop hl
-	and a
-	jr z, .asm_115b43
-	cp $2
-	jr z, .asm_115b3b
-	ld a, [wdc23]
-	cp $4
-	jr z, .asm_115b43
-	inc hl
-	inc hl
-	jr .asm_115b43
-
-.asm_115b36
-	pop hl
-	ld b, $83
-	jr .asm_115b3d
-
-.asm_115b3b
-	ld b, $81
-
-.asm_115b3d
-	ld a, $ff
-	ld [wdc23], a
-	ret
-
-.asm_115b43
-	ld a, [Carpet]
-	add a
-	cpl
-	ld c, a
-	ld b, $ff
-	inc bc
-	add hl, bc
-	ld b, h
-	ld c, l
-	ld hl, wdc02
-	ld a, [wdc00]
-	ld [hli], a
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	ld hl, PartyMon5Defense
-	ld de, wdc24
-	call Function115c49
-	ld hl, wdc24
-	ld c, [hl]
-	inc hl
-	ld b, [hl]
-	inc hl
-	push hl
-	ld a, [wdc0a]
-	ld l, a
-	ld a, [wdc0b]
-	ld h, a
-	cp b
-	jr c, .asm_115b36
-	jr nz, .asm_115b7b
-	ld a, l
-	cp c
-	jr c, .asm_115b36
-
-.asm_115b7b
-	push bc
-	ld a, b
-	cpl
-	ld b, a
-	ld a, c
-	cpl
-	ld c, a
-	inc bc
-	add hl, bc
-	ld a, l
-	ld [wdc0a], a
-	ld a, h
-	ld [wdc0b], a
-	pop bc
-	pop hl
-	ld hl, wdc07
-	ld a, [hli]
-	ld [wdc01], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld hl, wdc26
-	call Function115d6a
-	ld hl, wdc07
-	ld a, [wdc01]
-	ld [hli], a
-	ld a, e
-	ld [hli], a
-	ld [hl], d
-	ld a, [wdc23]
-	cp $3
-	jr z, .asm_115bc1
-	cp $4
-	jr z, .asm_115bba
-	jr .asm_115b3b
-
-.asm_115bba
-	ld a, $5
-	ld [wdc23], a
-	jr .asm_115bc6
-
-.asm_115bc1
-	ld a, $2
-	ld [wdc23], a
-
-.asm_115bc6
-	xor a
-	ret
-; 115bc8
-
-Function115bc8: ; 115bc8
-	xor a
-	ld [Carpet], a
-.asm_115bcc
-	ld a, [de]
-	ld [hli], a
-	inc e
-	call z, .Function115c3d
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_115c46
-	ld a, [de]
-	ld [hli], a
-	inc e
-	call z, .Function115c3d
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_115c1b
-	ld a, [de]
-	ld [hli], a
-	inc e
-	call z, .Function115c3d
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_115c46
-	ld a, [de]
-	ld [hli], a
-	inc e
-	call z, .Function115c3d
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_115c3a
-	ld a, [de]
-	cp $d
-	jr nz, .asm_115bcc
-	inc e
-	call z, .Function115c3d
-	ld a, [de]
-	cp $a
-	jr nz, .asm_115c46
-	inc e
-	call z, .Function115c3d
-	dec bc
-	ld a, b
-	or c
-	jr z, .asm_115c46
-	ld a, [Carpet]
-	inc a
-	ld [Carpet], a
-	dec bc
-	ld a, b
-	or c
-	jr nz, .asm_115bcc
-
-.asm_115c1b
-	ld a, [wdc23]
-	cp $4
-	jr z, .asm_115c33
-	ld a, [de]
-	ld [hli], a
-	inc e
-	call z, .Function115c3d
-	ld a, [de]
-	ld [hli], a
-	inc e
-	call z, .Function115c3d
-	xor a
-	ld [hl], a
-	ld a, $1
-	ret
-
-.asm_115c33
-	dec hl
-	dec hl
-	xor a
-	ld [hl], a
-	ld a, $1
-	ret
-
-.asm_115c3a
-	xor a
-	ld [hl], a
-	ret
-
-.Function115c3d:
-	push bc
-	ld bc, wdc00
-	call Function115d80
-	pop bc
-	ret
-
-.asm_115c46
-	ld a, $2
-	ret
-; 115c49
-
-Function115c49: ; 115c49
-	ld a, e
-	ld [wdc1f], a
-	ld a, d
-	ld [wdc20], a
-	xor a
-	ld [de], a
-	inc de
-	ld [de], a
-	inc de
-
-	ld a, c
-	ld [wdc19], a
-	ld a, b
-	ld [wdc1a], a
-	ld c, e
-	ld b, d
-	ld e, l
-	ld d, h
-	ld l, c
-	ld h, b
-
-.asm_115c64
-	ld a, [wdc1a]
-	or a
-	jr nz, .asm_115c71
-	ld a, [wdc19]
-	cp $4
-	jr c, .asm_115c99
-
-.asm_115c71
-	ld b, $4
-	push hl
-	ld hl, wdc1b
-.asm_115c77
-	ld a, [de]
-	inc de
-	call Function115cfd
-	ld [hli], a
-	dec b
-	jr nz, .asm_115c77
-	ld a, [wdc19]
-	ld c, a
-	ld a, [wdc1a]
-	ld b, a
-	dec bc
-	dec bc
-	dec bc
-	dec bc
-.asm_115c8c
-	ld a, [de]
-	cp $d
-	jr z, .asm_115c95
-	cp $a
-	jr nz, .asm_115c9f
-
-.asm_115c95
-	inc de
-	dec bc
-	jr .asm_115c8c
-
-.asm_115c99
-	ld a, $ff
-	ld [wdc23], a
-	ret
-
-.asm_115c9f
-	ld a, c
-	ld [wdc19], a
-	ld a, b
-	ld [wdc1a], a
-	push de
-	push hl
-	ld hl, wdc1f
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	inc de
-	inc de
-	inc de
-	ld [hl], d
-	dec hl
-	ld [hl], e
-	pop hl
-	dec hl
-	ld d, [hl]
-	dec hl
-	ld c, [hl]
-	dec hl
-	ld b, [hl]
-	dec hl
-	ld a, [hl]
-	sla b
-	sla b
-	sla b
-	rla
-	sla b
-	rla
-	ld [hli], a
-	ld [hl], b
-	inc hl
-	rrc c
-	rrc c
-	ld [hl], c
-	dec hl
-	ld a, $f
-	and c
-	or [hl]
-	ld [hli], a
-	ld a, [hli]
-	and $c0
-	or [hl]
-	dec hl
-	ld [hld], a
-	dec hl
-	pop de
-	ld b, h
-	ld c, l
-	pop hl
-	ld a, [bc]
-	ld [hli], a
-	inc bc
-	ld a, [bc]
-	ld [hli], a
-	inc bc
-	ld a, [bc]
-	ld [hli], a
-	ld a, [wdc19]
-	cp $0
-	jp nz, .asm_115c64
-	ld a, [wdc1a]
-	cp $0
-	jp nz, .asm_115c64
-	ret
-; 115cfd
-
-Function115cfd: ; 115cfd
-	cp $2b
-	jr c, .asm_115d27
-	jr z, .asm_115d2f
-	cp $2f
-	jr c, .asm_115d27
-	jr z, .asm_115d32
-	cp $30
-	jr c, .asm_115d27
-	cp $3a
-	jr c, .asm_115d35
-	cp $3d
-	jr c, .asm_115d27
-	jr z, .asm_115d38
-	cp $41
-	jr c, .asm_115d27
-	cp $5b
-	jr c, .asm_115d4d
-	cp $61
-	jr c, .asm_115d27
-	cp $7b
-	jr c, .asm_115d50
-
-.asm_115d27
-	pop hl
-	pop hl
-	ld a, $ff
-	ld [wdc23], a
-	ret
-
-.asm_115d2f
-	ld a, $3e
-	ret
-
-.asm_115d32
-	ld a, $3f
-	ret
-
-.asm_115d35
-	add $4
-	ret
-
-.asm_115d38
-	push de
-	push hl
-	ld a, [wdc1f]
-	ld l, a
-	ld a, [wdc20]
-	ld h, a
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	dec de
-	ld [hl], d
-	dec hl
-	ld [hl], e
-	pop hl
-	pop de
-	xor a
-	ret
-
-.asm_115d4d
-	sub $41
-	ret
-
-.asm_115d50
-	sub $47
-	ret
-; 115d53
-
-Function115d53: ; 115d53
-.asm_115d53
-	ld a, [de]
-	ld [hli], a
-	inc e
-	call z, Function115d61
-	dec bc
-	ld a, b
-	or c
-	jr nz, .asm_115d53
-	xor a
-	ld [hl], a
-	ret
-; 115d61
-
-Function115d61: ; 115d61
-	push bc
-	ld bc, wdc00
-	call Function115d80
-	pop bc
-	ret
-; 115d6a
-
-Function115d6a: ; 115d6a
-.asm_115d6a
-	ld a, [hli]
-	ld [de], a
-	inc e
-	call z, Function115d77
-	dec bc
-	ld a, b
-	or c
-	jr nz, .asm_115d6a
-	xor a
-	ret
-; 115d77
-
-Function115d77: ; 115d77
-	push bc
-	ld bc, wdc01
-	call Function115d80
-	pop bc
-	ret
-; 115d80
-
-Function115d80: ; 115d80
-	ld e, a
-	ld a, d
-	cp $bf
-	jr z, .asm_115d8b
-	inc d
-	ld a, e
-	ld e, $0
-	ret
-
-.asm_115d8b
-	ld a, [bc]
-	inc a
-	ld [bc], a
-	ld [$ff8c], a
-	ld [$4000], a
-	ld a, e
-	ld d, $a0
-	ld e, $0
-	ret
-; 115d99
-
-Function115d99: ; 115d99
-	ld de, GFX_11601a
-	ld hl, $8600
-	lb bc, BANK(GFX_11601a), $14
-	call Get2bpp
-	xor a
-	ld [wc305], a
-	ld [wc306], a
-	ld [wc309], a
-	ld [wc30a], a
-	ld [wc30b], a
-	ld [wc30c], a
-	ld a, $10
-	ld [wc307], a
-	ld a, $18
-	ld [wc308], a
-	ret
-; 115dc3
-
-Function115dc3: ; 115dc3
-	xor a
-	ld [wc305], a
-	ld a, $a0
-	ld hl, Sprites + $7c
-	ld bc, $0020
-	call ByteFill
-	ret
-; 115dd3
-
-Function115dd3: ; 115dd3
-	ld a, [wc305]
-	and a
-	ret z
-	ld a, $a0
-	ld hl, Sprites + $7c
-	ld bc, $0020
-	call ByteFill
-	call Function115e22
-	ld a, [wc309]
-	sla a
-	ld c, a
-	ld b, 0
-	ld hl, Unknown_115e86
-	add hl, bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hl]
-	ld d, a
-	push de
-	pop hl
-	ld de, Sprites + $7c
-	ld a, [wc307]
-	ld c, a
-	ld a, [wc308]
-	ld b, a
-	ld a, [hli]
-.asm_115e04
-	push af
-	ld a, [hli]
-	add b
-	ld [de], a
-	inc de
-	ld a, [hli]
-	add c
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	pop af
-	dec a
-	jr nz, .asm_115e04
-	ret
-; 115e18
-
-Function115e18: ; 115e18
-	ld a, c
-	ld [wc30a], a
-	xor a
-	ld [wc30b], a
-	jr Function115e2b
-; 115e22
-
-Function115e22: ; 115e22
-	ld hl, wc30c
-	dec [hl]
-	ret nz
-	ld hl, wc30b
-	inc [hl]
-
-Function115e2b: ; 115e2b
-	ld a, [wc30a]
-	sla a
-	ld c, a
-	ld b, 0
-	ld hl, Unknown_115e59
-	add hl, bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	push de
-	pop hl
-	ld a, [wc30b]
-	sla a
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [hli]
-	cp $ff
-	jr nz, .asm_115e51
-	xor a
-	ld [wc30b], a
-	jr Function115e2b
-
-.asm_115e51
-	ld [wc309], a
-	ld a, [hl]
-	ld [wc30c], a
-	ret
-; 115e59
-
-Unknown_115e59:
-	dw Unknown_115e61
-	dw Unknown_115e6c
-	dw Unknown_115e76
-	dw Unknown_115e79
-
-Unknown_115e61: ; 115e61
-	db $4, $8
-	db $5, $8
-	db $6, $8
-	db $7, $8
-	db $8, $8
-	db $ff
-
-Unknown_115e6c: ; 115e6c
-	db $1, $8
-	db $2, $8
-	db $3, $8
-	db $9, $8
-	db $a, $8
-
-Unknown_115e76: ; 115e76
-	db $0, $8
-	db $ff
-
-Unknown_115e79: ; 115e79
-	db $b, $8
-	db $c, $8
-	db $d, $8
-	db $e, $8
-	db $f, $8
-	db $0, $8
-	db $ff
-; 115e86
-
-Unknown_115e86:
-	dw Unknown_115ea6
-	dw Unknown_115eb7
-	dw Unknown_115ecc
-	dw Unknown_115ee1
-	dw Unknown_115ef6
-	dw Unknown_115f13
-	dw Unknown_115f30
-	dw Unknown_115f4d
-	dw Unknown_115f6a
-	dw Unknown_115f87
-	dw Unknown_115f9c
-	dw Unknown_115fb1
-	dw Unknown_115fc6
-	dw Unknown_115fdb
-	dw Unknown_115ff0
-	dw Unknown_116005
-
-Unknown_115ea6: ; 115ea6
-	db $4
-	db $8, $0, $60, $1
-	db $8, $8, $61, $1
-	db $10, $0, $62, $1
-	db $10, $8, $63, $1
-
-Unknown_115eb7: ; 115eb7
-	db $5
-	db $0, $8, $64, $0
-	db $8, $0, $60, $1
-	db $8, $8, $61, $1
-	db $10, $0, $62, $1
-	db $10, $8, $63, $1
-
-Unknown_115ecc: ; 115ecc
-	db $5
-	db $0, $8, $65, $0
-	db $8, $0, $60, $1
-	db $8, $8, $61, $1
-	db $10, $0, $62, $1
-	db $10, $8, $63, $1
-
-Unknown_115ee1: ; 115ee1
-	db $5
-	db $0, $8, $66, $0
-	db $8, $0, $60, $1
-	db $8, $8, $61, $1
-	db $10, $0, $62, $1
-	db $10, $8, $63, $1
-
-Unknown_115ef6: ; 115ef6
-	db $7
-	db $0, $0, $67, $1
-	db $8, $0, $68, $1
-	db $10, $0, $6d, $0
-	db $10, $8, $69, $0
-	db $10, $10, $6a, $0
-	db $18, $8, $6b, $0
-	db $18, $10, $6c, $0
-
-Unknown_115f13: ; 115f13
-	db $7
-	db $0, $0, $67, $1
-	db $8, $0, $68, $1
-	db $10, $0, $6e, $0
-	db $10, $8, $69, $0
-	db $10, $10, $6a, $0
-	db $18, $8, $6b, $0
-	db $18, $10, $6c, $0
-
-Unknown_115f30: ; 115f30
-	db $7
-	db $0, $0, $67, $1
-	db $8, $0, $68, $1
-	db $10, $0, $6f, $0
-	db $10, $8, $69, $0
-	db $10, $10, $6a, $0
-	db $18, $8, $6b, $0
-	db $18, $10, $6c, $0
-
-Unknown_115f4d: ; 115f4d
-	db $7
-	db $0, $0, $67, $1
-	db $8, $0, $68, $1
-	db $10, $0, $70, $0
-	db $10, $8, $69, $0
-	db $10, $10, $6a, $0
-	db $18, $8, $6b, $0
-	db $18, $10, $6c, $0
-
-Unknown_115f6a: ; 115f6a
-	db $7
-	db $0, $0, $67, $1
-	db $8, $0, $68, $1
-	db $10, $0, $71, $0
-	db $10, $8, $69, $0
-	db $10, $10, $6a, $0
-	db $18, $8, $6b, $0
-	db $18, $10, $6c, $0
-
-Unknown_115f87: ; 115f87
-	db $5
-	db $0, $8, $72, $0
-	db $8, $0, $60, $1
-	db $8, $8, $61, $1
-	db $10, $0, $62, $1
-	db $10, $8, $63, $1
-
-Unknown_115f9c: ; 115f9c
-	db $5
-	db $0, $8, $73, $0
-	db $8, $0, $60, $1
-	db $8, $8, $61, $1
-	db $10, $0, $62, $1
-	db $10, $8, $63, $1
-
-Unknown_115fb1: ; 115fb1
-	db $5
-	db $1, $8, $64, $60
-	db $8, $0, $60, $1
-	db $8, $8, $61, $1
-	db $10, $0, $62, $1
-	db $10, $8, $63, $1
-
-Unknown_115fc6: ; 115fc6
-	db $5
-	db $1, $8, $65, $60
-	db $8, $0, $60, $1
-	db $8, $8, $61, $1
-	db $10, $0, $62, $1
-	db $10, $8, $63, $1
-
-Unknown_115fdb: ; 115fdb
-	db $5
-	db $1, $8, $66, $60
-	db $8, $0, $60, $1
-	db $8, $8, $61, $1
-	db $10, $0, $62, $1
-	db $10, $8, $63, $1
-
-Unknown_115ff0: ; 115ff0
-	db $5
-	db $1, $8, $72, $60
-	db $8, $0, $60, $1
-	db $8, $8, $61, $1
-	db $10, $0, $62, $1
-	db $10, $8, $63, $1
-
-Unknown_116005: ; 116005
-	db $5
-	db $1, $8, $73, $60
-	db $8, $0, $60, $1
-	db $8, $8, $61, $1
-	db $10, $0, $62, $1
-	db $10, $8, $63, $1
-; 11601a
-
-GFX_11601a:: ; 11601a
-INCBIN "gfx/unknown/11601a.2bpp"
-
-Function11615a: ; 11615a
-	xor a
-	ld [wc30d], a
-	ld [wc319], a
-	ld [wc310], a
-	ld [wc311], a
-	ld [wc312], a
-	ld [wc313], a
-	ld [wc314], a
-	ld [wc315], a
-	ld [wc318], a
-	ld [wc3f6], a
-	ld [wc3f8], a
-	ld [wc3f2], a
-	ld [wc3f4], a
-	ld a, $24
-	ld [wc3f5], a
-	ld a, $7
-	ld [wc3f7], a
-	ld a, $b0
-	ld [wc30e], a
-	ld [wc3f1], a
-	ld a, $48
-	ld [wc30f], a
-	ld [wc3f3], a
-	ret
-; 11619d
-
-Function11619d: ; 11619d
-	ld a, [wc30d]
-	and a
-	ret z
-	ld a, [wc319]
-	cp $2
-	jr c, .asm_1161b4
-	ld a, $a0
-	ld hl, Sprites
-	ld bc, $0064
-	call ByteFill
-
-.asm_1161b4
-	call Function1161b8
-	ret
-; 1161b8
-
-Function1161b8: ; 1161b8
-	ld a, [wc319]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_1161c7
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 1161c7
-
-Jumptable_1161c7: ; 1161c7
-	dw Function1161d5
-	dw Function116294
-	dw Function1162cb
-	dw Function1162f2
-	dw Function1163c0
-	dw Function11636e
-	dw Function116441
-; 1161d5
-
-Function1161d5: ; 1161d5
-	ld a, [rSVBK]
-	push af
-	ld a, $6
-	ld [rSVBK], a
-	ld hl, Unknown_117356
-	ld de, w6_d000
-	ld bc, $0300
-	call CopyBytes
-	di
-.asm_1161e9
-	ld a, [rLY]
-	cp $91
-	jr nz, .asm_1161e9
-	ld a, $d0
-	ld [rHDMA1], a
-	ld a, $0
-	ld [rHDMA2], a
-	ld a, $1c
-	ld [rHDMA3], a
-	xor a
-	ld [rHDMA4], a
-	ld a, $8
-	ld [rHDMA5], a
-	ld a, $d0
-	ld [rHDMA1], a
-	ld a, $80
-	ld [rHDMA2], a
-	ld a, $1c
-	ld [rHDMA3], a
-	ld a, $80
-	ld [rHDMA4], a
-	ld a, $8
-	ld [rHDMA5], a
-	ld a, $d1
-	ld [rHDMA1], a
-	ld a, $0
-	ld [rHDMA2], a
-	ld a, $1d
-	ld [rHDMA3], a
-	xor a
-	ld [rHDMA4], a
-	ld a, $8
-	ld [rHDMA5], a
-	ld a, $1
-	ld [rVBK], a
-	ld a, $d1
-	ld [rHDMA1], a
-	ld a, $80
-	ld [rHDMA2], a
-	ld a, $1c
-	ld [rHDMA3], a
-	xor a
-	ld [rHDMA4], a
-	ld a, $8
-	ld [rHDMA5], a
-	ld a, $d2
-	ld [rHDMA1], a
-	ld a, $0
-	ld [rHDMA2], a
-	ld a, $1c
-	ld [rHDMA3], a
-	ld a, $80
-	ld [rHDMA4], a
-	ld a, $8
-	ld [rHDMA5], a
-	ld a, $d2
-	ld [rHDMA1], a
-	ld a, $80
-	ld [rHDMA2], a
-	ld a, $1d
-	ld [rHDMA3], a
-	xor a
-	ld [rHDMA4], a
-	ld a, $8
-	ld [rHDMA5], a
-	xor a
-	ld [rVBK], a
-	ei
-	pop af
-	ld [rSVBK], a
-	callba Function104061
-	ld a, $8
-	ld [MusicFade], a
-	ld de, MUSIC_MOBILE_ADAPTER
-	ld a, e
-	ld [wc2a9], a
-	ld a, d
-	ld [wc2aa], a
-	ld a, [wc319]
-	inc a
-	ld [wc319], a
-	ret
-; 11628c
-
-MenuDataHeader_11628c: ; 11628c
-	db $40 ; flags
-	db  6,  0 ; start coords
-	db 17, 19 ; end coords
-	dw NULL
-	db 0 ; default option
-; 116294
-
-Function116294: ; 116294
-	callba Function170d02
-	ld a, [wc319]
-	inc a
-	ld [wc319], a
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld hl, wd030
-	ld de, wc320
-	ld bc, $0010
-	call CopyBytes
-	ld hl, Palette_11734e
-	ld de, Unkn1Pals + 8 * 7
-	ld bc, $0008
-	call CopyBytes
-	call Function32f9
-	pop af
-	ld [rSVBK], a
-	ld a, $30
-	ld [hWY], a
-	ret
-; 1162cb
-
-Function1162cb: ; 1162cb
-	callba Function170cc6
-	ld a, [wc319]
-	inc a
-	ld [wc319], a
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld hl, Palette_11730e
-	ld de, wd050
-	ld bc, $0030
-	call CopyBytes
-	call Function32f9
-	pop af
-	ld [rSVBK], a
-	ret
-; 1162f2
-
-Function1162f2: ; 1162f2
-	call Function11659d
-	call Function116758
-	call Function1167a6
-	ld a, [wc310]
-	cp $fd
-	ret z
-	sla a
-	ld c, a
-	ld b, 0
-	ld hl, Unknown_1168c5
-	add hl, bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hl]
-	ld d, a
-	push de
-	pop hl
-	ld a, [wc30e]
-	ld c, a
-	ld a, [wc30f]
-	ld b, a
-	ld a, [wc318]
-	ld e, a
-	ld a, [hli]
-	sub e
-	ld de, Sprites + $24
-.asm_116321
-	push af
-	ld a, [hli]
-	add b
-	ld [de], a
-	inc de
-	ld a, [hli]
-	add c
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	pop af
-	dec a
-	jr nz, .asm_116321
-	call Function116468
-	ld a, [wc3f5]
-	sla a
-	ld c, a
-	ld b, 0
-	ld hl, Unknown_1168c5
-	add hl, bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hl]
-	ld d, a
-	push de
-	pop hl
-	ld a, [wc3f1]
-	ld c, a
-	ld a, [wc3f3]
-	ld b, a
-	ld a, [wc3f8]
-	ld e, a
-	ld a, [hli]
-	sub e
-	ld de, Sprites
-.asm_11635a
-	push af
-	ld a, [hli]
-	add b
-	ld [de], a
-	inc de
-	ld a, [hli]
-	add c
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	pop af
-	dec a
-	jr nz, .asm_11635a
-	ret
-; 11636e
-
-Function11636e: ; 11636e
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld hl, BGPals
-	ld de, Unkn1Pals
-	ld bc, $0040
-	call CopyBytes
-	pop af
-	ld [rSVBK], a
-	call Function32f9
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	ld a, $a0
-	ld hl, Sprites
-	ld bc, $0040
-	call ByteFill
-	ld a, $90
-	ld [hWY], a
-	call Function1ad2
-	pop af
-	ld [rSVBK], a
-	callba Function104061
-	ld a, $8
-	ld [MusicFade], a
-	ld a, [wc2c0]
-	ld [wc2a9], a
-	xor a
-	ld [wc2aa], a
-	xor a
-	ld [wc319], a
-	ld [wc30d], a
-	ret
-; 1163c0
-
-Function1163c0: ; 1163c0
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	ld a, $a0
-	ld hl, Sprites
-	ld bc, $0040
-	call ByteFill
-	call DelayFrame
-	callba Function14146
-	ld b, $9
-	call GetSGBLayout
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld hl, wc320
-	ld de, wd030
-	ld bc, $0010
-	call CopyBytes
-	pop af
-	ld [rSVBK], a
-	call Function32f9
-	call DelayFrame
-	ld a, $90
-	ld [hWY], a
-	call Function1ad2
-	callba Function14157
-	pop af
-	ld [rSVBK], a
-	callba Function104061
-	ld a, [InLinkBattle]
-	cp $4
-	jr z, .asm_11642a
-	ld a, $8
-	ld [MusicFade], a
-	ld a, [wc2c0]
-	ld [wc2a9], a
-	xor a
-	ld [wc2aa], a
-	jr .asm_116439
-
-.asm_11642a
-	ld a, $8
-	ld [MusicFade], a
-	ld a, $0
-	ld [wc2a9], a
-	ld a, $0
-	ld [wc2aa], a
-
-.asm_116439
-	xor a
-	ld [wc319], a
-	ld [wc30d], a
-	ret
-; 116441
-
-Function116441: ; 116441
-	callba Function17d405
-	ld a, $90
-	ld [hWY], a
-	callba Function104061
-	ld a, $8
-	ld [MusicFade], a
-	ld a, [wc2c0]
-	ld [wc2a9], a
-	xor a
-	ld [wc2aa], a
-	xor a
-	ld [wc319], a
-	ld [wc30d], a
-	ret
-; 116468
-
-Function116468: ; 116468
-	call Function116567
-	ld a, [wc314]
-	cp $d
-	jr nz, .asm_1164a8
-	ld hl, wc30e
-	ld a, [hl]
-	cp $50
-	jr nc, .asm_116484
-	ld a, $50
-	sub [hl]
-	add $50
-	ld [wc3f1], a
-	jr .asm_11648d
-
-.asm_116484
-	sub $50
-	ld c, a
-	ld a, $50
-	sub c
-	ld [wc3f1], a
-
-.asm_11648d
-	ld hl, wc30f
-	ld a, [hl]
-	cp $60
-	jr nc, .asm_11649e
-	ld a, $60
-	sub [hl]
-	add $60
-	ld [wc3f3], a
-	ret
-
-.asm_11649e
-	sub $60
-	ld c, a
-	ld a, $60
-	sub c
-	ld [wc3f3], a
-	ret
-
-.asm_1164a8
-	ld hl, wc30e
-	ld a, $b0
-	cp [hl]
-	jr nc, .asm_1164b8
-	ld a, [wc3f1]
-	and a
-	jr z, .asm_11650b
-	jr .asm_1164f2
-
-.asm_1164b8
-	ld a, [wc3f1]
-	sub [hl]
-	jr nc, .asm_1164c1
-	xor $ff
-	inc a
-
-.asm_1164c1
-	ld b, a
-	ld c, $0
-	ld a, $5
-.asm_1164c6
-	srl b
-	rr c
-	dec a
-	jr nz, .asm_1164c6
-	ld a, c
-	ld [wc3fa], a
-	ld a, b
-	ld [wc3f9], a
-	ld a, [wc3f1]
-	sub [hl]
-	jr c, .asm_1164f2
-	ld c, $0
-	ld a, [wc3fa]
-	xor $ff
-	add $1
-	rl c
-	ld [wc3fa], a
-	ld a, [wc3f9]
-	xor $ff
-	add c
-	ld [wc3f9], a
-
-.asm_1164f2
-	ld a, [wc3f2]
-	ld l, a
-	ld a, [wc3f1]
-	ld h, a
-	ld a, [wc3fa]
-	ld e, a
-	ld a, [wc3f9]
-	ld d, a
-	add hl, de
-	ld a, l
-	ld [wc3f2], a
-	ld a, h
-	ld [wc3f1], a
-
-.asm_11650b
-	ld hl, wc30f
-	ld a, $b0
-	cp [hl]
-	jr c, .asm_11654d
-	ld a, [wc3f3]
-	sub [hl]
-	jr nc, .asm_11651c
-	xor $ff
-	inc a
-
-.asm_11651c
-	ld b, a
-	ld c, $0
-	ld a, $5
-.asm_116521
-	srl b
-	rr c
-	dec a
-	jr nz, .asm_116521
-	ld a, c
-	ld [wc3fc], a
-	ld a, b
-	ld [wc3fb], a
-	ld a, [wc3f3]
-	sub [hl]
-	jr c, .asm_11654d
-	ld c, $0
-	ld a, [wc3fc]
-	xor $ff
-	add $1
-	rl c
-	ld [wc3fc], a
-	ld a, [wc3fb]
-	xor $ff
-	add c
-	ld [wc3fb], a
-
-.asm_11654d
-	ld a, [wc3f4]
-	ld l, a
-	ld a, [wc3f3]
-	ld h, a
-	ld a, [wc3fc]
-	ld e, a
-	ld a, [wc3fb]
-	ld d, a
-	add hl, de
-	ld a, l
-	ld [wc3f4], a
-	ld a, h
-	ld [wc3f3], a
-	ret
-; 116567
-
-Function116567: ; 116567
-	ld hl, wc3f7
-	dec [hl]
-	ret nz
-	ld hl, wc3f6
-	inc [hl]
-.asm_116570
-	ld a, $7
-	sla a
-	ld c, a
-	ld b, 0
-	ld hl, Unknown_1167eb
-	add hl, bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	push de
-	pop hl
-	ld a, [wc3f6]
-	sla a
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [hli]
-	cp $fe
-	jr nz, .asm_116595
-	xor a
-	ld [wc3f6], a
-	jr .asm_116570
-
-.asm_116595
-	ld [wc3f5], a
-	ld a, [hl]
-	ld [wc3f7], a
-	ret
-; 11659d
-
-Function11659d: ; 11659d
-	ld a, [wc314]
-	cp $12
-	ret nc
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_1165af
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 1165af
-
-Jumptable_1165af: ; 1165af
-	dw Function11677e
-	dw Function1165d5
-	dw Function1165d8
-	dw Function1165e3
-	dw Function1165f5
-	dw Function116600
-	dw Function116615
-	dw Function116618
-	dw Function116623
-	dw Function116635
-	dw Function116640
-	dw Function116655
-	dw Function11665c
-	dw Function11668d
-	dw Function11669f
-	dw Function1166a2
-	dw Function1166c4
-	dw Function1166d6
-	dw Function1166d6
-; 1165d5
-
-Function1165d5: ; 1165d5
-	call Function11678e
-
-Function1165d8:
-	ld a, $0
-	ld c, a
-	ld a, $ff
-	ld b, a
-	ld a, $a8
-	call Function1166f4
-
-Function1165e3:
-	call Function116747
-	ld a, [wc30e]
-	cp $e8
-	ret nz
-	ld a, $1
-	call Function116780
-	ret c
-	jp Function116797
-; 1165f5
-
-Function1165f5: ; 1165f5
-	ld a, $1
-	ld c, a
-	ld a, $1
-	ld b, a
-	ld a, $e8
-	call Function1166f4
-
-Function116600:
-	call Function116747
-	ld a, [wc30e]
-	cp $a8
-	ret nz
-	ld a, $1
-	call Function116780
-	ret c
-	ld a, $2
-	ld [wc314], a
-	ret
-; 116615
-
-Function116615: ; 116615
-	call Function11678e
-
-Function116618:
-	ld a, $3
-	ld c, a
-	ld a, $1
-	ld b, a
-	ld a, $28
-	call Function11671f
-
-Function116623:
-	call Function116747
-	ld a, [wc30f]
-	cp $a0
-	ret nz
-	ld a, $6
-	call Function116780
-	ret c
-	jp Function116797
-; 116635
-
-Function116635: ; 116635
-	ld a, $2
-	ld c, a
-	ld a, $ff
-	ld b, a
-	ld a, $a0
-	call Function11671f
-
-Function116640:
-	call Function116747
-	ld a, [wc30f]
-	cp $28
-	ret nz
-	ld a, $6
-	call Function116780
-	ret c
-	ld a, $7
-	ld [wc314], a
-	ret
-; 116655
-
-Function116655: ; 116655
-	xor a
-	ld [wc317], a
-	call Function11678e
-
-Function11665c:
-	ld hl, wc317
-	ld a, $1
-	xor [hl]
-	ld [hl], a
-	add $4
-	ld c, a
-	call Function11679c
-	ld a, [wc317]
-	and a
-	jr nz, .asm_116673
-	ld a, $48
-	jr .asm_116675
-
-.asm_116673
-	ld a, $78
-
-.asm_116675
-	ld [wc30f], a
-	call Random
-	ld a, [hRandomAdd]
-	and $7
-	sla a
-	sla a
-	sla a
-	add $30
-	ld [wc30e], a
-	call Function116797
-
-Function11668d:
-	ld a, [wc311]
-	cp $ff
-	ret nz
-	ld a, $b
-	call Function116780
-	ret c
-	ld a, $c
-	ld [wc314], a
-	ret
-; 11669f
-
-Function11669f: ; 11669f
-	call Function11678e
-
-Function1166a2:
-	ld a, $a8
-	ld [wc30e], a
-	ld [wc3f1], a
-	ld a, $60
-	ld [wc30f], a
-	ld [wc3f3], a
-	ld a, $ff
-	ld [wc316], a
-	xor a
-	ld [wc317], a
-	ld a, $0
-	ld c, a
-	call Function11679c
-	call Function116797
-
-Function1166c4:
-	call Function116747
-	ld a, [wc30e]
-	cp $58
-	ret nz
-	ld a, $6
-	ld c, a
-	call Function11679c
-	call Function116797
-
-Function1166d6:
-	call Function116747
-	ld a, [wc30e]
-	cp $48
-	jr nz, .asm_1166e4
-	xor a
-	ld [wc316], a
-
-.asm_1166e4
-	ld a, [wc311]
-	cp $ff
-	ret nz
-	ld a, $4
-	ld [wc319], a
-	xor a
-	ld [wc314], a
-	ret
-; 1166f4
-
-Function1166f4: ; 1166f4
-	ld [wc30e], a
-	ld a, b
-	ld [wc316], a
-	xor a
-	ld [wc317], a
-	ld hl, wc30f
-.asm_116702
-	call Random
-	ld a, [hRandomAdd]
-	and $7
-	jr z, .asm_11670c
-	dec a
-
-.asm_11670c
-	sla a
-	sla a
-	sla a
-	add $48
-	cp [hl]
-	jr z, .asm_116702
-	ld [hl], a
-	call Function11679c
-	call Function116797
-	ret
-; 11671f
-
-Function11671f: ; 11671f
-	ld [wc30f], a
-	ld a, b
-	ld [wc317], a
-	xor a
-	ld [wc316], a
-	ld hl, wc30e
-.asm_11672d
-	call Random
-	ld a, [hRandomAdd]
-	and $7
-	sla a
-	sla a
-	sla a
-	add $30
-	cp [hl]
-	jr z, .asm_11672d
-	ld [hl], a
-	call Function11679c
-	call Function116797
-	ret
-; 116747
-
-Function116747: ; 116747
-	ld hl, wc30e
-	ld a, [wc316]
-	add [hl]
-	ld [hl], a
-	ld hl, wc30f
-	ld a, [wc317]
-	add [hl]
-	ld [hl], a
-	ret
-; 116758
-
-Function116758: ; 116758
-	ld a, [wc30f]
-	cp $30
-	jr c, .asm_116770
-	jr z, .asm_116770
-	cp $38
-	jr c, .asm_116774
-	jr z, .asm_116774
-	cp $40
-	jr c, .asm_116778
-	jr z, .asm_116778
-	xor a
-	jr .asm_11677a
-
-.asm_116770
-	ld a, $c
-	jr .asm_11677a
-
-.asm_116774
-	ld a, $8
-	jr .asm_11677a
-
-.asm_116778
-	ld a, $4
-
-.asm_11677a
-	ld [wc318], a
-	ret
-; 11677e
-
-Function11677e: ; 11677e
-	ld a, $0
-
-Function116780:
-	ld hl, wc315
-	cp [hl]
-	jr z, .asm_11678c
-	ld a, [hl]
-	ld [wc314], a
-	scf
-	ret
-
-.asm_11678c
-	and a
-	ret
-; 11678e
-
-Function11678e: ; 11678e
-	ld hl, wc314
-	ld a, [hl]
-	ld [wc315], a
-	inc [hl]
-	ret
-; 116797
-
-Function116797: ; 116797
-	ld hl, wc314
-	inc [hl]
-	ret
-; 11679c
-
-Function11679c:
-	ld a, c
-	ld [wc311], a
-	xor a
-	ld [wc312], a
-	jr asm_1167af
-
-Function1167a6: ; 1167a6
-	ld hl, wc313
-	dec [hl]
-	ret nz
-	ld hl, wc312
-	inc [hl]
-
-asm_1167af
-.asm_1167af
-	ld a, [wc311]
-	cp $ff
-	ret z
-	sla a
-	ld c, a
-	ld b, 0
-	ld hl, Unknown_1167eb
-	add hl, bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	push de
-	pop hl
-	ld a, [wc312]
-	sla a
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [hli]
-	cp $ff
-	jr z, .asm_1167dc
-	cp $fe
-	jr nz, .asm_1167e3
-	xor a
-	ld [wc312], a
-	jr .asm_1167af
-
-.asm_1167dc
-	ld a, $ff
-	ld [wc311], a
-	ld a, $fd
-
-.asm_1167e3
-	ld [wc310], a
-	ld a, [hl]
-	ld [wc313], a
-	ret
-; 1167eb
-
-Unknown_1167eb:
-	dw Unknown_1167fb
-	dw Unknown_116808
-	dw Unknown_116867
-	dw Unknown_116870
-	dw Unknown_116815
-	dw Unknown_11683e
-	dw Unknown_116881
-	dw Unknown_1168ae
-
-Unknown_1167fb: ; 1167fb
-	db $0, $6
-	db $1, $4
-	db $2, $4
-	db $3, $6
-	db $2, $4
-	db $1, $4
-	db $fe
-
-Unknown_116808: ; 116808
-	db $4, $6
-	db $5, $4
-	db $6, $4
-	db $7, $6
-	db $6, $4
-	db $5, $4
-	db $fe
-
-Unknown_116815: ; 116815
-	db $fd, $20
-	db $8, $c
-	db $9, $24
-	db $a, $4
-	db $b, $8
-	db $a, $4
-	db $9, $6
-	db $c, $4
-	db $d, $8
-	db $c, $5
-	db $9, $24
-	db $a, $4
-	db $b, $8
-	db $a, $4
-	db $9, $6
-	db $c, $4
-	db $d, $8
-	db $c, $5
-	db $9, $8
-	db $8, $4
-	db $ff
-
-Unknown_11683e: ; 11683e
-	db $fd, $20
-	db $e, $c
-	db $f, $24
-	db $10, $4
-	db $11, $8
-	db $10, $4
-	db $f, $6
-	db $12, $4
-	db $13, $8
-	db $12, $5
-	db $f, $24
-	db $10, $4
-	db $11, $8
-	db $10, $4
-	db $f, $6
-	db $12, $4
-	db $13, $8
-	db $12, $5
-	db $f, $8
-	db $e, $4
-	db $ff
-
-Unknown_116867: ; 116867
-	db $14, $8
-	db $15, $8
-	db $16, $8
-	db $15, $8
-	db $fe
-
-Unknown_116870: ; 116870
-	db $17, $5
-	db $18, $5
-	db $19, $5
-	db $1a, $5
-	db $1b, $5
-	db $1a, $5
-	db $19, $5
-	db $18, $5
-	db $fe
-
-Unknown_116881: ; 116881
-	db $1c, $7
-	db $1d, $7
-	db $1e, $a
-	db $1f, $a
-	db $20, $5
-	db $21, $5
-	db $20, $5
-	db $21, $5
-	db $20, $18
-	db $22, $4
-	db $23, $2
-	db $22, $2
-	db $23, $2
-	db $22, $1
-	db $23, $1
-	db $22, $1
-	db $23, $4
-	db $fd, $1
-	db $23, $1
-	db $fd, $2
-	db $23, $2
-	db $fd, $40
-	db $ff
-
-Unknown_1168ae: ; 1168ae
-	db $24, $4
-	db $25, $4
-	db $26, $4
-	db $27, $4
-	db $28, $4
-	db $29, $4
-	db $2a, $4
-	db $2b, $4
-	db $2c, $4
-	db $2d, $4
-	db $2e, $4
-	db $fe
-; 1168c5
-
-Unknown_1168c5:
-	dw Unknown_116923
-	dw Unknown_116960
-	dw Unknown_1169a1
-	dw Unknown_1169de
-	dw Unknown_116a1b
-	dw Unknown_116a58
-	dw Unknown_116a99
-	dw Unknown_116ad6
-	dw Unknown_116d1b
-	dw Unknown_116d4c
-	dw Unknown_116d85
-	dw Unknown_116dbe
-	dw Unknown_116df7
-	dw Unknown_116e30
-	dw Unknown_116e69
-	dw Unknown_116e9a
-	dw Unknown_116ed3
-	dw Unknown_116f0c
-	dw Unknown_116f45
-	dw Unknown_116f7e
-	dw Unknown_116b13
-	dw Unknown_116b54
-	dw Unknown_116b95
-	dw Unknown_116bd6
-	dw Unknown_116c17
-	dw Unknown_116c58
-	dw Unknown_116c99
-	dw Unknown_116cda
-	dw Unknown_116fb7
-	dw Unknown_116fec
-	dw Unknown_117025
-	dw Unknown_117056
-	dw Unknown_117083
-	dw Unknown_1170c0
-	dw Unknown_1170fd
-	dw Unknown_11713a
-	dw Unknown_117177
-	dw Unknown_11719c
-	dw Unknown_1171c1
-	dw Unknown_1171e6
-	dw Unknown_11720b
-	dw Unknown_117230
-	dw Unknown_117255
-	dw Unknown_11727a
-	dw Unknown_11729f
-	dw Unknown_1172c4
-	dw Unknown_1172e9
-
-Unknown_116923: ; 116923
-	db $f
-	db $0, $0, $1, $a
-	db $0, $8, $2, $d
-	db $0, $10, $3, $d
-	db $0, $18, $4, $d
-	db $8, $0, $11, $a
-	db $8, $8, $12, $a
-	db $8, $10, $13, $a
-	db $8, $18, $14, $d
-	db $10, $0, $21, $a
-	db $10, $8, $22, $a
-	db $10, $10, $23, $a
-	db $10, $18, $24, $a
-	db $18, $0, $31, $a
-	db $18, $8, $32, $a
-	db $18, $10, $33, $a
-
-Unknown_116960: ; 116960
-	db $10
-	db $1, $0, $1, $a
-	db $1, $8, $2, $d
-	db $1, $10, $3, $d
-	db $1, $18, $4, $d
-	db $9, $0, $11, $a
-	db $9, $8, $12, $a
-	db $9, $10, $13, $a
-	db $9, $18, $14, $d
-	db $11, $0, $5, $a
-	db $11, $8, $6, $a
-	db $11, $10, $7, $a
-	db $11, $18, $34, $a
-	db $19, $0, $15, $a
-	db $19, $8, $16, $a
-	db $19, $10, $17, $a
-	db $19, $18, $35, $a
-
-Unknown_1169a1: ; 1169a1
-	db $f
-	db $1, $0, $1, $a
-	db $1, $8, $2, $d
-	db $1, $10, $3, $d
-	db $1, $18, $4, $d
-	db $9, $0, $11, $a
-	db $9, $8, $12, $a
-	db $9, $10, $13, $a
-	db $9, $18, $14, $d
-	db $11, $0, $25, $a
-	db $11, $8, $26, $a
-	db $11, $10, $27, $a
-	db $11, $18, $34, $a
-	db $19, $8, $36, $a
-	db $19, $10, $37, $a
-	db $19, $18, $35, $a
-
-Unknown_1169de: ; 1169de
-	db $f
-	db $0, $0, $1, $a
-	db $0, $8, $2, $d
-	db $0, $10, $3, $d
-	db $0, $18, $4, $d
-	db $8, $0, $11, $a
-	db $8, $8, $12, $a
-	db $8, $10, $13, $a
-	db $8, $18, $14, $d
-	db $10, $0, $10, $a
-	db $10, $8, $20, $a
-	db $10, $10, $30, $a
-	db $10, $18, $24, $a
-	db $18, $0, $31, $a
-	db $18, $8, $32, $a
-	db $18, $10, $33, $a
-
-Unknown_116a1b: ; 116a1b
-	db $f
-	db $0, $0, $4, $2d
-	db $0, $8, $3, $2d
-	db $0, $10, $2, $2d
-	db $0, $18, $1, $2a
-	db $8, $0, $14, $2d
-	db $8, $8, $13, $2a
-	db $8, $10, $12, $2a
-	db $8, $18, $11, $2a
-	db $10, $0, $24, $2a
-	db $10, $8, $23, $2a
-	db $10, $10, $22, $2a
-	db $10, $18, $21, $2a
-	db $18, $8, $33, $2a
-	db $18, $10, $32, $2a
-	db $18, $18, $31, $2a
-
-Unknown_116a58: ; 116a58
-	db $10
-	db $1, $0, $4, $2d
-	db $1, $8, $3, $2d
-	db $1, $10, $2, $2d
-	db $1, $18, $1, $2a
-	db $9, $0, $14, $2d
-	db $9, $8, $13, $2a
-	db $9, $10, $12, $2a
-	db $9, $18, $11, $2a
-	db $11, $0, $34, $2a
-	db $11, $8, $7, $2a
-	db $11, $10, $6, $2a
-	db $11, $18, $5, $2a
-	db $19, $0, $35, $2a
-	db $19, $8, $17, $2a
-	db $19, $10, $16, $2a
-	db $19, $18, $15, $2a
-
-Unknown_116a99: ; 116a99
-	db $f
-	db $1, $0, $4, $2d
-	db $1, $8, $3, $2d
-	db $1, $10, $2, $2d
-	db $1, $18, $1, $2a
-	db $9, $0, $14, $2d
-	db $9, $8, $13, $2a
-	db $9, $10, $12, $2a
-	db $9, $18, $11, $2a
-	db $11, $0, $34, $2a
-	db $11, $8, $27, $2a
-	db $11, $10, $26, $2a
-	db $11, $18, $25, $2a
-	db $19, $0, $35, $2a
-	db $19, $8, $37, $2a
-	db $19, $10, $36, $2a
-
-Unknown_116ad6: ; 116ad6
-	db $f
-	db $0, $0, $4, $2d
-	db $0, $8, $3, $2d
-	db $0, $10, $2, $2d
-	db $0, $18, $1, $2a
-	db $8, $0, $14, $2d
-	db $8, $8, $13, $2a
-	db $8, $10, $12, $2a
-	db $8, $18, $11, $2a
-	db $10, $0, $24, $2a
-	db $10, $8, $30, $2a
-	db $10, $10, $20, $2a
-	db $10, $18, $10, $2a
-	db $18, $8, $33, $2a
-	db $18, $10, $32, $2a
-	db $18, $18, $31, $2a
-
-Unknown_116b13: ; 116b13
-	db $10
-	db $18, $0, $0, $b
-	db $18, $8, $8, $b
-	db $18, $10, $5c, $b
-	db $18, $18, $0, $b
-	db $10, $0, $0, $b
-	db $10, $8, $5d, $b
-	db $10, $10, $5e, $b
-	db $10, $18, $0, $b
-	db $8, $0, $50, $b
-	db $8, $8, $51, $b
-	db $8, $10, $52, $b
-	db $8, $18, $50, $2b
-	db $0, $0, $43, $b
-	db $0, $8, $44, $b
-	db $0, $10, $44, $2b
-	db $0, $18, $43, $2b
-
-Unknown_116b54: ; 116b54
-	db $10
-	db $19, $0, $0, $b
-	db $19, $8, $18, $b
-	db $19, $10, $c, $b
-	db $19, $18, $0, $b
-	db $11, $0, $42, $b
-	db $11, $8, $3a, $b
-	db $11, $10, $3a, $2b
-	db $11, $18, $42, $2b
-	db $9, $0, $58, $b
-	db $9, $8, $45, $b
-	db $9, $10, $45, $2b
-	db $9, $18, $58, $2b
-	db $1, $0, $d, $b
-	db $1, $8, $44, $b
-	db $1, $10, $44, $2b
-	db $1, $18, $d, $2b
-
-Unknown_116b95: ; 116b95
-	db $10
-	db $18, $0, $0, $b
-	db $18, $8, $5c, $2b
-	db $18, $10, $8, $2b
-	db $18, $18, $0, $b
-	db $10, $0, $0, $b
-	db $10, $8, $5e, $2b
-	db $10, $10, $5d, $2b
-	db $10, $18, $0, $b
-	db $8, $0, $50, $b
-	db $8, $8, $52, $2b
-	db $8, $10, $51, $2b
-	db $8, $18, $50, $2b
-	db $0, $0, $43, $b
-	db $0, $8, $44, $b
-	db $0, $10, $44, $2b
-	db $0, $18, $43, $2b
-
-Unknown_116bd6: ; 116bd6
-	db $10
-	db $18, $0, $0, $a
-	db $18, $8, $56, $a
-	db $18, $10, $57, $a
-	db $18, $18, $0, $a
-	db $10, $0, $64, $a
-	db $10, $8, $4a, $a
-	db $10, $10, $4b, $a
-	db $10, $18, $71, $a
-	db $8, $0, $54, $a
-	db $8, $8, $55, $a
-	db $8, $10, $55, $2a
-	db $8, $18, $54, $2a
-	db $0, $0, $48, $a
-	db $0, $8, $49, $a
-	db $0, $10, $49, $2a
-	db $0, $18, $48, $2a
-
-Unknown_116c17: ; 116c17
-	db $10
-	db $19, $0, $0, $a
-	db $19, $8, $76, $a
-	db $19, $10, $77, $a
-	db $19, $18, $0, $a
-	db $11, $0, $64, $a
-	db $11, $8, $69, $a
-	db $11, $10, $6a, $a
-	db $11, $18, $6b, $a
-	db $9, $0, $6f, $a
-	db $9, $8, $70, $a
-	db $9, $10, $70, $2a
-	db $9, $18, $6f, $2a
-	db $1, $0, $63, $a
-	db $1, $8, $19, $a
-	db $1, $10, $19, $2a
-	db $1, $18, $63, $2a
-
-Unknown_116c58: ; 116c58
-	db $10
-	db $1a, $0, $6c, $a
-	db $1a, $8, $6d, $a
-	db $1a, $10, $6e, $a
-	db $1a, $18, $0, $a
-	db $12, $0, $5f, $a
-	db $12, $8, $60, $a
-	db $12, $10, $61, $a
-	db $12, $18, $62, $a
-	db $a, $0, $53, $a
-	db $a, $8, $55, $a
-	db $a, $10, $55, $2a
-	db $a, $18, $53, $2a
-	db $2, $0, $46, $a
-	db $2, $8, $47, $a
-	db $2, $10, $47, $2a
-	db $2, $18, $46, $2a
-
-Unknown_116c99: ; 116c99
-	db $10
-	db $19, $0, $0, $2a
-	db $19, $8, $77, $2a
-	db $19, $10, $76, $2a
-	db $19, $18, $0, $2a
-	db $11, $0, $6b, $2a
-	db $11, $8, $6a, $2a
-	db $11, $10, $69, $2a
-	db $11, $18, $64, $2a
-	db $9, $0, $6f, $a
-	db $9, $8, $70, $a
-	db $9, $10, $70, $2a
-	db $9, $18, $6f, $2a
-	db $1, $0, $63, $a
-	db $1, $8, $19, $a
-	db $1, $10, $19, $2a
-	db $1, $18, $63, $2a
-
-Unknown_116cda: ; 116cda
-	db $10
-	db $18, $0, $0, $a
-	db $18, $8, $57, $2a
-	db $18, $10, $56, $2a
-	db $18, $18, $0, $a
-	db $10, $0, $71, $2a
-	db $10, $8, $4b, $2a
-	db $10, $10, $4a, $2a
-	db $10, $18, $64, $2a
-	db $8, $0, $54, $a
-	db $8, $8, $55, $a
-	db $8, $10, $55, $2a
-	db $8, $18, $54, $2a
-	db $0, $0, $48, $a
-	db $0, $8, $49, $a
-	db $0, $10, $49, $2a
-	db $0, $18, $48, $2a
-
-Unknown_116d1b: ; 116d1b
-	db $c
-	db $0, $0, $38, $4a
-	db $0, $8, $39, $4a
-	db $0, $10, $39, $6a
-	db $0, $18, $38, $6a
-	db $8, $0, $28, $4a
-	db $8, $8, $29, $4a
-	db $8, $10, $29, $6a
-	db $8, $18, $28, $6a
-	db $10, $0, $9, $4d
-	db $10, $8, $19, $4a
-	db $10, $10, $19, $6a
-	db $10, $18, $9, $6d
-
-Unknown_116d4c: ; 116d4c
-	db $e
-	db $0, $8, $3b, $4a
-	db $0, $10, $3b, $6a
-	db $8, $0, $2a, $4a
-	db $8, $8, $2b, $4a
-	db $8, $10, $2b, $6a
-	db $8, $18, $2a, $6a
-	db $10, $0, $1a, $4a
-	db $10, $8, $1b, $4a
-	db $10, $10, $1b, $6a
-	db $10, $18, $1a, $6a
-	db $18, $0, $a, $4a
-	db $18, $8, $b, $4a
-	db $18, $10, $b, $6a
-	db $18, $18, $a, $6a
-
-Unknown_116d85: ; 116d85
-	db $e
-	db $0, $0, $35, $2a
-	db $0, $8, $3c, $4a
-	db $0, $10, $3d, $4a
-	db $0, $18, $3e, $4a
-	db $8, $0, $2c, $4a
-	db $8, $8, $2d, $4a
-	db $8, $10, $2e, $4a
-	db $8, $18, $2f, $4a
-	db $10, $0, $1c, $4a
-	db $10, $8, $1d, $4a
-	db $10, $10, $1e, $4d
-	db $10, $18, $1f, $4d
-	db $18, $10, $e, $4d
-	db $18, $18, $f, $4a
-
-Unknown_116dbe: ; 116dbe
-	db $e
-	db $0, $0, $65, $4a
-	db $0, $8, $66, $4a
-	db $0, $10, $67, $4a
-	db $0, $18, $68, $4a
-	db $8, $8, $59, $4a
-	db $8, $10, $5a, $4a
-	db $8, $18, $5b, $4a
-	db $10, $0, $4c, $4a
-	db $10, $8, $4d, $4d
-	db $10, $10, $4e, $4d
-	db $10, $18, $4f, $4a
-	db $18, $0, $3f, $4d
-	db $18, $8, $40, $4d
-	db $18, $10, $41, $4d
-
-Unknown_116df7: ; 116df7
-	db $e
-	db $0, $0, $3e, $6a
-	db $0, $8, $3d, $6a
-	db $0, $10, $3c, $6a
-	db $0, $18, $35, $a
-	db $8, $0, $2f, $6a
-	db $8, $8, $2e, $6a
-	db $8, $10, $2d, $6a
-	db $8, $18, $2c, $6a
-	db $10, $0, $1f, $6d
-	db $10, $8, $1e, $6d
-	db $10, $10, $1d, $6a
-	db $10, $18, $1c, $6a
-	db $18, $0, $f, $6a
-	db $18, $8, $e, $6d
-
-Unknown_116e30: ; 116e30
-	db $e
-	db $0, $0, $68, $6a
-	db $0, $8, $67, $6a
-	db $0, $10, $66, $6a
-	db $0, $18, $65, $6a
-	db $8, $0, $5b, $6a
-	db $8, $8, $5a, $6a
-	db $8, $10, $59, $6a
-	db $10, $0, $4f, $6a
-	db $10, $8, $4e, $6d
-	db $10, $10, $4d, $6d
-	db $10, $18, $4c, $6a
-	db $18, $8, $41, $6d
-	db $18, $10, $40, $6d
-	db $18, $18, $3f, $6d
-
-Unknown_116e69: ; 116e69
-	db $c
-	db $8, $0, $9, $d
-	db $8, $8, $19, $a
-	db $8, $10, $19, $2a
-	db $8, $18, $9, $2d
-	db $10, $0, $28, $a
-	db $10, $8, $29, $a
-	db $10, $10, $29, $2a
-	db $10, $18, $28, $2a
-	db $18, $0, $38, $a
-	db $18, $8, $39, $a
-	db $18, $10, $39, $2a
-	db $18, $18, $38, $2a
-
-Unknown_116e9a: ; 116e9a
-	db $e
-	db $0, $0, $a, $a
-	db $0, $8, $b, $a
-	db $0, $10, $b, $2a
-	db $0, $18, $a, $2a
-	db $8, $0, $1a, $a
-	db $8, $8, $1b, $a
-	db $8, $10, $1b, $2a
-	db $8, $18, $1a, $2a
-	db $10, $0, $2a, $a
-	db $10, $8, $2b, $a
-	db $10, $10, $2b, $2a
-	db $10, $18, $2a, $2a
-	db $18, $8, $3b, $a
-	db $18, $10, $3b, $2a
-
-Unknown_116ed3: ; 116ed3
-	db $e
-	db $0, $10, $e, $d
-	db $0, $18, $f, $a
-	db $8, $0, $1c, $a
-	db $8, $8, $1d, $a
-	db $8, $10, $1e, $d
-	db $8, $18, $1f, $d
-	db $10, $0, $2c, $a
-	db $10, $8, $2d, $a
-	db $10, $10, $2e, $a
-	db $10, $18, $2f, $a
-	db $18, $0, $35, $6a
-	db $18, $8, $3c, $a
-	db $18, $10, $3d, $a
-	db $18, $18, $3e, $a
-
-Unknown_116f0c: ; 116f0c
-	db $e
-	db $0, $0, $3f, $d
-	db $0, $8, $40, $d
-	db $0, $10, $41, $d
-	db $8, $0, $4c, $a
-	db $8, $8, $4d, $d
-	db $8, $10, $4e, $d
-	db $8, $18, $4f, $a
-	db $10, $8, $59, $a
-	db $10, $10, $5a, $a
-	db $10, $18, $5b, $a
-	db $18, $0, $65, $a
-	db $18, $8, $66, $a
-	db $18, $10, $67, $a
-	db $18, $18, $68, $a
-
-Unknown_116f45: ; 116f45
-	db $e
-	db $0, $0, $f, $2a
-	db $0, $8, $e, $2d
-	db $8, $0, $1f, $2d
-	db $8, $8, $1e, $2d
-	db $8, $10, $1d, $2a
-	db $8, $18, $1c, $2a
-	db $10, $0, $2f, $2a
-	db $10, $8, $2e, $2a
-	db $10, $10, $2d, $2a
-	db $10, $18, $2c, $2a
-	db $18, $0, $3e, $2a
-	db $18, $8, $3d, $2a
-	db $18, $10, $3c, $2a
-	db $18, $18, $35, $4a
-
-Unknown_116f7e: ; 116f7e
-	db $e
-	db $0, $8, $41, $2d
-	db $0, $10, $40, $2d
-	db $0, $18, $3f, $2d
-	db $8, $0, $4f, $2a
-	db $8, $8, $4e, $2d
-	db $8, $10, $4d, $2d
-	db $8, $18, $4c, $2a
-	db $10, $0, $5b, $2a
-	db $10, $8, $5a, $2a
-	db $10, $10, $59, $2a
-	db $18, $0, $68, $2a
-	db $18, $8, $67, $2a
-	db $18, $10, $66, $2a
-	db $18, $18, $65, $2a
-
-Unknown_116fb7: ; 116fb7
-	db $d
-	db $fa, $0, $72, $a
-	db $fa, $8, $73, $d
-	db $fa, $10, $74, $d
-	db $fa, $18, $75, $d
-	db $2, $0, $81, $a
-	db $2, $8, $82, $a
-	db $2, $10, $83, $a
-	db $2, $18, $84, $a
-	db $a, $0, $91, $a
-	db $a, $8, $92, $a
-	db $a, $10, $93, $a
-	db $a, $18, $94, $a
-	db $12, $10, $a3, $a
-
-Unknown_116fec: ; 116fec
-	db $e
-	db $fd, $0, $85, $d
-	db $fd, $8, $86, $d
-	db $5, $0, $95, $d
-	db $5, $8, $96, $a
-	db $5, $10, $97, $a
-	db $5, $18, $98, $a
-	db $d, $0, $a5, $a
-	db $d, $8, $a6, $a
-	db $d, $10, $a7, $a
-	db $d, $18, $a8, $a
-	db $15, $0, $b3, $a
-	db $15, $8, $b4, $a
-	db $15, $10, $b5, $a
-	db $15, $18, $b6, $a
-
-Unknown_117025: ; 117025
-	db $c
-	db $8, $0, $79, $d
-	db $8, $8, $7a, $d
-	db $8, $10, $7b, $a
-	db $8, $18, $7c, $a
-	db $10, $0, $89, $d
-	db $10, $8, $8a, $a
-	db $10, $10, $8b, $a
-	db $10, $18, $8c, $a
-	db $18, $0, $99, $a
-	db $18, $8, $9a, $a
-	db $18, $10, $9b, $a
-	db $18, $18, $9c, $a
-
-Unknown_117056: ; 117056
-	db $b
-	db $8, $0, $7d, $a
-	db $8, $8, $7e, $d
-	db $8, $10, $7f, $d
-	db $8, $18, $80, $a
-	db $10, $0, $8d, $a
-	db $10, $8, $8e, $a
-	db $10, $10, $8f, $a
-	db $10, $18, $90, $a
-	db $18, $8, $9e, $a
-	db $18, $10, $9f, $a
-	db $18, $18, $a0, $a
-
-Unknown_117083: ; 117083
-	db $f
-	db $0, $0, $a1, $a
-	db $0, $8, $a2, $a
-	db $0, $10, $a2, $2a
-	db $0, $18, $a1, $2a
-	db $8, $0, $b1, $a
-	db $8, $8, $b2, $d
-	db $8, $10, $b2, $2d
-	db $8, $18, $b1, $2a
-	db $10, $0, $ab, $a
-	db $10, $8, $ac, $a
-	db $10, $10, $ac, $2a
-	db $10, $18, $ab, $2a
-	db $18, $8, $a4, $a
-	db $18, $10, $87, $a
-	db $18, $18, $88, $a
-
-Unknown_1170c0: ; 1170c0
-	db $f
-	db $0, $0, $a1, $a
-	db $0, $8, $a2, $d
-	db $0, $10, $a2, $2a
-	db $0, $18, $a1, $2a
-	db $8, $0, $b1, $a
-	db $8, $8, $78, $d
-	db $8, $10, $78, $2d
-	db $8, $18, $b1, $2a
-	db $10, $0, $ab, $a
-	db $10, $8, $ac, $a
-	db $10, $10, $ac, $2a
-	db $10, $18, $ab, $2a
-	db $18, $8, $a4, $a
-	db $18, $10, $87, $a
-	db $18, $18, $88, $a
-
-Unknown_1170fd: ; 1170fd
-	db $f
-	db $0, $0, $a9, $a
-	db $0, $8, $aa, $a
-	db $0, $10, $aa, $2a
-	db $0, $18, $a9, $2a
-	db $8, $0, $b7, $a
-	db $8, $8, $b8, $a
-	db $8, $10, $b8, $2a
-	db $8, $18, $b7, $2a
-	db $10, $0, $ab, $a
-	db $10, $8, $ac, $a
-	db $10, $10, $ac, $2a
-	db $10, $18, $ad, $a
-	db $18, $8, $a4, $a
-	db $18, $10, $ba, $a
-	db $18, $18, $bb, $a
-
-Unknown_11713a: ; 11713a
-	db $f
-	db $0, $0, $ae, $c
-	db $0, $8, $af, $c
-	db $0, $10, $af, $2c
-	db $0, $18, $ae, $2c
-	db $8, $0, $bc, $c
-	db $8, $8, $bd, $c
-	db $8, $10, $bd, $2c
-	db $8, $18, $bc, $2c
-	db $10, $0, $bf, $c
-	db $10, $8, $9d, $c
-	db $10, $10, $9d, $2c
-	db $10, $18, $b0, $c
-	db $18, $8, $b9, $c
-	db $18, $10, $c0, $c
-	db $18, $18, $be, $c
-
-Unknown_117177: ; 117177
-	db $9
-	db $14, $0, $1f, $6
-	db $14, $8, $20, $6
-	db $14, $10, $21, $6
-	db $c, $0, $10, $6
-	db $c, $8, $11, $6
-	db $c, $10, $12, $6
-	db $4, $0, $1, $6
-	db $4, $8, $2, $6
-	db $4, $10, $3, $6
-
-Unknown_11719c: ; 11719c
-	db $9
-	db $14, $0, $22, $6
-	db $14, $8, $23, $6
-	db $14, $10, $24, $6
-	db $c, $0, $13, $6
-	db $c, $8, $14, $6
-	db $c, $10, $15, $6
-	db $4, $0, $4, $6
-	db $4, $8, $5, $6
-	db $4, $10, $6, $6
-
-Unknown_1171c1: ; 1171c1
-	db $9
-	db $14, $0, $25, $6
-	db $14, $8, $26, $6
-	db $14, $10, $27, $6
-	db $c, $0, $16, $6
-	db $c, $8, $17, $6
-	db $c, $10, $18, $6
-	db $4, $0, $7, $6
-	db $4, $8, $8, $6
-	db $4, $10, $9, $6
-
-Unknown_1171e6: ; 1171e6
-	db $9
-	db $14, $0, $28, $6
-	db $14, $8, $29, $6
-	db $14, $10, $2a, $6
-	db $c, $0, $19, $6
-	db $c, $8, $1a, $6
-	db $c, $10, $1b, $6
-	db $4, $0, $a, $6
-	db $4, $8, $b, $6
-	db $4, $10, $c, $6
-
-Unknown_11720b: ; 11720b
-	db $9
-	db $14, $0, $2b, $6
-	db $14, $8, $2c, $6
-	db $14, $10, $2d, $6
-	db $c, $0, $1c, $6
-	db $c, $8, $1d, $6
-	db $c, $10, $1e, $6
-	db $4, $0, $d, $6
-	db $4, $8, $e, $6
-	db $4, $10, $f, $6
-
-Unknown_117230: ; 117230
-	db $9
-	db $14, $0, $47, $6
-	db $14, $8, $48, $6
-	db $14, $10, $49, $6
-	db $c, $0, $3b, $6
-	db $c, $8, $3c, $6
-	db $c, $10, $3b, $26
-	db $4, $0, $2e, $6
-	db $4, $8, $2f, $6
-	db $4, $10, $30, $6
-
-Unknown_117255: ; 117255
-	db $9
-	db $14, $0, $35, $6
-	db $14, $8, $4a, $6
-	db $14, $10, $35, $6
-	db $c, $0, $3d, $6
-	db $c, $8, $35, $6
-	db $c, $10, $3d, $26
-	db $4, $0, $31, $6
-	db $4, $8, $32, $6
-	db $4, $10, $31, $26
-
-Unknown_11727a: ; 11727a
-	db $9
-	db $14, $0, $4b, $6
-	db $14, $8, $4c, $6
-	db $14, $10, $4d, $6
-	db $c, $0, $3e, $6
-	db $c, $8, $3f, $6
-	db $c, $10, $40, $6
-	db $4, $0, $33, $6
-	db $4, $8, $34, $6
-	db $4, $10, $35, $6
-
-Unknown_11729f: ; 11729f
-	db $9
-	db $14, $0, $4e, $6
-	db $14, $8, $4f, $6
-	db $14, $10, $50, $6
-	db $c, $0, $41, $6
-	db $c, $8, $42, $6
-	db $c, $10, $43, $6
-	db $4, $0, $35, $6
-	db $4, $8, $36, $6
-	db $4, $10, $37, $6
-
-Unknown_1172c4: ; 1172c4
-	db $9
-	db $14, $0, $51, $6
-	db $14, $8, $52, $6
-	db $14, $10, $35, $6
-	db $c, $0, $44, $6
-	db $c, $8, $45, $6
-	db $c, $10, $46, $6
-	db $4, $0, $38, $6
-	db $4, $8, $39, $6
-	db $4, $10, $3a, $6
-
-Unknown_1172e9: ; 1172e9
-	db $9
-	db $10, $0, $0, $2
-	db $10, $8, $0, $2
-	db $10, $10, $0, $2
-	db $8, $0, $0, $2
-	db $8, $8, $0, $2
-	db $c, $10, $1f, $6
-	db $0, $0, $0, $2
-	db $0, $8, $0, $2
-	db $4, $10, $10, $6
-; 11730e
-
-Palette_11730e:
-	RGB 31, 31, 31
-	RGB  7,  5,  4
-	RGB 31, 28,  4
-	RGB 31,  5,  5
-	RGB 31, 31, 31
-	RGB  7,  5,  4
-	RGB 31, 23,  0
-	RGB 31, 28,  4
-	RGB 31, 31, 31
-	RGB 16, 19, 31
-	RGB 17, 31, 31
-	RGB 31, 31, 31
-	RGB  5,  5,  5
-	RGB  7,  5,  4
-	RGB 31, 28,  4
-	RGB 19, 11,  6
-	RGB 31, 31, 31
-	RGB  3, 15, 31
-	RGB  4, 25, 25
-	RGB  0,  7, 12
-	RGB 31, 31, 31
-	RGB  0, 16,  0
-	RGB  0, 16,  0
-	RGB  0, 16,  0
-	RGB  4, 11, 22
-	RGB  0, 16,  0
-	RGB  0, 16,  0
-	RGB  0, 16,  0
-	RGB 22, 11,  8
-	RGB  0, 16,  0
-	RGB  0, 16,  0
-	RGB  0, 16,  0
-
-Palette_11734e:
-	RGB 31, 30, 30
-	RGB  2,  0,  0
-	RGB 10,  9,  9
-	RGB 15, 14, 14
-
-Unknown_117356:
-INCBIN "baserom.gbc", $117356, $117656 - $117356
-
-
-SECTION "Mobile Stadium", ROMX, BANK[$45]
-
-Function117656: ; 117656
-	callba GiveOddEgg
-	ret
-; 11765d
-
-Function11765d: ; 11765d (45:765d)
-	ld a, [$ffaa]
-	push af
-	ld a, $1
-	ld [$ffaa], a
-	call Function11766b
-	pop af
-	ld [$ffaa], a
-	ret
-
-Function11766b: ; 11766b (45:766b)
-	call Function117699
-	ld a, [rSVBK] ; $ff00+$70
-	push af
-	ld a, $5
-	ld [rSVBK], a ; $ff00+$70
-	call Function1176ee
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $b1f3
-	ld de, wcd49
-	ld bc, $8
-	call CopyBytes
-	ld de, wc708
-	ld bc, $11
-	call CopyBytes
-	call CloseSRAM
-	pop af
-	ld [rSVBK], a ; $ff00+$70
-	ret
-
-Function117699: ; 117699 (45:7699)
-	ld a, $5
-	call GetSRAMBank
-	ld hl, wcd49
-	ld de, $b1f3
-	ld bc, $8
-	call CopyBytes
-	ld hl, wc708
-	ld bc, $11
-	call CopyBytes
-	call CloseSRAM
-	xor a
-	ld [wcd49], a
-	ld [wcd4a], a
-	ld [wcd4b], a
-	ld [wcd4c], a
-	ld [wcd4d], a
-	ld [wcd4e], a
-	ld [wcd4f], a
-	ld hl, wc708
-	ld bc, $11
-	call ByteFill
-	call WhiteBGMap
-	call ClearSprites
-	callba Function171c87
-	callba Function104061
-	callba Function8cf53
-	ret
-
-Function1176ee: ; 1176ee (45:76ee)
-	call Functiona57
-	ld a, [wcd49]
-	bit 7, a
-	jr nz, .asm_117709
-	call Function117719
-	callba Function8cf69
-	callba Function104061
-	jr Function1176ee
-.asm_117709
-	callba Function8cf53
-	call WhiteBGMap
-	call ClearScreen
-	call ClearSprites
-	ret
-
-Function117719: ; 117719 (45:7719)
-	ld a, [wcd49]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_117728
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-
-Jumptable_117728: ; 117728 (45:7728)
-	dw Function117738
-	dw Function117764
-	dw Function1178aa
-	dw Function1178e8
-	dw Function117942
-	dw Function117976
-	dw Function117984
-	dw Function1179a7
-
-
-Function117738: ; 117738 (45:7738)
-	callba Function171ccd
-	lb de, $30, $18
-	ld a, $1d
-	call Function3b2a
-	ld hl, $c
-	add hl, bc
-	ld a, $6
-	ld [hl], a
-	lb de, $48, $20
-	ld a, $1d
-	call Function3b2a
-	ld hl, $c
-	add hl, bc
-	ld a, $7
-	ld [hl], a
-	ld a, $3
-	ld [wcd23], a
-	jp Function117a0a
-
-Function117764: ; 117764 (45:7764)
-	ld a, [wcd4a]
-	cp $10
-	jr nz, .asm_11776f
-	ld a, $1
-	jr .asm_117770
-.asm_11776f
-	xor a
-.asm_117770
-	ld [wcd24], a
-	ld hl, hJoyPressed ; $ffa7
-	ld a, [hl]
-	and $4
-	jr nz, Function1177a5
-	ld a, [hl]
-	and $8
-	jr nz, Function1177ac
-	ld a, [hl]
-	and $1
-	jp nz, Function11784c
-	ld a, [hl]
-	and $2
-	jr nz, asm_1177d6
-	ld hl, $ffa9
-	ld a, [hl]
-	and $40
-	jr nz, asm_1177f1
-	ld a, [hl]
-	and $80
-	jr nz, asm_11780a
-	ld a, [hl]
-	and $20
-	jp nz, Function11782d
-	ld a, [hl]
-	and $10
-	jp nz, Function117837
-	ret
-
-Function1177a5: ; 1177a5 (45:77a5)
-	callba Function171cf0
-	ret
-
-Function1177ac: ; 1177ac (45:77ac)
-	ld a, $2
-	ld [wcd4c], a
-	ld a, $4
-	ld [wcd4d], a
-	ret
-
-Function1177b7: ; 1177b7 (45:77b7)
-	ld a, $3
-	ld [wcd24], a
-	ld a, [wcd4a]
-	and a
-	jr z, .asm_1177c5
-	jp Function117a0a
-.asm_1177c5
-	ld a, $6
-	ld [wcd49], a
-	ret
-
-Function1177cb: ; 1177cb (45:77cb)
-	ld a, $80
-	ld [wcd49], a
-	ld [ScriptVar], a
-	jp Function117a0a
-asm_1177d6: ; 1177d6 (45:77d6)
-	call PlayClickSFX
-	ld a, [wcd4a]
-	and a
-	ret z
-	dec a
-	ld [wcd4a], a
-	ld e, a
-	ld d, $0
-	ld hl, wc708
-	add hl, de
-	xor a
-	ld [hl], a
-	hlcoord 2, 4
-	add hl, de
-	ld [hl], a
-	ret
-asm_1177f1: ; 1177f1 (45:77f1)
-	ld a, [wcd4d]
-	and a
-	ret z
-	dec a
-	ld [wcd4d], a
-	cp $3
-	ret nz
-	ld a, [wcd4c]
-	ld e, a
-	sla a
-	sla a
-	add e
-asm_117806: ; 117806 (45:7806)
-	ld [wcd4c], a
-	ret
-asm_11780a: ; 11780a (45:780a)
-	ld a, [wcd4d]
-	cp $4
-	ret z
-	inc a
-	ld [wcd4d], a
-	cp $4
-	ret nz
-	ld a, [wcd4c]
-	cp $a
-	jr nc, .asm_117825
-	cp $5
-	jr nc, .asm_117829
-	xor a
-	jr asm_117806
-.asm_117825
-	ld a, $2
-	jr asm_117806
-.asm_117829
-	ld a, $1
-	jr asm_117806
-
-Function11782d: ; 11782d (45:782d)
-	ld a, [wcd4c]
-	and a
-	ret z
-	dec a
-	ld [wcd4c], a
-	ret
-
-Function117837: ; 117837 (45:7837)
-	ld e, $d
-	ld a, [wcd4d]
-	cp $4
-	jr nz, .asm_117842
-	ld e, $2
-.asm_117842
-	ld a, [wcd4c]
-	cp e
-	ret z
-	inc a
-	ld [wcd4c], a
-	ret
-
-Function11784c: ; 11784c (45:784c)
-	call PlayClickSFX
-	ld a, [wcd4d]
-	cp $4
-	jr nz, .asm_117866
-	ld a, [wcd4c]
-	cp $2
-	jp z, Function1177b7
-	cp $1
-	jp z, Function1177cb
-	jp Function1177a5
-.asm_117866
-	ld a, [wcd4a]
-	ld e, a
-	cp $10
-	jp z, Function1177ac
-	inc a
-	ld [wcd4a], a
-	ld d, $0
-	ld a, [wcd4b]
-	and a
-	jr nz, .asm_117880
-	ld hl, Unknown_117a0f
-	jr .asm_117883
-.asm_117880
-	ld hl, Unknown_117a47
-.asm_117883
-	push de
-	ld a, [wcd4c]
-	ld b, a
-	ld a, [wcd4d]
-	ld c, $e
-	call SimpleMultiply
-	add b
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [hl]
-	ld hl, wc708
-	add hl, de
-	ld [hl], a
-	pop de
-	hlcoord 2, 4
-	add hl, de
-	sub $20
-	ld [hl], a
-	ld a, e
-	cp $f
-	ret nz
-	jp Function1177ac
-
-Function1178aa: ; 1178aa (45:78aa)
-	ld hl, MenuDataHeader_1179b5
-	call LoadMenuDataHeader
-	call Function1cbb
-	call Function1cfd
-	ld hl, MenuDataHeader_1179bd
-	call LoadMenuDataHeader
-	call Function1cbb
-	call Function1cfd
-	callba Function104061
-	hlcoord 16, 8
-	ld de, String_1179c5
-	call PlaceString
-	hlcoord 15, 10
-	ld a, $ed
-	ld [hl], a
-	hlcoord 1, 14
-	ld de, String_1179cc
-	call PlaceString
-	ld a, $1
-	ld [wcd4e], a
-	jp Function117a0a
-
-Function1178e8: ; 1178e8 (45:78e8)
-	ld a, [hJoyPressed] ; $ff00+$a7
-	cp $2
-	jr z, .asm_117939
-	cp $1
-	jr z, .asm_117925
-	cp $80
-	jr z, .asm_11790f
-	cp $40
-	ret nz
-	ld a, [wcd4e]
-	and a
-	ret z
-	dec a
-	ld [wcd4e], a
-	hlcoord 15, 8
-	ld a, $ed
-	ld [hl], a
-	hlcoord 15, 10
-	ld a, $7f
-	ld [hl], a
-	ret
-.asm_11790f
-	ld a, [wcd4e]
-	and a
-	ret nz
-	inc a
-	ld [wcd4e], a
-	hlcoord 15, 8
-	ld a, $7f
-	ld [hl], a
-	hlcoord 15, 10
-	ld a, $ed
-	ld [hl], a
-	ret
-.asm_117925
-	call PlayClickSFX
-	ld a, [wcd4e]
-	and a
-	jr nz, .asm_117939
-	call Function1c07
-	ld a, $1
-	ld [wcd4f], a
-	jp Function117a0a
-.asm_117939
-	call Function1c07
-	call Function1c07
-	jp Function117a0a
-
-Function117942: ; 117942 (45:7942)
-	call SpeechTextBox
-	hlcoord 1, 14
-	ld de, String_1179f7
-	call PlaceString
-	ld a, $1e
-	ld [wcd4e], a
-	ld a, $5
-	call GetSRAMBank
-	ld a, [wcd4f]
-	ld [$aa4b], a
-	ld hl, wc708
-	ld de, $aa4c
-	ld bc, $11
-	call CopyBytes
-	call CloseSRAM
-	ld a, [wcd4f]
-	and a
-	jr z, asm_11797e
-	call Function117a0a
-
-Function117976: ; 117976 (45:7976)
-	ld hl, wcd4e
-	dec [hl]
-	ret nz
-	call Function1c07
-asm_11797e: ; 11797e (45:797e)
-	ld a, $80
-	ld [wcd49], a
-	ret
-
-Function117984: ; 117984 (45:7984)
-	ld hl, MenuDataHeader_1179b5
-	call LoadMenuDataHeader
-	call Function1cbb
-	call Function1cfd
-	callba Function104061
-	hlcoord 1, 14
-	ld de, String_1179e1
-	call PlaceString
-	ld a, $1e
-	ld [wcd4e], a
-	call Function117a0a
-
-Function1179a7: ; 1179a7 (45:79a7)
-	ld hl, wcd4e
-	dec [hl]
-	ret nz
-	call Function1c07
-	ld a, $1
-	ld [wcd49], a
-	ret
-; 1179b5 (45:79b5)
-
-MenuDataHeader_1179b5: ; 1179b5
-	db $40 ; flags
-	db 12,  0 ; start coords
-	db 17, 19 ; end coords
-	dw NULL
-	db 0 ; default option
-; 1179bd
-
-MenuDataHeader_1179bd: ; 1179bd
-	db $40 ; flags
-	db  7, 14 ; start coords
-	db 11, 19 ; end coords
-	dw NULL
-	db 0 ; default option
-; 1179c5
-
-
-String_1179c5: ; 1179c5
-	db   "はい"
-	next "いいえ@"
-; 1179cc
-
-String_1179cc: ; 1179cc
-	db   "こ", $25, "パスワード", $1f, "ほぞんして"
-	line "おきますか?@"
-; 1179e1
-
-String_1179e1: ; 1179e1
-	db   "パスワード", $4a, "にゅうりょく"
-	line "されていません!@"
-; 1179f7
-
-String_1179f7: ; 1179f7
-	db   "ログインパスワード", $1f, "ほぞん"
-	line "しました@"
-; 117a0a
-
-Function117a0a: ; 117a0a (45:7a0a)
-	ld hl, wcd49
-	inc [hl]
-	ret
-; 117a0f (45:7a0f)
-
-Unknown_117a0f:
-INCBIN "data/mobile/ascii-alpha.txt"
-
-Unknown_117a47:
-INCBIN "data/mobile/ascii-sym.txt"
-; 117a7f
-
-
-; everything from here to the end of the bank is related to the
-; Mobile Stadium option from the continue/newgame menu.
-; XXX better function names
-MobileStudium: ; 0x117a7f
-	ld a, [$ffaa]
-	push af
-	ld a, $1
-	ld [$ffaa], a
-	call Function117a8d
-	pop af
-	ld [$ffaa], a
-	ret
-; 0x117a8d
-
-Function117a8d: ; 0x117a8d
-	call Function117a94
-	call Function117acd
-	ret
-; 0x117a94
-
-Function117a94: ; 0x117a94
-	xor a
-	ld [wcf63], a
-	ld [wcf64], a
-	ld [wcf65], a
-	ld [wcf66], a
-	call WhiteBGMap
-	call ClearSprites
-	callba Function172e78
-	callba Function104000
-	ret
-; 0x117ab4
-
-Function117ab4: ; 0x117ab4
-	call WhiteBGMap
-	call ClearSprites
-	callba Function172e78
-	callba Function172eb9
-	callba Function104061
-	ret
-; 0x117acd
-
-Function117acd: ; 0x117acd
-	call Functiona57
-	ld a, [wcf63]
-	bit 7, a
-	jr nz, .asm_117ae2 ; 0x117ad5 $b
-	call Function117ae9
-	callba Function104000
-	jr Function117acd
-.asm_117ae2
-	call WhiteBGMap
-	call ClearSprites
-	ret
-
-Function117ae9: ; 0x117ae9
-	ld a, [wcf63]
-	ld e, a
-	ld d, $0
-	ld hl, Pointers117af8
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-
-Pointers117af8: ; 0x117af8
-	dw Function117b06
-	dw Function117b14
-	dw Function117b28
-	dw Function117b31
-	dw Function117b4f
-	dw Function117bb6
-	dw Function117c4a
-
-Function117b06:
-	callba Function172eb9
-	ld a, $10
-	ld [wcf64], a
-	jp Function117cdd
-
-Function117b14:
-	ld hl, wcf64
-	dec [hl]
-	ret nz
-	ld hl, Data117cbc
-	call LoadMenuDataHeader
-	call Function1cbb
-	call Function1cfd
-	jp Function117cdd
-
-Function117b28:
-	ld hl, MobileStadiumEntryText
-	call PrintText
-	jp Function117cdd
-
-Function117b31:
-	ld hl, Data117cc4
-	call LoadMenuDataHeader
-	call Function1cbb
-	call Function1cfd
-	hlcoord 16, 8
-	ld de, YesNo117ccc
-	call PlaceString
-	hlcoord 15, 8
-	ld a, "▶"
-	ld [hl], a
-	jp Function117cdd
-
-Function117b4f:
-	ld a, [hJoyPressed]
-	cp $2
-	jr z, .asm_117ba4 ; 0x117b53 $4f
-	cp $1
-	jr z, .asm_117b8c ; 0x117b57 $33
-	cp $80
-	jr z, .asm_117b76 ; 0x117b5b $19
-	cp $40
-	ret nz
-	ld a, [wcf64]
-	and a
-	ret z
-	dec a
-	ld [wcf64], a
-	hlcoord 15, 8
-	ld a, "▶"
-	ld [hl], a
-	hlcoord 15, 10
-	ld a, " "
-	ld [hl], a
-	ret
-.asm_117b76
-	ld a, [wcf64]
-	and a
-	ret nz
-	inc a
-	ld [wcf64], a
-	hlcoord 15, 8
-	ld a, " "
-	ld [hl], a
-	hlcoord 15, 10
-	ld a, "▶"
-	ld [hl], a
-	ret
-.asm_117b8c
-	call PlayClickSFX
-	ld a, [wcf64]
-	and a
-	jr nz, .asm_117ba4 ; 0x117b93 $f
-	call Function1c07
-	call Function1c07
-	callba Function104061
-	jp Function117cdd
-.asm_117ba4
-	call Function1c07
-	call Function1c07
-	callba Function104061
-	ld a, $80
-	ld [wcf63], a
-	ret
-
-Function117bb6:
-	call Function117c89
-	ld a, $1
-	ld [hBGMapMode], a
-	callba Function118284
-	call ClearSprites
-	ld a, [wc300]
-	and a
-	jr z, .asm_117be7 ; 0x117bca $1b
-	cp $a
-	jr z, .asm_117be1 ; 0x117bce $11
-.asm_117bd0
-	ld a, $2
-	ld [wc303], a
-	callba Function17f555
-	ld a, $80
-	ld [wcf63], a
-	ret
-.asm_117be1
-	ld a, $80
-	ld [wcf63], a
-	ret
-.asm_117be7
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-	ld a, [wcd89]
-	and $1
-	jr nz, .asm_117c16 ; 0x117bf3 $21
-	ld a, [wd000]
-	cp $fe
-	jr nz, .asm_117c16 ; 0x117bfa $1a
-	ld a, [wd001]
-	cp $f
-	jr nz, .asm_117c16 ; 0x117c01 $13
-	ld hl, wdfec
-	ld de, wcd69
-	ld c, $10
-.asm_117c0b
-	ld a, [de]
-	inc de
-	cp [hl]
-	jr nz, .asm_117c16 ; 0x117c0e $6
-	inc hl
-	dec c
-	jr nz, .asm_117c0b ; 0x117c12 $f7
-	jr .asm_117c20 ; 0x117c14 $a
-.asm_117c16
-	pop af
-	ld [rSVBK], a
-	ld a, $d3
-	ld [wc300], a
-	jr .asm_117bd0 ; 0x117c1e $b0
-.asm_117c20
-	pop af
-	ld [rSVBK], a
-	callba Function172eb9
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-	ld a, $7
-	call GetSRAMBank
-	ld hl, DefaultFlypoint
-	ld de, $b000
-	ld bc, $1000
-	call CopyBytes
-	call CloseSRAM
-	pop af
-	ld [rSVBK], a
-	jp Function117cdd
-
-Function117c4a:
-	ld hl, Data117cbc
-	call LoadMenuDataHeader
-	call Function1cbb
-	call Function1cfd
-	callba Function104061
-	ld hl, MobileStadiumSuccessText
-	call PrintText
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld hl, wd000
-	ld de, $0008
-	ld c, $8
-.asm_117c71
-	push hl
-	ld a, $ff
-	ld [hli], a
-	ld a, " "
-	ld [hl], a
-	pop hl
-	add hl, de
-	dec c
-	jr nz, .asm_117c71 ; 0x117c7b $f4
-	call Function4b6
-	pop af
-	ld [rSVBK], a
-	ld a, $80
-	ld [wcf63], a
-	ret
-
-Function117c89:
-	ld a, $7
-	call GetSRAMBank
-	ld l, $0
-	ld h, l
-	ld de, $b000
-	ld bc, $0ffc
-.asm_117c97
-	push bc
-	ld a, [de]
-	inc de
-	ld c, a
-	ld b, $0
-	add hl, bc
-	pop bc
-	dec bc
-	ld a, b
-	or c
-	jr nz, .asm_117c97 ; 0x117ca2 $f3
-	ld a, l
-	ld [wcd83], a
-	ld a, h
-	ld [wcd84], a
-	ld hl, $bfea
-	ld de, wcd69
-	ld bc, $0010
-	call CopyBytes
-	call CloseSRAM
-	ret
-
-Data117cbc: ; 0x117cbc
-	db $40, $0c, $00, $11, $13, $00, $00, $00
-
-Data117cc4: ; 0x117cc4
-	db $40, $07, $0e, $0b, $13, $00, $00, $00 ; XXX what is this
-
-YesNo117ccc: ; 0x117ccc
-	db   "はい"
-	next "いいえ"
-	db   "@"
-
-MobileStadiumEntryText: ; 0x117cd3
-	TX_FAR _MobileStadiumEntryText
-	db "@"
-
-MobileStadiumSuccessText: ; 0x117cd8
-	TX_FAR _MobileStadiumSuccessText
-	db "@"
-
-Function117cdd: ; 0x117cdd
-	ld hl, wcf63
-	inc [hl]
-	ret
-
-
-SECTION "bank46", ROMX, BANK[$46]
-
-Function118000: ; 118000
-	ld a, $1
-	ld [wcd38], a
-	jr asm_11800b
-
-Function118007: ; 118007
-	xor a
-	ld [wcd38], a
-
-asm_11800b
-	call Function1183cb
-	ld a, $18
-	ld [wcd33], a
-	ld a, $19
-	ld [wcd34], a
-	ld a, $4
-	ld [wc3f0], a
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-.asm_118024
-	call Functiona57
-	call Function118473
-	ld a, [wcf66]
-	cp $1b
-	jr c, .asm_118037
-	ld a, [wcd34]
-	ld [wcf66], a
-
-.asm_118037
-	call Function1184a5
-	call Function11a8fa
-	callba Function115dd3
-	callba Function11619d
-	call DelayFrame
-	ld a, [wcf66]
-	ld hl, wcd33
-	cp [hl]
-	jr nz, .asm_118024
-	pop af
-	ld [rSVBK], a
-	call Function118452
-	call Function222a
-Function11805e: ; 11805e (46:405e)
-	ret
-; 11805f
-
-Function11805f: ; 11805f
-	ld a, $1
-	ld [wcd38], a
-	call Function1183cb
-	ld a, $18
-	ld [wcd33], a
-	ld a, $19
-	ld [wcd34], a
-	ld a, $4
-	ld [wc3f0], a
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-.asm_11807d
-	call Functiona57
-	call Function118473
-	ld a, [wcf66]
-	cp $1b
-	jr c, .asm_118090
-	ld a, [wcd34]
-	ld [wcf66], a
-
-.asm_118090
-	call Function11857c
-	call Function11a8fa
-	callba Function115dd3
-	callba Function11619d
-	call DelayFrame
-	ld a, [wcf66]
-	ld hl, wcd33
-	cp [hl]
-	jr nz, .asm_11807d
-	pop af
-	ld [rSVBK], a
-	call Function118452
-	call Function222a
-	ret
-; 1180b8
-
-Function1180b8: ; 1180b8
-	call Function1183cb
-	ld a, $22
-	ld [wcd33], a
-	ld a, $23
-	ld [wcd34], a
-	ld a, $4
-	ld [wc3f0], a
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-.asm_1180d1
-	call Functiona57
-	call Function118473
-	ld a, [wcf66]
-	cp $28
-	jr c, .asm_1180e4
-	ld a, [wcd34]
-	ld [wcf66], a
-
-.asm_1180e4
-	ld a, [wcf66]
-	cp $10
-	jr c, .asm_1180f2
-	cp $16
-	jr nc, .asm_1180f2
-	call Function11884c
-
-.asm_1180f2
-	call Function1184ec
-	call Function11a8fa
-	callba Function115dd3
-	callba Function11619d
-	call DelayFrame
-	ld a, [wcf66]
-	ld hl, wcd33
-	cp [hl]
-	jr nz, .asm_1180d1
-	pop af
-	ld [rSVBK], a
-	call Function118452
-	call Function222a
-	ret
-; 11811a
-
-Function11811a: ; 11811a
-	ld a, 1
-	ld [wcd38], a
-	jr Function118125
-
-Function118121: ; 118121
-	xor a
-	ld [wcd38], a
-
-Function118125: ; 118125
-	call Function1183cb
-	ld a, $3
-	ld [wcd33], a
-	ld a, $d
-	ld [wcd34], a
-	ld a, $4
-	ld [wc3f0], a
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-.asm_11813e
-	call Functiona57
-	call Function118473
-	ld a, [wcf66]
-	cp $f
-	jr c, .asm_118151
-	ld a, [wcd34]
-	ld [wcf66], a
-
-.asm_118151
-	call Function11854d
-	call Function11a8fa
-	callba Function115dd3
-	callba Function11619d
-	call DelayFrame
-	ld a, [wcf66]
-	ld hl, wcd33
-	cp [hl]
-	jr nz, .asm_11813e
-	xor a
-	ld [Unkn1Pals], a
-	pop af
-	ld [rSVBK], a
-	call Function118452
-	call Function118180
-	call Function222a
-	ret
-; 118180
-
-Function118180: ; 118180
-	ld a, [ScriptVar]
-	and a
-	ret nz
-	ld a, [wcd38]
-	and a
-	ret z
-	ld a, $5
-	call GetSRAMBank
-	ld hl, wcd69
-	ld de, $a89c
-	ld bc, $0016
-	call CopyBytes
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-	ld de, $d202
-	ld c, $96
-	callba Function17d0b3
-	jr c, .asm_1181d0
-	ld de, $d202
-	ld bc, $0196
-	callba Function17d1e1
-	jr c, .asm_1181d0
-	ld hl, $d202
-	ld de, $a8b2
-	ld bc, $0096
-	call CopyBytes
-.asm_1181c9
-	pop af
-	ld [rSVBK], a
-	call CloseSRAM
-	ret
-
-.asm_1181d0
-	ld a, $d3
-	ld [wc300], a
-	ld [ScriptVar], a
-	jr .asm_1181c9
-; 1181da
-
-Function1181da: ; 1181da
-	call Function1183cb
-	ld a, $2
-	ld [wcd38], a
-	ld a, $21
-	ld [wcd33], a
-	ld a, $22
-	ld [wcd34], a
-	ld a, $4
-	ld [wc3f0], a
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-.asm_1181f8
-	call Functiona57
-	call Function118473
-	ld a, [wcf66]
-	cp $28
-	jr c, .asm_11820b
-	ld a, [wcd34]
-	ld [wcf66], a
-
-.asm_11820b
-	call Function1185c3
-	call Function11a8fa
-	callba Function115dd3
-	callba Function11619d
-	call DelayFrame
-	ld a, [wcf66]
-	ld hl, wcd33
-	cp [hl]
-	jr nz, .asm_1181f8
-	pop af
-	ld [rSVBK], a
-	call Function118452
-	call Function222a
-	ret
-; 118233
-
-Function118233: ; 118233
-	call Function1183cb
-	ld a, $1b
-	ld [wcd33], a
-	ld a, $1c
-	ld [wcd34], a
-	ld a, $6
-	ld [wc3f0], a
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-.asm_11824c
-	call Functiona57
-	call Function118473
-	ld a, [wcf66]
-	cp $1e
-	jr c, .asm_11825f
-	ld a, [wcd34]
-	ld [wcf66], a
-
-.asm_11825f
-	call Function118624
-	call Function11a8fa
-	callba Function115dd3
-	callba Function11619d
-	call DelayFrame
-	ld a, [wcf66]
-	ld hl, wcd33
-	cp [hl]
-	jr nz, .asm_11824c
-	pop af
-	ld [rSVBK], a
-	call Function118452
-	ret
-; 118284
-
-Function118284: ; 118284
-	call Function1183cb
-	ld a, $19
-	ld [wcd33], a
-	ld a, $1e
-	ld [wcd34], a
-	ld a, $5
-	ld [wc3f0], a
-	ld a, [rSVBK] ; $ff00+$70
-	push af
-	ld a, $3
-	ld [rSVBK], a ; $ff00+$70
-.asm_11829d
-	call Functiona57
-	call Function118473
-	ld a, [wcf66]
-	cp $20
-	jr c, .asm_1182b0
-	ld a, [wcd34]
-	ld [wcf66], a
-.asm_1182b0
-	call Function1186f5
-	call Function11a8fa
-	callba Function115dd3
-	callba Function11619d
-	call DelayFrame
-	ld a, [wcf66]
-	ld hl, wcd33
-	cp [hl]
-	jr nz, .asm_11829d
-	pop af
-	ld [rSVBK], a ; $ff00+$70
-	call Function118452
-	ret
-; 1182d5 (46:42d5)
-
-
-Function1182d5: ; 1182d5
-	call Function1183cb
-	ld a, $18
-	ld [wcd33], a
-	ld a, $19
-	ld [wcd34], a
-	ld a, $4
-	ld [wc3f0], a
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-.asm_1182ee
-	call Functiona57
-	call Function118473
-	ld a, [wcf66]
-	cp $1b
-	jr c, .asm_118301
-	ld a, [wcd34]
-	ld [wcf66], a
-
-.asm_118301
-	call Function118746
-	call Function11a8fa
-	callba Function115dd3
-	callba Function11619d
-	call DelayFrame
-	ld a, [wcf66]
-	ld hl, wcd33
-	cp [hl]
-	jr nz, .asm_1182ee
-	pop af
-	ld [rSVBK], a
-	call Function118452
-	call Function222a
-	ret
-; 118329
-
-Function118329: ; 118329
-	call Function1183cb
-	ld a, $15
-	ld [wcd33], a
-	ld a, $16
-	ld [wcd34], a
-	ld a, $6
-	ld [wc3f0], a
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-.asm_118342
-	call Functiona57
-	call Function118473
-	ld a, [wcf66]
-	cp $18
-	jr c, .asm_118355
-	ld a, [wcd34]
-	ld [wcf66], a
-
-.asm_118355
-	call Function118671
-	call Function11a8fa
-	callba Function115dd3
-	callba Function11619d
-	call DelayFrame
-	ld a, [wcf66]
-	ld hl, wcd33
-	cp [hl]
-	jr nz, .asm_118342
-	pop af
-	ld [rSVBK], a
-	call Function118452
-	ret
-; 11837a
-
-Function11837a: ; 11837a
-	call Function1183cb
-	ld a, $16
-	ld [wcd33], a
-	ld a, $17
-	ld [wcd34], a
-	ld a, $6
-	ld [wc3f0], a
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-.asm_118393
-	call Functiona57
-	call Function118473
-	ld a, [wcf66]
-	cp $19
-	jr c, .asm_1183a6
-	ld a, [wcd34]
-	ld [wcf66], a
-
-.asm_1183a6
-	call Function1186b2
-	call Function11a8fa
-	callba Function115dd3
-	callba Function11619d
-	call DelayFrame
-	ld a, [wcf66]
-	ld hl, wcd33
-	cp [hl]
-	jr nz, .asm_118393
-	pop af
-	ld [rSVBK], a
-	call Function118452
-	ret
-; 1183cb
-
-Function1183cb: ; 1183cb
-	di
-	ld a, [rIE]
-	ld [wcd32], a
-	call DoubleSpeed
-	xor a
-	ld [rIF], a
-	ld [wc300], a
-	ld [wc301], a
-	ld [wc302], a
-	ld [wcd80], a
-	ld [wcd65], a
-	ld [wcd66], a
-	ld [wcd67], a
-	ld [wcd68], a
-	ld [wc31a], a
-	ld [wcd89], a
-	ld [wcd8a], a
-	ld [wcd8b], a
-	ld [wc3ec], a
-	ld [wc3ed], a
-	ld [wc3ee], a
-	ld [wc3ef], a
-	ld hl, VramState
-	ld a, [hl]
-	ld [wcd7f], a
-	set 1, [hl]
-	ld a, $f
-	ld [rIE], a
-	ld a, $1
-	ld [$ffc9], a
-	ld [$ffe9], a
-	ei
-	callba Function106462
-	callba Function106464
-	callba Function115d99
-	callba Function11615a
-	ld a, $5
-	call GetSRAMBank
-	xor a
-	ld [$bfff], a
-	call CloseSRAM
-	ret
-; 118440
-
-Function118440: ; 118440
-	push af
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$bfff]
-	inc a
-	ld [$bfff], a
-	call CloseSRAM
-	pop af
-	ret
-; 118452
-
-Function118452: ; 118452
-	di
-	xor a
-	ld [$ffc9], a
-	ld [$ffe9], a
-	ld [hVBlank], a
-	call NormalSpeed
-	xor a
-	ld [rIF], a
-	ld a, [wcd32]
-	ld [rIE], a
-	ei
-	ld a, [wcd7f]
-	ld [VramState], a
-	ld a, [wc300]
-	ld [ScriptVar], a
-	ret
-; 118473
-
-Function118473: ; 118473
-	ld a, [wcd65]
-	and a
-	ret z
-	ld a, [wcd66]
-	inc a
-	ld [wcd66], a
-	cp $3c
-	ret nz
-	xor a
-	ld [wcd66], a
-	ld a, [wcd67]
-	inc a
-	ld [wcd67], a
-	cp $3c
-	ret nz
-	ld a, [wcd68]
-	inc a
-	ld [wcd68], a
-	cp $63
-	jr z, .asm_1184a0
-	xor a
-	ld [wcd67], a
-	ret
-
-.asm_1184a0
-	xor a
-	ld [wcd65], a
-	ret
-; 1184a5
-
-Function1184a5: ; 1184a5
-	ld a, [wcf66]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_1184b4
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 1184b4
-
-Jumptable_1184b4: ; 1184b4
-	dw Function11886e
-	dw Function118880
-	dw Function11878d
-	dw Function1188b0
-	dw Function11878d
-	dw Function1188b8
-	dw Function11878d
-	dw Function1188c0
-	dw Function11878d
-	dw Function1188c8
-	dw Function11878d
-	dw Function118903
-	dw Function118a8f
-	dw Function11878d
-	dw Function118d80
-	dw Function118d9b
-	dw Function11878d
-	dw Function118ded
-	dw Function118e6d
-	dw Function11878d
-	dw Function11984e
-	dw Function118e76
-	dw Function118e7e
-	dw Function11878d
-	dw Function11805e
-	dw Function118e76
-	dw Function118e87
-	dw Function118e76
-; 1184ec
-
-Function1184ec: ; 1184ec
-	ld a, [wcf66]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_1184fb
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 1184fb
-
-Jumptable_1184fb: ; 1184fb
-	dw Function11886e
-	dw Function118880
-	dw Function11878d
-	dw Function1188b0
-	dw Function11878d
-	dw Function1188b8
-	dw Function11878d
-	dw Function1188c0
-	dw Function11878d
-	dw Function1188c8
-	dw Function11878d
-	dw Function118903
-	dw Function119954
-	dw Function11878d
-	dw Function119973
-	dw Function11878d
-	dw Function119987
-	dw Function11878d
-	dw Function1199b4
-	dw Function1199ca
-	dw Function11878d
-	dw Function1199e2
-	dw Function119b0d
-	dw Function11878d
-	dw Function119b6b
-	dw Function119b3b
-	dw Function11878d
-	dw Function119b52
-	dw Function11878d
-	dw Function118e6d
-	dw Function11878d
-	dw Function118e76
-	dw Function118e7e
-	dw Function11878d
-	dw Function11805e
-	dw Function118e76
-	dw Function118e87
-	dw Function119b45
-	dw Function11878d
-	dw Function119ac9
-	dw Function118e76
-; 11854d
-
-Function11854d: ; 11854d
-	ld a, [wcf66]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_11855c
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 11855c
-
-Jumptable_11855c: ; 11855c
-	dw Function118922
-	dw Function118936
-	dw Function118982
-	dw Function11805e
-	dw Function119ca2
-	dw Function119cab
-	dw Function119cb8
-	dw Function119cc3
-	dw Function119cdf
-	dw Function119cec
-	dw Function119c97
-	dw Function119cab
-	dw Function119cb8
-	dw Function118e76
-	dw Function118e87
-	dw Function118e76
-; 11857c
-
-Function11857c: ; 11857c
-	ld a, [wcf66]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_11858b
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 11858b
-
-Jumptable_11858b: ; 11858b
-	dw Function11886e
-	dw Function118880
-	dw Function11878d
-	dw Function1188b0
-	dw Function11878d
-	dw Function1188b8
-	dw Function11878d
-	dw Function1188c0
-	dw Function11878d
-	dw Function1188c8
-	dw Function11878d
-	dw Function118903
-	dw Function118a7a
-	dw Function11878d
-	dw Function11891c
-	dw Function1198ee
-	dw Function1198f7
-	dw Function11878d
-	dw Function119937
-	dw Function118e6d
-	dw Function11878d
-	dw Function118e76
-	dw Function118e7e
-	dw Function11878d
-	dw Function11805e
-	dw Function118e76
-	dw Function118e87
-	dw Function118e76
-; 1185c3
-
-Function1185c3: ; 1185c3
-	ld a, [wcf66]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_1185d2
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 1185d2
-
-Jumptable_1185d2: ; 1185d2
-	dw Function11886e
-	dw Function118880
-	dw Function11878d
-	dw Function1188b0
-	dw Function11878d
-	dw Function1188b8
-	dw Function11878d
-	dw Function1188c0
-	dw Function11878d
-	dw Function1188c8
-	dw Function11878d
-	dw Function118903
-	dw Function118aa4
-	dw Function11878d
-	dw Function118e92
-	dw Function11878d
-	dw Function118eb0
-	dw Function118ec6
-	dw Function118f0d
-	dw Function118f14
-	dw Function118f5e
-	dw Function11878d
-	dw Function118fc0
-	dw Function11878d
-	dw Function119054
-	dw Function1190d0
-	dw Function11878d
-	dw Function1190ec
-	dw Function118e6d
-	dw Function11878d
-	dw Function118e76
-	dw Function118e7e
-	dw Function11878d
-	dw Function11805e
-	dw Function118e76
-	dw Function118e87
-	dw Function119cc3
-	dw Function119cdf
-	dw Function119cec
-	dw Function11914e
-	dw Function118e76
-; 118624
-
-Function118624: ; 118624
-	ld a, [wcf66]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_118633
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 118633
-
-Jumptable_118633: ; 118633
-	dw Function118866
-	dw Function118880
-	dw Function11878d
-	dw Function1188b0
-	dw Function11878d
-	dw Function1188b8
-	dw Function11878d
-	dw Function1188c0
-	dw Function11878d
-	dw Function1188c8
-	dw Function11878d
-	dw Function118903
-	dw Function118aa4
-	dw Function11878d
-	dw Function118e92
-	dw Function11878d
-	dw Function11915d
-	dw Function118f68
-	dw Function11878d
-	dw Function119009
-	dw Function11878d
-	dw Function119054
-	dw Function118e6d
-	dw Function11878d
-	dw Function118e76
-	dw Function118e7e
-	dw Function11878d
-	dw Function11805e
-	dw Function118e76
-	dw Function118e87
-	dw Function118e76
-; 118671
-
-Function118671: ; 118671
-	ld a, [wcf66]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_118680
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 118680
-
-Jumptable_118680: ; 118680
-	dw Function118866
-	dw Function118880
-	dw Function11878d
-	dw Function1188b0
-	dw Function11878d
-	dw Function1188b8
-	dw Function11878d
-	dw Function1188c0
-	dw Function11878d
-	dw Function1188c8
-	dw Function11878d
-	dw Function118903
-	dw Function119380
-	dw Function119388
-	dw Function1193a0
-	dw Function11878d
-	dw Function118e6d
-	dw Function11878d
-	dw Function118e76
-	dw Function118e7e
-	dw Function11878d
-	dw Function11805e
-	dw Function118e76
-	dw Function118e87
-	dw Function118e76
-; 1186b2
-
-Function1186b2: ; 1186b2
-	ld a, [wcf66]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_1186c1
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 1186c1
-
-Jumptable_1186c1: ; 1186c1
-	dw Function118866
-	dw Function118880
-	dw Function11878d
-	dw Function1188b0
-	dw Function11878d
-	dw Function1188b8
-	dw Function11878d
-	dw Function1188c0
-	dw Function11878d
-	dw Function1188c8
-	dw Function11878d
-	dw Function118903
-	dw Function119380
-	dw Function1193e3
-	dw Function1193fb
-	dw Function11878d
-	dw Function119413
-	dw Function118e6d
-	dw Function11878d
-	dw Function118e76
-	dw Function118e7e
-	dw Function11878d
-	dw Function11805e
-	dw Function118e76
-	dw Function118e87
-	dw Function118e76
-; 1186f5
-
-Function1186f5: ; 1186f5 (46:46f5)
-	ld a, [wcf66]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_118704
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 118704 (46:4704)
-
-Jumptable_118704: ; 118704 (46:4704)
-	dw Function11886a
-	dw Function118880
-	dw Function11878d
-	dw Function1188b0
-	dw Function11878d
-	dw Function1188b8
-	dw Function11878d
-	dw Function1188c0
-	dw Function11878d
-	dw Function1188c8
-	dw Function11878d
-	dw Function118903
-	dw Function118abc
-	dw Function11878d
-	dw Function119451
-	dw Function1195f8
-	dw Function119612
-	dw Function119629
-	dw Function119648
-	dw Function11878d
-	dw Function118e6d
-	dw Function11878d
-	dw Function118e76
-	dw Function118e7e
-	dw Function11878d
-	dw Function11805e
-	dw Function11967d
-	dw Function119685
-	dw Function119665
-	dw Function11966d
-	dw Function118e76
-	dw Function118e87
-	dw Function118e76
-; 118746 (46:4746)
-
-Function118746: ; 118746
-	ld a, [wcf66]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_118755
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 118755
-
-Jumptable_118755: ; 118755
-	dw Function11886e
-	dw Function118880
-	dw Function11878d
-	dw Function1188b0
-	dw Function11878d
-	dw Function1188b8
-	dw Function11878d
-	dw Function1188c0
-	dw Function11878d
-	dw Function1188c8
-	dw Function11878d
-	dw Function118903
-	dw Function118ad0
-	dw Function11878d
-	dw Function1196f2
-	dw Function1197c9
-	dw Function1197dc
-	dw Function11878d
-	dw Function118e6d
-	dw Function11878d
-	dw Function119800
-	dw Function118e76
-	dw Function118e7e
-	dw Function11878d
-	dw Function11805e
-	dw Function118e76
-	dw Function118e87
-	dw Function118e76
-; 11878d
-
-Function11878d: ; 11878d (46:478d)
-	ld a, [wc821]
-	bit 1, a
-	jr nz, .asm_1187af
-	bit 2, a
-	jr nz, .asm_1187d1
-	bit 0, a
-	jr nz, .asm_1187aa
-	ld a, [wcd89]
-	and $1
-	jr z, .asm_1187a7
-	ld a, $3
-	ld [rSVBK], a ; $ff00+$70
-.asm_1187a7
-	jp Function119e2e
-.asm_1187aa
-	call Function118821
-	ret c
-	ret
-.asm_1187af
-	ld a, $0
-	call Function3e32
-	ld [wc300], a
-	ld a, l
-	ld [wc301], a
-	ld a, h
-	ld [wc302], a
-	ld a, $a
-	call Function3e32
-	ld a, [wc3f0]
-	ld [wc319], a
-	ld a, [wcd34]
-	ld [wcf66], a
-	ret
-.asm_1187d1
-	ld hl, wcd89
-	bit 0, [hl]
-	jr nz, .asm_118803
-	set 0, [hl]
-	ld a, $6
-	ld [rSVBK], a ; $ff00+$70
-	ld de, Unkn1Pals
-	ld bc, $1000
-	ld a, [hl]
-	sla a
-	jr c, .asm_1187f9
-	sla a
-	jr c, .asm_1187fd
-	sla a
-	jr c, .asm_1187f5
-	ld a, $24
-	jr .asm_1187ff
-.asm_1187f5
-	ld a, $28
-	jr .asm_1187ff
-.asm_1187f9
-	ld a, $2a
-	jr .asm_1187ff
-.asm_1187fd
-	ld a, $2c
-.asm_1187ff
-	call Function3e32
-	ret
-.asm_118803
-	ld a, $d3
-
-Function118805: ; 118805 (46:4805)
-	ld [wc300], a
-	xor a
-	ld [wc301], a
-	ld [wc302], a
-	ld a, $a
-	call Function3e32
-	ld a, [wc3f0]
-	ld [wc319], a
-	ld a, [wcd34]
-	ld [wcf66], a
-	ret
-
-Function118821: ; 118821 (46:4821)
-	ld a, [wc319]
-	cp $3
-	jr c, .asm_11884a
-	cp $4
-	jr z, .asm_11884a
-	ld a, [hJoyDown] ; $ff00+$a8
-	cp $5
-	jr nz, .asm_11884a
-	ld a, $a
-	call Function3e32
-	ld a, $a
-	ld [wc300], a
-	ld a, [wc3f0]
-	ld [wc319], a
-	ld a, [wcd34]
-	ld [wcf66], a
-	scf
-	ret
-.asm_11884a
-	and a
-	ret
-; 11884c (46:484c)
-
-Function11884c: ; 11884c
-	ld a, [hJoyDown]
-	cp $5
-	jr nz, .asm_118864
-	ld a, $a
-	call Function3e32
-	ld a, $a
-	ld [wc300], a
-	ld a, [wcd34]
-	ld [wcf66], a
-	scf
-	ret
-
-.asm_118864
-	and a
-	ret
-; 118866
-
-Function118866:
-	ld a, 2
-	jr asm_11886f
-
-Function11886a: ; 11886a (46:486a)
-	ld a, 1
-	jr asm_11886f
-; 11886e (46:486e)
-
-Function11886e:
-	xor a
-
-asm_11886f
-	ld [BGMapPalBuffer], a
-	ld a, $0
-	ld [wcd3c], a
-	call Function119e2e
-	ld a, [wcd33]
-	ld [wcd45], a
-
-Function118880: ; 118880 (46:4880)
-	call Function119ed8
-	ret c
-	xor a
-	ld [wcf64], a
-	ld [wc807], a
-	ld de, wcd81
-	ld hl, $46
-	ld a, $2
-	jp Function119e2b
-; 118896 (46:4896)
-
-Function118896: ; 118896
-	ld a, [wc821]
-	bit 1, a
-	jr nz, .asm_1188a5
-	bit 2, a
-	jr nz, .asm_1188a5
-	bit 0, a
-	jr z, .asm_1188aa
-
-.asm_1188a5
-	ld a, $34
-	jp Function119e2b
-
-.asm_1188aa
-	call Function119e2e
-	jp Function119e2e
-; 1188b0
-
-Function1188b0: ; 1188b0 (46:48b0)
-	ld de, wc346
-	ld a, $c
-	jp Function119e2b
-
-Function1188b8: ; 1188b8 (46:48b8)
-	ld de, wc3ac
-	ld a, $e
-	jp Function119e2b
-
-Function1188c0: ; 1188c0 (46:48c0)
-	ld de, wc3cd
-	ld a, $10
-	jp Function119e2b
-
-Function1188c8: ; 1188c8 (46:48c8)
-	ld a, $1
-	ld [wcd65], a
-	call Function1188e7
-	ld hl, wc708
-.asm_1188d3
-	ld a, [de]
-	inc de
-	ld [hli], a
-	and a
-	jr nz, .asm_1188d3
-	call Function119eb4
-	call Function119ec2
-	ld hl, wc708
-	ld a, $6
-	jp Function119e2b
-
-Function1188e7: ; 1188e7 (46:48e7)
-	ld de, wc346
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$aa4a]
-	call CloseSRAM
-	and a
-	ret z
-	sla a
-	ld c, a
-.asm_1188fa
-	ld a, [de]
-	inc de
-	and a
-	jr nz, .asm_1188fa
-	dec c
-	jr nz, .asm_1188fa
-	ret
-
-Function118903: ; 118903 (46:4903)
-	ld a, [wc3f0]
-	ld [wc319], a
-	ld c, $1
-	callba Function115e18
-	ld a, $8
-	ld [wcd3c], a
-	call Function119ed8
-	jp Function119e2e
-; 11891c (46:491c)
-
-Function11891c: ; 11891c
-	call Function118b42
-	jp Function119e2e
-; 118922
-
-Function118922: ; 118922
-	ld a, [wcd38]
-	and a
-	jr nz, .asm_11892d
-	ld hl, UnknownText_0x11aba5
-	jr .asm_118930
-
-.asm_11892d
-	ld hl, UnknownText_0x11abcb
-
-.asm_118930
-	call Function11a9c0
-	call Function119e2e
-
-Function118936:
-	ld a, [wc31a]
-	and a
-	ret nz
-	ld hl, MenuDataHeader_119cf7
-	call LoadMenuDataHeader
-	call Function1cbb
-	call Function1cfd
-	call Function321c
-	hlcoord 16, 8, AttrMap
-	ld a, $40
-	or [hl]
-	ld [hl], a
-	call Function3200
-	ld a, $1
-	ld [wcd4f], a
-	ld a, $1
-	ld [rSVBK], a
-	ld a, [StatusFlags]
-	bit 6, a
-	jr nz, .asm_11896b
-	ld hl, Strings_119d64
-	ld a, $5
-	jr .asm_118970
-
-.asm_11896b
-	ld hl, Strings_119d0c
-	ld a, $b
-
-.asm_118970
-	ld [wcd4a], a
-	ld a, l
-	ld [wcd4b], a
-	ld a, h
-	ld [wcd4c], a
-	ld a, $3
-	ld [rSVBK], a
-	call Function119e2e
-
-Function118982:
-	hlcoord 13, 8
-	ld de, String_119d07
-	call PlaceString
-	hlcoord 13, 10
-	ld de, String_119d07
-	call PlaceString
-	ld a, [wcd4b]
-	ld l, a
-	ld a, [wcd4c]
-	ld h, a
-	ld d, $0
-	ld a, [wcd4f]
-	dec a
-	rlca
-	rlca
-	rlca
-	ld e, a
-	add hl, de
-	ld a, l
-	ld e, a
-	ld a, h
-	ld d, a
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	ld bc, StringBuffer3
-.asm_1189b5
-	ld a, [hli]
-	cp $50
-	jr z, .asm_1189c4
-	cp $7f
-	jr z, .asm_1189c2
-	ld [bc], a
-	inc bc
-	jr .asm_1189b5
-
-.asm_1189c2
-	ld a, $50
-
-.asm_1189c4
-	ld [bc], a
-	pop af
-	ld [rSVBK], a
-	hlcoord 13, 9
-	call PlaceString
-	ld hl, hJoyPressed
-	ld a, [hl]
-	and $2
-	jr nz, .asm_118a39
-	ld a, [hl]
-	and $1
-	jr nz, .asm_118a01
-	ld a, [hl]
-	and $80
-	jr nz, .asm_1189e6
-	ld a, [hl]
-	and $40
-	jr nz, .asm_1189f2
-.asm_1189e5
-	ret
-
-.asm_1189e6
-	ld hl, wcd4f
-	dec [hl]
-	jr nz, .asm_1189e5
-	ld a, [wcd4a]
-	ld [hl], a
-	jr .asm_1189e5
-
-.asm_1189f2
-	ld a, [wcd4a]
-	ld hl, wcd4f
-	inc [hl]
-	cp [hl]
-	jr nc, .asm_1189e5
-	ld a, $1
-	ld [hl], a
-	jr .asm_1189e5
-
-.asm_118a01
-	call PlayClickSFX
-	ld a, [wcd4f]
-	ld hl, wcd4a
-	cp [hl]
-	jr z, .asm_118a3c
-	dec a
-	and $fe
-	srl a
-	ld [wcf65], a
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	call Function1c17
-	pop af
-	ld [rSVBK], a
-	ld a, [wcd38]
-	and a
-	jr nz, .asm_118a30
-	call Function119d93
-	ret c
-	call Function119dd1
-	ret c
-
-.asm_118a30
-	ld a, [wcd4f]
-	ld [wd000 + $800], a
-	jp Function119e2e
-
-.asm_118a39
-	call PlayClickSFX
-
-.asm_118a3c
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	call Function1c17
-	pop af
-	ld [rSVBK], a
-	ld a, $7
-	ld [wcf66], a
-	ld a, $0
-	ld [wcd46], a
-	ret
-; 118a54
-
-Function118a54: ; 118a54
-	ld a, [wcd55]
-	ld l, a
-	ld a, [wcd56]
-	ld h, a
-	ld de, wc3ec
-	ld bc, $0004
-	jp Function118ae4
-; 118a65
-
-Function118a65: ; 118a65
-	ld hl, BattleDownloadURL
-	ld de, wcc60
-	ld bc, $80
-	call CopyBytes
-	ld de, Unkn1Pals
-	ld bc, $1000
-	jp Function118b10
-; 118a7a
-
-Function118a7a: ; 118a7a
-	ld hl, BattleDownloadURL
-	ld de, wcc60
-	ld bc, $80
-	call CopyBytes
-	ld de, Unkn1Pals
-	ld bc, $1000
-	jp Function118b10
-; 118a8f
-
-Function118a8f: ; 118a8f
-	ld hl, ExchangeDownloadURL
-	ld de, wcc60
-	ld bc, $80
-	call CopyBytes
-	ld de, Unkn1Pals
-	ld bc, $1000
-	jp Function118b10
-; 118aa4
-
-Function118aa4: ; 118aa4
-	ld hl, NewsDownloadURL
-	ld de, wcc60
-	ld bc, $80
-	call CopyBytes
-	ld a, $5
-	ld [rSVBK], a
-	ld de, LYOverrides
-	ld bc, $e00
-	jr Function118b10
-; 118abc
-
-Function118abc: ; 118abc (46:4abc)
-	ld hl, MenuDownloadURL
-	ld de, wcc60
-	ld bc, $80
-	call CopyBytes
-	ld de, Unkn1Pals
-	ld bc, $1000
-	jr Function118b10
-; 118ad0 (46:4ad0)
-
-Function118ad0:
-	ld hl, IndexDownloadURL
-	ld de, wcc60
-	ld bc, $80
-	call CopyBytes
-	ld de, Unkn1Pals
-	ld bc, $1000
-	jr Function118b10
-
-Function118ae4:
-	push bc
-	push de
-	push hl
-	ld a, $8
-	ld [wcd3c], a
-	call Function119ed8
-	pop hl
-	ld c, $0
-	ld de, wcc60
-.asm_118af5
-	ld a, [hli]
-	ld [de], a
-	inc de
-	and a
-	jr z, .asm_118b06
-	inc c
-	ld a, c
-	cp $a6
-	jr c, .asm_118af5
-	ld a, $da
-	jp Function118805
-
-.asm_118b06
-	call Function118b24
-	pop de
-	pop bc
-	ld a, $2a
-	jp Function119e2b
-; 118b10
-
-Function118b10:
-	push de
-	push bc
-	ld a, $8
-	ld [wcd3c], a
-	call Function119ed8
-	call Function118b24
-	pop bc
-	pop de
-	ld a, $2a
-	jp Function119e2b
-
-Function118b24: ; 118b24 (46:4b24)
-	ld hl, wc346
-	ld a, $8
-	ld [hli], a
-	ld a, $c7
-	ld [hli], a
-	ld a, $60
-	ld [hli], a
-	ld a, $cc
-	ld [hli], a
-	call Function119eb4
-	call Function119ec2
-	ld a, $80
-	ld [wcd89], a
-	ld hl, wc346
-	ret
-; 118b42 (46:4b42)
-
-Function118b42: ; 118b42
-	ld hl, DefaultFlypoint
-	ld a, l
-	ld [wcd51], a
-	ld a, h
-	ld [wcd52], a
-	call Function118b8c
-	ld a, l
-	ld [wcd55], a
-	ld [wcd59], a
-	ld a, h
-	ld [wcd56], a
-	ld [wcd5a], a
-	call Function118b8c
-	ld a, l
-	ld [wcd53], a
-	ld [wcd5d], a
-	ld a, h
-	ld [wcd54], a
-	ld [wcd5e], a
-	call Function118b8c
-	ld a, l
-	ld [wcd57], a
-	ld [wcd5b], a
-	ld a, h
-	ld [wcd58], a
-	ld [wcd5c], a
-	call Function118b8c
-	ld a, l
-	ld [wcd5f], a
-	ld a, h
-	ld [wcd60], a
-	ret
-; 118b8c
-
-Function118b8c: ; 118b8c
-.asm_118b8c
-	call Function118b9a
-	ret nc
-	ld a, [hli]
-	cp $d
-	jr nz, .asm_118b8c
-	dec hl
-	xor a
-	ld [hli], a
-	ld [hli], a
-	ret
-; 118b9a
-
-Function118b9a: ; 118b9a
-	ld a, h
-	cp $e0
-	ret c
-	ld a, $d3
-	call Function118805
-	and a
-	ret
-; 118ba5
-
-
-	charmap " ", $20 ; revert to ascii
-
-ExchangeDownloadURL: ; 0x118ba5
-	db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/exchange/index.txt", 0
-
-BattleDownloadURL: ; 0x118bf7
-	db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/battle/index.txt", 0
-
-NewsDownloadURL: ; 0x118c47
-	db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/news/index.txt", 0
-
-MenuDownloadURL: ; 0x118c95
-	db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/POKESTA/menu.cgb", 0
-
-IndexDownloadURL: ; 0x118ce5
-	db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/tamago/index.txt", 0
-
-
-Function118d35: ; 118d35
-	ld hl, LYOverridesBackup
-	ld a, [wcd38]
-	and a
-	jr nz, .asm_118d6e
-	ld a, [hli]
-	cp $94
-	jr nz, .asm_118d7b
-	ld a, [hl]
-	cp $5
-	jr nz, .asm_118d7b
-	ld a, [wcd4f]
-	sla a
-	ld b, a
-	sla a
-	sla a
-	add b
-	ld b, a
-	ld a, $5
-	call GetSRAMBank
-	ld a, b
-	ld [$b2fb], a
-	call CloseSRAM
-	callba Function170be4
-	callba Function1700c4
-	jr .asm_118d78
-
-.asm_118d6e
-	ld a, [hli]
-	cp $96
-	jr nz, .asm_118d7b
-	ld a, [hl]
-	cp $0
-	jr nz, .asm_118d7b
-
-.asm_118d78
-	jp Function119e2e
-
-.asm_118d7b
-	ld a, $d3
-	jp Function118805
-; 118d80
-
-Function118d80: ; 118d80
-	call Function118e06
-	ld a, [wcd38]
-	and a
-	jr z, .asm_118d8e
-	call Function119e2e
-	jr asm_118d9f
-
-.asm_118d8e
-	ld a, $9
-	ld [wcd3c], a
-	ld a, $12
-	ld [wcd45], a
-	call Function119e2e
-
-Function118d9b:
-	call Function119ed8
-	ret c
-
-asm_118d9f
-	ld hl, $c608
-	call Function119940
-	ld a, [wcd38]
-	and a
-	jr nz, .asm_118db2
-	ld a, $8f
-	ld [wcd3b], a
-	jr .asm_118db7
-
-.asm_118db2
-	ld a, $26
-	ld [wcd3b], a
-
-.asm_118db7
-	ld hl, $d800
-	ld a, $8
-	ld [hli], a
-	ld a, $c6
-	ld [hli], a
-	ld a, [wcd3b]
-	ld [hli], a
-	xor a
-	ld [hli], a
-	ld a, $8
-	ld [hli], a
-	ld a, $c7
-	ld [hli], a
-	ld a, [wcd39]
-	ld [hli], a
-	ld a, [wcd3a]
-	ld [hli], a
-	call Function119eb4
-	call Function119ec2
-	ld a, $40
-	ld [wcd89], a
-	ld hl, $d800
-	ld de, $de00
-	ld bc, $0200
-	ld a, $2c
-	jp Function119e2b
-; 118ded
-
-Function118ded: ; 118ded
-	ld a, [wcd38]
-	and a
-	jr z, .asm_118e03
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	callba Function11b93b
-	pop af
-	ld [rSVBK], a
-
-.asm_118e03
-	jp Function119e2e
-; 118e06
-
-Function118e06: ; 118e06
-	ld hl, DefaultFlypoint
-	ld a, [wcd38]
-	and a
-	jr z, .asm_118e1d
-.asm_118e0f
-	call Function118b9a
-	ret nc
-	ld a, [hli]
-	cp $d
-	jr nz, .asm_118e0f
-	ld a, [hli]
-	cp $a
-	jr nz, .asm_118e0f
-
-.asm_118e1d
-	ld a, l
-	ld [wcd39], a
-	ld a, h
-	ld [wcd3a], a
-.asm_118e25
-	call Function118b9a
-	ret nc
-	ld a, [hli]
-	cp $d
-	jr nz, .asm_118e25
-	ld a, [hli]
-	cp $a
-	jr nz, .asm_118e25
-	dec hl
-	xor a
-	ld [hld], a
-	ld [hl], a
-	jr asm_118e3e
-
-Function118e39: ; 118e39 (46:4e39)
-.asm_118e39
-	ld a, [hli]
-	and a
-	jr nz, .asm_118e39
-	dec hl
-asm_118e3e
-.asm_118e3e
-	ld a, [hld]
-	cp $2f
-	jr nz, .asm_118e3e
-	inc hl
-	inc hl
-	ld de, wcd85
-	ld c, $4
-.asm_118e4a
-	ld a, [hli]
-	cp $2e
-	jr z, .asm_118e63
-	cp $30
-	jr c, .asm_118e67
-	cp $3a
-	jr nc, .asm_118e67
-	sub $30
-	add $f6
-	ld [de], a
-	inc de
-	dec c
-	jr nz, .asm_118e4a
-	ld de, wcd85
-.asm_118e63
-	ld a, $50
-	ld [de], a
-	ret
-.asm_118e67
-	ld a, $f3
-	ld [de], a
-	inc de
-	jr .asm_118e63
-
-Function118e6d: ; 118e6d (46:4e6d)
-	xor a
-	ld [wcd65], a
-	ld a, $a
-	jp Function119e2b
-
-Function118e76: ; 118e76 (46:4e76)
-	ld a, $c
-	ld [wcd3c], a
-	jp Function119e2e
-
-Function118e7e: ; 118e7e (46:4e7e)
-	call Function119ed8
-	ret c
-	ld a, $36
-	jp Function119e2b
-
-Function118e87: ; 118e87 (46:4e87)
-	call Function119ed8
-	ret c
-	ld a, [wcd33]
-	ld [wcf66], a
-	ret
-; 118e92 (46:4e92)
-
-Function118e92: ; 118e92
-	call Function118440
-	call Function1191d3
-	ld a, [wcd53]
-	ld l, a
-	ld a, [wcd54]
-	ld h, a
-	ld de, wcc60
-	call Function1191ad
-	ret c
-	ld de, $d800
-	ld bc, $0800
-	jp Function118b10
-; 118eb0
-
-Function118eb0: ; 118eb0
-	call Function118440
-	ld hl, $d802
-	ld de, BGMapBuffer
-	ld bc, $000c
-	call CopyBytes
-	call Function1192cc
-	ret c
-	jp Function119e2e
-; 118ec6
-
-Function118ec6: ; 118ec6
-	call Function118440
-	call SpeechTextBox
-	ld hl, $d80e
-	ld de, wc320
-	ld bc, $0026
-	call CopyBytes
-	xor a
-	ld [wc31f], a
-	ld a, $20
-	ld [wc31b], a
-	ld a, $c3
-	ld [wc31c], a
-	hlcoord 1, 14
-	ld a, l
-	ld [wc31d], a
-	ld a, h
-	ld [wc31e], a
-	ld a, $2
-	ld [wc31a], a
-	ld a, $1d
-	ld [wcd3c], a
-	ld a, $24
-	ld [wcd45], a
-	ld a, $11
-	ld [wcd46], a
-	ld a, $1c
-	ld [wcd47], a
-	jp Function119e2e
-; 118f0d
-
-Function118f0d: ; 118f0d
-	call Function119ed8
-	ret c
-	call Function118440
-
-Function118f14:
-	call Function118440
-	ld a, [wcd51]
-	ld l, a
-	ld a, [wcd52]
-	ld h, a
-	ld de, wcc60
-	call Function1191ad
-	ret c
-	ld a, [wcc60]
-	and a
-	jr z, .asm_118f32
-	ld hl, UnknownText_0x11aa13
-	call Function11a9c0
-
-.asm_118f32
-	ld a, [wcd57]
-	ld l, a
-	ld a, [wcd58]
-	ld h, a
-	ld de, wcc60
-	call Function1191ad
-	ret c
-	ld hl, wcc60
-	call Function118e39
-	ld a, $9
-	ld [wcd3c], a
-	ld a, $24
-	ld [wcd45], a
-	ld a, $13
-	ld [wcd46], a
-	ld a, $1c
-	ld [wcd47], a
-	jp Function119e2e
-; 118f5e
-
-Function118f5e: ; 118f5e
-	call Function119ed8
-	ret c
-	call Function118440
-	call DelayFrame
-
-Function118f68:
-	call Function119223
-	ret c
-	call Function118440
-	ld a, [wcd51]
-	ld l, a
-	ld a, [wcd52]
-	ld h, a
-	ld de, wcc60
-	call Function1191ad
-	ret c
-	ld a, [wcc60]
-	and a
-	jr z, .asm_118fba
-	ld hl, wc346
-	ld a, $c608 % $100
-	ld [hli], a
-	ld a, $c608 / $100
-	ld [hli], a
-	ld a, [wcd4b]
-	ld [hli], a
-	ld a, [wcd4c]
-	ld [hli], a
-	ld a, wc708 % $100
-	ld [hli], a
-	ld a, wc708 / $100
-	ld [hli], a
-	ld a, $60
-	ld [hli], a
-	ld a, $cc
-	ld [hli], a
-	call Function119eb4
-	call Function119ec2
-	ld a, $40
-	ld [wcd89], a
-	ld hl, wc346
-	ld de, $de00
-	ld bc, $0200
-	ld a, $2c
-	jp Function119e2b
-
-.asm_118fba
-	call Function119e2e
-	jp Function119e2e
-; 118fc0
-
-Function118fc0: ; 118fc0
-	call Function118440
-	ld a, [wcd55]
-	ld l, a
-	ld a, [wcd56]
-	ld h, a
-	ld de, wcc60
-	call Function1191ad
-	ret c
-	ld a, [wcc60]
-	and a
-	jr z, .asm_118ffa
-	ld a, [wcd51]
-	ld l, a
-	ld a, [wcd52]
-	ld h, a
-	ld de, wcc60
-	call Function1191ad
-	ret c
-	ld a, [wcc60]
-	and a
-	jr z, .asm_118ff2
-	ld hl, UnknownText_0x11aa2c
-	jr .asm_118ff5
-
-.asm_118ff2
-	ld hl, UnknownText_0x11aa4b
-
-.asm_118ff5
-	call Function11a9c0
-	jr Function119009
-
-.asm_118ffa
-	ld hl, UnknownText_0x11aa4b
-	call Function11a9c0
-	call Function119e2e
-	call Function119e2e
-	jp Function119e2e
-
-Function119009:
-	call Function118440
-	call Function119300
-	ld a, [wcd55]
-	ld l, a
-	ld a, [wcd56]
-	ld h, a
-	ld de, wcc60
-	call Function1191ad
-	ret c
-	ld hl, wc346
-	ld a, $8
-	ld [hli], a
-	ld a, $c6
-	ld [hli], a
-	ld a, [wcd4b]
-	ld [hli], a
-	ld a, [wcd4c]
-	ld [hli], a
-	ld a, $8
-	ld [hli], a
-	ld a, $c7
-	ld [hli], a
-	ld a, $60
-	ld [hli], a
-	ld a, $cc
-	ld [hli], a
-	call Function119eb4
-	call Function119ec2
-	ld a, $40
-	ld [wcd89], a
-	ld hl, wc346
-	ld de, Unkn1Pals
-	ld bc, $1000
-	ld a, $2c
-	jp Function119e2b
-; 119054
-
-Function119054: ; 119054
-	ld a, $6
-	call GetSRAMBank
-	ld hl, DefaultFlypoint
-	ld a, [wcd4f]
-	ld e, a
-	ld a, [wcd50]
-	ld d, a
-	ld a, [Unkn1Pals]
-	ld c, a
-	ld a, [wd001]
-	ld b, a
-	call Function119192
-	ret c
-	ld a, [wcd89]
-	and $1
-	jr z, .asm_11908a
-	ld a, $6
-	ld [rSVBK], a
-	ld hl, DefaultFlypoint
-	ld a, [Unkn1Pals]
-	ld c, a
-	ld a, [wd001]
-	ld b, a
-	call Function119192
-	ret c
-
-.asm_11908a
-	call CloseSRAM
-	ld a, $3
-	ld [rSVBK], a
-	ld a, $5
-	call GetSRAMBank
-	ld a, [wcd4f]
-	ld [$b1b3], a
-	ld a, [wcd50]
-	ld [$b1b4], a
-	ld hl, BGMapBuffer
-	ld de, $aa7f
-	ld bc, $000c
-	call CopyBytes
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	ld a, [wd474]
-	ld [$b2f3], a
-	ld hl, wd475
-	ld de, $b2f4
-	ld bc, $0004
-	call CopyBytes
-	pop af
-	ld [rSVBK], a
-	call CloseSRAM
-	jp Function119e2e
-; 1190d0
-
-Function1190d0: ; 1190d0
-	ld a, $3
-	ld [rSVBK], a
-	ld a, [wcd57]
-	ld l, a
-	ld a, [wcd58]
-	ld h, a
-	ld de, wcc60
-	call Function1191ad
-	ret c
-	ld de, Unkn1Pals
-	ld bc, $1000
-	jp Function118b10
-; 1190ec
-
-Function1190ec: ; 1190ec
-	ld a, $5
-	call GetSRAMBank
-	ld hl, BGMapBuffer
-	ld de, $aa73
-	ld bc, $000c
-	call CopyBytes
-	call CloseSRAM
-	ld a, $5
-	call GetSRAMBank
-	ld a, $1
-	ld [$aa72], a
-	call CloseSRAM
-	ld a, $6
-	call GetSRAMBank
-	ld a, [Unkn1Pals]
-	ld c, a
-	ld a, [wd001]
-	ld b, a
-	ld hl, DefaultFlypoint
-	ld de, $a000
-	call Function119192
-	ret c
-	ld a, [wcd89]
-	and $1
-	jr z, .asm_11913e
-	ld a, $6
-	ld [rSVBK], a
-	ld a, [Unkn1Pals]
-	ld c, a
-	ld a, [wd001]
-	ld b, a
-	ld hl, DefaultFlypoint
-	call Function119192
-	ret c
-
-.asm_11913e
-	ld a, $3
-	ld [rSVBK], a
-	call CloseSRAM
-	ld hl, UnknownText_0x11aa5a
-	call Function11a9c0
-	jp Function119e2e
-; 11914e
-
-Function11914e: ; 11914e
-	call Function119ed8
-	ret c
-	ld a, $1c
-	ld [wcf66], a
-	ld a, $a
-	ld [wc300], a
-	ret
-; 11915d
-
-Function11915d: ; 11915d
-	ld hl, $d802
-	ld de, BGMapBuffer
-	ld bc, $000c
-	call CopyBytes
-	ld a, $5
-	call GetSRAMBank
-	ld hl, BGMapBuffer
-	ld de, $aa7f
-	ld c, $c
-.asm_119176
-	ld a, [de]
-	inc de
-	cp [hl]
-	jr nz, .asm_119184
-	inc hl
-	dec c
-	jr nz, .asm_119176
-	call Function119e2e
-	jr .asm_11918e
-
-.asm_119184
-	ld a, $16
-	ld [wcf66], a
-	ld a, $b
-	ld [wc300], a
-
-.asm_11918e
-	call CloseSRAM
-	ret
-; 119192
-
-Function119192: ; 119192
-	inc b
-	inc c
-	jr .asm_11919e
-
-.asm_119196
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, $bf
-	cp d
-	jr c, .asm_1191a6
-
-.asm_11919e
-	dec c
-	jr nz, .asm_119196
-	dec b
-	jr nz, .asm_119196
-	and a
-	ret
-
-.asm_1191a6
-	ld a, $d3
-	call Function118805
-	scf
-	ret
-; 1191ad
-
-Function1191ad: ; 1191ad
-	push bc
-	ld c, $0
-	ld a, $5
-	ld [rSVBK], a
-.asm_1191b4
-	ld a, [hli]
-	ld [de], a
-	inc de
-	and a
-	jr z, .asm_1191cc
-	inc c
-	ld a, c
-	cp $a6
-	jr c, .asm_1191b4
-	ld a, $da
-	call Function118805
-	ld a, $3
-	ld [rSVBK], a
-	pop bc
-	scf
-	ret
-
-.asm_1191cc
-	ld a, $3
-	ld [rSVBK], a
-	pop bc
-	and a
-	ret
-; 1191d3
-
-Function1191d3: ; 1191d3
-	ld hl, wd102
-	ld a, l
-	ld [wcd53], a
-	ld a, h
-	ld [wcd54], a
-	call Function11920f
-	ld a, l
-	ld [wcd51], a
-	ld a, [wcd4a]
-	ld a, h
-	ld [wcd52], a
-	call Function11920f
-	ld a, l
-	ld [wcd55], a
-	ld a, [wcd4a]
-	ld a, h
-	ld [wcd56], a
-	call Function11920f
-	ld a, [wcd49]
-	ld a, l
-	ld [wcd57], a
-	ld a, [wcd4a]
-	ld a, h
-	ld [wcd58], a
-	call Function11920f
-	ret
-; 11920f
-
-Function11920f: ; 11920f
-.asm_11920f
-	call Function118b9a
-	ret nc
-	ld a, [hli]
-	cp $d
-	jr nz, .asm_11920f
-	ld a, [hli]
-	cp $a
-	jr nz, .asm_11920f
-	dec hl
-	xor a
-	ld [hld], a
-	ld [hli], a
-	inc hl
-	ret
-; 119223
-
-Function119223: ; 119223
-	xor a
-	ld [wcd4b], a
-	ld [wcd4c], a
-	ld a, $5
-	call GetSRAMBank
-	ld hl, wc3cd
-	ld de, $b092
-	ld bc, $001f
-	call CopyBytes
-	dec de
-	xor a
-	ld [de], a
-	ld hl, $d810
-.asm_119241
-	ld a, [hli]
-	cp $50
-	jr nz, .asm_119241
-	ld a, [hli]
-	ld [wcd4f], a
-	ld a, [hli]
-	ld [wcd50], a
-	ld a, [hli]
-	ld [$b1b1], a
-	ld c, a
-	ld a, [hli]
-	ld [$b1b2], a
-	ld b, a
-	ld de, $b1d3
-	call CopyBytes
-	call CloseSRAM
-	ld e, l
-	ld d, h
-	ld hl, $c608
-.asm_119266
-	ld a, [de]
-	inc de
-	cp $ff
-	jr z, .asm_1192c2
-	cp $fe
-	jr z, .asm_1192a5
-	call GetSRAMBank
-	ld a, [de]
-	inc de
-	ld c, a
-	ld a, [de]
-	inc de
-	ld b, a
-	ld a, [de]
-	inc de
-	push de
-	push af
-	ld a, [wcd4b]
-	ld e, a
-	ld a, [wcd4c]
-	ld d, a
-	pop af
-.asm_119286
-	push af
-	ld a, [bc]
-	inc bc
-	ld [hli], a
-	inc de
-	pop af
-	dec a
-	jr nz, .asm_119286
-	call CloseSRAM
-	ld a, e
-	ld [wcd4b], a
-	ld a, d
-	ld [wcd4c], a
-	pop de
-.asm_11929b
-	and a
-	jr z, .asm_119266
-	ld a, $d3
-	call Function118805
-	scf
-	ret
-
-.asm_1192a5
-	ld a, [wcd4b]
-	ld c, a
-	ld a, [wcd4c]
-	ld b, a
-	ld a, [de]
-	inc de
-.asm_1192af
-	push af
-	ld a, [de]
-	inc de
-	ld [hli], a
-	inc bc
-	pop af
-	dec a
-	jr nz, .asm_1192af
-	ld a, c
-	ld [wcd4b], a
-	ld a, b
-	ld [wcd4c], a
-	jr .asm_11929b
-
-.asm_1192c2
-	ld a, e
-	ld [wcd4d], a
-	ld a, d
-	ld [wcd4e], a
-	and a
-	ret
-; 1192cc
-
-Function1192cc: ; 1192cc
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $aa73
-	ld de, $c608
-	ld bc, $000c
-	call CopyBytes
-	call CloseSRAM
-	ld hl, $c608
-	ld de, BGMapBuffer
-	ld c, $c
-.asm_1192e8
-	ld a, [de]
-	inc de
-	ld b, a
-	ld a, [hli]
-	cp b
-	jr nz, .asm_1192fe
-	dec c
-	jr nz, .asm_1192e8
-	ld a, $1f
-	ld [wcd3c], a
-	ld a, $27
-	ld [wcf66], a
-	scf
-	ret
-
-.asm_1192fe
-	and a
-	ret
-; 119300
-
-Function119300: ; 119300
-	xor a
-	ld [wcd4b], a
-	ld [wcd4c], a
-	ld a, [wcd4d]
-	ld e, a
-	ld a, [wcd4e]
-	ld d, a
-	ld hl, $c608
-	ld a, [wcd4b]
-	ld c, a
-	ld a, [wcd4c]
-	ld b, a
-.asm_11931a
-	ld a, [de]
-	inc de
-	cp $50
-	jr z, .asm_119324
-	ld [hli], a
-	inc bc
-	jr .asm_11931a
-
-.asm_119324
-	ld a, $3d
-	ld [hli], a
-	inc bc
-	ld a, c
-	ld [wcd4b], a
-	ld a, b
-	ld [wcd4c], a
-	ld a, [de]
-	inc de
-	call GetSRAMBank
-	ld a, [de]
-	inc de
-	ld c, a
-	ld a, [de]
-	inc de
-	ld b, a
-	ld a, [de]
-	inc de
-	push de
-	push af
-	ld a, [wcd4b]
-	ld e, a
-	ld a, [wcd4c]
-	ld d, a
-	pop af
-.asm_119348
-	push af
-	ld a, [bc]
-	and $f0
-	swap a
-	call Function1197bf
-	ld [hli], a
-	inc de
-	ld a, [bc]
-	inc bc
-	and $f
-	call Function1197bf
-	ld [hli], a
-	inc de
-	pop af
-	dec a
-	jr nz, .asm_119348
-	call CloseSRAM
-	ld a, e
-	ld [wcd4b], a
-	ld a, d
-	ld [wcd4c], a
-	pop de
-	ld a, [de]
-	cp $50
-	jr z, .asm_11937f
-	ld a, [wcd4b]
-	ld c, a
-	ld a, [wcd4c]
-	ld b, a
-	ld a, $26
-	ld [hli], a
-	inc bc
-	jr .asm_11931a
-
-.asm_11937f
-	ret
-; 119380
-
-Function119380: ; 119380
-	ld a, $80
-	ld [wcd49], a
-	jp Function119e2e
-; 119388
-
-Function119388: ; 119388
-	ld hl, wcd49
-	dec [hl]
-	ret nz
-	ld hl, wcc60
-	call Function118e39
-	ld a, $9
-	ld [wcd3c], a
-	ld a, $10
-	ld [wcd45], a
-	call Function119e2e
-
-Function1193a0:
-	call Function119ed8
-	ret c
-	call DelayFrame
-	ld a, $8
-	ld [wcd3c], a
-	call Function119ed8
-	ld hl, wc346
-	ld a, wd000 % $100
-	ld [hli], a
-	ld a, wd000 / $100
-	ld [hli], a
-	ld a, [wcd3b]
-	ld [hli], a
-	xor a
-	ld [hli], a
-	ld a, wc708 % $100
-	ld [hli], a
-	ld a, wc708 / $100
-	ld [hli], a
-	ld a, $60
-	ld [hli], a
-	ld a, $cc
-	ld [hli], a
-	call Function119eb4
-	call Function119ec2
-	ld a, $40
-	ld [wcd89], a
-	ld hl, wc346
-	ld de, $de00
-	ld bc, $0200
-	ld a, $2c
-	jp Function119e2b
-; 1193e3
-
-Function1193e3: ; 1193e3
-	ld hl, wcd49
-	dec [hl]
-	ret nz
-	ld hl, wcc60
-	call Function118e39
-	ld a, $9
-	ld [wcd3c], a
-	ld a, $11
-	ld [wcd45], a
-	call Function119e2e
-
-Function1193fb:
-	call Function119ed8
-	ret c
-	call DelayFrame
-	ld a, $8
-	ld [wcd3c], a
-	call Function119ed8
-	ld de, Unkn1Pals
-	ld bc, $1000
-	jp Function118b10
-; 119413
-
-Function119413: ; 119413
-	ld a, $6
-	call GetSRAMBank
-	ld a, [Unkn1Pals]
-	ld c, a
-	ld a, [wd001]
-	ld b, a
-	dec bc
-	dec bc
-	ld hl, wd002
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	call Function119192
-	ret c
-	ld a, [wcd89]
-	and $1
-	jr z, .asm_119447
-	ld a, $6
-	ld [rSVBK], a
-	ld a, [wd000]
-	ld c, a
-	ld a, [wd001]
-	ld b, a
-	ld hl, wd002
-	call Function119192
-	ret c
-
-.asm_119447
-	ld a, $3
-	ld [rSVBK], a
-	call CloseSRAM
-	jp Function119e2e
-; 119451
-
-Function119451: ; 119451 (46:5451)
-	ld a, [wcd89]
-	and $1
-	jr z, .asm_11945d
-	ld a, $d3
-	jp Function118805
-.asm_11945d
-	xor a
-	ld [wcd50], a
-	call Function119694
-	ld a, b
-	ld [wcd49], a
-	call Function1196cd
-	ld a, [DefaultFlypoint]
-	ld hl, wd003
-
-Function119471: ; 119471 (46:5471)
-	push af
-	ld a, [hli]
-	ld [$c608], a
-	ld a, [hli]
-	ld [$c608 + 3], a
-	ld a, [hli]
-	ld [$c608 + 1], a
-	ld a, [hli]
-	ld [$c608 + 2], a
-	ld a, [hli]
-	ld [$c608 + 4], a
-	ld a, [hli]
-	ld [$c608 + 5], a ; $c608 + 5
-	push hl
-	ld a, [$c608]
-	cp $ff
-	jr z, .asm_1194a7
-	ld a, [$c608 + 2]
-	cp $ff
-	jr z, .asm_1194a7
-	ld a, [$c608 + 1]
-	cp $ff
-	jr nz, .asm_1194a7
-	call Function119584
-	jr c, .asm_11950c
-	jr .asm_1194f0
-.asm_1194a7
-	ld hl, $c608
-	ld de, $c608 + 3
-	ld c, $3
-.asm_1194af
-	ld a, [de]
-	inc de
-	cp [hl]
-	inc hl
-	jr c, .asm_1194f3
-	jr z, .asm_1194b9
-	jr nc, .asm_1194bc
-.asm_1194b9
-	dec c
-	jr nz, .asm_1194af
-.asm_1194bc
-	ld c, $3
-	ld hl, wcd49
-	ld de, $c608
-.asm_1194c4
-	ld a, [de]
-	inc de
-	cp $ff
-	jr z, .asm_1194d1
-	cp [hl]
-	jr z, .asm_1194d1
-	jr c, .asm_1194d5
-	jr nc, .asm_1194f0
-.asm_1194d1
-	inc hl
-	dec c
-	jr nz, .asm_1194c4
-.asm_1194d5
-	ld c, $3
-	ld hl, wcd49
-	ld de, $c608 + 3
-.asm_1194dd
-	ld a, [de]
-	inc de
-	cp $ff
-	jr z, .asm_1194ea
-	cp [hl]
-	jr c, .asm_1194f0
-	jr z, .asm_1194ea
-	jr nc, .asm_11950c
-.asm_1194ea
-	inc hl
-	dec c
-	jr nz, .asm_1194dd
-	jr .asm_11950c
-.asm_1194f0
-	pop hl
-	jr .asm_119557
-.asm_1194f3
-	ld c, $3
-	ld hl, wcd49
-	ld de, $c608
-.asm_1194fb
-	ld a, [de]
-	inc de
-	cp $ff
-	jr z, .asm_119508
-	cp [hl]
-	jr c, .asm_11950c
-	jr z, .asm_119508
-	jr nc, .asm_1194d5
-.asm_119508
-	inc hl
-	dec c
-	jr nz, .asm_1194fb
-.asm_11950c
-	pop hl
-	ld a, $1
-	ld [wcd50], a
-	ld a, l
-	ld [$c608], a
-	ld a, h
-	ld [$c608 + 1], a
-	ld de, wcd69
-	ld c, $10
-	ld b, $0
-.asm_119521
-	ld a, [de]
-	inc de
-	cp [hl]
-	inc hl
-	jr nz, .asm_119528
-	inc b
-.asm_119528
-	dec c
-	jr nz, .asm_119521
-	ld a, $10
-	cp b
-	jr z, .asm_119536
-	inc hl
-	inc hl
-	inc hl
-	inc hl
-	jr .asm_11957a
-.asm_119536
-	ld a, [hli]
-	cp $50
-	jr nz, .asm_119552
-	ld a, [hli]
-	cp $33
-	jr nz, .asm_119553
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	ld a, [wcd83]
-	cp c
-	jr nz, .asm_119576
-	ld a, [wcd84]
-	cp b
-	jr nz, .asm_119576
-	jr .asm_11955b
-.asm_119552
-	inc hl
-.asm_119553
-	inc hl
-	inc hl
-	jr .asm_11955b
-.asm_119557
-	ld de, $14
-	add hl, de
-.asm_11955b
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	add hl, de
-	pop af
-	dec a
-	jp nz, Function119471
-	ld a, [wcd50]
-	and a
-	jr z, .asm_119571
-	ld a, $1a
-	ld [wcf66], a
-	ret
-.asm_119571
-	ld a, $d8
-	jp Function118805
-.asm_119576
-	ld a, $10
-	jr .asm_11957c
-.asm_11957a
-	ld a, $f
-.asm_11957c
-	ld [wcf66], a
-	pop af
-	call Function1195c4
-	ret
-
-Function119584: ; 119584 (46:5584)
-	ld a, [$c608]
-	ld b, a
-	ld a, [$c608 + 3]
-	ld c, a
-	cp b
-	jr c, .asm_11959c
-	ld a, [wcd49]
-	cp b
-	jr c, .asm_1195c2
-.asm_119595
-	cp c
-	jr c, .asm_1195a2
-	jr z, .asm_1195a2
-	jr .asm_1195c2
-.asm_11959c
-	ld a, [wcd49]
-	cp b
-	jr c, .asm_119595
-.asm_1195a2
-	ld a, [$c608 + 2]
-	ld b, a
-	ld a, [$c608 + 5] ; $c608 + 5
-	ld c, a
-	cp b
-	jr c, .asm_1195ba
-	ld a, [wcd4b]
-	cp b
-	jr c, .asm_1195c2
-.asm_1195b3
-	cp c
-	jr c, .asm_1195c0
-	jr z, .asm_1195c0
-	jr .asm_1195c2
-.asm_1195ba
-	ld a, [wcd4b]
-	cp b
-	jr c, .asm_1195b3
-.asm_1195c0
-	scf
-	ret
-.asm_1195c2
-	and a
-	ret
-
-Function1195c4: ; 1195c4 (46:55c4)
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	ld de, $a5
-	ld a, b
-	cp d
-	jr c, .asm_1195d9
-	jr z, .asm_1195d3
-	jr nc, .asm_1195f3
-.asm_1195d3
-	ld a, c
-	cp e
-	jr z, .asm_1195d9
-	jr nc, .asm_1195f3
-.asm_1195d9
-	ld de, wcc60
-	call CopyBytes
-	xor a
-	ld [de], a
-	ld a, [$c608]
-	ld l, a
-	ld a, [$c608 + 1]
-	ld h, a
-	ld de, wcd69
-	ld bc, $10
-	call CopyBytes
-	ret
-.asm_1195f3
-	ld a, $d8
-	jp Function118805
-
-Function1195f8: ; 1195f8 (46:55f8)
-	ld a, $11
-	ld [wcd3c], a
-	ld a, $1c
-	ld [wcd45], a
-	ld a, $f
-	ld [wcd46], a
-	ld a, $14
-	ld [wcd47], a
-	call Function119e2e
-	jp Function119e2e
-
-Function119612: ; 119612 (46:5612)
-	ld a, $14
-	ld [wcd3c], a
-	ld a, $1c
-	ld [wcd45], a
-	ld a, $10
-	ld [wcd46], a
-	ld a, $14
-	ld [wcd47], a
-	jp Function119e2e
-
-Function119629: ; 119629 (46:5629)
-	call Function119ed8
-	ret c
-	ld a, $60
-	ld l, a
-	ld a, $cc
-	ld h, a
-	call Function118e39
-	ld a, $9
-	ld [wcd3c], a
-	ld a, $1c
-	ld [wcd45], a
-	ld a, $14
-	ld [wcd47], a
-	call Function119e2e
-
-Function119648: ; 119648 (46:5648)
-	call Function119ed8
-	ret c
-	call DelayFrame
-	ld a, $8
-	ld [wcd3c], a
-	call Function119ed8
-	call Function118b24
-	ld de, Unkn1Pals
-	ld bc, $1000
-	ld a, $2a
-	jp Function119e2b
-
-Function119665: ; 119665 (46:5665)
-	ld a, $1a
-	ld [wcd3c], a
-	call Function119e2e
-
-Function11966d: ; 11966d (46:566d)
-	call Function119ed8
-	ret c
-	ld a, [wcd47]
-	ld [wcf66], a
-	ld a, $a
-	ld [wc300], a
-	ret
-
-Function11967d: ; 11967d (46:567d)
-	ld a, $18
-	ld [wcd3c], a
-	call Function119e2e
-
-Function119685: ; 119685 (46:5685)
-	call Function119ed8
-	ret c
-	ld a, $14
-	ld [wcf66], a
-	ld a, $a
-	ld [wc300], a
-	ret
-
-Function119694: ; 119694 (46:5694)
-	ld b, 0
-	ld hl, Unknown_1196b8
-.asm_119699
-	ld de, wc708
-	ld a, [de]
-	inc de
-	cp [hl]
-	inc hl
-	jr nz, .asm_1196af
-	ld a, [de]
-	inc de
-	cp [hl]
-	inc hl
-	jr nz, .asm_1196b0
-	ld a, [de]
-	inc de
-	cp [hl]
-	inc hl
-	jr nz, .asm_1196b1
-	ret
-.asm_1196af
-	inc hl
-.asm_1196b0
-	inc hl
-.asm_1196b1
-	inc b
-	ld a, b
-	cp $7
-	jr nz, .asm_119699
-	ret
-; 1196b8 (46:56b8)
-
-Unknown_1196b8: ; 1196b8
-	db "Mon"
-	db "Tue"
-	db "Wed"
-	db "Thu"
-	db "Fri"
-	db "Sat"
-	db "Sun"
-; 1196cd
-
-SECTION "bank46_2", ROMX, BANK[$46]
-; A hack to use ascii above.
-
-Function1196cd: ; 1196cd (46:56cd)
-	ld de, wc719
-	call Function1196de
-	ld [wcd4a], a
-	inc de
-	call Function1196de
-	ld [wcd4b], a
-	ret
-
-Function1196de: ; 1196de (46:56de)
-	ld a, [de]
-	inc de
-	sub $30
-	sla a
-	ld b, a
-	sla a
-	sla a
-	add b
-	ld c, a
-	add hl, bc
-	ld a, [de]
-	inc de
-	sub $30
-	add c
-	ret
-; 1196f2 (46:56f2)
-
-Function1196f2: ; 1196f2
-	ld hl, DefaultFlypoint
-.asm_1196f5
-	call Function118b9a
-	ret nc
-	ld a, [hli]
-	cp $d
-	jr nz, .asm_1196f5
-	ld a, [hl]
-	cp $a
-	jr nz, .asm_1196f5
-	xor a
-	ld [hld], a
-	ld [hli], a
-	ld a, l
-	ld [wcd5b], a
-	ld a, h
-	ld [wcd5c], a
-	inc hl
-	ld e, l
-	ld d, h
-	ld a, [de]
-	inc de
-	cp $d
-	jr nz, .asm_119722
-	ld a, [de]
-	inc de
-	cp $a
-	jr nz, .asm_119722
-	ld a, $b
-	jp Function118805
-
-.asm_119722
-	call Random
-	ld c, $0
-	ld b, c
-.asm_119728
-	call Function119798
-	ld a, d
-	cp $ff
-	jr nz, .asm_119735
-	ld a, e
-	cp $ff
-	jr z, .asm_11974c
-
-.asm_119735
-	ld a, [hRandomSub]
-	cp d
-	jr c, .asm_11974c
-	jr z, .asm_11973e
-	jr .asm_119745
-
-.asm_11973e
-	ld a, [hRandomAdd]
-	cp e
-	jr c, .asm_11974c
-	jr z, .asm_11974c
-
-.asm_119745
-	inc bc
-	ld a, c
-	or b
-	jr z, .asm_119770
-	jr .asm_119728
-
-.asm_11974c
-	ld a, [wcd5b]
-	ld l, a
-	ld a, [wcd5c]
-	ld h, a
-.asm_119754
-	ld a, [hld]
-	cp $58
-	jr nz, .asm_119754
-	ld d, $0
-.asm_11975b
-	inc d
-	ld a, [hld]
-	cp $58
-	jr z, .asm_11975b
-	inc hl
-	inc hl
-	ld a, d
-	dec a
-	jr z, .asm_11978e
-	dec a
-	jr z, .asm_119785
-	dec a
-	jr z, .asm_11977e
-	dec a
-	jr z, .asm_119775
-
-.asm_119770
-	ld a, $d3
-	jp Function118805
-
-.asm_119775
-	ld a, b
-	and $f0
-	swap a
-	call Function1197bf
-	ld [hli], a
-
-.asm_11977e
-	ld a, b
-	and $f
-	call Function1197bf
-	ld [hli], a
-
-.asm_119785
-	ld a, c
-	and $f0
-	swap a
-	call Function1197bf
-	ld [hli], a
-
-.asm_11978e
-	ld a, c
-	and $f
-	call Function1197bf
-	ld [hli], a
-	jp Function119e2e
-; 119798
-
-Function119798: ; 119798
-	ld d, $0
-	ld e, d
-	call Function1197b4
-	swap a
-	or d
-	ld d, a
-	call Function1197b4
-	or d
-	ld d, a
-	call Function1197b4
-	swap a
-	or e
-	ld e, a
-	call Function1197b4
-	or e
-	ld e, a
-	ret
-; 1197b4
-
-Function1197b4: ; 1197b4
-	ld a, [hli]
-	cp $61
-	jr nc, .asm_1197bc
-	sub $30
-	ret
-
-.asm_1197bc
-	sub $57
-	ret
-; 1197bf
-
-Function1197bf: ; 1197bf
-	cp $a
-	jr nc, .asm_1197c6
-	add $30
-	ret
-
-.asm_1197c6
-	add $57
-	ret
-; 1197c9
-
-Function1197c9: ; 1197c9
-	ld hl, DefaultFlypoint
-	call Function118e39
-	ld a, $9
-	ld [wcd3c], a
-	ld a, $12
-	ld [wcd45], a
-	call Function119e2e
-
-Function1197dc:
-	call Function119ed8
-	ret c
-	call DelayFrame
-	ld hl, DefaultFlypoint
-	ld de, wcc60
-	ld bc, $0080
-	call CopyBytes
-	dec de
-	xor a
-	ld [de], a
-	call Function118b24
-	ld de, Unkn1Pals
-	ld bc, $1000
-	ld a, $2a
-	jp Function119e2b
-; 119800
-
-Function119800: ; 119800
-	ld a, $fd
-	ld [$c6d0], a
-	ld [wc702], a
-	ld a, [wcd81]
-	ld [wc74e], a
-	ld a, [wcf63]
-	push af
-	ld a, [wcf64]
-	push af
-	ld a, [wcf65]
-	push af
-	ld a, [wcf66]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	call FadeToMenu
-	callba Function10803d
-	call Function11a9ce
-	call RestartMapMusic
-	ld a, $3
-	ld [rSVBK], a
-	pop af
-	ld [wcf66], a
-	pop af
-	ld [wcf65], a
-	pop af
-	ld [wcf64], a
-	pop af
-	ld [wcf63], a
-	callba Function115dc3
-	jp Function119e2e
-; 11984e
-
-Function11984e: ; 11984e
-	ld a, [wcd80]
-	and a
-	jr nz, .asm_1198a0
-	ld a, [wcd38]
-	and a
-	jr nz, .asm_1198a8
-	callba Function170000
-	ld a, [wcf63]
-	push af
-	ld a, [wcf64]
-	push af
-	ld a, [wcf65]
-	push af
-	ld a, [wcf66]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	call FadeToMenu
-	callba Function108000
-	call Function11a9ce
-	call RestartMapMusic
-	ld a, $3
-	ld [rSVBK], a
-	pop af
-	ld [wcf66], a
-	pop af
-	ld [wcf65], a
-	pop af
-	ld [wcf64], a
-	pop af
-	ld [wcf63], a
-	callba Function115dc3
-	jp Function119e2e
-
-.asm_1198a0
-	ld a, $a
-	ld [wc300], a
-	jp Function119e2e
-
-.asm_1198a8
-	callba Function17005a
-	ld a, [wcf63]
-	push af
-	ld a, [wcf64]
-	push af
-	ld a, [wcf65]
-	push af
-	ld a, [wcf66]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	call FadeToMenu
-	callba Function108012
-	call Function11a9ce
-	call RestartMapMusic
-	ld a, $3
-	ld [rSVBK], a
-	pop af
-	ld [wcf66], a
-	pop af
-	ld [wcf65], a
-	pop af
-	ld [wcf64], a
-	pop af
-	ld [wcf63], a
-	callba Function115dc3
-	jp Function119e2e
-; 1198ee
-
-Function1198ee: ; 1198ee
-	ld hl, UnknownText_0x11aab2
-	call Function11a9c0
-	call Function119e2e
-
-Function1198f7:
-	ld a, [wc31a]
-	and a
-	ret nz
-	ld hl, $c608 + 2
-	call Function119940
-	ld hl, $d800
-	ld a, $c608 % $100
-	ld [hli], a
-	ld a, $c608 / $100
-	ld [hli], a
-	ld a, $f6
-	ld [hli], a
-	xor a
-	ld [hli], a
-	ld a, wc708 % $100
-	ld [hli], a
-	ld a, wc708 / $100
-	ld [hli], a
-	ld a, [wcd51]
-	ld [hli], a
-	ld a, [wcd52]
-	ld [hli], a
-	call Function119eb4
-	call Function119ec2
-	ld a, $40
-	ld [wcd89], a
-	ld hl, $d800
-	ld de, $de00
-	ld bc, $0200
-	ld a, $2c
-	jp Function119e2b
-; 119937
-
-Function119937: ; 119937
-	callba Function1707f4
-	jp Function119e2e
-; 119940
-
-Function119940: ; 119940
-	ld de, wc3cd
-	ld c, $1e
-.asm_119945
-	ld a, [de]
-	inc de
-	ld [hli], a
-	dec c
-	jr z, .asm_119953
-	and a
-	jr nz, .asm_119945
-	xor a
-.asm_11994f
-	ld [hli], a
-	dec c
-	jr nz, .asm_11994f
-
-.asm_119953
-	ret
-; 119954
-
-Function119954: ; 119954
-	ld a, $1c
-	ld [wcd3c], a
-	call Function119ed8
-	ld hl, $c608
-	ld de, wc3cd
-.asm_119962
-	ld a, [de]
-	inc de
-	ld [hli], a
-	and a
-	jr nz, .asm_119962
-	call Function119ec2
-	ld hl, $c608
-	ld a, $1e
-	jp Function119e2b
-; 119973
-
-Function119973: ; 119973
-	ld a, $1
-	ld [wcf64], a
-	xor a
-	ld [wcf65], a
-	ld [StringBuffer2 + 10], a
-	ld de, Unkn1Pals
-	ld a, $20
-	jp Function119e2b
-; 119987
-
-Function119987: ; 119987
-	ld hl, wd001
-	ld a, [Unkn1Pals]
-	or [hl]
-	jr z, .asm_1199a0
-	ld a, [wcf64]
-	ld l, a
-	ld a, [wcf65]
-	ld h, a
-	ld de, BGPals
-	ld a, $22
-	jp Function119e2b
-
-.asm_1199a0
-	ld a, [StringBuffer2 + 10]
-	and a
-	jr z, .asm_1199ae
-	ld a, $16
-	ld [wcf66], a
-	jp Function119b0d
-
-.asm_1199ae
-	ld a, $1b
-	ld [wcf66], a
-	ret
-; 1199b4
-
-Function1199b4: ; 1199b4
-	ld a, [wd000 + 130]
-	and a
-	jr nz, .asm_1199c7
-	ld a, [wd000 + 129]
-	cp $7
-	jr nc, .asm_1199c7
-	call Function119e2e
-	jp Function1199ca
-
-.asm_1199c7
-	jp Function119ac9
-; 1199ca
-
-Function1199ca: ; 1199ca
-	ld a, $20
-	ld [wcd89], a
-	ld a, [wcf64]
-	ld l, a
-	ld a, [wcf65]
-	ld h, a
-	ld de, LYOverrides
-	ld bc, $0700
-	ld a, $28
-	jp Function119e2b
-; 1199e2
-
-Function1199e2: ; 1199e2
-	ld c, $c
-	ld de, Unknown_119e33
-	call Function119e4f
-	jp c, Function119ac9
-	ld a, c
-	cp $1
-	jp nz, Function119ac9
-	ld hl, $d880
-	ld bc, Unknown_119af1
-.asm_1199f9
-	ld a, [bc]
-	and a
-	jr z, .asm_119a05
-	cp [hl]
-	jp nz, Function119ac9
-	inc bc
-	inc hl
-	jr .asm_1199f9
-
-.asm_119a05
-	ld c, $17
-	ld de, Unknown_119e40
-	call Function119e4f
-	jp c, .asm_119aa7
-	ld a, c
-	cp $1
-	jp nz, .asm_119aa7
-	ld a, [wd000 + $880]
-	cp $31
-	jp nz, .asm_119aa7
-	ld a, [wd000 + $881]
-	cp $20
-	jp nz, .asm_119aa7
-	ld a, [wd000 + $88a]
-	cp $20
-	jp nz, .asm_119aa7
-	ld a, [wd000 + $894]
-	cp $20
-	jp nz, .asm_119aa7
-	xor a
-	ld [wd000 + $8a0], a
-	ld [wd000 + $8a1], a
-	ld [wd000 + $8a2], a
-	ld [wd000 + $8a3], a
-	ld hl, $d8a0
-	ld bc, $d889
-	call Function119e98
-	call Function119e98
-	ld hl, $d8a0
-	ld a, [wcd2d]
-	cp [hl]
-	jr nz, Function119ac9
-	inc hl
-	ld a, [wcd2c]
-	cp [hl]
-	jr nz, Function119ac9
-	inc hl
-	ld a, [wcd2b]
-	cp [hl]
-	jr nz, Function119ac9
-	inc hl
-	ld a, [wcd2a]
-	cp [hl]
-	jr nz, Function119ac9
-	xor a
-	ld [wd000 + $8a0], a
-	ld [wd000 + $8a1], a
-	ld [wd000 + $8a2], a
-	ld [wd000 + $8a3], a
-	ld hl, $d8a0
-	ld bc, $d88e
-	call Function119e98
-	ld bc, $d893
-	call Function119e98
-	ld hl, $d8a0
-	ld a, [wcd2f]
-	cp [hl]
-	jr nz, .asm_119aa7
-	inc hl
-	ld a, [wcd2e]
-	cp [hl]
-	jr nz, .asm_119aa7
-	inc hl
-	ld a, [wcd31]
-	cp [hl]
-	jr nz, .asm_119aa7
-	inc hl
-	ld a, [wcd30]
-	cp [hl]
-	jr z, .asm_119aaf
-
-.asm_119aa7
-	ld a, $25
-	ld [wcf66], a
-	jp Function119b45
-
-.asm_119aaf
-	ld a, [StringBuffer2 + 10]
-	and a
-	jr nz, .asm_119aa7
-	ld a, [wd000 + $895]
-	sub $30
-	ld [StringBuffer2 + 10], a
-	ld a, [wcf64]
-	ld [StringBuffer2 + 11], a
-	ld a, [wcf65]
-	ld [StringBuffer2 + 12], a
-
-Function119ac9:
-	ld a, [Unkn1Pals]
-	ld l, a
-	ld a, [wd001]
-	ld h, a
-	dec hl
-	ld a, l
-	ld [Unkn1Pals], a
-	ld a, h
-	ld [wd001], a
-	ld a, [wcf64]
-	ld l, a
-	ld a, [wcf65]
-	ld h, a
-	inc hl
-	ld a, l
-	ld [wcf64], a
-	ld a, h
-	ld [wcf65], a
-	ld a, $10
-	ld [wcf66], a
-	ret
-; 119af1
-
-Unknown_119af1:
-	INCBIN "data/mobile/x-game-code.txt"
-	INCBIN "data/mobile/x-game-result.txt"
-; 119b0d
-
-Function119b0d: ; 119b0d
-	ld a, $8
-	ld [wcd3c], a
-	call Function119ed8
-	ld a, [StringBuffer2 + 10]
-	cp $1
-	jr z, .asm_119b23
-	ld a, $19
-	ld [wcf66], a
-	jr Function119b3b
-
-.asm_119b23
-	ld a, $10
-	ld [wcd89], a
-	ld a, [StringBuffer2 + 11]
-	ld l, a
-	ld a, [StringBuffer2 + 12]
-	ld h, a
-	ld de, LYOverrides
-	ld bc, $0700
-	ld a, $24
-	jp Function119e2b
-
-Function119b3b:
-	ld a, [StringBuffer2 + 11]
-	ld l, a
-	ld a, [StringBuffer2 + 12]
-	ld h, a
-	jr asm_119b4d
-
-Function119b45:
-	ld a, [wcf64]
-	ld l, a
-	ld a, [wcf65]
-	ld h, a
-
-asm_119b4d
-	ld a, $26
-	jp Function119e2b
-; 119b52
-
-Function119b52: ; 119b52
-	ld a, [StringBuffer2 + 10]
-	cp $1
-	jr nz, .asm_119b66
-	ld a, $5
-	call GetSRAMBank
-	ld a, $4
-	ld [$a800], a
-	call CloseSRAM
-
-.asm_119b66
-	ld a, $1c
-	jp Function119e2b
-; 119b6b
-
-Function119b6b: ; 119b6b
-	ld a, [StringBuffer2 + 10]
-	cp $1
-	jr z, .asm_119b75
-	jp Function119e2e
-
-.asm_119b75
-	ld a, [LYOverrides]
-	ld b, a
-	ld a, [wd101]
-	or b
-	jr z, .asm_119be3
-	ld hl, $d800
-	ld de, wd102
-.asm_119b85
-	ld a, [de]
-	inc de
-	cp $d
-	jr nz, .asm_119b85
-	inc de
-	ld a, [de]
-	cp $d
-	jr nz, .asm_119b85
-	inc de
-	inc de
-.asm_119b93
-	ld a, [de]
-	inc de
-	cp $d
-	jr z, .asm_119bfa
-	call Function119c3e
-	ret c
-	ld [hli], a
-	ld a, [de]
-	inc de
-	call Function119c3e
-	ret c
-	ld [hli], a
-	ld a, [de]
-	inc de
-	call Function119c3e
-	ret c
-	ld [hli], a
-	ld a, [de]
-	inc de
-	call Function119c3e
-	ret c
-	ld [hl], a
-	push de
-	ld d, [hl]
-	dec hl
-	ld c, [hl]
-	dec hl
-	ld b, [hl]
-	dec hl
-	ld a, [hl]
-	sla b
-	sla b
-	sla b
-	rla
-	sla b
-	rla
-	ld [hli], a
-	ld [hl], b
-	inc hl
-	rrc c
-	rrc c
-	ld [hl], c
-	dec hl
-	ld a, $f
-	and c
-	or [hl]
-	ld [hli], a
-	ld a, [hli]
-	and $c0
-	or [hl]
-	dec hl
-	ld [hld], a
-	dec hl
-	pop de
-	inc hl
-	inc hl
-	inc hl
-	ld a, h
-	cp $e0
-	jr c, .asm_119b93
-
-.asm_119be3
-	ld a, $19
-	ld [wcf66], a
-	ld a, $5
-	call GetSRAMBank
-	ld a, $1
-	ld [$a800], a
-	call CloseSRAM
-	xor a
-	ld [StringBuffer2 + 10], a
-	ret
-
-.asm_119bfa
-	inc de
-	ld a, [de]
-	cp $d
-	jr nz, .asm_119b93
-	ld a, l
-	cp (wd000 + $800 + $69) % $100
-	jr nz, .asm_119be3
-	ld a, h
-	cp (wd000 + $800 + $69) / $100
-	jr nz, .asm_119be3
-	ld a, $5
-	call GetSRAMBank
-	ld a, [wcf64]
-	ld [$b090], a
-	ld a, [wcf65]
-	ld [$b091], a
-	ld hl, $d800
-	ld de, $b023
-	ld bc, $0069
-	call CopyBytes
-	ld a, $3
-	ld [$a800], a
-	call CloseSRAM
-	ld hl, $d800
-	ld de, $c608
-	ld bc, $0069
-	call CopyBytes
-	jp Function119e2e
-; 119c3e
-
-Function119c3e: ; 119c3e
-	cp $2b
-	jr c, .asm_119c68
-	jr z, .asm_119c80
-	cp $2f
-	jr c, .asm_119c68
-	jr z, .asm_119c84
-	cp $30
-	jr c, .asm_119c68
-	cp $3a
-	jr c, .asm_119c88
-	cp $3d
-	jr c, .asm_119c68
-	jr z, .asm_119c8c
-	cp $41
-	jr c, .asm_119c68
-	cp $5b
-	jr c, .asm_119c8f
-	cp $61
-	jr c, .asm_119c68
-	cp $7b
-	jr c, .asm_119c93
-
-.asm_119c68
-	ld a, $19
-	ld [wcf66], a
-	ld a, $5
-	call GetSRAMBank
-	ld a, $1
-	ld [$a800], a
-	call CloseSRAM
-	xor a
-	ld [StringBuffer2 + 10], a
-	scf
-	ret
-
-.asm_119c80
-	ld a, $3e
-	and a
-	ret
-
-.asm_119c84
-	ld a, $3f
-	and a
-	ret
-
-.asm_119c88
-	add $4
-	and a
-	ret
-
-.asm_119c8c
-	xor a
-	and a
-	ret
-
-.asm_119c8f
-	sub $41
-	and a
-	ret
-
-.asm_119c93
-	sub $47
-	and a
-	ret
-; 119c97
-
-Function119c97: ; 119c97
-	ld hl, UnknownText_0x11ab0f
-	call Function11a9c0
-	call Function119e2e
-	jr Function119cab
-
-Function119ca2:
-	ld hl, UnknownText_0x11aaf0
-	call Function11a9c0
-	call Function119e2e
-
-Function119cab:
-	ld a, [wc31a]
-	and a
-	ret nz
-	ld a, $80
-	ld [wcd50], a
-	call Function119e2e
-
-Function119cb8:
-	ld hl, wcd50
-	dec [hl]
-	ret nz
-	ld a, $0
-	ld [wcf66], a
-	ret
-; 119cc3
-
-Function119cc3: ; 119cc3
-	ld a, [wcd38]
-	and a
-	jr z, .asm_119cd1
-	dec a
-	jr z, .asm_119cd6
-	ld hl, UnknownText_0x11aa6a
-	jr .asm_119cd9
-
-.asm_119cd1
-	ld hl, UnknownText_0x11ab4a
-	jr .asm_119cd9
-
-.asm_119cd6
-	ld hl, UnknownText_0x11ab6e
-
-.asm_119cd9
-	call Function11a9c0
-	call Function119e2e
-
-Function119cdf:
-	ld a, [wc31a]
-	and a
-	ret nz
-	ld a, $f
-	ld [wcd3c], a
-	call Function119e2e
-
-Function119cec:
-	call Function119ed8
-	ret c
-	ld a, [wcd46]
-	ld [wcf66], a
-	ret
-; 119cf7
-
-MenuDataHeader_119cf7: ; 119cf7
-	db $40 ; flags
-	db  7, 12 ; start coords
-	db 11, 19 ; end coords
-	dw NULL
-	db 0 ; default option
-; 119cff
-
-MenuData_119cff: ; 119cff
-	db $40 ; flags
-	db  7, 15 ; start coords
-	db 11, 19 ; end coords
-	dw NULL
-	db 0 ; default option
-; 119d07
-
-String_119d07:
-	db "   ▼@"
-
-Strings_119d0c:
-	db " L:10 @@"
-	db " L:20 @@"
-	db " L:30 @@"
-	db " L:40 @@"
-	db " L:50 @@"
-	db " L:60 @@"
-	db " L:70 @@"
-	db " L:80 @@"
-	db " L:90 @@"
-	db " L:100@@"
-	db "CANCEL@@"
-
-Strings_119d64:
-	db " L:10 @@"
-	db " L:20 @@"
-	db " L:30 @@"
-	db " L:40 @@"
-	db "CANCEL@@"
-
-String_119d8c:
-	db "CANCEL@"
-; 119d93
-
-Function119d93: ; 119d93 (46:5d93)
-	ld a, [rSVBK] ; $ff00+$70
-	push af
-	ld a, $1
-	ld [rSVBK], a ; $ff00+$70
-	ld a, [wcd4f]
-	ld c, 10
-	call SimpleMultiply
-	ld hl, wcd50
-	ld [hl], a
-	ld bc, PartyMon2 - PartyMon1
-	ld de, PartyMon1Level
-	ld a, [PartyCount]
-.asm_119daf
-	push af
-	ld a, [de]
-	push hl
-	push de
-	pop hl
-	add hl, bc
-	push hl
-	pop de
-	pop hl
-	cp [hl]
-	jr z, .asm_119dbd
-	jr nc, .asm_119dc6
-.asm_119dbd
-	pop af
-	dec a
-	jr nz, .asm_119daf
-	pop af
-	ld [rSVBK], a ; $ff00+$70
-	and a
-	ret
-.asm_119dc6
-	pop af
-	ld a, $4
-	ld [wcf66], a
-	pop af
-	ld [rSVBK], a ; $ff00+$70
-	scf
-	ret
-
-Function119dd1: ; 119dd1 (46:5dd1)
-	ld a, [rSVBK] ; $ff00+$70
-	push af
-	ld a, [wcd4f]
-	cp 70 / 10
-	jr nc, .asm_119e08
-	ld a, $1
-	ld [rSVBK], a ; $ff00+$70
-	ld hl, PartyMon1Level
-	ld bc, PartyMon2 - PartyMon1
-	ld de, PartySpecies
-	ld a, [PartyCount]
-.asm_119deb
-	push af
-	ld a, [de]
-	cp MEWTWO
-	jr z, .asm_119dfd
-	cp MEW
-	jr z, .asm_119dfd
-	cp LUGIA
-	jr c, .asm_119e02
-	cp NUM_POKEMON + 1
-	jr nc, .asm_119e02
-.asm_119dfd
-	ld a, [hl]
-	cp 70
-	jr c, .asm_119e0d
-.asm_119e02
-	add hl, bc
-	inc de
-	pop af
-	dec a
-	jr nz, .asm_119deb
-.asm_119e08
-	pop af
-	ld [rSVBK], a ; $ff00+$70
-	and a
-	ret
-.asm_119e0d
-	pop af
-	ld a, [de]
-	ld [wd265], a
-	call GetPokemonName
-	ld hl, StringBuffer1
-	ld de, wcd49
-	ld bc, PKMN_NAME_LENGTH
-	call CopyBytes
-	ld a, $a
-	ld [wcf66], a
-	pop af
-	ld [rSVBK], a ; $ff00+$70
-	scf
-	ret
-; 119e2b (46:5e2b)
-
-Function119e2b: ; 119e2b (46:5e2b)
-	call Function3e32
-
-Function119e2e: ; 119e2e (46:5e2e)
-	ld hl, wcf66
-	inc [hl]
-	ret
-; 119e33 (46:5e33)
-
-Unknown_119e33: ; 119e33
-	INCBIN "data/mobile/x-game-code-prefix.txt"
-Unknown_119e40:
-	INCBIN "data/mobile/x-game-result-prefix.txt"
-; 119e4f
-
-Function119e4f: ; 119e4f
-	push bc
-	ld hl, LYOverrides
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-.asm_119e57
-	ld a, [de]
-	cp [hl]
-	jr z, .asm_119e64
-.asm_119e5b
-	inc hl
-	dec bc
-	ld a, b
-	or c
-	jr nz, .asm_119e57
-.asm_119e61
-	pop bc
-	scf
-	ret
-
-.asm_119e64
-	push de
-.asm_119e65
-	ld a, [de]
-	inc de
-	cp "\n"
-	jr z, .asm_119e7a
-	cp [hl]
-	jr nz, .asm_119e77
-	inc hl
-	dec bc
-	ld a, b
-	or c
-	jr nz, .asm_119e65
-	pop de
-	jr .asm_119e61
-
-.asm_119e77
-	pop de
-	jr .asm_119e5b
-
-.asm_119e7a
-	pop de
-	pop bc
-	inc hl
-	ld de, $d880
-.asm_119e80
-	ld a, [hli]
-	ld [de], a
-	inc de
-	cp $d
-	jr z, .asm_119e8c
-	dec c
-	jr nz, .asm_119e80
-	scf
-	ret
-
-.asm_119e8c
-	and a
-	ret
-; 119e8e
-
-Function119e8e: ; 119e8e
-	cp $60
-	jr c, .asm_119e95
-	sub $57
-	ret
-
-.asm_119e95
-	sub $30
-	ret
-; 119e98
-
-Function119e98: ; 119e98
-	ld a, $2
-.asm_119e9a
-	push af
-	ld a, [bc]
-	dec bc
-	call Function119e8e
-	or [hl]
-	ld [hl], a
-	ld a, [bc]
-	dec bc
-	call Function119e8e
-	rlca
-	rlca
-	rlca
-	rlca
-	or [hl]
-	ld [hl], a
-	inc hl
-	pop af
-	dec a
-	and a
-	jr nz, .asm_119e9a
-	ret
-; 119eb4
-
-Function119eb4: ; 119eb4 (46:5eb4)
-	xor a
-	ld [wc3cc], a
-	ld de, wc3ac
-.asm_119ebb
-	ld a, [de]
-	inc de
-	ld [hli], a
-	and a
-	jr nz, .asm_119ebb
-	ret
-
-Function119ec2: ; 119ec2 (46:5ec2)
-	ld a, $5
-	call GetSRAMBank
-	xor a
-	ld [$aa5c], a
-	ld de, $aa4c
-.asm_119ece
-	ld a, [de]
-	inc de
-	ld [hli], a
-	and a
-	jr nz, .asm_119ece
-	call CloseSRAM
-	ret
-
-Function119ed8: ; 119ed8 (46:5ed8)
-	ld a, [rSVBK] ; $ff00+$70
-	ld [wcd8c], a
-	ld a, $1
-	ld [rSVBK], a ; $ff00+$70
-	call Function119eee
-	ld a, [wcd8c]
-	ld [rSVBK], a ; $ff00+$70
-	ld a, $1
-	ld [hBGMapMode], a ; $ff00+$d4
-	ret
-
-Function119eee: ; 119eee (46:5eee)
-	ld a, [wcd3c]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_119efd
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 119efd (46:5efd)
-
-Jumptable_119efd: ; 119efd
-	dw Function119f3f
-	dw Function119f45
-	dw Function119f56
-	dw Function119f76
-	dw Function119f98
-	dw Function11a113
-	dw Function11a129
-	dw Function11a131
-	dw Function11a13d
-	dw Function11a14b
-	dw Function11a16d
-	dw Function11a192
-	dw Function11a2e6
-	dw Function11a302
-	dw Function11a33a
-	dw Function11a207
-	dw Function11a235
-	dw Function11a357
-	dw Function11a36b
-	dw Function11a38d
-	dw Function11a3c5
-	dw Function11a3d9
-	dw Function11a3f9
-	dw Function11a41b
-	dw Function11a452
-	dw Function11a47a
-	dw Function11a488
-	dw Function11a49e
-	dw Function11a4db
-	dw Function11a4e8
-	dw Function11a4fe
-	dw Function11a466
-	dw Function11a47a
-; 119f3f
-
-Function119f3f: ; 119f3f
-	call Function11a5b9
-	jp Function11a5b0
-; 119f45
-
-Function119f45: ; 119f45
-	hlcoord 4, 2
-	ld de, String_11a661
-	call PlaceString
-	ld a, $80
-	ld [wcd44], a
-	jp Function11a5b0
-; 119f56
-
-Function119f56: ; 119f56
-	ld a, [wcd44]
-	and a
-	jr z, .asm_119f62
-	dec a
-	ld [wcd44], a
-	scf
-	ret
-
-.asm_119f62
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a6aa
-	call PlaceString
-	ld a, $80
-	ld [wcd44], a
-	jp Function11a5b0
-; 119f76
-
-Function119f76: ; 119f76
-	ld a, [wcd44]
-	and a
-	jr z, .asm_119f82
-	dec a
-	ld [wcd44], a
-	scf
-	ret
-
-.asm_119f82
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a679
-	call PlaceString
-	call Function11a5f5
-	xor a
-	ld [wcd44], a
-	jp Function11a5b0
-; 119f98
-
-Function119f98: ; 119f98
-	call Function11a536
-	ret c
-	call PlayClickSFX
-	ld a, [wcd44]
-	and a
-	jr nz, .asm_119fef
-	call Function1c07
-	call Function11a63c
-	xor a
-	ld [ScriptVar], a
-	call Function11a00e
-	ld a, [ScriptVar]
-	and a
-	jr z, .asm_119fd4
-	call Function1c07
-	callba Function104061
-	callba Function115dc3
-	ld a, [wcd33]
-	ld [wcf66], a
-	ld a, $a
-	ld [wc300], a
-	scf
-	ret
-
-.asm_119fd4
-	hlcoord 4, 2
-	ld de, String_11a692
-	call PlaceString
-	ld a, $1
-	ld [wc30d], a
-	ld a, $1
-	ld [wc314], a
-	callba Function104061
-	and a
-	ret
-
-.asm_119fef
-	call Function1c07
-	call Function1c07
-	callba Function104061
-	ld a, [wcd45]
-	ld [wcf66], a
-	callba Function115dc3
-	ld a, $a
-	ld [wc300], a
-	scf
-	ret
-; 11a00e
-
-Function11a00e: ; 11a00e
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$aa4b]
-	and a
-	jr z, .asm_11a02a
-	ld a, [$aa4c]
-	call CloseSRAM
-	and a
-	ret nz
-	ld a, $5
-	call GetSRAMBank
-	xor a
-	ld [$aa4b], a
-
-.asm_11a02a
-	call CloseSRAM
-	ld a, [BGMapPalBuffer]
-	and a
-	jr z, .asm_11a039
-	dec a
-	jr z, .asm_11a081
-	jp Function11a0ca
-
-.asm_11a039
-	ld a, $3
-	ld [rSVBK], a
-	ld hl, $c608
-	ld de, $d800
-	ld bc, $00f6
-	call CopyBytes
-	ld a, $1
-	ld [rSVBK], a
-	call FadeToMenu
-	callba Function11765d
-	call Function11a9ce
-	ld a, $3
-	ld [rSVBK], a
-	ld hl, $d800
-	ld de, $c608
-	ld bc, $00f6
-	call CopyBytes
-	ld a, $1
-	ld [rSVBK], a
-	callba Function115d99
-	ld c, $0
-	callba Function115e18
-	ld a, $1
-	ld [wc305], a
-	ret
-
-.asm_11a081
-	xor a
-	ld [wcf83], a
-	ld [wcf82], a
-	ld a, $13
-	ld [wcf85], a
-	ld a, $5
-	ld [wcf84], a
-	call Function1c00
-	callba Function11765d
-	callba Function117ab4
-	callba Function106462
-	callba Function106464
-	call Function1c07
-	callba Function104061
-	callba Function115d99
-	ld c, $0
-	callba Function115e18
-	ld a, $1
-	ld [wc305], a
-	ret
-; 11a0ca
-
-Function11a0ca: ; 11a0ca
-	xor a
-	ld [wcf83], a
-	ld [wcf82], a
-	ld a, $13
-	ld [wcf85], a
-	ld a, $11
-	ld [wcf84], a
-	call Function1c00
-	callba Function11765d
-	callba Function17d3f6
-	callba Function106462
-	callba Function106464
-	call Function1c07
-	callba Function104061
-	callba Function115d99
-	ld c, $0
-	callba Function115e18
-	ld a, $1
-	ld [wc305], a
-	ret
-; 11a113
-
-Function11a113: ; 11a113
-	call Function11a63c
-	ld c, $1
-	callba Function115e18
-	hlcoord 4, 2
-	ld de, String_11a6c8
-	call PlaceString
-	and a
-	ret
-; 11a129
-
-Function11a129: ; 11a129
-	ld a, $80
-	ld [wcd44], a
-	jp Function11a5b0
-; 11a131
-
-Function11a131: ; 11a131
-	ld hl, wcd44
-	dec [hl]
-	ret nz
-	ld a, [wcd3c]
-	inc a
-	ld [wcd3c], a
-
-Function11a13d:
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a6d2
-	call PlaceString
-	and a
-	ret
-; 11a14b
-
-Function11a14b: ; 11a14b
-	ld hl, wcd85
-	ld a, [hl]
-	cp $f3
-	jr nz, .asm_11a155
-	and a
-	ret
-
-.asm_11a155
-	call Function11a1d6
-	ret c
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a6f1
-	call PlaceString
-	ld a, $80
-	ld [wcd44], a
-	jp Function11a5b0
-; 11a16d
-
-Function11a16d: ; 11a16d
-	ld a, [wcd44]
-	and a
-	jr z, .asm_11a179
-	dec a
-	ld [wcd44], a
-	scf
-	ret
-
-.asm_11a179
-	call Function11a63c
-	call Function11a1e6
-	hlcoord 4, 2
-	ld de, wc346
-	call PlaceString
-	call Function11a5f5
-	xor a
-	ld [wcd44], a
-	jp Function11a5b0
-; 11a192
-
-Function11a192: ; 11a192
-	call Function11a536
-	ret c
-	call PlayClickSFX
-	ld a, [wcd44]
-	and a
-	jr nz, .asm_11a1b6
-	call Function1c07
-	callba Function104061
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a6d2
-	call PlaceString
-	and a
-	ret
-
-.asm_11a1b6
-	call Function1c07
-	callba Function104061
-	ld a, [wcd45]
-	ld [wcf66], a
-	ld [wcd80], a
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a6d2
-	call PlaceString
-	scf
-	ret
-; 11a1d6
-
-Function11a1d6: ; 11a1d6
-	ld a, [wcd85]
-	cp $50
-	jr nz, .asm_11a1e4
-	ld a, $d3
-	call Function118805
-	scf
-	ret
-
-.asm_11a1e4
-	and a
-	ret
-; 11a1e6
-
-Function11a1e6: ; 11a1e6
-	ld hl, String_11a706
-	ld de, wc346
-	call Function11a1ff
-	ld hl, wcd85
-	call Function11a1ff
-	ld hl, String_11a70b
-	call Function11a1ff
-	ld a, $50
-	ld [de], a
-	ret
-; 11a1ff
-
-Function11a1ff: ; 11a1ff
-.asm_11a1ff
-	ld a, [hli]
-	cp $50
-	ret z
-	ld [de], a
-	inc de
-	jr .asm_11a1ff
-; 11a207
-
-Function11a207: ; 11a207
-	ld hl, MenuDataHeader_11a2de
-	call LoadMenuDataHeader
-	call Function1cbb
-	call Function1cfd
-	call Function321c
-	hlcoord 16, 8
-	ld de, String_11a2cf
-	call PlaceString
-	hlcoord 16, 10
-	ld de, String_11a2d3
-	call PlaceString
-	hlcoord 15, 8
-	ld a, $ed
-	ld [hl], a
-	xor a
-	ld [wcd44], a
-	jp Function11a5b0
-; 11a235
-
-Function11a235: ; 11a235
-	ld hl, hJoyPressed
-	ld a, [hl]
-	and A_BUTTON
-	jr nz, .asm_11a28f
-	ld a, [hl]
-	and B_BUTTON
-	jr nz, .asm_11a2c1
-	ld a, [hl]
-	and D_UP
-	jr nz, .asm_11a251
-	ld a, [hl]
-	and D_DOWN
-	jr nz, .asm_11a270
-.asm_11a24c
-	call Function11a9f0
-	scf
-	ret
-
-.asm_11a251
-	xor a
-	ld [wcd8a], a
-	ld [wcd8b], a
-	ld a, [wcd44]
-	and a
-	jr z, .asm_11a24c
-	xor a
-	ld [wcd44], a
-	hlcoord 15, 8
-	ld a, $ed
-	ld [hl], a
-	hlcoord 15, 10
-	ld a, $7f
-	ld [hl], a
-	jr .asm_11a24c
-
-.asm_11a270
-	xor a
-	ld [wcd8a], a
-	ld [wcd8b], a
-	ld a, [wcd44]
-	and a
-	jr nz, .asm_11a24c
-	inc a
-	ld [wcd44], a
-	hlcoord 15, 8
-	ld a, $7f
-	ld [hl], a
-	hlcoord 15, 10
-	ld a, $ed
-	ld [hl], a
-	jr .asm_11a24c
-
-.asm_11a28f
-	xor a
-	ld [wcd8a], a
-	ld [wcd8b], a
-	call PlayClickSFX
-	ld a, [wcd44]
-	and a
-	jr nz, .asm_11a2c4
-	call Function1c07
-	callba Function104061
-	ld a, [wcd46]
-	cp $0
-	jr z, .asm_11a2b4
-	ld a, [wcd47]
-	jr .asm_11a2b7
-
-.asm_11a2b4
-	ld a, [wcd33]
-
-.asm_11a2b7
-	ld [wcf66], a
-	ld a, $a
-	ld [wc300], a
-	scf
-	ret
-
-.asm_11a2c1
-	call PlayClickSFX
-
-.asm_11a2c4
-	call Function1c07
-	callba Function104061
-	and a
-	ret
-; 11a2cf
-
-String_11a2cf: ; 11a2cf
-	db "YES@"
-; 11a2d3
-
-String_11a2d3: ; 11a2d3
-	db "NO@"
-; 11a2d6
-
-MenuDataHeader_11a2d6: ; 11a2d6
-	db $40 ; flags
-	db  6, 14 ; start coords
-	db 10, 19 ; end coords
-	dw NULL
-	db 0 ; default option
-; 11a2de
-
-MenuDataHeader_11a2de: ; 11a2de
-	db $40 ; flags
-	db  7, 14 ; start coords
-	db 11, 19 ; end coords
-	dw NULL
-	db 0 ; default option
-; 11a2e6
-
-Function11a2e6: ; 11a2e6
-	call Function11a63c
-	ld c, $2
-	callba Function115e18
-	hlcoord 4, 2
-	ld de, String_11a71e
-	call PlaceString
-	ld a, $80
-	ld [wcd44], a
-	jp Function11a5b0
-; 11a302
-
-Function11a302: ; 11a302
-	ld a, [wcd44]
-	and a
-	jr z, .asm_11a30e
-	dec a
-	ld [wcd44], a
-	scf
-	ret
-
-.asm_11a30e
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a72a
-	call PlaceString
-	hlcoord 9, 4
-	ld de, wcd68
-	ld bc, $8102
-	call PrintNum
-	hlcoord 14, 4
-	ld de, wcd67
-	ld bc, $8102
-	call PrintNum
-	ld a, $80
-	ld [wcd44], a
-	jp Function11a5b0
-; 11a33a
-
-Function11a33a: ; 11a33a
-	ld a, [wcd44]
-	and a
-	jr z, .asm_11a346
-	dec a
-	ld [wcd44], a
-	scf
-	ret
-
-.asm_11a346
-	call Function1c07
-	callba Function104061
-	callba Function115dc3
-	and a
-	ret
-; 11a357
-
-Function11a357: ; 11a357
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a743
-	call PlaceString
-	ld a, $80
-	ld [wcd44], a
-	jp Function11a5b0
-; 11a36b
-
-Function11a36b: ; 11a36b
-	ld a, [wcd44]
-	and a
-	jr z, .asm_11a377
-	dec a
-	ld [wcd44], a
-	scf
-	ret
-
-.asm_11a377
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a755
-	call PlaceString
-	call Function11a5f5
-	xor a
-	ld [wcd44], a
-	jp Function11a5b0
-; 11a38d
-
-Function11a38d: ; 11a38d
-	call Function11a536
-	ret c
-	call PlayClickSFX
-	ld a, [wcd44]
-	and a
-	jr nz, .asm_11a3b1
-	call Function1c07
-	callba Function104061
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a6d2
-	call PlaceString
-	and a
-	ret
-
-.asm_11a3b1
-	call Function1c07
-	callba Function104061
-	ld a, [wcd45]
-	ld [wcf66], a
-	ld [wcd80], a
-	scf
-	ret
-; 11a3c5
-
-Function11a3c5: ; 11a3c5
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a762
-	call PlaceString
-	ld a, $80
-	ld [wcd44], a
-	jp Function11a5b0
-; 11a3d9
-
-Function11a3d9: ; 11a3d9
-	ld a, [wcd44]
-	and a
-	jr z, .asm_11a3e5
-	dec a
-	ld [wcd44], a
-	scf
-	ret
-
-.asm_11a3e5
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a779
-	call PlaceString
-	ld a, $80
-	ld [wcd44], a
-	jp Function11a5b0
-; 11a3f9
-
-Function11a3f9: ; 11a3f9
-	ld a, [wcd44]
-	and a
-	jr z, .asm_11a405
-	dec a
-	ld [wcd44], a
-	scf
-	ret
-
-.asm_11a405
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a755
-	call PlaceString
-	call Function11a5f5
-	xor a
-	ld [wcd44], a
-	jp Function11a5b0
-; 11a41b
-
-Function11a41b: ; 11a41b
-	call Function11a536
-	ret c
-	call PlayClickSFX
-	ld a, [wcd44]
-	and a
-	jr nz, .asm_11a43f
-	call Function1c07
-	callba Function104061
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a6d2
-	call PlaceString
-	and a
-	ret
-
-.asm_11a43f
-	call Function1c07
-	callba Function104061
-	ld a, $1c
-	ld [wcf66], a
-	ld [wcd80], a
-	scf
-	ret
-; 11a452
-
-Function11a452: ; 11a452
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a791
-	call PlaceString
-	ld a, $80
-	ld [wcd44], a
-	jp Function11a5b0
-; 11a466
-
-Function11a466: ; 11a466
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a7c1
-	call PlaceString
-	ld a, $80
-	ld [wcd44], a
-	jp Function11a5b0
-; 11a47a
-
-Function11a47a: ; 11a47a
-	ld a, [wcd44]
-	and a
-	jr z, .asm_11a486
-	dec a
-	ld [wcd44], a
-	scf
-	ret
-
-.asm_11a486
-	and a
-	ret
-; 11a488
-
-Function11a488: ; 11a488
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a7ac
-	call PlaceString
-	call Function11a5f5
-	xor a
-	ld [wcd44], a
-	jp Function11a5b0
-; 11a49e
-
-Function11a49e: ; 11a49e
-	call Function11a536
-	ret c
-	call PlayClickSFX
-	ld a, [wcd44]
-	and a
-	jr nz, .asm_11a4c7
-	call Function1c07
-	callba Function104061
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a6d2
-	call PlaceString
-	ld a, $14
-	ld [wcf66], a
-	and a
-	ret
-
-.asm_11a4c7
-	call Function1c07
-	callba Function104061
-	ld a, [wcd46]
-	ld [wcf66], a
-	ld [wcd80], a
-	scf
-	ret
-; 11a4db
-
-Function11a4db: ; 11a4db
-	call Function11a63c
-	ld de, String_11a6db
-	hlcoord 4, 2
-	call PlaceString
-	ret
-; 11a4e8
-
-Function11a4e8: ; 11a4e8
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a7d7
-	call PlaceString
-	call Function11a5f5
-	xor a
-	ld [wcd44], a
-	jp Function11a5b0
-; 11a4fe
-
-Function11a4fe: ; 11a4fe
-	call Function11a536
-	ret c
-	call PlayClickSFX
-	ld a, [wcd44]
-	and a
-	jr nz, .asm_11a522
-	call Function1c07
-	callba Function104061
-	call Function11a63c
-	hlcoord 4, 2
-	ld de, String_11a6d2
-	call PlaceString
-	and a
-	ret
-
-.asm_11a522
-	call Function1c07
-	callba Function104061
-	ld a, [wcd45]
-	ld [wcf66], a
-	ld [wcd80], a
-	scf
-	ret
-; 11a536
-
-Function11a536: ; 11a536
-	ld hl, hJoyPressed
-	ld a, [hl]
-	and $1
-	jr nz, .asm_11a5a7
-	ld a, [hl]
-	and $2
-	jr nz, .asm_11a5a2
-	ld a, [hl]
-	and $40
-	jr nz, .asm_11a564
-	ld a, [hl]
-	and $80
-	jr nz, .asm_11a583
-.asm_11a54d
-	ld a, [wcd3c]
-	cp $4
-	jr z, .asm_11a562
-	call Function11a9f0
-	jr nz, .asm_11a562
-	call Function1c07
-	callba Function104061
-
-.asm_11a562
-	scf
-	ret
-
-.asm_11a564
-	xor a
-	ld [wcd8a], a
-	ld [wcd8b], a
-	ld a, [wcd44]
-	and a
-	jr z, .asm_11a54d
-	xor a
-	ld [wcd44], a
-	hlcoord 15, 7
-	ld a, $ed
-	ld [hl], a
-	hlcoord 15, 9
-	ld a, $7f
-	ld [hl], a
-	jr .asm_11a54d
-
-.asm_11a583
-	xor a
-	ld [wcd8a], a
-	ld [wcd8b], a
-	ld a, [wcd44]
-	and a
-	jr nz, .asm_11a54d
-	inc a
-	ld [wcd44], a
-	hlcoord 15, 7
-	ld a, $7f
-	ld [hl], a
-	hlcoord 15, 9
-	ld a, $ed
-	ld [hl], a
-	jr .asm_11a54d
-
-.asm_11a5a2
-	ld a, $1
-	ld [wcd44], a
-
-.asm_11a5a7
-	xor a
-	ld [wcd8a], a
-	ld [wcd8b], a
-	and a
-	ret
-; 11a5b0
-
-Function11a5b0: ; 11a5b0
-	ld a, [wcd3c]
-	inc a
-	ld [wcd3c], a
-	scf
-	ret
-; 11a5b9
-
-Function11a5b9: ; 11a5b9
-	xor a
-	ld [wcf83], a
-	ld [wcf82], a
-	ld a, $13
-	ld [wcf85], a
-	ld a, $5
-	ld [wcf84], a
-	call Function1c00
-	ld hl, AttrMap
-	ld b, $6
-	ld c, $14
-	ld hl, TileMap
-	ld b, $4
-	ld c, $12
-	call Function3eea
-	callba Function104061
-	call Function1ad2
-	ld c, $0
-	callba Function115e18
-	ld a, $1
-	ld [wc305], a
-	ret
-; 11a5f5
-
-Function11a5f5: ; 11a5f5
-	ld a, $e
-	ld [wcf83], a
-	ld a, $13
-	ld [wcf85], a
-	ld a, $6
-	ld [wcf82], a
-	ld a, $a
-	ld [wcf84], a
-	call Function1c00
-	hlcoord 14, 6, AttrMap
-	ld b, $5
-	ld c, $6
-	hlcoord 14, 6
-	ld b, $3
-	ld c, $4
-	call Function3eea
-	hlcoord 16, 7
-	ld de, String_11a2cf
-	call PlaceString
-	hlcoord 16, 9
-	ld de, String_11a2d3
-	call PlaceString
-	hlcoord 15, 7
-	ld a, $ed
-	ld [hl], a
-	callba Function104061
-	ret
-; 11a63c
-
-Function11a63c: ; 11a63c
-	hlcoord 4, 1
-	ld de, String_11a7f4
-	call PlaceString
-	hlcoord 4, 2
-	ld de, String_11a7f4
-	call PlaceString
-	hlcoord 4, 3
-	ld de, String_11a7f4
-	call PlaceString
-	hlcoord 4, 4
-	ld de, String_11a7f4
-	call PlaceString
-	ret
-; 11a661
-
-String_11a661: ; 11a661
-	db   "これから モバイルセンターに"
-	next "でんわ", $1f, "かけます@"
-; 11a679
-
-String_11a679: ; 11a679
-	db   "モバイルアダプタ", $25, "じゅんびは"
-	next "できて いますか?@"
-; 11a692
-
-String_11a692: ; 11a692
-	db   "でんわ", $1f, "かけています"
-	next "しばらく おまちください@"
-; 11a6aa
-
-String_11a6aa: ; 11a6aa
-	db   "でんわをかけると つうわりょう"
-	next "せつぞくりょう", $4a, "かかります@"
-; 11a6c8
-
-String_11a6c8: ; 11a6c8
-	db   "せつぞく しました@"
-; 11a6d2
-
-String_11a6d2: ; 11a6d2
-	db   "つうしん ちゅう@"
-; 11a6db
-
-String_11a6db: ; 11a6db
-	db   "つうしん ちゅう"
-	next "セレクト エーでちゅうし@"
-; 11a6f1
-
-String_11a6f1: ; 11a6f1
-	db   "この サービスには"
-	next "つうわりょう", $25, "ほかに@"
-; 11a706
-
-String_11a706: ; 11a706
-	db   "おかね", $4a, "@"
-; 11a70b
-
-String_11a70b: ; 11a70b
-	db   "えん"
-	next "かかります よろしい ですか?@"
-; 11a71e
-
-String_11a71e: ; 11a71e
-	db   "つうしん しゅうりょう@"
-; 11a72a
-
-String_11a72a: ; 11a72a
-	db   "つないだ じかん"
-	next "  やく   ふん   びょう@"
-; 11a743
-
-String_11a743: ; 11a743
-	db   "もっていない データが"
-	next "あります!@"
-; 11a755
-
-String_11a755: ; 11a755
-	db   "データ", $1f, "よみこみますか?@"
-; 11a762
-
-String_11a762: ; 11a762
-	db   "おなじ データ", $1f, "よみこんだ"
-	next "こと", $4a, "ありますが@"
-; 11a779
-
-String_11a779: ; 11a779
-	db   "そのデータ", $24, "なくなっているか"
-	next "こわれて います@"
-; 11a791
-
-String_11a791: ; 11a791
-	db   "もっている データと"
-	next "おなじデータしか ありません!@"
-; 11a7ac
-
-String_11a7ac: ; 11a7ac
-	db   "データ", $25, "よみこみを"
-	next "ちゅうし しますか?@"
-; 11a7c1
-
-String_11a7c1: ; 11a7c1
-	db   "あたらしい ニュースは"
-	next "ありません でした@"
-; 11a7d7
-
-String_11a7d7: ; 11a7d7
-	db   "あたらしいニュース", $4a, "あります"
-	next "ニュース", $1f, "よみこみますか?@"
-; 11a7f4
-
-String_11a7f4: ; 11a7f4
-	db   "               @"
-; 11a804
-
-MenuDataHeader_11a804: ; 11a804
-	db $40 ; flags
-	db  0,  0 ; start coords
-	db  5, 19 ; end coords
-	dw NULL
-	db 0 ; default option
-; 11a80c
-
-Function11a80c: ; 11a80c
-	ld de, hDivisor
-	ld bc, hDividend
-	ld hl, Unknown_11a89a
-	call Function11a88c
-	ld bc, hQuotient
-	ld hl, Unknown_11a8ba
-	call Function11a88c
-	ld bc, $ffb5
-	ld hl, Unknown_11a8da
-	call Function11a88c
-	xor a
-	ld b, a
-	ld a, [hDivisor]
-	and $f
-	ld e, a
-	ld a, [$ffb9]
-	and $f
-	call Function11a884
-	ld e, a
-	ld a, [$ffbb]
-	and $f
-	call Function11a884
-	ld [wcd62], a
-	ld e, b
-	xor a
-	ld b, a
-	ld a, [hDivisor]
-	and $f0
-	swap a
-	call Function11a884
-	ld e, a
-	ld a, [$ffb9]
-	and $f0
-	swap a
-	call Function11a884
-	ld e, a
-	ld a, [$ffbb]
-	and $f0
-	swap a
-	call Function11a884
-	ld [wcd63], a
-	ld e, b
-	xor a
-	ld b, a
-	ld a, [hMathBuffer]
-	and $f
-	call Function11a884
-	ld e, a
-	ld a, [$ffba]
-	and $f
-	call Function11a884
-	ld e, a
-	ld a, [$ffbc]
-	and $f
-	call Function11a884
-	ld [wcd64], a
-	ret
-; 11a884
-
-Function11a884: ; 11a884
-	add e
-	cp $a
-	ret c
-	sub $a
-	inc b
-	ret
-; 11a88c
-
-Function11a88c: ; 11a88c
-	ld a, [bc]
-	sla a
-	ld c, a
-	xor a
-	ld b, a
-	add hl, bc
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hl]
-	ld [de], a
-	inc de
-	ret
-; 11a89a
-
-Unknown_11a89a: ; 11a89a
-x = 0
-rept 16
-	bcd x % 100, x / 100
-x = x + 1
-endr
-
-Unknown_11a8ba: ; 11a8ba
-x = 0
-rept 16
-	bcd x % 100, x / 100
-x = x + 16
-endr
-
-Unknown_11a8da: ; 11a8da
-x = 0
-rept 16
-	bcd x % 100, x / 100
-x = x + 256
-endr
-; 11a8fa
-
-Function11a8fa: ; 11a8fa
-	ld a, [wc31a]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_11a909
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 11a909
-
-Jumptable_11a909: ; 11a909
-	dw Function11a970
-	dw Function11a90f
-	dw Function11a971
-; 11a90f
-
-Function11a90f: ; 11a90f
-	ld a, $1
-	ld [rSVBK], a
-	call SpeechTextBox
-	ld a, $50
-	ld hl, wc320
-	ld bc, $008c
-	call ByteFill
-	ld a, [wc31b]
-	ld l, a
-	ld a, [wc31c]
-	ld h, a
-	ld de, wc320
-.asm_11a92c
-	ld a, [hli]
-	cp $57
-	jr z, .asm_11a94f
-	cp $0
-	jr z, .asm_11a92c
-	cp $50
-	jr z, .asm_11a92c
-	cp $1
-	jr z, .asm_11a941
-	ld [de], a
-	inc de
-	jr .asm_11a92c
-
-.asm_11a941
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-.asm_11a945
-	ld a, [bc]
-	inc bc
-	cp $50
-	jr z, .asm_11a92c
-	ld [de], a
-	inc de
-	jr .asm_11a945
-
-.asm_11a94f
-	xor a
-	ld [wc31f], a
-	ld a, $20
-	ld [wc31b], a
-	ld a, $c3
-	ld [wc31c], a
-	hlcoord 1, 14
-	ld a, l
-	ld [wc31d], a
-	ld a, h
-	ld [wc31e], a
-	ld hl, wc31a
-	inc [hl]
-	ld a, $3
-	ld [rSVBK], a
-
-Function11a970:
-	ret
-; 11a971
-
-Function11a971: ; 11a971
-	ld hl, wc31f
-	ld a, [hJoyDown]
-	and a
-	jr nz, .asm_11a97f
-	ld a, [hl]
-	and a
-	jr z, .asm_11a97f
-	dec [hl]
-	ret
-
-.asm_11a97f
-	ld a, [Options]
-	and $7
-	ld [hl], a
-	ld hl, wcd8d
-	ld a, [wc31b]
-	ld e, a
-	ld a, [wc31c]
-	ld d, a
-	ld a, [de]
-	inc de
-	ld [hli], a
-	ld a, e
-	ld [wc31b], a
-	ld a, d
-	ld [wc31c], a
-	ld a, $50
-	ld [hl], a
-	ld a, [wc31d]
-	ld l, a
-	ld a, [wc31e]
-	ld h, a
-	ld de, wcd8d
-	call PlaceString
-	ld a, c
-	ld [wc31d], a
-	ld a, b
-	ld [wc31e], a
-	ld a, [wcd8d]
-	cp $50
-	jr nz, .asm_11a9bf
-	xor a
-	ld [wc31a], a
-
-.asm_11a9bf
-	ret
-; 11a9c0
-
-Function11a9c0: ; 11a9c0
-	ld a, l
-	ld [wc31b], a
-	ld a, h
-	ld [wc31c], a
-	ld a, $1
-	ld [wc31a], a
-	ret
-; 11a9ce
-
-Function11a9ce: ; 11a9ce
-	call WhiteBGMap
-	call Function2bae
-	call Function1d7d
-	callba Function106462
-	callba Function106464
-	call Functiond90
-	callba Function2b5c
-	call Function1ad2
-	ret
-; 11a9f0
-
-Function11a9f0: ; 11a9f0
-	ld a, $1
-	and a
-	ret
-; 11a9f4
-
-Function11a9f4: ; 11a9f4
-	ld a, [wcd8a]
-	ld l, a
-	ld a, [wcd8b]
-	ld h, a
-	inc hl
-	ld a, l
-	ld [wcd8a], a
-	ld a, h
-	ld [wcd8b], a
-	ld de, $d5d0
-	add hl, de
-	bit 7, h
-	ret nz
-	ld a, $d6
-	call Function118805
-	and a
-	ret
-; 11aa13
-
-UnknownText_0x11aa13: ; 0x11aa13
-	text "SAVE FILE will be"
-	line "sent."
-	done
-; 0x11aa2c
-
-UnknownText_0x11aa2c: ; 0x11aa2c
-	text "Sent SAVE FILE."
-	line "Reading NEWS…"
-	done
-; 0x11aa4b
-
-UnknownText_0x11aa4b: ; 0x11aa4b
-	text "Reading NEWS…"
-	done
-; 0x11aa5a
-
-UnknownText_0x11aa5a: ; 0x11aa5a
-	text "Received NEWS!"
-	done
-; 0x11aa6a
-
-UnknownText_0x11aa6a: ; 0x11aa6a
-	text "Quit reading NEWS?"
-	done
-; 0x11aa7e
-
-UnknownText_0x11aa7e: ; 0x11aa7e
-	text "Canceled sending"
-	line "SAVE FILE."
-	done
-; 0x11aa9b
-
-UnknownText_0x11aa9b: ; 0x11aa9b
-	text "ODD EGG"
-	line "was received!"
-	done
-; 0x11aab2
-
-UnknownText_0x11aab2: ; 0x11aab2
-	text "Registering your"
-	line "record…"
-	done
-; 0x11aacc
-
-UnknownText_0x11aacc: ; 0x11aacc
-	text "One visit per day"
-	line "per BATTLE ROOM!"
-	done
-; 0x11aaf0
-
-UnknownText_0x11aaf0: ; 0x11aaf0
-	text "A party #MON"
-	line "tops this level."
-	done
-; 0x11ab0f
-
-UnknownText_0x11ab0f: ; 0x11ab0f
-	text_from_ram wcd49
-	text " may go"
-	line "only to BATTLE"
-
-	para "ROOMS that are"
-	line "Lv.70 or higher."
-	done
-; 0x11ab4a
-
-UnknownText_0x11ab4a: ; 0x11ab4a
-	text "Cancel your BATTLE"
-	line "ROOM challenge?"
-	done
-; 0x11ab6e
-
-UnknownText_0x11ab6e: ; 0x11ab6e
-	text "Exit GYM LEADER"
-	line "HONOR ROLL?"
-	done
-; 0x11ab8b
-
-UnknownText_0x11ab8b: ; 0x11ab8b
-	text "Linking with the"
-	line "CENTER…"
-	done
-; 0x11aba5
-
-UnknownText_0x11aba5: ; 0x11aba5
-	text "What level do you"
-	line "want to challenge?"
-	done
-; 0x11abcb
-
-UnknownText_0x11abcb: ; 0x11abcb
-	text "Check BATTLE ROOM"
-	line "list by max level?"
-	done
-; 0x11abf1
-
-UnknownText_0x11abf1: ; 0x11abf1
-	text "Enter which"
-	line "BATTLE ROOM?"
-	done
-; 0x11ac0b
-
-UnknownText_0x11ac0b: ; 0x11ac0b
-	text "Which BATTLE ROOM?"
-	done
-; 0x11ac1f
-
-UnknownText_0x11ac1f: ; 0x11ac1f
-	text_from_ram StringBuffer3
-	text "'s ROOM"
-	line "@"
-	text_from_ram StringBuffer4
-	text "?"
-	cont "Please wait…"
-	done
-; 0x11ac3e
-
-Function11ac3e: ; 11ac3e
-	call SpeechTextBox
-	call FadeToMenu
-	callab Function8e814
-	call Function11ac51
-	call Function2b3c
-	ret
-; 11ac51
-
-Function11ac51: ; 11ac51
-	xor a
-	ld [hBGMapMode], a
-	ld hl, Options
-	ld a, [hl]
-	push af
-	set 4, [hl]
-	ld a, [VramState]
-	push af
-	xor a
-	ld [VramState], a
-	ld a, [$ffaa]
-	push af
-	ld a, $1
-	ld [$ffaa], a
-	xor a
-	ld [$ffde], a
-	ld [wcd49], a
-	ld [wcd4a], a
-	ld [wcd4c], a
-	ld [wcd4d], a
-	ld [wcd4e], a
-	call Function11ad1b
-	call DelayFrame
-.asm_11ac82
-	call Functiona57
-	ld a, [wcf63]
-	bit 7, a
-	jr nz, .asm_11aca8
-	call Function11b314
-	call Function11acb7
-	call Function11ad6e
-	ld a, $78
-	ld [wc3b5], a
-	callba Function8cf7a
-	callba Function104061
-	jr .asm_11ac82
-
-.asm_11aca8
-	call ClearSprites
-	pop af
-	ld [$ffaa], a
-	pop af
-	ld [VramState], a
-	pop af
-	ld [Options], a
-	ret
-; 11acb7
-
-Function11acb7: ; 11acb7
-	ld hl, Unknown_11ba44
-	ld a, [wcd49]
-	ld c, a
-	ld b, $0
-	sla c
-	rl b
-	sla c
-	rl b
-	sla c
-	rl b
-	add hl, bc
-	decoord 6, 6
-	ld a, [hli]
-	ld [de], a
-	decoord 0, 7
-	ld bc, $0007
-	call CopyBytes
-	ld a, [wcd49]
-	inc a
-	ld [wcd49], a
-	ld a, [hl]
-	cp $ff
-	jr nz, .asm_11aceb
-	xor a
-	ld [wcd49], a
-
-.asm_11aceb
-	ld hl, Unknown_11bb7d
-	ld a, [wcd4a]
-	ld c, a
-	ld b, $0
-	sla c
-	rl b
-	sla c
-	rl b
-	sla c
-	rl b
-	add hl, bc
-	decoord 3, 9
-	ld bc, $0007
-	call CopyBytes
-	ld a, [wcd4a]
-	inc a
-	ld [wcd4a], a
-	inc hl
-	ld a, [hl]
-	cp $ff
-	ret nz
-	xor a
-	ld [wcd4a], a
-	ret
-; 11ad1b
-
-Function11ad1b: ; 11ad1b
-	call WhiteBGMap
-	call ClearSprites
-	call ClearTileMap
-	callba Function17c000
-	ld a, [wcfa9]
-	ld [wcd82], a
-	dec a
-	ld [$ffb0], a
-	ld a, $10
-	ld [wc3b7], a
-	ld hl, Function8e83f
-	ld a, BANK(Function8e83f)
-	ld e, $4
-	rst FarCall
-	ld hl, Function8e83f
-	ld a, BANK(Function8e83f)
-	ld e, $5
-	rst FarCall
-	ld hl, $c6d0
-	ld bc, $0115
-	xor a
-	call ByteFill
-	xor a
-	ld [wcf63], a
-	ld [wcf64], a
-	ld [wcf65], a
-	ld [wcf66], a
-	ld [wcd30], a
-	ld a, $2
-	ld [wc7d4], a
-	callba Function40bdc
-	ret
-; 11ad6e
-
-Function11ad6e: ; 11ad6e
-	ld a, [wcf63]
-	ld hl, Jumptable_11ad78
-	call Function11b239
-	jp [hl]
-; 11ad78
-
-Jumptable_11ad78: ; 11ad78
-	dw Function11b082
-	dw Function11b0ff
-	dw Function11ad95
-	dw Function11adc4
-	dw Function11ae4e
-	dw Function11ae98
-	dw Function11ad8f
-	dw Function11af04
-	dw Function11af4e
-; 11ad8a
-
-Function11ad8a: ; 11ad8a
-	ld hl, wcf63
-	inc [hl]
-	ret
-; 11ad8f
-
-Function11ad8f: ; 11ad8f
-	ld hl, wcf63
-	set 7, [hl]
-	ret
-; 11ad95
-
-Function11ad95: ; 11ad95
-	ld hl, MenuDataHeader_11ae38
-	call LoadMenuDataHeader
-	call Function1cbb
-	hlcoord 12, 12
-	ld de, String_11ae40
-	call PlaceString
-	hlcoord 10, 10, AttrMap
-	ld bc, $0808
-	call Function11afd6
-	callba Function104061
-	call Function11ad8a
-	ld a, $1
-	ld [wcfa9], a
-	ld hl, Unknown_11afcc
-	call Function11afb7
-
-Function11adc4:
-	ld hl, hJoyPressed
-	ld a, [hl]
-	and a
-	ret z
-	ld a, [hl]
-	and $40
-	jr nz, .asm_11ade6
-	ld a, [hl]
-	and $80
-	jr nz, .asm_11aded
-	ld a, [hl]
-	and $1
-	jr nz, .asm_11ae06
-	ld a, [hl]
-	and $2
-	ret z
-	call PlayClickSFX
-	xor a
-	ld [wcf63], a
-	jr .asm_11ae2e
-
-.asm_11ade6
-	ld a, [wcfa9]
-	dec a
-	ret z
-	jr .asm_11adf4
-
-.asm_11aded
-	ld a, [wcfa9]
-	inc a
-	cp $4
-	ret z
-
-.asm_11adf4
-	push af
-	ld hl, Unknown_11afcc
-	call Function11afbb
-	pop af
-	ld [wcfa9], a
-	ld hl, Unknown_11afcc
-	call Function11afb7
-	ret
-
-.asm_11ae06
-	call PlayClickSFX
-	ld a, [wcfa9]
-	dec a
-	ld hl, wcd30
-	ld [hl], a
-	and a
-	jr z, .asm_11ae28
-	hlcoord 2, 14
-	ld a, [wcfa9]
-	cp $2
-	jr z, .asm_11ae23
-	call Function11b272
-	jr .asm_11ae2b
-
-.asm_11ae23
-	call Function11b267
-	jr .asm_11ae2b
-
-.asm_11ae28
-	ld a, $3
-	ld [hl], a
-
-.asm_11ae2b
-	call Function11ad8a
-
-.asm_11ae2e
-	call Function1c07
-	callba Function104061
-	ret
-; 11ae38
-
-MenuDataHeader_11ae38: ; 11ae38
-	db $40 ; flags
-	db 10, 10 ; start coords
-	db 17, 17 ; end coords
-	dw NULL
-	db 0 ; default option
-; 11ae40
-
-String_11ae40: ; 11ae40
-	db   "どちらでも"
-	next "♂ォス"
-	next "♀メス"
-	db   "@"
-; 11ae4e
-
-Function11ae4e: ; 11ae4e
-	ld hl, MenuDataHeader_11afe8
-	call LoadMenuDataHeader
-	call Function1cbb
-	hlcoord 10, 14
-	ld de, String_11aff0
-	call PlaceString
-	ld hl, MenuDataHeader_11b013
-	call LoadMenuDataHeader
-	call Function1cbb
-	hlcoord 16, 8
-	ld de, String_11b01b
-	call PlaceString
-	hlcoord 14, 7, AttrMap
-	lb bc, 5, 6
-	call Function11afd6
-	hlcoord 9, 12, AttrMap
-	lb bc, 6, 11
-	call Function11afd6
-	callba Function104061
-	call Function11ad8a
-	ld a, $1
-	ld [wcfa9], a
-	ld hl, Unknown_11afd2
-	call Function11afb7
-
-Function11ae98:
-	ld hl, hJoyPressed
-	ld a, [hl]
-	and a
-	ret z
-	ld a, [hl]
-	and D_UP
-	jr nz, .asm_11aec1
-	ld a, [hl]
-	and D_DOWN
-	jr nz, .asm_11aec8
-	ld a, [hl]
-	and A_BUTTON
-	jr nz, .asm_11aee1
-	ld a, [hl]
-	and B_BUTTON
-	ret z
-	call PlayClickSFX
-.asm_11aeb4
-	hlcoord 2, 14
-	ld a, $7f
-	ld [hl], a
-	ld a, $1
-	ld [wcf63], a
-	jr .asm_11aef7
-
-.asm_11aec1
-	ld a, [wcfa9]
-	dec a
-	ret z
-	jr .asm_11aecf
-
-.asm_11aec8
-	ld a, [wcfa9]
-	inc a
-	cp $3
-	ret z
-
-.asm_11aecf
-	push af
-	ld hl, Unknown_11afd2
-	call Function11afbb
-	pop af
-	ld [wcfa9], a
-	ld hl, Unknown_11afd2
-	call Function11afb7
-	ret
-
-.asm_11aee1
-	call PlayClickSFX
-	ld a, [wcfa9]
-	cp $2
-	jr z, .asm_11aeb4
-	ld a, [wcd4b]
-	ld [ScriptVar], a
-	call Function11b022
-	call Function11ad8a
-
-.asm_11aef7
-	call Function1c07
-	call Function1c07
-	callba Function104061
-	ret
-; 11af04
-
-Function11af04: ; 11af04
-	ld hl, MenuDataHeader_11afe8
-	call LoadMenuDataHeader
-	call Function1cbb
-	hlcoord 10, 14
-	ld de, String_11b003
-	call PlaceString
-	ld hl, MenuDataHeader_11b013
-	call LoadMenuDataHeader
-	call Function1cbb
-	hlcoord 16, 8
-	ld de, String_11b01b
-	call PlaceString
-	hlcoord 14, 7, AttrMap
-	lb bc, 5, 6
-	call Function11afd6
-	hlcoord 9, 12, AttrMap
-	lb bc, 6, 11
-	call Function11afd6
-	callba Function104061
-	call Function11ad8a
-	ld a, $2
-	ld [wcfa9], a
-	ld hl, Unknown_11afd2
-	call Function11afb7
-
-Function11af4e:
-	ld hl, hJoyPressed
-	ld a, [hl]
-	and a
-	ret z
-	ld a, [hl]
-	and D_UP
-	jr nz, .asm_11af77
-	ld a, [hl]
-	and D_DOWN
-	jr nz, .asm_11af7e
-	ld a, [hl]
-	and A_BUTTON
-	jr nz, .asm_11af97
-	ld a, [hl]
-	and B_BUTTON
-	ret z
-	call PlayClickSFX
-.asm_11af6a
-	hlcoord 2, 14
-	ld a, $7f
-	ld [hl], a
-	ld a, $1
-	ld [wcf63], a
-	jr .asm_11afaa
-
-.asm_11af77
-	ld a, [wcfa9]
-	dec a
-	ret z
-	jr .asm_11af85
-
-.asm_11af7e
-	ld a, [wcfa9]
-	inc a
-	cp $3
-	ret z
-
-.asm_11af85
-	push af
-	ld hl, Unknown_11afd2
-	call Function11afbb
-	pop af
-	ld [wcfa9], a
-	ld hl, Unknown_11afd2
-	call Function11afb7
-	ret
-
-.asm_11af97
-	call PlayClickSFX
-	ld a, [wcfa9]
-	cp $2
-	jr z, .asm_11af6a
-	ld a, $6
-	ld [wcf63], a
-	xor a
-	ld [ScriptVar], a
-
-.asm_11afaa
-	call Function1c07
-	call Function1c07
-	callba Function104061
-	ret
-; 11afb7
-
-Function11afb7: ; 11afb7
-	ld e, $ed
-	jr asm_11afbd
-
-Function11afbb:
-	ld e, $7f
-
-asm_11afbd:
-	ld a, [wcfa9]
-	dec a
-	ld c, a
-	ld b, 0
-	add hl, bc
-	add hl, bc
-	ld a, e
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	ld [de], a
-	ret
-; 11afcc
-
-Unknown_11afcc:
-	dwcoord 11, 12
-	dwcoord 11, 14
-	dwcoord 11, 16
-
-Unknown_11afd2:
-	dwcoord 15,  8
-	dwcoord 15, 10
-; 11afd6
-
-Function11afd6: ; 11afd6
-	ld de, $0014
-	ld a, $3
-.asm_11afdb
-	push bc
-	push hl
-.asm_11afdd
-	ld [hli], a
-	dec c
-	jr nz, .asm_11afdd
-	pop hl
-	add hl, de
-	pop bc
-	dec b
-	jr nz, .asm_11afdb
-	ret
-; 11afe8
-
-MenuDataHeader_11afe8: ; 11afe8
-	db $40 ; flags
-	db 12,  9 ; start coords
-	db 17, 19 ; end coords
-	dw NULL
-	db 0 ; default option
-; 11aff0
-
-String_11aff0: ; 11aff0
-	db   "この じょうけんで"
-	next "よろしいですか?@"
-; 11b003
-
-String_11b003: ; 11b003
-	db   "こうかんを"
-	next "ちゅうししますか?@"
-; 11b013
-
-MenuDataHeader_11b013: ; 11b013
-	db $40 ; flags
-	db  7, 14 ; start coords
-	db 11, 19 ; end coords
-	dw NULL
-	db 1 ; default option
-; 11b01b
-
-String_11b01b:
-	db   "はい"
-	next "いいえ@"
-; 11b022
-
-Function11b022: ; 11b022
-	ld a, [wcd2e]
-	and a
-	jr z, .asm_11b02e
-	ld hl, StringBuffer3
-	call Function11b03d
-
-.asm_11b02e
-	ld a, [wcd30]
-	and a
-	ret z
-	cp $3
-	ret z
-	ld hl, StringBuffer4
-	call Function11b03d
-	ret
-; 11b03d
-
-Function11b03d: ; 11b03d
-	push hl
-	push af
-	ld c, $1
-.asm_11b041
-	ld a, [hli]
-	cp $ef
-	jr z, .asm_11b051
-	cp $f5
-	jr z, .asm_11b051
-	cp $50
-	jr z, .asm_11b055
-	inc c
-	jr .asm_11b041
-
-.asm_11b051
-	dec hl
-	ld a, $50
-	ld [hli], a
-
-.asm_11b055
-	dec hl
-	push hl
-	ld e, $4
-	ld d, $0
-	add hl, de
-	ld e, l
-	ld d, h
-	pop hl
-.asm_11b05f
-	ld a, [hld]
-	ld [de], a
-	dec de
-	dec c
-	jr nz, .asm_11b05f
-	pop af
-	pop de
-	cp $1
-	jr nz, .asm_11b070
-	ld hl, String_11b07a
-	jr .asm_11b073
-
-.asm_11b070
-	ld hl, String_11b07e
-
-.asm_11b073
-	ld bc, 4
-	call CopyBytes
-	ret
-; 11b07a
-
-String_11b07a: db "ォスの "
-String_11b07e: db "メスの "
-
-Function11b082: ; 11b082
-	call Function11b242
-	ld a, $7
-	ld [wc7d3], a
-	call Function11b099
-	call Function11b295
-	call Function11b275
-	call Function32f9
-	jp Function11ad8a
-; 11b099
-
-Function11b099: ; 11b099
-	ld c, $6
-	hlcoord 11, 1
-	ld a, [wc7d3]
-	add a
-	ld b, a
-	xor a
-	call Function11b236
-	ld a, [wc7d0]
-	ld e, a
-	ld d, $0
-	ld hl, $c6d0
-	add hl, de
-	ld e, l
-	ld d, h
-	hlcoord 11, 2
-	ld a, [wc7d3]
-.asm_11b0b9
-	push af
-	ld a, [de]
-	ld [wd265], a
-	push de
-	push hl
-	call Function11b0cf
-	pop hl
-	ld de, $0028
-	add hl, de
-	pop de
-	inc de
-	pop af
-	dec a
-	jr nz, .asm_11b0b9
-	ret
-; 11b0cf
-
-Function11b0cf: ; 11b0cf
-	and a
-	ret z
-	call Function11b0ec
-	ret c
-	call Function11b0e1
-	push hl
-	call GetPokemonName
-	pop hl
-	call PlaceString
-	ret
-; 11b0e1
-
-Function11b0e1: ; 11b0e1
-	call Function11b21e
-	jr nz, .asm_11b0e8
-	inc hl
-	ret
-
-.asm_11b0e8
-	ld a, $1
-	ld [hli], a
-	ret
-; 11b0ec
-
-Function11b0ec: ; 11b0ec
-	call Function11b22a
-	ret nz
-	inc hl
-	ld de, String_11b0f9
-	call PlaceString
-	scf
-	ret
-; 11b0f9
-
-String_11b0f9: ; 11b0f9
-	db "ーーーーー@"
-; 11b0ff
-
-Function11b0ff: ; 11b0ff
-	ld hl, hJoyPressed
-	ld a, [hl]
-	and $2
-	jr nz, .asm_11b141
-	ld a, [hl]
-	and $1
-	jr nz, .asm_11b131
-	call Function11b175
-	jr nc, .asm_11b125
-	ld a, [wcd4c]
-	inc a
-	and $3
-	ld [wcd4c], a
-	xor a
-	ld [hBGMapMode], a
-	call Function11b099
-	ld a, $1
-	ld [hBGMapMode], a
-	ret
-
-.asm_11b125
-	ld a, [wcd4c]
-	and a
-	ret z
-	inc a
-	and $3
-	ld [wcd4c], a
-	ret
-
-.asm_11b131
-	call Function11b20b
-	call Function11b22a
-	jr z, .asm_11b13d
-	ld a, $1
-	jr .asm_11b148
-
-.asm_11b13d
-	ld a, $2
-	jr .asm_11b148
-
-.asm_11b141
-	ld hl, wcf63
-	ld a, $7
-	ld [hl], a
-	ret
-
-.asm_11b148
-	call PlayClickSFX
-	ld [wcd4b], a
-	and a
-	jr z, .asm_11b16c
-	ld a, [wcf65]
-	cp $0
-	jr z, .asm_11b163
-	cp $fe
-	jr z, .asm_11b167
-	cp $ff
-	jr z, .asm_11b16b
-	jp Function11ad8a
-
-.asm_11b163
-	ld a, $1
-	jr .asm_11b16c
-
-.asm_11b167
-	ld a, $2
-	jr .asm_11b16c
-
-.asm_11b16b
-	xor a
-
-.asm_11b16c
-	ld [wcd30], a
-	ld a, $4
-	ld [wcf63], a
-	ret
-; 11b175
-
-Function11b175: ; 11b175
-	ld a, [wc7d3]
-	ld d, a
-	ld a, [wc7d2]
-	ld e, a
-	ld hl, $ffa9
-	ld a, [hl]
-	and $40
-	jr nz, .asm_11b19a
-	ld a, [hl]
-	and $80
-	jr nz, .asm_11b1ae
-	ld a, d
-	cp e
-	jr nc, .asm_11b1ed
-	ld a, [hl]
-	and $20
-	jr nz, .asm_11b1c6
-	ld a, [hl]
-	and $10
-	jr nz, .asm_11b1d8
-	jr .asm_11b1ed
-
-.asm_11b19a
-	ld hl, wc7d1
-	ld a, [hl]
-	and a
-	jr z, .asm_11b1a4
-	dec [hl]
-	jr .asm_11b1ef
-
-.asm_11b1a4
-	ld hl, wc7d0
-	ld a, [hl]
-	and a
-	jr z, .asm_11b1ed
-	dec [hl]
-	jr .asm_11b1ef
-
-.asm_11b1ae
-	ld hl, wc7d1
-	ld a, [hl]
-	inc a
-	cp e
-	jr nc, .asm_11b1ed
-	cp d
-	jr nc, .asm_11b1bc
-	inc [hl]
-	jr .asm_11b1ef
-
-.asm_11b1bc
-	ld hl, wc7d0
-	add [hl]
-	cp e
-	jr nc, .asm_11b1ed
-	inc [hl]
-	jr .asm_11b1ef
-
-.asm_11b1c6
-	ld hl, wc7d0
-	ld a, [hl]
-	and a
-	jr z, .asm_11b1ed
-	cp d
-	jr nc, .asm_11b1d4
-	xor a
-	ld [hl], a
-	jr .asm_11b1ef
-
-.asm_11b1d4
-	sub d
-	ld [hl], a
-	jr .asm_11b1ef
-
-.asm_11b1d8
-	ld hl, wc7d0
-	ld a, d
-	add a
-	add [hl]
-	jr c, .asm_11b1e3
-	cp e
-	jr c, .asm_11b1e8
-
-.asm_11b1e3
-	ld a, e
-	sub d
-	ld [hl], a
-	jr .asm_11b1ef
-
-.asm_11b1e8
-	ld a, [hl]
-	add d
-	ld [hl], a
-	jr .asm_11b1ef
-
-.asm_11b1ed
-	and a
-	ret
-
-.asm_11b1ef
-	call Function11b295
-	call Function11b275
-	scf
-	ret
-; 11b1f7
-
-Function11b1f7: ; 11b1f7
-	ld hl, TileMap
-	ld a, $32
-	ld bc, $0168
-	call ByteFill
-	ret
-; 11b203
-
-Function11b203: ; 11b203
-.asm_11b203
-	ld a, [de]
-	cp $ff
-	ret z
-	inc de
-	ld [hli], a
-	jr .asm_11b203
-; 11b20b
-
-Function11b20b: ; 11b20b
-	ld a, [wc7d1]
-	ld hl, wc7d0
-	add [hl]
-	ld e, a
-	ld d, $0
-	ld hl, $c6d0
-	add hl, de
-	ld a, [hl]
-	ld [wd265], a
-	ret
-; 11b21e
-
-Function11b21e: ; 11b21e
-	push de
-	push hl
-	ld a, [wd265]
-	dec a
-	call CheckCaughtMon
-	pop hl
-	pop de
-	ret
-; 11b22a
-
-Function11b22a: ; 11b22a
-	push de
-	push hl
-	ld a, [wd265]
-	dec a
-	call CheckSeenMon
-	pop hl
-	pop de
-	ret
-; 11b236
-
-Function11b236: ; 11b236
-	jp Functionfb8
-; 11b239
-
-Function11b239: ; 11b239
-	ld e, a
-	ld d, 0
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ret
-; 11b242
-
-Function11b242: ; 11b242
-	hlcoord 3, 4
-	ld de, StringBuffer3
-	call PlaceString
-	xor a
-	ld [MonType], a
-	callba GetGender
-	hlcoord 1, 4
-	ld a, [CurPartySpecies]
-	ld bc, wcd2f
-	ld [bc], a
-	dec bc
-	jr c, asm_11b26a
-	jr z, asm_11b26f
-	ld a, $1
-	ld [bc], a
-
-Function11b267:
-	ld [hl], $ef
-	ret
-
-asm_11b26a
-	xor a
-	ld [bc], a
-	ld [hl], $7f
-	ret
-
-asm_11b26f
-	ld a, $2
-	ld [bc], a
-
-Function11b272:
-	ld [hl], $f5
-	ret
-; 11b275
-
-Function11b275: ; 11b275
-	call Function11b279
-	ret
-; 11b279
-
-Function11b279: ; 11b279
-	ld a, [wd265]
-	ld [CurSpecies], a
-	call Function11b22a
-	jr z, .asm_11b28f
-	call GetBaseData
-	ld a, [BaseGender]
-	ld [wcf65], a
-	jr .asm_11b294
-
-.asm_11b28f
-	ld a, $ff
-	ld [wcf65], a
-
-.asm_11b294
-	ret
-; 11b295
-
-Function11b295: ; 11b295
-	hlcoord 4, 13
-	ld de, String_11b308
-	call PlaceString
-	hlcoord 4, 14
-	ld de, String_11b308
-	call PlaceString
-	call Function11b20b
-	call Function11b22a
-	jr z, .asm_11b2d1
-	ld a, [$c608]
-	ld c, a
-	ld a, [$c608 + 1]
-	ld b, a
-	ld hl, $0007
-	add hl, bc
-	xor a
-	ld [hl], a
-	ld hl, $0003
-	add hl, bc
-	ld e, [hl]
-	callba Function8e9bc
-	hlcoord 4, 14
-	push hl
-	call GetPokemonName
-	jr .asm_11b2e7
-
-.asm_11b2d1
-	ld a, [$c608]
-	ld c, a
-	ld a, [$c608 + 1]
-	ld b, a
-	ld hl, $0007
-	add hl, bc
-	ld a, $50
-	ld [hl], a
-	hlcoord 4, 13
-	push hl
-	ld de, String_11b30e
-
-.asm_11b2e7
-	ld a, $6
-	ld bc, StringBuffer4
-.asm_11b2ec
-	push af
-	ld a, [de]
-	ld [bc], a
-	inc de
-	inc bc
-	pop af
-	dec a
-	and a
-	jr nz, .asm_11b2ec
-	pop hl
-	ld de, StringBuffer4
-	call PlaceString
-	ret
-; 11b2fe
-
-String_11b2fe: ; 11b2fe
-	db "あげる#@"
-; 11b303
-
-String_11b303: ; 11b303
-	db "ほしい#@"
-; 11b308
-
-String_11b308: ; 11b308
-	db "     @"
-; 11b30e
-
-String_11b30e: ; 11b30e
-	db "みはっけん@"
-; 11b314
-
-Function11b314: ; 11b314
-	call Function11b31b
-	call Function11b3d9
-	ret
-; 11b31b
-
-Function11b31b: ; 11b31b
-	ld hl, Unknown_11b350
-	ld a, [wcf63]
-	cp $2
-	jr c, .asm_11b349
-	ld a, [wc7d1]
-	cp $4
-	jr nc, .asm_11b344
-	cp $3
-	jr c, .asm_11b349
-	ld a, [wcf63]
-	cp $2
-	jr z, .asm_11b349
-	cp $3
-	jr z, .asm_11b349
-	cp $6
-	jr z, .asm_11b349
-
-	ld bc, Unknown_11b37b
-	jr .asm_11b34c
-
-.asm_11b344
-	ld bc, Unknown_11b389
-	jr .asm_11b34c
-
-.asm_11b349
-	ld bc, Unknown_11b36d
-
-.asm_11b34c
-	call Function11b397
-	ret
-; 11b350
-
-Unknown_11b350:
-INCBIN "baserom.gbc",$11b350,$11b36d - $11b350
-
-Unknown_11b36d:
-INCBIN "baserom.gbc",$11b36d,$11b37b - $11b36d
-Unknown_11b37b:
-INCBIN "baserom.gbc",$11b37b,$11b389 - $11b37b
-Unknown_11b389:
-INCBIN "baserom.gbc",$11b389,$11b397 - $11b389
-
-Function11b397: ; 11b397
-	ld de, Sprites
-.asm_11b39a
-	ld a, [hl]
-	cp $ff
-	ret z
-	ld a, [wc7d1]
-	and $7
-	swap a
-	add [hl]
-	inc hl
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [bc]
-	inc bc
-	ld [de], a
-	inc de
-	ld a, $5
-	ld [de], a
-	inc de
-	jr .asm_11b39a
-; 11b3b6
-
-Function11b3b6: ; 11b3b6
-.asm_11b3b6
-	ld a, [hl]
-	cp $ff
-	ret z
-	ld a, [wcd4d]
-	and $7
-	swap a
-	add [hl]
-	inc hl
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	push hl
-	ld l, c
-	ld h, b
-	ld a, [wcd4e]
-	add [hl]
-	inc bc
-	ld [de], a
-	inc de
-	pop hl
-	ld a, $5
-	ld [de], a
-	inc de
-	jr .asm_11b3b6
-; 11b3d9
-
-Function11b3d9: ; 11b3d9
-	ld de, Sprites + $70
-	push de
-	ld a, [wc7d2]
-	dec a
-	ld e, a
-	ld a, [wc7d1]
-	ld hl, wc7d0
-	add [hl]
-	cp e
-	jr z, .asm_11b40d
-	ld hl, $0000
-	ld bc, $0070
-	call AddNTimes
-	ld e, l
-	ld d, h
-	ld b, $0
-	ld a, d
-	or e
-	jr z, .asm_11b40f
-	ld a, [wc7d2]
-	ld c, a
-.asm_11b401
-	ld a, e
-	sub c
-	ld e, a
-	ld a, d
-	sbc $0
-	ld d, a
-	jr c, .asm_11b40f
-	inc b
-	jr .asm_11b401
-
-.asm_11b40d
-	ld b, $70
-
-.asm_11b40f
-	ld a, $15
-	add b
-	pop hl
-	ld [hli], a
-	cp $41
-	jr c, .asm_11b42b
-	ld a, [wcf63]
-	cp $4
-	jr z, .asm_11b43b
-	cp $5
-	jr z, .asm_11b43b
-	cp $7
-	jr z, .asm_11b43b
-	cp $8
-	jr z, .asm_11b43b
-
-.asm_11b42b
-	ld a, $9b
-	ld [hli], a
-	ld a, [wcd4c]
-	add $3c
-	ld [hli], a
-	ld a, [wcd4c]
-	add $1
-	ld [hl], a
-	ret
-
-.asm_11b43b
-	ld a, $9b
-	ld [hli], a
-	ld a, $39
-	ld [hli], a
-	xor a
-	ld [hl], a
-	ret
-; 11b444
-
-Function11b444: ; 11b444
-	call Function11b44b
-	call Function11b45c
-	ret
-; 11b44b
-
-Function11b44b: ; 11b44b
-	xor a
-	ld [wcf63], a
-	ld [wcf64], a
-	ld [wcf65], a
-	ld [wcf66], a
-	call UpdateTime
-	ret
-; 11b45c
-
-Function11b45c: ; 11b45c
-.asm_11b45c
-	call Function11b46a
-	call DelayFrame
-	ld a, [wcf63]
-	cp $4
-	jr nz, .asm_11b45c
-	ret
-; 11b46a
-
-Function11b46a: ; 11b46a
-	ld a, [wcf63]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_11b479
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 11b479
-
-Jumptable_11b479: ; 11b479
-	dw Function11b483
-	dw Function11b570
-	dw Function11b5c0
-	dw Function11b5e0
-	dw Function11b5e7
-; 11b483
-
-Function11b483: ; 11b483
-	call Function11b538
-	ld hl, PlayerName
-	ld a, $5
-.asm_11b48b
-	push af
-	ld a, [hli]
-	ld [bc], a
-	inc bc
-	pop af
-	dec a
-	and a
-	jr nz, .asm_11b48b
-	ld de, $0030
-	ld hl, PartyMon1Species
-	ld a, [wcd82]
-	dec a
-	push af
-.asm_11b49f
-	and a
-	jr z, .asm_11b4a6
-	add hl, de
-	dec a
-	jr .asm_11b49f
-
-.asm_11b4a6
-	push bc
-	ld a, $30
-.asm_11b4a9
-	push af
-	ld a, [hli]
-	ld [bc], a
-	inc bc
-	pop af
-	dec a
-	and a
-	jr nz, .asm_11b4a9
-	pop de
-	push bc
-	ld a, [de]
-	ld [CurSpecies], a
-	call GetBaseData
-	ld hl, $001f
-	add hl, de
-	ld a, [hl]
-	ld [CurPartyLevel], a
-	ld hl, $0024
-	add hl, de
-	push hl
-	ld hl, $000a
-	add hl, de
-	pop de
-	push de
-	ld b, $1
-	predef Functione167
-	pop de
-	ld h, d
-	ld l, e
-	dec hl
-	dec hl
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hl], a
-	pop bc
-	ld de, $000b
-	ld hl, PartyMonOT
-	pop af
-	push af
-.asm_11b4e8
-	and a
-	jr z, .asm_11b4ef
-	add hl, de
-	dec a
-	jr .asm_11b4e8
-
-.asm_11b4ef
-	ld a, $a
-.asm_11b4f1
-	push af
-	ld a, [hli]
-	ld [bc], a
-	inc bc
-	pop af
-	dec a
-	and a
-	jr nz, .asm_11b4f1
-	ld de, $000b
-	ld hl, PartyMonNicknames
-	pop af
-	push af
-.asm_11b502
-	and a
-	jr z, .asm_11b509
-	add hl, de
-	dec a
-	jr .asm_11b502
-
-.asm_11b509
-	ld a, $a
-.asm_11b50b
-	push af
-	ld a, [hli]
-	ld [bc], a
-	inc bc
-	pop af
-	dec a
-	and a
-	jr nz, .asm_11b50b
-	ld de, $002f
-	ld hl, $a600
-	pop af
-.asm_11b51b
-	and a
-	jr z, .asm_11b522
-	add hl, de
-	dec a
-	jr .asm_11b51b
-
-.asm_11b522
-	ld a, $0
-	call GetSRAMBank
-	ld a, $2f
-.asm_11b529
-	push af
-	ld a, [hli]
-	ld [bc], a
-	inc bc
-	pop af
-	dec a
-	and a
-	jr nz, .asm_11b529
-	call CloseSRAM
-	jp Function11ad8a
-; 11b538
-
-Function11b538: ; 11b538
-	ld bc, BattleMonNick + 5
-	ld a, [PlayerID]
-	ld [wcd2a], a
-	ld [bc], a
-	inc bc
-	ld a, [PlayerID + 1]
-	ld [wcd2b], a
-	ld [bc], a
-	inc bc
-	ld a, [wd84a]
-	ld [wcd2c], a
-	ld [bc], a
-	inc bc
-	ld a, [wd84b]
-	ld [wcd2d], a
-	ld [bc], a
-	inc bc
-	ld a, [wcd2e]
-	ld [bc], a
-	inc bc
-	ld a, [wcd2f]
-	ld [bc], a
-	inc bc
-	ld a, [wcd30]
-	ld [bc], a
-	inc bc
-	ld a, [wd265]
-	ld [bc], a
-	inc bc
-	ret
-; 11b570
-
-Function11b570: ; 11b570
-	call Function118007
-	ld a, [ScriptVar]
-	and a
-	jr nz, .asm_11b57f
-	call Function11b585
-	jp Function11ad8a
-
-.asm_11b57f
-	ld a, $4
-	ld [wcf63], a
-	ret
-; 11b585
-
-Function11b585: ; 11b585
-	ld a, $3
-	ld [rSVBK], a
-	ld hl, $d800
-	ld de, $c608
-	ld bc, $008f
-	call CopyBytes
-	ld a, $1
-	ld [rSVBK], a
-	ld a, $5
-	call GetSRAMBank
-	ld de, $a800
-	ld a, $1
-	ld [de], a
-	inc de
-	ld hl, $c608
-	ld bc, $008f
-	call CopyBytes
-	push de
-	pop hl
-	ld a, [hRTCMinutes]
-	ld [hli], a
-	ld a, [hRTCHours]
-	ld [hli], a
-	ld a, [hRTCDayLo]
-	ld [hli], a
-	ld a, [hRTCDayHi]
-	ld [hl], a
-	call CloseSRAM
-	ret
-; 11b5c0
-
-Function11b5c0: ; 11b5c0
-	ld a, [wcd82]
-	dec a
-	ld [CurPartyMon], a
-	xor a
-	ld [wd10b], a
-	callba Functione039
-	callba Function170807
-	callba Function14a58
-	jp Function11ad8a
-; 11b5e0
-
-Function11b5e0: ; 11b5e0
-	xor a
-	ld [ScriptVar], a
-	jp Function11ad8a
-; 11b5e7
-
-Function11b5e7: ; 11b5e7
-	ret
-; 11b5e8
-
-Function11b5e8: ; 11b5e8
-	ld a, $0
-	call GetSRAMBank
-	ld hl, wRTC
-	ld de, $c608
-	ld bc, $0004
-	call CopyBytes
-	call CloseSRAM
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $c608
-	ld de, $b08c
-	ld bc, $0004
-	call CopyBytes
-	ld a, $2
-	ld [$a800], a
-	ld a, [$a81f]
-	ld [wcd2a], a
-	ld a, [$a820]
-	ld [wcd2b], a
-	ld a, [$a821]
-	ld [wcd2c], a
-	ld a, [$a822]
-	ld [wcd2d], a
-	ld a, [$a823]
-	ld [wcd2e], a
-	ld a, [$a824]
-	ld [wcd2f], a
-	ld a, [$a825]
-	ld [wcd30], a
-	ld a, [$a826]
-	ld [wcd31], a
-	call CloseSRAM
-	call Function11b44b
-	call Function11b64c
-	ret
-; 11b64c
-
-Function11b64c: ; 11b64c
-.asm_11b64c
-	call Function11b65a
-	call DelayFrame
-	ld a, [wcf63]
-	cp $1
-	jr nz, .asm_11b64c
-	ret
-; 11b65a
-
-Function11b65a: ; 11b65a
-	ld a, [wcf63]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_11b669
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 11b669
-
-Jumptable_11b669: ; 11b669
-	dw Function11b66d
-	dw Function11b6b3
-; 11b66d
-
-Function11b66d: ; 11b66d
-	call Function1180b8
-	ld a, [ScriptVar]
-	and a
-	jr nz, .asm_11b6b0
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-	ld a, [StringBuffer2 + 10]
-	ld b, a
-	pop af
-	ld [rSVBK], a
-	ld a, b
-	and a
-	jr z, .asm_11b691
-	cp $1
-	jr nz, .asm_11b6b0
-	call Function11b6b4
-	jr .asm_11b6b0
-
-.asm_11b691
-	callba Function17081d
-	ld a, [ScriptVar]
-	and a
-	jr z, .asm_11b6b0
-	xor a
-	ld [ScriptVar], a
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-	ld a, $2
-	ld [StringBuffer2 + 10], a
-	pop af
-	ld [rSVBK], a
-
-.asm_11b6b0
-	jp Function11ad8a
-; 11b6b3
-
-Function11b6b3: ; 11b6b3
-	ret
-; 11b6b4
-
-Function11b6b4: ; 11b6b4
-	ld a, $5
-	call GetSRAMBank
-	ld a, [wcd30]
-	ld [wc708], a
-	ld a, [wcd31]
-	ld [wc709], a
-	ld a, $8
-	ld [BGMapBuffer], a
-	ld a, $c7
-	ld [wcd21], a
-	ld a, $d
-	ld [CreditsTimer], a
-	ld a, $c6
-	ld [wcd23], a
-	ld a, $3d
-	ld [wcd24], a
-	ld a, $c6
-	ld [wcd25], a
-	ld a, $42
-	ld [wcd26], a
-	ld a, $c6
-	ld [wcd27], a
-	ld a, $47
-	ld [wcd28], a
-	ld a, $c6
-	ld [wcd29], a
-	ld a, $46
-	ld [$c628], a
-	ld de, $c63d
-	ld c, $5
-	callba Function17d073
-	jr nc, .asm_11b70f
-	callba Function17d187
-
-.asm_11b70f
-	ld de, $c63d
-	ld bc, $0105
-	callba Function17d1e1
-	jr nc, .asm_11b723
-	callba Function17d187
-
-.asm_11b723
-	ld de, $c642
-	ld c, $5
-	callba Function17d073
-	jr nc, .asm_11b736
-	callba Function17d199
-
-.asm_11b736
-	ld de, $c642
-	ld bc, $0105
-	callba Function17d1e1
-	jr nc, .asm_11b74a
-	callba Function17d199
-
-.asm_11b74a
-	ld de, $c647
-	ld c, $21
-	callba Function17d073
-	jr nc, .asm_11b75d
-	callba Function17d1ab
-
-.asm_11b75d
-	ld de, $c647
-	ld bc, $0221
-	callba Function17d1e1
-	jr c, .asm_11b770
-	ld a, b
-	cp $2
-	jr nz, .asm_11b776
-
-.asm_11b770
-	callba Function17d1ab
-
-.asm_11b776
-	ld de, $c668
-	ld c, $5
-	callba Function17d073
-	jr nc, .asm_11b789
-	callba Function17d1c9
-
-.asm_11b789
-	ld de, $c668
-	ld bc, $0105
-	callba Function17d1e1
-	jr nc, .asm_11b79d
-	callba Function17d1c9
-
-.asm_11b79d
-	ld a, [$c608 + 6]
-	cp $ff
-	jr nz, .asm_11b7a8
-	xor a
-	ld [$c608 + 6], a
-
-.asm_11b7a8
-	ld a, [wcd31]
-	ld [$c608 + 5], a
-	ld [CurSpecies], a
-	call GetBaseData
-
-	ld hl, $c62c
-	ld a, [hl]
-	cp MIN_LEVEL
-	ld a, MIN_LEVEL
-	jr c, .asm_11b7c5
-	ld a, [hl]
-	cp MAX_LEVEL
-	jr c, .asm_11b7c6
-	ld a, MAX_LEVEL
-.asm_11b7c5
-	ld [hl], a
-.asm_11b7c6
-	ld [CurPartyLevel], a
-
-	ld hl, $c616 + 1
-	ld de, $c62c + 5
-	ld b, $1
-	predef Functione167
-	ld de, $c62c + 5
-	ld hl, $c62c + 3
-	ld a, [de]
-	ld [hli], a
-	inc de
-	ld a, [de]
-	ld [hl], a
-	call Function11b98f
-	ret
-; 11b7e5
-
-Function11b7e5: ; 11b7e5
-	ld a, [$c608 + 5]
-	ld [wc702], a
-	ld [CurPartySpecies], a
-	ld a, [wcd81]
-	ld [wc74e], a
-	ld hl, $c63d
-	ld de, wc724
-	ld bc, $0005
-	call CopyBytes
-	ld a, $50
-	ld [de], a
-	ld a, [$c608 + 11]
-	ld [wc731], a
-	ld a, [$c608 + 12]
-	ld [wc732], a
-	ld hl, $c608 + 26
-	ld a, [hli]
-	ld [wc72f], a
-	ld a, [hl]
-	ld [wc730], a
-	ld bc, $c608 + 5
-	callba GetCaughtGender
-	ld a, c
-	ld [wc733], a
-	call SpeechTextBox
-	call FadeToMenu
-	callba Function108016
-	callba Function17d1f1
-	ld a, $1
-	ld [wd1e9], a
-	ld a, $2
-	ld [InLinkBattle], a
-	callba Function421d8
-	xor a
-	ld [InLinkBattle], a
-	callba Function14a58
-	ld a, $5
-	call GetSRAMBank
-	ld a, $5
-	ld [$a800], a
-	call CloseSRAM
-	ld a, [MapGroup]
-	ld b, a
-	ld a, [MapNumber]
-	ld c, a
-	call GetMapTrigger
-	ld a, d
-	or e
-	jr z, .asm_11b872
-	ld a, $1
-	ld [de], a
-
-.asm_11b872
-	call Function2b3c
-	call RestartMapMusic
-	ret
-; 11b879
-
-Function11b879: ; 11b879
-	callba Function17089a
-	ld a, [ScriptVar]
-	and a
-	ret z
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$a800]
-	ld [ScriptVar], a
-	ld a, [$a890]
-	ld [wcd49], a
-	ld a, [$a891]
-	ld [wcd4a], a
-	ld a, [$a892]
-	ld [wcd4b], a
-	ld a, [$a893]
-	ld [wcd4c], a
-	call CloseSRAM
-	ld a, [ScriptVar]
-	and a
-	ret z
-	ld hl, wcd4c
-	ld a, [hRTCDayHi]
-	cp [hl]
-	ret nz
-	dec hl
-	ld a, [hRTCDayLo]
-	cp [hl]
-	ret nz
-	ld hl, wcd4a
-	ld a, [hRTCHours]
-	cp [hl]
-	jr nc, .asm_11b8d8
-	ld a, $18
-	sub [hl]
-	ld hl, hRTCHours
-	add [hl]
-	ld [wcd4c], a
-	ld a, [hRTCMinutes]
-	ld [wcd4b], a
-	xor a
-	ld [wcd4a], a
-	jr .asm_11b8e2
-
-.asm_11b8d8
-	ld a, [hRTCMinutes]
-	ld [wcd4b], a
-	ld a, [hRTCHours]
-	ld [wcd4c], a
-
-.asm_11b8e2
-	xor a
-	ld l, a
-	ld h, a
-	ld b, a
-	ld d, a
-	ld a, [wcd4b]
-	ld e, a
-	ld a, [wcd4c]
-	ld c, $3c
-	call AddNTimes
-	add hl, de
-	push hl
-	xor a
-	ld l, a
-	ld h, a
-	ld b, a
-	ld d, a
-	ld a, [wcd49]
-	ld e, a
-	ld a, [wcd4a]
-	ld c, $3c
-	call AddNTimes
-	add hl, de
-	ld a, l
-	cpl
-	add $1
-	ld e, a
-	ld a, h
-	cpl
-	adc $0
-	ld d, a
-	pop hl
-	add hl, de
-	ld de, $ff88
-	add hl, de
-	bit 7, h
-	ret z
-	ld a, $2
-	ld [ScriptVar], a
-	ret
-; 11b920
-
-Function11b920: ; 11b920
-	call Function11b44b
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $a81f
-	ld de, BattleMonNick + 5
-	ld bc, $0008
-	call CopyBytes
-	call CloseSRAM
-	call Function118000
-	ret
-; 11b93b
-
-Function11b93b: ; 11b93b
-	ld a, $5
-	call GetSRAMBank
-	xor a
-	ld [$a800], a
-	ld hl, $a823
-	ld de, $c608
-	ld bc, $008f
-	call CopyBytes
-	call CloseSRAM
-	ld a, $8
-	ld [BGMapBuffer], a
-	ld a, $c6
-	ld [wcd21], a
-	ld a, $11
-	ld [CreditsTimer], a
-	ld a, $c6
-	ld [wcd23], a
-	ld a, $41
-	ld [wcd24], a
-	ld a, $c6
-	ld [wcd25], a
-	ld a, $46
-	ld [wcd26], a
-	ld a, $c6
-	ld [wcd27], a
-	ld a, $4b
-	ld [wcd28], a
-	ld a, $c6
-	ld [wcd29], a
-	call Function11b98f
-	callba Function14a58
-	ret
-; 11b98f
-
-Function11b98f: ; 11b98f
-	ld hl, PartyCount
-	ld a, [hl]
-	ld e, a
-	inc [hl]
-	ld a, [BGMapBuffer]
-	ld l, a
-	ld a, [wcd21]
-	ld h, a
-	inc hl
-	ld bc, PartySpecies
-	ld d, e
-.asm_11b9a2
-	inc bc
-	dec d
-	jr nz, .asm_11b9a2
-	ld a, e
-	ld [CurPartyMon], a
-	ld a, [hl]
-	ld [bc], a
-	inc bc
-	ld a, $ff
-	ld [bc], a
-	ld hl, PartyMon1Species
-	ld bc, PartyMon2 - PartyMon1
-	ld a, e
-	ld [wcd2a], a
-.asm_11b9ba
-	add hl, bc
-	dec a
-	and a
-	jr nz, .asm_11b9ba
-	ld e, l
-	ld d, h
-	ld a, [CreditsTimer]
-	ld l, a
-	ld a, [wcd23]
-	ld h, a
-	ld bc, PartyMon2 - PartyMon1
-	call CopyBytes
-	ld hl, PartyMonOT
-	ld bc, $000b
-	ld a, [wcd2a]
-.asm_11b9d8
-	add hl, bc
-	dec a
-	and a
-	jr nz, .asm_11b9d8
-	ld e, l
-	ld d, h
-	ld a, [wcd24]
-	ld l, a
-	ld a, [wcd25]
-	ld h, a
-	ld bc, $000a
-	call CopyBytes
-	ld a, $50
-	ld [de], a
-	ld hl, PartyMonNicknames
-	ld bc, $000b
-	ld a, [wcd2a]
-.asm_11b9f9
-	add hl, bc
-	dec a
-	and a
-	jr nz, .asm_11b9f9
-	ld e, l
-	ld d, h
-	ld a, [wcd26]
-	ld l, a
-	ld a, [wcd27]
-	ld h, a
-	ld bc, $000a
-	call CopyBytes
-	ld a, $50
-	ld [de], a
-	ld hl, $a600
-	ld bc, $002f
-	ld a, [wcd2a]
-.asm_11ba1a
-	add hl, bc
-	dec a
-	and a
-	jr nz, .asm_11ba1a
-	ld a, $0
-	call GetSRAMBank
-	ld e, l
-	ld d, h
-	ld a, [wcd28]
-	ld l, a
-	ld a, [wcd29]
-	ld h, a
-	ld bc, $002f
-	call CopyBytes
-	call CloseSRAM
-	ret
-; 11ba38
-
-Function11ba38: ; 11ba38
-	callba Functione538
-	ret c
-	xor a
-	ld [ScriptVar], a
-	ret
-; 11ba44
-
-Unknown_11ba44:
-INCBIN "baserom.gbc",$11ba44,$11bb7d - $11ba44
-
-Unknown_11bb7d:
-INCBIN "baserom.gbc",$11bb7d,$11bc9e - $11bb7d
-
-
-SECTION "bank47", ROMX, BANK[$47]
-
-Function11c000:: ; 11c000
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-	ld hl, wd105
-	ld a, [hl]
-	dec a
-	ld e, a
-	ld d, 0
-	ld hl, Unknown_11f2f0
-	add hl, de
-	ld a, [hl]
-	and a
-	jr nz, .asm_11c026
-	ld a, [hRandomAdd]
-	and $1f
-	cp $19
-	jr c, .asm_11c021
-	sub $19
-
-.asm_11c021
-	ld hl, Unknown_11f332
-	jr .asm_11c033
-
-.asm_11c026
-	ld a, [hRandomAdd]
-	and $f
-	cp $f
-	jr c, .asm_11c030
-	sub $f
-
-.asm_11c030
-	ld hl, Unknown_11f3ce
-
-.asm_11c033
-	ld b, 0
-	dec c
-	jr nz, .asm_11c03d
-	ld [wd000 + $200], a
-	jr .asm_11c040
-
-.asm_11c03d
-	ld a, [wd000 + $200]
-
-.asm_11c040
-	push af
-	add hl, bc
-	add hl, bc
-	ld a, [hli]
-	ld c, a
-	ld a, [hl]
-	ld h, a
-	ld l, c
-	pop af
-	ld c, a
-	ld b, 0
-	add hl, bc
-	add hl, bc
-	ld a, [hli]
-	ld c, a
-	ld a, [hl]
-	ld l, c
-	ld h, a
-	bccoord 1, 14
-	pop af
-	ld [rSVBK], a
-	call Function13e5
-	ret
-; 11c05d
-
-Function11c05d: ; 11c05d
-	ld a, e
-	or d
-	jr z, .asm_11c071
-	ld a, e
-	and d
-	cp $ff
-	jr z, .asm_11c071
-	push hl
-	call Function11c156
-	pop hl
-	call PlaceString
-	and a
-	ret
-
-.asm_11c071
-	ld c, l
-	ld b, h
-	scf
-	ret
-; 11c075
-
-Function11c075: ; 11c075
-	push de
-	ld a, c
-	call Function11c254
-	pop de
-	ld bc, wcd36
-	call Function11c08f
-	ret
-; 11c082
-
-Function11c082: ; 11c082
-	push de
-	ld a, c
-	call Function11c254
-	pop de
-	ld bc, wcd36
-	call Function11c0c6
-	ret
-; 11c08f
-
-Function11c08f: ; 11c08f
-	ld l, e
-	ld h, d
-	push hl
-	ld a, $3
-.asm_11c094
-	push af
-	ld a, [bc]
-	ld e, a
-	inc bc
-	ld a, [bc]
-	ld d, a
-	inc bc
-	push bc
-	call Function11c05d
-	jr c, .asm_11c0a2
-	inc bc
-
-.asm_11c0a2
-	ld l, c
-	ld h, b
-	pop bc
-	pop af
-	dec a
-	jr nz, .asm_11c094
-	pop hl
-	ld de, $0028
-	add hl, de
-	ld a, $3
-.asm_11c0b0
-	push af
-	ld a, [bc]
-	ld e, a
-	inc bc
-	ld a, [bc]
-	ld d, a
-	inc bc
-	push bc
-	call Function11c05d
-	jr c, .asm_11c0be
-	inc bc
-
-.asm_11c0be
-	ld l, c
-	ld h, b
-	pop bc
-	pop af
-	dec a
-	jr nz, .asm_11c0b0
-	ret
-; 11c0c6
-
-
-Function11c0c6: ; 11c0c6
-	ld a, [wcf63]
-	ld l, a
-	ld a, [wcf64]
-	ld h, a
-	push hl
-	ld hl, $c608 + 16
-	ld a, $0
-	ld [hli], a
-	push de
-	xor a
-	ld [wcf63], a
-	ld a, $12
-	ld [wcf64], a
-	ld a, $6
-.asm_11c0e1
-	push af
-	ld a, [bc]
-	ld e, a
-	inc bc
-	ld a, [bc]
-	ld d, a
-	inc bc
-	or e
-	jr z, .asm_11c133
-	push hl
-	push bc
-	call Function11c156
-	call Function11c14a
-	ld e, c
-	pop bc
-	pop hl
-	ld a, e
-	or a
-	jr z, .asm_11c133
-.asm_11c0fa
-	ld a, [wcf64]
-	cp $12
-	jr z, .asm_11c102
-	inc e
-
-.asm_11c102
-	cp e
-	jr nc, .asm_11c11c
-	ld a, [wcf63]
-	inc a
-	ld [wcf63], a
-	ld [hl], $4e
-	rra
-	jr c, .asm_11c113
-	ld [hl], $55
-
-.asm_11c113
-	inc hl
-	ld a, $12
-	ld [wcf64], a
-	dec e
-	jr .asm_11c0fa
-
-.asm_11c11c
-	cp $12
-	jr z, .asm_11c123
-	ld [hl], $7f
-	inc hl
-
-.asm_11c123
-	sub e
-	ld [wcf64], a
-	ld de, $c608
-.asm_11c12a
-	ld a, [de]
-	cp $50
-	jr z, .asm_11c133
-	inc de
-	ld [hli], a
-	jr .asm_11c12a
-
-.asm_11c133
-	pop af
-	dec a
-	jr nz, .asm_11c0e1
-	ld [hl], $57
-	pop bc
-	ld hl, $c608 + 16
-	call Function13e5
-	pop hl
-	ld a, l
-	ld [wcf63], a
-	ld a, h
-	ld [wcf64], a
-	ret
-; 11c14a
-
-Function11c14a: ; 11c14a
-	ld c, $0
-	ld hl, $c608
-.asm_11c14f
-	ld a, [hli]
-	cp $50
-	ret z
-	inc c
-	jr .asm_11c14f
-; 11c156
-
-Function11c156: ; 11c156
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	ld a, $50
-	ld hl, $c608
-	ld bc, $000b
-	call ByteFill
-	ld a, d
-	and a
-	jr z, .asm_11c19c
-	ld hl, Unknown_11daac
-	dec d
-	sla d
-	ld c, d
-	ld b, $0
-	add hl, bc
-	ld a, [hli]
-	ld c, a
-	ld a, [hl]
-	ld b, a
-	push bc
-	pop hl
-	ld c, e
-	ld b, $0
-	sla c
-	rl b
-	sla c
-	rl b
-	sla c
-	rl b
-	add hl, bc
-	ld bc, $0005
-.asm_11c18f
-	ld de, $c608
-	call CopyBytes
-	ld de, $c608
-	pop af
-	ld [rSVBK], a
-	ret
-
-.asm_11c19c
-	ld a, e
-	ld [wd265], a
-	call GetPokemonName
-	ld hl, StringBuffer1
-	ld bc, $000a
-	jr .asm_11c18f
-; 11c1ab
-
-Function11c1ab: ; 11c1ab
-	ld a, [$ffaa]
-	push af
-	ld a, $1
-	ld [$ffaa], a
-	call Function11c1b9
-	pop af
-	ld [$ffaa], a
-	ret
-; 11c1b9
-
-Function11c1b9: ; 11c1b9
-	call Function11c1ca
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	call Function11c283
-	pop af
-	ld [rSVBK], a
-	ret
-; 11c1ca
-
-Function11c1ca: ; 11c1ca
-	xor a
-	ld [wcf63], a
-	ld [wcf64], a
-	ld [wcf65], a
-	ld [wcf66], a
-	ld [wcd23], a
-	ld [BGMapBuffer], a
-	ld [wcd21], a
-	ld [CreditsTimer], a
-	ld [wcd35], a
-	ld [wcd2b], a
-	ld a, $ff
-	ld [wcd24], a
-	ld a, [wcfa9]
-	dec a
-	call Function11c254
-	call WhiteBGMap
-	call ClearSprites
-	call ClearScreen
-	call Function11d323
-	call Function32f9
-	call DisableLCD
-	ld hl, GFX_11d67e
-	ld de, VTiles2
-	ld bc, $60
-	call CopyBytes
-	ld hl, LZ_11d6de
-	ld de, VTiles0
-	call Decompress
-	call EnableLCD
-	callba Function104061
-	callba Function8cf53
-	callba Function1500c
-	callba Function40c30
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld hl, $c6d0
-	ld de, LYOverrides
-	ld bc, $100
-	call CopyBytes
-	pop af
-	ld [rSVBK], a
-	call Function11d4aa
-	call Function11d3ba
-	ret
-; 11c254
-
-Function11c254: ; 11c254
-	push af
-	ld a, $4
-	call GetSRAMBank
-	ld hl, $a007
-	pop af
-	sla a
-	sla a
-	ld c, a
-	sla a
-	add c
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld de, wcd36
-	ld bc, $000c
-	call CopyBytes
-	call CloseSRAM
-	ret
-; 11c277
-
-
-Function11c277: ; 11c277 (47:4277)
-	ld a, $7f
-	hlcoord 0, 6
-	ld bc, $f0
-	call ByteFill
-	ret
-
-Function11c283: ; 11c283
-.asm_11c283
-	call Functiona57
-	ld a, [hJoyPressed]
-	ld [hJoypadPressed], a
-	ld a, [wcf63]
-	bit 7, a
-	jr nz, .asm_11c2a2
-	call Function11c2ac
-	callba Function8cf69
-	callba Function104061
-	jr .asm_11c283
-
-.asm_11c2a2
-	callba Function8cf53
-	call ClearSprites
-	ret
-; 11c2ac
-
-Function11c2ac: ; 11c2ac
-	ld a, [wcf63]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_11c2bb
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 11c2bb
-
-
-Jumptable_11c2bb: ; 11c2bb (47:42bb)
-	dw Function11c2e9
-	dw Function11c346
-	dw Function11c35f
-	dw Function11c373
-	dw Function11c3c2
-	dw Function11c3ed
-	dw Function11c52c
-	dw Function11c53d
-	dw Function11c658
-	dw Function11c675
-	dw Function11c9bd
-	dw Function11c9c3
-	dw Function11caad
-	dw Function11cab3
-	dw Function11cb52
-	dw Function11cb66
-	dw Function11cbf5
-	dw Function11ccef
-	dw Function11cd04
-	dw Function11cd20
-	dw Function11cd54
-	dw Function11ce0b
-	dw Function11ce2b
-
-
-Function11c2e9: ; 11c2e9 (47:42e9)
-	lb de, $1a, $0d
-	ld a, $1d
-	call Function3b2a
-	lb de, $42, $0d
-	ld a, $1d
-	call Function3b2a
-	ld hl, $c
-	add hl, bc
-	ld a, $1
-	ld [hl], a
-	lb de, $4a, $10
-	ld a, $1d
-	call Function3b2a
-	ld hl, $c
-	add hl, bc
-	ld a, $3
-	ld [hl], a
-	lb de, $50, $80
-	ld a, $1d
-	call Function3b2a
-	ld hl, $c
-	add hl, bc
-	ld a, $4
-	ld [hl], a
-	lb de, $50, $20
-	ld a, $1d
-	call Function3b2a
-	ld hl, $c
-	add hl, bc
-	ld a, $5
-	ld [hl], a
-	lb de, $50, $10
-	ld a, $1d
-	call Function3b2a
-	ld hl, $c
-	add hl, bc
-	ld a, $2
-	ld [hl], a
-	ld hl, wcd23
-	set 1, [hl]
-	set 2, [hl]
-	jp Function11cfb5
-
-Function11c346: ; 11c346 (47:4346)
-	ld a, $9
-	ld [wcd2d], a
-	ld a, $2
-	ld [wcd2e], a
-	ld [wcd2f], a
-	ld [wcd30], a
-	ld de, wcd2d
-	call Function11cfce
-	jp Function11cfb5
-
-Function11c35f: ; 11c35f (47:435f)
-	ld hl, wcd2f
-	inc [hl]
-	inc [hl]
-	dec hl
-	dec hl
-	dec [hl]
-	push af
-	ld de, wcd2d
-	call Function11cfce
-	pop af
-	ret nz
-	jp Function11cfb5
-
-Function11c373: ; 11c373 (47:4373)
-	ld hl, wcd30
-	inc [hl]
-	inc [hl]
-	dec hl
-	dec hl
-	dec [hl]
-	push af
-	ld de, wcd2d
-	call Function11cfce
-	pop af
-	ret nz
-	call Function11c38a
-	jp Function11cfb5
-
-Function11c38a: ; 11c38a (47:438a)
-	ld hl, Unknown_11c986
-	ld bc, wcd36
-	ld a, $6
-.asm_11c392
-	push af
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	push hl
-	push de
-	pop hl
-	ld a, [bc]
-	inc bc
-	ld e, a
-	ld a, [bc]
-	inc bc
-	ld d, a
-	push bc
-	or e
-	jr z, .asm_11c3af
-	ld a, e
-	and d
-	cp $ff
-	jr z, .asm_11c3af
-	call Function11c05d
-	jr .asm_11c3b5
-.asm_11c3af
-	ld de, String_11c3bc
-	call PlaceString
-.asm_11c3b5
-	pop bc
-	pop hl
-	pop af
-	dec a
-	jr nz, .asm_11c392
-	ret
-; 11c3bc (47:43bc)
-
-String_11c3bc: ; 11c3bc
-	db "ーーーーー@"
-; 11c3c2
-
-Function11c3c2: ; 11c3c2 (47:43c2)
-	call Function11c277
-	ld de, Unknown_11cfbe
-	call Function11d035
-	hlcoord 1, 7
-	ld de, String_11c4db
-	call PlaceString
-	hlcoord 1, 16
-	ld de, String_11c51b
-	call PlaceString
-	call Function11c4be
-	ld hl, wcd23
-	set 0, [hl]
-	ld hl, wcd24
-	res 0, [hl]
-	call Function11cfb5
-
-Function11c3ed: ; 11c3ed (47:43ed)
-	ld hl, BGMapBuffer ; wcd20 (aliases: CreditsPos)
-	ld de, hJoypadPressed ; $ffa3
-	ld a, [de]
-	and $8
-	jr nz, .asm_11c426
-	ld a, [de]
-	and $2
-	jr nz, .asm_11c41a
-	ld a, [de]
-	and $1
-	jr nz, .asm_11c42c
-	ld de, $ffa9
-	ld a, [de]
-	and $40
-	jr nz, .asm_11c47c
-	ld a, [de]
-	and $80
-	jr nz, .asm_11c484
-	ld a, [de]
-	and $20
-	jr nz, .asm_11c48c
-	ld a, [de]
-	and $10
-	jr nz, .asm_11c498
-	ret
-.asm_11c41a
-	call PlayClickSFX
-.asm_11c41d
-	ld hl, wcd24
-	set 0, [hl]
-	ld a, $c
-	jr .asm_11c475
-.asm_11c426
-	ld a, $8
-	ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
-	ret
-.asm_11c42c
-	ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
-	cp $6
-	jr c, .asm_11c472
-	sub $6
-	jr z, .asm_11c469
-	dec a
-	jr z, .asm_11c41d
-	ld hl, wcd36
-	ld c, $c
-	xor a
-.asm_11c440
-	or [hl]
-	inc hl
-	dec c
-	jr nz, .asm_11c440
-	and a
-	jr z, .asm_11c460
-	ld de, Unknown_11cfba
-	call Function11cfce
-	decoord 1, 2
-	ld bc, wcd36
-	call Function11c08f
-	ld hl, wcd24
-	set 0, [hl]
-	ld a, $e
-	jr .asm_11c475
-.asm_11c460
-	ld hl, wcd24
-	set 0, [hl]
-	ld a, $11
-	jr .asm_11c475
-.asm_11c469
-	ld hl, wcd24
-	set 0, [hl]
-	ld a, $a
-	jr .asm_11c475
-.asm_11c472
-	call Function11c4a5
-.asm_11c475
-	ld [wcf63], a
-	call PlayClickSFX
-	ret
-.asm_11c47c
-	ld a, [hl]
-	cp $3
-	ret c
-	sub $3
-	jr .asm_11c4a3
-.asm_11c484
-	ld a, [hl]
-	cp $6
-	ret nc
-	add $3
-	jr .asm_11c4a3
-.asm_11c48c
-	ld a, [hl]
-	and a
-	ret z
-	cp $3
-	ret z
-	cp $6
-	ret z
-	dec a
-	jr .asm_11c4a3
-.asm_11c498
-	ld a, [hl]
-	cp $2
-	ret z
-	cp $5
-	ret z
-	cp $8
-	ret z
-	inc a
-.asm_11c4a3
-	ld [hl], a
-	ret
-
-Function11c4a5: ; 11c4a5 (47:44a5)
-	ld hl, wcd23
-	res 0, [hl]
-	ld a, [wcd2b]
-	and a
-	jr nz, .asm_11c4b7
-	xor a
-	ld [wcd21], a
-	ld a, $6
-	ret
-.asm_11c4b7
-	xor a
-	ld [CreditsTimer], a
-	ld a, $15
-	ret
-
-Function11c4be: ; 11c4be (47:44be)
-	ld a, $1
-	hlcoord 0, 6, AttrMap
-	ld bc, $a0
-	call ByteFill
-	ld a, $7
-	hlcoord 0, 14, AttrMap
-	ld bc, $28
-	call ByteFill
-	callba Function104061
-	ret
-; 11c4db (47:44db)
-
-String_11c4db: ; 11c4db
-	db   "6つのことば", $1f, "くみあわせます"
-	next "かえたいところ", $1f, "えらぶと でてくる"
-	next "ことばのグループから いれかえたい"
-	next "たんご", $1f, "えらんでください"
-	db   "@"
-; 11c51b
-
-String_11c51b: ; 11c51b
-	db "ぜんぶけす やめる   けってい@"
-; 11c52c
-
-Function11c52c: ; 11c52c (47:452c)
-	call Function11c277
-	call Function11c5f0
-	call Function11c618
-	ld hl, wcd24
-	res 1, [hl]
-	call Function11cfb5
-
-Function11c53d: ; 11c53d (47:453d)
-	ld hl, wcd21
-	ld de, hJoypadPressed ; $ffa3
-
-	ld a, [de]
-	and START
-	jr nz, .start
-
-	ld a, [de]
-	and SELECT
-	jr nz, .select
-
-	ld a, [de]
-	and B_BUTTON
-	jr nz, .b
-
-	ld a, [de]
-	and A_BUTTON
-	jr nz, .a
-
-	ld de, $ffa9
-
-	ld a, [de]
-	and D_UP
-	jr nz, .up
-
-	ld a, [de]
-	and D_DOWN
-	jr nz, .down
-
-	ld a, [de]
-	and D_LEFT
-	jr nz, .left
-
-	ld a, [de]
-	and D_RIGHT
-	jr nz, .right
-
-	ret
-
-.a
-	ld a, [wcd21]
-	cp $f
-	jr c, .asm_11c59d
-	sub $f
-	jr z, .asm_11c5ab
-	dec a
-	jr z, .asm_11c599
-	jr .b
-
-.start
-	ld hl, wcd24
-	set 0, [hl]
-	ld a, $8
-	ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
-
-.b
-	ld a, $4
-	jr .asm_11c59f
-
-.select
-	ld a, [wcd2b]
-	xor $1
-	ld [wcd2b], a
-	ld a, $15
-	jr .asm_11c59f
-
-.asm_11c599
-	ld a, $13
-	jr .asm_11c59f
-
-.asm_11c59d
-	ld a, $8
-
-.asm_11c59f
-	ld hl, wcd24
-	set 1, [hl]
-	ld [wcf63], a
-	call PlayClickSFX
-	ret
-
-.asm_11c5ab
-	ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
-	call Function11ca6a
-	call PlayClickSFX
-	ret
-
-.up
-	ld a, [hl]
-	cp $3
-	ret c
-	sub $3
-	jr .asm_11c5ee
-
-.down
-	ld a, [hl]
-	cp $f
-	ret nc
-	add $3
-	jr .asm_11c5ee
-
-.left
-	ld a, [hl]
-	and a
-	ret z
-	cp $3
-	ret z
-	cp $6
-	ret z
-	cp $9
-	ret z
-	cp $c
-	ret z
-	cp $f
-	ret z
-	dec a
-	jr .asm_11c5ee
-
-.right
-	ld a, [hl]
-	cp $2
-	ret z
-	cp $5
-	ret z
-	cp $8
-	ret z
-	cp $b
-	ret z
-	cp $e
-	ret z
-	cp $11
-	ret z
-	inc a
-
-.asm_11c5ee
-	ld [hl], a
-	ret
-; 11c5f0
-
-Function11c5f0: ; 11c5f0 (47:45f0)
-	ld de, Strings_11da52
-	ld bc, Unknown_11c63a
-	ld a, $f
-.asm_11c5f8
-	push af
-	ld a, [bc]
-	inc bc
-	ld l, a
-	ld a, [bc]
-	inc bc
-	ld h, a
-	push bc
-	call PlaceString
-.asm_11c603
-	inc de
-	ld a, [de]
-	cp $50
-	jr z, .asm_11c603
-	pop bc
-	pop af
-	dec a
-	jr nz, .asm_11c5f8
-	hlcoord 1, 17
-	ld de, String_11c62a
-	call PlaceString
-	ret
-
-Function11c618: ; 11c618 (47:4618)
-	ld a, $2
-	hlcoord 0, 6, AttrMap
-	ld bc, $c8
-	call ByteFill
-	callba Function104061
-	ret
-; 11c62a (47:462a)
-
-String_11c62a: ; 11c62a
-	db "けす    モード   やめる@"
-; 11c63a
-
-Unknown_11c63a: ; 11c63a
-	dwcoord  1,  7
-	dwcoord  7,  7
-	dwcoord 13,  7
-	dwcoord  1,  9
-	dwcoord  7,  9
-	dwcoord 13,  9
-	dwcoord  1, 11
-	dwcoord  7, 11
-	dwcoord 13, 11
-	dwcoord  1, 13
-	dwcoord  7, 13
-	dwcoord 13, 13
-	dwcoord  1, 15
-	dwcoord  7, 15
-	dwcoord 13, 15
-; 11c658
-
-Function11c658: ; 11c658 (47:4658)
-	call Function11c277
-	call Function11c770
-	ld de, Unknown_11cfc2
-	call Function11d035
-	call Function11c9ab
-	call Function11c7bc
-	call Function11c86e
-	ld hl, wcd24
-	res 3, [hl]
-	call Function11cfb5
-
-Function11c675: ; 11c675 (47:4675)
-	ld hl, wcd25
-	ld de, hJoypadPressed ; $ffa3
-	ld a, [de]
-	and A_BUTTON
-	jr nz, .a
-	ld a, [de]
-	and B_BUTTON
-	jr nz, .b
-	ld a, [de]
-	and START
-	jr nz, .start
-	ld a, [de]
-	and SELECT
-	jr z, .select
-
-	ld a, [wcd26]
-	and a
-	ret z
-	sub $c
-	jr nc, .asm_11c699
-	xor a
-.asm_11c699
-	ld [wcd26], a
-	jr .asm_11c6c4
-
-.start
-	ld hl, wcd28
-	ld a, [wcd26]
-	add $c
-	cp [hl]
-	ret nc
-	ld [wcd26], a
-	ld a, [hl]
-	ld b, a
-	ld hl, wcd25
-	ld a, [wcd26]
-	add [hl]
-	jr c, .asm_11c6b9
-	cp b
-	jr c, .asm_11c6c4
-.asm_11c6b9
-	ld a, [wcd28]
-	ld hl, wcd26
-	sub [hl]
-	dec a
-	ld [wcd25], a
-.asm_11c6c4
-	call Function11c992
-	call Function11c7bc
-	call Function11c86e
-	ret
-
-.select
-	ld de, $ffa9
-	ld a, [de]
-	and D_UP
-	jr nz, .asm_11c708
-	ld a, [de]
-	and D_DOWN
-	jr nz, .asm_11c731
-	ld a, [de]
-	and D_LEFT
-	jr nz, .asm_11c746
-	ld a, [de]
-	and D_RIGHT
-	jr nz, .asm_11c755
-	ret
-
-.a
-	call Function11c8f6
-	ld a, $4
-	ld [wcd35], a
-	jr .asm_11c6fc
-.b
-	ld a, [wcd2b]
-	and a
-	jr nz, .asm_11c6fa
-	ld a, $6
-	jr .asm_11c6fc
-.asm_11c6fa
-	ld a, $15
-.asm_11c6fc
-	ld [wcf63], a
-	ld hl, wcd24
-	set 3, [hl]
-	call PlayClickSFX
-	ret
-.asm_11c708
-	ld a, [hl]
-	cp $3
-	jr c, .asm_11c711
-	sub $3
-	jr .asm_11c76e
-.asm_11c711
-	ld a, [wcd26]
-	sub $3
-	ret c
-	ld [wcd26], a
-	jr .asm_11c6c4
-.asm_11c71c
-	ld hl, wcd28
-	ld a, [wcd26]
-	add $c
-	ret c
-	cp [hl]
-	ret nc
-	ld a, [wcd26]
-	add $3
-	ld [wcd26], a
-	jr .asm_11c6c4
-.asm_11c731
-	ld a, [wcd28]
-	ld b, a
-	ld a, [wcd26]
-	add [hl]
-	add $3
-	cp b
-	ret nc
-	ld a, [hl]
-	cp $9
-	jr nc, .asm_11c71c
-	add $3
-	jr .asm_11c76e
-.asm_11c746
-	ld a, [hl]
-	and a
-	ret z
-	cp $3
-	ret z
-	cp $6
-	ret z
-	cp $9
-	ret z
-	dec a
-	jr .asm_11c76e
-.asm_11c755
-	ld a, [wcd28]
-	ld b, a
-	ld a, [wcd26]
-	add [hl]
-	inc a
-	cp b
-	ret nc
-	ld a, [hl]
-	cp $2
-	ret z
-	cp $5
-	ret z
-	cp $8
-	ret z
-	cp $b
-	ret z
-	inc a
-.asm_11c76e
-	ld [hl], a
-	ret
-
-Function11c770: ; 11c770 (47:4770)
-	xor a
-	ld [wcd25], a
-	ld [wcd26], a
-	ld [wcd27], a
-	ld a, [wcd2b]
-	and a
-	jr nz, .asm_11c7ab
-	ld a, [wcd21]
-	and a
-	jr z, .asm_11c799
-	dec a
-	sla a
-	ld hl, Unknown_11f220
-	ld c, a
-	ld b, 0
-	add hl, bc
-	ld a, [hli]
-	ld [wcd28], a
-	ld a, [hl]
-.asm_11c795
-	ld [wcd29], a
-	ret
-.asm_11c799
-	ld a, [wc7d2]
-	ld [wcd28], a
-.asm_11c79f
-	ld c, $c
-	call SimpleDivide
-	and a
-	jr nz, .asm_11c7a8
-	dec b
-.asm_11c7a8
-	ld a, b
-	jr .asm_11c795
-.asm_11c7ab
-	ld hl, $c68a + 30
-	ld a, [CreditsTimer]
-	ld c, a
-	ld b, 0
-	add hl, bc
-	add hl, bc
-	ld a, [hl]
-	ld [wcd28], a
-	jr .asm_11c79f
-
-Function11c7bc: ; 11c7bc (47:47bc)
-	ld bc, Unknown_11c854
-	ld a, [wcd2b]
-	and a
-	jr nz, .asm_11c814
-	ld a, [wcd21]
-	ld d, a
-	and a
-	jr z, .asm_11c7e9
-	ld a, [wcd26]
-	ld e, a
-.asm_11c7d0
-	ld a, [bc]
-	ld l, a
-	inc bc
-	ld a, [bc]
-	ld h, a
-	inc bc
-	and l
-	cp $ff
-	ret z
-	push bc
-	push de
-	call Function11c05d
-	pop de
-	pop bc
-	inc e
-	ld a, [wcd28]
-	cp e
-	jr nz, .asm_11c7d0
-	ret
-.asm_11c7e9
-	ld hl, wd100
-	ld a, [wcd26]
-	ld e, a
-	add hl, de
-.asm_11c7f1
-	push de
-	ld a, [hli]
-	ld e, a
-	ld d, $0
-	push hl
-	ld a, [bc]
-	ld l, a
-	inc bc
-	ld a, [bc]
-	ld h, a
-	inc bc
-	and l
-	cp $ff
-	jr z, .asm_11c811
-	push bc
-	call Function11c05d
-	pop bc
-	pop hl
-	pop de
-	inc e
-	ld a, [wcd28]
-	cp e
-	jr nz, .asm_11c7f1
-	ret
-.asm_11c811
-	pop hl
-	pop de
-	ret
-.asm_11c814
-	ld hl, $c648
-	ld a, [wcd22]
-	ld e, a
-	ld d, $0
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld e, a
-	ld a, [hl]
-	ld d, a
-	push de
-	pop hl
-	ld a, [wcd26]
-	ld e, a
-	ld d, $0
-	add hl, de
-	add hl, de
-	ld a, [wcd26]
-	ld e, a
-.asm_11c831
-	push de
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	push hl
-	ld a, [bc]
-	ld l, a
-	inc bc
-	ld a, [bc]
-	ld h, a
-	inc bc
-	and l
-	cp $ff
-	jr z, .asm_11c851
-	push bc
-	call Function11c05d
-	pop bc
-	pop hl
-	pop de
-	inc e
-	ld a, [wcd28]
-	cp e
-	jr nz, .asm_11c831
-	ret
-.asm_11c851
-	pop hl
-	pop de
-	ret
-; 11c854 (47:4854)
-
-Unknown_11c854: ; 11c854
-	dwcoord  2,  8
-	dwcoord  8,  8
-	dwcoord 14,  8
-	dwcoord  2, 10
-	dwcoord  8, 10
-	dwcoord 14, 10
-	dwcoord  2, 12
-	dwcoord  8, 12
-	dwcoord 14, 12
-	dwcoord  2, 14
-	dwcoord  8, 14
-	dwcoord 14, 14
-	dw -1
-; 11c86e
-
-Function11c86e: ; 11c86e (47:486e)
-	ld a, [wcd26]
-	and a
-	jr z, .asm_11c88a
-	hlcoord 2, 17
-	ld de, String_11c8f0
-	call PlaceString
-	hlcoord 6, 17
-	ld c, $3
-	xor a
-.asm_11c883
-	ld [hli], a
-	inc a
-	dec c
-	jr nz, .asm_11c883
-	jr .asm_11c895
-.asm_11c88a
-	hlcoord 2, 17
-	ld c, $7
-	ld a, $7f
-.asm_11c891
-	ld [hli], a
-	dec c
-	jr nz, .asm_11c891
-.asm_11c895
-	ld hl, wcd28
-	ld a, [wcd26]
-	add $c
-	jr c, .asm_11c8b7
-	cp [hl]
-	jr nc, .asm_11c8b7
-	hlcoord 16, 17
-	ld de, String_11c8f3
-	call PlaceString
-	hlcoord 11, 17
-	ld a, $3
-	ld c, a
-.asm_11c8b1
-	ld [hli], a
-	inc a
-	dec c
-	jr nz, .asm_11c8b1
-	ret
-.asm_11c8b7
-	hlcoord 17, 16
-	ld a, $7f
-	ld [hl], a
-	hlcoord 11, 17
-	ld c, $7
-.asm_11c8c2
-	ld [hli], a
-	dec c
-	jr nz, .asm_11c8c2
-	ret
-; 11c8c7 (47:48c7)
-
-Function11c8c7: ; 11c8c7
-	inc a
-	push af
-	and $f
-	ld [hDividend], a
-	pop af
-	and $f0
-	swap a
-	ld [hQuotient], a
-	xor a
-	ld [$ffb5], a
-	push hl
-	callba Function11a80c
-	pop hl
-	ld a, [wcd63]
-	add $f6
-	ld [hli], a
-	ld a, [wcd62]
-	add $f6
-	ld [hli], a
-	ret
-; 11c8ec
-
-String_11c8ec: ; 11c8ec
-	db "ぺージ@"
-; 11c8f0
-
-String_11c8f0: ; 11c8f0
-	db "まえ@"
-; 11c8f3
-
-String_11c8f3: ; 11c8f3
-	db "つぎ@"
-; 11c8f6
-
-Function11c8f6: ; 11c8f6 (47:48f6)
-	ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
-	call Function11c95d
-	push hl
-	ld a, [wcd2b]
-	and a
-	jr nz, .asm_11c938
-	ld a, [wcd21]
-	ld d, a
-	and a
-	jr z, .asm_11c927
-	ld hl, wcd26
-	ld a, [wcd25]
-	add [hl]
-.asm_11c911
-	ld e, a
-.asm_11c912
-	pop hl
-	push de
-	call Function11c05d
-	pop de
-	ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
-	ld c, a
-	ld b, $0
-	ld hl, wcd36
-	add hl, bc
-	add hl, bc
-	ld [hl], e
-	inc hl
-	ld [hl], d
-	ret
-.asm_11c927
-	ld hl, wcd26
-	ld a, [wcd25]
-	add [hl]
-	ld c, a
-	ld b, $0
-	ld hl, wd100
-	add hl, bc
-	ld a, [hl]
-	jr .asm_11c911
-.asm_11c938
-	ld hl, $c648
-	ld a, [wcd22]
-	ld e, a
-	ld d, $0
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld e, a
-	ld a, [hl]
-	ld d, a
-	push de
-	pop hl
-	ld a, [wcd26]
-	ld e, a
-	ld d, $0
-	add hl, de
-	add hl, de
-	ld a, [wcd25]
-	ld e, a
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld e, a
-	ld a, [hl]
-	ld d, a
-	jr .asm_11c912
-
-Function11c95d: ; 11c95d (47:495d)
-	sla a
-	ld c, a
-	ld b, 0
-	ld hl, Unknown_11c986
-	add hl, bc
-	ld a, [hli]
-	ld c, a
-	ld a, [hl]
-	ld b, a
-	push bc
-	push bc
-	pop hl
-	ld a, $5
-	ld c, a
-	ld a, $7f
-.asm_11c972
-	ld [hli], a
-	dec c
-	jr nz, .asm_11c972
-	dec hl
-	ld bc, -20
-	add hl, bc
-	ld a, $5
-	ld c, a
-	ld a, $7f
-.asm_11c980
-	ld [hld], a
-	dec c
-	jr nz, .asm_11c980
-	pop hl
-	ret
-; 11c986 (47:4986)
-
-Unknown_11c986:
-	dwcoord  1,  2
-	dwcoord  7,  2
-	dwcoord 13,  2
-	dwcoord  1,  4
-	dwcoord  7,  4
-	dwcoord 13,  4
-; 11c992
-
-Function11c992: ; 11c992 (47:4992)
-	ld a, $8
-	hlcoord 2, 7
-.asm_11c997
-	push af
-	ld a, $7f
-	push hl
-	ld bc, $11
-	call ByteFill
-	pop hl
-	ld bc, $14
-	add hl, bc
-	pop af
-	dec a
-	jr nz, .asm_11c997
-	ret
-
-Function11c9ab: ; 11c9ab (47:49ab)
-	ld a, $7
-	hlcoord 0, 6, AttrMap
-	ld bc, $c8
-	call ByteFill
-	callba Function104061
-	ret
-
-Function11c9bd: ; 11c9bd (47:49bd)
-	ld de, String_11ca38
-	call Function11ca7f
-
-Function11c9c3: ; 11c9c3 (47:49c3)
-	ld hl, wcd2a
-	ld de, hJoypadPressed ; $ffa3
-	ld a, [de]
-	and $1
-	jr nz, .asm_11c9de
-	ld a, [de]
-	and $2
-	jr nz, .asm_11c9e9
-	ld a, [de]
-	and $40
-	jr nz, .asm_11c9f7
-	ld a, [de]
-	and $80
-	jr nz, .asm_11c9fc
-	ret
-.asm_11c9de
-	ld a, [hl]
-	and a
-	jr nz, .asm_11c9e9
-	call Function11ca5e
-	xor a
-	ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
-.asm_11c9e9
-	ld hl, wcd24
-	set 4, [hl]
-	ld a, $4
-	ld [wcf63], a
-	call PlayClickSFX
-	ret
-.asm_11c9f7
-	ld a, [hl]
-	and a
-	ret z
-	dec [hl]
-	ret
-.asm_11c9fc
-	ld a, [hl]
-	and a
-	ret nz
-	inc [hl]
-	ret
-
-Function11ca01: ; 11ca01 (47:4a01)
-	hlcoord 14, 7, AttrMap
-	ld de, $14
-	ld a, $5
-	ld c, a
-.asm_11ca0a
-	push hl
-	ld a, $6
-	ld b, a
-	ld a, $7
-.asm_11ca10
-	ld [hli], a
-	dec b
-	jr nz, .asm_11ca10
-	pop hl
-	add hl, de
-	dec c
-	jr nz, .asm_11ca0a
-
-Function11ca19: ; 11ca19 (47:4a19)
-	hlcoord 0, 12, AttrMap
-	ld de, $14
-	ld a, $6
-	ld c, a
-.asm_11ca22
-	push hl
-	ld a, $14
-	ld b, a
-	ld a, $7
-.asm_11ca28
-	ld [hli], a
-	dec b
-	jr nz, .asm_11ca28
-	pop hl
-	add hl, de
-	dec c
-	jr nz, .asm_11ca22
-	callba Function104061
-	ret
-; 11ca38 (47:4a38)
-
-String_11ca38: ; 11ca38
-	db   "とうろくちゅう", $25, "あいさつ", $1f, "ぜんぶ"
-	next "けしても よろしいですか?@"
-; 11ca57
-
-String_11ca57: ; 11ca57
-	db   "はい"
-	next "いいえ@"
-; 11ca5e
-
-Function11ca5e: ; 11ca5e (47:4a5e)
-	xor a
-.asm_11ca5f
-	push af
-	call Function11ca6a
-	pop af
-	inc a
-	cp $6
-	jr nz, .asm_11ca5f
-	ret
-
-Function11ca6a: ; 11ca6a (47:4a6a)
-	ld hl, wcd36
-	ld c, a
-	ld b, $0
-	add hl, bc
-	add hl, bc
-	ld [hl], b
-	inc hl
-	ld [hl], b
-	call Function11c95d
-	ld de, String_11c3bc
-	call PlaceString
-	ret
-
-Function11ca7f: ; 11ca7f (47:4a7f)
-	push de
-	ld de, Unknown_11cfc6
-	call Function11cfce
-	ld de, Unknown_11cfca
-	call Function11cfce
-	hlcoord 1, 14
-	pop de
-	call PlaceString
-	hlcoord 16, 8
-	ld de, String_11ca57
-	call PlaceString
-	call Function11ca01
-	ld a, $1
-	ld [wcd2a], a
-	ld hl, wcd24
-	res 4, [hl]
-	call Function11cfb5
-	ret
-
-Function11caad: ; 11caad (47:4aad)
-	ld de, String_11cb1c
-	call Function11ca7f
-
-Function11cab3: ; 11cab3 (47:4ab3)
-	ld hl, wcd2a
-	ld de, hJoypadPressed ; $ffa3
-	ld a, [de]
-	and $1
-	jr nz, .asm_11cace
-	ld a, [de]
-	and $2
-	jr nz, .asm_11caf9
-	ld a, [de]
-	and $40
-	jr nz, .asm_11cb12
-	ld a, [de]
-	and $80
-	jr nz, .asm_11cb17
-	ret
-.asm_11cace
-	call PlayClickSFX
-	ld a, [hl]
-	and a
-	jr nz, .asm_11cafc
-	ld a, [wcd35]
-	and a
-	jr z, .asm_11caf3
-	cp $ff
-	jr z, .asm_11caf3
-	ld a, $ff
-	ld [wcd35], a
-	hlcoord 1, 14
-	ld de, String_11cb31
-	call PlaceString
-	ld a, $1
-	ld [wcd2a], a
-	ret
-.asm_11caf3
-	ld hl, wcf63
-	set 7, [hl]
-	ret
-.asm_11caf9
-	call PlayClickSFX
-.asm_11cafc
-	ld hl, wcd24
-	set 4, [hl]
-	ld a, $4
-	ld [wcf63], a
-	ld a, [wcd35]
-	cp $ff
-	ret nz
-	ld a, $1
-	ld [wcd35], a
-	ret
-.asm_11cb12
-	ld a, [hl]
-	and a
-	ret z
-	dec [hl]
-	ret
-.asm_11cb17
-	ld a, [hl]
-	and a
-	ret nz
-	inc [hl]
-	ret
-; 11cb1c (47:4b1c)
-
-String_11cb1c: ; 11cb1c
-	db   "あいさつ", $25, "とうろく", $1f, "ちゅうし"
-	next "しますか?@"
-; 11cb31
-
-String_11cb31: ; 11cb31
-	db   "とうろくちゅう", $25, "あいさつ", $24, "ほぞん"
-	next "されません", $4a, "よろしい ですか?@"
-; 11cb52
-
-Function11cb52: ; 11cb52 (47:4b52)
-	ld hl, Unknown_11cc01
-	ld a, [wcfa9]
-.asm_11cb58
-	dec a
-	jr z, .asm_11cb5f
-	inc hl
-	inc hl
-	jr .asm_11cb58
-.asm_11cb5f
-	ld a, [hli]
-	ld e, a
-	ld a, [hl]
-	ld d, a
-	call Function11ca7f
-
-Function11cb66: ; 11cb66 (47:4b66)
-	ld hl, wcd2a
-	ld de, hJoypadPressed ; $ffa3
-	ld a, [de]
-	and $1
-	jr nz, .asm_11cb81
-	ld a, [de]
-	and $2
-	jr nz, .asm_11cbd7
-	ld a, [de]
-	and $40
-	jr nz, .asm_11cbeb
-	ld a, [de]
-	and $80
-	jr nz, .asm_11cbf0
-	ret
-.asm_11cb81
-	ld a, [hl]
-	and a
-	jr nz, .asm_11cbd4
-	ld a, $4
-	call GetSRAMBank
-	ld hl, $a007
-	ld a, [wcfa9]
-	dec a
-	sla a
-	sla a
-	ld c, a
-	sla a
-	add c
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld de, wcd36
-	ld c, $c
-.asm_11cba2
-	ld a, [de]
-	ld [hli], a
-	inc de
-	dec c
-	jr nz, .asm_11cba2
-	call CloseSRAM
-	call PlayClickSFX
-	ld de, Unknown_11cfc6
-	call Function11cfce
-	ld hl, Unknown_11cc7e
-	ld a, [wcfa9]
-.asm_11cbba
-	dec a
-	jr z, .asm_11cbc1
-	inc hl
-	inc hl
-	jr .asm_11cbba
-.asm_11cbc1
-	ld a, [hli]
-	ld e, a
-	ld a, [hl]
-	ld d, a
-	hlcoord 1, 14
-	call PlaceString
-	ld hl, wcf63
-	inc [hl]
-	inc hl
-	ld a, $10
-	ld [hl], a
-	ret
-.asm_11cbd4
-	call PlayClickSFX
-.asm_11cbd7
-	ld de, Unknown_11cfba
-	call Function11cfce
-	call Function11c38a
-	ld hl, wcd24
-	set 4, [hl]
-	ld a, $4
-	ld [wcf63], a
-	ret
-.asm_11cbeb
-	ld a, [hl]
-	and a
-	ret z
-	dec [hl]
-	ret
-.asm_11cbf0
-	ld a, [hl]
-	and a
-	ret nz
-	inc [hl]
-	ret
-
-Function11cbf5: ; 11cbf5 (47:4bf5)
-	call WaitSFX
-	ld hl, wcf64
-	dec [hl]
-	ret nz
-	dec hl
-	set 7, [hl]
-	ret
-; 11cc01 (47:4c01)
-
-Unknown_11cc01: ; 11cc01
-	dw String_11cc09
-	dw String_11cc23
-	dw String_11cc42
-	dw String_11cc60
-
-String_11cc09: ; 11cc09
-	db   "じこしょうかい は"
-	next "この あいさつで いいですか?@"
-
-String_11cc23: ; 11cc23
-	db   "たいせん ", $4a, "はじまるとき は"
-	next "この あいさつで いいですか?@"
-
-String_11cc42: ; 11cc42
-	db   "たいせん ", $1d, "かったとき は"
-	next "この あいさつで いいですか?@"
-
-String_11cc60: ; 11cc60
-	db   "たいせん ", $1d, "まけたとき は"
-	next "この あいさつで いいですか?@"
-; 11cc7e
-
-Unknown_11cc7e: ; 11cc7e
-	dw String_11cc86
-	dw String_11cc9d
-	dw String_11ccb9
-	dw String_11ccd4
-
-String_11cc86: ; 11cc86
-	db   "じこしょうかい の"
-	next "あいさつ", $1f, "とうろくした!@"
-
-String_11cc9d: ; 11cc9d
-	db   "たいせん ", $4a, "はじまるとき の"
-	next "あいさつ", $1f, "とうろくした!@"
-
-String_11ccb9: ; 11ccb9
-	db   "たいせん ", $1d, "かったとき の"
-	next "あいさつ", $1f, "とうろくした!@"
-
-String_11ccd4: ; 11ccd4
-	db   "たいせん ", $1d, "まけたとき の"
-	next "あいさつ", $1f, "とうろくした!@"
-; 11ccef
-
-Function11ccef: ; 11ccef (47:4cef)
-	ld de, Unknown_11cfc6
-	call Function11cfce
-	hlcoord 1, 14
-	ld de, String_11cd10
-	call PlaceString
-	call Function11ca19
-	call Function11cfb5
-
-Function11cd04: ; 11cd04 (47:4d04)
-	ld de, hJoypadPressed ; $ffa3
-	ld a, [de]
-	and a
-	ret z
-	ld a, $4
-	ld [wcf63], a
-	ret
-; 11cd10 (47:4d10)
-
-String_11cd10: ; 11cd10
-	db "なにか ことば", $1f, "いれてください@"
-; 11cd20
-
-Function11cd20: ; 11cd20 (47:4d20)
-	call Function11c277
-	ld de, Unknown_11cfc6
-	call Function11cfce
-	hlcoord 1, 14
-	ld a, [wcd2b]
-	ld [wcd2c], a
-	and a
-	jr nz, .asm_11cd3a
-	ld de, String_11cdc7
-	jr .asm_11cd3d
-.asm_11cd3a
-	ld de, String_11cdd9
-.asm_11cd3d
-	call PlaceString
-	hlcoord 4, 8
-	ld de, String_11cdf5
-	call PlaceString
-	call Function11cdaa
-	ld hl, wcd24
-	res 5, [hl]
-	call Function11cfb5
-
-Function11cd54: ; 11cd54 (47:4d54)
-	ld hl, wcd2c
-	ld de, hJoypadPressed ; $ffa3
-	ld a, [de]
-	and A_BUTTON
-	jr nz, .asm_11cd6f
-	ld a, [de]
-	and B_BUTTON
-	jr nz, .asm_11cd73
-	ld a, [de]
-	and D_UP
-	jr nz, .asm_11cd8b
-	ld a, [de]
-	and D_DOWN
-	jr nz, .asm_11cd94
-	ret
-
-.asm_11cd6f
-	ld a, [hl]
-	ld [wcd2b], a
-.asm_11cd73
-	ld a, [wcd2b]
-	and a
-	jr nz, .asm_11cd7d
-	ld a, $6
-	jr .asm_11cd7f
-
-.asm_11cd7d
-	ld a, $15
-.asm_11cd7f
-	ld [wcf63], a
-	ld hl, wcd24
-	set 5, [hl]
-	call PlayClickSFX
-	ret
-
-.asm_11cd8b
-	ld a, [hl]
-	and a
-	ret z
-	dec [hl]
-	ld de, String_11cdc7
-	jr .asm_11cd9b
-
-.asm_11cd94
-	ld a, [hl]
-	and a
-	ret nz
-	inc [hl]
-	ld de, String_11cdd9
-.asm_11cd9b
-	push de
-	ld de, Unknown_11cfc6
-	call Function11cfce
-	pop de
-	hlcoord 1, 14
-	call PlaceString
-	ret
-
-Function11cdaa: ; 11cdaa (47:4daa)
-	ld a, $2
-	hlcoord 0, 6, AttrMap
-	ld bc, $78
-	call ByteFill
-	ld a, $7
-	hlcoord 0, 12, AttrMap
-	ld bc, $50
-	call ByteFill
-	callba Function104061
-	ret
-; 11cdc7 (47:4dc7)
-
-String_11cdc7: ; 11cdc7
-	db   "ことば", $1f, "しゅるいべつに"
-	next "えらべます@"
-; 11cdd9
-
-String_11cdd9: ; 11cdd9
-	db   "ことば", $1f, "アイウエォ の"
-	next "じゅんばんで ひょうじ します@"
-; 11cdf5
-
-String_11cdf5: ; 11cdf5
-	db "しゅるいべつ モード"
-	next "アイウエォ  モード@"
-; 11ce0b
-
-Function11ce0b: ; 11ce0b (47:4e0b)
-	call Function11c277
-	hlcoord 1, 7
-	ld de, String_11cf79
-	call PlaceString
-	hlcoord 1, 17
-	ld de, String_11c62a
-	call PlaceString
-	call Function11c618
-	ld hl, wcd24
-	res 2, [hl]
-	call Function11cfb5
-
-Function11ce2b: ; 11ce2b (47:4e2b)
-	ld a, [CreditsTimer]
-	sla a
-	sla a
-	ld c, a
-	ld b, 0
-	ld hl, Unknown_11ceb9
-	add hl, bc
-
-	ld de, hJoypadPressed ; $ffa3
-	ld a, [de]
-	and START
-	jr nz, .start
-	ld a, [de]
-	and SELECT
-	jr nz, .select
-	ld a, [de]
-	and A_BUTTON
-	jr nz, .a
-	ld a, [de]
-	and B_BUTTON
-	jr nz, .b
-
-	ld de, $ffa9
-	ld a, [de]
-	and D_UP
-	jr nz, .up
-	ld a, [de]
-	and D_DOWN
-	jr nz, .down
-	ld a, [de]
-	and D_LEFT
-	jr nz, .left
-	ld a, [de]
-	and D_RIGHT
-	jr nz, .right
-
-	ret
-
-.a
-	ld a, [CreditsTimer]
-	cp $2d
-	jr c, .asm_11ce92
-	sub $2d
-	jr z, .asm_11cea4
-	dec a
-	jr z, .asm_11ce96
-	jr .b
-
-.start
-	ld hl, wcd24
-	set 0, [hl]
-	ld a, $8
-	ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
-.b
-	ld a, $4
-	jr .asm_11ce98
-.select
-	ld a, [wcd2b]
-	xor $1
-	ld [wcd2b], a
-	ld a, $6
-	jr .asm_11ce98
-
-.asm_11ce92
-	ld a, $8
-	jr .asm_11ce98
-
-.asm_11ce96
-	ld a, $13
-.asm_11ce98
-	ld [wcf63], a
-	ld hl, wcd24
-	set 2, [hl]
-	call PlayClickSFX
-	ret
-.asm_11cea4
-	ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
-	call Function11ca6a
-	call PlayClickSFX
-	ret
-
-.left
-	inc hl
-.down
-	inc hl
-.right
-	inc hl
-.up
-	ld a, [hl]
-	cp $ff
-	ret z
-	ld [CreditsTimer], a
-	ret
-; 11ceb9 (47:4eb9)
-
-Unknown_11ceb9: ; 11ceb9
-	; up left down right
-	db $ff, $01, $05, $ff
-	db $ff, $02, $06, $00
-	db $ff, $03, $07, $01
-	db $ff, $04, $08, $02
-	db $ff, $14, $09, $03
-	db $00, $06, $0a, $ff
-	db $01, $07, $0b, $05
-	db $02, $08, $0c, $06
-	db $03, $09, $0d, $07
-	db $04, $19, $0e, $08
-	db $05, $0b, $0f, $ff
-	db $06, $0c, $10, $0a
-	db $07, $0d, $11, $0b
-	db $08, $0e, $12, $0c
-	db $09, $1e, $13, $0d
-	db $0a, $10, $2d, $ff
-	db $0b, $11, $2d, $0f
-	db $0c, $12, $2d, $10
-	db $0d, $13, $2d, $11
-	db $0e, $26, $2d, $12
-	db $ff, $15, $19, $04
-	db $ff, $16, $1a, $14
-	db $ff, $17, $1b, $15
-	db $ff, $18, $1c, $16
-	db $ff, $23, $1d, $17
-	db $14, $1a, $1e, $09
-	db $15, $1b, $1f, $19
-	db $16, $1c, $20, $1a
-	db $17, $1d, $21, $1b
-	db $18, $2b, $22, $1c
-	db $19, $1f, $26, $0e
-	db $1a, $20, $27, $1e
-	db $1b, $21, $28, $1f
-	db $1c, $22, $29, $20
-	db $1d, $2c, $2a, $21
-	db $ff, $24, $2b, $18
-	db $ff, $25, $2b, $23
-	db $ff, $ff, $2b, $24
-	db $1e, $27, $2e, $13
-	db $1f, $28, $2e, $26
-	db $20, $29, $2e, $27
-	db $21, $2a, $2e, $28
-	db $22, $ff, $2e, $29
-	db $23, $ff, $2c, $1d
-	db $2b, $ff, $2f, $22
-	db $0f, $2e, $ff, $ff
-	db $26, $2f, $ff, $2d
-	db $2c, $ff, $ff, $2e
-; 11cf79
-
-String_11cf79: ; 11cf79
-	db   "あいうえお なにぬねの や ゆ よ"
-	next "かきくけこ はひふへほ わ"
-	next "さしすせそ まみむめも そのた"
-	next "たちつてと らりるれろ"
-	db   "@"
-; 11cfb5
-
-Function11cfb5: ; 11cfb5 (47:4fb5)
-	ld hl, wcf63
-	inc [hl]
-	ret
-; 11cfba (47:4fba)
-
-Unknown_11cfba:
-	db  0,  0 ; start coords
-	db 20,  6 ; end coords
-
-Unknown_11cfbe:
-	db  0, 14 ; start coords
-	db 20,  4 ; end coords
-
-Unknown_11cfc2:
-	db  0,  6 ; start coords
-	db 20, 10 ; end coords
-
-Unknown_11cfc6:
-	db  0, 12 ; start coords
-	db 20,  6 ; end coords
-
-Unknown_11cfca:
-	db 14,  7 ; start coords
-	db  6,  5 ; end coords
-; 11cfce
-
-Function11cfce: ; 11cfce (47:4fce)
-	ld hl, TileMap
-	ld bc, $14
-	ld a, [de]
-	inc de
-	push af
-	ld a, [de]
-	inc de
-	and a
-.asm_11cfda
-	jr z, .asm_11cfe0
-	add hl, bc
-	dec a
-	jr .asm_11cfda
-.asm_11cfe0
-	pop af
-	ld c, a
-	ld b, 0
-	add hl, bc
-	push hl
-	ld a, $79
-	ld [hli], a
-	ld a, [de]
-	inc de
-	dec a
-	dec a
-	jr z, .asm_11cff6
-	ld c, a
-	ld a, $7a
-.asm_11cff2
-	ld [hli], a
-	dec c
-	jr nz, .asm_11cff2
-.asm_11cff6
-	ld a, $7b
-	ld [hl], a
-	pop hl
-	ld bc, $14
-	add hl, bc
-	ld a, [de]
-	dec de
-	dec a
-	dec a
-	jr z, .asm_11d022
-	ld b, a
-.asm_11d005
-	push hl
-	ld a, $7c
-	ld [hli], a
-	ld a, [de]
-	dec a
-	dec a
-	jr z, .asm_11d015
-	ld c, a
-	ld a, $7f
-.asm_11d011
-	ld [hli], a
-	dec c
-	jr nz, .asm_11d011
-.asm_11d015
-	ld a, $7c
-	ld [hl], a
-	pop hl
-	push bc
-	ld bc, $14
-	add hl, bc
-	pop bc
-	dec b
-	jr nz, .asm_11d005
-.asm_11d022
-	ld a, $7d
-	ld [hli], a
-	ld a, [de]
-	dec a
-	dec a
-	jr z, .asm_11d031
-	ld c, a
-	ld a, $7a
-.asm_11d02d
-	ld [hli], a
-	dec c
-	jr nz, .asm_11d02d
-.asm_11d031
-	ld a, $7e
-	ld [hl], a
-	ret
-
-Function11d035: ; 11d035 (47:5035)
-	ld hl, TileMap
-	ld bc, $14
-	ld a, [de]
-	inc de
-	push af
-	ld a, [de]
-	inc de
-	and a
-.asm_11d041
-	jr z, .asm_11d047
-	add hl, bc
-	dec a
-	jr .asm_11d041
-.asm_11d047
-	pop af
-	ld c, a
-	ld b, $0
-	add hl, bc
-	push hl
-	ld a, $79
-	ld [hl], a
-	pop hl
-	push hl
-	ld a, [de]
-	dec a
-	inc de
-	ld c, a
-	add hl, bc
-	ld a, $7b
-	ld [hl], a
-	call Function11d0ac
-	ld a, $7e
-	ld [hl], a
-	pop hl
-	push hl
-	call Function11d0ac
-	ld a, $7d
-	ld [hl], a
-	pop hl
-	push hl
-	inc hl
-	push hl
-	call Function11d0ac
-	pop bc
-	dec de
-	ld a, [de]
-	cp $2
-	jr z, .asm_11d082
-	dec a
-	dec a
-.asm_11d078
-	push af
-	ld a, $7a
-	ld [hli], a
-	ld [bc], a
-	inc bc
-	pop af
-	dec a
-	jr nz, .asm_11d078
-.asm_11d082
-	pop hl
-	ld bc, $14
-	add hl, bc
-	push hl
-	ld a, [de]
-	dec a
-	ld c, a
-	ld b, $0
-	add hl, bc
-	pop bc
-	inc de
-	ld a, [de]
-	cp $2
-	ret z
-	push bc
-	dec a
-	dec a
-	ld c, a
-	ld b, a
-	ld de, $14
-.asm_11d09c
-	ld a, $7c
-	ld [hl], a
-	add hl, de
-	dec c
-	jr nz, .asm_11d09c
-	pop hl
-.asm_11d0a4
-	ld a, $7c
-	ld [hl], a
-	add hl, de
-	dec b
-	jr nz, .asm_11d0a4
-	ret
-
-Function11d0ac: ; 11d0ac (47:50ac)
-	ld a, [de]
-	dec a
-	ld bc, $14
-.asm_11d0b1
-	add hl, bc
-	dec a
-	jr nz, .asm_11d0b1
-	ret
-
-Function11d0b6: ; 11d0b6 (47:50b6)
-	ld hl, $c
-	add hl, bc
-	ld a, [hl]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_11d0c7
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-
-Jumptable_11d0c7: ; 11d0c7 (47:50c7)
-	dw Function11d0dd
-	dw Function11d0e9
-	dw Function11d0f5
-	dw Function11d10f
-	dw Function11d134
-	dw Function11d145
-	dw Function11d156
-	dw Function11d175
-	dw Function11d1d7
-	dw Function11d1d1
-	dw Function11d1fc
-
-
-Function11d0dd: ; 11d0dd (47:50dd)
-	ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
-	sla a
-	ld hl, Unknown_11d208
-	ld e, $1
-	jr asm_11d11e
-
-Function11d0e9: ; 11d0e9 (47:50e9)
-	ld a, [wcd21]
-	sla a
-	ld hl, Unknown_11d21a
-	ld e, $2
-	jr asm_11d11e
-
-Function11d0f5: ; 11d0f5 (47:50f5)
-	ld hl, Unknown_11d2be
-	ld a, [CreditsTimer]
-	ld e, a
-	ld d, $0
-	add hl, de
-	ld a, [hl]
-	call Function3b3c
-	ld a, [CreditsTimer]
-	sla a
-	ld hl, Unknown_11d23e
-	ld e, $4
-	jr asm_11d11e
-
-Function11d10f: ; 11d10f (47:510f)
-	ld a, $27
-	call Function3b3c
-	ld a, [wcd25]
-	sla a
-	ld hl, Unknown_11d29e
-	ld e, $8
-
-asm_11d11e: ; 11d11e (47:511e)
-	push de
-	ld e, a
-	ld d, $0
-	add hl, de
-	push hl
-	pop de
-	ld hl, $4
-	add hl, bc
-	ld a, [de]
-	inc de
-	ld [hli], a
-	ld a, [de]
-	ld [hl], a
-	pop de
-	ld a, e
-	call Function11d2ee
-	ret
-
-Function11d134: ; 11d134 (47:5134)
-	ld a, $27
-	call Function3b3c
-	ld a, [wcd2a]
-	sla a
-	ld hl, Unknown_11d2b6
-	ld e, $10
-	jr asm_11d11e
-
-Function11d145: ; 11d145 (47:5145)
-	ld a, $27
-	call Function3b3c
-	ld a, [wcd2c]
-	sla a
-	ld hl, Unknown_11d2ba
-	ld e, $20
-	jr asm_11d11e
-
-Function11d156: ; 11d156 (47:5156)
-	ld a, $2a
-	call Function3b3c
-	ld a, [wcd4a]
-	sla a
-	sla a
-	sla a
-	add $18
-	ld hl, $4
-	add hl, bc
-	ld [hli], a
-	ld a, $30
-	ld [hl], a
-	ld a, $1
-	ld e, a
-	call Function11d2ee
-	ret
-
-Function11d175: ; 11d175 (47:5175)
-	ld a, [wcd4d]
-	cp $4
-	jr z, .asm_11d180
-	ld a, $28
-	jr .asm_11d182
-.asm_11d180
-	ld a, $26
-.asm_11d182
-	call Function3b3c
-	ld a, [wcd4d]
-	cp $4
-	jr z, .asm_11d1b1
-	ld a, [wcd4c]
-	sla a
-	sla a
-	sla a
-	add $20
-	ld hl, $4
-	add hl, bc
-	ld [hli], a
-	ld a, [wcd4d]
-	sla a
-	sla a
-	sla a
-	sla a
-	add $48
-	ld [hl], a
-	ld a, $2
-	ld e, a
-	call Function11d2ee
-	ret
-.asm_11d1b1
-	ld a, [wcd4c]
-	sla a
-	sla a
-	sla a
-	ld e, a
-	sla a
-	sla a
-	add e
-	add $18
-	ld hl, $4
-	add hl, bc
-	ld [hli], a
-	ld a, $8a
-	ld [hl], a
-	ld a, $2
-	ld e, a
-	call Function11d2ee
-	ret
-
-Function11d1d1: ; 11d1d1 (47:51d1)
-	ld d, $98
-	ld a, $2c
-	jr asm_11d1db
-
-Function11d1d7: ; 11d1d7 (47:51d7)
-	ld d, $10
-	ld a, $2b
-
-asm_11d1db: ; 11d1db (47:51db)
-	push de
-	call Function3b3c
-	ld a, [wcd4a]
-	sla a
-	sla a
-	sla a
-	ld e, a
-	sla a
-	add e
-	add $40
-	ld hl, $5
-	add hl, bc
-	ld [hld], a
-	pop af
-	ld [hl], a
-	ld a, $4
-	ld e, a
-	call Function11d2ee
-	ret
-
-Function11d1fc: ; 11d1fc (47:51fc)
-	ld a, $26
-	call Function3b3c
-	ld a, $8
-	ld e, a
-	call Function11d2ee
-	ret
-; 11d208 (47:5208)
-
-Unknown_11d208: ; 11d208
-INCBIN "baserom.gbc",$11d208,$11d21a - $11d208
-Unknown_11d21a: ; 11d21a
-INCBIN "baserom.gbc",$11d21a,$11d23e - $11d21a
-Unknown_11d23e: ; 11d23e
-INCBIN "baserom.gbc",$11d23e,$11d29e - $11d23e
-Unknown_11d29e: ; 11d29e
-INCBIN "baserom.gbc",$11d29e,$11d2b6 - $11d29e
-Unknown_11d2b6: ; 11d2b6
-INCBIN "baserom.gbc",$11d2b6,$11d2ba - $11d2b6
-Unknown_11d2ba: ; 11d2ba
-INCBIN "baserom.gbc",$11d2ba,$11d2be - $11d2ba
-Unknown_11d2be: ; 11d2be
-INCBIN "baserom.gbc",$11d2be,$11d2ee - $11d2be
-
-Function11d2ee: ; 11d2ee (47:52ee)
-	ld hl, wcd24
-	and [hl]
-	jr nz, .asm_11d316
-	ld a, e
-	ld hl, wcd23
-	and [hl]
-	jr z, .asm_11d30f
-	ld hl, $e
-	add hl, bc
-	ld a, [hl]
-	and a
-	jr z, .asm_11d305
-	dec [hl]
-	ret
-.asm_11d305
-	ld a, $0
-	ld [hld], a
-	ld a, $1
-	xor [hl]
-	ld [hl], a
-	and a
-	jr nz, .asm_11d316
-.asm_11d30f
-	ld hl, $7
-	add hl, bc
-	xor a
-	ld [hl], a
-	ret
-.asm_11d316
-	ld hl, $5
-	add hl, bc
-	ld a, $b0
-	sub [hl]
-	ld hl, $7
-	add hl, bc
-	ld [hl], a
-	ret
-
-Function11d323: ; 11d323
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld hl, Palette_11d33a
-	ld de, Unkn1Pals
-	ld bc, $0080
-	call CopyBytes
-	pop af
-	ld [rSVBK], a
-	ret
-; 11d33a
-
-Palette_11d33a:
-	RGB 31, 31, 31
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 31, 16, 31
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 23, 17, 31
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 31, 31, 31
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 31, 31, 31
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 31, 31, 31
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 31, 31, 31
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 31, 31, 31
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-	RGB 00, 00, 00
-; 11d3ba
-
-Function11d3ba: ; 11d3ba
-	ld a, [rSVBK]
-	push af
-	ld hl, BattleMonSpclDef
-	ld a, $0
-	ld [wcd2d], a
-	ld [hli], a
-	ld a, $d8
-	ld [wcd2e], a
-	ld [hl], a
-	ld a, $fe
-	ld [wcd2f], a
-	ld a, $54
-	ld [wcd30], a
-	ld a, $a8
-	ld [wcd31], a
-	ld a, $c6
-	ld [wcd32], a
-	ld a, $4a
-	ld [wcd33], a
-	ld a, $c6
-	ld [wcd34], a
-	ld hl, Unknown_11f23c
-	ld a, $2d
-
-Function11d3ef: ; 11d3ef
-	push af
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	push hl
-	ld hl, Unkn1Pals
-	add hl, de
-	ld a, [wcd2d]
-	ld e, a
-	ld a, [wcd2e]
-	ld d, a
-	push bc
-.asm_11d406
-	ld a, $3
-	ld [rSVBK], a
-	ld a, [hli]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	pop af
-	ld [de], a
-	inc de
-	ld a, $3
-	ld [rSVBK], a
-	ld a, [hli]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	pop af
-	ld [de], a
-	inc de
-	dec bc
-	ld a, c
-	or b
-	jr nz, .asm_11d406
-	ld a, [wcd2f]
-	ld l, a
-	ld a, [wcd30]
-	ld h, a
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	ld a, l
-	ld [wcd2f], a
-	ld a, h
-	ld [wcd30], a
-	push bc
-	pop hl
-	ld c, $0
-.asm_11d43d
-	ld a, [hl]
-	cp $ff
-	jr z, .asm_11d453
-	call Function11d493
-	jr nz, .asm_11d44a
-	inc hl
-	jr .asm_11d43d
-
-.asm_11d44a
-	ld a, [hli]
-	ld [de], a
-	inc de
-	xor a
-	ld [de], a
-	inc de
-	inc c
-	jr .asm_11d43d
-
-.asm_11d453
-	pop hl
-	ld b, $0
-	add hl, bc
-	push hl
-	pop bc
-	ld a, [wcd31]
-	ld l, a
-	ld a, [wcd32]
-	ld h, a
-	ld a, c
-	ld [hli], a
-	ld a, b
-	ld [hli], a
-	ld a, l
-	ld [wcd31], a
-	ld a, h
-	ld [wcd32], a
-	ld a, [wcd33]
-	ld l, a
-	ld a, [wcd34]
-	ld h, a
-	ld a, e
-	ld [wcd2d], a
-	ld [hli], a
-	ld a, d
-	ld [wcd2e], a
-	ld [hli], a
-	ld a, l
-	ld [wcd33], a
-	ld a, h
-	ld [wcd34], a
-	pop hl
-	pop af
-	dec a
-	jr z, .asm_11d48f
-	jp Function11d3ef
-
-.asm_11d48f
-	pop af
-	ld [rSVBK], a
-	ret
-; 11d493
-
-Function11d493: ; 11d493
-	push hl
-	push bc
-	push de
-	dec a
-	ld hl, rSVBK
-	ld e, $1
-	ld [hl], e
-	call CheckSeenMon
-	ld hl, rSVBK
-	ld e, $5
-	ld [hl], e
-	pop de
-	pop bc
-	pop hl
-	ret
-; 11d4aa
-
-Function11d4aa: ; 11d4aa
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-	ld hl, Unknown_11daac
-	ld bc, Unknown_11f220
-	xor a
-	ld [wcd2d], a
-	inc a
-	ld [wcd2e], a
-	ld a, $e
-.asm_11d4c1
-	push af
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	push hl
-	ld hl, $0005
-	add hl, de
-	ld a, [bc]
-	inc bc
-	inc bc
-	push bc
-.asm_11d4cf
-	push af
-	push hl
-	ld a, [hli]
-	ld e, a
-	ld a, [hl]
-	ld d, a
-	ld hl, wd000
-	add hl, de
-	ld a, [wcd2d]
-	ld [hli], a
-	inc a
-	ld [wcd2d], a
-	ld a, [wcd2e]
-	ld [hl], a
-	pop hl
-	ld de, $0008
-	add hl, de
-	pop af
-	dec a
-	jr nz, .asm_11d4cf
-	ld hl, wcd2d
-	xor a
-	ld [hli], a
-	inc [hl]
-	pop bc
-	pop hl
-	pop af
-	dec a
-	jr nz, .asm_11d4c1
-	pop af
-	ld [rSVBK], a
-	ret
-; 11d4fe
-
-
-Unknown_11d4fe:
-; Pokemon sorted by kana.
-; Notably, Rhydon is missing.
-
-	dw Unknown_11d558
-	dw Unknown_11d55f
-	dw Unknown_11d565
-	dw Unknown_11d56c
-	dw Unknown_11d574
-	dw Unknown_11d57f
-	dw Unknown_11d58e
-	dw Unknown_11d598
-	dw Unknown_11d59f
-	dw Unknown_11d5a3
-	dw Unknown_11d5b2
-	dw Unknown_11d5bb
-	dw Unknown_11d5c0
-	dw Unknown_11d5c8
-	dw Unknown_11d5cb
-	dw Unknown_11d5cd
-	dw Unknown_11d5d1
-	dw Unknown_11d5d4
-	dw Unknown_11d5d6
-	dw Unknown_11d5dc
-	dw Unknown_11d5e7
-	dw Unknown_11d5ea
-	dw Unknown_11d5f7
-	dw Unknown_11d5f9
-	dw Unknown_11d5fc
-	dw Unknown_11d5fe
-	dw Unknown_11d60e
-	dw Unknown_11d61d
-	dw Unknown_11d62e
-	dw Unknown_11d636
-	dw Unknown_11d63e
-	dw Unknown_11d649
-	dw Unknown_11d64e
-	dw Unknown_11d651
-	dw Unknown_11d656
-	dw Unknown_11d65a
-	dw Unknown_11d660
-	dw Unknown_11d662
-	dw Unknown_11d665
-	dw Unknown_11d66d
-	dw Unknown_11d671
-	dw Unknown_11d674
-	dw Unknown_11d678
-	dw Unknown_11d67a
-	dw Unknown_11d67d
-
-Unknown_11d558:	db EKANS, ARBOK, SEAKING, ARIADOS, CROCONAW, UNOWN, $ff
-Unknown_11d55f:	db EEVEE, GEODUDE, SPINARAK, PILOSWINE, ONIX, $ff
-Unknown_11d565:	db ARCANINE, SUDOWOODO, WEEPINBELL, VICTREEBEL, WOOPER, SWINUB, $ff
-Unknown_11d56c:	db SKARMORY, AIPOM, ESPEON, HITMONCHAN, ELEKID, ELECTABUZZ, ENTEI, $ff
-Unknown_11d574:	db FERALIGATR, FURRET, OCTILLERY, PRIMEAPE, SENTRET, STANTLER, SPEAROW, FEAROW, OMASTAR, OMANYTE, $ff
-Unknown_11d57f:	db GROWLITHE, MACHAMP, DRAGONITE, PINSIR, SNORLAX, KABUTO, KABUTOPS, HITMONTOP, WARTORTLE, BLASTOISE, FARFETCH_D, CUBONE, MAROWAK, KANGASKHAN, $ff
-Unknown_11d58e:	db SUNFLORA, CATERPIE, GYARADOS, RAPIDASH, NINETALES, GIRAFARIG, BELLOSSOM, KINGDRA, KINGLER, $ff
-Unknown_11d598:	db GLOOM, PINECO, GLIGAR, KRABBY, GRANBULL, CROBAT, $ff
-Unknown_11d59f:	db ABRA, GENGAR, TAUROS, $ff
-Unknown_11d5a3:	db MAGIKARP, MAGNEMITE, GASTLY, HAUNTER, MACHOKE, KAKUNA, PSYDUCK, PHANPY, RATTATA, GOLDUCK, GOLBAT, GOLEM, GRAVELER, VENONAT, $ff
-Unknown_11d5b2:	db RHYHORN, PUPITAR, CORSOLA, HITMONLEE, ZAPDOS, JOLTEON, SANDSHREW, SANDSLASH, $ff
-Unknown_11d5bb:	db SEADRA, SHELLDER, VAPOREON, DEWGONG, $ff
-Unknown_11d5c0:	db SUICUNE, STARMIE, SCYTHER, ZUBAT, BEEDRILL, HYPNO, DROWZEE, $ff
-Unknown_11d5c8:	db SQUIRTLE, CELEBI, $ff
-Unknown_11d5cb:	db WOBBUFFET, $ff
-Unknown_11d5cd:	db DUGTRIO, HORSEA, EXEGGCUTE, $ff
-Unknown_11d5d1:	db CHIKORITA, CHINCHOU, $ff
-Unknown_11d5d4:	db SHUCKLE, $ff
-Unknown_11d5d6:	db DIGLETT, REMORAID, DELIBIRD, HOUNDOUR, AMPHAROS, $ff
-Unknown_11d5dc:	db DODUO, DODRIO, SMEARGLE, KOFFING, TENTACRUEL, TOGETIC, TOGEPI, GOLDEEN, METAPOD, DONPHAN, $ff
-Unknown_11d5e7:	db ODDISH, EXEGGUTOR, $ff
-Unknown_11d5ea:	db NIDOKING, NIDOQUEEN, NIDORAN_M, NIDORAN_F, NIDORINA, NIDORINO, MEOWTH, SNEASEL, POLIWHIRL, POLITOED, POLIWRATH, POLIWAG, $ff
-Unknown_11d5f7:	db QUAGSIRE, $ff
-Unknown_11d5f9:	db NATU, XATU, $ff
-Unknown_11d5fc:	db DUNSPARCE, $ff
-Unknown_11d5fe:	db SEEL, STEELIX, TYPHLOSION, DRAGONAIR, BUTTERFREE, SCIZOR, HOPPIP, BLISSEY, PARAS, PARASECT, QWILFISH, MR__MIME, TYROGUE, CLOYSTER, TYRANITAR, $ff
-Unknown_11d60e:	db CLEFFA, WEEDLE, PIKACHU, CLEFABLE, PIDGEOT, PIDGEOTTO, PICHU, CLEFAIRY, CHARMANDER, STARYU, CYNDAQUIL, SUNKERN, TEDDIURSA, VOLTORB, $ff
-Unknown_11d61d:	db MOLTRES, FLAREON, ALAKAZAM, MAGMAR, FORRETRESS, WIGGLYTUFF, IVYSAUR, BULBASAUR, VENUSAUR, AERODACTYL, MAGBY, IGGLYBUFF, UMBREON, ARTICUNO, JIGGLYPUFF, SNUBBULL, $ff
-Unknown_11d62e:	db BAYLEEF, GRIMER, MUK, HERACROSS, HOUNDOOM, PERSIAN, LICKITUNG, $ff
-Unknown_11d636:	db HO_OH, HOOTHOOT, PIDGEY, PONYTA, SKIPLOOM, PORYGON, PORYGON2, $ff
-Unknown_11d63e:	db MAGCARGO, SLUGMA, QUILAVA, BELLSPROUT, WEEZING, MARILL, AZUMARILL, ELECTRODE, MANKEY, MANTINE, $ff
-Unknown_11d649:	db DRATINI, MEW, MEWTWO, MILTANK, $ff
-Unknown_11d64e:	db MISDREAVUS, SMOOCHUM, $ff
-Unknown_11d651:	db MEGANIUM, DITTO, TENTACOOL, MAREEP, $ff
-Unknown_11d656:	db FLAAFFY, VENOMOTH, TANGELA, $ff
-Unknown_11d65a:	db SLOWKING, SLOWBRO, SLOWPOKE, MURKROW, YANMA, $ff
-Unknown_11d660:	db KADABRA, $ff
-Unknown_11d662:	db LARVITAR, NOCTOWL, $ff
-Unknown_11d665:	db RAIKOU, RAICHU, CHANSEY, RATICATE, LAPRAS, VILEPLUME, LANTURN, $ff
-Unknown_11d66d:	db CHARMELEON, CHARIZARD, URSARING, $ff
-Unknown_11d671:	db JYNX, LUGIA, $ff
-Unknown_11d674:	db MAGNETON, LEDIAN, LEDYBA, $ff
-Unknown_11d678:	db VULPIX, $ff
-Unknown_11d67a:	db JUMPLUFF, TOTODILE, MACHOP
-Unknown_11d67d:	db $ff
-; 11d67e
-
-GFX_11d67e:
-INCBIN "gfx/pokedex/select_start.2bpp"
-; 11d6de
-
-LZ_11d6de:
-INCBIN "gfx/pokedex/slowpoke.2bpp.lz"
-; 11da52
-
-Strings_11da52: ; 11da52
-	db "ポケモン@@"
-	db "タイプ@@@"
-	db "あいさつ@@"
-	db "ひと@@@@"
-	db "バトル@@@"
-	db "こえ@@@@"
-	db "かいわ@@@"
-	db "きもち@@@"
-	db "じょうたい@"
-	db "せいかつ@@"
-	db "しゅみ@@@"
-	db "こうどう@@"
-	db "じかん@@@"
-	db "むすび@@@"
-	db "あれこれ@@"
-; 11daac
-
-Unknown_11daac: ; 11daac
-	dw Unknown_11dac8
-	dw Unknown_11db58
-	dw Unknown_11dc78
-	dw Unknown_11dea0
-	dw Unknown_11e0c8
-	dw Unknown_11e2d8
-	dw Unknown_11e4e8
-	dw Unknown_11e710
-	dw Unknown_11e920
-	dw Unknown_11ea58
-	dw Unknown_11eb90
-	dw Unknown_11edb8
-	dw Unknown_11eef0
-	dw Unknown_11f100
-
-Unknown_11dac8: ; 11dac8
-	db "あく@@@", $26, $0, $0
-	db "いわ@@@", $aa, $0, $0
-	db "エスパー@", $da, $0, $0
-	db "かくとう@", $4e, $1, $0
-	db "くさ@@@", $ba, $1, $0
-	db "ゴースト@", $e4, $1, $0
-	db "こおり@@", $e6, $1, $0
-	db "じめん@@", $68, $2, $0
-	db "タイプ@@", $e8, $2, $0
-	db "でんき@@", $8e, $3, $0
-	db "どく@@@", $ae, $3, $0
-	db "ドラゴン@", $bc, $3, $0
-	db "ノーマル@", $22, $4, $0
-	db "はがね@@", $36, $4, $0
-	db "ひこう@@", $5e, $4, $0
-	db "ほのお@@", $b2, $4, $0
-	db "みず@@@", $f4, $4, $0
-	db "むし@@@", $12, $5, $0
-
-Unknown_11db58: ; 11db58
-	db "ありがと@", $58, $0, $0
-	db "ありがとう", $5a, $0, $0
-	db "いくぜ!@", $80, $0, $0
-	db "いくよ!@", $82, $0, $0
-	db "いくわよ!", $84, $0, $0
-	db "いやー@@", $a6, $0, $0
-	db "おっす@@", $a, $1, $0
-	db "おはつです", $22, $1, $0
-	db "おめでとう", $2a, $1, $0
-	db "ごめん@@", $f8, $1, $0
-	db "ごめんよ@", $fa, $1, $0
-	db "こらっ@@", $fc, $1, $0
-	db "こんちは!", $a, $2, $0
-	db "こんにちは", $10, $2, $0
-	db "さようなら", $28, $2, $0
-	db "サンキュー", $2e, $2, $0
-	db "さんじょう", $30, $2, $0
-	db "しっけい@", $48, $2, $0
-	db "しつれい@", $4c, $2, $0
-	db "じゃーね@", $6c, $2, $0
-	db "すいません", $8c, $2, $0
-	db "それじゃ@", $ca, $2, $0
-	db "どうも@@", $a6, $3, $0
-	db "なんじゃ@", $ee, $3, $0
-	db "ハーイ@@", $2c, $4, $0
-	db "はいはい@", $32, $4, $0
-	db "バイバイ@", $34, $4, $0
-	db "へイ@@@", $8a, $4, $0
-	db "またね@@", $de, $4, $0
-	db "もしもし@", $32, $5, $0
-	db "やあ@@@", $3e, $5, $0
-	db "やっほー@", $4e, $5, $0
-	db "よう@@@", $62, $5, $0
-	db "ようこそ@", $64, $5, $0
-	db "よろしく@", $80, $5, $0
-	db "らっしゃい", $94, $5, $0
-
-Unknown_11dc78: ; 11dc78
-	db "あいて@@", $1c, $0, $0
-	db "あたし@@", $36, $0, $0
-	db "あなた@@", $40, $0, $0
-	db "あなたが@", $42, $0, $0
-	db "あなたに@", $44, $0, $0
-	db "あなたの@", $46, $0, $0
-	db "あなたは@", $48, $0, $0
-	db "あなたを@", $4a, $0, $0
-	db "おかあさん", $e8, $0, $0
-	db "おじいさん", $fc, $0, $0
-	db "おじさん@", $2, $1, $0
-	db "おとうさん", $e, $1, $0
-	db "おとこのこ", $10, $1, $0
-	db "おとな@@", $14, $1, $0
-	db "おにいさん", $16, $1, $0
-	db "おねえさん", $18, $1, $0
-	db "おばあさん", $1c, $1, $0
-	db "おばさん@", $20, $1, $0
-	db "おれさま@", $34, $1, $0
-	db "おんなのこ", $3a, $1, $0
-	db "ガール@@", $40, $1, $0
-	db "かぞく@@", $52, $1, $0
-	db "かのじょ@", $72, $1, $0
-	db "かれ@@@", $7c, $1, $0
-	db "きみ@@@", $9a, $1, $0
-	db "きみが@@", $9c, $1, $0
-	db "きみに@@", $9e, $1, $0
-	db "きみの@@", $a0, $1, $0
-	db "きみは@@", $a2, $1, $0
-	db "きみを@@", $a4, $1, $0
-	db "ギャル@@", $ae, $1, $0
-	db "きょうだい", $b2, $1, $0
-	db "こども@@", $f0, $1, $0
-	db "じぶん@@", $54, $2, $0
-	db "じぶんが@", $56, $2, $0
-	db "じぶんに@", $58, $2, $0
-	db "じぶんの@", $5a, $2, $0
-	db "じぶんは@", $5c, $2, $0
-	db "じぶんを@", $5e, $2, $0
-	db "だれ@@@", $18, $3, $0
-	db "だれか@@", $1a, $3, $0
-	db "だれが@@", $1c, $3, $0
-	db "だれに@@", $1e, $3, $0
-	db "だれの@@", $20, $3, $0
-	db "だれも@@", $22, $3, $0
-	db "だれを@@", $24, $3, $0
-	db "ちゃん@@", $38, $3, $0
-	db "ともだち@", $b8, $3, $0
-	db "なかま@@", $d4, $3, $0
-	db "ひと@@@", $62, $4, $0
-	db "ボーイ@@", $98, $4, $0
-	db "ボク@@@", $a0, $4, $0
-	db "ボクが@@", $a2, $4, $0
-	db "ボクに@@", $a4, $4, $0
-	db "ボクの@@", $a6, $4, $0
-	db "ボクは@@", $a8, $4, $0
-	db "ボクを@@", $aa, $4, $0
-	db "みんな@@", $4, $5, $0
-	db "みんなが@", $6, $5, $0
-	db "みんなに@", $8, $5, $0
-	db "みんなの@", $a, $5, $0
-	db "みんなは@", $c, $5, $0
-	db "ライバル@", $8a, $5, $0
-	db "わたし@@", $c2, $5, $0
-	db "わたしが@", $c4, $5, $0
-	db "わたしに@", $c6, $5, $0
-	db "わたしの@", $c8, $5, $0
-	db "わたしは@", $ca, $5, $0
-	db "わたしを@", $cc, $5, $0
-
-Unknown_11dea0: ; 11dea0
-	db "あいしょう", $18, $0, $0
-	db "いけ!@@", $88, $0, $0
-	db "いちばん@", $96, $0, $0
-	db "かくご@@", $4c, $1, $0
-	db "かたせて@", $54, $1, $0
-	db "かち@@@", $56, $1, $0
-	db "かつ@@@", $58, $1, $0
-	db "かった@@", $60, $1, $0
-	db "かったら@", $62, $1, $0
-	db "かって@@", $64, $1, $0
-	db "かてない@", $66, $1, $0
-	db "かてる@@", $68, $1, $0
-	db "かなわない", $70, $1, $0
-	db "きあい@@", $84, $1, $0
-	db "きめた@@", $a8, $1, $0
-	db "きりふだ@", $b6, $1, $0
-	db "くらえ@@", $c2, $1, $0
-	db "こい!@@", $da, $1, $0
-	db "こうげき@", $e0, $1, $0
-	db "こうさん@", $e2, $1, $0
-	db "こんじょう", $8, $2, $0
-	db "さいのう@", $16, $2, $0
-	db "さくせん@", $1a, $2, $0
-	db "さばき@@", $22, $2, $0
-	db "しょうぶ@", $7e, $2, $0
-	db "しょうり@", $80, $2, $0
-	db "せめ@@@", $b4, $2, $0
-	db "センス@@", $b6, $2, $0
-	db "たいせん@", $e6, $2, $0
-	db "たたかい@", $f6, $2, $0
-	db "ちから@@", $32, $3, $0
-	db "チャレンジ", $36, $3, $0
-	db "つよい@@", $58, $3, $0
-	db "つよすぎ@", $5a, $3, $0
-	db "つらい@@", $5c, $3, $0
-	db "つらかった", $5e, $3, $0
-	db "てかげん@", $6c, $3, $0
-	db "てき@@@", $6e, $3, $0
-	db "てんさい@", $90, $3, $0
-	db "でんせつ@", $94, $3, $0
-	db "トレーナー", $c6, $3, $0
-	db "にげ@@@", $4, $4, $0
-	db "ぬるい@@", $10, $4, $0
-	db "ねらう@@", $16, $4, $0
-	db "バトル@@", $4a, $4, $0
-	db "ファイト@", $72, $4, $0
-	db "ふっかつ@", $78, $4, $0
-	db "ポイント@", $94, $4, $0
-	db "ポケモン@", $ac, $4, $0
-	db "ほんき@@", $bc, $4, $0
-	db "まいった!", $c4, $4, $0
-	db "まけ@@@", $c8, $4, $0
-	db "まけたら@", $ca, $4, $0
-	db "まけて@@", $cc, $4, $0
-	db "まける@@", $ce, $4, $0
-	db "まもり@@", $ea, $4, $0
-	db "みかた@@", $f2, $4, $0
-	db "みとめない", $fe, $4, $0
-	db "みとめる@", $0, $5, $0
-	db "むてき@@", $16, $5, $0
-	db "もらった!", $3c, $5, $0
-	db "よゆう@@", $7a, $5, $0
-	db "よわい@@", $82, $5, $0
-	db "よわすぎ@", $84, $5, $0
-	db "らくしょう", $8e, $5, $0
-	db "りーダー@", $9e, $5, $0
-	db "ルール@@", $a0, $5, $0
-	db "レべル@@", $a6, $5, $0
-	db "わざ@@@", $be, $5, $0
-
-Unknown_11e0c8: ; 11e0c8
-	db "!@@@@", $0, $0, $0
-	db "!!@@@", $2, $0, $0
-	db "!?@@@", $4, $0, $0
-	db "?@@@@", $6, $0, $0
-	db "…@@@@", $8, $0, $0
-	db "…!@@@", $a, $0, $0
-	db "………@@", $c, $0, $0
-	db "ー@@@@", $e, $0, $0
-	db "ーーー@@", $10, $0, $0
-	db "あーあ@@", $14, $0, $0
-	db "あーん@@", $16, $0, $0
-	db "あははー@", $52, $0, $0
-	db "あら@@@", $54, $0, $0
-	db "いえ@@@", $72, $0, $0
-	db "イエス@@", $74, $0, $0
-	db "うう@@@", $ac, $0, $0
-	db "うーん@@", $ae, $0, $0
-	db "うおー!@", $b0, $0, $0
-	db "うおりゃー", $b2, $0, $0
-	db "うひょー@", $bc, $0, $0
-	db "うふふ@@", $be, $0, $0
-	db "うわー@@", $ca, $0, $0
-	db "うわーん@", $cc, $0, $0
-	db "ええ@@@", $d2, $0, $0
-	db "えー@@@", $d4, $0, $0
-	db "えーん@@", $d6, $0, $0
-	db "えへへ@@", $dc, $0, $0
-	db "おいおい@", $e0, $0, $0
-	db "おお@@@", $e2, $0, $0
-	db "おっと@@", $c, $1, $0
-	db "がーん@@", $42, $1, $0
-	db "キャー@@", $aa, $1, $0
-	db "ギャー@@", $ac, $1, $0
-	db "ぐふふふふ", $bc, $1, $0
-	db "げっ@@@", $ce, $1, $0
-	db "しくしく@", $3e, $2, $0
-	db "ちえっ@@", $2e, $3, $0
-	db "てへ@@@", $86, $3, $0
-	db "ノー@@@", $20, $4, $0
-	db "はあー@@", $2a, $4, $0
-	db "はい@@@", $30, $4, $0
-	db "はっはっは", $48, $4, $0
-	db "ひいー@@", $56, $4, $0
-	db "ひゃあ@@", $6a, $4, $0
-	db "ふっふっふ", $7c, $4, $0
-	db "ふにゃ@@", $7e, $4, $0
-	db "ププ@@@", $80, $4, $0
-	db "ふふん@@", $82, $4, $0
-	db "ふん@@@", $88, $4, $0
-	db "へっへっへ", $8e, $4, $0
-	db "へへー@@", $90, $4, $0
-	db "ほーほほほ", $9c, $4, $0
-	db "ほら@@@", $b6, $4, $0
-	db "まあ@@@", $c0, $4, $0
-	db "むきー!!", $10, $5, $0
-	db "むふー@@", $18, $5, $0
-	db "むふふ@@", $1a, $5, $0
-	db "むむ@@@", $1c, $5, $0
-	db "よーし@@", $6a, $5, $0
-	db "よし!@@", $72, $5, $0
-	db "ラララ@@", $98, $5, $0
-	db "わーい@@", $ac, $5, $0
-	db "わーん!!", $b0, $5, $0
-	db "ワォ@@@", $b2, $5, $0
-	db "わっ!!@", $ce, $5, $0
-	db "わははは!", $d0, $5, $0
-
-Unknown_11e2d8: ; 11e2d8
-	db "あのね@@", $50, $0, $0
-	db "あんまり@", $6e, $0, $0
-	db "いじわる@", $8e, $0, $0
-	db "うそ@@@", $b6, $0, $0
-	db "うむ@@@", $c4, $0, $0
-	db "おーい@@", $e4, $0, $0
-	db "おすすめ@", $6, $1, $0
-	db "おばかさん", $1e, $1, $0
-	db "かなり@@", $6e, $1, $0
-	db "から@@@", $7a, $1, $0
-	db "きぶん@@", $98, $1, $0
-	db "けど@@@", $d6, $1, $0
-	db "こそ@@@", $ea, $1, $0
-	db "こと@@@", $ee, $1, $0
-	db "さあ@@@", $12, $2, $0
-	db "さっぱり@", $1e, $2, $0
-	db "さて@@@", $20, $2, $0
-	db "じゅうぶん", $72, $2, $0
-	db "すぐ@@@", $94, $2, $0
-	db "すごく@@", $98, $2, $0
-	db "すこしは@", $9a, $2, $0
-	db "すっっごい", $a0, $2, $0
-	db "ぜーんぜん", $b0, $2, $0
-	db "ぜったい@", $b2, $2, $0
-	db "それで@@", $ce, $2, $0
-	db "だけ@@@", $f2, $2, $0
-	db "だって@@", $fc, $2, $0
-	db "たぶん@@", $6, $3, $0
-	db "たら@@@", $14, $3, $0
-	db "ちょー@@", $3a, $3, $0
-	db "ちょっと@", $3c, $3, $0
-	db "ったら@@", $4e, $3, $0
-	db "って@@@", $50, $3, $0
-	db "ていうか@", $62, $3, $0
-	db "でも@@@", $88, $3, $0
-	db "どうしても", $9c, $3, $0
-	db "とうぜん@", $a0, $3, $0
-	db "どうぞ@@", $a2, $3, $0
-	db "とりあえず", $be, $3, $0
-	db "なあ@@@", $cc, $3, $0
-	db "なんて@@", $f4, $3, $0
-	db "なんでも@", $fc, $3, $0
-	db "なんとか@", $fe, $3, $0
-	db "には@@@", $8, $4, $0
-	db "バッチり@", $46, $4, $0
-	db "ばりばり@", $52, $4, $0
-	db "ほど@@@", $b0, $4, $0
-	db "ほんと@@", $be, $4, $0
-	db "まさに@@", $d0, $4, $0
-	db "マジ@@@", $d2, $4, $0
-	db "マジで@@", $d4, $4, $0
-	db "まったく@", $e4, $4, $0
-	db "まで@@@", $e6, $4, $0
-	db "まるで@@", $ec, $4, $0
-	db "ムード@@", $e, $5, $0
-	db "むしろ@@", $14, $5, $0
-	db "めちゃ@@", $24, $5, $0
-	db "めっぽう@", $28, $5, $0
-	db "もう@@@", $2c, $5, $0
-	db "モード@@", $2e, $5, $0
-	db "もっと@@", $36, $5, $0
-	db "もはや@@", $38, $5, $0
-	db "やっと@@", $4a, $5, $0
-	db "やっぱり@", $4c, $5, $0
-	db "より@@@", $7c, $5, $0
-	db "れば@@@", $a4, $5, $0
-
-Unknown_11e4e8: ; 11e4e8
-	db "あいたい@", $1a, $0, $0
-	db "あそびたい", $32, $0, $0
-	db "いきたい@", $7c, $0, $0
-	db "うかれて@", $b4, $0, $0
-	db "うれしい@", $c6, $0, $0
-	db "うれしさ@", $c8, $0, $0
-	db "エキサイト", $d8, $0, $0
-	db "えらい@@", $de, $0, $0
-	db "おかしい@", $ec, $0, $0
-	db "ォッケー@", $8, $1, $0
-	db "かえりたい", $48, $1, $0
-	db "がっくし@", $5a, $1, $0
-	db "かなしい@", $6c, $1, $0
-	db "がんばって", $80, $1, $0
-	db "きがしない", $86, $1, $0
-	db "きがする@", $88, $1, $0
-	db "ききたい@", $8a, $1, $0
-	db "きになる@", $90, $1, $0
-	db "きのせい@", $96, $1, $0
-	db "きらい@@", $b4, $1, $0
-	db "くやしい@", $be, $1, $0
-	db "くやしさ@", $c0, $1, $0
-	db "さみしい@", $24, $2, $0
-	db "ざんねん@", $32, $2, $0
-	db "しあわせ@", $36, $2, $0
-	db "したい@@", $44, $2, $0
-	db "したくない", $46, $2, $0
-	db "しまった@", $64, $2, $0
-	db "しょんぼり", $82, $2, $0
-	db "すき@@@", $92, $2, $0
-	db "だいきらい", $da, $2, $0
-	db "たいくつ@", $dc, $2, $0
-	db "だいじ@@", $de, $2, $0
-	db "だいすき@", $e4, $2, $0
-	db "たいへん@", $ea, $2, $0
-	db "たのしい@", $0, $3, $0
-	db "たのしすぎ", $2, $3, $0
-	db "たべたい@", $8, $3, $0
-	db "ダメダメ@", $e, $3, $0
-	db "たりない@", $16, $3, $0
-	db "ちくしょー", $34, $3, $0
-	db "どうしよう", $9e, $3, $0
-	db "ドキドキ@", $ac, $3, $0
-	db "ナイス@@", $d0, $3, $0
-	db "のみたい@", $26, $4, $0
-	db "びっくり@", $60, $4, $0
-	db "ふあん@@", $74, $4, $0
-	db "ふらふら@", $86, $4, $0
-	db "ほしい@@", $ae, $4, $0
-	db "ボロボロ@", $b8, $4, $0
-	db "まだまだ@", $e0, $4, $0
-	db "まてない@", $e8, $4, $0
-	db "まんぞく@", $f0, $4, $0
-	db "みたい@@", $f8, $4, $0
-	db "めずらしい", $22, $5, $0
-	db "メラメラ@", $2a, $5, $0
-	db "やだ@@@", $46, $5, $0
-	db "やったー@", $48, $5, $0
-	db "やばい@@", $50, $5, $0
-	db "やばすぎる", $52, $5, $0
-	db "やられた@", $54, $5, $0
-	db "やられて@", $56, $5, $0
-	db "よかった@", $6e, $5, $0
-	db "ラブラブ@", $96, $5, $0
-	db "ロマン@@", $a8, $5, $0
-	db "ろんがい@", $aa, $5, $0
-	db "わから@@", $b4, $5, $0
-	db "わかり@@", $b6, $5, $0
-	db "わくわく@", $ba, $5, $0
-
-Unknown_11e710: ; 11e710
-	db "あつい@@", $38, $0, $0
-	db "あった@@", $3a, $0, $0
-	db "あり@@@", $56, $0, $0
-	db "ある@@@", $5e, $0, $0
-	db "あわてて@", $6a, $0, $0
-	db "いい@@@", $70, $0, $0
-	db "いか@@@", $76, $0, $0
-	db "イカス@@", $78, $0, $0
-	db "いきおい@", $7a, $0, $0
-	db "いける@@", $8a, $0, $0
-	db "いじょう@", $8c, $0, $0
-	db "いそがしい", $90, $0, $0
-	db "いっしょに", $9a, $0, $0
-	db "いっぱい@", $9c, $0, $0
-	db "いない@@", $a0, $0, $0
-	db "いや@@@", $a4, $0, $0
-	db "いる@@@", $a8, $0, $0
-	db "うまい@@", $c0, $0, $0
-	db "うまく@@", $c2, $0, $0
-	db "おおきい@", $e6, $0, $0
-	db "おくれ@@", $f2, $0, $0
-	db "おしい@@", $fa, $0, $0
-	db "おもしろい", $2c, $1, $0
-	db "おもしろく", $2e, $1, $0
-	db "かっこいい", $5c, $1, $0
-	db "かわいい@", $7e, $1, $0
-	db "かんぺき@", $82, $1, $0
-	db "けっこう@", $d0, $1, $0
-	db "げんき@@", $d8, $1, $0
-	db "こわい@@", $6, $2, $0
-	db "さいこう@", $14, $2, $0
-	db "さむい@@", $26, $2, $0
-	db "さわやか@", $2c, $2, $0
-	db "しかたない", $38, $2, $0
-	db "すごい@@", $96, $2, $0
-	db "すごすぎ@", $9c, $2, $0
-	db "すてき@@", $a4, $2, $0
-	db "たいした@", $e0, $2, $0
-	db "だいじょぶ", $e2, $2, $0
-	db "たかい@@", $ec, $2, $0
-	db "ただしい@", $f8, $2, $0
-	db "だめ@@@", $c, $3, $0
-	db "ちいさい@", $2c, $3, $0
-	db "ちがう@@", $30, $3, $0
-	db "つかれ@@", $48, $3, $0
-	db "とくい@@", $b0, $3, $0
-	db "とまらない", $b6, $3, $0
-	db "ない@@@", $ce, $3, $0
-	db "なかった@", $d2, $3, $0
-	db "なし@@@", $d8, $3, $0
-	db "なって@@", $dc, $3, $0
-	db "はやい@@", $50, $4, $0
-	db "ひかる@@", $5a, $4, $0
-	db "ひくい@@", $5c, $4, $0
-	db "ひどい@@", $64, $4, $0
-	db "ひとりで@", $66, $4, $0
-	db "ひま@@@", $68, $4, $0
-	db "ふそく@@", $76, $4, $0
-	db "へた@@@", $8c, $4, $0
-	db "まちがって", $e2, $4, $0
-	db "やさしい@", $42, $5, $0
-	db "よく@@@", $70, $5, $0
-	db "よわって@", $86, $5, $0
-	db "らく@@@", $8c, $5, $0
-	db "らしい@@", $90, $5, $0
-	db "わるい@@", $d4, $5, $0
-
-Unknown_11e920: ; 11e920
-	db "アルバイト", $64, $0, $0
-	db "うち@@@", $ba, $0, $0
-	db "おかね@@", $ee, $0, $0
-	db "おこづかい", $f4, $0, $0
-	db "おふろ@@", $24, $1, $0
-	db "がっこう@", $5e, $1, $0
-	db "きねん@@", $92, $1, $0
-	db "グループ@", $c6, $1, $0
-	db "ゲット@@", $d2, $1, $0
-	db "こうかん@", $de, $1, $0
-	db "しごと@@", $40, $2, $0
-	db "しゅぎょう", $74, $2, $0
-	db "じゅぎょう", $76, $2, $0
-	db "じゅく@@", $78, $2, $0
-	db "しんか@@", $88, $2, $0
-	db "ずかん@@", $90, $2, $0
-	db "せいかつ@", $ae, $2, $0
-	db "せんせい@", $b8, $2, $0
-	db "センター@", $ba, $2, $0
-	db "タワー@@", $28, $3, $0
-	db "つうしん@", $40, $3, $0
-	db "テスト@@", $7e, $3, $0
-	db "テレビ@@", $8c, $3, $0
-	db "でんわ@@", $96, $3, $0
-	db "どうぐ@@", $9a, $3, $0
-	db "トレード@", $c4, $3, $0
-	db "なまえ@@", $e8, $3, $0
-	db "ニュース@", $a, $4, $0
-	db "にんき@@", $c, $4, $0
-	db "パーティー", $2e, $4, $0
-	db "べんきょう", $92, $4, $0
-	db "マシン@@", $d6, $4, $0
-	db "めいし@@", $1e, $5, $0
-	db "メッセージ", $26, $5, $0
-	db "もようがえ", $3a, $5, $0
-	db "ゆめ@@@", $5a, $5, $0
-	db "ようちえん", $66, $5, $0
-	db "ラジォ@@", $92, $5, $0
-	db "ワールド@", $ae, $5, $0
-
-Unknown_11ea58: ; 11ea58
-	db "アイドル@", $1e, $0, $0
-	db "アニメ@@", $4c, $0, $0
-	db "うた@@@", $b8, $0, $0
-	db "えいが@@", $d0, $0, $0
-	db "おかし@@", $ea, $0, $0
-	db "おしゃべり", $4, $1, $0
-	db "おままごと", $28, $1, $0
-	db "おもちゃ@", $30, $1, $0
-	db "おんがく@", $38, $1, $0
-	db "カード@@", $3e, $1, $0
-	db "かいもの@", $46, $1, $0
-	db "グルメ@@", $c8, $1, $0
-	db "ゲーム@@", $cc, $1, $0
-	db "ざっし@@", $1c, $2, $0
-	db "さんぽ@@", $34, $2, $0
-	db "じてんしゃ", $50, $2, $0
-	db "しゅみ@@", $7a, $2, $0
-	db "スポーツ@", $a8, $2, $0
-	db "ダイエット", $d8, $2, $0
-	db "たからもの", $f0, $2, $0
-	db "たび@@@", $4, $3, $0
-	db "ダンス@@", $2a, $3, $0
-	db "つり@@@", $60, $3, $0
-	db "デート@@", $6a, $3, $0
-	db "でんしゃ@", $92, $3, $0
-	db "ぬいぐるみ", $e, $4, $0
-	db "パソコン@", $3e, $4, $0
-	db "はな@@@", $4c, $4, $0
-	db "ヒーロー@", $58, $4, $0
-	db "ひるね@@", $6e, $4, $0
-	db "ヒロイン@", $70, $4, $0
-	db "ぼうけん@", $96, $4, $0
-	db "ボード@@", $9a, $4, $0
-	db "ボール@@", $9e, $4, $0
-	db "ほん@@@", $ba, $4, $0
-	db "マンガ@@", $ee, $4, $0
-	db "やくそく@", $40, $5, $0
-	db "やすみ@@", $44, $5, $0
-	db "よてい@@", $74, $5, $0
-
-Unknown_11eb90: ; 11eb90
-	db "あう@@@", $20, $0, $0
-	db "あきらめ@", $24, $0, $0
-	db "あげる@@", $28, $0, $0
-	db "あせる@@", $2e, $0, $0
-	db "あそび@@", $30, $0, $0
-	db "あそぶ@@", $34, $0, $0
-	db "あつめ@@", $3e, $0, $0
-	db "あるき@@", $60, $0, $0
-	db "あるく@@", $62, $0, $0
-	db "いく@@@", $7e, $0, $0
-	db "いけ@@@", $86, $0, $0
-	db "おき@@@", $f0, $0, $0
-	db "おこり@@", $f6, $0, $0
-	db "おこる@@", $f8, $0, $0
-	db "おしえ@@", $fe, $0, $0
-	db "おしえて@", $0, $1, $0
-	db "おねがい@", $1a, $1, $0
-	db "おぼえ@@", $26, $1, $0
-	db "かえる@@", $4a, $1, $0
-	db "がまん@@", $74, $1, $0
-	db "きく@@@", $8c, $1, $0
-	db "きたえ@@", $8e, $1, $0
-	db "きめ@@@", $a6, $1, $0
-	db "くる@@@", $c4, $1, $0
-	db "さがし@@", $18, $2, $0
-	db "さわぎ@@", $2a, $2, $0
-	db "した@@@", $42, $2, $0
-	db "しって@@", $4a, $2, $0
-	db "して@@@", $4e, $2, $0
-	db "しない@@", $52, $2, $0
-	db "しまう@@", $60, $2, $0
-	db "じまん@@", $66, $2, $0
-	db "しらない@", $84, $2, $0
-	db "しる@@@", $86, $2, $0
-	db "しんじて@", $8a, $2, $0
-	db "する@@@", $aa, $2, $0
-	db "たべる@@", $a, $3, $0
-	db "つかう@@", $42, $3, $0
-	db "つかえ@@", $44, $3, $0
-	db "つかって@", $46, $3, $0
-	db "できない@", $70, $3, $0
-	db "できる@@", $72, $3, $0
-	db "でない@@", $84, $3, $0
-	db "でる@@@", $8a, $3, $0
-	db "なげる@@", $d6, $3, $0
-	db "なやみ@@", $ea, $3, $0
-	db "ねられ@@", $18, $4, $0
-	db "ねる@@@", $1a, $4, $0
-	db "のがし@@", $24, $4, $0
-	db "のむ@@@", $28, $4, $0
-	db "はしり@@", $3a, $4, $0
-	db "はしる@@", $3c, $4, $0
-	db "はたらき@", $40, $4, $0
-	db "はたらく@", $42, $4, $0
-	db "はまって@", $4e, $4, $0
-	db "ぶつけ@@", $7a, $4, $0
-	db "ほめ@@@", $b4, $4, $0
-	db "みせて@@", $f6, $4, $0
-	db "みて@@@", $fc, $4, $0
-	db "みる@@@", $2, $5, $0
-	db "めざす@@", $20, $5, $0
-	db "もって@@", $34, $5, $0
-	db "ゆずる@@", $58, $5, $0
-	db "ゆるす@@", $5c, $5, $0
-	db "ゆるせ@@", $5e, $5, $0
-	db "られない@", $9a, $5, $0
-	db "られる@@", $9c, $5, $0
-	db "わかる@@", $b8, $5, $0
-	db "わすれ@@", $c0, $5, $0
-
-Unknown_11edb8: ; 11edb8
-	db "あき@@@", $22, $0, $0
-	db "あさ@@@", $2a, $0, $0
-	db "あした@@", $2c, $0, $0
-	db "いちにち@", $94, $0, $0
-	db "いつか@@", $98, $0, $0
-	db "いつも@@", $9e, $0, $0
-	db "いま@@@", $a2, $0, $0
-	db "えいえん@", $ce, $0, $0
-	db "おととい@", $12, $1, $0
-	db "おわり@@", $36, $1, $0
-	db "かようび@", $78, $1, $0
-	db "きのう@@", $94, $1, $0
-	db "きょう@@", $b0, $1, $0
-	db "きんようび", $b8, $1, $0
-	db "げつようび", $d4, $1, $0
-	db "このあと@", $f4, $1, $0
-	db "このまえ@", $f6, $1, $0
-	db "こんど@@", $c, $2, $0
-	db "じかん@@", $3c, $2, $0
-	db "じゅうねん", $70, $2, $0
-	db "すいようび", $8e, $2, $0
-	db "スタート@", $9e, $2, $0
-	db "ずっと@@", $a2, $2, $0
-	db "ストップ@", $a6, $2, $0
-	db "そのうち@", $c4, $2, $0
-	db "ついに@@", $3e, $3, $0
-	db "つぎ@@@", $4a, $3, $0
-	db "どようび@", $ba, $3, $0
-	db "なつ@@@", $da, $3, $0
-	db "にちようび", $6, $4, $0
-	db "はじめ@@", $38, $4, $0
-	db "はる@@@", $54, $4, $0
-	db "ひる@@@", $6c, $4, $0
-	db "ふゆ@@@", $84, $4, $0
-	db "まいにち@", $c6, $4, $0
-	db "もくようび", $30, $5, $0
-	db "よなか@@", $76, $5, $0
-	db "よる@@@", $7e, $5, $0
-	db "らいしゅう", $88, $5, $0
-
-Unknown_11eef0: ; 11eef0
-	db "いたします", $92, $0, $0
-	db "おります@", $32, $1, $0
-	db "か!?@@", $3c, $1, $0
-	db "かい?@@", $44, $1, $0
-	db "かしら?@", $50, $1, $0
-	db "かな?@@", $6a, $1, $0
-	db "かも@@@", $76, $1, $0
-	db "くれ@@@", $ca, $1, $0
-	db "ございます", $e8, $1, $0
-	db "しがち@@", $3a, $2, $0
-	db "します@@", $62, $2, $0
-	db "じゃ@@@", $6a, $2, $0
-	db "じゃん@@", $6e, $2, $0
-	db "しよう@@", $7c, $2, $0
-	db "ぜ!@@@", $ac, $2, $0
-	db "ぞ!@@@", $bc, $2, $0
-	db "た@@@@", $d4, $2, $0
-	db "だ@@@@", $d6, $2, $0
-	db "だからね@", $ee, $2, $0
-	db "だぜ@@@", $f4, $2, $0
-	db "だった@@", $fa, $2, $0
-	db "だね@@@", $fe, $2, $0
-	db "だよ@@@", $10, $3, $0
-	db "だよねー!", $12, $3, $0
-	db "だわ@@@", $26, $3, $0
-	db "ッス@@@", $4c, $3, $0
-	db "ってかんじ", $52, $3, $0
-	db "っぱなし@", $54, $3, $0
-	db "つもり@@", $56, $3, $0
-	db "ていない@", $64, $3, $0
-	db "ている@@", $66, $3, $0
-	db "でーす!@", $68, $3, $0
-	db "でした@@", $74, $3, $0
-	db "でしょ?@", $76, $3, $0
-	db "でしょー!", $78, $3, $0
-	db "です@@@", $7a, $3, $0
-	db "ですか?@", $7c, $3, $0
-	db "ですよ@@", $80, $3, $0
-	db "ですわ@@", $82, $3, $0
-	db "どうなの?", $a4, $3, $0
-	db "どうよ?@", $a8, $3, $0
-	db "とかいって", $aa, $3, $0
-	db "なの@@@", $e0, $3, $0
-	db "なのか@@", $e2, $3, $0
-	db "なのだ@@", $e4, $3, $0
-	db "なのよ@@", $e6, $3, $0
-	db "なんだね@", $f2, $3, $0
-	db "なんです@", $f8, $3, $0
-	db "なんてね@", $fa, $3, $0
-	db "ね@@@@", $12, $4, $0
-	db "ねー@@@", $14, $4, $0
-	db "の@@@@", $1c, $4, $0
-	db "の?@@@", $1e, $4, $0
-	db "ばっかり@", $44, $4, $0
-	db "まーす!@", $c2, $4, $0
-	db "ます@@@", $d8, $4, $0
-	db "ますわ@@", $da, $4, $0
-	db "ません@@", $dc, $4, $0
-	db "みたいな@", $fa, $4, $0
-	db "よ!@@@", $60, $5, $0
-	db "よー@@@", $68, $5, $0
-	db "よーん@@", $6c, $5, $0
-	db "よね@@@", $78, $5, $0
-	db "るよ@@@", $a2, $5, $0
-	db "わけ@@@", $bc, $5, $0
-	db "わよ!@@", $d2, $5, $0
-
-Unknown_11f100: ; 11f100
-	db "ああ@@@", $12, $0, $0
-	db "あっち@@", $3c, $0, $0
-	db "あの@@@", $4e, $0, $0
-	db "ありゃ@@", $5c, $0, $0
-	db "あれ@@@", $66, $0, $0
-	db "あれは@@", $68, $0, $0
-	db "あんな@@", $6c, $0, $0
-	db "こう@@@", $dc, $1, $0
-	db "こっち@@", $ec, $1, $0
-	db "この@@@", $f2, $1, $0
-	db "こりゃ@@", $fe, $1, $0
-	db "これ@@@", $0, $2, $0
-	db "これだ!@", $2, $2, $0
-	db "これは@@", $4, $2, $0
-	db "こんな@@", $e, $2, $0
-	db "そう@@@", $be, $2, $0
-	db "そっち@@", $c0, $2, $0
-	db "その@@@", $c2, $2, $0
-	db "そりゃ@@", $c6, $2, $0
-	db "それ@@@", $c8, $2, $0
-	db "それだ!@", $cc, $2, $0
-	db "それは@@", $d0, $2, $0
-	db "そんな@@", $d2, $2, $0
-	db "どう@@@", $98, $3, $0
-	db "どっち@@", $b2, $3, $0
-	db "どの@@@", $b4, $3, $0
-	db "どりゃ@@", $c0, $3, $0
-	db "どれ@@@", $c2, $3, $0
-	db "どれを@@", $c8, $3, $0
-	db "どんな@@", $ca, $3, $0
-	db "なに@@@", $de, $3, $0
-	db "なんか@@", $ec, $3, $0
-	db "なんだ@@", $f0, $3, $0
-	db "なんで@@", $f6, $3, $0
-	db "なんなんだ", $0, $4, $0
-	db "なんの@@", $2, $4, $0
-; 11f220
-
-Unknown_11f220:
-INCBIN "baserom.gbc",$11f220,$11f23c - $11f220
-
-Unknown_11f23c:
-INCBIN "baserom.gbc",$11f23c,$11f2f0 - $11f23c
-
-Unknown_11f2f0:
-INCBIN "baserom.gbc",$11f2f0,$11f332 - $11f2f0
-
-Unknown_11f332:
-INCBIN "baserom.gbc",$11f332,$11f3ce - $11f332
-
-Unknown_11f3ce:
-INCBIN "baserom.gbc",$11f3ce,$11f686 - $11f3ce
-
-
-
-SECTION "bank5B", ROMX, BANK[$5B]
-
-Function16c000: ; 16c000
-	ld a, [hCGB]
-	and a
-	ret z
-	ld a, [$ffea]
-	and a
-	ret z
-	ld a, [wcfbe]
-	push af
-	set 7, a
-	ld [wcfbe], a
-	call Function16c108
-	callba Function100063
-	callba Function100082
-	call Function16c031
-	callba Function1000a4
-	xor a
-	ld [$ffea], a
-	pop af
-	ld [wcfbe], a
-	ret
-; 16c031
-
-Function16c031: ; 16c031
-	xor a
-	ld [wcf63], a
-	ld [wcf64], a
-	ld [DefaultFlypoint], a
-	ld [wd003], a
-.asm_16c03e
-	call DelayFrame
-	callba Function10635c
-	ld a, [DefaultFlypoint]
-	ld hl, Jumptable_16c05c
-	rst JumpTable
-	call Function16cb2e
-	call Function16cbae
-	ld a, [DefaultFlypoint]
-	cp $ff
-	jr nz, .asm_16c03e
-	ret
-; 16c05c
-
-Jumptable_16c05c: ; 16c05c
-	dw Function16c074
-	dw Function16c0ba
-	dw Function16c089
-	dw Function16c09e
-	dw Function16c0a8
-	dw Function16c0dc
-	dw Function16c0ec
-	dw Function16c0ba
-	dw Function16c0ca
-	dw Function16c0dc
-	dw Function16c0ec
-	dw Function16c081
-; 16c074
-
-Function16c074: ; 16c074
-	ld a, [wcf64]
-	and a
-	ret z
-	ld [DefaultFlypoint], a
-	xor a
-	ld [wd003], a
-	ret
-; 16c081
-
-Function16c081: ; 16c081
-	push af
-	ld a, $ff
-	ld [DefaultFlypoint], a
-	pop af
-	ret
-; 16c089
-
-Function16c089: ; 16c089
-	ld a, $1
-	ld [Buffer2], a
-	ld [wd1f1], a
-	xor a
-	ld [hWY], a
-	call Function16c0fa
-	ld a, [DefaultFlypoint]
-	ld [wcf64], a
-	ret
-; 16c09e
-
-Function16c09e: ; 16c09e
-	ld a, [wcf64]
-	cp $4
-	ret nz
-	call Function16c0fa
-	ret
-; 16c0a8
-
-Function16c0a8: ; 16c0a8
-	xor a
-	ld [Buffer2], a
-	ld [wd1f1], a
-	call ClearSprites
-	ld a, $90
-	ld [hWY], a
-	call Function16c0fa
-	ret
-; 16c0ba
-
-Function16c0ba: ; 16c0ba
-	call Function16c943
-	push af
-	ld a, [wd003]
-	inc a
-	ld [wd003], a
-	pop af
-	call c, Function16c0fa
-	ret
-; 16c0ca
-
-Function16c0ca: ; 16c0ca
-	ld a, [wd003]
-	cp $28
-	push af
-	ld a, [wd003]
-	inc a
-	ld [wd003], a
-	pop af
-	call z, Function16c0fa
-	ret
-; 16c0dc
-
-Function16c0dc: ; 16c0dc
-	call Function16ca11
-	push af
-	ld a, [wd003]
-	inc a
-	ld [wd003], a
-	pop af
-	call c, Function16c0fa
-	ret
-; 16c0ec
-
-Function16c0ec: ; 16c0ec
-	call WhiteBGMap
-	call ClearScreen
-	push af
-	ld a, $ff
-	ld [DefaultFlypoint], a
-	pop af
-	ret
-; 16c0fa
-
-Function16c0fa: ; 16c0fa
-	push af
-	ld a, [DefaultFlypoint]
-	inc a
-	ld [DefaultFlypoint], a
-	xor a
-	ld [wd003], a
-	pop af
-	ret
-; 16c108
-
-Function16c108: ; 16c108
-	call DisableLCD
-	ld hl, VTiles2
-	ld de, GFX_16c173
-	lb bc, BANK(GFX_16c173), $68
-	call Get2bpp
-	call Function16c130
-	call Function16c145
-	call Function16c15c
-	ld hl, VBGMap0
-	call Function16cc73
-	call Function16cc02
-	xor a
-	ld [hBGMapMode], a
-	call EnableLCD
-	ret
-; 16c130
-
-Function16c130: ; 16c130
-	ld de, Unkn1Pals
-	ld hl, Unknown_16c903
-	ld bc, 8
-	ld a, $5
-	call FarCopyWRAM
-	callba Function96a4
-	ret
-; 16c145
-
-Function16c145: ; 16c145
-	ld hl, TileMap
-	ld bc, 20
-	xor a
-	call ByteFill
-	ld hl, Tilemap_16c633
-	decoord 0, 1
-	ld bc, $0154
-	call CopyBytes
-	ret
-; 16c15c
-
-Function16c15c: ; 16c15c
-	ld hl, AttrMap
-	ld bc, $0014
-	xor a
-	call ByteFill
-	ld hl, Tilemap_16c79b
-	decoord 0, 1, AttrMap
-	ld bc, $0154
-	call CopyBytes
-	ret
-; 16c173
-
-GFX_16c173:
-INCBIN "gfx/unknown/16c173.2bpp"
-
-Tilemap_16c633:
-INCBIN "gfx/unknown/16c633.tilemap"
-
-Tilemap_16c79b:
-INCBIN "gfx/unknown/16c79b.tilemap"
-
-Unknown_16c903:
-	RGB 31, 31, 31
-	RGB 04, 10, 20
-	RGB 16, 19, 25
-	RGB 25, 27, 29
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-; 16c943
-
-Function16c943: ; 16c943
-	ld a, [wd003]
-	and a
-	jr nz, .asm_16c95e
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld a, $ff
-	ld bc, $0008
-	ld hl, Unkn1Pals
-	call ByteFill
-	pop af
-	ld [rSVBK], a
-
-.asm_16c95e
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld e, $0
-	ld a, $0
-.asm_16c969
-	ld hl, Unknown_16c903
-	call Function16cab6
-	call Function16cabb
-	ld d, a
-	ld hl, Unkn1Pals
-	call Function16cab6
-	call Function16cabb
-	cp d
-	jr z, .asm_16c991
-	ld b, $1
-.asm_16c981
-	dec a
-	cp d
-	jr z, .asm_16c988
-	dec b
-	jr nz, .asm_16c981
-
-.asm_16c988
-	ld hl, Unkn1Pals
-	call Function16cab6
-	call Function16cadc
-
-.asm_16c991
-	ld hl, Unknown_16c903
-	call Function16cab6
-	call Function16cad8
-	ld d, a
-	ld hl, Unkn1Pals
-	call Function16cab6
-	call Function16cad8
-	cp d
-	jr z, .asm_16c9b9
-	ld b, $1
-.asm_16c9a9
-	dec a
-	cp d
-	jr z, .asm_16c9b0
-	dec b
-	jr nz, .asm_16c9a9
-
-.asm_16c9b0
-	ld hl, Unkn1Pals
-	call Function16cab6
-	call Function16cb08
-
-.asm_16c9b9
-	ld hl, Unknown_16c903
-	call Function16cab6
-	call Function16cac4
-	ld d, a
-	ld hl, Unkn1Pals
-	call Function16cab6
-	call Function16cac4
-	cp d
-	jr z, .asm_16c9e1
-	ld b, $1
-.asm_16c9d1
-	dec a
-	cp d
-	jr z, .asm_16c9d8
-	dec b
-	jr nz, .asm_16c9d1
-
-.asm_16c9d8
-	ld hl, Unkn1Pals
-	call Function16cab6
-	call Function16cae8
-
-.asm_16c9e1
-	inc e
-	inc e
-	ld a, e
-	cp $8
-	jr nz, .asm_16c969
-	callba Function96a4
-	call Function32f9
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	ld a, [wd003]
-	cp $1f
-	jr z, .asm_16ca09
-	pop af
-	ld [rSVBK], a
-	ld e, $0
-	pop af
-	ld [rSVBK], a
-	and a
-	ret
-
-.asm_16ca09
-	pop af
-	ld [rSVBK], a
-	pop af
-	ld [rSVBK], a
-	scf
-	ret
-; 16ca11
-
-Function16ca11: ; 16ca11
-	ld a, [wd003]
-	and a
-	jr nz, .asm_16ca1d
-	callba Function96a4
-
-.asm_16ca1d
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld e, $0
-	ld a, $0
-.asm_16ca28
-	ld hl, Unkn1Pals
-	call Function16cab6
-	call Function16cabb
-	cp $1f
-	jr z, .asm_16ca48
-	ld b, $1
-.asm_16ca37
-	inc a
-	cp $1f
-	jr z, .asm_16ca3f
-	dec b
-	jr nz, .asm_16ca37
-
-.asm_16ca3f
-	ld hl, Unkn1Pals
-	call Function16cab6
-	call Function16cadc
-
-.asm_16ca48
-	ld hl, Unkn1Pals
-	call Function16cab6
-	call Function16cad8
-	cp $1f
-	jr z, .asm_16ca68
-	ld b, $1
-.asm_16ca57
-	inc a
-	cp $1f
-	jr z, .asm_16ca5f
-	dec b
-	jr nz, .asm_16ca57
-
-.asm_16ca5f
-	ld hl, Unkn1Pals
-	call Function16cab6
-	call Function16cb08
-
-.asm_16ca68
-	ld hl, Unkn1Pals
-	call Function16cab6
-	call Function16cac4
-	cp $1f
-	jr z, .asm_16ca88
-	ld b, $1
-.asm_16ca77
-	inc a
-	cp $1f
-	jr z, .asm_16ca7f
-	dec b
-	jr nz, .asm_16ca77
-
-.asm_16ca7f
-	ld hl, Unkn1Pals
-	call Function16cab6
-	call Function16cae8
-
-.asm_16ca88
-	inc e
-	inc e
-	ld a, e
-	cp $8
-	jr nz, .asm_16ca28
-	callba Function96a4
-	call Function32f9
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	ld a, [wd003]
-	cp $1f
-	jr z, .asm_16caae
-	pop af
-	ld [rSVBK], a
-	pop af
-	ld [rSVBK], a
-	and a
-	ret
-
-.asm_16caae
-	pop af
-	ld [rSVBK], a
-	pop af
-	ld [rSVBK], a
-	scf
-	ret
-; 16cab6
-
-Function16cab6: ; 16cab6
-	ld b, $0
-	ld c, e
-	add hl, bc
-	ret
-; 16cabb
-
-Function16cabb: ; 16cabb
-	inc hl
-	ld a, [hl]
-	srl a
-	srl a
-	and $1f
-	ret
-; 16cac4
-
-Function16cac4: ; 16cac4
-	inc hl
-	ld a, [hld]
-	and $3
-	ld b, a
-	ld a, [hl]
-	sla a
-	rl b
-	sla a
-	rl b
-	sla a
-	rl b
-	ld a, b
-	ret
-; 16cad8
-
-Function16cad8: ; 16cad8
-	ld a, [hl]
-	and $1f
-	ret
-; 16cadc
-
-Function16cadc: ; 16cadc
-	sla a
-	sla a
-	ld b, a
-	inc hl
-	ld a, [hl]
-	and $83
-	or b
-	ld [hl], a
-	ret
-; 16cae8
-
-Function16cae8: ; 16cae8
-	ld c, a
-	srl a
-	srl a
-	srl a
-	ld b, a
-	inc hl
-	ld a, [hl]
-	and $fc
-	or b
-	ld [hld], a
-	ld a, c
-	sla a
-	sla a
-	sla a
-	sla a
-	sla a
-	ld b, a
-	ld a, [hl]
-	and $1f
-	or b
-	ld [hl], a
-	ret
-; 16cb08
-
-Function16cb08: ; 16cb08
-	ld b, a
-	ld a, [hl]
-	and $e0
-	or b
-	ld [hl], a
-	ret
-; 16cb0f
-
-Function16cb0f: ; 16cb0f
-	xor a
-	ld [Buffer1], a
-	ld [Buffer2], a
-	xor a
-	ld [wd1ec], a
-	ld a, $70
-	ld [wd1ee], a
-	ld a, $4
-	ld [wd1ed], a
-	ld a, $a0
-	ld [wd1ef], a
-	xor a
-	ld [wd1f0], a
-	ret
-; 16cb2e
-
-Function16cb2e: ; 16cb2e
-	ld a, [Buffer2]
-	and a
-	ret z
-	call Function16cb40
-	ld hl, Unknown_16cb86
-	ld de, Sprites
-	call Function16cb5d
-	ret
-; 16cb40
-
-Function16cb40: ; 16cb40
-	ld hl, wd1ec
-	inc [hl]
-	ld a, [hl]
-	cp $18
-	ret c
-	xor a
-	ld [hl], a
-	ld a, [wd1ef]
-	cp $a0
-	jr nz, .asm_16cb57
-	ld a, $a7
-	ld [wd1ef], a
-	ret
-
-.asm_16cb57
-	ld a, $a0
-	ld [wd1ef], a
-	ret
-; 16cb5d
-
-Function16cb5d: ; 16cb5d
-	ld a, [hli]
-	and a
-	ret z
-.asm_16cb60
-	push af
-	ld a, [wd1ee]
-	add [hl]
-	add $10
-	ld [de], a
-	inc hl
-	inc de
-	ld a, [wd1ed]
-	add [hl]
-	add $8
-	ld [de], a
-	inc hl
-	inc de
-	ld a, [wd1ef]
-	add [hl]
-	ld [de], a
-	inc hl
-	inc de
-	ld a, [wd1f0]
-	or [hl]
-	ld [de], a
-	inc hl
-	inc de
-	pop af
-	dec a
-	jr nz, .asm_16cb60
-	ret
-; 16cb86
-
-Unknown_16cb86:
-	db 7
-	db  0,  0, 0, 1
-	db  8,  0, 1, 1
-	db  8,  8, 2, 0
-	db  8, 16, 3, 0
-	db 16,  0, 4, 1
-	db 16,  8, 5, 0
-	db 16, 16, 6, 0
-; 16cba3
-
-Function16cba3: ; 16cba3
-	xor a
-	ld [wd1f1], a
-	ld [wd1f2], a
-	ld [wd1f3], a
-	ret
-; 16cbae
-
-Function16cbae: ; 16cbae
-	ld a, [wd1f1]
-	and a
-	ret z
-	call Function16cbba
-	call Function16cbd1
-	ret
-; 16cbba
-
-Function16cbba: ; 16cbba
-	ld hl, wd1f2
-	inc [hl]
-	ld a, [hl]
-	cp $c
-	ret c
-	xor a
-	ld [hl], a
-	ld a, [wd1f3]
-	inc a
-	cp $4
-	jr c, .asm_16cbcd
-	xor a
-
-.asm_16cbcd
-	ld [wd1f3], a
-	ret
-; 16cbd1
-
-Function16cbd1: ; 16cbd1
-	ld a, [wd1f3]
-	ld c, a
-	ld b, 0
-	ld hl, Unknown_16cbfb
-	add hl, bc
-	ld a, [hl]
-	ld bc, $0002
-	ld hl, Unknown_16cfa3
-	call AddNTimes
-	ld de, wd00c
-	ld bc, $0002
-	ld a, $5
-	call FarCopyWRAM
-	callba Function96a4
-	ld a, $1
-	ld [hCGBPalUpdate], a
-	ret
-; 16cbfb
-
-Unknown_16cbfb:
-	db 0, 1, 2, 1, 0, 1, 2
-; 16cc02
-
-Function16cc02: ; 16cc02
-	call Function16cc18
-	call Function16cc49
-	call Function16cc62
-	call Function16cc25
-	call Function16cc6e
-	call Function16cb0f
-	call Function16cba3
-	ret
-; 16cc18
-
-Function16cc18: ; 16cc18
-	ld hl, VTiles1
-	ld de, GFX_16cca3
-	lb bc, BANK(GFX_16cca3), $2e
-	call Get2bpp
-	ret
-; 16cc25
-
-Function16cc25: ; 16cc25
-	ld hl, Unknown_16cfa9
-	ld de, wd008
-	call Function16cc41
-	ld hl, Unknown_16cfb1
-	ld de, Unkn2Pals
-	call Function16cc41
-	ld hl, Unknown_16cfb9
-	ld de, wd048
-	call Function16cc41
-	ret
-; 16cc41
-
-Function16cc41: ; 16cc41
-	ld bc, $0008
-	ld a, $5
-	jp FarCopyWRAM
-; 16cc49
-
-Function16cc49: ; 16cc49
-	hlcoord 4, 15
-	ld a, $80
-	call Function16cc5a
-	hlcoord 4, 16
-	ld a, $90
-	call Function16cc5a
-	ret
-; 16cc5a
-
-Function16cc5a: ; 16cc5a
-	ld c, $10
-.asm_16cc5c
-	ld [hli], a
-	inc a
-	dec c
-	jr nz, .asm_16cc5c
-	ret
-; 16cc62
-
-Function16cc62: ; 16cc62
-	hlcoord 0, 15, AttrMap
-	ld bc, $0028
-	ld a, $1
-	call ByteFill
-	ret
-; 16cc6e
-
-Function16cc6e: ; 16cc6e
-	ld hl, VBGMap1
-	jr Function16cc73
-
-Function16cc73:
-	ld a, [rVBK]
-	push af
-	ld a, $0
-	ld [rVBK], a
-	push hl
-	ld de, TileMap
-	call Function16cc90
-	pop hl
-	ld a, $1
-	ld [rVBK], a
-	ld de, AttrMap
-	call Function16cc90
-	pop af
-	ld [rVBK], a
-	ret
-; 16cc90
-
-Function16cc90: ; 16cc90
-	ld bc, $1214
-.asm_16cc93
-	push bc
-.asm_16cc94
-	ld a, [de]
-	inc de
-	ld [hli], a
-	dec c
-	jr nz, .asm_16cc94
-	ld bc, $000c
-	add hl, bc
-	pop bc
-	dec b
-	jr nz, .asm_16cc93
-	ret
-; 16cca3
-
-GFX_16cca3:
-INCBIN "gfx/unknown/16cca3.2bpp"
-
-Unknown_16cfa3:
-	RGB 31, 31, 31
-	RGB 25, 27, 29
-	RGB 16, 19, 25
-
-Unknown_16cfa9:
-	RGB 31, 31, 31
-	RGB 25, 27, 29
-	RGB 31, 31, 31
-	RGB 07, 07, 07
-
-Unknown_16cfb1:
-	RGB 31, 31, 31
-	RGB 13, 09, 18
-	RGB 26, 21, 16
-	RGB 07, 07, 07
-
-Unknown_16cfb9:
-	RGB 31, 31, 31
-	RGB 18, 05, 02
-	RGB 27, 11, 12
-	RGB 07, 07, 07
-; 16cfc1
-
-GFX_16cfc1:
-INCBIN "gfx/unknown/16cfc1.2bpp"
-
-Function16d421: ; 16d421
-	ld de, GFX_16cfc1
-	ld hl, VTiles2
-	lb bc, BANK(GFX_16cfc1), $46
-	call Get2bpp
-	ret
-; 16d42e
-
-Function16d42e: ; 16d42e
-	ld hl, Tilemap_16d465
-	ld de, TileMap
-	ld bc, $0168
-	call CopyBytes
-	ret
-; 16d43b
-
-Function16d43b: ; 16d43b
-	call Function1d6e
-	call WhiteBGMap
-	call ClearTileMap
-	call ClearSprites
-	callba Function16d421
-	callba Function16d42e
-	ld b, $8
-	call GetSGBLayout
-	call Function32f9
-	call WaitBGMap
-	call Functiona36
-	call Function1d7d
-	ret
-; 16d465
-
-Tilemap_16d465:
-INCBIN "gfx/unknown/16d465.tilemap"
-
-Tilemap_16d5cd:
-INCBIN "gfx/unknown/16d5cd.tilemap"
-
-Tilemap_16d5f5:
-INCBIN "gfx/unknown/16d5f5.tilemap"
-
-Function16d61d: ; 16d61d
-	ld h, d
-	ld l, e
-	push bc
-	push hl
-	call Function16d640
-	pop hl
-	pop bc
-	ld de, AttrMap - TileMap
-	add hl, de
-	inc b
-	inc b
-	inc c
-	inc c
-	ld a, $7
-.asm_16d630
-	push bc
-	push hl
-.asm_16d632
-	ld [hli], a
-	dec c
-	jr nz, .asm_16d632
-	pop hl
-	ld de, $0014
-	add hl, de
-	pop bc
-	dec b
-	jr nz, .asm_16d630
-	ret
-; 16d640
-
-Function16d640: ; 16d640
-	push hl
-	ld a, $30
-	ld [hli], a
-	inc a
-	call Function16d66d
-	inc a
-	ld [hl], a
-	pop hl
-	ld de, $0014
-	add hl, de
-.asm_16d64f
-	push hl
-	ld a, $33
-	ld [hli], a
-	ld a, $7f
-	call Function16d66d
-	ld [hl], $34
-	pop hl
-	ld de, $0014
-	add hl, de
-	dec b
-	jr nz, .asm_16d64f
-	ld a, $35
-	ld [hli], a
-	ld a, $36
-	call Function16d66d
-	ld [hl], $37
-	ret
-; 16d66d
-
-Function16d66d: ; 16d66d
-	ld d, c
-.asm_16d66e
-	ld [hli], a
-	dec d
-	jr nz, .asm_16d66e
-	ret
-; 16d673
-
-Function16d673: ; 16d673
-	call Function16d696
-	call Function16d6ae
-	callba Function49856
-	callba Functionfb60d
-	hlcoord 10, 17
-	ld de, String_16d68f
-	call PlaceString
-	ret
-; 16d68f
-
-String_16d68f: ; 16d68f
-	db "CANCEL@"
-; 16d696
-
-Function16d696: ; 16d696
-	call Function16d421
-	ret
-; 16d69a
-
-
-Function16d69a: ; 16d69a
-	ld de, GFX_16cfc1 + $300
-	ld hl, $9760
-	lb bc, BANK(GFX_16cfc1), 8
-	call Get2bpp
-	ret
-; 16d6a7
-
-Function16d6a7: ; 16d6a7
-	callba Function49811
-	ret
-; 16d6ae
-
-Function16d6ae: ; 16d6ae
-	call Function16d42e
-	ld hl, Tilemap_16d5cd
-	ld de, TileMap
-	ld bc, $0028
-	call CopyBytes
-	ld hl, Tilemap_16d5f5
-	decoord 0, 16
-	ld bc, $0028
-	call CopyBytes
-	ret
-; 16d6ca
-
-Function16d6ca: ; 16d6ca
-	call Function16d61d
-	ret
-; 16d6ce
-
-Function16d6ce: ; 16d6ce
-	call Function1d6e
-	call Function16d6e1
-	callba Function87d
-	call Function1d7d
-	call Function3200
-	ret
-; 16d6e1
-
-Function16d6e1: ; 16d6e1
-	hlcoord 4, 10
-	ld b, $1
-	ld c, $a
-	predef Function28eef
-	hlcoord 5, 11
-	ld de, String_16d701
-	call PlaceString
-	call WaitBGMap
-	call Function3200
-	ld c, $32
-	jp DelayFrames
-; 16d701
-
-String_16d701: ; 16d701
-	db "WAITING..!@"
-; 16d70c
-
-Function16d70c: ; 16d70c
-	call Function16d725
-	call Function16d713
-	ret
-; 16d713
-
-Function16d713: ; 16d713
-	push bc
-	push af
-	ld a, [$ffa9]
-	and $f0
-	ld b, a
-	ld a, [hJoyPressed]
-	and $f
-	or b
-	ld b, a
-	pop af
-	ld a, b
-	pop bc
-	ld d, a
-	ret
-; 16d725
-
-Function16d725: ; 16d725
-	ld hl, wcfa6
-	res 7, [hl]
-	ld a, [hBGMapMode]
-	push af
-	call Function16d734
-	pop af
-	ld [hBGMapMode], a
-	ret
-; 16d734
-
-Function16d734: ; 16d734
-.asm_16d734
-	call Function16d77a
-	call Function16d759
-	call Function16d76a
-	jr nc, .asm_16d758
-	callba Function24270
-	jr c, .asm_16d758
-	ld a, [wcfa5]
-	bit 7, a
-	jr nz, .asm_16d758
-	call Function16d713
-	ld b, a
-	ld a, [wcfa8]
-	and b
-	jr z, .asm_16d734
-
-.asm_16d758
-	ret
-; 16d759
-
-Function16d759: ; 16d759
-	ld a, [hOAMUpdate]
-	push af
-	ld a, $1
-	ld [hOAMUpdate], a
-	call WaitBGMap
-	pop af
-	ld [hOAMUpdate], a
-	xor a
-	ld [hBGMapMode], a
-	ret
-; 16d76a
-
-Function16d76a: ; 16d76a
-.asm_16d76a
-	call RTC
-	call Function16d7e7
-	ret c
-	ld a, [wcfa5]
-	bit 7, a
-	jr z, .asm_16d76a
-	and a
-	ret
-; 16d77a
-
-Function16d77a: ; 16d77a
-	ld hl, wcfac
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld a, [hl]
-	cp $1f
-	jr nz, .asm_16d792
-	ld a, [wcfab]
-	ld [hl], a
-	push hl
-	push bc
-	ld bc, $000b
-	add hl, bc
-	ld [hl], a
-	pop bc
-	pop hl
-
-.asm_16d792
-	ld a, [wcfa1]
-	ld b, a
-	ld a, [wcfa2]
-	ld c, a
-	call GetTileCoord
-	ld a, [wcfa7]
-	swap a
-	and $f
-	ld c, a
-	ld a, [wcfa9]
-	ld b, a
-	xor a
-	dec b
-	jr z, .asm_16d7b1
-.asm_16d7ad
-	add c
-	dec b
-	jr nz, .asm_16d7ad
-
-.asm_16d7b1
-	ld c, $14
-	call AddNTimes
-	ld a, [wcfa7]
-	and $f
-	ld c, a
-	ld a, [wcfaa]
-	ld b, a
-	xor a
-	dec b
-	jr z, .asm_16d7c8
-.asm_16d7c4
-	add c
-	dec b
-	jr nz, .asm_16d7c4
-
-.asm_16d7c8
-	ld c, a
-	add hl, bc
-	ld a, [hl]
-	cp $1f
-	jr z, .asm_16d7de
-	ld [wcfab], a
-	ld [hl], $1f
-	push hl
-	push bc
-	ld bc, $000b
-	add hl, bc
-	ld [hl], $1f
-	pop bc
-	pop hl
-
-.asm_16d7de
-	ld a, l
-	ld [wcfac], a
-	ld a, h
-	ld [wcfad], a
-	ret
-; 16d7e7
-
-Function16d7e7: ; 16d7e7
-	ld a, [wcfa5]
-	bit 6, a
-	jr z, .asm_16d7f4
-	callba Function8cf62
-
-.asm_16d7f4
-	call Functiona57
-	call Function16d713
-	and a
-	ret z
-	scf
-	ret
-; 16d7fe
-
-
-SECTION "bank5C", ROMX, BANK[$5C]
-
-Function170000: ; 170000
-	ld a, [$c62b]
-	ld [$c6d0], a
-	ld hl, $c62e
-	ld de, $c6e7
-	ld bc, $0005
-	call CopyBytes
-	ld a, $50
-	ld [de], a
-	ld hl, $c663
-	ld de, $c6f2
-	ld bc, $0005
-	call CopyBytes
-	ld a, $50
-	ld [de], a
-	ld hl, $c648
-	ld a, [hli]
-	ld [$c6fd], a
-	ld a, [hl]
-	ld [$c6fe], a
-	ld hl, $c639
-	ld a, [hli]
-	ld [$c6ff], a
-	ld a, [hl]
-	ld [wc700], a
-	ld bc, $c633
-	callba GetCaughtGender
-	ld a, c
-	ld [wc701], a
-	ld a, [wcd81]
-	ld [wc74e], a
-	ld hl, $c608
-	ld de, $d800
-	ld bc, $008f
-	call CopyBytes
-	ret
-; 17005a
-
-Function17005a: ; 17005a
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$a824]
-	ld [wc702], a
-	ld hl, $a827
-	ld de, wc719
-	ld bc, $0005
-	call CopyBytes
-	ld a, $50
-	ld [de], a
-	ld hl, $a85c
-	ld de, wc724
-	ld bc, $0005
-	call CopyBytes
-	ld a, $50
-	ld [de], a
-	ld hl, $a841
-	ld a, [hli]
-	ld [wc72f], a
-	ld a, [hl]
-	ld [wc730], a
-	ld hl, $a832
-	ld a, [hli]
-	ld [wc731], a
-	ld a, [hl]
-	ld [wc732], a
-	ld bc, $a82c
-	callba GetCaughtGender
-	ld a, c
-	ld [wc733], a
-	ld a, [wcd81]
-	ld [wc74e], a
-	call CloseSRAM
-	ret
-; 1700b0
-
-Function1700b0: ; 1700b0
-	call Function17021e
-	callba Function118121
-	ret
-; 1700ba
-
-Function1700ba: ; 1700ba
-	call Function17021e
-	callba Function11811a
-	ret
-; 1700c4
-
-Function1700c4: ; 1700c4
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-	call Function17042c
-	ld a, $5
-	call GetSRAMBank
-	ld a, $1
-	ld [$be45], a
-	xor a
-	ld [$be46], a
-	ld hl, $dffc
-	ld de, $aa41
-	ld bc, $0004
-	call CopyBytes
-	ld hl, $d202
-	ld de, $aa8e
-	ld bc, $0594
-	call CopyBytes
-	ld hl, $aa5d
-	ld a, [hl]
-	inc [hl]
-	inc hl
-	sla a
-	sla a
-	ld e, a
-	ld d, $0
-	add hl, de
-	ld e, l
-	ld d, h
-	ld hl, $dffc
-	ld bc, $0004
-	call CopyBytes
-	call CloseSRAM
-	pop af
-	ld [rSVBK], a
-	ret
-; 170114
-
-Function170114: ; 170114
-	call Function17021e
-	call Function170121
-	callba Function11805f
-	ret
-; 170121
-
-Function170121: ; 170121
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $a948
-	ld de, $c608
-	ld bc, $00f6
-	call CopyBytes
-	call CloseSRAM
-	call Function170c8b
-	ret
-; 170139
-
-Function170139: ; 170139
-	ld a, $5
-	call GetSRAMBank
-	ld de, $aa41
-	ld h, $0
-	ld l, h
-	ld bc, $03e8
-	call Function17020c
-	ld bc, $0064
-	call Function17020c
-	ld bc, $000a
-	call Function17020c
-	ld a, [de]
-	ld c, a
-	ld b, $0
-	add hl, bc
-	call CloseSRAM
-	ld a, h
-	ld [$c608], a
-	ld a, l
-	ld [$c608 + 1], a
-	ld hl, $c628
-	ld a, [PlayerID]
-	ld [hli], a
-	ld a, [PlayerID + 1]
-	ld [hli], a
-	ld a, [wd84a]
-	ld [hli], a
-	ld a, [wd84b]
-	ld [hli], a
-	ld e, l
-	ld d, h
-	ld hl, PlayerName
-	ld bc, $0005
-	call CopyBytes
-	ld bc, PlayerID
-	ld de, PlayerGender
-	callba Function4e929
-	ld de, $c62c + 5
-	ld a, c
-	ld [de], a
-	inc de
-	ld a, $df
-	ld [wcd49], a
-	ld a, $dc
-	ld [wcd4a], a
-	ld a, $41
-	ld [wcd4b], a
-	ld a, $de
-	ld [wcd4c], a
-	ld a, $3
-.asm_1701ac
-	push af
-	ld a, [wcd49]
-	ld l, a
-	ld a, [wcd4a]
-	ld h, a
-	ld bc, $0030
-	call CopyBytes
-	ld a, l
-	ld [wcd49], a
-	ld a, h
-	ld [wcd4a], a
-	ld a, [wcd4b]
-	ld l, a
-	ld a, [wcd4c]
-	ld h, a
-	ld bc, $0006
-	call CopyBytes
-	ld a, l
-	ld [wcd4b], a
-	ld a, h
-	ld [wcd4c], a
-	pop af
-	dec a
-	jr nz, .asm_1701ac
-	ld a, $4
-	call GetSRAMBank
-	ld hl, $a013
-	ld bc, $0024
-	call CopyBytes
-	call CloseSRAM
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $a894
-	ld bc, $0006
-	call CopyBytes
-	ld hl, $c608
-	ld de, $a948
-	ld bc, $00f6
-	call CopyBytes
-	call CloseSRAM
-	ret
-; 17020c
-
-Function17020c: ; 17020c
-	ld a, [de]
-	inc de
-	and a
-	ret z
-.asm_170210
-	add hl, bc
-	dec a
-	jr nz, .asm_170210
-	ret
-; 170215
-
-Function170215: ; 170215
-	xor a
-	ld [wcf63], a
-	call Function17022c
-	ret
-; 17021d
-
-Function17021d: ; 17021d
-	ret
-; 17021e
-
-Function17021e: ; 17021e
-	xor a
-	ld [wcf63], a
-	ld [wcf64], a
-	ld [wcf65], a
-	ld [wcf66], a
-	ret
-; 17022c
-
-Function17022c: ; 17022c
-.asm_17022c
-	call Function17023a
-	call DelayFrame
-	ld a, [wcf63]
-	cp $1
-	jr nz, .asm_17022c
-	ret
-; 17023a
-
-Function17023a: ; 17023a
-	ld a, [wcf63]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_170249
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 170249
-
-Jumptable_170249: ; 170249
-	dw Function17024d
-	dw Function1704c9
-; 17024d
-
-Function17024d: ; 17024d
-	ld a, [Options]
-	push af
-	ld hl, Options
-	set 6, [hl]
-	ld a, [wcfc0]
-	push af
-	or $1
-	ld [wcfc0], a
-	xor a
-	ld [InLinkBattle], a
-	callba Function1060a2
-	callba Functionc658
-	call Function1702b7
-	call Function170bf7
-	predef StartBattle
-	callba Function1500c
-	callba Functionc658
-	ld a, [wd0ee]
-	ld [ScriptVar], a
-	and a
-	jr nz, .asm_1702a9
-	ld a, $1
-	call GetSRAMBank
-	ld a, [$be46]
-	ld [wcf64], a
-	call CloseSRAM
-	ld hl, StringBuffer3
-	ld a, [wcf64]
-	add $f7
-	ld [hli], a
-	ld a, $50
-	ld [hl], a
-
-.asm_1702a9
-	pop af
-	ld [wcfc0], a
-	pop af
-	ld [Options], a
-	ld a, $1
-	ld [wcf63], a
-	ret
-; 1702b7
-
-Function1702b7: ; 1702b7
-	call Function1704a2
-	ld de, $c643
-	ld c, $b
-	callba Function17d073
-	jr nc, .asm_1702db
-	ld a, [$c608 + 11]
-	ld [wd265], a
-	call GetPokemonName
-	ld l, e
-	ld h, d
-	ld de, $c643
-	ld bc, $000b
-	call CopyBytes
-
-.asm_1702db
-	ld de, $c67e
-	ld c, $b
-	callba Function17d073
-	jr nc, .asm_1702fc
-	ld a, [$c64e]
-	ld [wd265], a
-	call GetPokemonName
-	ld l, e
-	ld h, d
-	ld de, $c67e
-	ld bc, $000b
-	call CopyBytes
-
-.asm_1702fc
-	ld de, $c686 + 51
-	ld c, $b
-	callba Function17d073
-	jr nc, .asm_17031d
-	ld a, [$c689]
-	ld [wd265], a
-	call GetPokemonName
-	ld l, e
-	ld h, d
-	ld de, $c686 + 51
-	ld bc, $000b
-	call CopyBytes
-
-.asm_17031d
-	ld a, $50
-	ld [$c64d], a
-	ld [$c688], a
-	ld [$c68a + 57], a
-	call Function170c98
-	ld de, $c608
-	ld c, $a
-	callba Function17d073
-	jr nc, .asm_17033d
-	ld hl, String_170426
-	jr .asm_170340
-
-.asm_17033d
-	ld hl, $c608
-
-.asm_170340
-	ld de, wd26b
-	ld bc, $000a
-	call CopyBytes
-	ld a, $50
-	ld [de], a
-	ld hl, $c608 + 10
-	ld a, [hli]
-	ld [OtherTrainerClass], a
-	ld a, $ea
-	ld [BGMapBuffer], a
-	ld a, $d3
-	ld [wcd21], a
-	ld de, OTPartyMon1Species
-	ld bc, OTPartyCount
-	ld a, $3
-	ld [bc], a
-	inc bc
-.asm_170367
-	push af
-	ld a, [hl]
-	ld [bc], a
-	inc bc
-	push bc
-	ld bc, $0030
-	call CopyBytes
-	push de
-	ld a, [BGMapBuffer]
-	ld e, a
-	ld a, [wcd21]
-	ld d, a
-	ld bc, $000b
-	call CopyBytes
-	ld a, e
-	ld [BGMapBuffer], a
-	ld a, d
-	ld [wcd21], a
-	pop de
-	pop bc
-	pop af
-	dec a
-	and a
-	jr nz, .asm_170367
-	ld a, $ff
-	ld [bc], a
-	ret
-; 170394
-
-Function170394: ; 170394
-	ld hl, $c608 + 11
-	ld d, $3
-.asm_170399
-	push de
-	push hl
-	ld b, h
-	ld c, l
-	ld a, [hl]
-	and a
-	jr z, .asm_1703b1
-	cp $ff
-	jr z, .asm_1703b1
-	cp $fe
-	jr z, .asm_1703b1
-	cp $fd
-	jr z, .asm_1703b1
-	cp $fc
-	jr nz, .asm_1703b4
-
-.asm_1703b1
-	ld a, $eb
-	ld [hl], a
-
-.asm_1703b4
-	ld [CurSpecies], a
-	call GetBaseData
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$b2fb]
-	call CloseSRAM
-	ld e, a
-	ld hl, $001f
-	add hl, bc
-	ld a, [hl]
-	cp $2
-	ld a, $2
-	jr c, .asm_1703d6
-	ld a, [hl]
-	cp e
-	jr c, .asm_1703d7
-	ld a, e
-
-.asm_1703d6
-	ld [hl], a
-
-.asm_1703d7
-	ld [CurPartyLevel], a
-	ld hl, $0002
-	add hl, bc
-	ld d, $3
-	ld a, [hli]
-	and a
-	jr z, .asm_1703ea
-	cp $fc
-	jr nc, .asm_1703ea
-	jr .asm_1703f4
-
-.asm_1703ea
-	dec hl
-	ld a, $1
-	ld [hli], a
-	xor a
-	ld [hli], a
-	ld [hli], a
-	ld [hl], a
-	jr .asm_1703ff
-
-.asm_1703f4
-	ld a, [hl]
-	cp $fc
-	jr c, .asm_1703fb
-	ld [hl], $0
-
-.asm_1703fb
-	inc hl
-	dec d
-	jr nz, .asm_1703f4
-
-.asm_1703ff
-	ld hl, $0024
-	add hl, bc
-	ld d, h
-	ld e, l
-	push hl
-	push de
-	ld hl, $000a
-	add hl, bc
-	ld b, $1
-	predef Functione167
-	pop de
-	pop hl
-	dec de
-	dec de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hl]
-	ld [de], a
-	pop hl
-	ld bc, $003b
-	add hl, bc
-	pop de
-	dec d
-	jp nz, .asm_170399
-	ret
-; 170426
-
-String_170426: ; 170426
-	db "CHRIS@"
-; 17042c
-
-Function17042c: ; 17042c
-	ld hl, OTPartyMon2ID
-	ld a, $7
-.asm_170431
-	push af
-	push hl
-	ld c, $12
-.asm_170435
-	ld a, [hli]
-	ld b, a
-	ld a, [hli]
-	and a
-	jr z, .asm_170451
-	cp $f
-	jr nc, .asm_17045b
-	push hl
-	ld hl, Unknown_170470
-	dec a
-	ld e, a
-	ld d, 0
-	add hl, de
-	ld a, [hl]
-	pop hl
-	cp b
-	jr c, .asm_17045b
-	jr z, .asm_17045b
-	jr .asm_170456
-
-.asm_170451
-	ld a, b
-	cp $fc
-	jr nc, .asm_17045b
-
-.asm_170456
-	dec c
-	jr nz, .asm_170435
-	jr .asm_170466
-
-.asm_17045b
-	pop de
-	push de
-	ld hl, Unknown_17047e
-	ld bc, $0024
-	call CopyBytes
-
-.asm_170466
-	pop hl
-	ld de, $00e0
-	add hl, de
-	pop af
-	dec a
-	jr nz, .asm_170431
-	ret
-; 170470
-
-Unknown_170470:
-	db $12, $24, $45, $45, $42, $42, $45, $42, $27, $27, $45, $27, $42, $24
-
-Unknown_17047e:
-	db $03, $04, $05, $08
-	db $03, $05, $0e, $06
-	db $03, $02, $00, $00
-	db $39, $07, $07, $04
-	db $00, $05, $04, $07
-	db $01, $05, $00, $00
-	db $0f, $05, $14, $07
-	db $05, $05, $11, $0c
-	db $0c, $06, $06, $04
-; 1704a2
-
-Function1704a2: ; 1704a2
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-	ld hl, LYOverrides
-	ld de, $c608
-	ld bc, $00e0
-	call CopyBytes
-	pop af
-	ld [rSVBK], a
-	ld a, $1
-	call GetSRAMBank
-	ld a, $2
-	ld [$be45], a
-	ld hl, $be46
-	inc [hl]
-	call CloseSRAM
-Function1704c9:
-	ret
-; 1704ca
-
-Function1704ca: ; 1704ca
-	ld a, [$be46]
-	cp $7
-	jr c, .asm_1704d3
-	ld a, $6
-
-.asm_1704d3
-	ld hl, $afce
-	ld de, -$e0
-.asm_1704d9
-	and a
-	jr z, .asm_1704e0
-	add hl, de
-	dec a
-	jr .asm_1704d9
-
-.asm_1704e0
-	ret
-; 1704e1
-
-Function1704e1: ; 1704e1
-	call SpeechTextBox
-	call FadeToMenu
-	call Function17021e
-	call Function1704f1
-	call Function2b3c
-	ret
-; 1704f1
-
-Function1704f1: ; 1704f1
-	call WhiteBGMap
-	call ClearSprites
-	call ClearScreen
-.asm_1704fa
-	call Functiona57
-	ld a, [wcf63]
-	bit 7, a
-	jr nz, .asm_17050f
-	call Function170510
-	callba Function104061
-	jr .asm_1704fa
-
-.asm_17050f
-	ret
-; 170510
-
-Function170510: ; 170510
-	ld a, [wcf63]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_17051f
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 17051f
-
-Jumptable_17051f: ; 17051f
-	dw Function170525
-	dw Function170571
-	dw Function170577
-; 170525
-
-Function170525: ; 170525
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $a89c
-	ld de, StringBuffer3
-	ld bc, $0016
-	call CopyBytes
-	ld hl, $a8b2
-	ld de, $c608
-	ld bc, $0096
-	call CopyBytes
-	call CloseSRAM
-	hlcoord 1, 1
-	ld de, StringBuffer3
-	call PlaceString
-	hlcoord 1, 3
-	ld de, String_170676
-	call PlaceString
-	hlcoord 4, 3
-	ld de, StringBuffer4
-	call PlaceString
-	hlcoord 8, 3
-	ld de, String_17067a
-	call PlaceString
-	call Function1705b7
-	call Function1705f0
-	jr Function1705b2
-
-Function170571:
-	call Function32f9
-	call Function1705b2
-
-Function170577:
-	ld hl, hJoyPressed
-	ld a, [hl]
-	and $1
-	jr nz, .asm_1705ac
-	ld a, [hl]
-	and $2
-	jr nz, .asm_1705ac
-	ld a, [hl]
-	and $40
-	jr nz, .asm_17058f
-	ld a, [hl]
-	and $80
-	jr nz, .asm_17059d
-	ret
-
-.asm_17058f
-	ld a, [wcf64]
-	and a
-	ret z
-	sub $f
-	ld [wcf64], a
-	call Function1705f0
-	ret
-
-.asm_17059d
-	ld a, [wcf64]
-	cp $3c
-	ret z
-	add $f
-	ld [wcf64], a
-	call Function1705f0
-	ret
-
-.asm_1705ac
-	ld hl, wcf63
-	set 7, [hl]
-	ret
-
-Function1705b2:
-	ld hl, wcf63
-	inc [hl]
-	ret
-; 1705b7
-
-Function1705b7: ; 1705b7
-	hlcoord 0, 4
-	ld a, $79
-	ld [hli], a
-	ld c, $12
-.asm_1705bf
-	ld a, $7a
-	ld [hli], a
-	dec c
-	jr nz, .asm_1705bf
-	ld a, $7b
-	ld [hli], a
-	ld de, $0014
-	ld c, $c
-.asm_1705cd
-	ld a, $7c
-	ld [hl], a
-	add hl, de
-	dec c
-	jr nz, .asm_1705cd
-	ld a, $7d
-	ld [hli], a
-	ld c, $12
-.asm_1705d9
-	ld a, $7a
-	ld [hli], a
-	dec c
-	jr nz, .asm_1705d9
-	ld a, $7e
-	ld [hl], a
-	ld de, $ffec
-	add hl, de
-	ld c, $c
-.asm_1705e8
-	ld a, $7c
-	ld [hl], a
-	add hl, de
-	dec c
-	jr nz, .asm_1705e8
-	ret
-; 1705f0
-
-Function1705f0: ; 1705f0
-	call Function17064b
-	call Function17065d
-	ld a, $50
-	ld [wcd4e], a
-	ld hl, $c608
-	ld a, [wcf64]
-	ld c, a
-	xor a
-	ld b, a
-	add hl, bc
-	push hl
-	pop bc
-	hlcoord 1, 6
-	ld a, $6
-.asm_17060c
-	push af
-	push hl
-	ld a, $3
-.asm_170610
-	push af
-	ld de, wcd49
-	ld a, [bc]
-	and a
-	jr z, .asm_170625
-	ld a, $5
-.asm_17061a
-	push af
-	ld a, [bc]
-	ld [de], a
-	inc bc
-	inc de
-	pop af
-	dec a
-	jr nz, .asm_17061a
-	jr .asm_170631
-
-.asm_170625
-	ld a, $5
-.asm_170627
-	push af
-	ld a, $e3
-	ld [de], a
-	inc de
-	inc bc
-	pop af
-	dec a
-	jr nz, .asm_170627
-
-.asm_170631
-	ld de, wcd49
-	push bc
-	call PlaceString
-	ld de, $0006
-	add hl, de
-	pop bc
-	pop af
-	dec a
-	jr nz, .asm_170610
-	pop hl
-	ld de, $0028
-	add hl, de
-	pop af
-	dec a
-	jr nz, .asm_17060c
-	ret
-; 17064b
-
-Function17064b: ; 17064b
-	hlcoord 1, 5
-	xor a
-	ld b, $c
-.asm_170651
-	ld c, $12
-.asm_170653
-	ld [hli], a
-	dec c
-	jr nz, .asm_170653
-	inc hl
-	inc hl
-	dec b
-	jr nz, .asm_170651
-	ret
-; 17065d
-
-Function17065d: ; 17065d
-	ld a, [wcf64]
-	and a
-	jr z, .asm_170669
-	hlcoord 18, 5
-	ld a, $61
-	ld [hl], a
-
-.asm_170669
-	ld a, [wcf64]
-	cp $3c
-	ret z
-	hlcoord 18, 16
-	ld a, $ee
-	ld [hl], a
-	ret
-; 170676
-
-String_170676: ; 170676
-	db "ルーム@"
-; 17067a
-
-String_17067a: ; 17067a
-	db "れきだいりーダーいちらん@"
-; 170687
-
-Function170687: ; 170687
-	ld a, [ScriptVar]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_170696
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 170696
-
-
-Jumptable_170696: ; 170696 (5c:4696)
-	dw Function17075f
-	dw Function170788
-	dw Function170778
-	dw Function170799
-	dw Function17079d
-	dw Function1707ac
-	dw Function1707f4
-	dw Function170868
-	dw Function170881
-	dw Function17089a
-	dw Function1708b1
-	dw Function1708b9
-	dw Function1708c8
-	dw Function1708f0
-	dw Function17093c
-	dw Function1709aa
-	dw Function1709bb
-	dw Function170a9c
-	dw Function170aa0
-	dw Function170aaf
-	dw Function170abe
-	dw Function170ad7
-	dw Function170807
-	dw Function17081d
-	dw Function170ae8
-	dw Function170b16
-	dw Function1706d6
-	dw Function1706ee
-	dw Function17071b
-	dw Function170729
-	dw Function17073e
-	dw Function170737
-
-
-Function1706d6: ; 1706d6 (5c:46d6)
-	ld a, $1
-	call GetSRAMBank
-	ld a, $ff
-	ld hl, $be48
-	ld bc, $7
-	call ByteFill
-	xor a
-	ld [$be46], a
-	call CloseSRAM
-	ret
-
-Function1706ee: ; 1706ee (5c:46ee)
-	ld a, $1
-	call GetSRAMBank
-	ld a, [$be50]
-	call CloseSRAM
-	ld [ScriptVar], a
-	ld hl, NumItems
-	ld a, [hli]
-	cp $14
-	ret c
-	ld b, $14
-	ld a, [ScriptVar]
-	ld c, a
-.asm_170709
-	ld a, [hli]
-	cp c
-	jr nz, .asm_170711
-	ld a, [hl]
-	cp $5f
-	ret c
-.asm_170711
-	inc hl
-	dec b
-	jr nz, .asm_170709
-	ld a, $12
-	ld [ScriptVar], a
-	ret
-
-Function17071b: ; 17071b (5c:471b)
-	ld a, $1
-	call GetSRAMBank
-	ld a, $3
-	ld [$be45], a
-	call CloseSRAM
-	ret
-
-Function170729: ; 170729 (5c:4729)
-	ld a, $1
-	call GetSRAMBank
-	ld a, $4
-	ld [$be45], a
-	call CloseSRAM
-	ret
-
-Function170737: ; 170737 (5c:4737)
-	callba Function14dbb
-	ret
-
-Function17073e: ; 17073e (5c:473e)
-	call Random
-	ld a, [hRandomAdd] ; $ff00+$e1
-	and $7
-	cp $6
-	jr c, .asm_17074b
-	sub $6
-.asm_17074b
-	add $1a
-	cp $1e
-	jr z, Function17073e
-	push af
-	ld a, $1
-	call GetSRAMBank
-	pop af
-	ld [$be50], a
-	call CloseSRAM
-	ret
-
-Function17075f: ; 17075f (5c:475f)
-	call Function17089a
-	ld a, [ScriptVar]
-	and a
-	ret z
-	ld a, $1
-	call GetSRAMBank
-	ld a, [$be4f]
-	and $2
-	ld [ScriptVar], a
-	call CloseSRAM
-	ret
-
-Function170778: ; 170778 (5c:4778)
-	ld hl, $be45
-	ld a, $1
-	call GetSRAMBank
-	ld a, [hl]
-	ld [ScriptVar], a
-	call CloseSRAM
-	ret
-
-Function170788: ; 170788 (5c:4788)
-	ld a, $1
-	call GetSRAMBank
-	ld a, [$be4f]
-	or $2
-	ld [$be4f], a
-	call CloseSRAM
-	ret
-
-Function170799: ; 170799 (5c:4799)
-	ld c, $1
-	jr asm_17079f
-
-Function17079d: ; 17079d (5c:479d)
-	ld c, $0
-asm_17079f: ; 17079f (5c:479f)
-	ld a, $1
-	call GetSRAMBank
-	ld a, c
-	ld [$be45], a
-	call CloseSRAM
-	ret
-
-Function1707ac: ; 1707ac (5c:47ac)
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$aa8c]
-	ld b, a
-	ld a, [$be46]
-	ld [ScriptVar], a
-	call CloseSRAM
-	and a
-	ret z
-	ld a, b
-	cp $2
-	jr nc, .asm_1707ef
-	push bc
-	call UpdateTime
-	pop bc
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$aa8b]
-	call CloseSRAM
-	ld c, a
-	ld a, [CurDay]
-	sub c
-	jr c, .asm_1707e5
-	cp $8
-	jr nc, .asm_1707ef
-	ld a, b
-	and a
-	jr nz, .asm_1707ef
-	ret
-.asm_1707e5
-	ld hl, CurDay
-	ld a, $8c
-	sub c
-	add [hl]
-	cp $8
-	ret c
-.asm_1707ef
-	ld a, $8
-	ld [ScriptVar], a
-
-Function1707f4: ; 1707f4 (5c:47f4)
-	ld a, $5
-	call GetSRAMBank
-	xor a
-	ld [$be46], a
-	ld [$aa8b], a
-	ld [$aa8c], a
-	call CloseSRAM
-	ret
-
-Function170807: ; 170807 (5c:4807)
-	call UpdateTime
-	ld a, $5
-	call GetSRAMBank
-	ld a, [CurDay]
-	ld [$b2f9], a
-	xor a
-	ld [$b2fa], a
-	call CloseSRAM
-	ret
-
-Function17081d: ; 17081d (5c:481d)
-	xor a
-	ld [ScriptVar], a
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$b2f9]
-	ld c, a
-	ld a, [$b2fa]
-	ld b, a
-	call CloseSRAM
-	cp $2
-	jr nc, .asm_170853
-	push bc
-	call UpdateTime
-	pop bc
-	ld a, [CurDay]
-	sub c
-	jr c, .asm_170849
-	cp $b
-	jr nc, .asm_170853
-	ld a, b
-	and a
-	jr nz, .asm_170853
-	ret
-.asm_170849
-	ld hl, CurDay
-	ld a, $8c
-	sub c
-	add [hl]
-	cp $b
-	ret c
-.asm_170853
-	ld a, $1
-	ld [ScriptVar], a
-	ld a, $5
-	call GetSRAMBank
-	xor a
-	ld [$b2f9], a
-	ld [$b2fa], a
-	call CloseSRAM
-	ret
-
-Function170868: ; 170868 (5c:4868)
-	ld a, $1
-	call GetSRAMBank
-	ld a, [rSVBK] ; $ff00+$70
-	push af
-	ld a, $3
-	ld [rSVBK], a ; $ff00+$70
-	ld a, [wd000 + $800]
-	ld [$be47], a
-	pop af
-	ld [rSVBK], a ; $ff00+$70
-	call CloseSRAM
-	ret
-
-Function170881: ; 170881 (5c:4881)
-	ld a, $1
-	call GetSRAMBank
-	ld a, [rSVBK] ; $ff00+$70
-	push af
-	ld a, $3
-	ld [rSVBK], a ; $ff00+$70
-	ld a, [$be47]
-	ld [wd000 + $800], a
-	pop af
-	ld [rSVBK], a ; $ff00+$70
-	call CloseSRAM
-	ret
-
-Function17089a: ; 17089a
-	ld a, [wcfcd]
-	and a
-	jr z, .asm_1708ad
-	callba Function14bcb
-	jr z, .asm_1708ab
-	xor a
-	jr .asm_1708ad
-
-.asm_1708ab
-	ld a, $1
-
-.asm_1708ad
-	ld [ScriptVar], a
-	ret
-; 1708b1
-
-
-Function1708b1: ; 1708b1 (5c:48b1)
-	xor a
-	ld [MusicFade], a
-	call MaxVolume
-	ret
-
-Function1708b9: ; 1708b9 (5c:48b9)
-	ld a, $1
-	call GetSRAMBank
-	ld a, [$be3c]
-	ld [ScriptVar], a
-	call CloseSRAM
-	ret
-
-Function1708c8: ; 1708c8 (5c:48c8)
-	call UpdateTime
-	ld a, $5
-	call GetSRAMBank
-	ld a, [CurDay]
-	ld [$aa8b], a
-	xor a
-	ld [$aa8c], a
-	ld a, [$aa5d]
-	cp $2
-	jr nc, .asm_1708ec
-	ld a, [CurDay]
-	ld [$aa48], a
-	ld a, $1
-	ld [$aa47], a
-.asm_1708ec
-	call CloseSRAM
-	ret
-
-Function1708f0: ; 1708f0 (5c:48f0)
-	xor a
-	ld [ScriptVar], a
-	call UpdateTime
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$aa48]
-	ld c, a
-	ld a, [$aa47]
-	call CloseSRAM
-	and a
-	ret z
-	ld hl, CurDay
-	ld a, c
-	cp [hl]
-	jr nz, Function170923
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$aa5d]
-	call CloseSRAM
-	cp $5
-	ret c
-	ld a, $1
-	ld [ScriptVar], a
-	ret
-
-
-Function170923: ; 170923
-	ld a, $5
-	call GetSRAMBank
-	xor a
-	ld [$aa48], a
-	ld [$aa47], a
-	ld hl, $aa5d
-	ld bc, $0011
-	call ByteFill
-	call CloseSRAM
-	ret
-; 17093c
-
-
-Function17093c: ; 17093c (5c:493c)
-	xor a
-	ld [ScriptVar], a
-	ld a, EGG_TICKET
-	ld [CurItem], a
-	ld hl, NumItems
-	call CheckItem
-	ret nc
-	ld a, [PartyCount]
-	ld b, 0
-	ld c, a
-	ld hl, PartySpecies
-.asm_170955
-	ld a, [hli]
-	cp EGG
-	jr nz, .asm_17099f
-	push hl
-	ld hl, PartyMonOT ; wddff (aliases: PartyMonOT)
-	ld de, $6
-	ld a, b
-	and a
-	jr z, .asm_170969
-.asm_170965
-	add hl, de
-	dec a
-	jr nz, .asm_170965
-.asm_170969
-	ld de, String_1709a4
-	ld a, $6
-.asm_17096e
-	push af
-	ld a, [de]
-	inc de
-	cp [hl]
-	inc hl
-	jr nz, .asm_17099d
-	pop af
-	dec a
-	jr nz, .asm_17096e
-	dec hl
-	dec hl
-	dec hl
-	dec hl
-	ld a, $50
-	ld [hli], a
-	ld [hli], a
-	pop hl
-	ld a, EGG_TICKET
-	ld [CurItem], a
-	ld a, $1
-	ld [wd10c], a
-	ld a, $ff
-	ld [wd107], a
-	ld hl, NumItems
-	call TossItem
-	ld a, $1
-	ld [ScriptVar], a
-	ret
-
-.asm_17099d
-	pop af
-	pop hl
-.asm_17099f
-	inc b
-	dec c
-	jr nz, .asm_170955
-	ret
-; 1709a4 (5c:49a4)
-
-String_1709a4: ; 1709a4
-	db "なぞナゾ@@"
-
-Function1709aa: ; 1709aa (5c:49aa)
-	ld a, [rSVBK] ; $ff00+$70
-	push af
-	ld a, $3
-	ld [rSVBK], a ; $ff00+$70
-	ld a, [StringBuffer2 + 10]
-	ld [ScriptVar], a
-	pop af
-	ld [rSVBK], a ; $ff00+$70
-	ret
-
-Function1709bb: ; 1709bb (5c:49bb)
-	xor a
-	ld [ScriptVar], a
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$a800]
-	call CloseSRAM
-	cp 6
-	jr nc, .asm_1709da
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_1709e7
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-.asm_1709da
-	ld a, $5
-	call GetSRAMBank
-	xor a
-	ld [$a800], a
-	call CloseSRAM
-	ret
-; 1709e7 (5c:49e7)
-
-Jumptable_1709e7: ; 1709e7
-	dw Function170a00
-	dw Function170a00
-	dw Function1709f3
-	dw Function1709f3
-	dw Function170a01
-	dw Function170a33
-; 1709f3
-
-Function1709f3: ; 1709f3
-	ld a, $5
-	call GetSRAMBank
-	ld a, $1
-	ld [$a800], a
-	call CloseSRAM
-
-Function170a00: ; 170a00
-	ret
-; 170a01
-
-Function170a01: ; 170a01
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $b023
-	ld de, $c608
-	ld bc, $0069
-	call CopyBytes
-	ld a, [$a825]
-	ld [wcd30], a
-	ld a, [$a826]
-	ld [wcd31], a
-	call CloseSRAM
-	callba Function11b6b4
-	callba Function17d0f3
-	ld a, $1
-	ld [ScriptVar], a
-	ret
-; 170a33
-
-Function170a33: ; 170a33
-	ld a, $0
-	call GetSRAMBank
-	ld hl, wRTC
-	ld de, $c608
-	ld bc, $0004
-	call CopyBytes
-	call CloseSRAM
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $b08c
-	ld de, $c608
-	ld c, $4
-.asm_170a54
-	ld a, [de]
-	inc de
-	cp [hl]
-	jr nz, .asm_170a78
-	inc hl
-	dec c
-	jr nz, .asm_170a54
-	call CloseSRAM
-	ld a, [MapGroup]
-	ld b, a
-	ld a, [MapNumber]
-	ld c, a
-	call GetMapTrigger
-	ld a, d
-	or e
-	jr z, .asm_170a72
-	ld a, [de]
-	and a
-	ret nz
-
-.asm_170a72
-	ld a, $1
-	ld [ScriptVar], a
-	ret
-
-.asm_170a78
-	call CloseSRAM
-	ld a, $5
-	call GetSRAMBank
-	xor a
-	ld [$a800], a
-	call CloseSRAM
-	ld [ScriptVar], a
-	ld a, [MapGroup]
-	ld b, a
-	ld a, [MapNumber]
-	ld c, a
-	call GetMapTrigger
-	ld a, d
-	or e
-	jr z, .asm_170a9b
-	xor a
-	ld [de], a
-
-.asm_170a9b
-	ret
-; 170a9c
-
-Function170a9c: ; 170a9c (5c:4a9c)
-	ld c, $0
-	jr asm_170aa2
-
-Function170aa0: ; 170aa0 (5c:4aa0)
-	ld c, $1
-asm_170aa2: ; 170aa2 (5c:4aa2)
-	ld a, $5
-	call GetSRAMBank
-	ld a, c
-	ld [$aa8d], a
-	call CloseSRAM
-	ret
-
-Function170aaf: ; 170aaf (5c:4aaf)
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$aa8d]
-	ld [ScriptVar], a
-	call CloseSRAM
-	ret
-
-Function170abe: ; 170abe (5c:4abe)
-	call Function17089a
-	ld a, [ScriptVar]
-	and a
-	ret z
-	ld a, $1
-	call GetSRAMBank
-	ld a, [$be4f]
-	and $1
-	ld [ScriptVar], a
-	call CloseSRAM
-	ret
-
-Function170ad7: ; 170ad7 (5c:4ad7)
-	ld a, $1
-	call GetSRAMBank
-	ld a, [$be4f]
-	or $1
-	ld [$be4f], a
-	call CloseSRAM
-	ret
-
-Function170ae8: ; 170ae8 (5c:4ae8)
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$b2fb]
-	call CloseSRAM
-	ld c, $a
-	call SimpleDivide
-	ld a, b
-	ld [wcd4f], a
-	xor a
-	ld [ScriptVar], a
-	callba Function119d93
-	ret nc
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$b2fb]
-	call CloseSRAM
-	ld [ScriptVar], a
-	ret
-
-Function170b16: ; 170b16 (5c:4b16)
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$b2fb]
-	call CloseSRAM
-	ld c, 10
-	call SimpleDivide
-	ld a, b
-	ld [wcd4f], a
-	xor a
-	ld [ScriptVar], a
-	callba Function119dd1
-	ret nc
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$b2fb]
-	call CloseSRAM
-	ld [ScriptVar], a
-	ret
-
-Function170b44: ; 170b44
-	callba Function1f8000
-	ld a, [rSVBK]
-	push af
-	ld a, $3
-	ld [rSVBK], a
-	ld hl, wd10a
-	ld a, [hl]
-	dec a
-	ld c, a
-	ld b, $0
-	pop af
-	ld [rSVBK], a
-	ld hl, Unknown_170b90
-	add hl, bc
-	ld a, [hl]
-	ld [wcd49], a
-	ld a, [ScriptVar]
-	dec a
-	sla a
-	ld e, a
-	sla a
-	sla a
-	sla a
-	ld c, a
-	ld b, $0
-	ld d, $0
-	ld hl, MapObjects
-	add hl, bc
-	inc hl
-	ld a, [wcd49]
-	ld [hl], a
-	ld hl, UsedSprites
-	add hl, de
-	ld [hli], a
-	ld [$ffbd], a
-	ld a, [hl]
-	ld [$ffbe], a
-	callba Function143c8
-	ret
-; 170b90
-
-Unknown_170b90:
-INCBIN "baserom.gbc",$170b90,$170bd2 - $170b90
-
-Function170bd2: ; 170bd2
-	ret
-; 170bd3
-
-Function170bd3: ; 170bd3
-	callba Function8b201
-	jr c, .asm_170bde
-	xor a
-	jr .asm_170be0
-
-.asm_170bde
-	ld a, $1
-
-.asm_170be0
-	ld [ScriptVar], a
-	ret
-; 170be4
-
-Function170be4: ; 170be4
-	ld a, $5
-	call GetSRAMBank
-	xor a
-	ld hl, $a894
-	ld bc, $0008
-	call ByteFill
-	call CloseSRAM
-	ret
-; 170bf7
-
-Function170bf7: ; 170bf7
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $a89a
-	xor a
-	ld [hli], a
-	ld [hl], a
-	call CloseSRAM
-	ret
-; 170c06
-
-Function170c06: ; 170c06
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $a894
-	ld a, [wd0ee]
-	and a
-	jr nz, .asm_170c15
-	inc [hl]
-
-.asm_170c15
-	inc hl
-	inc hl
-	ld a, [$a89b]
-	add [hl]
-	ld [hld], a
-	ld a, [$a89a]
-	adc [hl]
-	ld [hli], a
-	jr nc, .asm_170c27
-	ld a, $ff
-	ld [hld], a
-	ld [hli], a
-
-.asm_170c27
-	inc hl
-	push hl
-	ld de, 0
-	xor a
-	ld [wd265], a
-.asm_170c30
-	ld hl, PartyMon1HP
-	ld a, [wd265]
-	call GetPartyLocation
-	ld a, [hli]
-	ld b, a
-	ld c, [hl]
-	inc hl
-	inc hl
-	ld a, [hld]
-	sub c
-	ld c, a
-	ld a, [hl]
-	sbc b
-	ld b, a
-	push de
-	pop hl
-	add hl, bc
-	push hl
-	pop de
-	jr c, .asm_170c58
-	ld a, [wd265]
-	inc a
-	ld [wd265], a
-	cp $3
-	jr c, .asm_170c30
-	jr .asm_170c5b
-
-.asm_170c58
-	ld de, -1
-
-.asm_170c5b
-	pop hl
-	inc hl
-	ld a, e
-	add [hl]
-	ld [hld], a
-	ld a, d
-	adc [hl]
-	ld [hli], a
-	jr nc, .asm_170c69
-	ld a, $ff
-	ld [hld], a
-	ld [hli], a
-
-.asm_170c69
-	inc hl
-	push hl
-	ld b, $0
-	ld c, $0
-.asm_170c6f
-	ld hl, PartyMon1HP
-	ld a, b
-	push bc
-	call GetPartyLocation
-	pop bc
-	ld a, [hli]
-	or [hl]
-	jr nz, .asm_170c7d
-	inc c
-
-.asm_170c7d
-	inc b
-	ld a, b
-	cp $3
-	jr c, .asm_170c6f
-	pop hl
-	ld a, [hl]
-	add c
-	ld [hl], a
-	call CloseSRAM
-	ret
-; 170c8b
-
-Function170c8b: ; 170c8b
-	ld hl, LastPlayerCounterMove
-	ld b, $5
-.asm_170c90
-	ld a, [hl]
-	xor $ff
-	ld [hli], a
-	dec b
-	jr nz, .asm_170c90
-	ret
-; 170c98
-
-Function170c98: ; 170c98
-	ld c, $3
-	ld hl, $c608 + 13
-.asm_170c9d
-	push hl
-	ld a, [hl]
-	cp $fc
-	jr c, .asm_170ca6
-	ld a, $1
-	ld [hl], a
-
-.asm_170ca6
-	inc hl
-	ld b, $3
-.asm_170ca9
-	ld a, [hl]
-	and a
-	jr z, .asm_170cb1
-	cp $fc
-	jr c, .asm_170cb9
-
-.asm_170cb1
-	xor a
-	ld [hl], a
-	inc hl
-	dec b
-	jr nz, .asm_170cb1
-	jr .asm_170cbd
-
-.asm_170cb9
-	inc hl
-	dec b
-	jr nz, .asm_170ca9
-
-.asm_170cbd
-	pop hl
-	ld de, $003b
-	add hl, de
-	dec c
-	jr nz, .asm_170c9d
-	ret
-; 170cc6
-
-Function170cc6: ; 170cc6
-	ld a, [rSVBK]
-	push af
-	ld a, $6
-	ld [rSVBK], a
-	ld hl, LZ_170d16
-	ld de, wd000
-	call Decompress
-	ld a, $1
-	ld [rVBK], a
-	ld de, wd000
-	ld hl, VTiles0
-	lb bc, $6, $c1
-	call Get2bpp
-	xor a
-	ld [rVBK], a
-	ld hl, LZ_1715a4
-	ld de, wd000
-	call Decompress
-	ld de, Unkn1Pals
-	ld hl, VTiles0
-	lb bc, $6, $53
-	call Get2bpp
-	pop af
-	ld [rSVBK], a
-	ret
-; 170d02
-
-Function170d02: ; 170d02
-	ld a, $1
-	ld [rVBK], a
-	ld de, GFX_171848
-	ld hl, $8c10
-	lb bc, BANK(GFX_171848), $18
-	call Get2bpp
-	xor a
-	ld [rVBK], a
-	ret
-; 170d16
-
-LZ_170d16:
-INCBIN "gfx/unknown/170d16.2bpp.lz"
-
-LZ_1715a4:
-INCBIN "gfx/unknown/1715a4.2bpp.lz"
-
-GFX_171848:
-INCBIN "gfx/unknown/171848.2bpp"
-
-Function1719c8: ; 1719c8 (5c:59c8)
-	ld a, [$ffaa]
-	push af
-	ld a, $1
-	ld [$ffaa], a
-	call Function1719d6
-	pop af
-	ld [$ffaa], a
-	ret
-
-Function1719d6: ; 1719d6 (5c:59d6)
-	callba Function1183cb
-	call Function1719ed
-	ld a, [rSVBK] ; $ff00+$70
-	push af
-	ld a, $5
-	ld [rSVBK], a ; $ff00+$70
-	call Function171a11
-	pop af
-	ld [rSVBK], a ; $ff00+$70
-	ret
-
-Function1719ed: ; 1719ed (5c:59ed)
-	xor a
-	ld [wcd49], a
-	ld [wcd4a], a
-	dec a
-	ld [wcd4b], a
-	call WhiteBGMap
-	call ClearSprites
-	callba Function171d2b
-	callba Function104061
-	callba Function8cf53
-	ret
-
-Function171a11: ; 171a11 (5c:5a11)
-	call Functiona57
-	ld a, [wcd49]
-	bit 7, a
-	jr nz, .asm_171a2c
-	call Function171a36
-	callba Function8cf69
-	callba Function104061
-	jr Function171a11
-.asm_171a2c
-	callba Function8cf53
-	call ClearSprites
-	ret
-
-Function171a36: ; 171a36 (5c:5a36)
-	ld a, [wcd49]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_171a45
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-
-Jumptable_171a45: ; 171a45 (5c:5a45)
-	dw Function171a95
-	dw Function171ac9
-	dw Function171a5d
-	dw Function171ad7
-	dw Function171a5d
-	dw Function171aec
-	dw Function171b4b
-	dw Function171b85
-	dw Function171bcc
-	dw Function171c2c
-	dw Function171c39
-	dw Function171c41
-
-
-Function171a5d: ; 171a5d (5c:5a5d)
-	ld a, [wc821]
-	bit 1, a
-	jr nz, .asm_171a6a
-	bit 0, a
-	ret nz
-	jp Function171c66
-.asm_171a6a
-	ld a, $0
-	call Function3e32
-	ld [wc300], a
-	ld a, l
-	ld [wc301], a
-	ld a, h
-	ld [wc302], a
-	ld a, $a
-	call Function3e32
-	ld a, [rSVBK] ; $ff00+$70
-	push af
-	ld a, $1
-	ld [rSVBK], a ; $ff00+$70
-	callba Function118452
-	pop af
-	ld [rSVBK], a ; $ff00+$70
-	ld a, $a
-	ld [wcd49], a
-	ret
-
-Function171a95: ; 171a95 (5c:5a95)
-	callba Function171ccd
-	hlcoord 2, 8
-	ld de, String_171aa7
-	call PlaceString
-	jp Function171c66
-; 171aa7 (5c:5aa7)
-
-String_171aa7: ; 171aa7
-	db   "モバイルアダプタに"
-	next "せつぞく しています"
-	next "しばらく おまちください"
-	db   "@"
-; 171ac9
-
-Function171ac9: ; 171ac9 (5c:5ac9)
-	ld de, wcd81
-	ld hl, $5c
-	ld a, $2
-	call Function3e32
-	jp Function171c66
-
-Function171ad7: ; 171ad7 (5c:5ad7)
-	xor a
-	ld hl, $c608
-	ld bc, $66
-	call ByteFill
-	ld de, $c608
-	ld a, $c
-	call Function3e32
-	jp Function171c66
-
-Function171aec: ; 171aec (5c:5aec)
-	ld a, [rSVBK] ; $ff00+$70
-	push af
-	ld a, $1
-	ld [rSVBK], a ; $ff00+$70
-	callba Function118452
-	pop af
-	ld [rSVBK], a ; $ff00+$70
-	hlcoord 2, 6
-	ld a, $8
-.asm_171b01
-	push af
-	push hl
-	xor a
-	ld bc, $10
-	call ByteFill
-	pop hl
-	ld de, $14
-	add hl, de
-	pop af
-	dec a
-	jr nz, .asm_171b01
-	hlcoord 2, 7
-	ld a, $3
-	ld de, $c608
-.asm_171b1b
-	push af
-	push hl
-	ld a, [de]
-	and a
-	jr z, .asm_171b34
-	ld a, [wcd4b]
-	inc a
-	ld [wcd4b], a
-	push hl
-	call Function171b42
-	pop hl
-	ld bc, $ffec
-	add hl, bc
-	call Function171b42
-.asm_171b34
-	pop hl
-	ld bc, $14
-	add hl, bc
-	add hl, bc
-	add hl, bc
-	pop af
-	dec a
-	jr nz, .asm_171b1b
-	jp Function171c66
-
-Function171b42: ; 171b42 (5c:5b42)
-	ld a, [de]
-	inc de
-	and a
-	ret z
-	sub $20
-	ld [hli], a
-	jr Function171b42
-
-Function171b4b: ; 171b4b (5c:5b4b)
-	lb de, $40, $10
-	ld a, $1d
-	call Function3b2a
-	ld hl, $c
-	add hl, bc
-	ld a, $8
-	ld [hl], a
-	lb de, $40, $98
-	ld a, $1d
-	call Function3b2a
-	ld hl, $c
-	add hl, bc
-	ld a, $9
-	ld [hl], a
-	lb de, $8a, $70
-	ld a, $1d
-	call Function3b2a
-	ld hl, $c
-	add hl, bc
-	ld a, $a
-	ld [hl], a
-	ld a, $4
-	ld [wcd23], a
-	ld a, $8
-	ld [wcd24], a
-	jp Function171c66
-
-Function171b85: ; 171b85 (5c:5b85)
-	ld hl, hJoyPressed ; $ffa7
-	ld a, [hl]
-	and $2
-	jp nz, Function171b9f
-	ld a, [hl]
-	and $1
-	jp nz, Function171bbd
-	ld a, [hl]
-	and $40
-	jr nz, asm_171ba5
-	ld a, [hl]
-	and $80
-	jr nz, asm_171baf
-	ret
-
-Function171b9f: ; 171b9f (5c:5b9f)
-	ld a, $80
-	ld [wcd49], a
-	ret
-asm_171ba5: ; 171ba5 (5c:5ba5)
-	ld a, [wcd4a]
-	and a
-	ret z
-	dec a
-	ld [wcd4a], a
-	ret
-asm_171baf: ; 171baf (5c:5baf)
-	ld a, [wcd4b]
-	ld c, a
-	ld a, [wcd4a]
-	cp c
-	ret z
-	inc a
-	ld [wcd4a], a
-	ret
-
-Function171bbd: ; 171bbd (5c:5bbd)
-	call PlayClickSFX
-	ld a, $8
-	ld [wcd23], a
-	xor a
-	ld [wcd24], a
-	jp Function171c66
-
-Function171bcc: ; 171bcc (5c:5bcc)
-	ld hl, hJoyPressed ; $ffa7
-	ld a, [hl]
-	and $2
-	jp nz, Function171bdc
-	ld a, [hl]
-	and $1
-	jp nz, Function171beb
-	ret
-
-Function171bdc: ; 171bdc (5c:5bdc)
-	ld a, $4
-	ld [wcd23], a
-	ld a, $8
-	ld [wcd24], a
-	ld hl, wcd49
-	dec [hl]
-	ret
-
-Function171beb: ; 171beb (5c:5beb)
-	ld a, $5
-	call GetSRAMBank
-	ld a, [wcd4a]
-	ld [$aa4a], a
-	call CloseSRAM
-	ld hl, MenuDataHeader_171c6b
-	call LoadMenuDataHeader
-	call Function1cbb
-	call Function1cfd
-	callba Function104061
-	hlcoord 1, 14
-	ld de, String_171c73
-	call PlaceString
-	ld a, [wcd4a]
-	cp $2
-	jr z, .asm_171c1f
-	ld a, $8
-	jr .asm_171c21
-.asm_171c1f
-	ld a, $c
-.asm_171c21
-	ld [wcd24], a
-	ld a, $1e
-	ld [wcd4c], a
-	call Function171c66
-
-Function171c2c: ; 171c2c (5c:5c2c)
-	ld hl, wcd4c
-	dec [hl]
-	ret nz
-	call Function1c07
-	call WhiteBGMap
-	jr asm_171c60
-
-Function171c39: ; 171c39 (5c:5c39)
-	ld a, $28
-	ld [wcd4c], a
-	call Function171c66
-
-Function171c41: ; 171c41 (5c:5c41)
-	ld hl, wcd4c
-	dec [hl]
-	ret nz
-	call WhiteBGMap
-	callba Function106462
-	callba Function106464
-	ld a, $2
-	ld [wc303], a
-	callba Function17f555
-asm_171c60: ; 171c60 (5c:5c60)
-	ld a, $80
-	ld [wcd49], a
-	ret
-
-Function171c66: ; 171c66 (5c:5c66)
-	ld hl, wcd49
-	inc [hl]
-	ret
-; 171c6b (5c:5c6b)
-
-MenuDataHeader_171c6b: ; 171c6b
-	db $40 ; flags
-	db 12,  0 ; start coords
-	db 17, 19 ; end coords
-	dw NULL
-	db 0 ; default option
-; 171c73
-
-String_171c73: ; 171c73
-	db   "モバイルセンターを けってい"
-	next "しました@"
-; 171c87
-
-Function171c87: ; 171c87 (5c:5c87)
-	call DisableLCD
-	ld hl, GFX_171db1
-	ld de, $9000
-	ld bc, $6e0
-	call CopyBytes
-	ld hl, LZ_172abd
-	ld de, $8000
-	call Decompress
-	call EnableLCD
-	ld hl, Tilemap_172491
-	ld de, TileMap
-	ld bc, $168
-	call CopyBytes
-	ld hl, Attrmap_1727ed
-	ld de, AttrMap
-	ld bc, $168
-	call CopyBytes
-	hlcoord 3, 2
-	ld de, String_172e31
-	call PlaceString
-	hlcoord 3, 16
-	ld de, String_172e3f
-	call PlaceString
-	ret
-
-Function171ccd: ; 171ccd (5c:5ccd)
-	ld a, [rSVBK] ; $ff00+$70
-	push af
-	ld a, $5
-	ld [rSVBK], a ; $ff00+$70
-	ld hl, Palette_171d71
-	ld de, Unkn1Pals
-	ld bc, $40
-	call CopyBytes
-	ld hl, MovementAnimation
-	ld a, $ff
-	ld [hli], a
-	ld a, $7f
-	ld [hl], a
-	call Function32f9
-	pop af
-	ld [rSVBK], a ; $ff00+$70
-	ret
-
-Function171cf0: ; 171cf0 (5c:5cf0)
-	xor a
-	hlcoord 4, 15
-	ld [hli], a
-	ld [hli], a
-	ld a, [wcd4b]
-	xor $1
-	ld [wcd4b], a
-	and a
-	jr nz, .asm_171d16
-	ld hl, Tilemap_17251d
-	decoord 0, 7
-	ld bc, $8c
-	call CopyBytes
-	hlcoord 3, 16
-	ld de, String_172e3f
-	jp PlaceString
-.asm_171d16
-	ld hl, Tilemap_1725f9
-	decoord 0, 7
-	ld bc, $8c
-	call CopyBytes
-	hlcoord 3, 16
-	ld de, String_172e4e
-	jp PlaceString
-
-Function171d2b: ; 171d2b (5c:5d2b)
-	call DisableLCD
-	ld hl, GFX_171db1
-	ld de, $9000
-	ld bc, $6e0
-	call CopyBytes
-	ld hl, LZ_172abd
-	ld de, $8000
-	call Decompress
-	call EnableLCD
-	ld hl, Tilemap_172685
-	ld de, TileMap
-	ld bc, $168
-	call CopyBytes
-	ld hl, Attrmap_172955
-	ld de, AttrMap
-	ld bc, $168
-	call CopyBytes
-	hlcoord 2, 2
-	ld de, String_172e5d
-	call PlaceString
-	hlcoord 14, 16
-	ld de, String_172e58
-	call PlaceString
-	ret
-; 171d71 (5c:5d71)
-
-Palette_171d71:
-	RGB  0,  0,  0
-	RGB  3,  0,  0
-	RGB  5,  0,  0
-	RGB 31, 31, 29
-	RGB  0,  2, 10
-	RGB  2, 10, 21
-	RGB  0,  0,  0
-	RGB 10, 26, 31
-	RGB  0,  0,  0
-	RGB  0,  7,  8
-	RGB 31,  8,  0
-	RGB  1, 17, 15
-	RGB 31, 16,  0
-	RGB 31, 22,  0
-	RGB 31, 27,  0
-	RGB 31, 31,  0
-	RGB 31, 18,  6
-	RGB  0,  3,  0
-	RGB  0,  9,  0
-	RGB  0, 12,  0
-	RGB  0, 16,  0
-	RGB  0, 22,  0
-	RGB  0, 25,  0
-	RGB  0, 27,  0
-	RGB  5,  5, 16
-	RGB  8, 19, 28
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB 31, 31, 29
-	RGB 21, 21, 20
-	RGB 11, 11, 10
-	RGB  0,  0,  0
-GFX_171db1:
-INCBIN "gfx/unknown/171db1.2bpp"
-Tilemap_172491:
-INCBIN "gfx/unknown/172491.tilemap"
-Tilemap_17251d:
-INCBIN "gfx/unknown/17251d.tilemap"
-Tilemap_1725f9:
-INCBIN "gfx/unknown/1725f9.tilemap"
-Tilemap_172685:
-INCBIN "gfx/unknown/172685.tilemap"
-Attrmap_1727ed:
-INCBIN "gfx/unknown/1727ed.attrmap"
-Attrmap_172955:
-INCBIN "gfx/unknown/172955.attrmap"
-LZ_172abd:
-INCBIN "gfx/pokedex/slowpoke.2bpp.lz"
-
-String_172e31: ; 172e31
-	db "パスワード", $1f, "いれてください@"
-String_172e3f: ; 172e3f
-	db "きりかえ やめる  けってい@"
-String_172e4e: ; 172e4e
-	db "きりかえ やめる  "
-String_172e58:
-	db "けってい@"
-String_172e5d: ; 172e5d
-	db "せつぞくする モバイルセンターを"
-	next "えらんで ください@"
-; 172e78
-
-
-Function172e78: ; 172e78 (5c:6e78)
-	ld a, $7f
-	ld hl, TileMap
-	ld bc, $168
-	call ByteFill
-	ld a, $7
-	ld hl, AttrMap
-	ld bc, $168
-	call ByteFill
-	call DisableLCD
-	ld hl, GFX_172f1f
-	ld de, $9000
-	ld bc, $610
-	call CopyBytes
-	call EnableLCD
-	ld hl, Tilemap_1733af
-	ld de, TileMap
-	ld bc, $168
-	call CopyBytes
-	ld hl, Attrmap_173517
-	ld de, AttrMap
-	ld bc, $168
-	call CopyBytes
-	ret
-; 172eb9 (5c:6eb9)
-
-Function172eb9:
-	ld a, [rSVBK] ; $ff00+$70
-	push af
-	ld a, $5
-	ld [rSVBK], a ; $ff00+$70
-	ld hl, Palette_172edf
-	ld de, Unkn1Pals
-	ld bc, $40
-	call CopyBytes
-	ld hl, Palette_172edf
-	ld de, BGPals
-	ld bc, $40
-	call CopyBytes
-	call Function32f9
-	pop af
-	ld [rSVBK], a ; $ff00+$70
-	ret
-; 172edf (5c:6edf)
-
-Palette_172edf:
-	RGB  5, 12, 17
-	RGB 31, 31, 31
-	RGB 18, 25, 28
-	RGB 10, 17, 21
-	RGB  6, 13, 18
-	RGB 31, 31, 31
-	RGB 20, 26, 28
-	RGB 12, 19, 23
-	RGB  3, 10, 16
-	RGB 31, 31, 31
-	RGB  6, 13, 18
-	RGB 20, 26, 28
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  5,  5, 16
-	RGB  8, 19, 28
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-
-GFX_172f1f:
-INCBIN "gfx/unknown/172f1f.2bpp"
-
-Tilemap_1733af:
-INCBIN "gfx/unknown/1733af.tilemap"
-
-Attrmap_173517:
-INCBIN "gfx/unknown/173517.attrmap"
-
-
 SECTION "bank5D", ROMX, BANK[$5D]
 
 INCLUDE "text/phone/extra3.asm"
@@ -139604,5241 +95529,9 @@
 ; 17801f (5e:401f)
 
 
-SECTION "bank5F", ROMX, BANK[$5F]
+INCLUDE "misc/mobile_5f.asm"
 
-Function17c000: ; 17c000
 
-	call DisableLCD
-
-	ld hl, VTiles2
-	ld bc, $310
-	xor a
-	call ByteFill
-
-	call Functione51
-	call Functione5f
-
-	ld hl, HaveWantMap
-	ld de, TileMap
-	ld bc, AttrMap
-
-	ld a, SCREEN_HEIGHT
-.y
-	push af
-	ld a, SCREEN_WIDTH
-
-	push hl
-.x
-	push af
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [bc], a
-	inc bc
-	pop af
-	dec a
-	jr nz, .x
-	pop hl
-
-	push bc
-	ld bc, BG_MAP_WIDTH * 2
-	add hl, bc
-	pop bc
-
-	pop af
-	dec a
-	jr nz, .y
-
-	ld a, [rSVBK]
-	push af
-
-	ld a, 5 ; BANK(Unkn1Pals)
-	ld [rSVBK], a
-
-	ld hl, HaveWantPals
-	ld de, Unkn1Pals
-	ld bc, $80
-	call CopyBytes
-
-	pop af
-	ld [rSVBK], a
-
-	ld hl, MobileSelectGFX
-	ld de, $8300
-	ld bc, $200
-	call CopyBytes
-
-	ld a, 1
-	ld [rVBK], a
-
-	ld hl, HaveWantGFX
-	ld de, VTiles2
-	ld bc, $800
-	call CopyBytes
-
-	ld hl, HaveWantGFX + $800
-	ld de, VTiles1
-	ld bc, $100
-	call CopyBytes
-
-	xor a
-	ld [rVBK], a
-
-	call EnableLCD
-	callba Function104061
-	ret
-; 17c083
-
-HaveWantGFX: ; 17c083
-INCBIN "gfx/mobile/havewant.2bpp"
-
-MobileSelectGFX: ; 17c983
-INCBIN "gfx/mobile/select.2bpp"
-
-HaveWantMap: ; 17cb83
-; Interleaved tile/palette map.
-INCBIN "baserom.gbc", $17cb83, $17cff3 - $17cb83
-
-HaveWantPals: ; 17cff3
-; BG and OBJ palettes.
-INCBIN "baserom.gbc", $17cff3, $17d073 - $17cff3
-
-
-Function17d073: ; 17d073
-.asm_17d073
-	ld a, [de]
-	inc de
-	and a
-	jr z, .asm_17d0ae
-	cp $60
-	jr nc, .asm_17d0ae
-	cp $4e
-	jr z, .asm_17d0ae
-	cp $50
-	jr z, .asm_17d0b1
-	cp $5
-	jr c, .asm_17d0ac
-	cp $14
-	jr c, .asm_17d0ae
-	cp $19
-	jr c, .asm_17d0ac
-	cp $1d
-	jr c, .asm_17d0ae
-	cp $26
-	jr c, .asm_17d0ac
-	cp $35
-	jr c, .asm_17d0ae
-	cp $3a
-	jr c, .asm_17d0ac
-	cp $3f
-	jr c, .asm_17d0ae
-	cp $40
-	jr c, .asm_17d0ac
-	cp $49
-	jr c, .asm_17d0ae
-
-.asm_17d0ac
-	scf
-	ret
-
-.asm_17d0ae
-	dec c
-	jr nz, .asm_17d073
-
-.asm_17d0b1
-	and a
-	ret
-; 17d0b3
-
-Function17d0b3: ; 17d0b3
-.asm_17d0b3
-	ld a, [de]
-	inc de
-	and a
-	jr z, .asm_17d0ee
-	cp $60
-	jr nc, .asm_17d0ee
-	cp $4e
-	jr z, .asm_17d0ee
-	cp $50
-	jr z, .asm_17d0ee
-	cp $5
-	jr c, .asm_17d0ec
-	cp $14
-	jr c, .asm_17d0ee
-	cp $19
-	jr c, .asm_17d0ec
-	cp $1d
-	jr c, .asm_17d0ee
-	cp $26
-	jr c, .asm_17d0ec
-	cp $35
-	jr c, .asm_17d0ee
-	cp $3a
-	jr c, .asm_17d0ec
-	cp $3f
-	jr c, .asm_17d0ee
-	cp $40
-	jr c, .asm_17d0ec
-	cp $49
-	jr c, .asm_17d0ee
-
-.asm_17d0ec
-	scf
-	ret
-
-.asm_17d0ee
-	dec c
-	jr nz, .asm_17d0b3
-	and a
-	ret
-; 17d0f3
-
-Function17d0f3: ; 17d0f3
-	ld a, [$c608 + 5]
-	ld [wc702], a
-	ld [CurPartySpecies], a
-	ld a, [wcd81]
-	ld [wc74e], a
-	ld hl, $c63d
-	ld de, wc724
-	ld bc, $0005
-	call CopyBytes
-	ld a, $50
-	ld [de], a
-	ld a, [$c608 + 11]
-	ld [wc731], a
-	ld a, [$c608 + 12]
-	ld [wc732], a
-	ld hl, $c608 + 26
-	ld a, [hli]
-	ld [wc72f], a
-	ld a, [hl]
-	ld [wc730], a
-	ld bc, $c608 + 5
-	callba GetCaughtGender
-	ld a, c
-	ld [wc733], a
-	call SpeechTextBox
-	call FadeToMenu
-	callba Function10804d
-	callba Function17d1f1
-	ld a, $1
-	ld [wd1e9], a
-	ld a, $2
-	ld [InLinkBattle], a
-	callba Function421d8
-	xor a
-	ld [InLinkBattle], a
-	callba Function14a58
-	ld a, $5
-	call GetSRAMBank
-	ld a, $5
-	ld [$a800], a
-	call CloseSRAM
-	ld a, [MapGroup]
-	ld b, a
-	ld a, [MapNumber]
-	ld c, a
-	call GetMapTrigger
-	ld a, d
-	or e
-	jr z, .asm_17d180
-	ld a, $1
-	ld [de], a
-
-.asm_17d180
-	call Function2b3c
-	call RestartMapMusic
-	ret
-; 17d187
-
-Function17d187: ; 17d187
-	ld hl, Unknown_17d194
-	ld de, $c63d
-	ld bc, $0005
-	call CopyBytes
-	ret
-; 17d194
-
-Unknown_17d194:
-INCBIN "baserom.gbc", $17d194, $17d199 - $17d194
-
-Function17d199: ; 17d199
-	ld hl, Unknown_17d1a6
-	ld de, $c642
-	ld bc, $0005
-	call CopyBytes
-	ret
-; 17d1a6
-
-Unknown_17d1a6:
-INCBIN "baserom.gbc", $17d1a6, $17d1ab - $17d1a6
-
-Function17d1ab: ; 17d1ab
-	ld a, $50
-	ld hl, $c647
-	ld bc, $0021
-	call ByteFill
-	ld hl, Unknown_17d1c3
-	ld de, $c647
-	ld bc, $0006
-	call CopyBytes
-	ret
-; 17d1c3
-
-Unknown_17d1c3:
-INCBIN "baserom.gbc", $17d1c3, $17d1c9 - $17d1c3
-
-Function17d1c9: ; 17d1c9
-	ld a, $50
-	ld de, $c668
-	ld bc, $0005
-	call ByteFill
-	ld hl, Unknown_17d194
-	ld de, $c668
-	ld bc, $0005
-	call CopyBytes
-	ret
-; 17d1e1
-
-Function17d1e1: ; 17d1e1
-.asm_17d1e1
-	ld a, [de]
-	inc de
-	cp $4e
-	jr nz, .asm_17d1ea
-	dec b
-	jr z, .asm_17d1ef
-
-.asm_17d1ea
-	dec c
-	jr nz, .asm_17d1e1
-	and a
-	ret
-
-.asm_17d1ef
-	scf
-	ret
-; 17d1f1
-
-Function17d1f1: ; 17d1f1
-	ld a, [CurPartySpecies]
-	dec a
-	call SetSeenAndCaughtMon
-
-	ld a, [CurPartySpecies]
-	cp UNOWN
-	jr nz, .asm_17d223
-
-	ld hl, PartyMon1DVs
-	ld a, [PartyCount]
-	dec a
-	ld bc, PartyMon2 - PartyMon1
-	call AddNTimes
-	predef GetUnownLetter
-	callab Functionfba18
-	ld a, [wdef4]
-	and a
-	jr nz, .asm_17d223
-
-	ld a, [UnownLetter]
-	ld [wdef4], a
-
-.asm_17d223
-	ret
-; 17d224
-
-Function17d224: ; 17d224
-	ld a, [ScriptVar]
-	and a
-	jr nz, .asm_17d234
-	ld a, $4
-	ld [ScriptVar], a
-	ld hl, MenuDataHeader_17d26a
-	jr .asm_17d23c
-
-.asm_17d234
-	ld a, $4
-	ld [ScriptVar], a
-	ld hl, MenuDataHeader_17d28f
-
-.asm_17d23c
-	call LoadMenuDataHeader
-	call Function17d246
-	call Function1c17
-	ret
-; 17d246
-
-Function17d246: ; 17d246
-	call Function1d81
-	jr c, .asm_17d264
-	ld a, [ScriptVar]
-	cp $5
-	jr nz, .asm_17d25d
-	ld a, [wcfa9]
-	cp $3
-	ret z
-	jr c, .asm_17d25d
-	dec a
-	jr .asm_17d260
-
-.asm_17d25d
-	ld a, [wcfa9]
-
-.asm_17d260
-	ld [ScriptVar], a
-	ret
-
-.asm_17d264
-	ld a, $4
-	ld [ScriptVar], a
-	ret
-; 17d26a
-
-MenuDataHeader_17d26a: ; 17d26a
-	db $40 ; flags
-	db  0,  0 ; start coords
-	db  9, 14 ; end coords
-	dw MenuData2_17d272
-	db 1 ; default option
-
-MenuData2_17d272: ; 17d272
-	db $a0 ; flags
-	db 4
-	db "ニュース", $1f, "よみこむ@"
-	db "ニュース", $1f, "みる@"
-	db "せつめい@"
-	db "やめる@"
-; 17d28f
-
-MenuDataHeader_17d28f: ; 17d28f
-	db $40 ; flags
-	db  0,  0 ; start coords
-	db  7, 14 ; end coords
-	dw MenuData2_17d297
-	db 1 ; default option
-
-MenuData2_17d297: ; 17d297
-	db $a0 ; flags
-	db 3
-	db "Challenge@"
-	db "Explanation@"
-	db "Cancel@"
-; 17d2b6
-
-Function17d2b6: ; 17d2b6
-	call Function17d2c0
-	callba Function1181da
-	ret
-; 17d2c0
-
-Function17d2c0: ; 17d2c0
-	xor a
-	ld [wcf63], a
-	ld [wcf64], a
-	ld [wcf65], a
-	ld [wcf66], a
-	ret
-; 17d2ce
-
-Function17d2ce: ; 17d2ce
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$aa72]
-	call CloseSRAM
-	and a
-	jr nz, .asm_17d2e2
-	ld a, $1
-	ld [ScriptVar], a
-	ret
-
-.asm_17d2e2
-	call Function17d314
-	ret c
-	call SpeechTextBox
-	call FadeToMenu
-	ld a, [rSVBK]
-	push af
-	ld a, $4
-	ld [rSVBK], a
-	call Function17d370
-	call Function17d45a
-	pop af
-	ld [rSVBK], a
-	ld de, MUSIC_MOBILE_CENTER
-	ld a, e
-	ld [wMapMusic], a
-	ld [MusicFadeIDLo], a
-	ld a, d
-	ld [MusicFadeIDHi], a
-	call PlayMusic
-	call Function222a
-	call Function2b3c
-	ret
-; 17d314
-
-Function17d314: ; 17d314
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$b1b1]
-	call CloseSRAM
-	cp $21
-	jr nc, .asm_17d354
-	ld a, $6
-	call GetSRAMBank
-	ld l, $0
-	ld h, l
-	ld de, $a006
-	ld a, [$a004]
-	ld c, a
-	ld a, [$a005]
-	ld b, a
-.asm_17d336
-	push bc
-	ld a, [de]
-	inc de
-	ld c, a
-	ld b, $0
-	add hl, bc
-	pop bc
-	dec bc
-	ld a, b
-	or c
-	jr nz, .asm_17d336
-	ld a, [$a002]
-	cp l
-	jr nz, .asm_17d354
-	ld a, [$a003]
-	cp h
-	jr nz, .asm_17d354
-	call CloseSRAM
-	and a
-	ret
-
-.asm_17d354
-	call CloseSRAM
-	ld a, $5
-	call GetSRAMBank
-	xor a
-	ld hl, $aa73
-	ld bc, $000c
-	call ByteFill
-	call CloseSRAM
-	ld a, $2
-	ld [ScriptVar], a
-	scf
-	ret
-; 17d370
-
-Function17d370: ; 17d370
-	xor a
-	ld [wcd77], a
-	ld [wcd78], a
-	ld [wcd79], a
-	dec a
-	ld [wcd6c], a
-	call WhiteBGMap
-	call ClearSprites
-	call ClearScreen
-	callba Function104061
-	call DisableLCD
-	ld hl, $8ee0
-	ld de, $c608
-	ld bc, $0010
-	call CopyBytes
-	ld a, $1
-	ld [rVBK], a
-	ld hl, PokemonNewsGFX
-	ld de, VTiles1
-	ld bc, $0480
-	call CopyBytes
-	xor a
-	ld hl, $97f0
-	ld bc, $0010
-	call ByteFill
-	ld hl, $c608
-	ld de, $8ee0
-	ld bc, $0010
-	call CopyBytes
-	xor a
-	ld [rVBK], a
-	ld hl, GFX_17eb7e
-	ld de, $9600
-	ld bc, $0010
-	call CopyBytes
-	call EnableLCD
-	call Function17d60b
-	ld a, $0
-	ld [BGMapBuffer], a
-	ld a, $d0
-	ld [wcd21], a
-	ld a, $6
-	call GetSRAMBank
-	ld hl, $a006
-	ld de, Unkn1Pals
-	ld bc, $1000
-	call CopyBytes
-	call CloseSRAM
-	ret
-; 17d3f6
-
-Function17d3f6: ; 17d3f6
-	call WhiteBGMap
-	call ClearSprites
-	call ClearScreen
-	callba Function104061
-
-Function17d405:
-	call DisableLCD
-	ld hl, $8ee0
-	ld de, $c608
-	ld bc, $0010
-	call CopyBytes
-	ld a, $1
-	ld [rVBK], a
-	ld hl, PokemonNewsGFX
-	ld de, VTiles1
-	ld bc, $0480
-	call CopyBytes
-	xor a
-	ld hl, $97f0
-	ld bc, $0010
-	call ByteFill
-	ld hl, $c608
-	ld de, $8ee0
-	ld bc, $0010
-	call CopyBytes
-	xor a
-	ld [rVBK], a
-	call EnableLCD
-	ld a, [rSVBK]
-	push af
-	ld a, $5
-	ld [rSVBK], a
-	ld hl, Palette_17eff6
-	ld de, Unkn1Pals
-	ld bc, $0040
-	call CopyBytes
-	call Function32f9
-	pop af
-	ld [rSVBK], a
-	ret
-; 17d45a
-
-Function17d45a: ; 17d45a
-.asm_17d45a
-	call Functiona57
-	ld a, [wcd77]
-	bit 7, a
-	jr nz, .asm_17d46f
-	call Function17d474
-	callba Function104061
-	jr .asm_17d45a
-
-.asm_17d46f
-	xor a
-	ld [ScriptVar], a
-	ret
-; 17d474
-
-Function17d474: ; 17d474
-	ld a, [wcd77]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_17d483
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 17d483
-
-Jumptable_17d483: ; 17d483
-	dw Function17d48d
-	dw Function17d5be
-	dw Function17d5c4
-	dw Function17d6fd
-	dw Function17e427
-; 17d48d
-
-Function17d48d: ; 17d48d
-	ld hl, Palette_17eff6
-	ld de, $c608
-	ld bc, $0040
-	call CopyBytes
-	ld hl, TileAttrmap_17eb8e
-	ld de, TileMap
-	ld bc, AttrMap
-	ld a, $12
-.asm_17d4a4
-	push af
-	ld a, $14
-	push hl
-.asm_17d4a8
-	push af
-	ld a, [hli]
-	cp $7f
-	jr z, .asm_17d4b0
-	add $80
-
-.asm_17d4b0
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [bc], a
-	inc bc
-	pop af
-	dec a
-	jr nz, .asm_17d4a8
-	pop hl
-	push bc
-	ld bc, $0040
-	add hl, bc
-	pop bc
-	pop af
-	dec a
-	jr nz, .asm_17d4a4
-	ld a, [BGMapBuffer]
-	ld l, a
-	ld a, [wcd21]
-	ld h, a
-	ld a, [hli]
-	ld e, a
-	ld a, [wcd6c]
-	cp e
-	jr z, .asm_17d4e0
-	ld a, e
-	ld [wcd6c], a
-	ld [wc2c0], a
-	ld d, $0
-	call PlayMusic2
-
-.asm_17d4e0
-	ld a, [hli]
-	ld de, $c608
-	ld c, $8
-.asm_17d4e6
-	srl a
-	jr nc, .asm_17d4f6
-	ld b, $8
-	push af
-.asm_17d4ed
-	ld a, [hli]
-	ld [de], a
-	inc de
-	dec b
-	jr nz, .asm_17d4ed
-	pop af
-	jr .asm_17d4fc
-
-.asm_17d4f6
-	push af
-	ld a, e
-	add $8
-	ld e, a
-	pop af
-
-.asm_17d4fc
-	dec c
-	jr nz, .asm_17d4e6
-	push hl
-	call Function17d5f6
-	pop hl
-	ld a, [hli]
-	and a
-	jr z, .asm_17d539
-.asm_17d508
-	push af
-	ld a, [hli]
-	ld [wcd4f], a
-	ld a, [hli]
-	ld [wcd50], a
-	ld a, [hli]
-	ld [wcd51], a
-	ld a, [hli]
-	ld [wcd52], a
-	ld a, [hli]
-	sla a
-	sla a
-	sla a
-	add $98
-	ld [wcd53], a
-	ld de, wcd4f
-	call Function17e613
-	ld a, [hli]
-	ld [wcd53], a
-	ld de, wcd4f
-	call Function17e691
-	pop af
-	dec a
-	jr nz, .asm_17d508
-
-.asm_17d539
-	ld a, [hli]
-.asm_17d53a
-	push af
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	push hl
-	pop de
-	ld hl, TileMap
-	add hl, bc
-	call PlaceString
-	push de
-	pop hl
-	inc hl
-	pop af
-	dec a
-	jr nz, .asm_17d53a
-	ld de, CreditsTimer
-	ld bc, $000c
-	call CopyBytes
-	xor a
-	ld [wcd2e], a
-	ld [wcd2f], a
-	inc a
-	ld [wcd30], a
-	ld [wcd31], a
-	ld de, wcd32
-	ld bc, $0010
-	call CopyBytes
-	ld a, [hli]
-	ld [wcd42], a
-	ld a, [hli]
-	ld [wcd43], a
-	ld a, [hli]
-	ld [wcd44], a
-	ld a, [hli]
-	ld [wcd45], a
-	ld a, [hli]
-	ld [wcd46], a
-	ld a, [hli]
-	and a
-	jr z, .asm_17d58a
-	call Function17d6a1
-
-.asm_17d58a
-	ld a, l
-	ld [wcd49], a
-	ld a, h
-	ld [wcd4a], a
-	ld a, [wcd42]
-	ld c, a
-	ld b, $0
-	add hl, bc
-	add hl, bc
-	ld a, l
-	ld [wcd4b], a
-	ld a, h
-	ld [wcd4c], a
-	add hl, bc
-	add hl, bc
-	ld a, l
-	ld [wcd4d], a
-	ld a, h
-	ld [wcd4e], a
-	call Function17e451
-	call Function17e55b
-	call Function17e5af
-	callba Function104061
-	jp Function17e438
-; 17d5be
-
-Function17d5be: ; 17d5be
-	call Function32f9
-	call Function17e438
-
-Function17d5c4:
-	ld a, [hJoyPressed]
-	and a
-	ret z
-	ld c, $0
-	ld b, c
-	ld hl, wcd32
-.asm_17d5ce
-	srl a
-	jr c, .asm_17d5d6
-	inc c
-	inc c
-	jr .asm_17d5ce
-
-.asm_17d5d6
-	add hl, bc
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	and c
-	cp $ff
-	ret z
-	ld a, [BGMapBuffer]
-	ld l, a
-	ld a, [wcd21]
-	ld h, a
-	add hl, bc
-	ld a, l
-	ld [wcd78], a
-	ld a, h
-	ld [wcd79], a
-	ld a, $3
-	ld [wcd77], a
-	ret
-; 17d5f6
-
-Function17d5f6: ; 17d5f6
-	ld a, $5
-	ld [rSVBK], a
-	ld hl, $c608
-	ld de, Unkn1Pals
-	ld bc, $0040
-	call CopyBytes
-	ld a, $4
-	ld [rSVBK], a
-	ret
-; 17d60b
-
-Function17d60b: ; 17d60b
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $b1d3
-	ld de, $c608
-	ld bc, $0020
-	call CopyBytes
-	ld a, [$b1b1]
-	ld c, a
-	ld a, [$b1b2]
-	ld b, a
-	ld a, [$b1b3]
-	ld l, a
-	ld a, [$b1b4]
-	ld h, a
-	call CloseSRAM
-	ld a, $6
-	call GetSRAMBank
-	ld de, wc708
-	ld a, c
-	and a
-	jr z, .asm_17d684
-.asm_17d63b
-	push bc
-	ld a, l
-	ld [de], a
-	inc de
-	ld a, h
-	ld [de], a
-	inc de
-	ld bc, $000a
-	add hl, bc
-	pop bc
-	ld a, [hli]
-	ld [wcd4a], a
-	ld a, [hli]
-	ld [wcd49], a
-	push hl
-	push de
-	ld hl, $c608
-	ld e, b
-	ld d, $0
-	add hl, de
-	ld a, [hli]
-	ld [wcd4b], a
-	ld a, [hl]
-	ld [wcd4c], a
-	pop de
-	pop hl
-	inc b
-	inc b
-	dec c
-	dec c
-	jr z, .asm_17d684
-	push bc
-	push de
-	ld a, [wcd49]
-	ld c, a
-	ld a, [wcd4a]
-	ld b, a
-	ld a, [wcd4b]
-	ld e, a
-	ld a, [wcd4c]
-	ld d, a
-.asm_17d67a
-	add hl, de
-	dec bc
-	ld a, c
-	or b
-	jr nz, .asm_17d67a
-	pop de
-	pop bc
-	jr .asm_17d63b
-
-.asm_17d684
-	call CloseSRAM
-	ld a, $5
-	call GetSRAMBank
-	ld hl, wc708
-	ld de, $b1b3
-	ld a, [$b1b1]
-	ld c, a
-	ld a, [$b1b2]
-	ld b, a
-	call CopyBytes
-	call CloseSRAM
-	ret
-; 17d6a1
-
-
-Function17d6a1: ; 17d6a1
-	push hl
-	ld a, [wcd6e]
-	ld c, a
-	ld b, $0
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $b1d3
-	add hl, bc
-	add hl, bc
-	ld a, [hli]
-	ld [wcd47], a
-	ld a, [hl]
-	ld [BGMapPalBuffer], a
-	ld hl, $b1b3
-	add hl, bc
-	add hl, bc
-	ld a, [hli]
-	ld c, a
-	ld a, [hl]
-	ld h, a
-	ld l, c
-	call CloseSRAM
-	ld a, $6
-	call GetSRAMBank
-	ld a, l
-	ld [wcd5e], a
-	ld a, h
-	ld [wcd5f], a
-	ld de, wcd60
-	ld bc, $0004
-	call CopyBytes
-	inc hl
-	inc hl
-	ld de, wcd64
-	ld bc, $0004
-	call CopyBytes
-	ld a, [hli]
-	ld [wcd69], a
-	ld a, [hli]
-	ld [wcd68], a
-	ld a, l
-	ld [wcd6a], a
-	ld a, h
-	ld [wcd6b], a
-	call CloseSRAM
-	pop hl
-	ret
-; 17d6fd
-
-Function17d6fd: ; 17d6fd
-	ld a, [wcd77]
-	bit 7, a
-	jr nz, asm_17d721
-	ld a, [wcd78]
-	ld l, a
-	ld a, [wcd79]
-	ld h, a
-	ld a, [hl]
-	cp $ff
-	jr z, asm_17d721
-
-Function17d711:
-.asm_17d711
-	cp $31
-	jr nc, .asm_17d711
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_17d72a
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-
-asm_17d721
-	call Function17e5af
-	ld a, $2
-	ld [wcd77], a
-	ret
-; 17d72a
-
-Jumptable_17d72a: ; 17d72a
-	dw Function17d78c
-	dw Function17d78d
-	dw Function17d7b4
-	dw Function17d7c2
-	dw Function17d7d3
-	dw Function17d7e5
-	dw Function17d818
-	dw Function17d833
-	dw Function17d85d
-	dw Function17d902
-	dw Function17d93a
-	dw Function17d98b
-	dw Function17d9e3
-	dw Function17da31
-	dw Function17da9c
-	dw Function17dadc
-	dw Function17db2d
-	dw Function17db56
-	dw Function17db77
-	dw Function17dbe9
-	dw Function17dc1f
-	dw Function17dc9f
-	dw Function17dca9
-	dw Function17dccf
-	dw Function17dd13
-	dw Function17dd30
-	dw Function17dd49
-	dw Function17ddcd
-	dw Function17de32
-	dw Function17de91
-	dw Function17ded9
-	dw Function17e0fd
-	dw Function17e133
-	dw Function17e165
-	dw Function17e1a1
-	dw Function17e254
-	dw Function17e261
-	dw Function17e270
-	dw Function17e27f
-	dw Function17e293
-	dw Function17e2a7
-	dw Function17e367
-	dw Function17e37e
-	dw Function17e395
-	dw Function17e3ac
-	dw Function17e3c3
-	dw Function17e3e0
-	dw Function17e3f0
-	dw Function17e409
-; 17d78c
-
-Function17d78c: ; 17d78c
-	ret
-; 17d78d
-
-Function17d78d: ; 17d78d
-	call Function17e415
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	call Function17e41e
-	ld a, $6
-	call GetSRAMBank
-	ld hl, $a006
-	add hl, bc
-	ld de, Unkn1Pals
-	ld bc, $1000
-	call CopyBytes
-	call CloseSRAM
-	xor a
-	ld [wcd77], a
-	call WhiteBGMap
-	ret
-; 17d7b4
-
-Function17d7b4: ; 17d7b4
-	call Function17e415
-	ld a, [hli]
-	ld e, a
-	ld d, $0
-	call PlayMusic2
-	call Function17e41e
-	ret
-; 17d7c2
-
-Function17d7c2: ; 17d7c2
-	call Function17e415
-	ld a, [hli]
-	ld e, a
-	ld d, $0
-	call PlaySFX
-	call WaitSFX
-	call Function17e41e
-	ret
-; 17d7d3
-
-Function17d7d3: ; 17d7d3
-	call Function17e415
-	ld a, [hli]
-	dec a
-	ld e, a
-	ld d, $0
-	call PlayCryHeader
-	call WaitSFX
-	call Function17e41e
-	ret
-; 17d7e5
-
-Function17d7e5: ; 17d7e5
-	call Function17e415
-	ld a, [hli]
-	ld [wcd4f], a
-	ld a, [hli]
-	ld [wcd50], a
-	ld a, [hli]
-	ld [wcd51], a
-	ld a, [hli]
-	ld [wcd52], a
-	ld a, [hli]
-	sla a
-	sla a
-	sla a
-	add $98
-	ld [wcd53], a
-	ld de, wcd4f
-	call Function17e613
-	ld a, [hli]
-	ld [wcd53], a
-	ld de, wcd4f
-	call Function17e691
-	call Function17e41e
-	ret
-; 17d818
-
-Function17d818: ; 17d818
-	call Function17e415
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	call Function17e41e
-	call Function17e447
-	ld e, l
-	ld d, h
-	ld hl, TileMap
-	add hl, bc
-	call PlaceString
-	ret
-; 17d833
-
-Function17d833: ; 17d833
-	call Function17e415
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	call Function17e41e
-	push de
-	push bc
-	call Function17e32b
-	pop bc
-	pop de
-	call Function17e43d
-	ld c, l
-	ld b, h
-	ld hl, TileMap
-	add hl, de
-	ld e, l
-	ld d, h
-	callba Function11c08f
-	call Function17e349
-	ret
-; 17d85d
-
-Function17d85d: ; 17d85d
-	call Function17e415
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	push hl
-	ld hl, Unkn1Pals
-	add hl, de
-	ld de, wcc60
-.asm_17d86c
-	ld a, [hli]
-	ld [de], a
-	inc de
-	and a
-	jr nz, .asm_17d86c
-	pop hl
-	ld de, $c608
-	ld c, $0
-.asm_17d878
-	ld a, [hli]
-	cp $ff
-	jr z, .asm_17d8c7
-	ld [wcd4f], a
-	ld a, [hli]
-	ld [wcd50], a
-	ld a, [hli]
-	ld [wcd51], a
-	ld a, [hli]
-	ld [wcd52], a
-	ld a, [wcd51]
-	push af
-	cp $c0
-	jr c, .asm_17d89b
-	ld a, [wcd4f]
-	ld [rSVBK], a
-	jr .asm_17d8a1
-
-.asm_17d89b
-	ld a, [wcd4f]
-	call GetSRAMBank
-
-.asm_17d8a1
-	push hl
-	ld a, [wcd50]
-	ld l, a
-	ld a, [wcd51]
-	ld h, a
-	ld a, [wcd52]
-.asm_17d8ad
-	push af
-	ld a, [hli]
-	ld [de], a
-	inc de
-	inc c
-	pop af
-	dec a
-	jr nz, .asm_17d8ad
-	pop hl
-	pop af
-	cp $c0
-	jr c, .asm_17d8c2
-	ld a, $4
-	ld [rSVBK], a
-	jr .asm_17d878
-
-.asm_17d8c2
-	call CloseSRAM
-	jr .asm_17d878
-
-.asm_17d8c7
-	call Function17e41e
-	push bc
-	ld a, $3
-	ld [rSVBK], a
-	ld hl, $c608
-	ld de, Unkn1Pals
-	ld b, $0
-	call CopyBytes
-	ld a, $4
-	ld [rSVBK], a
-	call Function17e32b
-	pop bc
-	ld a, c
-	ld [wcd3b], a
-	xor a
-	ld [wcf66], a
-	callba Function118329
-	ld a, [wc300]
-	and a
-	jr z, .asm_17d8fe
-	cp $a
-	jr z, .asm_17d8fe
-	call Function17e309
-	ret
-
-.asm_17d8fe
-	call Function17e349
-	ret
-; 17d902
-
-Function17d902: ; 17d902
-	call Function17e415
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	push de
-	call Function17e41e
-	call Function17e32b
-	pop de
-	ld hl, Unkn1Pals
-	add hl, de
-	ld de, wcc60
-.asm_17d918
-	ld a, [hli]
-	ld [de], a
-	inc de
-	and a
-	jr nz, .asm_17d918
-	xor a
-	ld [wcf66], a
-	callba Function11837a
-	ld a, [wc300]
-	and a
-	jr z, .asm_17d936
-	cp $a
-	jr z, .asm_17d936
-	call Function17e309
-	ret
-
-.asm_17d936
-	call Function17e349
-	ret
-; 17d93a
-
-Function17d93a: ; 17d93a
-	call Function17e415
-	ld de, wc708
-	ld bc, $0005
-	call CopyBytes
-	call Function17e41e
-	call Function17e32b
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	ld a, [wc70c]
-	call Function17e6de
-	ld a, [wc70a]
-	ld [CurPartySpecies], a
-	ld a, [wc70c]
-	ld e, a
-	callba Function8bc6
-	call Function32f9
-	ld a, [wc708]
-	ld l, a
-	ld a, [wc709]
-	ld h, a
-	ld a, [wc70b]
-	ld c, a
-	ld de, TileMap
-	add hl, de
-	ld e, l
-	ld d, h
-	callba Functiond066e
-	pop af
-	ld [rSVBK], a
-	call Function17e349
-	ret
-; 17d98b
-
-Function17d98b: ; 17d98b
-	call Function17e415
-	ld de, wc708
-	ld bc, $0004
-	call CopyBytes
-	call Function17e41e
-	call Function17e32b
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	ld a, [wc70b]
-	call Function17e6de
-	ld a, [wc70a]
-	ld [TrainerClass], a
-	ld a, [wc70b]
-	ld e, a
-	callba Function8bbd
-	call Function32f9
-	ld a, [wc708]
-	ld e, a
-	ld a, [wc709]
-	ld d, a
-	push de
-	ld de, VTiles2
-	callba GetTrainerPic
-	pop hl
-	ld de, TileMap
-	add hl, de
-	ld bc, $0707
-	predef FillBox
-	pop af
-	ld [rSVBK], a
-	call Function17e349
-	ret
-; 17d9e3
-
-Function17d9e3: ; 17d9e3
-	call Function17e415
-	ld de, wc708
-	ld bc, $0007
-	call CopyBytes
-	call Function17e41e
-	ld a, [wc70b]
-	push af
-	cp $c0
-	jr c, .asm_17da01
-	ld a, [wc70c]
-	ld [rSVBK], a
-	jr .asm_17da07
-
-.asm_17da01
-	ld a, [wc70c]
-	call GetSRAMBank
-
-.asm_17da07
-	ld a, [wc708]
-	ld l, a
-	ld a, [wc709]
-	ld h, a
-	ld a, [wc70a]
-	ld e, a
-	ld a, [wc70b]
-	ld d, a
-	ld a, [wc70d]
-	ld c, a
-	ld a, [wc70e]
-	ld b, a
-	call CopyBytes
-	pop af
-	cp $c0
-	jr c, .asm_17da2d
-	ld a, $4
-	ld [rSVBK], a
-	jr .asm_17da30
-
-.asm_17da2d
-	call CloseSRAM
-
-.asm_17da30
-	ret
-; 17da31
-
-Function17da31: ; 17da31
-	call Function17e415
-	ld de, wc708
-	ld bc, $0004
-	call CopyBytes
-	call Function17e41e
-	ld a, [wc709]
-	push af
-	cp $c0
-	jr c, .asm_17da4f
-	ld a, [wc70a]
-	ld [rSVBK], a
-	jr .asm_17da55
-
-.asm_17da4f
-	ld a, [wc70a]
-	call GetSRAMBank
-
-.asm_17da55
-	ld a, [wc708]
-	ld e, a
-	ld a, [wc709]
-	ld d, a
-	ld a, [wc70b]
-	ld c, a
-	bit 7, c
-	jr nz, .asm_17da70
-	ld hl, Unknown_17da8c
-	ld b, $0
-	add hl, bc
-	ld a, [de]
-	or [hl]
-	ld [de], a
-	jr .asm_17da7d
-
-.asm_17da70
-	ld hl, Unknown_17da94
-	ld a, c
-	and $7f
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [de]
-	and [hl]
-	ld [de], a
-
-.asm_17da7d
-	pop af
-	cp $c0
-	jr c, .asm_17da88
-	ld a, $4
-	ld [rSVBK], a
-	jr .asm_17da8b
-
-.asm_17da88
-	call CloseSRAM
-
-.asm_17da8b
-	ret
-; 17da8c
-
-Unknown_17da8c:
-x = 0
-	rept 8
-	db 1 << x
-x = x + 1
-	endr
-
-Unknown_17da94:
-x = 0
-	rept 8
-	db (1 << x) ^ $ff
-x = x + 1
-	endr
-; 17da9c
-
-Function17da9c: ; 17da9c
-	ld a, [wcd31]
-	dec a
-	jr z, .asm_17dabd
-	push af
-	call Function17e566
-	pop af
-	ld [wcd31], a
-	ld hl, wcd24
-	ld a, [wcd2e]
-	sub [hl]
-	ld [wcd2e], a
-	call Function17e55b
-	call Function17e5af
-.asm_17daba
-	jp Function17e415
-
-.asm_17dabd
-	ld a, [wcd2f]
-	and a
-	jr z, .asm_17daba
-	ld hl, wcd24
-	sub [hl]
-	ld [wcd2f], a
-	ld a, [wcd2e]
-	sub [hl]
-	ld [wcd2e], a
-	call Function17e451
-	call Function17e55b
-	call Function17e5af
-	jr .asm_17daba
-; 17dadc
-
-Function17dadc: ; 17dadc
-	ld a, [wcd2e]
-	ld hl, wcd24
-	add [hl]
-	ld hl, wcd42
-	cp [hl]
-	jr z, .asm_17db0e
-	jr nc, .asm_17db0e
-	ld hl, wcd31
-	ld a, [wcd2b]
-	cp [hl]
-	jr z, .asm_17db11
-	call Function17e566
-	ld a, [wcd31]
-	inc a
-	ld [wcd31], a
-	ld hl, wcd24
-	ld a, [wcd2e]
-	add [hl]
-	ld [wcd2e], a
-	call Function17e55b
-	call Function17e5af
-
-.asm_17db0e
-	jp Function17e415
-
-.asm_17db11
-	ld hl, wcd24
-	ld a, [wcd2f]
-	add [hl]
-	ld [wcd2f], a
-	ld a, [wcd2e]
-	add [hl]
-	ld [wcd2e], a
-	call Function17e451
-	call Function17e55b
-	call Function17e5af
-	jr .asm_17db0e
-; 17db2d
-
-Function17db2d: ; 17db2d
-	ld a, [wcd30]
-	ld hl, wcd24
-	cp [hl]
-	jr z, .asm_17db53
-	ld hl, wcd42
-	ld a, [wcd2e]
-	inc a
-	cp [hl]
-	jr z, .asm_17db53
-	ld [wcd2e], a
-	call Function17e566
-	ld a, [wcd30]
-	inc a
-	ld [wcd30], a
-	call Function17e55b
-	call Function17e5af
-
-.asm_17db53
-	jp Function17e415
-; 17db56
-
-Function17db56: ; 17db56
-	ld a, [wcd30]
-	cp $1
-	jr z, .asm_17db74
-	call Function17e566
-	ld a, [wcd30]
-	dec a
-	ld [wcd30], a
-	ld a, [wcd2e]
-	dec a
-	ld [wcd2e], a
-	call Function17e55b
-	call Function17e5af
-
-.asm_17db74
-	jp Function17e415
-; 17db77
-
-Function17db77: ; 17db77
-	ld hl, wcd2d
-	ld a, [wcd2f]
-	add [hl]
-	ld hl, wcd42
-	cp [hl]
-	jr z, .asm_17dbae
-	jr nc, .asm_17dbae
-	call Function17e566
-	ld hl, wcd2d
-	ld a, [wcd2f]
-	add [hl]
-	ld [wcd2f], a
-	ld a, [wcd2e]
-	add [hl]
-	ld hl, wcd42
-	cp [hl]
-	jr c, .asm_17db9f
-	ld a, [hl]
-	dec a
-
-.asm_17db9f
-	ld [wcd2e], a
-	call Function17dbb1
-	call Function17e451
-	call Function17e55b
-	call Function17e5af
-
-.asm_17dbae
-	jp Function17e415
-; 17dbb1
-
-Function17dbb1: ; 17dbb1
-	ld hl, wcd2f
-	ld a, [wcd42]
-	sub [hl]
-	ld hl, wcd2d
-	cp [hl]
-	ret nc
-	ld a, $1
-	ld [wcd30], a
-	ld [wcd31], a
-	ld a, [wcd24]
-	ld c, a
-	ld a, [wcd24]
-	ld b, a
-	ld a, [wcd2e]
-	ld hl, wcd2f
-	sub [hl]
-.asm_17dbd4
-	and a
-	ret z
-	push af
-	ld hl, wcd30
-	ld a, b
-	cp [hl]
-	jr nz, .asm_17dbe4
-	ld a, $1
-	ld [hl], a
-	ld hl, wcd31
-
-.asm_17dbe4
-	inc [hl]
-	pop af
-	dec a
-	jr .asm_17dbd4
-; 17dbe9
-
-Function17dbe9: ; 17dbe9
-	ld hl, wcd2d
-	ld a, [wcd2f]
-	sub [hl]
-	bit 7, a
-	jr z, .asm_17dbf5
-	xor a
-
-.asm_17dbf5
-	ld [wcd2f], a
-	ld a, [wcd30]
-	dec a
-	ld c, a
-	ld a, [wcd31]
-	ld b, a
-	xor a
-	ld hl, wcd24
-.asm_17dc05
-	dec b
-	jr z, .asm_17dc0b
-	add [hl]
-	jr .asm_17dc05
-
-.asm_17dc0b
-	add c
-	ld hl, wcd2f
-	add [hl]
-	ld [wcd2e], a
-	call Function17e451
-	call Function17e55b
-	call Function17e5af
-	jp Function17e415
-; 17dc1f
-
-Function17dc1f: ; 17dc1f
-	call Function17e415
-	ld de, $c688
-	ld bc, $0006
-	call CopyBytes
-	call Function17e32b
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	ld hl, $c688
-	ld a, $40
-	ld [wc708], a
-	ld a, [hli]
-	ld [wc70a], a
-	add $5
-	ld [wc70c], a
-	ld a, [hli]
-	ld [wc709], a
-	add $4
-	ld [wc70b], a
-	ld a, $96
-	ld [wc70d], a
-	ld a, $5c
-	ld [wc70e], a
-	ld a, $1
-	ld [wc70f], a
-	ld hl, wc708
-	call LoadMenuDataHeader
-	call Function1d81
-	jr nc, .asm_17dc6e
-	ld a, $2
-	ld [wcfa9], a
-
-.asm_17dc6e
-	call Function1c17
-	pop af
-	ld [rSVBK], a
-	ld a, [wcfa9]
-	cp $1
-	jr nz, .asm_17dc85
-	ld a, [$c68a]
-	ld l, a
-	ld a, [$c68a + 1]
-	ld h, a
-	jr .asm_17dc8d
-
-.asm_17dc85
-	ld a, [$c68a + 2]
-	ld l, a
-	ld a, [$c68a + 3]
-	ld h, a
-
-.asm_17dc8d
-	push hl
-	call Function17e349
-	pop hl
-	call Function17e40f
-	ret
-; 17dc96
-
-MenuData2_17dc96:
-	db $e0 ; flags
-	db 2
-	db "はい@"
-	db "いいえ@"
-; 17dc9f
-
-Function17dc9f: ; 17dc9f
-	call Function17e415
-	call Function17e41e
-	call Function4dd
-	ret
-; 17dca9
-
-Function17dca9: ; 17dca9
-	call Function17e415
-	call Function17e41e
-
-Function17dcaf:
-	ld a, $5
-	ld [rSVBK], a
-	ld hl, Unkn1Pals
-	ld de, $0008
-	ld c, $8
-.asm_17dcbb
-	push hl
-	ld a, $ff
-	ld [hli], a
-	ld a, $7f
-	ld [hl], a
-	pop hl
-	add hl, de
-	dec c
-	jr nz, .asm_17dcbb
-	call Function4b6
-	ld a, $4
-	ld [rSVBK], a
-	ret
-; 17dccf
-
-Function17dccf: ; 17dccf
-	call Function17e415
-	push hl
-	ld a, [wcd4b]
-	ld l, a
-	ld a, [wcd4c]
-	ld h, a
-	ld a, [wcd2e]
-	ld c, a
-	ld b, $0
-	add hl, bc
-	add hl, bc
-	ld a, [hli]
-	ld c, a
-	ld a, [hl]
-	ld b, a
-	call Function17e43d
-	call Function17e41e
-.asm_17dced
-	ld a, [wcd78]
-	ld l, a
-	ld a, [wcd79]
-	ld h, a
-	ld a, [hl]
-	cp $ff
-	jr z, .asm_17dd0d
-.asm_17dcfa
-	cp $31
-	jr nc, .asm_17dcfa
-	call Function17d711
-	ld a, [wcd77]
-	bit 7, a
-	jr nz, .asm_17dd0d
-	and a
-	jr z, .asm_17dd11
-	jr .asm_17dced
-
-.asm_17dd0d
-	pop hl
-	jp Function17e41e
-
-.asm_17dd11
-	pop hl
-	ret
-; 17dd13
-
-Function17dd13: ; 17dd13
-	call Function17e415
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	call Function17e41e
-	call Function17e447
-	push hl
-	ld hl, TileMap
-	add hl, bc
-	push hl
-	pop bc
-	pop hl
-	call Function13e5
-	ret
-; 17dd30
-
-Function17dd30: ; 17dd30
-	call Function17e415
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld c, a
-	ld b, $0
-	ld a, [hli]
-	push af
-	call Function17e41e
-	pop af
-	ld hl, TileMap
-	add hl, de
-	call Function17e600
-	ret
-; 17dd49
-
-Function17dd49: ; 17dd49
-	call Function17e415
-	ld de, wc708
-	ld bc, $000a
-	call CopyBytes
-	ld a, [wc711]
-	ld c, a
-	ld b, $0
-	call CopyBytes
-	ld a, [wc70a]
-	cp $c0
-	jr c, .asm_17dd6c
-	ld a, [wc708]
-	ld [rSVBK], a
-	jr .asm_17dd72
-
-.asm_17dd6c
-	ld a, [wc708]
-	call GetSRAMBank
-
-.asm_17dd72
-	ld a, [wc709]
-	ld l, a
-	ld a, [wc70a]
-	ld h, a
-	ld de, $c688
-	ld a, [wc711]
-	ld c, a
-	ld b, $0
-	call CopyBytes
-	ld a, [wc70a]
-	cp $c0
-	jr c, .asm_17dd93
-	ld a, $4
-	ld [rSVBK], a
-	jr .asm_17dd96
-
-.asm_17dd93
-	call CloseSRAM
-
-.asm_17dd96
-	ld a, [wc711]
-	ld c, a
-	ld hl, wc712
-	ld de, $c688
-.asm_17dda0
-	ld a, [de]
-	inc de
-	cp [hl]
-	inc hl
-	jr z, .asm_17ddaa
-	jr c, .asm_17ddc1
-	jr .asm_17ddb7
-
-.asm_17ddaa
-	dec c
-	jr nz, .asm_17dda0
-	ld a, [wc70d]
-	ld l, a
-	ld a, [wc70e]
-	ld h, a
-	jr .asm_17ddc9
-
-.asm_17ddb7
-	ld a, [wc70f]
-	ld l, a
-	ld a, [wc710]
-	ld h, a
-	jr .asm_17ddc9
-
-.asm_17ddc1
-	ld a, [wc70b]
-	ld l, a
-	ld a, [wc70c]
-	ld h, a
-
-.asm_17ddc9
-	call Function17e40f
-	ret
-; 17ddcd
-
-Function17ddcd: ; 17ddcd
-	call Function17e415
-	ld de, wc708
-	ld bc, $0008
-	call CopyBytes
-	ld a, [wc70a]
-	cp $c0
-	jr c, .asm_17dde7
-	ld a, [wc708]
-	ld [rSVBK], a
-	jr .asm_17dded
-
-.asm_17dde7
-	ld a, [wc708]
-	call GetSRAMBank
-
-.asm_17dded
-	ld a, [wc709]
-	ld e, a
-	ld a, [wc70a]
-	ld d, a
-	ld a, [de]
-	ld [wc710], a
-	ld a, [wc70b]
-	ld c, a
-	ld b, $0
-	ld a, [wc70a]
-	cp $c0
-	jr c, .asm_17de0c
-	ld a, $4
-	ld [rSVBK], a
-	jr .asm_17de0f
-
-.asm_17de0c
-	call CloseSRAM
-
-.asm_17de0f
-	push hl
-	ld hl, Unknown_17da8c
-	add hl, bc
-	ld a, [hl]
-	ld hl, wc710
-	and [hl]
-	pop hl
-	jr nz, .asm_17de26
-	ld a, [wc70e]
-	ld l, a
-	ld a, [wc70f]
-	ld h, a
-	jr .asm_17de2e
-
-.asm_17de26
-	ld a, [wc70c]
-	ld l, a
-	ld a, [wc70d]
-	ld h, a
-
-.asm_17de2e
-	call Function17e40f
-	ret
-; 17de32
-
-Function17de32: ; 17de32
-	call Function17e415
-	ld de, wc708
-	ld bc, $0009
-	call CopyBytes
-	ld a, [wc710]
-	ld c, a
-	ld b, $0
-	call CopyBytes
-	ld a, $6
-	call GetSRAMBank
-	call Function17f4f6
-	ld a, [wc708]
-	ld e, a
-	ld a, [wc709]
-	ld d, a
-	add hl, de
-	ld e, l
-	ld d, h
-	ld a, [wc710]
-	ld c, a
-	ld hl, wc711
-.asm_17de61
-	ld a, [de]
-	inc de
-	cp [hl]
-	inc hl
-	jr z, .asm_17de6b
-	jr c, .asm_17de82
-	jr .asm_17de78
-
-.asm_17de6b
-	dec c
-	jr nz, .asm_17de61
-	ld a, [wc70c]
-	ld l, a
-	ld a, [wc70d]
-	ld h, a
-	jr .asm_17de8a
-
-.asm_17de78
-	ld a, [wc70e]
-	ld l, a
-	ld a, [wc70f]
-	ld h, a
-	jr .asm_17de8a
-
-.asm_17de82
-	ld a, [wc70a]
-	ld l, a
-	ld a, [wc70b]
-	ld h, a
-
-.asm_17de8a
-	call CloseSRAM
-	call Function17e40f
-	ret
-; 17de91
-
-Function17de91: ; 17de91
-	call Function17e415
-	ld de, wc708
-	ld bc, $0007
-	call CopyBytes
-	ld a, $6
-	call GetSRAMBank
-	call Function17f4f6
-	ld a, [wc708]
-	ld e, a
-	ld a, [wc709]
-	ld d, a
-	add hl, de
-	ld e, l
-	ld d, h
-	ld a, [wc70a]
-	ld c, a
-	ld b, $0
-	ld hl, Unknown_17da8c
-	add hl, bc
-	ld a, [hl]
-	ld l, e
-	ld h, d
-	and [hl]
-	jr nz, .asm_17deca
-	ld a, [wc70d]
-	ld l, a
-	ld a, [wc70e]
-	ld h, a
-	jr .asm_17ded2
-
-.asm_17deca
-	ld a, [wc70b]
-	ld l, a
-	ld a, [wc70c]
-	ld h, a
-
-.asm_17ded2
-	call CloseSRAM
-	call Function17e40f
-	ret
-; 17ded9
-
-Function17ded9: ; 17ded9
-	call Function17e415
-	ld de, wc708
-	ld bc, $001f
-	call CopyBytes
-	call Function17e32b
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	ld hl, wc708
-	ld a, [hli]
-	ld [CurPartySpecies], a
-	ld [TempEnemyMonSpecies], a
-	ld a, [hli]
-	ld [CurPartyLevel], a
-	ld a, [hli]
-	ld b, a
-	ld a, [PartyCount]
-	cp $6
-	jp nc, Function17e026
-	xor a
-	ld [MonType], a
-	push hl
-	push bc
-	predef Functiond88c
-	callba Function4db49
-	pop bc
-	pop hl
-	bit 1, b
-	jr z, .asm_17df33
-	push bc
-	push hl
-	ld a, [PartyCount]
-	dec a
-	ld hl, PartyMonNicknames
-	call SkipNames
-	ld d, h
-	ld e, l
-	pop hl
-	call CopyBytes
-	pop bc
-	jr .asm_17df37
-
-.asm_17df33
-	ld de, $0006
-	add hl, de
-
-.asm_17df37
-	bit 2, b
-	jr z, .asm_17df5a
-	push bc
-	push hl
-	ld a, [PartyCount]
-	dec a
-	ld hl, PartyMonOT
-	call SkipNames
-	ld d, h
-	ld e, l
-	pop hl
-	call CopyBytes
-	ld a, [hli]
-	ld b, a
-	push hl
-	callba Function4dba3
-	pop hl
-	pop bc
-	jr .asm_17df5e
-
-.asm_17df5a
-	ld de, $0007
-	add hl, de
-
-.asm_17df5e
-	bit 3, b
-	jr z, .asm_17df79
-	push bc
-	push hl
-	ld a, [PartyCount]
-	dec a
-	ld hl, PartyMon1ID
-	call GetPartyLocation
-	ld d, h
-	ld e, l
-	pop hl
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	pop bc
-	jr .asm_17df7b
-
-.asm_17df79
-	inc hl
-	inc hl
-
-.asm_17df7b
-	bit 4, b
-	jr z, .asm_17dfd0
-	push bc
-	push hl
-	ld a, [PartyCount]
-	dec a
-	ld hl, PartyMon1DVs
-	call GetPartyLocation
-	ld d, h
-	ld e, l
-	pop hl
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	push hl
-	ld a, [PartyCount]
-	dec a
-	ld hl, PartyMon1Species
-	call GetPartyLocation
-	ld a, [hl]
-	ld [CurSpecies], a
-	call GetBaseData
-	ld a, [PartyCount]
-	dec a
-	ld hl, PartyMon1MaxHP
-	call GetPartyLocation
-	ld d, h
-	ld e, l
-	push hl
-	ld b, $0
-	callba Functione167
-	ld a, [PartyCount]
-	dec a
-	ld hl, PartyMon1HP
-	call GetPartyLocation
-	ld d, h
-	ld e, l
-	pop hl
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hl]
-	ld [de], a
-	pop hl
-	pop bc
-	jr .asm_17dfd2
-
-.asm_17dfd0
-	inc hl
-	inc hl
-
-.asm_17dfd2
-	bit 5, b
-	jr z, .asm_17dfea
-	push bc
-	push hl
-	ld a, [PartyCount]
-	dec a
-	ld hl, PartyMon1Item
-	call GetPartyLocation
-	ld d, h
-	ld e, l
-	pop hl
-	ld a, [hli]
-	ld [de], a
-	pop bc
-	jr .asm_17dfeb
-
-.asm_17dfea
-	inc hl
-
-.asm_17dfeb
-	bit 6, b
-	jr z, .asm_17e01f
-	push bc
-	push hl
-	ld a, [PartyCount]
-	dec a
-	ld hl, PartyMon1Moves
-	call GetPartyLocation
-	ld d, h
-	ld e, l
-	pop hl
-	push de
-	ld bc, $0004
-	call CopyBytes
-	pop de
-	push hl
-	push de
-	ld a, [PartyCount]
-	dec a
-	ld hl, PartyMon1PP
-	call GetPartyLocation
-	ld d, h
-	ld e, l
-	pop hl
-	predef FillPP
-	pop hl
-	pop bc
-	jp asm_17e0ee
-
-.asm_17e01f
-	ld de, $0004
-	add hl, de
-	jp asm_17e0ee
-; 17e026
-
-Function17e026: ; 17e026
-	ld a, $1
-	call GetSRAMBank
-	ld a, [sBoxCount]
-	call CloseSRAM
-	cp $14
-	jp nc, .asm_17e0ea
-	bit 0, b
-	jp z, .asm_17e0ea
-	push bc
-	push hl
-	callba LoadEnemyMon
-	callba Functionde6e
-	callba Function4db83
-	pop hl
-	pop bc
-	ld a, $1
-	call GetSRAMBank
-	bit 1, b
-	jr z, .asm_17e067
-	push bc
-	ld bc, $000b
-	ld de, sBoxMonNicknames
-	call CopyBytes
-	pop bc
-	jr .asm_17e06b
-
-.asm_17e067
-	ld de, $0006
-	add hl, de
-
-.asm_17e06b
-	bit 2, b
-	jr z, .asm_17e08e
-	push bc
-	ld bc, $0006
-	ld de, sBoxMonOT
-	call CopyBytes
-	ld a, [hli]
-	ld b, a
-	push hl
-	call CloseSRAM
-	callba Function4db92
-	ld a, $1
-	call GetSRAMBank
-	pop hl
-	pop bc
-	jr .asm_17e092
-
-.asm_17e08e
-	ld de, $0007
-	add hl, de
-
-.asm_17e092
-	bit 3, b
-	jr z, .asm_17e0a2
-	push bc
-	ld de, sBoxMon1ID
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	pop bc
-	jr .asm_17e0a4
-
-.asm_17e0a2
-	inc hl
-	inc hl
-
-.asm_17e0a4
-	bit 4, b
-	jr z, .asm_17e0b4
-	push bc
-	ld de, sBoxMon1DVs
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	pop bc
-	jr .asm_17e0b6
-
-.asm_17e0b4
-	inc hl
-	inc hl
-
-.asm_17e0b6
-	bit 5, b
-	ld a, [hli]
-	jr z, .asm_17e0be
-	ld [sBoxMon1Item], a
-
-.asm_17e0be
-	bit 6, b
-	jr z, .asm_17e0e1
-	push bc
-	ld de, sBoxMon1Moves
-	ld bc, $0004
-	call CopyBytes
-	push hl
-	ld hl, sBoxMon1Moves
-	ld de, sBoxMon1PP
-	predef FillPP
-	call CloseSRAM
-	pop hl
-	pop bc
-	inc hl
-	inc hl
-	jr asm_17e0ee
-
-.asm_17e0e1
-	call CloseSRAM
-	ld de, $0006
-	add hl, de
-	jr asm_17e0ee
-
-.asm_17e0ea
-	ld bc, $001a
-	add hl, bc
-
-asm_17e0ee
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	pop af
-	ld [rSVBK], a
-	push hl
-	call Function17e349
-	pop hl
-	call Function17e40f
-	ret
-; 17e0fd
-
-Function17e0fd: ; 17e0fd
-	call Function17e415
-	ld de, wc708
-	ld bc, $0006
-	call CopyBytes
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	ld hl, wc708
-	ld a, [hli]
-	ld [CurItem], a
-	ld a, [hli]
-	ld [wd10c], a
-	push hl
-	ld hl, NumItems
-	call ReceiveItem
-	pop hl
-	jr c, .asm_17e127
-	inc hl
-	inc hl
-
-.asm_17e127
-	ld a, [hli]
-	ld b, a
-	ld a, [hl]
-	ld h, a
-	ld l, b
-	pop af
-	ld [rSVBK], a
-	call Function17e40f
-	ret
-; 17e133
-
-Function17e133: ; 17e133
-	call Function17e415
-	ld de, wc708
-	ld bc, $0005
-	call CopyBytes
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	ld hl, wc708
-	ld a, [hli]
-	ld [ScriptVar], a
-	push hl
-	callba Function4a843
-	pop hl
-	jr c, .asm_17e159
-	inc hl
-	inc hl
-
-.asm_17e159
-	ld a, [hli]
-	ld b, a
-	ld a, [hl]
-	ld h, a
-	ld l, b
-	pop af
-	ld [rSVBK], a
-	call Function17e40f
-	ret
-; 17e165
-
-Function17e165: ; 17e165
-	call Function17e415
-	ld de, wc708
-	ld bc, $0005
-	call CopyBytes
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	ld hl, wc708
-	ld a, [hli]
-	ld [CurItem], a
-	push hl
-	ld hl, NumItems
-	call CheckItem
-	pop hl
-	jr c, .asm_17e195
-	push hl
-	ld hl, PCItems
-	call CheckItem
-	pop hl
-	jr c, .asm_17e195
-	inc hl
-	inc hl
-
-.asm_17e195
-	ld a, [hli]
-	ld b, a
-	ld a, [hl]
-	ld h, a
-	ld l, b
-	pop af
-	ld [rSVBK], a
-	call Function17e40f
-	ret
-; 17e1a1
-
-Function17e1a1: ; 17e1a1
-	call Function17e415
-	ld de, wc708
-	ld bc, $000d
-	call CopyBytes
-	ld a, [wc70a]
-	cp $c0
-	jr c, .asm_17e1bb
-	ld a, [wc708]
-	ld [rSVBK], a
-	jr .asm_17e1c1
-
-.asm_17e1bb
-	ld a, [wc708]
-	call GetSRAMBank
-
-.asm_17e1c1
-	ld a, [wc709]
-	ld l, a
-	ld a, [wc70a]
-	ld h, a
-	ld de, $c608
-	ld a, [wc70b]
-	ld c, a
-	ld b, $0
-	call CopyBytes
-	ld a, [wc70a]
-	cp $c0
-	jr c, .asm_17e1e2
-	ld a, $4
-	ld [rSVBK], a
-	jr .asm_17e1e5
-
-.asm_17e1e2
-	call CloseSRAM
-
-.asm_17e1e5
-	ld a, [wc70e]
-	cp $c0
-	jr c, .asm_17e1f3
-	ld a, [wc70c]
-	ld [rSVBK], a
-	jr .asm_17e1f9
-
-.asm_17e1f3
-	ld a, [wc70c]
-	call GetSRAMBank
-
-.asm_17e1f9
-	ld a, [wc70d]
-	ld l, a
-	ld a, [wc70e]
-	ld h, a
-	ld de, $c688
-	ld a, [wc70b]
-	ld c, a
-	ld b, $0
-	call CopyBytes
-	ld a, [wc70e]
-	cp $c0
-	jr c, .asm_17e21a
-	ld a, $4
-	ld [rSVBK], a
-	jr .asm_17e21d
-
-.asm_17e21a
-	call CloseSRAM
-
-.asm_17e21d
-	ld a, [wc70b]
-	ld c, a
-	ld hl, $c688
-	ld de, $c608
-.asm_17e227
-	ld a, [de]
-	inc de
-	cp [hl]
-	inc hl
-	jr z, .asm_17e231
-	jr c, .asm_17e23e
-	jr .asm_17e248
-
-.asm_17e231
-	dec c
-	jr nz, .asm_17e227
-	ld a, [wc711]
-	ld l, a
-	ld a, [wc712]
-	ld h, a
-	jr .asm_17e250
-
-.asm_17e23e
-	ld a, [wc70f]
-	ld l, a
-	ld a, [wc710]
-	ld h, a
-	jr .asm_17e250
-
-.asm_17e248
-	ld a, [wc712 + 1]
-	ld l, a
-	ld a, [wc712 + 2]
-	ld h, a
-
-.asm_17e250
-	call Function17e40f
-	ret
-; 17e254
-
-Function17e254: ; 17e254
-	call Function17e415
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld [de], a
-	call Function17e41e
-	ret
-; 17e261
-
-Function17e261: ; 17e261
-	call Function17e415
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [de]
-	add [hl]
-	ld [de], a
-	inc hl
-	call Function17e41e
-	ret
-; 17e270
-
-Function17e270: ; 17e270
-	call Function17e415
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [de]
-	sub [hl]
-	ld [de], a
-	inc hl
-	call Function17e41e
-	ret
-; 17e27f
-
-Function17e27f: ; 17e27f
-	call Function17e415
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	call Function17e41e
-	ld l, c
-	ld h, b
-	ld a, [de]
-	add [hl]
-	ld [de], a
-	ret
-; 17e293
-
-Function17e293: ; 17e293
-	call Function17e415
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	call Function17e41e
-	ld l, c
-	ld h, b
-	ld a, [de]
-	sub [hl]
-	ld [de], a
-	ret
-; 17e2a7
-
-Function17e2a7: ; 17e2a7
-	call Function17e415
-	call Function17e41e
-	call Function17e32b
-	xor a
-	ld [wcf66], a
-	callba Function118233
-	ld de, GFX_17eb7e
-	ld hl, $9600
-	lb bc, BANK(GFX_17eb7e), 1
-	call Get2bpp
-	ld a, [wc300]
-	and a
-	jr z, .asm_17e2d8
-	cp $a
-	jr z, .asm_17e2f7
-	cp $b
-	jr z, .asm_17e300
-	call Function17e309
-	ret
-
-.asm_17e2d8
-	call Function17d60b
-	call Function17e349
-	xor a
-	ld [wcd7a], a
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $aa73
-	ld de, $aa7f
-	ld bc, $000c
-	call CopyBytes
-	call CloseSRAM
-	ret
-
-.asm_17e2f7
-	call Function17e349
-	ld a, $1
-	ld [wcd7a], a
-	ret
-
-.asm_17e300
-	call Function17e349
-	ld a, $2
-	ld [wcd7a], a
-	ret
-; 17e309
-
-Function17e309: ; 17e309
-	ld a, $2
-	ld [wc303], a
-	call Function17dcaf
-	call ClearScreen
-	call Function17e349
-	call Function17d5f6
-	callba Function17f555
-	call Function17e349
-	call Function17dcaf
-	xor a
-	ld [wcd77], a
-	ret
-; 17e32b
-
-Function17e32b: ; 17e32b
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $c608
-	ld de, $b0b1
-	ld bc, $0040
-	call CopyBytes
-	ld hl, BGMapBuffer
-	ld bc, $005b
-	call CopyBytes
-	call CloseSRAM
-	ret
-; 17e349
-
-Function17e349: ; 17e349
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $b0b1
-	ld de, $c608
-	ld bc, $0040
-	call CopyBytes
-	ld de, BGMapBuffer
-	ld bc, $005b
-	call CopyBytes
-	call CloseSRAM
-	ret
-; 17e367
-
-Function17e367: ; 17e367
-	call Function17e415
-	call Function17e41e
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	callba Function14c10
-	pop af
-	ld [rSVBK], a
-	ret
-; 17e37e
-
-Function17e37e: ; 17e37e
-	call Function17e415
-	call Function17e41e
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	callba Function14a58
-	pop af
-	ld [rSVBK], a
-	ret
-; 17e395
-
-Function17e395: ; 17e395
-	call Function17e415
-	call Function17e41e
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	callba Function14e0c
-	pop af
-	ld [rSVBK], a
-	ret
-; 17e3ac
-
-Function17e3ac: ; 17e3ac
-	call Function17e415
-	call Function17e41e
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	callba Function14e13
-	pop af
-	ld [rSVBK], a
-	ret
-; 17e3c3
-
-Function17e3c3: ; 17e3c3
-	call Function17e415
-	call Function17e41e
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	callba Function106155
-	callba Function106187
-	pop af
-	ld [rSVBK], a
-	ret
-; 17e3e0
-
-Function17e3e0: ; 17e3e0
-	call Function17e415
-	ld a, [hli]
-	ld c, a
-	call Function17e41e
-	ld a, $1
-	ld [hBGMapMode], a
-	call DelayFrames
-	ret
-; 17e3f0
-
-Function17e3f0: ; 17e3f0
-	call Function17e415
-	call Function17e41e
-.asm_17e3f6
-	call Functiona57
-	ld hl, hJoyPressed
-	ld a, [hl]
-	and $1
-	ret nz
-	ld a, [hl]
-	and $2
-	ret nz
-	call WaitBGMap
-	jr .asm_17e3f6
-; 17e409
-
-Function17e409: ; 17e409
-	ld hl, wcd77
-	set 7, [hl]
-	ret
-; 17e40f
-
-Function17e40f: ; 17e40f
-	ld de, Unkn1Pals
-	add hl, de
-	jr Function17e41e
-
-Function17e415:
-	ld a, [wcd78]
-	ld l, a
-	ld a, [wcd79]
-	ld h, a
-	inc hl
-
-Function17e41e:
-	ld a, l
-	ld [wcd78], a
-	ld a, h
-	ld [wcd79], a
-	ret
-; 17e427
-
-Function17e427: ; 17e427
-	ld hl, hJoyPressed
-	ld a, [hl]
-	and $1
-	jr nz, .asm_17e432
-	and $2
-	ret z
-
-.asm_17e432
-	ld a, $3
-	ld [wcd77], a
-	ret
-; 17e438
-
-Function17e438: ; 17e438
-	ld hl, wcd77
-	inc [hl]
-	ret
-; 17e43d
-
-Function17e43d: ; 17e43d
-	ld a, [BGMapBuffer]
-	ld l, a
-	ld a, [wcd21]
-	ld h, a
-	add hl, bc
-	ret
-; 17e447
-
-Function17e447: ; 17e447
-	ld a, [BGMapBuffer]
-	ld l, a
-	ld a, [wcd21]
-	ld h, a
-	add hl, de
-	ret
-; 17e451
-
-Function17e451: ; 17e451
-	ld a, [wcd42]
-	and a
-	ret z
-	call Function17e51b
-	call Function17e4dd
-	ld a, [wcd2e]
-	push af
-	ld a, [wcd49]
-	ld l, a
-	ld a, [wcd4a]
-	ld h, a
-	ld a, [wcd2f]
-	ld [wcd2e], a
-	ld c, a
-	ld b, $0
-	add hl, bc
-	add hl, bc
-	push hl
-	ld hl, TileMap
-	ld bc, $0014
-	ld a, [wcd23]
-	call AddNTimes
-	ld a, [CreditsTimer]
-	ld c, a
-	ld b, $0
-	add hl, bc
-	pop bc
-	ld a, [wcd25]
-.asm_17e48b
-	push af
-	push hl
-	ld a, [wcd24]
-.asm_17e490
-	push af
-	push hl
-	ld a, [bc]
-	inc bc
-	ld e, a
-	ld a, [bc]
-	inc bc
-	ld d, a
-	push bc
-	push hl
-	ld a, [BGMapBuffer]
-	ld l, a
-	ld a, [wcd21]
-	ld h, a
-	add hl, de
-	push hl
-	pop de
-	pop hl
-	call PlaceString
-	pop bc
-	pop hl
-	ld a, [wcd26]
-	ld e, a
-	ld d, $0
-	add hl, de
-	ld a, [wcd2e]
-	inc a
-	ld [wcd2e], a
-	ld e, a
-	ld a, [wcd42]
-	cp e
-	jr z, .asm_17e4d5
-	pop af
-	dec a
-	jr nz, .asm_17e490
-	pop hl
-	ld a, [wcd27]
-	ld de, $0014
-.asm_17e4cb
-	add hl, de
-	dec a
-	jr nz, .asm_17e4cb
-	pop af
-	dec a
-	jr nz, .asm_17e48b
-	jr .asm_17e4d8
-
-.asm_17e4d5
-	pop af
-	pop hl
-	pop af
-
-.asm_17e4d8
-	pop af
-	ld [wcd2e], a
-	ret
-; 17e4dd
-
-Function17e4dd: ; 17e4dd
-	ld a, [wcd2c]
-	and $1
-	ret z
-	ld a, [wcd29]
-	ld hl, TileMap
-	ld bc, $0014
-	call AddNTimes
-	ld a, [wcd28]
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [wcd2f]
-	and a
-	jr z, .asm_17e4ff
-	ld a, $61
-	ld [hl], a
-
-.asm_17e4ff
-	ld a, [wcd2a]
-	ld bc, $0014
-	call AddNTimes
-	ld a, [wcd42]
-	ld c, a
-	ld a, [wcd2e]
-	ld b, a
-	ld a, [wcd24]
-	add b
-	cp c
-	ret z
-	ret nc
-	ld a, $ee
-	ld [hl], a
-	ret
-; 17e51b
-
-Function17e51b: ; 17e51b
-	ld a, [wcd28]
-	ld hl, CreditsTimer
-	sub [hl]
-	inc a
-	ld [wcd4f], a
-	ld hl, TileMap
-	ld bc, $0014
-	ld a, [wcd23]
-	dec a
-	call AddNTimes
-	ld a, [CreditsTimer]
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [wcd25]
-	ld c, a
-	ld a, [wcd27]
-	call SimpleMultiply
-.asm_17e544
-	push af
-	push hl
-	ld a, [wcd4f]
-	ld c, a
-	ld b, $0
-	ld a, $7f
-	call ByteFill
-	pop hl
-	ld bc, $0014
-	add hl, bc
-	pop af
-	dec a
-	jr nz, .asm_17e544
-	ret
-; 17e55b
-
-Function17e55b: ; 17e55b
-	ld a, [wcd42]
-	and a
-	ret z
-	ld a, $ed
-	call Function17e571
-	ret
-; 17e566
-
-Function17e566: ; 17e566
-	ld a, [wcd42]
-	and a
-	ret z
-	ld a, $7f
-	call Function17e571
-	ret
-; 17e571
-
-Function17e571: ; 17e571
-	push af
-	ld hl, TileMap
-	ld bc, $0014
-	ld a, [wcd23]
-	call AddNTimes
-	ld a, [CreditsTimer]
-	ld c, a
-	ld b, $0
-	add hl, bc
-	dec hl
-	push hl
-	ld a, [wcd31]
-	dec a
-	ld c, a
-	ld a, [wcd27]
-	call SimpleMultiply
-	ld l, $0
-	ld h, l
-	ld bc, $0014
-	call AddNTimes
-	ld a, [wcd30]
-	dec a
-	ld c, a
-	ld a, [wcd26]
-	call SimpleMultiply
-	ld c, a
-	ld b, $0
-	add hl, bc
-	pop bc
-	add hl, bc
-	pop af
-	ld [hl], a
-	ret
-; 17e5af
-
-Function17e5af: ; 17e5af
-	ld a, [wcd2c]
-	and $2
-	ret z
-	ld a, [wcd43]
-	ld l, a
-	ld a, [wcd44]
-	ld h, a
-	ld bc, TileMap
-	add hl, bc
-	ld bc, $ffec
-	add hl, bc
-	ld a, [wcd45]
-	ld c, a
-	ld b, $0
-	ld a, [wcd46]
-	call Function17e600
-	ld a, [wcd2e]
-	ld c, a
-	ld b, $0
-	ld a, [wcd4d]
-	ld l, a
-	ld a, [wcd4e]
-	ld h, a
-	add hl, bc
-	add hl, bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [BGMapBuffer]
-	ld l, a
-	ld a, [wcd21]
-	ld h, a
-	add hl, de
-	push hl
-	pop de
-	ld a, [wcd43]
-	ld l, a
-	ld a, [wcd44]
-	ld h, a
-	ld bc, TileMap
-	add hl, bc
-	call PlaceString
-	ret
-; 17e600
-
-Function17e600: ; 17e600
-.asm_17e600
-	push af
-	push hl
-	push bc
-	ld a, $7f
-	call ByteFill
-	pop bc
-	pop hl
-	ld de, $0014
-	add hl, de
-	pop af
-	dec a
-	jr nz, .asm_17e600
-	ret
-; 17e613
-
-Function17e613: ; 17e613
-	push hl
-	ld hl, TileMap
-	ld bc, $0014
-	ld a, [de]
-	inc de
-	push af
-	ld a, [de]
-	inc de
-	and a
-.asm_17e620
-	jr z, .asm_17e626
-	add hl, bc
-	dec a
-	jr .asm_17e620
-
-.asm_17e626
-	pop af
-	ld c, a
-	ld b, $0
-	add hl, bc
-	push hl
-	ld a, [wcd53]
-	ld [hli], a
-	ld a, [de]
-	inc de
-	dec a
-	dec a
-	jr z, .asm_17e63f
-	ld c, a
-	ld a, [wcd53]
-	inc a
-.asm_17e63b
-	ld [hli], a
-	dec c
-	jr nz, .asm_17e63b
-
-.asm_17e63f
-	ld a, [wcd53]
-	add $2
-	ld [hl], a
-	pop hl
-	ld bc, $0014
-	add hl, bc
-	ld a, [de]
-	dec de
-	dec a
-	dec a
-	jr z, .asm_17e674
-	ld b, a
-.asm_17e651
-	push hl
-	ld a, [wcd53]
-	add $3
-	ld [hli], a
-	ld a, [de]
-	dec a
-	dec a
-	jr z, .asm_17e664
-	ld c, a
-	ld a, $7f
-.asm_17e660
-	ld [hli], a
-	dec c
-	jr nz, .asm_17e660
-
-.asm_17e664
-	ld a, [wcd53]
-	add $4
-	ld [hl], a
-	pop hl
-	push bc
-	ld bc, $0014
-	add hl, bc
-	pop bc
-	dec b
-	jr nz, .asm_17e651
-
-.asm_17e674
-	ld a, [wcd53]
-	add $5
-	ld [hli], a
-	ld a, [de]
-	dec a
-	dec a
-	jr z, .asm_17e689
-	ld c, a
-	ld a, [wcd53]
-	add $6
-.asm_17e685
-	ld [hli], a
-	dec c
-	jr nz, .asm_17e685
-
-.asm_17e689
-	ld a, [wcd53]
-	add $7
-	ld [hl], a
-	pop hl
-	ret
-; 17e691
-
-Function17e691: ; 17e691
-	push hl
-	ld hl, NULL
-	ld bc, $0014
-	ld a, [de]
-	inc de
-	push af
-	ld a, [de]
-	inc de
-	inc de
-	and a
-.asm_17e69f
-	jr z, .asm_17e6a5
-	add hl, bc
-	dec a
-	jr .asm_17e69f
-
-.asm_17e6a5
-	pop af
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [de]
-	dec de
-.asm_17e6ac
-	push af
-	push hl
-	ld a, [de]
-.asm_17e6af
-	push af
-	push hl
-	push hl
-	ld bc, TileMap
-	add hl, bc
-	ld a, [hl]
-	cp $7f
-	jr z, .asm_17e6c2
-	ld a, [wcd53]
-	add $8
-	jr .asm_17e6c7
-
-.asm_17e6c2
-	ld a, [wcd53]
-	jr .asm_17e6c7
-
-.asm_17e6c7
-	pop hl
-	ld bc, AttrMap
-	add hl, bc
-	ld [hl], a
-	pop hl
-	inc hl
-	pop af
-	dec a
-	jr nz, .asm_17e6af
-	pop hl
-	ld bc, $0014
-	add hl, bc
-	pop af
-	dec a
-	jr nz, .asm_17e6ac
-	pop hl
-	ret
-; 17e6de
-
-Function17e6de: ; 17e6de
-	push af
-	ld a, [wc708]
-	ld l, a
-	ld a, [wc709]
-	ld h, a
-	ld de, AttrMap
-	add hl, de
-	pop af
-	ld b, $7
-.asm_17e6ee
-	push hl
-	ld c, $7
-.asm_17e6f1
-	ld [hli], a
-	dec c
-	jr nz, .asm_17e6f1
-	pop hl
-	ld de, $0014
-	add hl, de
-	dec b
-	jr nz, .asm_17e6ee
-	ret
-; 17e6fe
-
-
-PokemonNewsGFX: ; 17e6fe
-INCBIN "gfx/mobile/pokemon_news.2bpp"
-
-GFX_17eb7e:
-INCBIN "gfx/unknown/17eb7e.2bpp"
-
-TileAttrmap_17eb8e:
-INCBIN "gfx/unknown/17eb8e.attrmap"
-
-Palette_17eff6:
-	RGB 24,  9,  8
-	RGB  4,  9, 18
-	RGB 18, 18, 12
-	RGB  0,  0,  0
-	RGB 24, 24, 18
-	RGB 18, 18, 12
-	RGB  4,  9, 18
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB 23, 11, 10
-	RGB 13,  6,  5
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB 15, 25,  5
-	RGB 10, 20,  0
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB 20, 28, 20
-	RGB 10, 18, 15
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB 22, 22, 12
-	RGB 17, 12,  5
-	RGB  0,  0,  0
-	RGB  5,  5, 16
-	RGB  8, 19, 28
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 27, 24,  0
-	RGB 24, 16,  3
-	RGB  0,  0,  0
-
-
-Function17f036:: ; 17f036
-	ld a, $6
-	call GetSRAMBank
-	inc de
-.asm_17f03c
-	call Function17f047
-	jr c, .asm_17f043
-	jr .asm_17f03c
-
-.asm_17f043
-	call CloseSRAM
-	ret
-; 17f047
-
-Function17f047: ; 17f047
-	ld a, [de]
-	inc de
-	cp $50
-	jr z, .asm_17f05f
-	cp $10
-	jr nc, .asm_17f05f
-	dec a
-	push de
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_17f061
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-
-.asm_17f05f
-	scf
-	ret
-; 17f061
-
-Jumptable_17f061: ; 17f061
-	dw Function17f081
-	dw Function17f0f8
-	dw Function17f154
-	dw Function17f181
-	dw Function17f1d0
-	dw Function17f220
-	dw Function17f27b
-	dw Function17f2cb
-	dw Function17f2ff
-	dw Function17f334
-	dw Function17f382
-	dw Function17f3c9
-	dw Function17f3f0
-	dw Function17f41d
-	dw Function17f44f
-	dw Function17f44f
-; 17f081
-
-Function17f081: ; 17f081
-	pop hl
-	call Function17f524
-	jr c, .asm_17f09f
-	ld de, $0004
-	add hl, de
-	ld a, [hli]
-	inc hl
-	inc hl
-	ld e, l
-	ld d, h
-	ld l, c
-	ld h, b
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [de]
-	cp $50
-	jr z, .asm_17f09d
-	and a
-	ret
-
-.asm_17f09d
-	scf
-	ret
-
-.asm_17f09f
-	push bc
-	ld de, wcd54
-	ld bc, $0007
-	call CopyBytes
-	pop bc
-	push hl
-	push bc
-	call Function17f4f6
-	pop bc
-	ld a, [wcd54]
-	ld e, a
-	ld a, [wcd55]
-	ld d, a
-	add hl, de
-	ld e, l
-	ld d, h
-	ld l, c
-	ld h, b
-	push hl
-	ld a, [wcd56]
-	ld b, a
-	ld a, [wcd57]
-	ld c, a
-	call Function31a4
-	ld a, l
-	ld [wcd52], a
-	ld a, h
-	ld [wcd53], a
-	ld a, [wcd59]
-	and a
-	jr z, .asm_17f0ee
-	ld c, a
-	ld a, [wcd57]
-	inc a
-	ld b, a
-	ld e, l
-	ld d, h
-	dec de
-.asm_17f0e0
-	ld a, c
-	cp b
-	jr z, .asm_17f0ea
-	ld a, [de]
-	dec de
-	ld [hld], a
-	dec b
-	jr .asm_17f0e0
-
-.asm_17f0ea
-	ld a, [wcd5a]
-	ld [hl], a
-
-.asm_17f0ee
-	pop hl
-	ld a, [wcd58]
-	call Function17f50f
-	pop de
-	and a
-	ret
-; 17f0f8
-
-Function17f0f8: ; 17f0f8
-	pop hl
-	call Function17f524
-	jr c, .asm_17f114
-	ld de, $0003
-	add hl, de
-	ld a, [hli]
-	ld e, l
-	ld d, h
-	ld l, c
-	ld h, b
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [de]
-	cp $50
-	jr z, .asm_17f112
-	and a
-	ret
-
-.asm_17f112
-	scf
-	ret
-
-.asm_17f114
-	push bc
-	ld de, wcd54
-	ld bc, $0004
-	call CopyBytes
-	pop bc
-	push hl
-	push bc
-	call Function17f4f6
-	ld a, [wcd54]
-	ld e, a
-	ld a, [wcd55]
-	ld d, a
-	add hl, de
-	ld de, $c608
-	ld a, [wcd56]
-	ld c, a
-	ld b, $0
-	call CopyBytes
-	ld a, $50
-	ld [de], a
-	pop hl
-	ld de, $c608
-	call PlaceString
-	ld a, c
-	ld [wcd52], a
-	ld a, b
-	ld [wcd53], a
-	ld a, [wcd57]
-	call Function17f50f
-	pop de
-	and a
-	ret
-; 17f154
-
-Function17f154: ; 17f154
-	pop hl
-	call Function17f524
-	jr c, .asm_17f167
-	inc hl
-	inc hl
-	ld e, l
-	ld d, h
-	ld a, [de]
-	cp $50
-	jr z, .asm_17f165
-	and a
-	ret
-
-.asm_17f165
-	scf
-	ret
-
-.asm_17f167
-	push bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	pop bc
-	push hl
-	push bc
-	call Function17f4f6
-	add hl, de
-	ld c, l
-	ld b, h
-	pop de
-	callba Function11c08f
-	ld c, l
-	ld b, h
-	pop de
-	and a
-	ret
-; 17f181
-
-Function17f181: ; 17f181
-	pop hl
-	call Function17f524
-	jr c, .asm_17f19d
-	ld de, $0002
-	add hl, de
-	ld a, [hli]
-	ld e, l
-	ld d, h
-	ld l, c
-	ld h, b
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [de]
-	cp $50
-	jr z, .asm_17f19b
-	and a
-	ret
-
-.asm_17f19b
-	scf
-	ret
-
-.asm_17f19d
-	push bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld [wcd54], a
-	pop bc
-	push hl
-	push bc
-	call Function17f4f6
-	add hl, de
-	ld a, [hl]
-	ld c, a
-	ld de, $c608
-	callba Function48c63
-	pop hl
-	ld de, $c608
-	call PlaceString
-	ld a, c
-	ld [wcd52], a
-	ld a, b
-	ld [wcd53], a
-	ld a, [wcd54]
-	call Function17f50f
-	pop de
-	and a
-	ret
-; 17f1d0
-
-Function17f1d0: ; 17f1d0
-	pop hl
-	call Function17f524
-	jr c, .asm_17f1ec
-	ld de, $0002
-	add hl, de
-	ld a, [hli]
-	ld e, l
-	ld d, h
-	ld l, c
-	ld h, b
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [de]
-	cp $50
-	jr z, .asm_17f1ea
-	and a
-	ret
-
-.asm_17f1ea
-	scf
-	ret
-
-.asm_17f1ec
-	push bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld [wcd54], a
-	pop bc
-	push hl
-	push bc
-	call Function17f4f6
-	add hl, de
-	ld a, [hl]
-	ld a, $1
-	ld [rSVBK], a
-	ld [wd265], a
-	call GetPokemonName
-	pop hl
-	call PlaceString
-	ld a, c
-	ld [wcd52], a
-	ld a, b
-	ld [wcd53], a
-	ld a, $4
-	ld [rSVBK], a
-	ld a, [wcd54]
-	call Function17f50f
-	pop de
-	and a
-	ret
-; 17f220
-
-Function17f220: ; 17f220
-	pop hl
-	call Function17f524
-	jr c, .asm_17f23c
-	ld de, $0002
-	add hl, de
-	ld a, [hli]
-	ld e, l
-	ld d, h
-	ld l, c
-	ld h, b
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [de]
-	cp $50
-	jr z, .asm_17f23a
-	and a
-	ret
-
-.asm_17f23a
-	scf
-	ret
-
-.asm_17f23c
-	push bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld [wcd54], a
-	pop bc
-	push hl
-	push bc
-	call Function17f4f6
-	add hl, de
-	ld a, [hl]
-	ld e, a
-	ld d, 0
-	ld hl, .Genders
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld e, a
-	ld a, [hl]
-	ld d, a
-	pop hl
-	call PlaceString
-	ld a, c
-	ld [wcd52], a
-	ld a, b
-	ld [wcd53], a
-	ld a, [wcd54]
-	call Function17f50f
-	pop de
-	and a
-	ret
-; 17f26e
-
-.Genders: dw .Boy, .Girl
-.Boy:     db "Boy@"
-.Girl:    db "Girl@"
-
-Function17f27b: ; 17f27b
-	pop hl
-	call Function17f524
-	jr c, .asm_17f297
-	ld de, $0002
-	add hl, de
-	ld a, [hli]
-	ld e, l
-	ld d, h
-	ld l, c
-	ld h, b
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [de]
-	cp $50
-	jr z, .asm_17f295
-	and a
-	ret
-
-.asm_17f295
-	scf
-	ret
-
-.asm_17f297
-	push bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld [wcd54], a
-	pop bc
-	push hl
-	push bc
-	call Function17f4f6
-	add hl, de
-	ld a, [hl]
-	ld a, $1
-	ld [rSVBK], a
-	ld [wd265], a
-	call GetItemName
-	pop hl
-	call PlaceString
-	ld a, c
-	ld [wcd52], a
-	ld a, b
-	ld [wcd53], a
-	ld a, $4
-	ld [rSVBK], a
-	ld a, [wcd54]
-	call Function17f50f
-	pop de
-	and a
-	ret
-; 17f2cb
-
-Function17f2cb: ; 17f2cb
-	pop hl
-	push bc
-	ld a, [hli]
-	ld [wcd54], a
-	ld a, [hli]
-	ld [wcd55], a
-	ld a, [wcd2e]
-	inc a
-	ld [wcd56], a
-	pop bc
-	push hl
-	ld l, c
-	ld h, b
-	push hl
-	ld de, wcd56
-	ld b, $1
-	ld a, [wcd54]
-	ld c, a
-	call Function31a4
-	ld a, l
-	ld [wcd52], a
-	ld a, h
-	ld [wcd53], a
-	pop hl
-	ld a, [wcd55]
-	call Function17f50f
-	pop de
-	and a
-	ret
-; 17f2ff
-
-Function17f2ff: ; 17f2ff
-	pop hl
-	push bc
-	ld a, [hli]
-	ld [wcd54], a
-	pop bc
-	push hl
-	push bc
-	ld a, $1
-	ld [rSVBK], a
-	ld hl, PlayerName
-	ld de, $c608
-	ld bc, $0006
-	call CopyBytes
-	ld a, $4
-	ld [rSVBK], a
-	pop hl
-	ld de, $c608
-	call PlaceString
-	ld a, c
-	ld [wcd52], a
-	ld a, b
-	ld [wcd53], a
-	ld a, [wcd54]
-	call Function17f50f
-	pop de
-	and a
-	ret
-; 17f334
-
-Function17f334: ; 17f334
-	pop hl
-	push bc
-	ld a, [hli]
-	ld [wcd55], a
-	and $f
-	ld [wcd54], a
-	pop bc
-	push hl
-	ld l, c
-	ld h, b
-	push hl
-	ld a, [wcd55]
-	bit 7, a
-	jr nz, .asm_17f355
-	ld a, $1
-	call GetSRAMBank
-	ld a, [$be3f]
-	jr .asm_17f35d
-
-.asm_17f355
-	ld a, $5
-	call GetSRAMBank
-	ld a, [$b2f3]
-
-.asm_17f35d
-	ld c, a
-	call CloseSRAM
-	ld de, $c608
-	callba Function48c63
-	pop hl
-	ld de, $c608
-	call PlaceString
-	ld a, c
-	ld [wcd52], a
-	ld a, b
-	ld [wcd53], a
-	ld a, [wcd54]
-	call Function17f50f
-	pop de
-	and a
-	ret
-; 17f382
-
-Function17f382: ; 17f382
-	pop hl
-	push bc
-	ld a, [hli]
-	ld [wcd55], a
-	and $f
-	ld [wcd54], a
-	pop bc
-	push hl
-	push bc
-	ld l, c
-	ld h, b
-	ld a, [wcd55]
-	bit 7, a
-	jr nz, .asm_17f3a3
-	ld a, $1
-	call GetSRAMBank
-	ld de, $be40
-	jr .asm_17f3ab
-
-.asm_17f3a3
-	ld a, $5
-	call GetSRAMBank
-	ld de, $b2f4
-
-.asm_17f3ab
-	ld a, $82
-	ld b, a
-	ld a, $3
-	ld c, a
-	call PrintNum
-	call CloseSRAM
-	ld a, l
-	ld [wcd52], a
-	ld a, h
-	ld [wcd53], a
-	pop hl
-	ld a, [wcd54]
-	call Function17f50f
-	pop de
-	and a
-	ret
-; 17f3c9
-
-Function17f3c9: ; 17f3c9
-	push bc
-	ld hl, wcd36
-	ld de, wc708
-	ld bc, $000c
-	call CopyBytes
-	pop de
-	ld c, $0
-	callba Function11c075
-	push hl
-	ld hl, wc708
-	ld de, wcd36
-	ld bc, $000c
-	call CopyBytes
-	pop bc
-	pop de
-	and a
-	ret
-; 17f3f0
-
-Function17f3f0: ; 17f3f0
-	pop hl
-	push hl
-	ld a, [hli]
-	push af
-	push bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [de]
-	ld c, a
-	ld b, $0
-	add hl, bc
-	add hl, bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld hl, Unkn1Pals
-	add hl, de
-	ld e, l
-	ld d, h
-	pop hl
-	call PlaceString
-	pop af
-	ld e, a
-	ld d, $0
-	pop hl
-	add hl, de
-	add hl, de
-	inc hl
-	inc hl
-	inc hl
-	ld e, l
-	ld d, h
-	ld l, c
-	ld h, b
-	scf
-	ret
-; 17f41d
-
-Function17f41d: ; 17f41d
-	pop hl
-	ld a, [hli]
-	push hl
-	push af
-	ld l, c
-	ld h, b
-	ld bc, -TileMap + $10000
-	add hl, bc
-	ld de, -SCREEN_WIDTH
-	ld c, $1
-.asm_17f42c
-	ld a, h
-	and a
-	jr nz, .asm_17f435
-	ld a, l
-	cp SCREEN_WIDTH
-	jr c, .asm_17f439
-
-.asm_17f435
-	add hl, de
-	inc c
-	jr .asm_17f42c
-
-.asm_17f439
-	ld hl, TileMap
-	ld de, SCREEN_WIDTH
-	ld a, c
-.asm_17f440
-	and a
-	jr z, .asm_17f447
-	add hl, de
-	dec a
-	jr .asm_17f440
-
-.asm_17f447
-	pop af
-	ld e, a
-	ld d, 0
-	add hl, de
-	pop de
-	and a
-	ret
-; 17f44f
-
-Function17f44f: ; 17f44f
-	pop hl
-	call Function17f524
-	jr c, .asm_17f46d
-	ld de, $0005
-	add hl, de
-	ld a, [hli]
-	inc hl
-	inc hl
-	ld e, l
-	ld d, h
-	ld l, c
-	ld h, b
-	ld c, a
-	ld b, 0
-	add hl, bc
-	ld a, [de]
-	cp $50
-	jr z, .asm_17f46b
-	and a
-	ret
-
-.asm_17f46b
-	scf
-	ret
-
-.asm_17f46d
-	push bc
-	ld de, wcd54
-	ld bc, $0008
-	call CopyBytes
-	pop bc
-	push hl
-	push bc
-	ld a, [wcd56]
-	cp $c0
-	jr c, .asm_17f488
-	ld a, [wcd54]
-	ld [rSVBK], a
-	jr .asm_17f48e
-
-.asm_17f488
-	ld a, [wcd54]
-	call GetSRAMBank
-
-.asm_17f48e
-	ld a, [wcd55]
-	ld l, a
-	ld a, [wcd56]
-	ld h, a
-	ld de, $c608
-	ld a, [wcd57]
-	ld c, a
-	ld b, $0
-	call CopyBytes
-	ld a, [wcd56]
-	cp $c0
-	jr c, .asm_17f4af
-	ld a, $4
-	ld [rSVBK], a
-	jr .asm_17f4b7
-
-.asm_17f4af
-	call CloseSRAM
-	ld a, $6
-	call GetSRAMBank
-
-.asm_17f4b7
-	ld de, $c608
-	pop hl
-	push hl
-	ld a, [wcd57]
-	ld b, a
-	ld a, [wcd58]
-	ld c, a
-	call Function31a4
-	ld a, l
-	ld [wcd52], a
-	ld a, h
-	ld [wcd53], a
-	ld a, [wcd5a]
-	and a
-	jr z, .asm_17f4ec
-	ld c, a
-	ld a, [wcd58]
-	inc a
-	ld b, a
-	ld e, l
-	ld d, h
-	dec de
-.asm_17f4de
-	ld a, c
-	cp b
-	jr z, .asm_17f4e8
-	ld a, [de]
-	dec de
-	ld [hld], a
-	dec b
-	jr .asm_17f4de
-
-.asm_17f4e8
-	ld a, [wcd5b]
-	ld [hl], a
-
-.asm_17f4ec
-	pop hl
-	ld a, [wcd59]
-	call Function17f50f
-	pop de
-	and a
-	ret
-; 17f4f6
-
-Function17f4f6: ; 17f4f6
-	ld a, [wcd6a]
-	ld l, a
-	ld a, [wcd6b]
-	ld h, a
-	ld a, [wcd47]
-	ld c, a
-	ld a, [BGMapPalBuffer]
-	ld b, a
-	ld a, [wcd2e]
-.asm_17f509
-	and a
-	ret z
-	dec a
-	add hl, bc
-	jr .asm_17f509
-; 17f50f
-
-Function17f50f: ; 17f50f
-	and a
-	jr z, .asm_17f519
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld c, l
-	ld b, h
-	ret
-
-.asm_17f519
-	ld a, [wcd52]
-	ld c, a
-	ld l, a
-	ld a, [wcd53]
-	ld b, a
-	ld h, a
-	ret
-; 17f524
-
-Function17f524: ; 17f524
-	push hl
-	push bc
-	push de
-	ld a, [wcd42]
-	dec a
-	ld b, a
-	ld a, [wcd2e]
-	cp b
-	jr z, .asm_17f53a
-	ld hl, wcd68
-	cp [hl]
-.asm_17f536
-	pop de
-	pop bc
-	pop hl
-	ret
-
-.asm_17f53a
-	scf
-	jr .asm_17f536
-; 17f53d
-
-Function17f53d: ; 17f53d
-	call FadeToMenu
-	xor a
-	ld [wc303], a
-	ld a, [rSVBK]
-	push af
-	ld a, $1
-	ld [rSVBK], a
-	call Function17f555
-	pop af
-	ld [rSVBK], a
-	call Function2b4d
-	ret
-; 17f555
-
-Function17f555: ; 17f555
-.asm_17f555
-	call Functiona57
-	call Function17f5ae
-	ld a, [wc303]
-	bit 7, a
-	jr nz, .asm_17f56a
-	callba Function104000
-	jr .asm_17f555
-
-.asm_17f56a
-	call Function17f56e
-	ret
-; 17f56e
-
-Function17f56e: ; 17f56e
-	ld a, [wc300]
-	cp $22
-	jr z, .asm_17f597
-	cp $31
-	jr z, .asm_17f58a
-	cp $33
-	ret nz
-	ld a, [wc301]
-	cp $1
-	ret nz
-	ld a, [wc302]
-	cp $2
-	ret nz
-	jr .asm_17f5a1
-
-.asm_17f58a
-	ld a, [wc301]
-	cp $3
-	ret nz
-	ld a, [wc302]
-	and a
-	ret nz
-	jr .asm_17f5a1
-
-.asm_17f597
-	ld a, [wc301]
-	and a
-	ret nz
-	ld a, [wc302]
-	and a
-	ret nz
-
-.asm_17f5a1
-	ld a, $5
-	call GetSRAMBank
-	xor a
-	ld [$aa4b], a
-	call CloseSRAM
-	ret
-; 17f5ae
-
-Function17f5ae: ; 17f5ae
-	ld a, [wc303]
-	ld e, a
-	ld d, 0
-	ld hl, Table17f5bd
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp [hl]
-; 17f5bd
-
-Table17f5bd: ; 17f5bd
-	dw Function17f5c3
-	dw Function17ff23
-	dw Function17f5d2
-; 17f5c3
-
-Function17f5c3: ; 17f5c3
-	call Function17f5e4
-	callba Function2b5c
-	ld a, $1
-	ld [wc303], a
-	ret
-; 17f5d2
-
-Function17f5d2: ; 17f5d2
-	call Function17f5e4
-	callba Function104000
-	call Function32f9
-	ld a, $1
-	ld [wc303], a
-	ret
-; 17f5e4
-
-Function17f5e4: ; 17f5e4
-	ld a, $8
-	ld [MusicFade], a
-	ld de, MUSIC_NONE
-	ld a, e
-	ld [MusicFadeIDLo], a
-	ld a, d
-	ld [MusicFadeIDHi], a
-	ld a, " "
-	ld hl, TileMap
-	ld bc, $0168
-	call ByteFill
-	ld a, $6
-	ld hl, AttrMap
-	ld bc, $0168
-	call ByteFill
-	hlcoord 2, 1
-	ld b, $1
-	ld c, $e
-	call Function3eea
-	hlcoord 1, 4
-	ld b, $c
-	ld c, $10
-	call Function3eea
-	hlcoord 3, 2
-	ld de, String_17f6dc
-	call PlaceString
-	call Function17ff3c
-	jr nc, .asm_17f632
-	hlcoord 11, 2
-	call Function17f6b7
-
-.asm_17f632
-	ld a, [wc300]
-	cp $d0
-	jr nc, .asm_17f684
-	cp $10
-	jr c, .asm_17f679
-	sub $10
-	cp $24
-	jr nc, .asm_17f679
-	ld e, a
-	ld d, $0
-	ld hl, Table_17f706
-	add hl, de
-	add hl, de
-	ld a, [wc301]
-	ld e, a
-	ld a, [wc302]
-	ld d, a
-	ld a, [hli]
-	ld c, a
-	ld a, [hl]
-	ld h, a
-	ld l, c
-	ld a, [hli]
-	and a
-	jr z, .asm_17f679
-	ld c, a
-.asm_17f65d
-	ld a, [hli]
-	ld b, a
-	ld a, [hli]
-	cp $ff
-	jr nz, .asm_17f667
-	cp b
-	jr z, .asm_17f66e
-
-.asm_17f667
-	xor d
-	jr nz, .asm_17f674
-	ld a, b
-	xor e
-	jr nz, .asm_17f674
-
-.asm_17f66e
-	ld a, [hli]
-	ld e, a
-	ld a, [hl]
-	ld d, a
-	jr .asm_17f67d
-
-.asm_17f674
-	inc hl
-	inc hl
-	dec c
-	jr nz, .asm_17f65d
-
-.asm_17f679
-	ld a, $d9
-	jr .asm_17f684
-
-.asm_17f67d
-	hlcoord 2, 6
-	call PlaceString
-	ret
-
-.asm_17f684
-	sub $d0
-	ld e, a
-	ld d, 0
-	ld hl, Table_17f699
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld e, a
-	ld a, [hl]
-	ld d, a
-	hlcoord 2, 6
-	call PlaceString
-	ret
-; 17f699
-
-Table_17f699: ; 17f699
-	dw String_17fedf
-	dw String_17fdd9
-	dw String_17fdd9
-	dw String_17fe03
-	dw String_17fd84
-	dw String_17fe63
-	dw String_17fdb2
-	dw String_17fe4b
-	dw String_17fe03
-	dw String_17fe03
-	dw String_17fe03
-; 17f6af
-
-Palette_17f6af: ; 17f6af
-	RGB  5,  5, 16
-	RGB  8, 19, 28
-	RGB  0,  0,  0
-	RGB 31, 31, 31
-; 17f6b7
-
-Function17f6b7: ; 17f6b7
-	ld a, [wc300]
-	call Function17f6cd
-	inc hl
-	ld a, [wc302]
-	and $f
-	call Function17f6d8
-	ld a, [wc301]
-	call Function17f6cd
-	ret
-; 17f6cd
-
-Function17f6cd: ; 17f6cd
-	ld c, a
-	and $f0
-	swap a
-	call Function17f6d8
-	ld a, c
-	and $f
-
-Function17f6d8: ; 17f6d8
-	add $f6
-	ld [hli], a
-	ret
-; 17f6dc
-
-String_17f6dc: ; 17f6dc
-	db "つうしんエラー   ー@"
-; 17f6e8
-
-String_17f6e8: ; 17f6e8
-	db   "みていぎ", $25, "エラーです"
-	next "プログラム", $1f
-	next "かくにん してください"
-	db   "@"
-; 17f706
-
-Table_17f706:
-	dw Unknown_17f74e
-	dw Unknown_17f753
-	dw Unknown_17f758
-	dw Unknown_17f75d
-	dw Unknown_17f762
-	dw Unknown_17f767
-	dw Unknown_17f778
-	dw Unknown_17f77d
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f787
-	dw Unknown_17f78c
-	dw Unknown_17f791
-	dw Unknown_17f796
-	dw Unknown_17f79b
-	dw Unknown_17f7a0
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7ea
-	dw Unknown_17f7ff
-	dw Unknown_17f844
-
-Unknown_17f74e: db 1
-	dbbw $0, $0, String_17f891
-
-Unknown_17f753: db 1
-	dbbw $0, $0, String_17f8d1
-
-Unknown_17f758: db 1
-	dbbw $0, $0, String_17f913
-
-Unknown_17f75d: db 1
-	dbbw $0, $0, String_17f8d1
-
-Unknown_17f762: db 1
-	dbbw $0, $0, String_17fa71
-
-Unknown_17f767: db 4
-	dbbw $0, $0, String_17f946
-	dbbw $1, $0, String_17f946
-	dbbw $2, $0, String_17f946
-	dbbw $3, $0, String_17f946
-
-Unknown_17f778: db 1
-	dbbw $0, $0, String_17f98e
-
-Unknown_17f77d: db 1
-	dbbw $0, $0, String_17f98e
-
-Unknown_17f782: db 1
-	dbbw $0, $0, String_17f98e
-
-Unknown_17f787: db 1
-	dbbw $0, $0, String_17f98e
-
-Unknown_17f78c: db 1
-	dbbw $0, $0, String_17f9d0
-
-Unknown_17f791: db 1
-	dbbw $0, $0, String_17fa14
-
-Unknown_17f796: db 1
-	dbbw $0, $0, String_17fcbf
-
-Unknown_17f79b: db 1
-	dbbw $0, $0, String_17fa71
-
-Unknown_17f7a0: db 1
-	dbbw $0, $0, String_17fbfe
-
-Unknown_17f7a5: db 17
-	dbbw $0, $0, String_17f98e
-	dbbw $21, $2, String_17fcbf
-	dbbw $21, $4, String_17fcbf
-	dbbw $50, $4, String_17faf9
-	dbbw $51, $4, String_17fcbf
-	dbbw $52, $4, String_17fcbf
-	dbbw $0, $5, String_17f98e
-	dbbw $1, $5, String_17f98e
-	dbbw $2, $5, String_17f98e
-	dbbw $3, $5, String_17f98e
-	dbbw $4, $5, String_17f98e
-	dbbw $50, $5, String_17faf9
-	dbbw $51, $5, String_17faf9
-	dbbw $52, $5, String_17fcbf
-	dbbw $53, $5, String_17faf9
-	dbbw $54, $5, String_17fcbf
-	dbbw $ff, $ff, String_17fcbf
-
-Unknown_17f7ea: db 5
-	dbbw $0, $0, String_17f98e
-	dbbw $2, $0, String_17fb2a
-	dbbw $3, $0, String_17fb6e
-	dbbw $4, $0, String_17f98e
-	dbbw $ff, $ff, String_17fcbf
-
-Unknown_17f7ff: db 17
-	dbbw $0, $0, String_17f98e
-	dbbw $1, $3, String_17f98e
-	dbbw $2, $3, String_17f98e
-	dbbw $0, $4, String_17f98e
-	dbbw $1, $4, String_17f98e
-	dbbw $3, $4, String_17fbb6
-	dbbw $4, $4, String_17fbb6
-	dbbw $5, $4, String_17f98e
-	dbbw $6, $4, String_17f98e
-	dbbw $7, $4, String_17f98e
-	dbbw $8, $4, String_17fbfe
-	dbbw $0, $5, String_17fa49
-	dbbw $1, $5, String_17f98e
-	dbbw $2, $5, String_17fa49
-	dbbw $3, $5, String_17fab0
-	dbbw $4, $5, String_17fa49
-	dbbw $ff, $ff, String_17fa49
-
-Unknown_17f844: db 19
-	dbbw $1, $1, String_17fc3e
-	dbbw $2, $1, String_17fc88
-	dbbw $3, $1, String_17fcff
-	dbbw $4, $1, String_17fd84
-	dbbw $5, $1, String_17fd84
-	dbbw $6, $1, String_17fd47
-	dbbw $1, $2, String_17fb6e
-	dbbw $2, $2, String_17f98e
-	dbbw $3, $2, String_17fd84
-	dbbw $4, $2, String_17f98e
-	dbbw $5, $2, String_17fa49
-	dbbw $6, $2, String_17fd84
-	dbbw $99, $2, String_17fc88
-	dbbw $1, $3, String_17fa49
-	dbbw $1, $4, String_17fa49
-	dbbw $2, $4, String_17fa49
-	dbbw $3, $4, String_17fa49
-	dbbw $4, $4, String_17fa49
-	dbbw $ff, $ff, String_17fa49
-
-String_17f891: ; 17f891
-	db   "モバイルアダプタが ただしく"
-	next "さしこまれていません"
-	next "とりあつかいせつめいしょを"
-	next "ごらんのうえ しっかりと"
-	next "さしこんで ください"
-	db   "@"
-
-String_17f8d1: ; 17f8d1
-	db   "でんわが うまく かけられないか"
-	next "でんわかいせんが こんでいるので"
-	next "つうしん できません"
-	next "しばらく まって"
-	next "かけなおして ください"
-	db   "@"
-
-String_17f913: ; 17f913
-	db   "でんわかいせんが こんでいるため"
-	next "でんわが かけられません"
-	next "しばらく まって"
-	next "かけなおして ください"
-	db   "@"
-
-String_17f946: ; 17f946
-	db   "モバイルアダプタの エラーです"
-	next "しばらく まって"
-	next "かけなおして ください"
-	next "なおらない ときは"
-	next "モバイルサポートセンターへ"
-	next "おといあわせください"
-	db   "@"
-
-String_17f98e: ; 17f98e
-	db   "つうしんエラーです"
-	next "しばらく まって"
-	next "かけなおして ください"
-	next "なおらない ときは"
-	next "モバイルサポートセンターへ"
-	next "おといあわせください"
-	db   "@"
-
-String_17f9d0: ; 17f9d0
-	db   "ログインパスワードか"
-	next "ログイン アイディーに"
-	next "まちがいがあります"
-	next "パスワードを かくにんして"
-	next "しばらく まって"
-	next "かけなおして ください"
-	db   "@"
-
-String_17fa14: ; 17fa14
-	db   "でんわが きれました"
-	next "とりあつかいせつめいしょを"
-	next "ごらんのうえ"
-	next "しばらく まって"
-	next "かけなおして ください"
-	db   "@"
-
-String_17fa49: ; 17fa49
-	db   "モバイルセンターの"
-	next "つうしんエラーです"
-	next "しばらくまって"
-	next "かけなおして ください"
-	db   "@"
-
-String_17fa71: ; 17fa71
-	db   "モバイルアダプタに"
-	next "とうろくされた じょうほうが"
-	next "ただしく ありません"
-	next "モバイルトレーナーで"
-	next "しょきとうろくを してください"
-	db   "@"
-
-String_17fab0: ; 17fab0
-	db   "モバイルセンターが"
-	next "こんでいて つながりません"
-	next "しばらくまって"
-	next "かけなおして ください"
-	next "くわしくは とりあつかい"
-	next "せつめいしょを ごらんください"
-	db   "@"
-
-String_17faf9: ; 17faf9
-	db   "あてさき メールアドレスに"
-	next "まちがいがあります"
-	next "ただしい メールアドレスを"
-	next "いれなおしてください"
-	db   "@"
-
-String_17fb2a: ; 17fb2a
-	db   "メールアドレスに"
-	next "まちがいが あります"
-	next "とりあつかいせつめいしょを"
-	next "ごらんのうえ"
-	next "モバイルトレーナーで"
-	next "しょきとうろくを してください"
-	db   "@"
-
-String_17fb6e: ; 17fb6e
-	db   "ログインパスワードに"
-	next "まちがいが あるか"
-	next "モバイルセンターの エラーです"
-	next "パスワードを かくにんして"
-	next "しばらく まって"
-	next "かけなおして ください"
-	db   "@"
-
-String_17fbb6: ; 17fbb6
-	db   "データの よみこみが できません"
-	next "しばらくまって"
-	next "かけなおして ください"
-	next "なおらない ときは"
-	next "モバイルサポートセンターへ"
-	next "おといあわせください"
-	db   "@"
-
-String_17fbfe: ; 17fbfe
-	db   "じかんぎれです"
-	next "でんわが きれました"
-	next "でんわを かけなおしてください"
-	next "くわしくは とりあつかい"
-	next "せつめいしょを ごらんください"
-	db   "@"
-
-String_17fc3e: ; 17fc3e
-	db   "ごりよう りょうきんの "
-	next "おしはらいが おくれたばあいには"
-	next "ごりようが できなくなります"
-	next "くわしくは とりあつかい"
-	next "せつめいしょを ごらんください"
-	db   "@"
-
-String_17fc88: ; 17fc88
-	db   "おきゃくさまの ごつごうにより"
-	next "ごりようできません"
-	next "くわしくは とりあつかい"
-	next "せつめいしょを ごらんください"
-	db   "@"
-
-String_17fcbf: ; 17fcbf
-	db   "でんわかいせんが こんでいるか"
-	next "モバイルセンターの エラーで"
-	next "つうしんが できません"
-	next "しばらく まって"
-	next "かけなおして ください"
-	db   "@"
-
-String_17fcff: ; 17fcff
-	db   "ごりよう りょうきんが"
-	next "じょうげんを こえているため"
-	next "こんげつは ごりようできません"
-	next "くわしくは とりあつかい"
-	next "せつめいしょを ごらんください"
-	db   "@"
-
-String_17fd47: ; 17fd47
-	db   "げんざい モバイルセンターの"
-	next "てんけんを しているので"
-	next "つうしんが できません"
-	next "しばらく まって"
-	next "かけなおして ください"
-	db   "@"
-
-String_17fd84: ; 17fd84
-	db   "データの よみこみが できません"
-	next "くわしくは とりあつかい"
-	next "せつめいしょを ごらんください"
-	db   "@"
-
-
-String_17fdb2: ; 17fdb2
-	db   "3ぷん いじょう なにも"
-	next "にゅうりょく しなかったので"
-	next "でんわが きれました"
-	db   "@"
-
-String_17fdd9: ; 17fdd9
-	db   "つうしんが うまく"
-	next "できませんでした"
-	next "もういちど はじめから"
-	next "やりなおしてください"
-	db   "@"
-
-String_17fe03: ; 17fe03
-	db   "データの よみこみが できません"
-	next "しばらくまって"
-	next "かけなおして ください"
-	next "なおらない ときは"
-	next "モバイルサポートセンターへ"
-	next "おといあわせください"
-	db   "@"
-
-String_17fe4b: ; 17fe4b
-	db   "まちじかんが ながいので"
-	next "でんわが きれました"
-	db   "@"
-
-String_17fe63: ; 17fe63
-	db   "あいての モバイルアダプタと"
-	next "タイプが ちがいます"
-	next "くわしくは とりあつかい"
-	next "せつめいしょを ごらんください"
-	db   "@"
-
-String_17fe9a: ; 17fe9a ; unreferenced
-	db   "ポケモンニュースが"
-	next "あたらしくなっているので"
-	next "レポートを おくれません"
-	next "あたらしい ポケモンニュースの"
-	next "よみこみを さきに してください"
-	db   "@"
-
-String_17fedf: ; 17fedf
-	db   "つうしんの じょうきょうが"
-	next "よくないか かけるあいてが"
-	next "まちがっています"
-	next "もういちど かくにんをして"
-	next "でんわを かけなおして ください"
-	db   "@"
-; 17ff23
-
-Function17ff23: ; 17ff23
-	ld a, [hJoyPressed]
-	and a
-	ret z
-	ld a, $8
-	ld [MusicFade], a
-	ld a, [wMapMusic]
-	ld [MusicFadeIDLo], a
-	xor a
-	ld [MusicFadeIDHi], a
-	ld hl, wc303
-	set 7, [hl]
-	ret
-; 17ff3c
-
-Function17ff3c: ; 17ff3c
-	nop
-	ld a, [wc300]
-	cp $d0
-	ret c
-	hlcoord 10, 2
-	ld de, String_17ff68
-	call PlaceString
-	ld a, [wc300]
-	push af
-	sub $d0
-	inc a
-	ld [wc300], a
-	hlcoord 14, 2
-	ld de, wc300
-	ld bc, $8103
-	call PrintNum
-	pop af
-	ld [wc300], a
-	and a
-	ret
-; 17ff68
-
-String_17ff68: ; 17ff68
-	db "101@"
-; 17ff6c
-
-
-
 SECTION "Common Text 1", ROMX, BANK[$6C]
 
 INCLUDE "text/common.asm"
@@ -144871,18 +95564,14 @@
 
 SECTION "bank72", ROMX, BANK[$72]
 
-;                   Item names & descriptions
-
 ItemNames::
 INCLUDE "items/item_names.asm"
 
 INCLUDE "items/item_descriptions.asm"
 
-
 MoveNames::
 INCLUDE "battle/move_names.asm"
 
-
 INCLUDE "engine/landmarks.asm"
 
 
@@ -145262,9 +95951,15 @@
 INCBIN "gfx/mobile/lv.1bpp"
 
 
+
+SECTION "Tileset Data 7", ROMX, BANK[TILESETS_7]
+
 INCLUDE "tilesets/data_7.asm"
 
 
+
+SECTION "bank77_2", ROMX, BANK[$77]
+
 Function1dd6a9: ; 1dd6a9
 	ld a, b
 	ld b, c
@@ -145330,99 +96025,9 @@
 String_1dd6ff: db "PM@"
 ; 1dd702
 
-Function1dd702: ; 1dd702
-	call Function1dd709
-	call Functiona80
-	ret
-; 1dd709
 
-Function1dd709: ; 1dd709
-	call WhiteBGMap
-	call ClearTileMap
-	call ClearSprites
-	call DisableLCD
-	ld hl, LZ_1dd805
-	ld de, VTiles2
-	call Decompress
-	ld hl, Tilemap_1ddc4b
-	ld de, TileMap
-	ld bc, $0168
-	call CopyBytes
-	ld de, String_1dd760
-	hlcoord 2, 5
-	call PlaceString
-	ld de, String_1dd767
-	hlcoord 15, 5
-	call PlaceString
-	ld de, PlayerName
-	hlcoord 9, 5
-	call PlaceString
-	ld de, String_1dd768
-	hlcoord 2, 8
-	call PlaceString
-	call EnableLCD
-	call WaitBGMap
-	ld b, $8
-	call GetSGBLayout
-	call Function32f9
-	call DelayFrame
-	ret
-; 1dd760
+INCLUDE "engine/diploma.asm"
 
-String_1dd760:
-	db "PLAYER@"
-
-String_1dd767:
-	db "@"
-
-String_1dd768:
-	db   "This certifies"
-	next "that you have"
-	next "completed the"
-	next "new #DEX."
-	next "Congratulations!"
-	db   "@"
-; 1dd7ae
-
-Function1dd7ae: ; 1dd7ae
-	ld hl, TileMap
-	ld bc, $0168
-	ld a, $7f
-	call ByteFill
-	ld hl, Tilemap_1dddb3
-	ld de, TileMap
-	ld bc, $0168
-	call CopyBytes
-	ld de, String_1dd7fa
-	hlcoord 8, 0
-	call PlaceString
-	ld de, String_1dd7f0
-	hlcoord 3, 15
-	call PlaceString
-	hlcoord 12, 15
-	ld de, GameTimeHours
-	ld bc, $0204
-	call PrintNum
-	ld [hl], $67
-	inc hl
-	ld de, GameTimeMinutes
-	ld bc, $8102
-	call PrintNum
-	ret
-; 1dd7f0
-
-String_1dd7f0: db "PLAY TIME@"
-String_1dd7fa: db "GAME FREAK@"
-; 1dd805
-
-LZ_1dd805: ; 1dd805
-INCBIN "gfx/unknown/1dd805.2bpp.lz"
-
-Tilemap_1ddc4b: ; 1ddc4b
-INCBIN "gfx/unknown/1ddc4b.tilemap"
-
-Tilemap_1dddb3: ; 1dddb3
-INCBIN "gfx/unknown/1dddb3.tilemap"
 
 Function1ddf1c: ; 1ddf1c
 	ld hl, LZ_1ddf33
--- a/maps/AzaleaTown.asm
+++ b/maps/AzaleaTown.asm
@@ -36,7 +36,7 @@
 	moveperson $b, $b, $b
 	spriteface $0, $3
 	showemote $0, $0, 15
-	special $006a
+	special Functionc48f
 	pause 15
 	appear $b
 	applymovement $b, MovementData_0x198134
@@ -47,7 +47,7 @@
 UnknownScript_0x198034: ; 0x198034
 	spriteface $0, $3
 	showemote $0, $0, 15
-	special $006a
+	special Functionc48f
 	pause 15
 	appear $b
 	applymovement $b, MovementData_0x19813c
--- a/maps/BattleTower1F.asm
+++ b/maps/BattleTower1F.asm
@@ -12,10 +12,10 @@
 
 UnknownScript_0x9e39d: ; 0x9e39d
 	writebyte $9
-	special $0086
+	special Function170687
 	iffalse UnknownScript_0x9e3d1
 	writebyte $2
-	special $0086
+	special Function170687
 	if_equal $0, UnknownScript_0x9e3d1
 	if_equal $2, UnknownScript_0x9e3c4
 	if_equal $3, UnknownScript_0x9e3d1
@@ -34,9 +34,9 @@
 
 UnknownScript_0x9e3c7: ; 0x9e3c7
 	writebyte $4
-	special $0086
+	special Function170687
 	writebyte $6
-	special $0086
+	special Function170687
 UnknownScript_0x9e3d1: ; 0x9e3d1
 	dotrigger $1
 UnknownScript_0x9e3d3: ; 0x9e3d3
@@ -57,13 +57,13 @@
 
 ReceptionistScript_0x9e3e2: ; 0x9e3e2
 	writebyte $2
-	special $0086
+	special Function170687
 	if_equal $3, BattleTowerBattleRoomScript_0x9f4e4
 	loadfont
 	writetext UnknownText_0x9e5ab
 	keeptextopen
 	writebyte $0
-	special $0086
+	special Function170687
 	if_not_equal $0, UnknownScript_0x9e3fc
 	jump UnknownScript_0x9e49e
 ; 0x9e3fc
@@ -71,7 +71,7 @@
 UnknownScript_0x9e3fc: ; 0x9e3fc
 	writetext UnknownText_0x9e5ea
 	writebyte $1
-	special $0088
+	special Function17d224
 	if_equal $1, UnknownScript_0x9e40f
 	if_equal $2, UnknownScript_0x9e4a5
 	jump UnknownScript_0x9e4b0
@@ -79,28 +79,28 @@
 
 UnknownScript_0x9e40f: ; 0x9e40f
 	writebyte $1a
-	special $0086
-	special $007c
+	special Function170687
+	special Function170bd3
 	if_not_equal $0, UnknownScript_0x9e4bb
 	writetext UnknownText_0x9ef1f
 	yesorno
 	iffalse UnknownScript_0x9e3fc
 	dotrigger $0
-	special $0004
+	special Function29e66
 	iffalse UnknownScript_0x9e3fc
 	dotrigger $1
 	writebyte $1
-	special $0086
-	special $0074
+	special Function170687
+	special Function1700b0
 	if_equal $a, UnknownScript_0x9e3fc
 	if_not_equal $0, UnknownScript_0x9e550
 	writebyte $11
-	special $0086
+	special Function170687
 	writetext UnknownText_0x9e60a
 	closetext
 	loadmovesprites
 	writebyte $1e
-	special $0086
+	special Function170687
 	jump UnknownScript_0x9e454
 ; 0x9e44e
 
@@ -107,7 +107,7 @@
 UnknownScript_0x9e44e: ; 0x9e44e
 	loadmovesprites
 	writebyte $8
-	special $0086
+	special Function170687
 UnknownScript_0x9e454: ; 0x9e454
 	musicfadeout $0000, $8
 	domaptrigger GROUP_BATTLE_TOWER_BATTLE_ROOM, MAP_BATTLE_TOWER_BATTLE_ROOM, $0
@@ -116,7 +116,7 @@
 	follow $2, $0
 	applymovement $2, MovementData_0x9e571
 	writebyte $a
-	special $0086
+	special Function170687
 	warpsound
 	disappear $2
 	stopfollow
@@ -127,15 +127,15 @@
 
 UnknownScript_0x9e47a: ; 0x9e47a
 	writebyte $1c
-	special $0086
+	special Function170687
 	writebyte $1b
-	special $0086
+	special Function170687
 	if_equal $12, UnknownScript_0x9e498
 	itemtotext $0, $1
 	giveitem $ff, $5
 	writetext UnknownText_0x9eb7e
 	writebyte $1d
-	special $0086
+	special Function170687
 	loadmovesprites
 	end
 ; 0x9e498
@@ -155,7 +155,7 @@
 	writetext UnknownText_0x9e886
 UnknownScript_0x9e4a8: ; 0x9e4a8
 	writebyte $1
-	special $0086
+	special Function170687
 	jump UnknownScript_0x9e3fc
 ; 0x9e4b0
 
@@ -167,7 +167,7 @@
 ; 0x9e4b6
 
 UnknownScript_0x9e4b6: ; 0x9e4b6
-	special $008b
+	special Function17f53d
 	loadmovesprites
 	end
 ; 0x9e4bb
@@ -183,11 +183,11 @@
 	writetext UnknownText_0x9ef1f
 	yesorno
 	iffalse UnknownScript_0x9e3fc
-	special $0004
+	special Function29e66
 	iffalse UnknownScript_0x9e3fc
 	writebyte $1
-	special $0086
-	special $0075
+	special Function170687
+	special Function1700ba
 	if_equal $a, UnknownScript_0x9e3fc
 	if_not_equal $0, UnknownScript_0x9e550
 	writetext UnknownText_0x9e9eb
@@ -201,15 +201,15 @@
 
 UnknownScript_0x9e4ea: ; 0x9e4ea
 	writebyte $18
-	special $0086
+	special Function170687
 	if_not_equal $0, UnknownScript_0x9e542
 	writebyte $19
-	special $0086
+	special Function170687
 	if_not_equal $0, UnknownScript_0x9e549
-	special $007c
+	special Function170bd3
 	if_not_equal $0, UnknownScript_0x9e4bb
 	writebyte $5
-	special $0086
+	special Function170687
 	if_equal $0, UnknownScript_0x9e512
 	writetext UnknownText_0x9ecb0
 	jump UnknownScript_0x9e515
@@ -224,13 +224,13 @@
 	yesorno
 	iffalse UnknownScript_0x9e3fc
 	dotrigger $0
-	special $0004
+	special Function29e66
 	iffalse UnknownScript_0x9e3fc
 	dotrigger $1
 	writebyte $6
-	special $0086
+	special Function170687
 	writebyte $12
-	special $0086
+	special Function170687
 	writetext UnknownText_0x9e60a
 	closetext
 	jump UnknownScript_0x9e44e
@@ -255,7 +255,7 @@
 ; 0x9e550
 
 UnknownScript_0x9e550: ; 0x9e550
-	special $008b
+	special Function17f53d
 	loadmovesprites
 	end
 ; 0x9e555
--- a/maps/BattleTowerBattleRoom.asm
+++ b/maps/BattleTowerBattleRoom.asm
@@ -24,7 +24,7 @@
 	applymovement $0, MovementData_0x9e58c
 UnknownScript_0x9f425: ; 0x9f425
 	writebyte $2
-	special $007a
+	special Function170b44
 	appear $2
 	warpsound
 	waitbutton
@@ -33,8 +33,8 @@
 	storetext 1
 	keeptextopen
 	loadmovesprites
-	special $0077
-	special $002e
+	special Function170215
+	special Function8c084
 	reloadmap
 	if_not_equal $0, UnknownScript_0x9f4c2
 	copybytetovar wcf64
@@ -49,11 +49,11 @@
 	closetext
 	loadmovesprites
 	playmusic MUSIC_HEAL
-	special $002e
-	special $00a4
+	special Function8c084
+	special Function1047eb
 	pause 60
-	special $0031
-	special $003d
+	special Function8c079
+	special RestartMapMusic
 	loadfont
 	writetext UnknownText_0x9eebc
 	yesorno
@@ -70,25 +70,25 @@
 	yesorno
 	iffalse UnknownScript_0x9f4a3
 	writebyte $7
-	special $0086
+	special Function170687
 	writebyte $1f
-	special $0086
+	special Function170687
 	writebyte $3
-	special $0086
+	special Function170687
 	playsound SFX_SAVE
 	waitbutton
-	special $002e
-	special $007e
+	special Function8c084
+	special Reset
 UnknownScript_0x9f4a3: ; 0x9f4a3
 	writetext UnknownText_0x9efbf
 	yesorno
 	iffalse UnknownScript_0x9f477
 	writebyte $4
-	special $0086
+	special Function170687
 	writebyte $6
-	special $0086
+	special Function170687
 	loadmovesprites
-	special $002e
+	special Function8c084
 	warpfacing $1, GROUP_BATTLE_TOWER_1F, MAP_BATTLE_TOWER_1F, $7, $7
 	loadfont
 	jump UnknownScript_0x9e4b0
@@ -96,10 +96,10 @@
 
 UnknownScript_0x9f4c2: ; 0x9f4c2
 	pause 60
-	special $002f
+	special Function8c092
 	warpfacing $1, GROUP_BATTLE_TOWER_1F, MAP_BATTLE_TOWER_1F, $7, $7
 	writebyte $4
-	special $0086
+	special Function170687
 	loadfont
 	writetext UnknownText_0x9ea49
 	closetext
@@ -109,7 +109,7 @@
 
 UnknownScript_0x9f4d9: ; 0x9f4d9
 	pause 60
-	special $002f
+	special Function8c092
 	warpfacing $1, GROUP_BATTLE_TOWER_1F, MAP_BATTLE_TOWER_1F, $7, $7
 BattleTowerBattleRoomScript_0x9f4e4: ; 0x9f4e4
 	loadfont
@@ -119,7 +119,7 @@
 
 UnknownScript_0x9f4eb: ; 0x9f4eb
 	writebyte $4
-	special $0086
+	special Function170687
 	loadfont
 	writetext UnknownText_0x9f0c1
 	closetext
@@ -129,9 +129,9 @@
 
 UnknownScript_0x9f4f7: ; 0x9f4f7
 	writebyte $4
-	special $0086
+	special Function170687
 	writebyte $6
-	special $0086
+	special Function170687
 	loadfont
 	writetext UnknownText_0x9ea49
 	writetext UnknownText_0x9ec09
--- a/maps/BattleTowerElevator.asm
+++ b/maps/BattleTowerElevator.asm
@@ -24,7 +24,7 @@
 	applymovement $2, MovementData_0x9f58f
 	applymovement $0, MovementData_0x9f592
 	writebyte $a
-	special $0086
+	special Function170687
 	playsound SFX_ELEVATOR
 	earthquake 60
 	waitbutton
--- a/maps/BillsHouse.asm
+++ b/maps/BillsHouse.asm
@@ -35,7 +35,7 @@
 	yesorno
 	iffalse UnknownScript_0x1896aa
 	scall UnknownScript_0x1896a5
-	special $004d
+	special Function73f7
 	iffalse UnknownScript_0x1896aa
 	if_not_equal LICKITUNG, UnknownScript_0x1896c6
 	scall UnknownScript_0x1896b0
@@ -50,7 +50,7 @@
 	yesorno
 	iffalse UnknownScript_0x1896aa
 	scall UnknownScript_0x1896a5
-	special $004d
+	special Function73f7
 	iffalse UnknownScript_0x1896aa
 	if_not_equal ODDISH, UnknownScript_0x1896c6
 	scall UnknownScript_0x1896b0
@@ -65,7 +65,7 @@
 	yesorno
 	iffalse UnknownScript_0x1896aa
 	scall UnknownScript_0x1896a5
-	special $004d
+	special Function73f7
 	iffalse UnknownScript_0x1896aa
 	if_not_equal STARYU, UnknownScript_0x1896c6
 	scall UnknownScript_0x1896b0
@@ -82,7 +82,7 @@
 	yesorno
 	iffalse UnknownScript_0x1896aa
 	scall UnknownScript_0x1896a5
-	special $004d
+	special Function73f7
 	iffalse UnknownScript_0x1896aa
 	if_not_equal GROWLITHE, UnknownScript_0x1896c6
 	scall UnknownScript_0x1896b0
@@ -97,7 +97,7 @@
 	yesorno
 	iffalse UnknownScript_0x1896aa
 	scall UnknownScript_0x1896a5
-	special $004d
+	special Function73f7
 	iffalse UnknownScript_0x1896aa
 	if_not_equal VULPIX, UnknownScript_0x1896c6
 	scall UnknownScript_0x1896b0
@@ -112,7 +112,7 @@
 	yesorno
 	iffalse UnknownScript_0x1896aa
 	scall UnknownScript_0x1896a5
-	special $004d
+	special Function73f7
 	iffalse UnknownScript_0x1896aa
 	if_not_equal PICHU, UnknownScript_0x1896c6
 	scall UnknownScript_0x1896b0
--- a/maps/BluesHouse.asm
+++ b/maps/BluesHouse.asm
@@ -25,7 +25,7 @@
 	iffalse UnknownScript_0x19b124
 	writetext UnknownText_0x19b244
 	closetext
-	special $0063
+	special Function741d
 	if_equal $0, UnknownScript_0x19b124
 	if_equal $1, UnknownScript_0x19b12a
 	setflag $005c
@@ -32,14 +32,14 @@
 	writetext UnknownText_0x19b266
 	closetext
 	loadmovesprites
-	special $002e
+	special Function8c084
 	playmusic MUSIC_HEAL
 	pause 60
-	special $0031
-	special $003d
+	special Function8c079
+	special RestartMapMusic
 	loadfont
 	writetext UnknownText_0x19b296
-	special $0064
+	special Functionc472
 	keeptextopen
 	writetext UnknownText_0x19b2aa
 	closetext
--- a/maps/BurnedTower1F.asm
+++ b/maps/BurnedTower1F.asm
@@ -55,7 +55,7 @@
 
 UnknownScript_0x185c25: ; 0x185c25
 	showemote $0, $4, 15
-	special $006a
+	special Functionc48f
 	pause 15
 	spriteface $4, $3
 	pause 15
@@ -107,7 +107,7 @@
 	loadmovesprites
 	dotrigger $2
 	setevent $06c5
-	special $006a
+	special Functionc48f
 	pause 15
 	earthquake 50
 	showemote $0, $0, 15
--- a/maps/BurnedTowerB1F.asm
+++ b/maps/BurnedTowerB1F.asm
@@ -78,10 +78,10 @@
 	spriteface $0, $0
 	disappear $5
 	waitbutton
-	special $003d
+	special RestartMapMusic
 	dotrigger $1
 	setevent EVENT_RELEASED_THE_BEASTS
-	special $0069
+	special InitRoamMons
 	domaptrigger GROUP_ECRUTEAK_GYM, MAP_ECRUTEAK_GYM, $1
 	domaptrigger GROUP_CIANWOOD_CITY, MAP_CIANWOOD_CITY, $1
 	clearevent EVENT_SAW_SUICUNE_AT_CIANWOOD_CITY
--- a/maps/CeladonDeptStore6F.asm
+++ b/maps/CeladonDeptStore6F.asm
@@ -27,7 +27,7 @@
 	loadfont
 	writetext UnknownText_0x71250
 UnknownScript_0x71184: ; 0x71184
-	special $0051
+	special Function24ae8
 	loadmenudata MenuDataHeader_0x71203
 	interpretmenu2
 	writebackup
--- a/maps/CeladonGameCorner.asm
+++ b/maps/CeladonGameCorner.asm
@@ -119,7 +119,7 @@
 	if_equal $0, MapCeladonGameCornerSignpost16Script
 	refreshscreen $0
 	writebyte $0
-	special $002a
+	special Functionc373
 	loadmovesprites
 	end
 ; 0x721b0
@@ -127,7 +127,7 @@
 MapCeladonGameCornerSignpost16Script: ; 0x721b0
 	refreshscreen $0
 	writebyte $1
-	special $002a
+	special Functionc373
 	loadmovesprites
 	end
 ; 0x721b9
@@ -134,7 +134,7 @@
 
 MapCeladonGameCornerSignpost11Script: ; 0x721b9
 	refreshscreen $0
-	special $002b
+	special Functionc380
 	loadmovesprites
 	end
 ; 0x721c0
@@ -147,7 +147,7 @@
 	loadfont
 	writetext UnknownText_0x72567
 	closetext
-	special $002b
+	special Functionc380
 	loadmovesprites
 	end
 ; 0x721cd
--- a/maps/CeladonGameCornerPrizeRoom.asm
+++ b/maps/CeladonGameCornerPrizeRoom.asm
@@ -23,7 +23,7 @@
 	iffalse UnknownScript_0x7278a
 	writetext UnknownText_0x72974
 UnknownScript_0x726fd: ; 0x726fd
-	special $004f
+	special Function24b25
 	loadmenudata MenuDataHeader_0x72790
 	interpretmenu2
 	writebackup
@@ -139,7 +139,7 @@
 	iffalse UnknownScript_0x7278a
 UnknownScript_0x727d3: ; 0x727d3
 	writetext UnknownText_0x72974
-	special $004f
+	special Function24b25
 	loadmenudata MenuDataHeader_0x72877
 	interpretmenu2
 	writebackup
@@ -162,7 +162,7 @@
 	writetext UnknownText_0x729ad
 	closetext
 	writebyte PIKACHU
-	special $0039
+	special Functionc230
 	givepoke PIKACHU, 25, 0, 0
 	takecoins 2222
 	jump UnknownScript_0x727d3
@@ -181,7 +181,7 @@
 	writetext UnknownText_0x729ad
 	closetext
 	writebyte PORYGON
-	special $0039
+	special Functionc230
 	givepoke PORYGON, 15, 0, 0
 	takecoins 5555
 	jump UnknownScript_0x727d3
@@ -200,7 +200,7 @@
 	writetext UnknownText_0x729ad
 	closetext
 	writebyte LARVITAR
-	special $0039
+	special Functionc230
 	givepoke LARVITAR, 40, 0, 0
 	takecoins 8888
 	jump UnknownScript_0x727d3
--- a/maps/CeladonMansion3F.asm
+++ b/maps/CeladonMansion3F.asm
@@ -24,7 +24,7 @@
 	waitbutton
 	writetext UnknownText_0x71760
 	keeptextopen
-	special $006b
+	special Functionc49f
 	writetext UnknownText_0x71763
 	closetext
 	loadmovesprites
@@ -47,7 +47,7 @@
 	writetext UnknownText_0x717d8
 	yesorno
 	iffalse UnknownScript_0x716b0
-	special $006c
+	special Functionc4ac
 	loadmovesprites
 	end
 ; 0x716b0
--- a/maps/CeladonPokeCenter1F.asm
+++ b/maps/CeladonPokeCenter1F.asm
@@ -28,9 +28,9 @@
 	writetext UnknownText_0x71f22
 	keeptextopen
 	writebyte SUICUNE
-	special $0097
+	special SpecialMonCheck
 	iffalse UnknownScript_0x71e46
-	special $0096
+	special SpecialBeastsCheck
 	iftrue UnknownScript_0x71e48
 	writetext UnknownText_0x7201a
 	closetext
--- a/maps/CeruleanGym.asm
+++ b/maps/CeruleanGym.asm
@@ -49,7 +49,7 @@
 	domaptrigger GROUP_ROUTE_25, MAP_ROUTE_25, $1
 	domaptrigger GROUP_POWER_PLANT, MAP_POWER_PLANT, $0
 	waitbutton
-	special $003d
+	special RestartMapMusic
 	pause 15
 	spriteface $0, $0
 	pause 15
--- a/maps/CeruleanPokeCenter1F.asm
+++ b/maps/CeruleanPokeCenter1F.asm
@@ -11,7 +11,7 @@
 ; 0x188212
 
 SuperNerdScript_0x188212: ; 0x188212
-	special $00a0
+	special Function10630f
 	iftrue UnknownScript_0x18821b
 	jumptextfaceplayer UnknownText_0x188221
 ; 0x18821b
--- a/maps/CherrygroveCity.asm
+++ b/maps/CherrygroveCity.asm
@@ -82,7 +82,7 @@
 	closetext
 	loadmovesprites
 	stopfollow
-	special $003d
+	special RestartMapMusic
 	spriteface $0, $1
 	applymovement $2, MovementData_0x19c1cb
 	playsound SFX_ENTER_DOOR
@@ -113,7 +113,7 @@
 UnknownScript_0x19c0ae: ; 0x19c0ae
 	spriteface $0, $3
 	showemote $0, $0, 15
-	special $006a
+	special Functionc48f
 	pause 15
 	appear $3
 	applymovement $3, MovementData_0x19c1ce
@@ -184,7 +184,7 @@
 	applymovement $3, MovementData_0x19c1da
 	disappear $3
 	dotrigger $0
-	special $001b
+	special Functionc658
 	playmapmusic
 	end
 ; 0x19c146
--- a/maps/CianwoodCity.asm
+++ b/maps/CianwoodCity.asm
@@ -71,7 +71,7 @@
 	applymovement $c, MovementData_0x1a00ec
 	disappear $c
 	pause 20
-	special $006a
+	special Functionc48f
 	playmapmusic
 	pause 10
 UnknownScript_0x1a0083: ; 0x1a0083
--- a/maps/CianwoodCityPhotoStudio.asm
+++ b/maps/CianwoodCityPhotoStudio.asm
@@ -14,7 +14,7 @@
 	iffalse UnknownScript_0x9e0f3
 	writetext UnknownText_0x9e142
 	closetext
-	special $0068
+	special Function16dc7
 	closetext
 	loadmovesprites
 	end
--- a/maps/Colosseum.asm
+++ b/maps/Colosseum.asm
@@ -31,7 +31,7 @@
 ; 0x193477
 
 UnknownScript_0x193477: ; 0x193477
-	special $0010
+	special Function29f47
 	iffalse UnknownScript_0x193482
 	disappear $3
 	appear $2
@@ -56,7 +56,7 @@
 ; 0x193493
 
 MapColosseumSignpost1Script: ; 0x193493
-	special $000e
+	special Function29ed9
 	newloadmap $f8
 	end
 ; 0x193499
--- a/maps/CopycatsHouse2F.asm
+++ b/maps/CopycatsHouse2F.asm
@@ -46,7 +46,7 @@
 	faceplayer
 	variablesprite $b, $60
 UnknownScript_0x18aedc: ; 0x18aedc
-	special $005e
+	special Function14209
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x18af16
 	loadfont
@@ -72,7 +72,7 @@
 UnknownScript_0x18af08: ; 0x18af08
 	faceplayer
 	variablesprite $b, $28
-	special $005e
+	special Function14209
 	loadfont
 	writetext UnknownText_0x18b028
 	closetext
@@ -104,7 +104,7 @@
 UnknownScript_0x18af39: ; 0x18af39
 	faceplayer
 	variablesprite $b, $28
-	special $005e
+	special Function14209
 	loadfont
 	writetext UnknownText_0x18b116
 	closetext
@@ -151,7 +151,7 @@
 	faceplayer
 	variablesprite $b, $60
 UnknownScript_0x18af88: ; 0x18af88
-	special $005e
+	special Function14209
 	loadfont
 	checkflag $0063
 	iftrue UnknownScript_0x18af98
@@ -175,7 +175,7 @@
 UnknownScript_0x18afae: ; 0x18afae
 	faceplayer
 	variablesprite $b, $28
-	special $005e
+	special Function14209
 	loadfont
 	writetext UnknownText_0x18b2f5
 	closetext
--- a/maps/DayCare.asm
+++ b/maps/DayCare.asm
@@ -34,7 +34,7 @@
 	loadmovesprites
 	checkcode $1
 	if_equal $6, UnknownScript_0x62fb6
-	special $007d
+	special Function117656
 	loadfont
 	writetext UnknownText_0x631ae
 	playsound SFX_KEY_ITEM
@@ -55,7 +55,7 @@
 ; 0x62fbd
 
 UnknownScript_0x62fbd: ; 0x62fbd
-	special $001e
+	special Function166d6
 	closetext
 	loadmovesprites
 	end
@@ -66,7 +66,7 @@
 	loadfont
 	checkflag $0005
 	iftrue UnknownScript_0x62fd1
-	special $001f
+	special Function1672a
 	closetext
 	loadmovesprites
 	end
--- a/maps/DragonShrine.asm
+++ b/maps/DragonShrine.asm
@@ -134,7 +134,7 @@
 	writetext UnknownText_0x18d916
 	closetext
 	loadmovesprites
-	special $006a
+	special Functionc48f
 	applymovement $5, MovementData_0x18d2da
 	loadfont
 	writetext UnknownText_0x18d974
@@ -163,7 +163,7 @@
 	setflag $0022
 	playsound SFX_GET_BADGE
 	waitbutton
-	special $003d
+	special RestartMapMusic
 	specialphonecall $8
 	dotrigger $1
 	domaptrigger GROUP_DRAGONS_DEN_B1F, MAP_DRAGONS_DEN_B1F, $1
@@ -219,7 +219,7 @@
 	waitbutton
 	givepoke DRATINI, 15, 0, 0
 	checkevent $00c1
-	special $0094
+	special SpecialDratini
 	setevent $00bd
 	setevent $0006
 	writetext UnknownText_0x18d6ca
--- a/maps/DragonsDenB1F.asm
+++ b/maps/DragonsDenB1F.asm
@@ -77,9 +77,9 @@
 	loadmovesprites
 UnknownScript_0x18c8f9: ; 0x18c8f9
 	applymovement $3, MovementData_0x18c9b3
-	special $006a
+	special Functionc48f
 	pause 30
-	special $003d
+	special RestartMapMusic
 	disappear $3
 	dotrigger $0
 	end
@@ -236,7 +236,7 @@
 	closetext
 	loadmovesprites
 	setevent $0000
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x18c995
 
@@ -244,7 +244,7 @@
 	writetext UnknownText_0x18cd2d
 	closetext
 	loadmovesprites
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x18c99e
 
--- a/maps/EcruteakGym.asm
+++ b/maps/EcruteakGym.asm
@@ -92,7 +92,7 @@
 	follow $0, $8
 	applymovement $0, MovementData_0x99e5f
 	stopfollow
-	special $002e
+	special Function8c084
 	playsound SFX_ENTER_DOOR
 	waitbutton
 	warp GROUP_ECRUTEAK_CITY, MAP_ECRUTEAK_CITY, $6, $1b
--- a/maps/EcruteakPokeCenter1F.asm
+++ b/maps/EcruteakPokeCenter1F.asm
@@ -62,7 +62,7 @@
 ; 0x98eb3
 
 PokefanMScript_0x98eb3: ; 0x98eb3
-	special $00a0
+	special Function10630f
 	iftrue UnknownScript_0x98ebc
 	jumptextfaceplayer UnknownText_0x99155
 ; 0x98ebc
--- a/maps/ElmsLab.asm
+++ b/maps/ElmsLab.asm
@@ -115,10 +115,10 @@
 	checkevent EVENT_TOLD_ELM_ABOUT_TOGEPI_OVER_THE_PHONE
 	iffalse UnknownScript_0x78c35
 	writebyte TOGEPI
-	special $0043
+	special Functionc284
 	iftrue ShowElmTogepiScript
 	writebyte TOGETIC
-	special $0043
+	special Functionc284
 	iftrue ShowElmTogepiScript
 	writetext UnknownText_0x79a40
 	closetext
@@ -128,10 +128,10 @@
 
 UnknownScript_0x78c22: ; 0x78c22
 	writebyte TOGEPI
-	special $0043
+	special Functionc284
 	iftrue ShowElmTogepiScript
 	writebyte TOGETIC
-	special $0043
+	special Functionc284
 	iftrue ShowElmTogepiScript
 	jump UnknownScript_0x78c41
 ; 0x78c35
@@ -328,13 +328,13 @@
 ; 0x78d8a
 
 UnknownScript_0x78d8a: ; 0x78d8a
-	special $009d
-	special $001b
+	special Function1060a2
+	special Functionc658
 	playmusic MUSIC_NONE
 	writebyte $1
-	special $003e
+	special Function12324
 	pause 30
-	special $003d
+	special RestartMapMusic
 	loadmovesprites
 	end
 ; 0x78d9f
@@ -604,7 +604,7 @@
 	loadfont
 	writetext UnknownText_0x7a0f0
 	keeptextopen
-	special $0024
+	special SpecialNameRival
 	writetext UnknownText_0x7a1c0
 	closetext
 	loadmovesprites
--- a/maps/FastShip1F.asm
+++ b/maps/FastShip1F.asm
@@ -72,7 +72,7 @@
 	loadmovesprites
 	scall UnknownScript_0x751b8
 	playsound SFX_EXIT_BUILDING
-	special $002e
+	special Function8c084
 	waitbutton
 	setevent $072b
 	domaptrigger GROUP_VERMILION_PORT, MAP_VERMILION_PORT, $1
@@ -86,7 +86,7 @@
 	loadmovesprites
 	scall UnknownScript_0x751b8
 	playsound SFX_EXIT_BUILDING
-	special $002e
+	special Function8c084
 	waitbutton
 	setevent $072a
 	domaptrigger GROUP_OLIVINE_PORT, MAP_OLIVINE_PORT, $1
--- a/maps/FastShipCabins.asm
+++ b/maps/FastShipCabins.asm
@@ -39,8 +39,8 @@
 	writetext UnknownText_0x7621f
 	closetext
 	loadmovesprites
-	special $0030
-	special $0033
+	special Function8c0b6
+	special Functiond91
 	disappear $5
 	applymovement $0, MovementData_0x76004
 	moveperson $4, $3, $13
@@ -47,7 +47,7 @@
 	appear $4
 	spriteface $0, $1
 	spriteface $4, $1
-	special $0032
+	special Function8c0ab
 	spriteface $3, $0
 	showemote $0, $3, 15
 	applymovement $4, MovementData_0x7600c
--- a/maps/FastShipCabins_NNW_NNE_NE.asm
+++ b/maps/FastShipCabins_NNW_NNE_NE.asm
@@ -191,7 +191,7 @@
 	loadtrainer SAILOR, STANLY
 	startbattle
 	reloadmap
-	special $001b
+	special Functionc658
 	setevent $057d
 	loadfont
 	writetext UnknownText_0x758b1
--- a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
+++ b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
@@ -39,8 +39,8 @@
 	writetext UnknownText_0x7621f
 	closetext
 	loadmovesprites
-	special $0030
-	special $0033
+	special Function8c0b6
+	special Functiond91
 	disappear $5
 	applymovement $0, MovementData_0x76004
 	moveperson $4, $3, $13
@@ -47,7 +47,7 @@
 	appear $4
 	spriteface $0, $1
 	spriteface $4, $1
-	special $0032
+	special Function8c0ab
 	spriteface $3, $0
 	showemote $0, $3, 15
 	applymovement $4, MovementData_0x7600c
--- a/maps/FastShipCabins_SW_SSW_NW.asm
+++ b/maps/FastShipCabins_SW_SSW_NW.asm
@@ -115,7 +115,7 @@
 
 GuitaristClydeScript: ; 0x75a97
 	talkaftercancel
-	special $00a0
+	special Function10630f
 	iftrue UnknownScript_0x75aa5
 	loadfont
 	writetext UnknownText_0x75d65
@@ -137,14 +137,14 @@
 	writetext UnknownText_0x75da4
 	closetext
 	loadmovesprites
-	special $0030
-	special $0033
-	special $009d
-	special $001b
+	special Function8c0b6
+	special Functiond91
+	special Function1060a2
+	special Functionc658
 	playmusic MUSIC_HEAL
 	pause 60
-	special $003d
-	special $0032
+	special RestartMapMusic
+	special Function8c0ab
 	loadfont
 	writetext UnknownText_0x75dc1
 	closetext
--- a/maps/FuchsiaGym.asm
+++ b/maps/FuchsiaGym.asm
@@ -28,7 +28,7 @@
 	variablesprite $8, $28
 	variablesprite $9, $28
 	variablesprite $a, $27
-	special $005e
+	special Function14209
 	loadfont
 	writetext UnknownText_0x195feb
 	playsound SFX_GET_BADGE
@@ -61,7 +61,7 @@
 	applymovement $3, MovementData_0x195f27
 	faceplayer
 	variablesprite $7, $28
-	special $005e
+	special Function14209
 UnknownScript_0x195e2c: ; 0x195e2c
 	faceplayer
 	loadfont
@@ -98,7 +98,7 @@
 	applymovement $4, MovementData_0x195f27
 	faceplayer
 	variablesprite $8, $28
-	special $005e
+	special Function14209
 UnknownScript_0x195e66: ; 0x195e66
 	faceplayer
 	loadfont
@@ -135,7 +135,7 @@
 	applymovement $5, MovementData_0x195f27
 	faceplayer
 	variablesprite $9, $28
-	special $005e
+	special Function14209
 UnknownScript_0x195ea0: ; 0x195ea0
 	faceplayer
 	loadfont
@@ -172,7 +172,7 @@
 	applymovement $6, MovementData_0x195f27
 	faceplayer
 	variablesprite $a, $27
-	special $005e
+	special Function14209
 UnknownScript_0x195eda: ; 0x195eda
 	faceplayer
 	loadfont
--- a/maps/FuchsiaPokeCenter1F.asm
+++ b/maps/FuchsiaPokeCenter1F.asm
@@ -34,7 +34,7 @@
 	applymovement $5, MovementData_0x196486
 	faceplayer
 	variablesprite $c, $a
-	special $005e
+	special Function14209
 	loadfont
 	writetext UnknownText_0x19654e
 	closetext
@@ -42,7 +42,7 @@
 	applymovement $5, MovementData_0x196486
 	faceplayer
 	variablesprite $c, $28
-	special $005e
+	special Function14209
 	end
 ; 0x196486
 
--- a/maps/GoldenrodCity.asm
+++ b/maps/GoldenrodCity.asm
@@ -49,7 +49,7 @@
 	writetext UnknownText_0x199042
 	yesorno
 	iffalse UnknownScript_0x19899a
-	special $004f
+	special Function24b25
 	writetext UnknownText_0x199090
 	yesorno
 	iffalse UnknownScript_0x1989a0
@@ -68,7 +68,7 @@
 UnknownScript_0x19893a: ; 0x19893a
 	writebyte $1
 	writetext UnknownText_0x1991cf
-	special $0083
+	special Function4925b
 	if_equal $0, UnknownScript_0x1989a6
 	jump UnknownScript_0x1989d7
 ; 0x198949
@@ -76,7 +76,7 @@
 UnknownScript_0x198949: ; 0x198949
 	writebyte $2
 	writetext UnknownText_0x1991cf
-	special $0083
+	special Function4925b
 	if_equal $0, UnknownScript_0x1989a6
 	jump UnknownScript_0x1989d7
 ; 0x198958
@@ -84,7 +84,7 @@
 UnknownScript_0x198958: ; 0x198958
 	writebyte $3
 	writetext UnknownText_0x1991cf
-	special $0083
+	special Function4925b
 	if_equal $0, UnknownScript_0x1989a6
 	jump UnknownScript_0x1989d7
 ; 0x198967
@@ -128,7 +128,7 @@
 	takecoins 4000
 	waitbutton
 	playsound SFX_TRANSACTION
-	special $004f
+	special Function24b25
 	writetext UnknownText_0x19918b
 	closetext
 	loadmovesprites
--- a/maps/GoldenrodDeptStore5F.asm
+++ b/maps/GoldenrodDeptStore5F.asm
@@ -69,7 +69,7 @@
 	if_not_equal SUNDAY, UnknownScript_0x56112
 	checkflag $005b
 	iftrue UnknownScript_0x56112
-	special $0059
+	special Function718d
 	writetext UnknownText_0x56143
 	keeptextopen
 	if_greater_than $95, UnknownScript_0x560ee
@@ -115,12 +115,12 @@
 TwinScript_0x56118: ; 0x56118
 	faceplayer
 	loadfont
-	special $0066
+	special SpecialGameboyCheck
 	if_not_equal $2, UnknownScript_0x5612a
 	writetext UnknownText_0x56241
 	closetext
 	loadmovesprites
-	special $0013
+	special Function1050b9
 	end
 ; 0x5612a
 
--- a/maps/GoldenrodDeptStore6F.asm
+++ b/maps/GoldenrodDeptStore6F.asm
@@ -10,7 +10,7 @@
 	loadfont
 	writetext UnknownText_0x564cb
 UnknownScript_0x563f9: ; 0x563f9
-	special $0051
+	special Function24ae8
 	loadmenudata MenuDataHeader_0x56478
 	interpretmenu2
 	writebackup
--- a/maps/GoldenrodGameCorner.asm
+++ b/maps/GoldenrodGameCorner.asm
@@ -54,7 +54,7 @@
 	iffalse UnknownScript_0x56cc3
 	writetext UnknownText_0x56e8b
 UnknownScript_0x56c36: ; 056c36
-	special $004f
+	special Function24b25
 	loadmenudata MenuDataHeader_0x56cc9
 	interpretmenu2
 	writebackup
@@ -170,7 +170,7 @@
 	iffalse UnknownScript_0x56cc3
 UnknownScript_0x56d0c: ; 0x56d0c
 	writetext UnknownText_0x56e8b
-	special $004f
+	special Function24b25
 	loadmenudata MenuDataHeader_0x56db0
 	interpretmenu2
 	writebackup
@@ -193,7 +193,7 @@
 	writetext UnknownText_0x56ebd
 	closetext
 	writebyte ABRA
-	special $0039
+	special Functionc230
 	givepoke ABRA, 5, 0, 0
 	takecoins 100
 	jump UnknownScript_0x56d0c
@@ -212,7 +212,7 @@
 	writetext UnknownText_0x56ebd
 	closetext
 	writebyte CUBONE
-	special $0039
+	special Functionc230
 	givepoke CUBONE, 15, 0, 0
 	takecoins 800
 	jump UnknownScript_0x56d0c
@@ -231,7 +231,7 @@
 	writetext UnknownText_0x56ebd
 	closetext
 	writebyte WOBBUFFET
-	special $0039
+	special Functionc230
 	givepoke WOBBUFFET, 15, 0, 0
 	takecoins 1500
 	jump UnknownScript_0x56d0c
@@ -323,7 +323,7 @@
 	if_equal $0, MapGoldenrodGameCornerSignpost7Script
 	refreshscreen $0
 	writebyte $0
-	special $002a
+	special Functionc373
 	loadmovesprites
 	end
 ; 0x56e40
@@ -331,7 +331,7 @@
 MapGoldenrodGameCornerSignpost7Script: ; 0x56e40
 	refreshscreen $0
 	writebyte $1
-	special $002a
+	special Functionc373
 	loadmovesprites
 	end
 ; 0x56e49
@@ -338,7 +338,7 @@
 
 MapGoldenrodGameCornerSignpost29Script: ; 0x56e49
 	refreshscreen $0
-	special $002b
+	special Functionc380
 	loadmovesprites
 	end
 ; 0x56e50
--- a/maps/GoldenrodHappinessRater.asm
+++ b/maps/GoldenrodHappinessRater.asm
@@ -9,7 +9,7 @@
 TeacherScript_0x54953: ; 0x54953
 	faceplayer
 	loadfont
-	special $0059
+	special Function718d
 	writetext UnknownText_0x549a3
 	keeptextopen
 	if_greater_than $f9, UnknownScript_0x54973
--- a/maps/GoldenrodMagnetTrainStation.asm
+++ b/maps/GoldenrodMagnetTrainStation.asm
@@ -36,7 +36,7 @@
 	applymovement $2, MovementData_0x55146
 	applymovement $0, MovementData_0x5514f
 	writebyte $0
-	special $0023
+	special Function8cc04
 	warpcheck
 	newloadmap $f9
 	applymovement $0, MovementData_0x55122
--- a/maps/GoldenrodNameRatersHouse.asm
+++ b/maps/GoldenrodNameRatersHouse.asm
@@ -9,7 +9,7 @@
 GentlemanScript_0x5577c: ; 0x5577c
 	faceplayer
 	loadfont
-	special $0057
+	special SpecialNameRater
 	closetext
 	loadmovesprites
 	end
--- a/maps/GoldenrodPokeCenter1F.asm
+++ b/maps/GoldenrodPokeCenter1F.asm
@@ -12,7 +12,7 @@
 
 UnknownScript_0x60f94: ; 0x60f94
 	writebyte $b
-	special $0086
+	special Function170687
 	if_equal $b, UnknownScript_0x60f9e
 	end
 ; 0x60f9e
@@ -37,7 +37,7 @@
 	closetext
 	loadmovesprites
 	applymovement $3, MovementData_0x61060
-	special $003d
+	special RestartMapMusic
 	disappear $3
 	playsound SFX_EXIT_BUILDING
 UnknownScript_0x60fd8: ; 0x60fd8
@@ -46,7 +46,7 @@
 
 UnknownScript_0x60fd9: ; 0x60fd9
 	writebyte $b
-	special $0086
+	special Function170687
 	if_equal $b, UnknownScript_0x60fe3
 	end
 ; 0x60fe3
@@ -71,7 +71,7 @@
 	closetext
 	loadmovesprites
 	applymovement $3, MovementData_0x6106c
-	special $003d
+	special RestartMapMusic
 	disappear $3
 	playsound SFX_EXIT_BUILDING
 UnknownScript_0x6101d: ; 0x6101d
--- a/maps/HallOfFame.asm
+++ b/maps/HallOfFame.asm
@@ -33,7 +33,7 @@
 	dotrigger $1
 	pause 15
 	writebyte $2
-	special $003e
+	special Function12324
 	setevent $0044
 	setevent $077c
 	setevent $06c4
@@ -41,7 +41,7 @@
 	setevent $0737
 	clearevent $0738
 	domaptrigger GROUP_SPROUT_TOWER_3F, MAP_SPROUT_TOWER_3F, $1
-	special $001b
+	special Functionc658
 	checkevent EVENT_GOT_SS_TICKET_FROM_ELM
 	iftrue UnknownScript_0x181497
 	specialphonecall $5
--- a/maps/IlexForest.asm
+++ b/maps/IlexForest.asm
@@ -523,18 +523,18 @@
 	loadmovesprites
 	pause 20
 	showemote $0, $0, 20
-	special $006a
+	special Functionc48f
 	applymovement $0, MovementData_0x6ef58
 	pause 30
 	spriteface $0, $0
 	pause 20
 	clearflag $0064
-	special $008f
+	special Function4989a
 	loadpokedata CELEBI, 30
 	startbattle
 	returnafterbattle
 	pause 20
-	special $0090
+	special Function49bf9
 	iffalse UnknownScript_0x6ee8e
 	appear $7
 	applymovement $7, MovementData_0x6ef4e
--- a/maps/IndigoPlateauPokeCenter1F.asm
+++ b/maps/IndigoPlateauPokeCenter1F.asm
@@ -58,7 +58,7 @@
 	appear $5
 	spriteface $0, $0
 	showemote $0, $0, 15
-	special $006a
+	special Functionc48f
 	pause 15
 	applymovement $5, MovementData_0x180164
 	playmusic MUSIC_RIVAL_ENCOUNTER
@@ -80,7 +80,7 @@
 	appear $5
 	spriteface $0, $0
 	showemote $0, $0, 15
-	special $006a
+	special Functionc48f
 	pause 15
 	applymovement $5, MovementData_0x18016b
 	playmusic MUSIC_RIVAL_ENCOUNTER
@@ -165,7 +165,7 @@
 	closetext
 	loadmovesprites
 	playsound SFX_WARP_TO
-	special $002e
+	special Function8c084
 	waitbutton
 	warp GROUP_NEW_BARK_TOWN, MAP_NEW_BARK_TOWN, $d, $6
 	end
--- a/maps/KrissHouse1F.asm
+++ b/maps/KrissHouse1F.asm
@@ -48,12 +48,12 @@
 	clearevent $06c8
 	writetext UnknownText_0x7a6bd
 	keeptextopen
-	special $0025
+	special Function90913
 UnknownScript_0x7a519: ; 0x7a519
 	writetext UnknownText_0x7a742
 	yesorno
 	iffalse UnknownScript_0x7a52a
-	special $00a6
+	special Function90a54
 	yesorno
 	iffalse UnknownScript_0x7a519
 	jump UnknownScript_0x7a531
@@ -60,7 +60,7 @@
 ; 0x7a52a
 
 UnknownScript_0x7a52a: ; 0x7a52a
-	special $00a7
+	special Function90a88
 	yesorno
 	iffalse UnknownScript_0x7a519
 UnknownScript_0x7a531: ; 0x7a531
@@ -104,7 +104,7 @@
 ; 0x7a56b
 
 UnknownScript_0x7a56b: ; 0x7a56b
-	special $003d
+	special RestartMapMusic
 	spriteface $2, $2
 	end
 ; 0x7a572
@@ -161,7 +161,7 @@
 	setevent $0076
 UnknownScript_0x7a5b8: ; 0x7a5b8
 	setevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST
-	special $0022
+	special Function16218
 	closetext
 	loadmovesprites
 	end
--- a/maps/KrissHouse2F.asm
+++ b/maps/KrissHouse2F.asm
@@ -17,7 +17,7 @@
 ; 0x7abb4
 
 UnknownScript_0x7abb4: ; 0x7abb4
-	special $004a
+	special Function27043
 	setevent $0007
 	checkevent $0036
 	iftrue UnknownScript_0x7abc4
@@ -30,7 +30,7 @@
 ; 0x7abc5
 
 UnknownScript_0x7abc5: ; 0x7abc5
-	special $0049
+	special Function26feb
 	return
 ; 0x7abc9
 
@@ -103,7 +103,7 @@
 
 MapKrissHouse2FSignpost0Script: ; 0x7ac15
 	loadfont
-	special $001d
+	special Functionc2e7
 	iftrue UnknownScript_0x7ac1e
 	loadmovesprites
 	end
--- a/maps/KurtsHouse.asm
+++ b/maps/KurtsHouse.asm
@@ -43,7 +43,7 @@
 	writetext UnknownText_0x18e473
 	closetext
 	loadmovesprites
-	special $006a
+	special Functionc48f
 	setevent $06fa
 	checkcode $9
 	if_equal $1, UnknownScript_0x18e1ab
@@ -53,7 +53,7 @@
 	playsound SFX_EXIT_BUILDING
 	disappear $2
 	waitbutton
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x18e1ab
 
@@ -64,7 +64,7 @@
 	playsound SFX_EXIT_BUILDING
 	disappear $2
 	waitbutton
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x18e1bf
 
@@ -134,7 +134,7 @@
 	writetext UnknownText_0x18e736
 	keeptextopen
 	setevent $0002
-	special $0056
+	special Function88018
 	if_equal $0, UnknownScript_0x18e2a5
 	if_equal $59, UnknownScript_0x18e275
 	if_equal $5c, UnknownScript_0x18e27b
@@ -319,7 +319,7 @@
 	setevent $00c0
 	clearevent EVENT_CAN_GIVE_GS_BALL_TO_KURT
 	clearevent $00bf
-	special $006a
+	special Functionc48f
 	pause 20
 	showemote $0, $2, 30
 	checkcode $9
@@ -339,7 +339,7 @@
 	disappear $2
 	clearevent $07a4
 	waitbutton
-	special $003d
+	special RestartMapMusic
 	domaptrigger GROUP_AZALEA_TOWN, MAP_AZALEA_TOWN, $2
 	end
 ; 0x18e3bd
--- a/maps/LakeofRage.asm
+++ b/maps/LakeofRage.asm
@@ -146,7 +146,7 @@
 
 UnknownScript_0x700b8: ; 0x700b8
 	keeptextopen
-	special $001a
+	special Functionfbcd2
 	loadmovesprites
 	end
 ; 0x700be
--- a/maps/LakeofRageMagikarpHouse.asm
+++ b/maps/LakeofRageMagikarpHouse.asm
@@ -41,11 +41,11 @@
 
 UnknownScript_0x19a6e0: ; 0x19a6e0
 	writebyte MAGIKARP
-	special $0042
+	special Functionc276
 	iffalse UnknownScript_0x19a6d7
 	writetext UnknownText_0x19a93e
 	closetext
-	special $0019
+	special Functionfbb32
 	if_equal $0, UnknownScript_0x19a71c
 	if_equal $1, UnknownScript_0x19a722
 	if_equal $2, UnknownScript_0x19a716
--- a/maps/LancesRoom.asm
+++ b/maps/LancesRoom.asm
@@ -49,13 +49,13 @@
 ; 0x180e6a
 
 UnknownScript_0x180e6a: ; 0x180e6a
-	special $006a
+	special Functionc48f
 	applymovement $0, MovementData_0x180f38
 	jump LanceScript_0x180e7b
 ; 0x180e74
 
 UnknownScript_0x180e74: ; 0x180e74
-	special $006a
+	special Functionc48f
 	applymovement $0, MovementData_0x180f3c
 LanceScript_0x180e7b: ; 0x180e7b
 	spriteface $2, $2
@@ -131,7 +131,7 @@
 	pause 30
 	loadmovesprites
 	applymovement $3, MovementData_0x180f5b
-	special $002e
+	special Function8c084
 	pause 15
 	warpfacing $1, GROUP_HALL_OF_FAME, MAP_HALL_OF_FAME, $4, $d
 	end
--- a/maps/LavenderNameRater.asm
+++ b/maps/LavenderNameRater.asm
@@ -16,7 +16,7 @@
 GentlemanScript_0x7eaf2: ; 0x7eaf2
 	faceplayer
 	loadfont
-	special $0057
+	special SpecialNameRater
 	closetext
 	loadmovesprites
 	end
--- a/maps/MahoganyTown.asm
+++ b/maps/MahoganyTown.asm
@@ -59,7 +59,7 @@
 UnknownScript_0x190040: ; 0x190040
 	loadfont
 	writetext UnknownText_0x1900b0
-	special $0051
+	special Function24ae8
 	yesorno
 	iffalse UnknownScript_0x190072
 	checkmoney $0, 300
@@ -69,7 +69,7 @@
 	waitbutton
 	playsound SFX_TRANSACTION
 	takemoney $0, 300
-	special $0051
+	special Function24ae8
 	writetext UnknownText_0x19014a
 	closetext
 	loadmovesprites
--- a/maps/ManiasHouse.asm
+++ b/maps/ManiasHouse.asm
@@ -16,7 +16,7 @@
 	writetext UnknownText_0x9d303
 	yesorno
 	iffalse UnknownScript_0x9d2b6
-	special SPECIAL_GIVESHUCKLE
+	special SpecialGiveShuckle
 	iffalse UnknownScript_0x9d2b0
 	writetext UnknownText_0x9d3ed
 	keeptextopen
@@ -56,7 +56,7 @@
 	writetext UnknownText_0x9d470
 	yesorno
 	iffalse UnknownScript_0x9d2ee
-	special $004c
+	special SpecialReturnShuckle
 	if_equal $0, UnknownScript_0x9d2df
 	if_equal $1, UnknownScript_0x9d2ee
 	if_equal $3, UnknownScript_0x9d2e5
--- a/maps/MobileBattleRoom.asm
+++ b/maps/MobileBattleRoom.asm
@@ -27,9 +27,9 @@
 
 MapMobileBattleRoomSignpost0Script: ; 0x1935da
 	refreshscreen $0
-	special $009f
+	special Function1037c2
 	if_equal $1, UnknownScript_0x193619
-	special $009b
+	special Function1037eb
 	iffalse UnknownScript_0x193624
 	if_equal $1, UnknownScript_0x1935f4
 	if_equal $2, UnknownScript_0x19360d
@@ -40,24 +40,24 @@
 	writetext UnknownText_0x193644
 	pause 20
 	loadmovesprites
-	special $002e
+	special Function8c084
 	playmusic MUSIC_HEAL
-	special $00a4
+	special Function1047eb
 	pause 60
-	special $0031
-	special $003d
+	special Function8c079
+	special RestartMapMusic
 	refreshscreen $0
 UnknownScript_0x19360d: ; 0x19360d
-	special $009d
-	special $001b
-	special $009c
+	special Function1060a2
+	special Functionc658
+	special Function10383c
 	iftrue UnknownScript_0x193624
 UnknownScript_0x193619: ; 0x193619
-	special $00a2
+	special Function10387b
 	writetext UnknownText_0x193626
 	closetext
 	reloadmappart
-	special $0081
+	special Function101225
 UnknownScript_0x193624: ; 0x193624
 	loadmovesprites
 	end
--- a/maps/MobileTradeRoomMobile.asm
+++ b/maps/MobileTradeRoomMobile.asm
@@ -27,11 +27,11 @@
 
 MapMobileTradeRoomMobileSignpost0Script: ; 0x193582
 	refreshscreen $0
-	special $009f
+	special Function1037c2
 	writetext UnknownText_0x193591
 	closetext
 	reloadmappart
-	special $0082
+	special Function101231
 	loadmovesprites
 	end
 ; 0x193591
--- a/maps/MountMoon.asm
+++ b/maps/MountMoon.asm
@@ -22,7 +22,7 @@
 UnknownScript_0x7408e: ; 0x7408e
 	spriteface $0, $3
 	showemote $0, $0, 15
-	special $006a
+	special Functionc48f
 	pause 15
 	applymovement $2, MovementData_0x740f9
 	playmusic MUSIC_RIVAL_ENCOUNTER
--- a/maps/MoveDeletersHouse.asm
+++ b/maps/MoveDeletersHouse.asm
@@ -9,7 +9,7 @@
 SuperNerdScript_0x195cb4: ; 0x195cb4
 	faceplayer
 	loadfont
-	special $0021
+	special Function2c547
 	closetext
 	loadmovesprites
 	end
--- a/maps/MrPokemonsHouse.asm
+++ b/maps/MrPokemonsHouse.asm
@@ -109,7 +109,7 @@
 	playsound SFX_EXIT_BUILDING
 	disappear $3
 	waitbutton
-	special $003d
+	special RestartMapMusic
 	pause 15
 	spriteface $0, $1
 	loadfont
@@ -116,14 +116,14 @@
 	writetext UnknownText_0x1970ed
 	closetext
 	loadmovesprites
-	special $0030
-	special $0033
+	special Function8c0b6
+	special Functiond91
 	playmusic MUSIC_HEAL
-	special $009d
-	special $001b
+	special Function1060a2
+	special Functionc658
 	pause 60
-	special $0032
-	special $003d
+	special Function8c0ab
+	special RestartMapMusic
 	loadfont
 	writetext UnknownText_0x197134
 	closetext
--- a/maps/NewBarkTown.asm
+++ b/maps/NewBarkTown.asm
@@ -48,7 +48,7 @@
 	writetext UnknownText_0x1a815e
 	closetext
 	loadmovesprites
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x1a8041
 
@@ -73,7 +73,7 @@
 	writetext UnknownText_0x1a815e
 	closetext
 	loadmovesprites
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x1a806f
 
--- a/maps/OaksLab.asm
+++ b/maps/OaksLab.asm
@@ -30,7 +30,7 @@
 UnknownScript_0x19b3ea: ; 0x19b3ea
 	writetext UnknownText_0x19b4a2
 	closetext
-	special $0065
+	special ProfOaksPCBoot
 	writetext UnknownText_0x19b4c8
 	closetext
 	loadmovesprites
--- a/maps/OlivineCity.asm
+++ b/maps/OlivineCity.asm
@@ -30,7 +30,7 @@
 UnknownScript_0x1a8833: ; 0x1a8833
 	spriteface $0, $2
 	showemote $0, $0, 15
-	special $006a
+	special Functionc48f
 	pause 15
 	playsound SFX_ENTER_DOOR
 	appear $5
@@ -46,9 +46,9 @@
 	applymovement $5, MovementData_0x1a88db
 	dotrigger $1
 	disappear $5
-	special $003d
+	special RestartMapMusic
 	variablesprite $5, $31
-	special $005e
+	special Function14209
 	end
 ; 0x1a886b
 
@@ -55,7 +55,7 @@
 UnknownScript_0x1a886b: ; 0x1a886b
 	spriteface $0, $2
 	showemote $0, $0, 15
-	special $006a
+	special Functionc48f
 	pause 15
 	playsound SFX_ENTER_DOOR
 	appear $5
@@ -71,9 +71,9 @@
 	applymovement $5, MovementData_0x1a88e8
 	disappear $5
 	dotrigger $1
-	special $003d
+	special RestartMapMusic
 	variablesprite $5, $31
-	special $005e
+	special Function14209
 	end
 ; 0x1a88a3
 
--- a/maps/OlivineLighthouse6F.asm
+++ b/maps/OlivineLighthouse6F.asm
@@ -42,11 +42,11 @@
 	pause 60
 	keeptextopen
 	loadmovesprites
-	special $003d
+	special RestartMapMusic
 	cry AMPHAROS
-	special $002e
+	special Function8c084
 	pause 10
-	special $0031
+	special Function8c079
 	loadfont
 	writetext UnknownText_0x60f3d
 	closetext
@@ -111,7 +111,7 @@
 	iftrue UnknownScript_0x60c51
 	writetext UnknownText_0x60f03
 	writebyte AMPHAROS
-	special $005f
+	special Functionfb841
 	keeptextopen
 	writetext UnknownText_0x60f19
 	closetext
@@ -124,10 +124,10 @@
 	cry AMPHAROS
 	closetext
 	loadmovesprites
-	special $002e
-	special $0031
-	special $002e
-	special $0031
+	special Function8c084
+	special Function8c079
+	special Function8c084
+	special Function8c079
 	end
 ; 0x60c66
 
--- a/maps/OlivinePort.asm
+++ b/maps/OlivinePort.asm
@@ -43,7 +43,7 @@
 	waitbutton
 	applymovement $0, MovementData_0x74a30
 	playsound SFX_EXIT_BUILDING
-	special $002e
+	special Function8c084
 	waitbutton
 	checkevent $0030
 	iffalse UnknownScript_0x7490a
--- a/maps/PokeCenter2F.asm
+++ b/maps/PokeCenter2F.asm
@@ -15,7 +15,7 @@
 ; 0x19285f
 
 UnknownScript_0x19285f: ; 0x19285f
-	special $0011
+	special Functionc2f6
 	if_equal $0, UnknownScript_0x192872
 	clearevent $0711
 	checkevent $0001
@@ -83,28 +83,28 @@
 	writetext UnknownText_0x192e3a
 	yesorno
 	iffalse UnknownScript_0x19291d
-	special $00a0
+	special Function10630f
 	iffalse UnknownScript_0x1928be
 	writetext UnknownText_0x192d7e
-	special $008c
+	special Function103612
 	iffalse UnknownScript_0x19291d
 	if_equal $1, UnknownScript_0x19291f
 UnknownScript_0x1928be: ; 0x1928be
-	special $0001
+	special Function29ce8
 	writetext UnknownText_0x192f67
-	special $0002
+	special Function29d11
 	iffalse UnknownScript_0x1928f6
 	writetext UnknownText_0x192f34
 	yesorno
 	iffalse UnknownScript_0x192917
-	special $0004
+	special Function29e66
 	iffalse UnknownScript_0x192917
 	writetext UnknownText_0x192f67
-	special $0003
+	special Function29d92
 	iffalse UnknownScript_0x192911
 	copybytetovar wcf51
 	iffalse UnknownScript_0x1928fe
-	special $0005
+	special Function29e82
 	iffalse UnknownScript_0x192909
 	writetext UnknownText_0x19306b
 	closetext
@@ -115,7 +115,7 @@
 ; 0x1928f6
 
 UnknownScript_0x1928f6: ; 0x1928f6
-	special $0008
+	special Function29c92
 	writetext UnknownText_0x192f19
 	loadmovesprites
 	end
@@ -122,9 +122,9 @@
 ; 0x1928fe
 
 UnknownScript_0x1928fe: ; 0x1928fe
-	special $0006
+	special Function29efa
 	writetext UnknownText_0x193029
-	special $0007
+	special Function29eee
 	loadmovesprites
 	end
 ; 0x192909
@@ -131,7 +131,7 @@
 
 UnknownScript_0x192909: ; 0x192909
 	writetext UnknownText_0x19304a
-	special $0007
+	special Function29eee
 	loadmovesprites
 	end
 ; 0x192911
@@ -144,7 +144,7 @@
 UnknownScript_0x192917: ; 0x192917
 	writetext UnknownText_0x192fd1
 UnknownScript_0x19291a: ; 0x19291a
-	special $0008
+	special Function29c92
 UnknownScript_0x19291d: ; 0x19291d
 	loadmovesprites
 	end
@@ -166,9 +166,9 @@
 	writetext UnknownText_0x192f34
 	yesorno
 	iffalse UnknownScript_0x192943
-	special $0004
+	special Function29e66
 	iffalse UnknownScript_0x192943
-	special $007f
+	special Function1011f1
 	writetext UnknownText_0x19306b
 	closetext
 	loadmovesprites
@@ -196,28 +196,28 @@
 	writetext UnknownText_0x192de0
 	yesorno
 	iffalse UnknownScript_0x1929d2
-	special $00a0
+	special Function10630f
 	iffalse UnknownScript_0x192973
 	writetext UnknownText_0x192d39
-	special $008c
+	special Function103612
 	iffalse UnknownScript_0x1929d2
 	if_equal $1, UnknownScript_0x1929d4
 UnknownScript_0x192973: ; 0x192973
-	special $0009
+	special Function29cf1
 	writetext UnknownText_0x192f67
-	special $0002
+	special Function29d11
 	iffalse UnknownScript_0x1929ab
 	writetext UnknownText_0x192f34
 	yesorno
 	iffalse UnknownScript_0x1929cc
-	special $0004
+	special Function29e66
 	iffalse UnknownScript_0x1929cc
 	writetext UnknownText_0x192f67
-	special $0003
+	special Function29d92
 	iffalse UnknownScript_0x1929c6
 	copybytetovar wcf51
 	iffalse UnknownScript_0x1929b3
-	special $0005
+	special Function29e82
 	iffalse UnknownScript_0x1929be
 	writetext UnknownText_0x19306b
 	closetext
@@ -228,7 +228,7 @@
 ; 0x1929ab
 
 UnknownScript_0x1929ab: ; 0x1929ab
-	special $0008
+	special Function29c92
 	writetext UnknownText_0x192f19
 	loadmovesprites
 	end
@@ -235,9 +235,9 @@
 ; 0x1929b3
 
 UnknownScript_0x1929b3: ; 0x1929b3
-	special $0006
+	special Function29efa
 	writetext UnknownText_0x193029
-	special $0007
+	special Function29eee
 	loadmovesprites
 	end
 ; 0x1929be
@@ -244,7 +244,7 @@
 
 UnknownScript_0x1929be: ; 0x1929be
 	writetext UnknownText_0x19304a
-	special $0007
+	special Function29eee
 	loadmovesprites
 	end
 ; 0x1929c6
@@ -257,7 +257,7 @@
 UnknownScript_0x1929cc: ; 0x1929cc
 	writetext UnknownText_0x192fd1
 UnknownScript_0x1929cf: ; 0x1929cf
-	special $0008
+	special Function29c92
 UnknownScript_0x1929d2: ; 0x1929d2
 	loadmovesprites
 	end
@@ -281,9 +281,9 @@
 	writetext UnknownText_0x192f34
 	yesorno
 	iffalse UnknownScript_0x1929fe
-	special $00a1
+	special Function103780
 	iffalse UnknownScript_0x1929fe
-	special $007f
+	special Function1011f1
 	writetext UnknownText_0x19306b
 	closetext
 	loadmovesprites
@@ -299,7 +299,7 @@
 ; 0x192a05
 
 UnknownScript_0x192a05: ; 0x192a05
-	special $009a
+	special Function10366e
 	iffalse UnknownScript_0x192a1e
 	if_equal $1, UnknownScript_0x192a22
 	if_equal $2, UnknownScript_0x192a22
@@ -335,38 +335,38 @@
 	iftrue UnknownScript_0x192a25
 	checkflag $0053
 	iftrue UnknownScript_0x192a25
-	special $000a
+	special Function29cfa
 	faceplayer
 	loadfont
 	writetext UnknownText_0x192e9f
 	yesorno
 	iffalse UnknownScript_0x192aa2
-	special $000b
+	special Function29bfb
 	if_equal $1, UnknownScript_0x192aa7
 	if_equal $2, UnknownScript_0x192aac
 	if_equal $3, UnknownScript_0x192ab1
 	writetext UnknownText_0x192f67
-	special $0002
+	special Function29d11
 	iffalse UnknownScript_0x192a91
 	writetext UnknownText_0x192f34
 	yesorno
 	iffalse UnknownScript_0x192a9f
-	special $0004
+	special Function29e66
 	iffalse UnknownScript_0x192a9f
 	writetext UnknownText_0x192f67
-	special $0003
+	special Function29d92
 	iffalse UnknownScript_0x192a99
 	copybytetovar wcf51
 	iffalse UnknownScript_0x192a84
-	special $0005
+	special Function29e82
 	writetext UnknownText_0x19304a
-	special $0007
+	special Function29eee
 	loadmovesprites
 	end
 ; 0x192a84
 
 UnknownScript_0x192a84: ; 0x192a84
-	special $000c
+	special Function29c7b
 	writetext UnknownText_0x19306b
 	closetext
 	loadmovesprites
@@ -376,7 +376,7 @@
 ; 0x192a91
 
 UnknownScript_0x192a91: ; 0x192a91
-	special $0008
+	special Function29c92
 	writetext UnknownText_0x192f19
 	loadmovesprites
 	end
@@ -390,7 +390,7 @@
 UnknownScript_0x192a9f: ; 0x192a9f
 	writetext UnknownText_0x192fd1
 UnknownScript_0x192aa2: ; 0x192aa2
-	special $0008
+	special Function29c92
 	loadmovesprites
 	end
 ; 0x192aa7
@@ -414,7 +414,7 @@
 ; 0x192ab6
 
 UnknownScript_0x192ab6: ; 0x192ab6
-	special $0008
+	special Function29c92
 	scall UnknownScript_0x192b50
 	dotrigger $0
 	domaptrigger GROUP_TRADE_CENTER, MAP_TRADE_CENTER, $0
@@ -422,7 +422,7 @@
 ; 0x192ac3
 
 UnknownScript_0x192ac3: ; 0x192ac3
-	special $0080
+	special Function101220
 	scall UnknownScript_0x192ad0
 	dotrigger $0
 	domaptrigger GROUP_MOBILE_TRADE_ROOM_MOBILE, MAP_MOBILE_TRADE_ROOM_MOBILE, $0
@@ -437,7 +437,7 @@
 ; 0x192add
 
 UnknownScript_0x192add: ; 0x192add
-	special $0008
+	special Function29c92
 	scall UnknownScript_0x192b8a
 	dotrigger $0
 	domaptrigger GROUP_COLOSSEUM, MAP_COLOSSEUM, $0
@@ -445,7 +445,7 @@
 ; 0x192aea
 
 UnknownScript_0x192aea: ; 0x192aea
-	special $0080
+	special Function101220
 	scall UnknownScript_0x192af7
 	dotrigger $0
 	domaptrigger GROUP_MOBILE_BATTLE_ROOM, MAP_MOBILE_BATTLE_ROOM, $0
@@ -483,10 +483,10 @@
 	playsound SFX_TINGLE
 	applymovement $0, MovementData_0x192d17
 	writebyte $80
-	special $0098
+	special Functionc225
 	applymovement $0, MovementData_0x192d1c
 	setflag $009f
-	special $0038
+	special Functione4a
 	loadfont
 	writetext UnknownText_0x19329a
 	closetext
@@ -512,9 +512,9 @@
 	playsound SFX_TINGLE
 	applymovement $0, MovementData_0x192d17
 	writebyte $90
-	special $0098
+	special Functionc225
 	applymovement $0, MovementData_0x192d1c
-	special $0038
+	special Functione4a
 	applymovement $0, MovementData_0x192d2a
 	applymovement $2, MovementData_0x192cfe
 	end
@@ -536,9 +536,9 @@
 	playsound SFX_TINGLE
 	applymovement $0, MovementData_0x192d17
 	writebyte $90
-	special $0098
+	special Functionc225
 	applymovement $0, MovementData_0x192d1c
-	special $0038
+	special Functione4a
 	applymovement $0, MovementData_0x192d2a
 	applymovement $3, MovementData_0x192cfe
 	end
@@ -601,11 +601,11 @@
 	playsound SFX_TINGLE
 	applymovement $0, MovementData_0x192d17
 	writebyte $80
-	special $0098
+	special Functionc225
 	applymovement $0, MovementData_0x192d22
 	faceperson $0, $4
 	setflag $009f
-	special $0038
+	special Functione4a
 	loadfont
 	writetext UnknownText_0x19329a
 	closetext
@@ -616,7 +616,7 @@
 ; 0x192c4e
 
 UnknownScript_0x192c4e: ; 0x192c4e
-	special $0008
+	special Function29c92
 	checkflag $009f
 	iftrue UnknownScript_0x192c66
 	applymovement $4, MovementData_0x192d08
@@ -632,9 +632,9 @@
 	playsound SFX_TINGLE
 	applymovement $0, MovementData_0x192d17
 	writebyte $90
-	special $0098
+	special Functionc225
 	applymovement $0, MovementData_0x192d1c
-	special $0038
+	special Functione4a
 	applymovement $0, MovementData_0x192cfc
 	applymovement $4, MovementData_0x192d01
 UnknownScript_0x192c8c: ; 0x192c8c
@@ -645,7 +645,7 @@
 
 MapPokeCenter2FSignpost0Script: ; 0x192c93
 	refreshscreen $0
-	special $0058
+	special Functionc2da
 	loadmovesprites
 	end
 ; 0x192c9a
@@ -661,7 +661,7 @@
 	writetext UnknownText_0x1931c4
 	keeptextopen
 	waitbutton
-	special $0012
+	special Functionc309
 	iffalse UnknownScript_0x192cbe
 	itemnotify
 	setevent $0711
--- a/maps/PokeSeersHouse.asm
+++ b/maps/PokeSeersHouse.asm
@@ -9,7 +9,7 @@
 SeerScript: ; 0x9e36e
 	faceplayer
 	loadfont
-	special SPECIAL_POKESEER
+	special SpecialPokeSeer
 	closetext
 	loadmovesprites
 	end
--- a/maps/RadioTower1F.asm
+++ b/maps/RadioTower1F.asm
@@ -29,11 +29,11 @@
 	loadfont
 	writetext UnknownText_0x5ceba
 	keeptextopen
-	special $0053
+	special Functionc434
 	iffalse UnknownScript_0x5cd4c
-	special $0054
+	special Functionc422
 UnknownScript_0x5cd4c: ; 0x5cd4c
-	special $0055
+	special Function4d9d3
 	checkflag $004e
 	iftrue UnknownScript_0x5cd84
 	writetext UnknownText_0x5cf3a
@@ -48,7 +48,7 @@
 	playsound SFX_DEX_FANFARE_20_49
 	waitbutton
 	keeptextopen
-	special $0052
+	special Function4d87a
 	loadmovesprites
 	applymovement $6, MovementData_0x5ce74
 	loadfont
--- a/maps/RadioTower2F.asm
+++ b/maps/RadioTower2F.asm
@@ -184,7 +184,7 @@
 	if_equal $1e, UnknownScript_0x5d87f
 	playmusic MUSIC_BUENAS_PASSWORD
 	writetext UnknownText_0x5de35
-	special $00a3
+	special Function4ae12
 	iffalse UnknownScript_0x5d81e
 	writetext UnknownText_0x5de84
 	closetext
@@ -201,7 +201,7 @@
 	loadmovesprites
 	spriteface $b, $0
 	refreshscreen $0
-	special SPECIAL_BUENAS_PASSWORD
+	special SpecialBuenasPassword
 	loadmovesprites
 	iffalse UnknownScript_0x5d845
 	loadfont
@@ -220,9 +220,9 @@
 	writetext UnknownText_0x5e054
 	closetext
 	loadmovesprites
-	special $006a
+	special Functionc48f
 	pause 20
-	special $003d
+	special RestartMapMusic
 	checkcode $18
 	if_equal $1e, UnknownScript_0x5d8a4
 	end
@@ -251,9 +251,9 @@
 	closetext
 	loadmovesprites
 	spriteface $b, $3
-	special $006a
+	special Functionc48f
 	pause 20
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x5d82f
 
@@ -284,9 +284,9 @@
 	closetext
 	loadmovesprites
 	spriteface $b, $3
-	special $006a
+	special Functionc48f
 	pause 20
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x5d865
 
@@ -396,7 +396,7 @@
 	iffalse UnknownScript_0x5d90f
 	writetext UnknownText_0x5e392
 	keeptextopen
-	special SPECIAL_BUENA_PRIZE
+	special SpecialBuenaPrize
 	loadmovesprites
 	end
 ; 0x5d90f
--- a/maps/RadioTower5F.asm
+++ b/maps/RadioTower5F.asm
@@ -115,12 +115,12 @@
 	writetext UnknownText_0x6050e
 	closetext
 	loadmovesprites
-	special $0030
-	special $0033
+	special Function8c0b6
+	special Functiond91
 	disappear $3
 	disappear $4
 	pause 15
-	special $0032
+	special Function8c0ab
 	setevent $0571
 	setevent EVENT_CLEARED_RADIO_TOWER
 	clearflag $0013
@@ -133,7 +133,7 @@
 	clearevent $06d0
 	setevent $06e3
 	clearevent $06e4
-	special $003c
+	special PlayMapMusic
 	disappear $2
 	moveperson $2, $c, $0
 	appear $2
--- a/maps/Route24.asm
+++ b/maps/Route24.asm
@@ -22,15 +22,15 @@
 	loadfont
 	writetext UnknownText_0x1addc0
 	keeptextopen
-	special $006a
+	special Functionc48f
 	writetext UnknownText_0x1adee1
 	closetext
 	loadmovesprites
-	special $0030
-	special $0033
+	special Function8c0b6
+	special Functiond91
 	disappear $2
 	pause 25
-	special $0032
+	special Function8c0ab
 	playmapmusic
 	end
 ; 0x1adc2e
--- a/maps/Route25.asm
+++ b/maps/Route25.asm
@@ -41,7 +41,7 @@
 	disappear $2
 	clearevent $076f
 	dotrigger $0
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x19eee0
 
@@ -68,7 +68,7 @@
 	disappear $2
 	clearevent $076f
 	dotrigger $0
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x19ef20
 
--- a/maps/Route26HealSpeechHouse.asm
+++ b/maps/Route26HealSpeechHouse.asm
@@ -12,14 +12,14 @@
 	writetext UnknownText_0x7b14d
 	closetext
 	loadmovesprites
-	special $0030
-	special $0033
-	special $009d
+	special Function8c0b6
+	special Functiond91
+	special Function1060a2
 	playmusic MUSIC_HEAL
-	special $001b
+	special Functionc658
 	pause 60
-	special $0032
-	special $003d
+	special Function8c0ab
+	special RestartMapMusic
 	loadfont
 	writetext UnknownText_0x7b18b
 	closetext
--- a/maps/Route27SandstormHouse.asm
+++ b/maps/Route27SandstormHouse.asm
@@ -11,7 +11,7 @@
 	loadfont
 	checkevent EVENT_GOT_TM37_SANDSTORM
 	iftrue UnknownScript_0x7b3b7
-	special $0059
+	special Function718d
 	writetext UnknownText_0x7b3c6
 	keeptextopen
 	if_greater_than $95, UnknownScript_0x7b3aa
--- a/maps/Route30.asm
+++ b/maps/Route30.asm
@@ -23,7 +23,7 @@
 	loadmovesprites
 	playsound SFX_TACKLE
 	applymovement $7, MovementData_0x1a1802
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x1a169a
 
--- a/maps/Route34.asm
+++ b/maps/Route34.asm
@@ -51,7 +51,7 @@
 GrampsScript_0x7803d: ; 0x7803d
 	faceplayer
 	loadfont
-	special $0020
+	special Function16936
 	closetext
 	loadmovesprites
 	if_equal $1, UnknownScript_0x7805a
@@ -74,7 +74,7 @@
 
 DaycareMon1Script_0x78065: ; 0x78065
 	loadfont
-	special $0045
+	special Function17421
 	loadmovesprites
 	end
 ; 0x7806b
@@ -81,7 +81,7 @@
 
 DaycareMon2Script_0x7806b: ; 0x7806b
 	loadfont
-	special $0046
+	special Function17440
 	loadmovesprites
 	end
 ; 0x78071
--- a/maps/Route35NationalParkgate.asm
+++ b/maps/Route35NationalParkgate.asm
@@ -84,7 +84,7 @@
 	loadmovesprites
 	scall UnknownScript_0x6a261
 	playsound SFX_ENTER_DOOR
-	special $002e
+	special Function8c084
 	waitbutton
 	warpfacing $1, GROUP_NATIONAL_PARK_BUG_CONTEST, MAP_NATIONAL_PARK_BUG_CONTEST, $a, $2f
 	end
@@ -106,11 +106,11 @@
 	iffalse UnknownScript_0x6a2a3
 	checkcode $1
 	if_greater_than $1, UnknownScript_0x6a271
-	special $0016
+	special Function13a12
 	clearevent $0308
 UnknownScript_0x6a234: ; 0x6a234
 	setflag $0011
-	special $003c
+	special PlayMapMusic
 	writetext UnknownText_0x6a39d
 	keeptextopen
 	writetext UnknownText_0x6a3c7
@@ -119,12 +119,12 @@
 	writetext UnknownText_0x6a3e2
 	closetext
 	loadmovesprites
-	special $0018
+	special Function135db
 	scall UnknownScript_0x6a261
 	playsound SFX_ENTER_DOOR
-	special $002e
+	special Function8c084
 	waitbutton
-	special $0047
+	special Function139a8
 	warpfacing $1, GROUP_NATIONAL_PARK_BUG_CONTEST, MAP_NATIONAL_PARK_BUG_CONTEST, $a, $2f
 	end
 ; 0x6a261
@@ -148,12 +148,12 @@
 	if_equal $0, UnknownScript_0x6a2b5
 
 UnknownScript_0x6a27d: ; 6a27d
-	special $005a
+	special Function71ac
 	if_equal $1, UnknownScript_0x6a2bb
 	writetext UnknownText_0x6a4c6
 	yesorno
 	iffalse UnknownScript_0x6a2a9
-	special $0016
+	special Function13a12
 	iftrue UnknownScript_0x6a2af
 	setevent $0308
 	writetext UnknownText_0x6a537
--- a/maps/Route36.asm
+++ b/maps/Route36.asm
@@ -96,8 +96,8 @@
 	applymovement $4, MovementData_0x19424b
 	disappear $4
 	variablesprite $4, $26
-	special $005e
-	special $009e
+	special Function14209
+	special Function14168
 	end
 ; 0x19408c
 
--- a/maps/Route36NationalParkgate.asm
+++ b/maps/Route36NationalParkgate.asm
@@ -75,14 +75,14 @@
 	writetext UnknownText_0x6b2c5
 	closetext
 	loadmovesprites
-	special $0030
-	special $0033
+	special Function8c0b6
+	special Functiond91
 	scall UnknownScript_0x6ab8c
 	disappear $2
 	appear $d
 	applymovement $0, MovementData_0x6add1
 	pause 15
-	special $0032
+	special Function8c0ab
 	jumpstd $0017
 ; 0x6ab76
 
@@ -92,7 +92,7 @@
 	loadmovesprites
 	spriteface $0, $2
 	playsound SFX_EXIT_BUILDING
-	special $002e
+	special Function8c084
 	waitbutton
 	warpfacing $2, GROUP_NATIONAL_PARK_BUG_CONTEST, MAP_NATIONAL_PARK_BUG_CONTEST, $21, $12
 	end
@@ -139,7 +139,7 @@
 	iftrue UnknownScript_0x6abdc
 	appear $c
 UnknownScript_0x6abdc: ; 0x6abdc
-	special $0037
+	special Function1ad2
 	end
 ; 0x6abe0
 
@@ -159,11 +159,11 @@
 	iffalse UnknownScript_0x6ac73
 	checkcode $1
 	if_greater_than $1, UnknownScript_0x6ac41
-	special $0016
+	special Function13a12
 	clearevent $0308
 UnknownScript_0x6ac10: ; 0x6ac10
 	setflag $0011
-	special $003c
+	special PlayMapMusic
 	writetext UnknownText_0x6ae87
 	keeptextopen
 	waitbutton
@@ -174,12 +174,12 @@
 	closetext
 	loadmovesprites
 	setflag $0011
-	special $0018
+	special Function135db
 	spriteface $0, $2
 	playsound SFX_EXIT_BUILDING
-	special $002e
+	special Function8c084
 	waitbutton
-	special $0047
+	special Function139a8
 	warpfacing $2, GROUP_NATIONAL_PARK_BUG_CONTEST, MAP_NATIONAL_PARK_BUG_CONTEST, $21, $12
 	end
 ; 0x6ac41
@@ -190,12 +190,12 @@
 	checkcode $10
 	if_equal $0, UnknownScript_0x6ac85
 UnknownScript_0x6ac4d: ; 0x6ac4d
-	special $005a
+	special Function71ac
 	if_equal $1, UnknownScript_0x6ac8b
 	writetext UnknownText_0x6afb0
 	yesorno
 	iffalse UnknownScript_0x6ac79
-	special $0016
+	special Function13a12
 	iftrue UnknownScript_0x6ac7f
 	setevent $0308
 	writetext UnknownText_0x6b021
--- a/maps/Route39Barn.asm
+++ b/maps/Route39Barn.asm
@@ -52,7 +52,7 @@
 	iftrue UnknownScript_0x9cd25
 	writetext UnknownText_0x9cd70
 	writebyte MILTANK
-	special $005f
+	special Functionfb841
 	keeptextopen
 	writetext UnknownText_0x9cd80
 	checkevent EVENT_TALKED_TO_FARMER_ABOUT_MOOMOO
@@ -105,7 +105,7 @@
 	writetext UnknownText_0x9cdbc
 	pause 60
 	keeptextopen
-	special $003d
+	special RestartMapMusic
 	writetext UnknownText_0x9ce1b
 	closetext
 	loadmovesprites
--- a/maps/Route39Farmhouse.asm
+++ b/maps/Route39Farmhouse.asm
@@ -22,7 +22,7 @@
 	checkitem MOOMOO_MILK
 	iftrue UnknownScript_0x9cf08
 	writetext UnknownText_0x9cfe1
-	special $0051
+	special Function24ae8
 	yesorno
 	iffalse UnknownScript_0x9cf02
 	checkmoney $0, 500
@@ -30,7 +30,7 @@
 	giveitem MOOMOO_MILK, $1
 	iffalse UnknownScript_0x9cefc
 	takemoney $0, 500
-	special $0051
+	special Function24ae8
 	waitbutton
 	playsound SFX_TRANSACTION
 	writetext UnknownText_0x9d05d
--- a/maps/Route40.asm
+++ b/maps/Route40.asm
@@ -141,7 +141,7 @@
 ; 0x1a61c7
 
 PokefanMScript_0x1a61c7: ; 0x1a61c7
-	special $00a0
+	special Function10630f
 	iftrue UnknownScript_0x1a61d0
 	jumptextfaceplayer UnknownText_0x1a646a
 ; 0x1a61d0
--- a/maps/Route43Gate.asm
+++ b/maps/Route43Gate.asm
@@ -77,7 +77,7 @@
 	applymovement $3, MovementData_0x19acaa
 	applymovement $4, MovementData_0x19acc1
 	dotrigger $1
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x19ac38
 
@@ -113,7 +113,7 @@
 	applymovement $4, MovementData_0x19accd
 	applymovement $3, MovementData_0x19acb5
 	dotrigger $1
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x19ac82
 
--- a/maps/Route45.asm
+++ b/maps/Route45.asm
@@ -34,7 +34,7 @@
 	iftrue UnknownScript_0x19e0e4
 	checkevent $0299
 	iftrue UnknownScript_0x19e0cd
-	special $0095
+	special Function11485
 	writetext UnknownText_0x19e5e2
 	closetext
 	setevent $0299
@@ -66,7 +66,7 @@
 	verbosegiveitem PP_UP, 1
 	iffalse UnknownScript_0x19e118
 	clearevent $026a
-	special $0095
+	special Function11485
 	jump UnknownScript_0x19e127
 ; 0x19e10c
 
--- a/maps/RuinsofAlphAerodactylChamber.asm
+++ b/maps/RuinsofAlphAerodactylChamber.asm
@@ -62,7 +62,7 @@
 MapRuinsofAlphAerodactylChamberSignpost2Script: ; 0x58deb
 	refreshscreen $0
 	writebyte $2
-	special $0029
+	special Functionc360
 	loadmovesprites
 	iftrue UnknownScript_0x58df7
 	end
@@ -100,7 +100,7 @@
 	loadfont
 	writetext UnknownText_0x58e4f
 	writebyte $1
-	special $0087
+	special Function8ae68
 	loadmovesprites
 	end
 ; 0x58e35
@@ -111,7 +111,7 @@
 	loadfont
 	writetext UnknownText_0x58e81
 	writebyte $1
-	special $0087
+	special Function8ae68
 	loadmovesprites
 	end
 ; 0x58e46
--- a/maps/RuinsofAlphHoOhChamber.asm
+++ b/maps/RuinsofAlphHoOhChamber.asm
@@ -15,7 +15,7 @@
 ; 0x5856d
 
 UnknownScript_0x5856d: ; 0x5856d
-	special $008d
+	special SpecialHoOhChamber
 	checkevent EVENT_WALL_OPENED_IN_HO_OH_CHAMBER
 	iftrue UnknownScript_0x58577
 	end
@@ -63,7 +63,7 @@
 MapRuinsofAlphHoOhChamberSignpost2Script: ; 0x585ae
 	refreshscreen $0
 	writebyte $3
-	special $0029
+	special Functionc360
 	loadmovesprites
 	iftrue UnknownScript_0x585ba
 	end
@@ -101,7 +101,7 @@
 	loadfont
 	writetext UnknownText_0x58612
 	writebyte $3
-	special $0087
+	special Function8ae68
 	loadmovesprites
 	end
 ; 0x585f8
@@ -112,7 +112,7 @@
 	loadfont
 	writetext UnknownText_0x58644
 	writebyte $3
-	special $0087
+	special Function8ae68
 	loadmovesprites
 	end
 ; 0x58609
--- a/maps/RuinsofAlphKabutoChamber.asm
+++ b/maps/RuinsofAlphKabutoChamber.asm
@@ -69,7 +69,7 @@
 MapRuinsofAlphKabutoChamberSignpost2Script: ; 0x5876c
 	refreshscreen $0
 	writebyte $0
-	special $0029
+	special Functionc360
 	loadmovesprites
 	iftrue UnknownScript_0x58778
 	end
@@ -141,7 +141,7 @@
 	loadfont
 	writetext UnknownText_0x58aa7
 	writebyte $0
-	special $0087
+	special Function8ae68
 	loadmovesprites
 	end
 ; 0x587e6
@@ -152,7 +152,7 @@
 	loadfont
 	writetext UnknownText_0x58ad9
 	writebyte $0
-	special $0087
+	special Function8ae68
 	loadmovesprites
 	end
 ; 0x587f7
--- a/maps/RuinsofAlphOmanyteChamber.asm
+++ b/maps/RuinsofAlphOmanyteChamber.asm
@@ -15,7 +15,7 @@
 ; 0x58be9
 
 UnknownScript_0x58be9: ; 0x58be9
-	special $0084
+	special Function8adef
 	checkevent EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
 	iftrue UnknownScript_0x58bf3
 	end
@@ -63,7 +63,7 @@
 MapRuinsofAlphOmanyteChamberSignpost2Script: ; 0x58c2a
 	refreshscreen $0
 	writebyte $1
-	special $0029
+	special Functionc360
 	loadmovesprites
 	iftrue UnknownScript_0x58c36
 	end
@@ -101,7 +101,7 @@
 	loadfont
 	writetext UnknownText_0x58c8e
 	writebyte $2
-	special $0087
+	special Function8ae68
 	loadmovesprites
 	end
 ; 0x58c74
@@ -112,7 +112,7 @@
 	loadfont
 	writetext UnknownText_0x58cc0
 	writebyte $2
-	special $0087
+	special Function8ae68
 	loadmovesprites
 	end
 ; 0x58c85
--- a/maps/RuinsofAlphResearchCenter.asm
+++ b/maps/RuinsofAlphResearchCenter.asm
@@ -61,7 +61,7 @@
 	loadmovesprites
 	applymovement $4, MovementData_0x59276
 	dotrigger $0
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x591d1
 
@@ -183,7 +183,7 @@
 UnknownScript_0x59260: ; 0x59260
 	writetext UnknownText_0x5982d
 	closetext
-	special $0027
+	special Functionc2cd
 	loadmovesprites
 	end
 ; 0x59269
--- a/maps/SaffronPokeCenter1F.asm
+++ b/maps/SaffronPokeCenter1F.asm
@@ -11,7 +11,7 @@
 ; 0x18a480
 
 TeacherScript_0x18a480: ; 0x18a480
-	special $00a0
+	special Function10630f
 	iftrue UnknownScript_0x18a489
 	jumptextfaceplayer UnknownText_0x18a4a3
 ; 0x18a489
--- a/maps/SaffronTrainStation.asm
+++ b/maps/SaffronTrainStation.asm
@@ -36,7 +36,7 @@
 	applymovement $2, MovementData_0x18a88f
 	applymovement $0, MovementData_0x18a898
 	writebyte $1
-	special $0023
+	special Function8cc04
 	warpcheck
 	newloadmap $f9
 	applymovement $0, MovementData_0x18a854
--- a/maps/SilverCaveRoom3.asm
+++ b/maps/SilverCaveRoom3.asm
@@ -7,7 +7,7 @@
 ; 0x18c603
 
 RedScript_0x18c603: ; 0x18c603
-	special $006a
+	special Functionc48f
 	faceplayer
 	loadfont
 	writetext UnknownText_0x18c637
@@ -18,18 +18,18 @@
 	startbattle
 	reloadmapmusic
 	returnafterbattle
-	special $006a
+	special Functionc48f
 	loadfont
 	writetext UnknownText_0x18c63f
 	closetext
 	loadmovesprites
-	special $0030
-	special $0033
+	special Function8c0b6
+	special Functiond91
 	disappear $2
 	pause 15
-	special $0032
+	special Function8c0ab
 	pause 30
-	special $001b
+	special Functionc658
 	refreshscreen $0
 	credits
 	end
--- a/maps/SlowpokeWellB1F.asm
+++ b/maps/SlowpokeWellB1F.asm
@@ -64,14 +64,14 @@
 	writetext TrainerGruntM1WhenTalkText
 	closetext
 	loadmovesprites
-	special $0030
-	special $0033
+	special Function8c0b6
+	special Functiond91
 	disappear $2
 	disappear $3
 	disappear $4
 	disappear $5
 	pause 15
-	special $0032
+	special Function8c0ab
 	disappear $8
 	moveperson $8, $b, $6
 	appear $8
@@ -93,8 +93,8 @@
 	clearevent $06f9
 	clearevent $06fd
 	clearevent $073e
-	special $002e
-	special $001b
+	special Function8c084
+	special Functionc658
 	pause 15
 	warp GROUP_KURTS_HOUSE, MAP_KURTS_HOUSE, $3, $3
 	end
--- a/maps/SproutTower3F.asm
+++ b/maps/SproutTower3F.asm
@@ -21,7 +21,7 @@
 UnknownScript_0x184947: ; 0x184947
 	spriteface $0, $1
 	showemote $0, $0, 15
-	special $006a
+	special Functionc48f
 	playsound SFX_TACKLE
 	playsound SFX_ELEVATOR
 	earthquake 79
@@ -50,13 +50,13 @@
 	pause 15
 	loadmovesprites
 	playsound SFX_WARP_TO
-	special $0030
-	special $0033
+	special Function8c0b6
+	special Functiond91
 	disappear $8
 	waitbutton
-	special $0032
+	special Function8c0ab
 	dotrigger $1
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x1849a6
 
--- a/maps/TeamRocketBaseB1F.asm
+++ b/maps/TeamRocketBaseB1F.asm
@@ -460,9 +460,9 @@
 	end
 
 VoltorbExplodingTrap: ; 0x6ca34
-	special $002e
+	special Function8c084
 	cry VOLTORB
-	special $0031
+	special Function8c079
 	setlasttalked $ff
 	writecode $3, BATTLETYPE_TRAP
 	loadpokedata VOLTORB, 23
@@ -470,9 +470,9 @@
 	end
 
 GeodudeExplodingTrap: ; 0x6ca47
-	special $002e
+	special Function8c084
 	cry GEODUDE
-	special $0031
+	special Function8c079
 	setlasttalked $ff
 	writecode $3, BATTLETYPE_TRAP
 	loadpokedata GEODUDE, 21
@@ -480,9 +480,9 @@
 	end
 
 KoffingExplodingTrap: ; 0x6ca5a
-	special $002e
+	special Function8c084
 	cry KOFFING
-	special $0031
+	special Function8c079
 	setlasttalked $ff
 	writecode $3, BATTLETYPE_TRAP
 	loadpokedata KOFFING, 21
--- a/maps/TeamRocketBaseB2F.asm
+++ b/maps/TeamRocketBaseB2F.asm
@@ -106,8 +106,8 @@
 	writetext UnknownText_0x6d4c6
 	closetext
 	loadmovesprites
-	special $0030
-	special $0033
+	special Function8c0b6
+	special Functiond91
 	disappear $2
 	disappear $3
 	disappear $c
@@ -114,7 +114,7 @@
 	disappear $d
 	disappear $e
 	pause 15
-	special $0032
+	special Function8c0ab
 	dotrigger $2
 	clearevent $06d6
 	spriteface $4, $0
@@ -167,11 +167,11 @@
 	writetext UnknownText_0x6da97
 	closetext
 	loadmovesprites
-	special $002e
-	special $009d
+	special Function8c084
+	special Function1060a2
 	playsound SFX_FULL_HEAL
-	special $001b
-	special $0031
+	special Functionc658
+	special Function8c079
 	loadfont
 	writetext UnknownText_0x6daf7
 	closetext
@@ -292,7 +292,7 @@
 	checkevent $06e2
 	iffalse UnknownScript_0x6d182
 	returnafterbattle
-	special $003c
+	special PlayMapMusic
 	applymovement $0, MovementData_0x6d28c
 	jump UnknownScript_0x6d184
 ; 0x6d12c
@@ -311,7 +311,7 @@
 	checkevent $06e2
 	iffalse UnknownScript_0x6d182
 	returnafterbattle
-	special $003c
+	special PlayMapMusic
 	applymovement $0, MovementData_0x6d299
 	jump UnknownScript_0x6d184
 ; 0x6d157
@@ -330,7 +330,7 @@
 	checkevent $06e2
 	iffalse UnknownScript_0x6d182
 	returnafterbattle
-	special $003c
+	special PlayMapMusic
 	applymovement $0, MovementData_0x6d2a4
 	jump UnknownScript_0x6d184
 ; 0x6d182
--- a/maps/TeamRocketBaseB3F.asm
+++ b/maps/TeamRocketBaseB3F.asm
@@ -63,7 +63,7 @@
 UnknownScript_0x6e019: ; 0x6e019
 	spriteface $0, $2
 	showemote $0, $0, 15
-	special $006a
+	special Functionc48f
 	appear $a
 	applymovement $a, MovementData_0x6e164
 	spriteface $0, $2
@@ -77,7 +77,7 @@
 	applymovement $a, MovementData_0x6e16d
 	disappear $a
 	dotrigger $2
-	special $003d
+	special RestartMapMusic
 	end
 ; 0x6e048
 
--- a/maps/TimeCapsule.asm
+++ b/maps/TimeCapsule.asm
@@ -24,7 +24,7 @@
 ; 0x1934fd
 
 UnknownScript_0x1934fd: ; 0x1934fd
-	special $0010
+	special Function29f47
 	iffalse UnknownScript_0x193508
 	disappear $3
 	appear $2
@@ -44,7 +44,7 @@
 ; 0x193514
 
 MapTimeCapsuleSignpost1Script: ; 0x193514
-	special $000f
+	special Function29eaf
 	newloadmap $f8
 	end
 ; 0x19351a
--- a/maps/TinTower1F.asm
+++ b/maps/TinTower1F.asm
@@ -30,7 +30,7 @@
 	iftrue UnknownScript_0x185047
 	checkevent $0044
 	iffalse UnknownScript_0x185050
-	special $0096
+	special SpecialBeastsCheck
 	iffalse UnknownScript_0x185050
 	clearevent $07c5
 	setevent $07b6
@@ -47,7 +47,7 @@
 	iftrue UnknownScript_0x185077
 	appear $2
 	writebyte RAIKOU
-	special $0097
+	special SpecialMonCheck
 	iftrue UnknownScript_0x185065
 	appear $3
 	jump UnknownScript_0x185067
@@ -57,7 +57,7 @@
 	disappear $3
 UnknownScript_0x185067: ; 0x185067
 	writebyte ENTEI
-	special $0097
+	special SpecialMonCheck
 	iftrue UnknownScript_0x185074
 	appear $4
 	jump UnknownScript_0x185076
@@ -90,7 +90,7 @@
 	applymovement $0, MovementData_0x1851cb
 	pause 15
 	writebyte RAIKOU
-	special $0097
+	special SpecialMonCheck
 	iftrue UnknownScript_0x1850b6
 	applymovement $3, MovementData_0x1851d0
 	spriteface $0, $2
@@ -103,7 +103,7 @@
 	waitbutton
 UnknownScript_0x1850b6: ; 0x1850b6
 	writebyte ENTEI
-	special $0097
+	special SpecialMonCheck
 	iftrue UnknownScript_0x1850d7
 	applymovement $4, MovementData_0x1851da
 	spriteface $0, $3
@@ -167,7 +167,7 @@
 	playsound SFX_EXIT_BUILDING
 	disappear $5
 	waitbutton
-	special $006a
+	special Functionc48f
 	pause 20
 	playmapmusic
 	end
--- a/maps/TradeCenter.asm
+++ b/maps/TradeCenter.asm
@@ -24,7 +24,7 @@
 ; 0x1933ee
 
 UnknownScript_0x1933ee: ; 0x1933ee
-	special $0010
+	special Function29f47
 	iffalse UnknownScript_0x1933f9
 	disappear $3
 	appear $2
@@ -44,7 +44,7 @@
 ; 0x193405
 
 MapTradeCenterSignpost1Script: ; 0x193405
-	special $000d
+	special Function29ec4
 	newloadmap $f8
 	end
 ; 0x19340b
--- a/maps/TrainerHouseB1F.asm
+++ b/maps/TrainerHouseB1F.asm
@@ -20,7 +20,7 @@
 	iftrue UnknownScript_0x9b3f7
 	writetext UnknownText_0x9b420
 	keeptextopen
-	special $0067
+	special SpecialTrainerHouse
 	iffalse UnknownScript_0x9b3a6
 	trainertotext CAL, CAL2, $0
 	jump UnknownScript_0x9b3aa
@@ -43,7 +43,7 @@
 	writetext UnknownText_0x9b587
 	closetext
 	loadmovesprites
-	special $0067
+	special SpecialTrainerHouse
 	iffalse UnknownScript_0x9b3dc
 	winlosstext UnknownText_0x9b578, $0000
 	setlasttalked $3
--- a/maps/UndergroundPathSwitchRoomEntrances.asm
+++ b/maps/UndergroundPathSwitchRoomEntrances.asm
@@ -86,7 +86,7 @@
 UnknownScript_0x7ca80: ; 0x7ca80
 	spriteface $0, $3
 	showemote $0, $0, 15
-	special $006a
+	special Functionc48f
 	pause 15
 	playsound SFX_EXIT_BUILDING
 	appear $c
@@ -106,7 +106,7 @@
 UnknownScript_0x7caaa: ; 0x7caaa
 	spriteface $0, $3
 	showemote $0, $0, 15
-	special $006a
+	special Functionc48f
 	pause 15
 	playsound SFX_EXIT_BUILDING
 	appear $c
--- a/maps/VermilionCity.asm
+++ b/maps/VermilionCity.asm
@@ -43,7 +43,7 @@
 
 BigSnorlaxScript_0x1aa99e: ; 0x1aa99e
 	loadfont
-	special $0060
+	special SpecialSnorlaxAwake
 	iftrue UnknownScript_0x1aa9ab
 	writetext UnknownText_0x1aab64
 	closetext
--- a/maps/VermilionPort.asm
+++ b/maps/VermilionPort.asm
@@ -57,7 +57,7 @@
 	waitbutton
 	applymovement $0, MovementData_0x74ef1
 	playsound SFX_EXIT_BUILDING
-	special $002e
+	special Function8c084
 	waitbutton
 	setevent $073a
 	clearevent $073b
--- a/maps/VictoryRoad.asm
+++ b/maps/VictoryRoad.asm
@@ -22,7 +22,7 @@
 	moveperson $2, $12, $b
 	spriteface $0, $0
 	showemote $0, $0, 15
-	special $006a
+	special Functionc48f
 	pause 15
 	appear $2
 	applymovement $2, MovementData_0x74539
@@ -37,7 +37,7 @@
 UnknownScript_0x744b5: ; 0x744b5
 	spriteface $0, $0
 	showemote $0, $0, 15
-	special $006a
+	special Functionc48f
 	pause 15
 	appear $2
 	applymovement $2, MovementData_0x74542
--- a/maps/VioletCity.asm
+++ b/maps/VioletCity.asm
@@ -42,7 +42,7 @@
 	spriteface $0, $1
 	applymovement $2, MovementData_0x1a8465
 	stopfollow
-	special $003d
+	special RestartMapMusic
 	loadfont
 	writetext UnknownText_0x1a84f9
 	closetext
--- a/maps/WarehouseEntrance.asm
+++ b/maps/WarehouseEntrance.asm
@@ -272,7 +272,7 @@
 UnknownScript_0x7c173: ; 0x7c173
 	checkflag $005a
 	iftrue UnknownScript_0x7c208
-	special $0051
+	special Function24ae8
 	writetext UnknownText_0x7c5f9
 	yesorno
 	iffalse UnknownScript_0x7c1fc
@@ -280,7 +280,7 @@
 	if_equal $2, UnknownScript_0x7c202
 	writetext UnknownText_0x7c69a
 	keeptextopen
-	special $0061
+	special Function7413
 	if_equal $0, UnknownScript_0x7c1fc
 	if_equal $1, UnknownScript_0x7c1fc
 	setflag $005a
@@ -312,15 +312,15 @@
 
 UnknownScript_0x7c1cd: ; 0x7c1cd
 	takemoney $0, 500
-	special $0051
+	special Function24ae8
 	writetext UnknownText_0x7c6b8
 	closetext
 	loadmovesprites
-	special $002e
+	special Function8c084
 	playmusic MUSIC_HEAL
 	pause 60
-	special $0031
-	special $003d
+	special Function8c079
+	special RestartMapMusic
 	loadfont
 	writetext UnknownText_0x7c6d8
 	closetext
@@ -364,7 +364,7 @@
 UnknownScript_0x7c220: ; 0x7c220
 	checkflag $005a
 	iftrue UnknownScript_0x7c2b5
-	special $0051
+	special Function24ae8
 	writetext UnknownText_0x7c75c
 	yesorno
 	iffalse UnknownScript_0x7c2a9
@@ -372,7 +372,7 @@
 	if_equal $2, UnknownScript_0x7c2af
 	writetext UnknownText_0x7c7f1
 	keeptextopen
-	special $0062
+	special Function7418
 	if_equal $0, UnknownScript_0x7c2a9
 	if_equal $1, UnknownScript_0x7c2a9
 	setflag $005a
@@ -404,15 +404,15 @@
 
 UnknownScript_0x7c27a: ; 0x7c27a
 	takemoney $0, 300
-	special $0051
+	special Function24ae8
 	writetext UnknownText_0x7c80e
 	closetext
 	loadmovesprites
-	special $002e
+	special Function8c084
 	playmusic MUSIC_HEAL
 	pause 60
-	special $0031
-	special $003d
+	special Function8c079
+	special RestartMapMusic
 	loadfont
 	writetext UnknownText_0x7c82a
 	closetext
@@ -446,7 +446,7 @@
 
 UnknownScript_0x7c2bb: ; 0x7c2bb
 	writetext UnknownText_0x7c8bf
-	special $0064
+	special Functionc472
 	closetext
 	loadmovesprites
 	end
@@ -454,7 +454,7 @@
 
 UnknownScript_0x7c2c4: ; 0x7c2c4
 	writetext UnknownText_0x7c8dc
-	special $0064
+	special Functionc472
 	closetext
 	loadmovesprites
 	end
@@ -462,7 +462,7 @@
 
 UnknownScript_0x7c2cd: ; 0x7c2cd
 	writetext UnknownText_0x7c8ee
-	special $0064
+	special Functionc472
 	closetext
 	loadmovesprites
 	end
--- a/maps/map_headers.asm
+++ b/maps/map_headers.asm
@@ -1,11 +1,3 @@
-map_header: MACRO
-	; label, tileset, permission, location, music, time of day, fishing group
-\1_MapHeader:
-	db BANK(\1_SecondMapHeader), \2, \3
-	dw \1_SecondMapHeader
-	db \4, \5, \6, \7
-ENDM
-
 
 MapGroupPointers:: ; 0x94000
 ; pointers to the first map header of each map group
--- a/maps/second_map_headers.asm
+++ b/maps/second_map_headers.asm
@@ -1,1358 +1,282 @@
-map_header_2: MACRO
-; label, map, border block, connections
-\1_SecondMapHeader::
-	db \3
-\2\@HEIGHT EQUS "\2_HEIGHT"
-\2\@WIDTH  EQUS "\2_WIDTH"
-	db \2\@HEIGHT, \2\@WIDTH
-	db BANK(\1_BlockData)
-	dw \1_BlockData
-	db BANK(\1_MapScriptHeader)
-	dw \1_MapScriptHeader
-	dw \1_MapEventHeader
-	db \4
-ENDM
 
 	map_header_2 NewBarkTown, NEW_BARK_TOWN, $5, WEST | EAST ; 0x94dd8
+	connection west, ROUTE_29, Route29, 0, 0, 9, NEW_BARK_TOWN
+	connection east, ROUTE_27, Route27, 0, 0, 9, NEW_BARK_TOWN
 
-	; WEST to Route 29
-	map ROUTE_29
-	dw (Route29_BlockData + ROUTE_29_WIDTH - 3) ; strip pointer
-	dw $c830 ; strip destination
-	db 9, ROUTE_29_WIDTH ; (connection strip length, connected map width)
-	db 0, ((ROUTE_29_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 59) ; window
-
-	; EAST to Route 27
-	map ROUTE_27
-	dw (Route27_BlockData) ; strip pointer
-	dw $c83d ; strip destination
-	db 9, ROUTE_27_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_27_WIDTH) ; window
-; 0x94dfc
-
 	map_header_2 CherrygroveCity, CHERRYGROVE_CITY, $35, NORTH | EAST ; 0x94dfc
+	connection north, ROUTE_30, Route30, 5, 0, 10, CHERRYGROVE_CITY
+	connection east, ROUTE_29, Route29, 0, 0, 9, CHERRYGROVE_CITY
 
-	; NORTH to Route 30
-	map ROUTE_30
-	dw (Route30_BlockData + (ROUTE_30_HEIGHT * ROUTE_30_WIDTH) - (ROUTE_30_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 261) ; strip destination
-	db 10, ROUTE_30_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_30_HEIGHT * 2) - 1), 246 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_30_HEIGHT * 6) + (ROUTE_30_HEIGHT * ROUTE_30_WIDTH))) ; window
-
-	; EAST to Route 29
-	map ROUTE_29
-	dw (Route29_BlockData) ; strip pointer
-	dw $c865 ; strip destination
-	db 9, ROUTE_29_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_29_WIDTH) ; window
-; 0x94e20
-
 	map_header_2 VioletCity, VIOLET_CITY, $5, SOUTH | WEST | EAST ; 0x94e20
+	connection south, ROUTE_32, Route32, 0, 0, 10, VIOLET_CITY
+	connection west, ROUTE_36, Route36, 0, 0, 9, VIOLET_CITY
+	connection east, ROUTE_31, Route31, 9, 0, 9, VIOLET_CITY
 
-	; SOUTH to Route 32
-	map ROUTE_32
-	dw (Route32_BlockData) ; strip pointer
-	dw ($C703 + 256 + ((VIOLET_CITY_HEIGHT + 3) * (VIOLET_CITY_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_32_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_32_WIDTH) ; window
-
-	; WEST to Route 36
-	map ROUTE_36
-	dw (Route36_BlockData + ROUTE_36_WIDTH - 3) ; strip pointer
-	dw $c84e ; strip destination
-	db 9, ROUTE_36_WIDTH ; (connection strip length, connected map width)
-	db 0, ((ROUTE_36_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 59) ; window
-
-	; EAST to Route 31
-	map ROUTE_31
-	dw (Route31_BlockData) ; strip pointer
-	dw $c94f ; strip destination
-	db 9, ROUTE_31_WIDTH ; (connection strip length, connected map width)
-	db 238, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_31_WIDTH) ; window
-; 0x94e50
-
 	map_header_2 AzaleaTown, AZALEA_TOWN, $5, WEST | EAST ; 0x94e50
+	connection west, ROUTE_34, Route34, -3, 15, 12, AZALEA_TOWN
+	connection east, ROUTE_33, Route33, 0, 0, 9, AZALEA_TOWN
 
-	; WEST to Route 34
-	map ROUTE_34
-	dw (Route34_BlockData + (((ROUTE_34_HEIGHT - AZALEA_TOWN_HEIGHT) * ROUTE_34_WIDTH) - (ROUTE_34_WIDTH * 3) + (ROUTE_34_WIDTH - 1) - 2)) ; strip pointer
-	dw $c800 ; strip destination
-	db 12, ROUTE_34_WIDTH ; (connection strip length, connected map width)
-	db 36, ((ROUTE_34_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 19) ; window
-
-	; EAST to Route 33
-	map ROUTE_33
-	dw (Route33_BlockData) ; strip pointer
-	dw $c865 ; strip destination
-	db 9, ROUTE_33_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_33_WIDTH) ; window
-; 0x94e74
-
 	map_header_2 CianwoodCity, CIANWOOD_CITY, $35, EAST ; 0x94e74
+	connection east, ROUTE_41, Route41, 0, 0, 27, CIANWOOD_CITY
 
-	; EAST to Route 41
-	map ROUTE_41
-	dw (Route41_BlockData) ; strip pointer
-	dw $c851 ; strip destination
-	db 27, ROUTE_41_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_41_WIDTH) ; window
-; 0x94e8c
-
 	map_header_2 GoldenrodCity, GOLDENROD_CITY, $35, NORTH | SOUTH ; 0x94e8c
+	connection north, ROUTE_35, Route35, 5, 0, 10, GOLDENROD_CITY
+	connection south, ROUTE_34, Route34, 5, 0, 10, GOLDENROD_CITY
 
-	; NORTH to Route 35
-	map ROUTE_35
-	dw (Route35_BlockData + (ROUTE_35_HEIGHT * ROUTE_35_WIDTH) - (ROUTE_35_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 261) ; strip destination
-	db 10, ROUTE_35_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_35_HEIGHT * 2) - 1), 246 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_35_HEIGHT * 6) + (ROUTE_35_HEIGHT * ROUTE_35_WIDTH))) ; window
-
-	; SOUTH to Route 34
-	map ROUTE_34
-	dw (Route34_BlockData) ; strip pointer
-	dw ($C703 + 261 + ((GOLDENROD_CITY_HEIGHT + 3) * (GOLDENROD_CITY_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_34_WIDTH ; (connection strip length, connected map width)
-	db 0, 246 ; yoffset, xoffset
-	dw ($C807 + ROUTE_34_WIDTH) ; window
-; 0x94eb0
-
 	map_header_2 OlivineCity, OLIVINE_CITY, $35, NORTH | WEST ; 0x94eb0
+	connection north, ROUTE_39, Route39, 5, 0, 10, OLIVINE_CITY
+	connection west, ROUTE_40, Route40, 9, 0, 12, OLIVINE_CITY
 
-	; NORTH to Route 39
-	map ROUTE_39
-	dw (Route39_BlockData + (ROUTE_39_HEIGHT * ROUTE_39_WIDTH) - (ROUTE_39_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 261) ; strip destination
-	db 10, ROUTE_39_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_39_HEIGHT * 2) - 1), 246 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_39_HEIGHT * 6) + (ROUTE_39_HEIGHT * ROUTE_39_WIDTH))) ; window
-
-	; WEST to Route 40
-	map ROUTE_40
-	dw (Route40_BlockData + ROUTE_40_WIDTH - 3) ; strip pointer
-	dw $c938 ; strip destination
-	db 12, ROUTE_40_WIDTH ; (connection strip length, connected map width)
-	db 238, ((ROUTE_40_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 19) ; window
-; 0x94ed4
-
 	map_header_2 EcruteakCity, ECRUTEAK_CITY, $5, SOUTH | WEST | EAST ; 0x94ed4
+	connection south, ROUTE_37, Route37, 5, 0, 10, ECRUTEAK_CITY
+	connection west, ROUTE_38, Route38, 5, 0, 9, ECRUTEAK_CITY
+	connection east, ROUTE_42, Route42, 9, 0, 9, ECRUTEAK_CITY
 
-	; SOUTH to Route 37
-	map ROUTE_37
-	dw (Route37_BlockData) ; strip pointer
-	dw ($C703 + 261 + ((ECRUTEAK_CITY_HEIGHT + 3) * (ECRUTEAK_CITY_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_37_WIDTH ; (connection strip length, connected map width)
-	db 0, 246 ; yoffset, xoffset
-	dw ($C807 + ROUTE_37_WIDTH) ; window
-
-	; WEST to Route 38
-	map ROUTE_38
-	dw (Route38_BlockData + ROUTE_38_WIDTH - 3) ; strip pointer
-	dw $c8d0 ; strip destination
-	db 9, ROUTE_38_WIDTH ; (connection strip length, connected map width)
-	db 246, ((ROUTE_38_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-
-	; EAST to Route 42
-	map ROUTE_42
-	dw (Route42_BlockData) ; strip pointer
-	dw $c94f ; strip destination
-	db 9, ROUTE_42_WIDTH ; (connection strip length, connected map width)
-	db 238, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_42_WIDTH) ; window
-; 0x94f04
-
 	map_header_2 MahoganyTown, MAHOGANY_TOWN, $71, NORTH | WEST | EAST ; 0x94f04
+	connection north, ROUTE_43, Route43, 0, 0, 10, MAHOGANY_TOWN
+	connection west, ROUTE_42, Route42, 0, 0, 9, MAHOGANY_TOWN
+	connection east, ROUTE_44, Route44, 0, 0, 9, MAHOGANY_TOWN
 
-	; NORTH to Route 43
-	map ROUTE_43
-	dw (Route43_BlockData + (ROUTE_43_HEIGHT * ROUTE_43_WIDTH) - (ROUTE_43_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 256) ; strip destination
-	db 10, ROUTE_43_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_43_HEIGHT * 2) - 1), 0 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_43_HEIGHT * 6) + (ROUTE_43_HEIGHT * ROUTE_43_WIDTH))) ; window
-
-	; WEST to Route 42
-	map ROUTE_42
-	dw (Route42_BlockData + ROUTE_42_WIDTH - 3) ; strip pointer
-	dw $c830 ; strip destination
-	db 9, ROUTE_42_WIDTH ; (connection strip length, connected map width)
-	db 0, ((ROUTE_42_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 59) ; window
-
-	; EAST to Route 44
-	map ROUTE_44
-	dw (Route44_BlockData) ; strip pointer
-	dw $c83d ; strip destination
-	db 9, ROUTE_44_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_44_WIDTH) ; window
-; 0x94f34
-
 	map_header_2 LakeofRage, LAKE_OF_RAGE, $5, SOUTH ; 0x94f34
+	connection south, ROUTE_43, Route43, 5, 0, 10, LAKE_OF_RAGE
 
-	; SOUTH to Route 43
-	map ROUTE_43
-	dw (Route43_BlockData) ; strip pointer
-	dw ($C703 + 261 + ((LAKE_OF_RAGE_HEIGHT + 3) * (LAKE_OF_RAGE_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_43_WIDTH ; (connection strip length, connected map width)
-	db 0, 246 ; yoffset, xoffset
-	dw ($C807 + ROUTE_43_WIDTH) ; window
-; 0x94f4c
-
 	map_header_2 BlackthornCity, BLACKTHORN_CITY, $71, SOUTH | WEST ; 0x94f4c
+	connection south, ROUTE_45, Route45, 0, 0, 10, BLACKTHORN_CITY
+	connection west, ROUTE_44, Route44, 9, 0, 9, BLACKTHORN_CITY
 
-	; SOUTH to Route 45
-	map ROUTE_45
-	dw (Route45_BlockData) ; strip pointer
-	dw ($C703 + 256 + ((BLACKTHORN_CITY_HEIGHT + 3) * (BLACKTHORN_CITY_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_45_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_45_WIDTH) ; window
-
-	; WEST to Route 44
-	map ROUTE_44
-	dw (Route44_BlockData + ROUTE_44_WIDTH - 3) ; strip pointer
-	dw $c938 ; strip destination
-	db 9, ROUTE_44_WIDTH ; (connection strip length, connected map width)
-	db 238, ((ROUTE_44_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 59) ; window
-; 0x94f70
-
 	map_header_2 SilverCaveOutside, SILVER_CAVE_OUTSIDE, $2c, EAST ; 0x94f70
+	connection east, ROUTE_28, Route28, 9, 0, 9, SILVER_CAVE_OUTSIDE
 
-	; EAST to Route 28
-	map ROUTE_28
-	dw (Route28_BlockData) ; strip pointer
-	dw $c94f ; strip destination
-	db 9, ROUTE_28_WIDTH ; (connection strip length, connected map width)
-	db 238, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_28_WIDTH) ; window
-; 0x94f88
-
 	map_header_2 Route26, ROUTE_26, $5, WEST ; 0x94f88
+	connection west, ROUTE_27, Route27, 45, 0, 9, ROUTE_26
 
-	; WEST to Route 27
-	map ROUTE_27
-	dw (Route27_BlockData + ROUTE_27_WIDTH - 3) ; strip pointer
-	dw $cb00 ; strip destination
-	db 9, ROUTE_27_WIDTH ; (connection strip length, connected map width)
-	db 166, ((ROUTE_27_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 79) ; window
-; 0x94fa0
-
 	map_header_2 Route27, ROUTE_27, $35, WEST | EAST ; 0x94fa0
+	connection west, NEW_BARK_TOWN, NewBarkTown, 0, 0, 9, ROUTE_27
+	connection east, ROUTE_26, Route26, -3, 42, 12, ROUTE_27
 
-	; WEST to New Bark Town
-	map NEW_BARK_TOWN
-	dw (NewBarkTown_BlockData + NEW_BARK_TOWN_WIDTH - 3) ; strip pointer
-	dw $c88a ; strip destination
-	db 9, NEW_BARK_TOWN_WIDTH ; (connection strip length, connected map width)
-	db 0, ((NEW_BARK_TOWN_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 19) ; window
-
-	; EAST to Route 26
-	map ROUTE_26
-	dw (Route26_BlockData + ((ROUTE_26_HEIGHT - 12) * ROUTE_26_WIDTH)) ; strip pointer
-	dw $c82b ; strip destination
-	db 12, ROUTE_26_WIDTH ; (connection strip length, connected map width)
-	db 90, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_26_WIDTH) ; window
-; 0x94fc4
-
 	map_header_2 Route28, ROUTE_28, $2c, WEST ; 0x94fc4
+	connection west, SILVER_CAVE_OUTSIDE, SilverCaveOutside, -3, 6, 12, ROUTE_28
 
-	; WEST to Silver Cave Outside
-	map SILVER_CAVE_OUTSIDE
-	dw (SilverCaveOutside_BlockData + (((SILVER_CAVE_OUTSIDE_HEIGHT - ROUTE_28_HEIGHT) * SILVER_CAVE_OUTSIDE_WIDTH) - (SILVER_CAVE_OUTSIDE_WIDTH * 3) + (SILVER_CAVE_OUTSIDE_WIDTH - 1) - 2)) ; strip pointer
-	dw $c800 ; strip destination
-	db 12, SILVER_CAVE_OUTSIDE_WIDTH ; (connection strip length, connected map width)
-	db 18, ((SILVER_CAVE_OUTSIDE_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-; 0x94fdc
-
 	map_header_2 Route29, ROUTE_29, $5, NORTH | WEST | EAST ; 0x94fdc
+	connection north, ROUTE_46, Route46, 10, 0, 10, ROUTE_29
+	connection west, CHERRYGROVE_CITY, CherrygroveCity, 0, 0, 9, ROUTE_29
+	connection east, NEW_BARK_TOWN, NewBarkTown, 0, 0, 9, ROUTE_29
 
-	; NORTH to Route 46
-	map ROUTE_46
-	dw (Route46_BlockData + (ROUTE_46_HEIGHT * ROUTE_46_WIDTH) - (ROUTE_46_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 266) ; strip destination
-	db 10, ROUTE_46_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_46_HEIGHT * 2) - 1), 236 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_46_HEIGHT * 6) + (ROUTE_46_HEIGHT * ROUTE_46_WIDTH))) ; window
-
-	; WEST to Cherrygrove City
-	map CHERRYGROVE_CITY
-	dw (CherrygroveCity_BlockData + CHERRYGROVE_CITY_WIDTH - 3) ; strip pointer
-	dw $c86c ; strip destination
-	db 9, CHERRYGROVE_CITY_WIDTH ; (connection strip length, connected map width)
-	db 0, ((CHERRYGROVE_CITY_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-
-	; EAST to New Bark Town
-	map NEW_BARK_TOWN
-	dw (NewBarkTown_BlockData) ; strip pointer
-	dw $c88d ; strip destination
-	db 9, NEW_BARK_TOWN_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + NEW_BARK_TOWN_WIDTH) ; window
-; 0x9500c
-
 	map_header_2 Route30, ROUTE_30, $5, NORTH | SOUTH ; 0x9500c
+	connection north, ROUTE_31, Route31, -3, 7, 13, ROUTE_30
+	connection south, CHERRYGROVE_CITY, CherrygroveCity, -3, 2, 16, ROUTE_30
 
-	; NORTH to Route 31
-	map ROUTE_31
-	dw (Route31_BlockData + ((ROUTE_31_HEIGHT - 3) * ROUTE_31_WIDTH) + 7) ; strip pointer
-	dw ($C703 + 253) ; strip destination
-	db 13, ROUTE_31_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_31_HEIGHT * 2) - 1), 20 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_31_HEIGHT * 6) + (ROUTE_31_HEIGHT * ROUTE_31_WIDTH))) ; window
-
-	; SOUTH to Cherrygrove City
-	map CHERRYGROVE_CITY
-	dw (CherrygroveCity_BlockData + ((10 - 16 + ROUTE_30_WIDTH) / 2)) ; strip pointer
-	dw ($C703 + 253 + ((ROUTE_30_HEIGHT + 3) * (ROUTE_30_WIDTH + 6))) ; strip destination
-	db 16, CHERRYGROVE_CITY_WIDTH ; (connection strip length, connected map width)
-	db 0, 10 ; yoffset, xoffset
-	dw ($C807 + CHERRYGROVE_CITY_WIDTH) ; window
-; 0x95030
-
 	map_header_2 Route31, ROUTE_31, $5, SOUTH | WEST ; 0x95030
+	connection south, ROUTE_30, Route30, 10, 0, 10, ROUTE_31
+	connection west, VIOLET_CITY, VioletCity, -3, 6, 12, ROUTE_31
 
-	; SOUTH to Route 30
-	map ROUTE_30
-	dw (Route30_BlockData) ; strip pointer
-	dw ($C703 + 266 + ((ROUTE_31_HEIGHT + 3) * (ROUTE_31_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_30_WIDTH ; (connection strip length, connected map width)
-	db 0, 236 ; yoffset, xoffset
-	dw ($C807 + ROUTE_30_WIDTH) ; window
-
-	; WEST to Violet City
-	map VIOLET_CITY
-	dw (VioletCity_BlockData + (((VIOLET_CITY_HEIGHT - ROUTE_31_HEIGHT) * VIOLET_CITY_WIDTH) - (VIOLET_CITY_WIDTH * 3) + (VIOLET_CITY_WIDTH - 1) - 2)) ; strip pointer
-	dw $c800 ; strip destination
-	db 12, VIOLET_CITY_WIDTH ; (connection strip length, connected map width)
-	db 18, ((VIOLET_CITY_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-; 0x95054
-
 	map_header_2 Route32, ROUTE_32, $5, NORTH | SOUTH ; 0x95054
+	connection north, VIOLET_CITY, VioletCity, 0, 0, 13, ROUTE_32
+	connection south, ROUTE_33, Route33, 0, 0, 10, ROUTE_32
 
-	; NORTH to Violet City
-	map VIOLET_CITY
-	dw (VioletCity_BlockData + (VIOLET_CITY_HEIGHT * VIOLET_CITY_WIDTH) - (VIOLET_CITY_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 256) ; strip destination
-	db 13, VIOLET_CITY_WIDTH ; (connection strip length, connected map width)
-	db ((VIOLET_CITY_HEIGHT * 2) - 1), 0 ; yoffset, xoffset
-	dw ($C801 + ((VIOLET_CITY_HEIGHT * 6) + (VIOLET_CITY_HEIGHT * VIOLET_CITY_WIDTH))) ; window
-
-	; SOUTH to Route 33
-	map ROUTE_33
-	dw (Route33_BlockData) ; strip pointer
-	dw ($C703 + 256 + ((ROUTE_32_HEIGHT + 3) * (ROUTE_32_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_33_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_33_WIDTH) ; window
-; 0x95078
-
 	map_header_2 Route33, ROUTE_33, $5, NORTH | WEST ; 0x95078
+	connection north, ROUTE_32, Route32, 0, 0, 10, ROUTE_33
+	connection west, AZALEA_TOWN, AzaleaTown, 0, 0, 9, ROUTE_33
 
-	; NORTH to Route 32
-	map ROUTE_32
-	dw (Route32_BlockData + (ROUTE_32_HEIGHT * ROUTE_32_WIDTH) - (ROUTE_32_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 256) ; strip destination
-	db 10, ROUTE_32_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_32_HEIGHT * 2) - 1), 0 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_32_HEIGHT * 6) + (ROUTE_32_HEIGHT * ROUTE_32_WIDTH))) ; window
-
-	; WEST to Azalea Town
-	map AZALEA_TOWN
-	dw (AzaleaTown_BlockData + AZALEA_TOWN_WIDTH - 3) ; strip pointer
-	dw $c830 ; strip destination
-	db 9, AZALEA_TOWN_WIDTH ; (connection strip length, connected map width)
-	db 0, ((AZALEA_TOWN_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-; 0x9509c
-
 	map_header_2 Route34, ROUTE_34, $5, NORTH | EAST ; 0x9509c
+	connection north, GOLDENROD_CITY, GoldenrodCity, -3, 2, 16, ROUTE_34
+	connection east, AZALEA_TOWN, AzaleaTown, 18, 0, 9, ROUTE_34
 
-	; NORTH to Goldenrod City
-	map GOLDENROD_CITY
-	dw (GoldenrodCity_BlockData + GOLDENROD_CITY_WIDTH + 10 + (16 * GOLDENROD_CITY_HEIGHT) - 16) ; strip pointer
-	dw ($C703 + 253) ; strip destination
-	db 16, GOLDENROD_CITY_WIDTH ; (connection strip length, connected map width)
-	db ((GOLDENROD_CITY_HEIGHT * 2) - 1), 10 ; yoffset, xoffset
-	dw ($C801 + ((GOLDENROD_CITY_HEIGHT * 6) + (GOLDENROD_CITY_HEIGHT * GOLDENROD_CITY_WIDTH))) ; window
-
-	; EAST to Azalea Town
-	map AZALEA_TOWN
-	dw (AzaleaTown_BlockData) ; strip pointer
-	dw $c95d ; strip destination
-	db 9, AZALEA_TOWN_WIDTH ; (connection strip length, connected map width)
-	db 220, 0 ; yoffset, xoffset
-	dw ($C807 + AZALEA_TOWN_WIDTH) ; window
-; 0x950c0
-
 	map_header_2 Route35, ROUTE_35, $5, NORTH | SOUTH ; 0x950c0
+	connection north, ROUTE_36, Route36, 0, 0, 13, ROUTE_35
+	connection south, GOLDENROD_CITY, GoldenrodCity, -3, 2, 16, ROUTE_35
 
-	; NORTH to Route 36
-	map ROUTE_36
-	dw (Route36_BlockData + (ROUTE_36_HEIGHT * ROUTE_36_WIDTH) - (ROUTE_36_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 256) ; strip destination
-	db 13, ROUTE_36_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_36_HEIGHT * 2) - 1), 0 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_36_HEIGHT * 6) + (ROUTE_36_HEIGHT * ROUTE_36_WIDTH))) ; window
-
-	; SOUTH to Goldenrod City
-	map GOLDENROD_CITY
-	dw (GoldenrodCity_BlockData + ((10 - 16 + ROUTE_35_WIDTH) / 2)) ; strip pointer
-	dw ($C703 + 253 + ((ROUTE_35_HEIGHT + 3) * (ROUTE_35_WIDTH + 6))) ; strip destination
-	db 16, GOLDENROD_CITY_WIDTH ; (connection strip length, connected map width)
-	db 0, 10 ; yoffset, xoffset
-	dw ($C807 + GOLDENROD_CITY_WIDTH) ; window
-; 0x950e4
-
 	map_header_2 Route36, ROUTE_36, $5, NORTH | SOUTH | EAST ; 0x950e4
+	connection north, ROUTE_37, Route37, 10, 0, 10, ROUTE_36
+	connection south, ROUTE_35, Route35, 0, 0, 10, ROUTE_36
+	connection east, VIOLET_CITY, VioletCity, 0, 0, 12, ROUTE_36
 
-	; NORTH to Route 37
-	map ROUTE_37
-	dw (Route37_BlockData + (ROUTE_37_HEIGHT * ROUTE_37_WIDTH) - (ROUTE_37_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 266) ; strip destination
-	db 10, ROUTE_37_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_37_HEIGHT * 2) - 1), 236 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_37_HEIGHT * 6) + (ROUTE_37_HEIGHT * ROUTE_37_WIDTH))) ; window
-
-	; SOUTH to Route 35
-	map ROUTE_35
-	dw (Route35_BlockData) ; strip pointer
-	dw ($C703 + 256 + ((ROUTE_36_HEIGHT + 3) * (ROUTE_36_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_35_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_35_WIDTH) ; window
-
-	; EAST to Violet City
-	map VIOLET_CITY
-	dw (VioletCity_BlockData) ; strip pointer
-	dw $c88d ; strip destination
-	db 12, VIOLET_CITY_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + VIOLET_CITY_WIDTH) ; window
-; 0x95114
-
 	map_header_2 Route37, ROUTE_37, $5, NORTH | SOUTH ; 0x95114
+	connection north, ECRUTEAK_CITY, EcruteakCity, -3, 2, 16, ROUTE_37
+	connection south, ROUTE_36, Route36, -3, 7, 16, ROUTE_37
 
-	; NORTH to Ecruteak City
-	map ECRUTEAK_CITY
-	dw (EcruteakCity_BlockData + ECRUTEAK_CITY_WIDTH + 10 + (16 * ECRUTEAK_CITY_HEIGHT) - 16) ; strip pointer
-	dw ($C703 + 253) ; strip destination
-	db 16, ECRUTEAK_CITY_WIDTH ; (connection strip length, connected map width)
-	db ((ECRUTEAK_CITY_HEIGHT * 2) - 1), 10 ; yoffset, xoffset
-	dw ($C801 + ((ECRUTEAK_CITY_HEIGHT * 6) + (ECRUTEAK_CITY_HEIGHT * ECRUTEAK_CITY_WIDTH))) ; window
-
-	; SOUTH to Route 36
-	map ROUTE_36
-	dw (Route36_BlockData + ((20 - 16 + ROUTE_37_WIDTH) / 2)) ; strip pointer
-	dw ($C703 + 253 + ((ROUTE_37_HEIGHT + 3) * (ROUTE_37_WIDTH + 6))) ; strip destination
-	db 16, ROUTE_36_WIDTH ; (connection strip length, connected map width)
-	db 0, 20 ; yoffset, xoffset
-	dw ($C807 + ROUTE_36_WIDTH) ; window
-; 0x95138
-
 	map_header_2 Route38, ROUTE_38, $5, WEST | EAST ; 0x95138
+	connection west, ROUTE_39, Route39, 0, 0, 12, ROUTE_38
+	connection east, ECRUTEAK_CITY, EcruteakCity, -3, 2, 15, ROUTE_38
 
-	; WEST to Route 39
-	map ROUTE_39
-	dw (Route39_BlockData + ROUTE_39_WIDTH - 3) ; strip pointer
-	dw $c84e ; strip destination
-	db 12, ROUTE_39_WIDTH ; (connection strip length, connected map width)
-	db 0, ((ROUTE_39_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 19) ; window
-
-	; EAST to Ecruteak City
-	map ECRUTEAK_CITY
-	dw (EcruteakCity_BlockData + ((100 - (ECRUTEAK_CITY_WIDTH * 4)) * 2)) ; strip pointer
-	dw $c817 ; strip destination
-	db 15, ECRUTEAK_CITY_WIDTH ; (connection strip length, connected map width)
-	db 10, 0 ; yoffset, xoffset
-	dw ($C807 + ECRUTEAK_CITY_WIDTH) ; window
-; 0x9515c
-
 	map_header_2 Route39, ROUTE_39, $5, SOUTH | EAST ; 0x9515c
+	connection south, OLIVINE_CITY, OlivineCity, -3, 2, 16, ROUTE_39
+	connection east, ROUTE_38, Route38, 0, 0, 9, ROUTE_39
 
-	; SOUTH to Olivine City
-	map OLIVINE_CITY
-	dw (OlivineCity_BlockData + ((10 - 16 + ROUTE_39_WIDTH) / 2)) ; strip pointer
-	dw ($C703 + 253 + ((ROUTE_39_HEIGHT + 3) * (ROUTE_39_WIDTH + 6))) ; strip destination
-	db 16, OLIVINE_CITY_WIDTH ; (connection strip length, connected map width)
-	db 0, 10 ; yoffset, xoffset
-	dw ($C807 + OLIVINE_CITY_WIDTH) ; window
-
-	; EAST to Route 38
-	map ROUTE_38
-	dw (Route38_BlockData) ; strip pointer
-	dw $c83d ; strip destination
-	db 9, ROUTE_38_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_38_WIDTH) ; window
-; 0x95180
-
 	map_header_2 Route40, ROUTE_40, $35, SOUTH | EAST ; 0x95180
+	connection south, ROUTE_41, Route41, -3, 12, 13, ROUTE_40
+	connection east, OLIVINE_CITY, OlivineCity, -3, 6, 12, ROUTE_40
 
-	; SOUTH to Route 41
-	map ROUTE_41
-	dw (Route41_BlockData + (((30 - 13 + ROUTE_40_WIDTH) / 2) - 1)) ; strip pointer
-	dw ($C703 + 253 + ((ROUTE_40_HEIGHT + 3) * (ROUTE_40_WIDTH + 6))) ; strip destination
-	db 13, ROUTE_41_WIDTH ; (connection strip length, connected map width)
-	db 0, 30 ; yoffset, xoffset
-	dw ($C807 + ROUTE_41_WIDTH) ; window
-
-	; EAST to Olivine City
-	map OLIVINE_CITY
-	dw (OlivineCity_BlockData + ((OLIVINE_CITY_HEIGHT - 12) * OLIVINE_CITY_WIDTH)) ; strip pointer
-	dw $c80d ; strip destination
-	db 12, OLIVINE_CITY_WIDTH ; (connection strip length, connected map width)
-	db 18, 0 ; yoffset, xoffset
-	dw ($C807 + OLIVINE_CITY_WIDTH) ; window
-; 0x951a4
-
 	map_header_2 Route41, ROUTE_41, $35, NORTH | WEST ; 0x951a4
+	connection north, ROUTE_40, Route40, 15, 0, 10, ROUTE_41
+	connection west, CIANWOOD_CITY, CianwoodCity, 0, 0, 27, ROUTE_41
 
-	; NORTH to Route 40
-	map ROUTE_40
-	dw (Route40_BlockData + (ROUTE_40_HEIGHT * ROUTE_40_WIDTH) - (ROUTE_40_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 271) ; strip destination
-	db 10, ROUTE_40_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_40_HEIGHT * 2) - 1), 226 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_40_HEIGHT * 6) + (ROUTE_40_HEIGHT * ROUTE_40_WIDTH))) ; window
-
-	; WEST to Cianwood City
-	map CIANWOOD_CITY
-	dw (CianwoodCity_BlockData + CIANWOOD_CITY_WIDTH - 3) ; strip pointer
-	dw $c85d ; strip destination
-	db 27, CIANWOOD_CITY_WIDTH ; (connection strip length, connected map width)
-	db 0, ((CIANWOOD_CITY_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 29) ; window
-; 0x951c8
-
 	map_header_2 Route42, ROUTE_42, $5, WEST | EAST ; 0x951c8
+	connection west, ECRUTEAK_CITY, EcruteakCity, -3, 6, 12, ROUTE_42
+	connection east, MAHOGANY_TOWN, MahoganyTown, 0, 0, 9, ROUTE_42
 
-	; WEST to Ecruteak City
-	map ECRUTEAK_CITY
-	dw (EcruteakCity_BlockData + (((ECRUTEAK_CITY_HEIGHT - ROUTE_42_HEIGHT) * ECRUTEAK_CITY_WIDTH) - (ECRUTEAK_CITY_WIDTH * 3) + (ECRUTEAK_CITY_WIDTH - 1) - 2)) ; strip pointer
-	dw $c800 ; strip destination
-	db 12, ECRUTEAK_CITY_WIDTH ; (connection strip length, connected map width)
-	db 18, ((ECRUTEAK_CITY_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-
-	; EAST to Mahogany Town
-	map MAHOGANY_TOWN
-	dw (MahoganyTown_BlockData) ; strip pointer
-	dw $c88d ; strip destination
-	db 9, MAHOGANY_TOWN_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + MAHOGANY_TOWN_WIDTH) ; window
-; 0x951ec
-
 	map_header_2 Route43, ROUTE_43, $5, NORTH | SOUTH ; 0x951ec
+	connection north, LAKE_OF_RAGE, LakeofRage, -3, 2, 16, ROUTE_43
+	connection south, MAHOGANY_TOWN, MahoganyTown, 0, 0, 10, ROUTE_43
 
-	; NORTH to Lake of Rage
-	map LAKE_OF_RAGE
-	dw (LakeofRage_BlockData + LAKE_OF_RAGE_WIDTH + 10 + (16 * LAKE_OF_RAGE_HEIGHT) - 16) ; strip pointer
-	dw ($C703 + 253) ; strip destination
-	db 16, LAKE_OF_RAGE_WIDTH ; (connection strip length, connected map width)
-	db ((LAKE_OF_RAGE_HEIGHT * 2) - 1), 10 ; yoffset, xoffset
-	dw ($C801 + ((LAKE_OF_RAGE_HEIGHT * 6) + (LAKE_OF_RAGE_HEIGHT * LAKE_OF_RAGE_WIDTH))) ; window
-
-	; SOUTH to Mahogany Town
-	map MAHOGANY_TOWN
-	dw (MahoganyTown_BlockData) ; strip pointer
-	dw ($C703 + 256 + ((ROUTE_43_HEIGHT + 3) * (ROUTE_43_WIDTH + 6))) ; strip destination
-	db 10, MAHOGANY_TOWN_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + MAHOGANY_TOWN_WIDTH) ; window
-; 0x95210
-
 	map_header_2 Route44, ROUTE_44, $71, WEST | EAST ; 0x95210
+	connection west, MAHOGANY_TOWN, MahoganyTown, 0, 0, 9, ROUTE_44
+	connection east, BLACKTHORN_CITY, BlackthornCity, -3, 6, 12, ROUTE_44
 
-	; WEST to Mahogany Town
-	map MAHOGANY_TOWN
-	dw (MahoganyTown_BlockData + MAHOGANY_TOWN_WIDTH - 3) ; strip pointer
-	dw $c86c ; strip destination
-	db 9, MAHOGANY_TOWN_WIDTH ; (connection strip length, connected map width)
-	db 0, ((MAHOGANY_TOWN_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 19) ; window
-
-	; EAST to Blackthorn City
-	map BLACKTHORN_CITY
-	dw (BlackthornCity_BlockData + ((BLACKTHORN_CITY_HEIGHT - 12) * BLACKTHORN_CITY_WIDTH)) ; strip pointer
-	dw $c821 ; strip destination
-	db 12, BLACKTHORN_CITY_WIDTH ; (connection strip length, connected map width)
-	db 18, 0 ; yoffset, xoffset
-	dw ($C807 + BLACKTHORN_CITY_WIDTH) ; window
-; 0x95234
-
 	map_header_2 Route45, ROUTE_45, $71, NORTH | WEST ; 0x95234
+	connection north, BLACKTHORN_CITY, BlackthornCity, 0, 0, 13, ROUTE_45
+	connection west, ROUTE_46, Route46, 36, 0, 12, ROUTE_45
 
-	; NORTH to Blackthorn City
-	map BLACKTHORN_CITY
-	dw (BlackthornCity_BlockData + (BLACKTHORN_CITY_HEIGHT * BLACKTHORN_CITY_WIDTH) - (BLACKTHORN_CITY_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 256) ; strip destination
-	db 13, BLACKTHORN_CITY_WIDTH ; (connection strip length, connected map width)
-	db ((BLACKTHORN_CITY_HEIGHT * 2) - 1), 0 ; yoffset, xoffset
-	dw ($C801 + ((BLACKTHORN_CITY_HEIGHT * 6) + (BLACKTHORN_CITY_HEIGHT * BLACKTHORN_CITY_WIDTH))) ; window
-
-	; WEST to Route 46
-	map ROUTE_46
-	dw (Route46_BlockData + ROUTE_46_WIDTH - 3) ; strip pointer
-	dw $ca70 ; strip destination
-	db 12, ROUTE_46_WIDTH ; (connection strip length, connected map width)
-	db 184, ((ROUTE_46_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 19) ; window
-; 0x95258
-
 	map_header_2 Route46, ROUTE_46, $5, SOUTH | EAST ; 0x95258
+	connection south, ROUTE_29, Route29, -3, 7, 16, ROUTE_46
+	connection east, ROUTE_45, Route45, -3, 33, 12, ROUTE_46
 
-	; SOUTH to Route 29
-	map ROUTE_29
-	dw (Route29_BlockData + ((20 - 16 + ROUTE_46_WIDTH) / 2)) ; strip pointer
-	dw ($C703 + 253 + ((ROUTE_46_HEIGHT + 3) * (ROUTE_46_WIDTH + 6))) ; strip destination
-	db 16, ROUTE_29_WIDTH ; (connection strip length, connected map width)
-	db 0, 20 ; yoffset, xoffset
-	dw ($C807 + ROUTE_29_WIDTH) ; window
-
-	; EAST to Route 45
-	map ROUTE_45
-	dw (Route45_BlockData + ((ROUTE_45_HEIGHT - 12) * ROUTE_45_WIDTH)) ; strip pointer
-	dw $c80d ; strip destination
-	db 12, ROUTE_45_WIDTH ; (connection strip length, connected map width)
-	db 72, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_45_WIDTH) ; window
-; 0x9527c
-
 	map_header_2 PewterCity, PEWTER_CITY, $f, SOUTH | EAST ; 0x9527c
+	connection south, ROUTE_2, Route2, 5, 0, 10, PEWTER_CITY
+	connection east, ROUTE_3, Route3, 5, 0, 9, PEWTER_CITY
 
-	; SOUTH to Route 2
-	map ROUTE_2
-	dw (Route2_BlockData) ; strip pointer
-	dw ($C703 + 261 + ((PEWTER_CITY_HEIGHT + 3) * (PEWTER_CITY_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_2_WIDTH ; (connection strip length, connected map width)
-	db 0, 246 ; yoffset, xoffset
-	dw ($C807 + ROUTE_2_WIDTH) ; window
-
-	; EAST to Route 3
-	map ROUTE_3
-	dw (Route3_BlockData) ; strip pointer
-	dw $c8e7 ; strip destination
-	db 9, ROUTE_3_WIDTH ; (connection strip length, connected map width)
-	db 246, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_3_WIDTH) ; window
-; 0x952a0
-
 	map_header_2 Route2, ROUTE_2, $f, NORTH | SOUTH ; 0x952a0
+	connection north, PEWTER_CITY, PewterCity, -3, 2, 16, ROUTE_2
+	connection south, VIRIDIAN_CITY, ViridianCity, -3, 2, 16, ROUTE_2
 
-	; NORTH to Pewter City
-	map PEWTER_CITY
-	dw (PewterCity_BlockData + PEWTER_CITY_WIDTH + 10 + (16 * PEWTER_CITY_HEIGHT) - 16) ; strip pointer
-	dw ($C703 + 253) ; strip destination
-	db 16, PEWTER_CITY_WIDTH ; (connection strip length, connected map width)
-	db ((PEWTER_CITY_HEIGHT * 2) - 1), 10 ; yoffset, xoffset
-	dw ($C801 + ((PEWTER_CITY_HEIGHT * 6) + (PEWTER_CITY_HEIGHT * PEWTER_CITY_WIDTH))) ; window
-
-	; SOUTH to Viridian City
-	map VIRIDIAN_CITY
-	dw (ViridianCity_BlockData + ((10 - 16 + ROUTE_2_WIDTH) / 2)) ; strip pointer
-	dw ($C703 + 253 + ((ROUTE_2_HEIGHT + 3) * (ROUTE_2_WIDTH + 6))) ; strip destination
-	db 16, VIRIDIAN_CITY_WIDTH ; (connection strip length, connected map width)
-	db 0, 10 ; yoffset, xoffset
-	dw ($C807 + VIRIDIAN_CITY_WIDTH) ; window
-; 0x952c4
-
 	map_header_2 ViridianCity, VIRIDIAN_CITY, $f, NORTH | SOUTH | WEST ; 0x952c4
+	connection north, ROUTE_2, Route2, 5, 0, 10, VIRIDIAN_CITY
+	connection south, ROUTE_1, Route1, 10, 0, 10, VIRIDIAN_CITY
+	connection west, ROUTE_22, Route22, 4, 0, 9, VIRIDIAN_CITY
 
-	; NORTH to Route 2
-	map ROUTE_2
-	dw (Route2_BlockData + (ROUTE_2_HEIGHT * ROUTE_2_WIDTH) - (ROUTE_2_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 261) ; strip destination
-	db 10, ROUTE_2_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_2_HEIGHT * 2) - 1), 246 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_2_HEIGHT * 6) + (ROUTE_2_HEIGHT * ROUTE_2_WIDTH))) ; window
-
-	; SOUTH to Route 1
-	map ROUTE_1
-	dw (Route1_BlockData) ; strip pointer
-	dw ($C703 + 266 + ((VIRIDIAN_CITY_HEIGHT + 3) * (VIRIDIAN_CITY_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_1_WIDTH ; (connection strip length, connected map width)
-	db 0, 236 ; yoffset, xoffset
-	dw ($C807 + ROUTE_1_WIDTH) ; window
-
-	; WEST to Route 22
-	map ROUTE_22
-	dw (Route22_BlockData + ROUTE_22_WIDTH - 3) ; strip pointer
-	dw $c8b6 ; strip destination
-	db 9, ROUTE_22_WIDTH ; (connection strip length, connected map width)
-	db 248, ((ROUTE_22_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-; 0x952f4
-
 	map_header_2 Route22, ROUTE_22, $2c, EAST ; 0x952f4
+	connection east, VIRIDIAN_CITY, ViridianCity, -3, 1, 15, ROUTE_22
 
-	; EAST to Viridian City
-	map VIRIDIAN_CITY
-	dw (ViridianCity_BlockData + 100 - (VIRIDIAN_CITY_WIDTH * 4)) ; strip pointer
-	dw $c817 ; strip destination
-	db 15, VIRIDIAN_CITY_WIDTH ; (connection strip length, connected map width)
-	db 8, 0 ; yoffset, xoffset
-	dw ($C807 + VIRIDIAN_CITY_WIDTH) ; window
-; 0x9530c
-
 	map_header_2 Route1, ROUTE_1, $f, NORTH | SOUTH ; 0x9530c
+	connection north, VIRIDIAN_CITY, ViridianCity, -3, 7, 13, ROUTE_1
+	connection south, PALLET_TOWN, PalletTown, 0, 0, 10, ROUTE_1
 
-	; NORTH to Viridian City
-	map VIRIDIAN_CITY
-	dw (ViridianCity_BlockData + ((VIRIDIAN_CITY_HEIGHT - 3) * VIRIDIAN_CITY_WIDTH) + 7) ; strip pointer
-	dw ($C703 + 253) ; strip destination
-	db 13, VIRIDIAN_CITY_WIDTH ; (connection strip length, connected map width)
-	db ((VIRIDIAN_CITY_HEIGHT * 2) - 1), 20 ; yoffset, xoffset
-	dw ($C801 + ((VIRIDIAN_CITY_HEIGHT * 6) + (VIRIDIAN_CITY_HEIGHT * VIRIDIAN_CITY_WIDTH))) ; window
-
-	; SOUTH to Pallet Town
-	map PALLET_TOWN
-	dw (PalletTown_BlockData) ; strip pointer
-	dw ($C703 + 256 + ((ROUTE_1_HEIGHT + 3) * (ROUTE_1_WIDTH + 6))) ; strip destination
-	db 10, PALLET_TOWN_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + PALLET_TOWN_WIDTH) ; window
-; 0x95330
-
 	map_header_2 PalletTown, PALLET_TOWN, $f, NORTH | SOUTH ; 0x95330
+	connection north, ROUTE_1, Route1, 0, 0, 10, PALLET_TOWN
+	connection south, ROUTE_21, Route21, 0, 0, 10, PALLET_TOWN
 
-	; NORTH to Route 1
-	map ROUTE_1
-	dw (Route1_BlockData + (ROUTE_1_HEIGHT * ROUTE_1_WIDTH) - (ROUTE_1_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 256) ; strip destination
-	db 10, ROUTE_1_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_1_HEIGHT * 2) - 1), 0 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_1_HEIGHT * 6) + (ROUTE_1_HEIGHT * ROUTE_1_WIDTH))) ; window
-
-	; SOUTH to Route 21
-	map ROUTE_21
-	dw (Route21_BlockData) ; strip pointer
-	dw ($C703 + 256 + ((PALLET_TOWN_HEIGHT + 3) * (PALLET_TOWN_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_21_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_21_WIDTH) ; window
-; 0x95354
-
 	map_header_2 Route21, ROUTE_21, $43, NORTH | SOUTH ; 0x95354
+	connection north, PALLET_TOWN, PalletTown, 0, 0, 10, ROUTE_21
+	connection south, CINNABAR_ISLAND, CinnabarIsland, 0, 0, 10, ROUTE_21
 
-	; NORTH to Pallet Town
-	map PALLET_TOWN
-	dw (PalletTown_BlockData + (PALLET_TOWN_HEIGHT * PALLET_TOWN_WIDTH) - (PALLET_TOWN_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 256) ; strip destination
-	db 10, PALLET_TOWN_WIDTH ; (connection strip length, connected map width)
-	db ((PALLET_TOWN_HEIGHT * 2) - 1), 0 ; yoffset, xoffset
-	dw ($C801 + ((PALLET_TOWN_HEIGHT * 6) + (PALLET_TOWN_HEIGHT * PALLET_TOWN_WIDTH))) ; window
-
-	; SOUTH to Cinnabar Island
-	map CINNABAR_ISLAND
-	dw (CinnabarIsland_BlockData) ; strip pointer
-	dw ($C703 + 256 + ((ROUTE_21_HEIGHT + 3) * (ROUTE_21_WIDTH + 6))) ; strip destination
-	db 10, CINNABAR_ISLAND_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + CINNABAR_ISLAND_WIDTH) ; window
-; 0x95378
-
 	map_header_2 CinnabarIsland, CINNABAR_ISLAND, $43, NORTH | EAST ; 0x95378
+	connection north, ROUTE_21, Route21, 0, 0, 10, CINNABAR_ISLAND
+	connection east, ROUTE_20, Route20, 0, 0, 9, CINNABAR_ISLAND
 
-	; NORTH to Route 21
-	map ROUTE_21
-	dw (Route21_BlockData + (ROUTE_21_HEIGHT * ROUTE_21_WIDTH) - (ROUTE_21_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 256) ; strip destination
-	db 10, ROUTE_21_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_21_HEIGHT * 2) - 1), 0 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_21_HEIGHT * 6) + (ROUTE_21_HEIGHT * ROUTE_21_WIDTH))) ; window
-
-	; EAST to Route 20
-	map ROUTE_20
-	dw (Route20_BlockData) ; strip pointer
-	dw $c83d ; strip destination
-	db 9, ROUTE_20_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_20_WIDTH) ; window
-; 0x9539c
-
 	map_header_2 Route20, ROUTE_20, $43, WEST | EAST ; 0x9539c
+	connection west, CINNABAR_ISLAND, CinnabarIsland, 0, 0, 9, ROUTE_20
+	connection east, ROUTE_19, Route19, -3, 6, 12, ROUTE_20
 
-	; WEST to Cinnabar Island
-	map CINNABAR_ISLAND
-	dw (CinnabarIsland_BlockData + CINNABAR_ISLAND_WIDTH - 3) ; strip pointer
-	dw $c86c ; strip destination
-	db 9, CINNABAR_ISLAND_WIDTH ; (connection strip length, connected map width)
-	db 0, ((CINNABAR_ISLAND_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 19) ; window
-
-	; EAST to Route 19
-	map ROUTE_19
-	dw (Route19_BlockData + ((ROUTE_19_HEIGHT - 12) * ROUTE_19_WIDTH)) ; strip pointer
-	dw $c821 ; strip destination
-	db 12, ROUTE_19_WIDTH ; (connection strip length, connected map width)
-	db 18, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_19_WIDTH) ; window
-; 0x953c0
-
 	map_header_2 Route19, ROUTE_19, $43, NORTH | WEST ; 0x953c0
+	connection north, FUCHSIA_CITY, FuchsiaCity, 0, 0, 13, ROUTE_19
+	connection west, ROUTE_20, Route20, 9, 0, 9, ROUTE_19
 
-	; NORTH to Fuchsia City
-	map FUCHSIA_CITY
-	dw (FuchsiaCity_BlockData + (FUCHSIA_CITY_HEIGHT * FUCHSIA_CITY_WIDTH) - (FUCHSIA_CITY_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 256) ; strip destination
-	db 13, FUCHSIA_CITY_WIDTH ; (connection strip length, connected map width)
-	db ((FUCHSIA_CITY_HEIGHT * 2) - 1), 0 ; yoffset, xoffset
-	dw ($C801 + ((FUCHSIA_CITY_HEIGHT * 6) + (FUCHSIA_CITY_HEIGHT * FUCHSIA_CITY_WIDTH))) ; window
-
-	; WEST to Route 20
-	map ROUTE_20
-	dw (Route20_BlockData + ROUTE_20_WIDTH - 3) ; strip pointer
-	dw $c8c0 ; strip destination
-	db 9, ROUTE_20_WIDTH ; (connection strip length, connected map width)
-	db 238, ((ROUTE_20_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 59) ; window
-; 0x953e4
-
 	map_header_2 FuchsiaCity, FUCHSIA_CITY, $f, SOUTH | WEST | EAST ; 0x953e4
+	connection south, ROUTE_19, Route19, 0, 0, 10, FUCHSIA_CITY
+	connection west, ROUTE_18, Route18, 7, 0, 9, FUCHSIA_CITY
+	connection east, ROUTE_15, Route15, 9, 0, 9, FUCHSIA_CITY
 
-	; SOUTH to Route 19
-	map ROUTE_19
-	dw (Route19_BlockData) ; strip pointer
-	dw ($C703 + 256 + ((FUCHSIA_CITY_HEIGHT + 3) * (FUCHSIA_CITY_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_19_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_19_WIDTH) ; window
-
-	; WEST to Route 18
-	map ROUTE_18
-	dw (Route18_BlockData + ROUTE_18_WIDTH - 3) ; strip pointer
-	dw $c904 ; strip destination
-	db 9, ROUTE_18_WIDTH ; (connection strip length, connected map width)
-	db 242, ((ROUTE_18_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 19) ; window
-
-	; EAST to Route 15
-	map ROUTE_15
-	dw (Route15_BlockData) ; strip pointer
-	dw $c94f ; strip destination
-	db 9, ROUTE_15_WIDTH ; (connection strip length, connected map width)
-	db 238, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_15_WIDTH) ; window
-; 0x95414
-
 	map_header_2 Route18, ROUTE_18, $43, WEST | EAST ; 0x95414
+	connection west, ROUTE_17, Route17, -3, 35, 10, ROUTE_18
+	connection east, FUCHSIA_CITY, FuchsiaCity, -3, 4, 14, ROUTE_18
 
-	; WEST to Route 17
-	map ROUTE_17
-	dw (Route17_BlockData + ((ROUTE_17_HEIGHT - 10) * ROUTE_17_WIDTH) + 7) ; strip pointer
-	dw $c800 ; strip destination
-	db 10, ROUTE_17_WIDTH ; (connection strip length, connected map width)
-	db 76, ((ROUTE_17_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 19) ; window
-
-	; EAST to Fuchsia City
-	map FUCHSIA_CITY
-	dw (FuchsiaCity_BlockData + ((FUCHSIA_CITY_HEIGHT - 14) * FUCHSIA_CITY_WIDTH)) ; strip pointer
-	dw $c80d ; strip destination
-	db 14, FUCHSIA_CITY_WIDTH ; (connection strip length, connected map width)
-	db 14, 0 ; yoffset, xoffset
-	dw ($C807 + FUCHSIA_CITY_WIDTH) ; window
-; 0x95438
-
 	map_header_2 Route17, ROUTE_17, $43, NORTH | EAST ; 0x95438
+	connection north, ROUTE_16, Route16, 0, 0, 10, ROUTE_17
+	connection east, ROUTE_18, Route18, 38, 0, 9, ROUTE_17
 
-	; NORTH to Route 16
-	map ROUTE_16
-	dw (Route16_BlockData + (ROUTE_16_HEIGHT * ROUTE_16_WIDTH) - (ROUTE_16_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 256) ; strip destination
-	db 10, ROUTE_16_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_16_HEIGHT * 2) - 1), 0 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_16_HEIGHT * 6) + (ROUTE_16_HEIGHT * ROUTE_16_WIDTH))) ; window
-
-	; EAST to Route 18
-	map ROUTE_18
-	dw (Route18_BlockData) ; strip pointer
-	dw $ca9d ; strip destination
-	db 9, ROUTE_18_WIDTH ; (connection strip length, connected map width)
-	db 180, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_18_WIDTH) ; window
-; 0x9545c
-
 	map_header_2 Route16, ROUTE_16, $f, SOUTH | EAST ; 0x9545c
+	connection south, ROUTE_17, Route17, 0, 0, 10, ROUTE_16
+	connection east, CELADON_CITY, CeladonCity, -3, 6, 12, ROUTE_16
 
-	; SOUTH to Route 17
-	map ROUTE_17
-	dw (Route17_BlockData) ; strip pointer
-	dw ($C703 + 256 + ((ROUTE_16_HEIGHT + 3) * (ROUTE_16_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_17_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_17_WIDTH) ; window
-
-	; EAST to Celadon City
-	map CELADON_CITY
-	dw (CeladonCity_BlockData + ((CELADON_CITY_HEIGHT - 12) * CELADON_CITY_WIDTH)) ; strip pointer
-	dw $c80d ; strip destination
-	db 12, CELADON_CITY_WIDTH ; (connection strip length, connected map width)
-	db 18, 0 ; yoffset, xoffset
-	dw ($C807 + CELADON_CITY_WIDTH) ; window
-; 0x95480
-
 	map_header_2 CeladonCity, CELADON_CITY, $f, WEST | EAST ; 0x95480
+	connection west, ROUTE_16, Route16, 9, 0, 9, CELADON_CITY
+	connection east, ROUTE_7, Route7, 5, 0, 9, CELADON_CITY
 
-	; WEST to Route 16
-	map ROUTE_16
-	dw (Route16_BlockData + ROUTE_16_WIDTH - 3) ; strip pointer
-	dw $c938 ; strip destination
-	db 9, ROUTE_16_WIDTH ; (connection strip length, connected map width)
-	db 238, ((ROUTE_16_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 19) ; window
-
-	; EAST to Route 7
-	map ROUTE_7
-	dw (Route7_BlockData) ; strip pointer
-	dw $c8e7 ; strip destination
-	db 9, ROUTE_7_WIDTH ; (connection strip length, connected map width)
-	db 246, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_7_WIDTH) ; window
-; 0x954a4
-
 	map_header_2 Route7, ROUTE_7, $f, WEST | EAST ; 0x954a4
+	connection west, CELADON_CITY, CeladonCity, -3, 2, 15, ROUTE_7
+	connection east, SAFFRON_CITY, SaffronCity, -3, 6, 12, ROUTE_7
 
-	; WEST to Celadon City
-	map CELADON_CITY
-	dw (CeladonCity_BlockData + 21 + (CELADON_CITY_HEIGHT * 2)) ; strip pointer
-	dw $c800 ; strip destination
-	db 15, CELADON_CITY_WIDTH ; (connection strip length, connected map width)
-	db 10, ((CELADON_CITY_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-
-	; EAST to Saffron City
-	map SAFFRON_CITY
-	dw (SaffronCity_BlockData + ((SAFFRON_CITY_HEIGHT - 12) * SAFFRON_CITY_WIDTH)) ; strip pointer
-	dw $c80d ; strip destination
-	db 12, SAFFRON_CITY_WIDTH ; (connection strip length, connected map width)
-	db 18, 0 ; yoffset, xoffset
-	dw ($C807 + SAFFRON_CITY_WIDTH) ; window
-; 0x954c8
-
 	map_header_2 Route15, ROUTE_15, $f, WEST | EAST ; 0x954c8
+	connection west, FUCHSIA_CITY, FuchsiaCity, -3, 6, 12, ROUTE_15
+	connection east, ROUTE_14, Route14, -3, 6, 12, ROUTE_15
 
-	; WEST to Fuchsia City
-	map FUCHSIA_CITY
-	dw (FuchsiaCity_BlockData + (((FUCHSIA_CITY_HEIGHT - ROUTE_15_HEIGHT) * FUCHSIA_CITY_WIDTH) - (FUCHSIA_CITY_WIDTH * 3) + (FUCHSIA_CITY_WIDTH - 1) - 2)) ; strip pointer
-	dw $c800 ; strip destination
-	db 12, FUCHSIA_CITY_WIDTH ; (connection strip length, connected map width)
-	db 18, ((FUCHSIA_CITY_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-
-	; EAST to Route 14
-	map ROUTE_14
-	dw (Route14_BlockData + ((ROUTE_14_HEIGHT - 12) * ROUTE_14_WIDTH)) ; strip pointer
-	dw $c817 ; strip destination
-	db 12, ROUTE_14_WIDTH ; (connection strip length, connected map width)
-	db 18, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_14_WIDTH) ; window
-; 0x954ec
-
 	map_header_2 Route14, ROUTE_14, $43, NORTH | WEST ; 0x954ec
+	connection north, ROUTE_13, Route13, 0, 0, 13, ROUTE_14
+	connection west, ROUTE_15, Route15, 9, 0, 9, ROUTE_14
 
-	; NORTH to Route 13
-	map ROUTE_13
-	dw (Route13_BlockData + (ROUTE_13_HEIGHT * ROUTE_13_WIDTH) - (ROUTE_13_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 256) ; strip destination
-	db 13, ROUTE_13_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_13_HEIGHT * 2) - 1), 0 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_13_HEIGHT * 6) + (ROUTE_13_HEIGHT * ROUTE_13_WIDTH))) ; window
-
-	; WEST to Route 15
-	map ROUTE_15
-	dw (Route15_BlockData + ROUTE_15_WIDTH - 3) ; strip pointer
-	dw $c8c0 ; strip destination
-	db 9, ROUTE_15_WIDTH ; (connection strip length, connected map width)
-	db 238, ((ROUTE_15_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-; 0x95510
-
 	map_header_2 Route13, ROUTE_13, $43, NORTH | SOUTH ; 0x95510
+	connection north, ROUTE_12, Route12, 20, 0, 10, ROUTE_13
+	connection south, ROUTE_14, Route14, 0, 0, 10, ROUTE_13
 
-	; NORTH to Route 12
-	map ROUTE_12
-	dw (Route12_BlockData + (ROUTE_12_HEIGHT * ROUTE_12_WIDTH) - (ROUTE_12_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 276) ; strip destination
-	db 10, ROUTE_12_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_12_HEIGHT * 2) - 1), 216 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_12_HEIGHT * 6) + (ROUTE_12_HEIGHT * ROUTE_12_WIDTH))) ; window
-
-	; SOUTH to Route 14
-	map ROUTE_14
-	dw (Route14_BlockData) ; strip pointer
-	dw ($C703 + 256 + ((ROUTE_13_HEIGHT + 3) * (ROUTE_13_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_14_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_14_WIDTH) ; window
-; 0x95534
-
 	map_header_2 Route12, ROUTE_12, $43, NORTH | SOUTH | WEST ; 0x95534
+	connection north, LAVENDER_TOWN, LavenderTown, 0, 0, 10, ROUTE_12
+	connection south, ROUTE_13, Route13, -3, 17, 13, ROUTE_12
+	connection west, ROUTE_11, Route11, 9, 0, 9, ROUTE_12
 
-	; NORTH to Lavender Town
-	map LAVENDER_TOWN
-	dw (LavenderTown_BlockData + (LAVENDER_TOWN_HEIGHT * LAVENDER_TOWN_WIDTH) - (LAVENDER_TOWN_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 256) ; strip destination
-	db 10, LAVENDER_TOWN_WIDTH ; (connection strip length, connected map width)
-	db ((LAVENDER_TOWN_HEIGHT * 2) - 1), 0 ; yoffset, xoffset
-	dw ($C801 + ((LAVENDER_TOWN_HEIGHT * 6) + (LAVENDER_TOWN_HEIGHT * LAVENDER_TOWN_WIDTH))) ; window
-
-	; SOUTH to Route 13
-	map ROUTE_13
-	dw (Route13_BlockData + (((40 - 13 + ROUTE_12_WIDTH) / 2) - 1)) ; strip pointer
-	dw ($C703 + 253 + ((ROUTE_12_HEIGHT + 3) * (ROUTE_12_WIDTH + 6))) ; strip destination
-	db 13, ROUTE_13_WIDTH ; (connection strip length, connected map width)
-	db 0, 40 ; yoffset, xoffset
-	dw ($C807 + ROUTE_13_WIDTH) ; window
-
-	; WEST to Route 11
-	map ROUTE_11
-	dw (Route11_BlockData + ROUTE_11_WIDTH - 3) ; strip pointer
-	dw $c8c0 ; strip destination
-	db 9, ROUTE_11_WIDTH ; (connection strip length, connected map width)
-	db 238, ((ROUTE_11_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-; 0x95564
-
 	map_header_2 Route11, ROUTE_11, $f, WEST | EAST ; 0x95564
+	connection west, VERMILION_CITY, VermilionCity, 0, 0, 12, ROUTE_11
+	connection east, ROUTE_12, Route12, -3, 6, 15, ROUTE_11
 
-	; WEST to Vermilion City
-	map VERMILION_CITY
-	dw (VermilionCity_BlockData + VERMILION_CITY_WIDTH - 3) ; strip pointer
-	dw $c84e ; strip destination
-	db 12, VERMILION_CITY_WIDTH ; (connection strip length, connected map width)
-	db 0, ((VERMILION_CITY_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-
-	; EAST to Route 12
-	map ROUTE_12
-	dw (Route12_BlockData + 100 - (ROUTE_12_WIDTH * 4)) ; strip pointer
-	dw $c817 ; strip destination
-	db 15, ROUTE_12_WIDTH ; (connection strip length, connected map width)
-	db 18, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_12_WIDTH) ; window
-; 0x95588
-
 	map_header_2 LavenderTown, LAVENDER_TOWN, $2c, NORTH | SOUTH | WEST ; 0x95588
+	connection north, ROUTE_10_SOUTH, Route10South, 0, 0, 10, LAVENDER_TOWN
+	connection south, ROUTE_12, Route12, 0, 0, 10, LAVENDER_TOWN
+	connection west, ROUTE_8, Route8, 0, 0, 9, LAVENDER_TOWN
 
-	; NORTH to Route 10 South
-	map ROUTE_10_SOUTH
-	dw (Route10South_BlockData + (ROUTE_10_SOUTH_HEIGHT * ROUTE_10_SOUTH_WIDTH) - (ROUTE_10_SOUTH_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 256) ; strip destination
-	db 10, ROUTE_10_SOUTH_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_10_SOUTH_HEIGHT * 2) - 1), 0 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_10_SOUTH_HEIGHT * 6) + (ROUTE_10_SOUTH_HEIGHT * ROUTE_10_SOUTH_WIDTH))) ; window
-
-	; SOUTH to Route 12
-	map ROUTE_12
-	dw (Route12_BlockData) ; strip pointer
-	dw ($C703 + 256 + ((LAVENDER_TOWN_HEIGHT + 3) * (LAVENDER_TOWN_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_12_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_12_WIDTH) ; window
-
-	; WEST to Route 8
-	map ROUTE_8
-	dw (Route8_BlockData + ROUTE_8_WIDTH - 3) ; strip pointer
-	dw $c830 ; strip destination
-	db 9, ROUTE_8_WIDTH ; (connection strip length, connected map width)
-	db 0, ((ROUTE_8_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-; 0x955b8
-
 	map_header_2 VermilionCity, VERMILION_CITY, $43, NORTH | EAST ; 0x955b8
+	connection north, ROUTE_6, Route6, 5, 0, 10, VERMILION_CITY
+	connection east, ROUTE_11, Route11, 0, 0, 9, VERMILION_CITY
 
-	; NORTH to Route 6
-	map ROUTE_6
-	dw (Route6_BlockData + (ROUTE_6_HEIGHT * ROUTE_6_WIDTH) - (ROUTE_6_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 261) ; strip destination
-	db 10, ROUTE_6_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_6_HEIGHT * 2) - 1), 246 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_6_HEIGHT * 6) + (ROUTE_6_HEIGHT * ROUTE_6_WIDTH))) ; window
-
-	; EAST to Route 11
-	map ROUTE_11
-	dw (Route11_BlockData) ; strip pointer
-	dw $c865 ; strip destination
-	db 9, ROUTE_11_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_11_WIDTH) ; window
-; 0x955dc
-
 	map_header_2 Route6, ROUTE_6, $f, NORTH | SOUTH ; 0x955dc
+	connection north, SAFFRON_CITY, SaffronCity, -3, 2, 16, ROUTE_6
+	connection south, VERMILION_CITY, VermilionCity, -3, 2, 16, ROUTE_6
 
-	; NORTH to Saffron City
-	map SAFFRON_CITY
-	dw (SaffronCity_BlockData + SAFFRON_CITY_WIDTH + 10 + (16 * SAFFRON_CITY_HEIGHT) - 16) ; strip pointer
-	dw ($C703 + 253) ; strip destination
-	db 16, SAFFRON_CITY_WIDTH ; (connection strip length, connected map width)
-	db ((SAFFRON_CITY_HEIGHT * 2) - 1), 10 ; yoffset, xoffset
-	dw ($C801 + ((SAFFRON_CITY_HEIGHT * 6) + (SAFFRON_CITY_HEIGHT * SAFFRON_CITY_WIDTH))) ; window
-
-	; SOUTH to Vermilion City
-	map VERMILION_CITY
-	dw (VermilionCity_BlockData + ((10 - 16 + ROUTE_6_WIDTH) / 2)) ; strip pointer
-	dw ($C703 + 253 + ((ROUTE_6_HEIGHT + 3) * (ROUTE_6_WIDTH + 6))) ; strip destination
-	db 16, VERMILION_CITY_WIDTH ; (connection strip length, connected map width)
-	db 0, 10 ; yoffset, xoffset
-	dw ($C807 + VERMILION_CITY_WIDTH) ; window
-; 0x95600
-
 	map_header_2 SaffronCity, SAFFRON_CITY, $f, NORTH | SOUTH | WEST | EAST ; 0x95600
+	connection north, ROUTE_5, Route5, 5, 0, 10, SAFFRON_CITY
+	connection south, ROUTE_6, Route6, 5, 0, 10, SAFFRON_CITY
+	connection west, ROUTE_7, Route7, 9, 0, 9, SAFFRON_CITY
+	connection east, ROUTE_8, Route8, 9, 0, 9, SAFFRON_CITY
 
-	; NORTH to Route 5
-	map ROUTE_5
-	dw (Route5_BlockData + (ROUTE_5_HEIGHT * ROUTE_5_WIDTH) - (ROUTE_5_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 261) ; strip destination
-	db 10, ROUTE_5_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_5_HEIGHT * 2) - 1), 246 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_5_HEIGHT * 6) + (ROUTE_5_HEIGHT * ROUTE_5_WIDTH))) ; window
-
-	; SOUTH to Route 6
-	map ROUTE_6
-	dw (Route6_BlockData) ; strip pointer
-	dw ($C703 + 261 + ((SAFFRON_CITY_HEIGHT + 3) * (SAFFRON_CITY_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_6_WIDTH ; (connection strip length, connected map width)
-	db 0, 246 ; yoffset, xoffset
-	dw ($C807 + ROUTE_6_WIDTH) ; window
-
-	; WEST to Route 7
-	map ROUTE_7
-	dw (Route7_BlockData + ROUTE_7_WIDTH - 3) ; strip pointer
-	dw $c938 ; strip destination
-	db 9, ROUTE_7_WIDTH ; (connection strip length, connected map width)
-	db 238, ((ROUTE_7_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 19) ; window
-
-	; EAST to Route 8
-	map ROUTE_8
-	dw (Route8_BlockData) ; strip pointer
-	dw $c94f ; strip destination
-	db 9, ROUTE_8_WIDTH ; (connection strip length, connected map width)
-	db 238, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_8_WIDTH) ; window
-; 0x9563c
-
 	map_header_2 Route5, ROUTE_5, $f, NORTH | SOUTH ; 0x9563c
+	connection north, CERULEAN_CITY, CeruleanCity, -3, 2, 16, ROUTE_5
+	connection south, SAFFRON_CITY, SaffronCity, -3, 2, 16, ROUTE_5
 
-	; NORTH to Cerulean City
-	map CERULEAN_CITY
-	dw (CeruleanCity_BlockData + CERULEAN_CITY_WIDTH + 10 + (16 * CERULEAN_CITY_HEIGHT) - 16) ; strip pointer
-	dw ($C703 + 253) ; strip destination
-	db 16, CERULEAN_CITY_WIDTH ; (connection strip length, connected map width)
-	db ((CERULEAN_CITY_HEIGHT * 2) - 1), 10 ; yoffset, xoffset
-	dw ($C801 + ((CERULEAN_CITY_HEIGHT * 6) + (CERULEAN_CITY_HEIGHT * CERULEAN_CITY_WIDTH))) ; window
-
-	; SOUTH to Saffron City
-	map SAFFRON_CITY
-	dw (SaffronCity_BlockData + ((10 - 16 + ROUTE_5_WIDTH) / 2)) ; strip pointer
-	dw ($C703 + 253 + ((ROUTE_5_HEIGHT + 3) * (ROUTE_5_WIDTH + 6))) ; strip destination
-	db 16, SAFFRON_CITY_WIDTH ; (connection strip length, connected map width)
-	db 0, 10 ; yoffset, xoffset
-	dw ($C807 + SAFFRON_CITY_WIDTH) ; window
-; 0x95660
-
 	map_header_2 CeruleanCity, CERULEAN_CITY, $f, NORTH | SOUTH | WEST | EAST ; 0x95660
+	connection north, ROUTE_24, Route24, 6, 0, 10, CERULEAN_CITY
+	connection south, ROUTE_5, Route5, 5, 0, 10, CERULEAN_CITY
+	connection west, ROUTE_4, Route4, 5, 0, 9, CERULEAN_CITY
+	connection east, ROUTE_9, Route9, 9, 0, 9, CERULEAN_CITY
 
-	; NORTH to Route 24
-	map ROUTE_24
-	dw (Route24_BlockData + (ROUTE_24_HEIGHT * ROUTE_24_WIDTH) - (ROUTE_24_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 262) ; strip destination
-	db 10, ROUTE_24_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_24_HEIGHT * 2) - 1), 244 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_24_HEIGHT * 6) + (ROUTE_24_HEIGHT * ROUTE_24_WIDTH))) ; window
-
-	; SOUTH to Route 5
-	map ROUTE_5
-	dw (Route5_BlockData) ; strip pointer
-	dw ($C703 + 261 + ((CERULEAN_CITY_HEIGHT + 3) * (CERULEAN_CITY_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_5_WIDTH ; (connection strip length, connected map width)
-	db 0, 246 ; yoffset, xoffset
-	dw ($C807 + ROUTE_5_WIDTH) ; window
-
-	; WEST to Route 4
-	map ROUTE_4
-	dw (Route4_BlockData + ROUTE_4_WIDTH - 3) ; strip pointer
-	dw $c8d0 ; strip destination
-	db 9, ROUTE_4_WIDTH ; (connection strip length, connected map width)
-	db 246, ((ROUTE_4_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-
-	; EAST to Route 9
-	map ROUTE_9
-	dw (Route9_BlockData) ; strip pointer
-	dw $c94f ; strip destination
-	db 9, ROUTE_9_WIDTH ; (connection strip length, connected map width)
-	db 238, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_9_WIDTH) ; window
-; 0x9569c
-
 	map_header_2 Route9, ROUTE_9, $2c, SOUTH | WEST ; 0x9569c
+	connection south, ROUTE_10_NORTH, Route10North, 20, 0, 10, ROUTE_9
+	connection west, CERULEAN_CITY, CeruleanCity, -3, 6, 12, ROUTE_9
 
-	; SOUTH to Route 10 North
-	map ROUTE_10_NORTH
-	dw (Route10North_BlockData) ; strip pointer
-	dw ($C703 + 276 + ((ROUTE_9_HEIGHT + 3) * (ROUTE_9_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_10_NORTH_WIDTH ; (connection strip length, connected map width)
-	db 0, 216 ; yoffset, xoffset
-	dw ($C807 + ROUTE_10_NORTH_WIDTH) ; window
-
-	; WEST to Cerulean City
-	map CERULEAN_CITY
-	dw (CeruleanCity_BlockData + (((CERULEAN_CITY_HEIGHT - ROUTE_9_HEIGHT) * CERULEAN_CITY_WIDTH) - (CERULEAN_CITY_WIDTH * 3) + (CERULEAN_CITY_WIDTH - 1) - 2)) ; strip pointer
-	dw $c800 ; strip destination
-	db 12, CERULEAN_CITY_WIDTH ; (connection strip length, connected map width)
-	db 18, ((CERULEAN_CITY_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-; 0x956c0
-
 	map_header_2 Route24, ROUTE_24, $2c, NORTH | SOUTH ; 0x956c0
+	connection north, ROUTE_25, Route25, 0, 0, 13, ROUTE_24
+	connection south, CERULEAN_CITY, CeruleanCity, -3, 3, 16, ROUTE_24
 
-	; NORTH to Route 25
-	map ROUTE_25
-	dw (Route25_BlockData + (ROUTE_25_HEIGHT * ROUTE_25_WIDTH) - (ROUTE_25_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 256) ; strip destination
-	db 13, ROUTE_25_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_25_HEIGHT * 2) - 1), 0 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_25_HEIGHT * 6) + (ROUTE_25_HEIGHT * ROUTE_25_WIDTH))) ; window
-
-	; SOUTH to Cerulean City
-	map CERULEAN_CITY
-	dw (CeruleanCity_BlockData + ((12 - 16 + ROUTE_24_WIDTH) / 2)) ; strip pointer
-	dw ($C703 + 253 + ((ROUTE_24_HEIGHT + 3) * (ROUTE_24_WIDTH + 6))) ; strip destination
-	db 16, CERULEAN_CITY_WIDTH ; (connection strip length, connected map width)
-	db 0, 12 ; yoffset, xoffset
-	dw ($C807 + CERULEAN_CITY_WIDTH) ; window
-; 0x956e4
-
 	map_header_2 Route25, ROUTE_25, $2c, SOUTH ; 0x956e4
+	connection south, ROUTE_24, Route24, 0, 0, 10, ROUTE_25
 
-	; SOUTH to Route 24
-	map ROUTE_24
-	dw (Route24_BlockData) ; strip pointer
-	dw ($C703 + 256 + ((ROUTE_25_HEIGHT + 3) * (ROUTE_25_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_24_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_24_WIDTH) ; window
-; 0x956fc
-
 	map_header_2 Route3, ROUTE_3, $2c, WEST | EAST ; 0x956fc
+	connection west, PEWTER_CITY, PewterCity, -3, 2, 15, ROUTE_3
+	connection east, ROUTE_4, Route4, 0, 0, 9, ROUTE_3
 
-	; WEST to Pewter City
-	map PEWTER_CITY
-	dw (PewterCity_BlockData + 21 + (PEWTER_CITY_HEIGHT * 2)) ; strip pointer
-	dw $c800 ; strip destination
-	db 15, PEWTER_CITY_WIDTH ; (connection strip length, connected map width)
-	db 10, ((PEWTER_CITY_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-
-	; EAST to Route 4
-	map ROUTE_4
-	dw (Route4_BlockData) ; strip pointer
-	dw $c88d ; strip destination
-	db 9, ROUTE_4_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_4_WIDTH) ; window
-; 0x95720
-
 	map_header_2 Route4, ROUTE_4, $2c, WEST | EAST ; 0x95720
+	connection west, ROUTE_3, Route3, 0, 0, 9, ROUTE_4
+	connection east, CERULEAN_CITY, CeruleanCity, -3, 2, 15, ROUTE_4
 
-	; WEST to Route 3
-	map ROUTE_3
-	dw (Route3_BlockData + ROUTE_3_WIDTH - 3) ; strip pointer
-	dw $c84e ; strip destination
-	db 9, ROUTE_3_WIDTH ; (connection strip length, connected map width)
-	db 0, ((ROUTE_3_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 59) ; window
-
-	; EAST to Cerulean City
-	map CERULEAN_CITY
-	dw (CeruleanCity_BlockData + ((100 - (CERULEAN_CITY_WIDTH * 4)) * 2)) ; strip pointer
-	dw $c817 ; strip destination
-	db 15, CERULEAN_CITY_WIDTH ; (connection strip length, connected map width)
-	db 10, 0 ; yoffset, xoffset
-	dw ($C807 + CERULEAN_CITY_WIDTH) ; window
-; 0x95744
-
 	map_header_2 Route8, ROUTE_8, $2c, WEST | EAST ; 0x95744
+	connection west, SAFFRON_CITY, SaffronCity, -3, 6, 12, ROUTE_8
+	connection east, LAVENDER_TOWN, LavenderTown, 0, 0, 9, ROUTE_8
 
-	; WEST to Saffron City
-	map SAFFRON_CITY
-	dw (SaffronCity_BlockData + (((SAFFRON_CITY_HEIGHT - ROUTE_8_HEIGHT) * SAFFRON_CITY_WIDTH) - (SAFFRON_CITY_WIDTH * 3) + (SAFFRON_CITY_WIDTH - 1) - 2)) ; strip pointer
-	dw $c800 ; strip destination
-	db 12, SAFFRON_CITY_WIDTH ; (connection strip length, connected map width)
-	db 18, ((SAFFRON_CITY_WIDTH * 2) - 1) ; yoffset, xoffset
-	dw ($C807 + 39) ; window
-
-	; EAST to Lavender Town
-	map LAVENDER_TOWN
-	dw (LavenderTown_BlockData) ; strip pointer
-	dw $c865 ; strip destination
-	db 9, LAVENDER_TOWN_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + LAVENDER_TOWN_WIDTH) ; window
-; 0x95768
-
 	map_header_2 Route10North, ROUTE_10_NORTH, $2c, NORTH | SOUTH ; 0x95768
+	connection north, ROUTE_9, Route9, -3, 17, 13, ROUTE_10_NORTH
+	connection south, ROUTE_10_SOUTH, Route10South, 0, 0, 10, ROUTE_10_NORTH
 
-	; NORTH to Route 9
-	map ROUTE_9
-	dw (Route9_BlockData + ((ROUTE_9_HEIGHT - 3) * ROUTE_9_WIDTH) + 17) ; strip pointer
-	dw ($C703 + 253) ; strip destination
-	db 13, ROUTE_9_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_9_HEIGHT * 2) - 1), 40 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_9_HEIGHT * 6) + (ROUTE_9_HEIGHT * ROUTE_9_WIDTH))) ; window
-
-	; SOUTH to Route 10 South
-	map ROUTE_10_SOUTH
-	dw (Route10South_BlockData) ; strip pointer
-	dw ($C703 + 256 + ((ROUTE_10_NORTH_HEIGHT + 3) * (ROUTE_10_NORTH_WIDTH + 6))) ; strip destination
-	db 10, ROUTE_10_SOUTH_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + ROUTE_10_SOUTH_WIDTH) ; window
-; 0x9578c
-
 	map_header_2 Route10South, ROUTE_10_SOUTH, $2c, NORTH | SOUTH ; 0x9578c
+	connection north, ROUTE_10_NORTH, Route10North, 0, 0, 10, ROUTE_10_SOUTH
+	connection south, LAVENDER_TOWN, LavenderTown, 0, 0, 10, ROUTE_10_SOUTH
 
-	; NORTH to Route 10 North
-	map ROUTE_10_NORTH
-	dw (Route10North_BlockData + (ROUTE_10_NORTH_HEIGHT * ROUTE_10_NORTH_WIDTH) - (ROUTE_10_NORTH_WIDTH * 3)) ; strip pointer
-	dw ($C703 + 256) ; strip destination
-	db 10, ROUTE_10_NORTH_WIDTH ; (connection strip length, connected map width)
-	db ((ROUTE_10_NORTH_HEIGHT * 2) - 1), 0 ; yoffset, xoffset
-	dw ($C801 + ((ROUTE_10_NORTH_HEIGHT * 6) + (ROUTE_10_NORTH_HEIGHT * ROUTE_10_NORTH_WIDTH))) ; window
-
-	; SOUTH to Lavender Town
-	map LAVENDER_TOWN
-	dw (LavenderTown_BlockData) ; strip pointer
-	dw ($C703 + 256 + ((ROUTE_10_SOUTH_HEIGHT + 3) * (ROUTE_10_SOUTH_WIDTH + 6))) ; strip destination
-	db 10, LAVENDER_TOWN_WIDTH ; (connection strip length, connected map width)
-	db 0, 0 ; yoffset, xoffset
-	dw ($C807 + LAVENDER_TOWN_WIDTH) ; window
-; 0x957b0
-
 	map_header_2 Route23, ROUTE_23, $f, NONE ; 0x957b0
 	map_header_2 SproutTower1F, SPROUT_TOWER_1F, $0, NONE ; 0x957bc
 	map_header_2 SproutTower2F, SPROUT_TOWER_2F, $0, NONE ; 0x957c8
@@ -1673,3 +597,4 @@
 	map_header_2 Route30BerrySpeechHouse, ROUTE_30_BERRY_SPEECH_HOUSE, $0, NONE ; 0x9668c
 	map_header_2 MrPokemonsHouse, MR_POKEMONS_HOUSE, $0, NONE ; 0x96698
 	map_header_2 Route31VioletGate, ROUTE_31_VIOLET_GATE, $0, NONE ; 0x966a4
+
--- /dev/null
+++ b/misc/mobile_40.asm
@@ -1,0 +1,8080 @@
+
+SECTION "bank40", ROMX, BANK[$40]
+
+Function100000: ; 100000
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	call Function100022
+	call Function1000ba
+	call Function100675
+	call Function100057
+	call Function10016f
+	call Function100276
+	push bc
+	call Function100301
+	pop bc
+	pop af
+	ld [rSVBK], a
+	ret
+; 100022
+
+Function100022: ; 100022
+	push de
+	push bc
+	call Function100063
+	pop bc
+	pop de
+	ld a, d
+	ld [wcd21], a
+	ld a, e
+	ld [CreditsTimer], a
+	ld a, c
+	ld [wcd23], a
+	ld a, b
+	ld [wcd24], a
+	callba Function10127e
+	callba Function106462
+	callba Function106464
+	callba Function11615a
+	ld hl, VramState
+	set 1, [hl]
+	ret
+; 100057
+
+Function100057: ; 100057
+	call Function1000a4
+	call Function222a
+	ld hl, VramState
+	res 1, [hl]
+	ret
+; 100063
+
+Function100063: ; 100063
+	xor a
+	ld hl, BGMapBuffer
+	ld bc, $0065
+	call ByteFill
+	xor a
+	ld hl, wc300
+	ld bc, $100
+	call ByteFill
+	ld a, [rIE]
+	ld [BGMapBuffer], a
+	xor a
+	ld [$ffde], a
+	ld [hLCDStatCustom], a
+	ret
+; 100082
+
+Function100082: ; 100082
+	xor a
+	ld hl, OverworldMap
+	ld bc, 1300
+	call ByteFill
+	di
+	call DoubleSpeed
+	xor a
+	ld [rIF], a
+	ld a, 1 << VBLANK + 1 << LCD_STAT + 1 << TIMER + 1 << SERIAL
+	ld [rIE], a
+	xor a
+	ld [$ffde], a
+	ld [hLCDStatCustom], a
+	ld a, $1
+	ld [$ffc9], a
+	ld [$ffe9], a
+	ei
+	ret
+; 0x1000a4
+
+Function1000a4: ; 1000a4
+	di
+	xor a
+	ld [$ffc9], a
+	ld [$ffe9], a
+	xor a
+	ld [hVBlank], a
+	call NormalSpeed
+	xor a
+	ld [rIF], a
+	ld a, [BGMapBuffer]
+	ld [rIE], a
+	ei
+	ret
+; 1000ba
+
+Function1000ba: ; 1000ba
+.asm_1000ba
+	ld hl, wcd23
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld a, [wcd25]
+	ld e, a
+	ld d, $0
+	add hl, de
+	add hl, de
+	ld a, [CreditsTimer]
+	call GetFarHalfword
+	ld a, [CreditsTimer]
+	rst FarCall
+	call Function1000e8
+	call Function1000fa
+	call Function100144
+	call Function100163
+	ld a, [wcd2b]
+	and a
+	jr z, .asm_1000ba
+	call DelayFrame
+	ret
+; 1000e8
+
+Function1000e8: ; 1000e8
+	ld hl, wcd29
+	bit 7, [hl]
+	ret z
+	callba Function115dd3
+	ld hl, wcd29
+	set 6, [hl]
+	ret
+; 1000fa
+
+Function1000fa: ; 1000fa
+	ld a, [wc30d]
+	and a
+	ret z
+	ld hl, wcd29
+	bit 4, [hl]
+	ret z
+	ld a, [wcd2b]
+	and a
+	jr nz, .asm_100117
+	callba Function11619d
+	ld hl, wcd29
+	set 6, [hl]
+	ret
+
+.asm_100117
+	di
+	xor a
+	ld [rIF], a
+	ld a, [rIE]
+	and $13
+	ld [rIE], a
+	xor a
+	ld [$ffc9], a
+	ld [$ffe9], a
+	ei
+	ld a, [InLinkBattle]
+	push af
+	xor a
+	ld [InLinkBattle], a
+	ld a, $4
+	ld [wc319], a
+	callba Function11619d
+	ld hl, wcd29
+	set 6, [hl]
+	pop af
+	ld [InLinkBattle], a
+	ret
+; 100144
+
+Function100144: ; 100144
+	ld hl, wcd29
+	bit 5, [hl]
+	jr z, .asm_100155
+	res 5, [hl]
+	res 2, [hl]
+	res 6, [hl]
+	call Function100320
+	ret
+
+.asm_100155
+	bit 2, [hl]
+	ret z
+	res 2, [hl]
+	res 6, [hl]
+	callba Function10402d
+	ret
+; 100163
+
+Function100163: ; 100163
+	ld hl, wcd29
+	bit 6, [hl]
+	ret z
+	res 6, [hl]
+	call DelayFrame
+	ret
+; 10016f
+
+Function10016f: ; 10016f
+	ld a, [wcd2b]
+	cp $1
+	ret z
+	cp $2
+	ret z
+	cp $ff
+	jp z, .asm_1001f5
+	cp $fe
+	jr z, .asm_1001c4
+	cp $f5
+	jr z, .asm_1001e7
+	cp $f6
+	jr z, .asm_1001b6
+	cp $fa
+	jp z, .asm_1001bd
+	cp $f7
+	jp z, .asm_1001ee
+	cp $f4
+	jr z, .asm_1001d2
+	cp $f3
+	jr z, .asm_1001cb
+	cp $f1
+	jr z, .asm_1001c4
+	cp $f2
+	jr z, .asm_1001c4
+	cp $fc
+	jr z, .asm_1001e6
+	cp $fb
+	jr z, .asm_1001af
+	cp $f8
+	ret z
+	ret
+
+.asm_1001af
+	ld a, $d7
+	ld de, $0000
+	jr .asm_1001d7
+
+.asm_1001b6
+	ld a, $d5
+	ld de, $0000
+	jr .asm_1001d7
+
+.asm_1001bd
+	ld a, $d6
+	ld de, $0000
+	jr .asm_1001d7
+
+.asm_1001c4
+	ld a, $d2
+	ld de, $0002
+	jr .asm_1001d7
+
+.asm_1001cb
+	ld a, $d1
+	ld de, $0001
+	jr .asm_1001d7
+
+.asm_1001d2
+	ld a, $d0
+	ld de, $0000
+
+.asm_1001d7
+	ld [wc300], a
+	ld a, d
+	ld [wc302], a
+	ld a, e
+	ld [wc301], a
+	call Function10020b
+	ret
+
+.asm_1001e6
+	ret
+
+.asm_1001e7
+	ld de, String10025e
+	call Function100232
+	ret
+
+.asm_1001ee
+	ld de, String10024d
+	call Function100232
+	ret
+
+.asm_1001f5
+	ld a, [wcd2c]
+	ld [wc300], a
+	ld a, [wcd2d]
+	ld [wc302], a
+	ld a, [wcd2d]
+	ld [wc301], a
+	call Function10020b
+	ret
+; 10020b
+
+Function10020b: ; 10020b
+	xor a
+	ld [wc303], a
+	callba Function8c084
+	callba Function106464
+	call HideSprites
+	call DelayFrame
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	callba Function17f555
+	pop af
+	ld [rSVBK], a
+	ret
+; 100232
+
+Function100232: ; 100232
+	push de
+	callba Function106464
+	call Function3f20
+	call Function1ad2
+	hlcoord 1, 2
+	pop de
+	call PlaceString
+	call Function100320
+	call Functiona36
+	ret
+; 10024d
+
+String10024d: ; 10024d
+	db   "つうしんを キャンセル しました@"
+; 10025e
+
+String10025e: ; 10025e
+	db   "おともだちと えらんだ へやが"
+	next "ちがうようです@"
+; 100276
+
+Function100276: ; 100276
+	ld a, [wcd2b]
+	cp $1
+	jr z, .asm_10029f
+	cp $2
+	jr z, .asm_100296
+	cp $f5
+	jr z, .asm_1002a5
+	cp $f6
+	jr z, .asm_1002a5
+	cp $f7
+	jr z, .asm_100293
+	cp $f8
+	jr z, .asm_1002b1
+	jr .asm_1002c0
+
+.asm_100293
+	ld c, $2
+	ret
+
+.asm_100296
+	callba Script_reloadmappart
+	ld c, $4
+	ret
+
+.asm_10029f
+	call Function1002dc
+	ld c, $0
+	ret
+
+.asm_1002a5
+	callba Script_reloadmappart
+	call Function1002ed
+	ld c, $3
+	ret
+
+.asm_1002b1
+	call Function1002c9
+	call Function1002dc
+	ld de, String10024d
+	call Function100232
+	ld c, $2
+	ret
+
+.asm_1002c0
+	call Function1002c9
+	call Function1002dc
+	ld c, $1
+	ret
+; 1002c9
+
+Function1002c9: ; 1002c9
+	ld hl, wcd2a
+	bit 0, [hl]
+	ret z
+	callba Function3f6d0
+	callba Function1500c
+	ret
+; 1002dc
+
+Function1002dc: ; 1002dc
+	ld a, $f8
+	ld [$ff9f], a
+	callba RunMapSetupScript
+	xor a
+	ld [$ff9f], a
+	call Functione51
+	ret
+; 1002ed
+
+Function1002ed: ; 1002ed
+	callba Function49409
+	callba Function96a4
+	ld a, $1
+	ld [hCGBPalUpdate], a
+	call DelayFrame
+	ret
+; 100301
+
+Function100301: ; 100301
+	ld hl, wcd2a
+	bit 1, [hl]
+	ret z
+	callba Function106464
+	callba Function10202c
+	callba Function115dd3
+	call Function100320
+	call Functiona36
+	ret
+; 100320
+
+Function100320: ; 100320
+	callba Function104099
+	ret
+; 100327
+
+Function100327: ; 100327
+	callba Function10402d
+	ret
+; 100327
+
+
+Function10032e: ; 10032e
+	call Function10034d
+	ld e, a
+	ret nc
+	ld [wcd2b], a
+	ret
+; 100337
+
+Function100337: ; 100337
+	call Function10032e
+	ret c
+	ld a, [wc821]
+	bit 4, a
+	jr z, .asm_100345
+	ld a, e
+	and a
+	ret
+
+.asm_100345
+	ld a, $f9
+	ld e, a
+	ld [wcd2b], a
+	scf
+	ret
+; 10034d
+
+Function10034d: ; 10034d
+	ld a, [wc821]
+	bit 1, a
+	jr nz, .asm_10036a
+	bit 2, a
+	jr nz, .asm_10037e
+	bit 3, a
+	jr nz, .asm_100366
+	bit 0, a
+	jr nz, .asm_100364
+	ld a, $1
+	and a
+	ret
+
+.asm_100364
+	xor a
+	ret
+
+.asm_100366
+	ld a, $2
+	and a
+	ret
+
+.asm_10036a
+	ld a, $0
+	call Function3e32
+	ld [wcd2c], a
+	ld a, h
+	ld [wcd2d], a
+	ld a, l
+	ld [wcd2e], a
+	ld a, $ff
+	scf
+	ret
+
+.asm_10037e
+	ld a, $fe
+	scf
+	ret
+; 100382
+
+Function100382: ; 100382
+	ld a, [wcd27]
+	ld hl, Jumptable_10044e
+	rst JumpTable
+	ret
+; 10038a
+
+Function10038a: ; 10038a
+	ld hl, wccb4
+	ld a, $2e
+	call Function3e32
+	ret
+; 100393
+
+Function100393: ; 100393
+	ld hl, wcc60
+	ld a, $3a
+	call Function3e32
+	ret
+; 10039c
+
+Function10039c: ; 10039c
+	ld hl, wcc60
+	ld de, wd000
+	ld bc, $0054
+	ld a, $3
+	call FarCopyWRAM
+	ret
+; 1003ab
+
+Function1003ab: ; 1003ab
+	ld hl, wd000
+	ld de, wcc60
+	ld bc, $0054
+	ld a, $3
+	call FarCopyWRAM
+	ret
+; 1003ba
+
+Function1003ba: ; 1003ba
+	ld hl, wccb4
+	ld de, $d080
+	ld bc, $0054
+	ld a, $3
+	call FarCopyWRAM
+	ret
+; 1003c9
+
+Function1003c9: ; 1003c9
+	ld hl, $d080
+	ld de, wccb4
+	ld bc, $0054
+	ld a, $3
+	call FarCopyWRAM
+	ret
+; 1003d8
+
+Function1003d8: ; 1003d8
+	ld hl, wccb4
+	ld a, [hli]
+	ld c, a
+	ld b, $0
+	push hl
+	add hl, bc
+	ld a, [BGMapPalBuffer]
+	ld [hl], a
+	pop hl
+	inc bc
+	call Function10043a
+	add hl, bc
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	ld a, c
+	add $2
+	ld [wccb4], a
+	ret
+; 1003f5
+
+Function1003f5: ; 1003f5
+	ld a, [wcc60]
+	sub $3
+	ld [wcc60], a
+	ld a, [wccb4]
+	sub $3
+	ld [wccb4], a
+	ret
+; 100406
+
+Function100406: ; 100406
+	ld a, [wcc60]
+	sub $2
+	ld c, a
+	ld b, $0
+	ld hl, wcc61
+	call Function10043a
+	add hl, bc
+	ld a, [hli]
+	cp e
+	jr nz, .asm_100426
+	ld a, [hld]
+	cp d
+	jr nz, .asm_100426
+	dec hl
+	ld a, [BGMapPalBuffer]
+	cp [hl]
+	jr nz, .asm_10042d
+	xor a
+	ret
+
+.asm_100426
+	ld a, $f4
+	ld [wcd2b], a
+	jr .asm_100432
+
+.asm_10042d
+	ld a, $f3
+	ld [wcd2b], a
+
+.asm_100432
+	push hl
+	ld hl, wcd7c
+	inc [hl]
+	pop hl
+	scf
+	ret
+; 10043a
+
+Function10043a: ; 10043a
+	push hl
+	push bc
+	ld de, $0000
+.asm_10043f
+	ld a, [hli]
+	add e
+	ld e, a
+	ld a, d
+	adc $0
+	ld d, a
+	dec bc
+	ld a, b
+	or c
+	jr nz, .asm_10043f
+	pop bc
+	pop hl
+	ret
+; 10044e
+
+
+Jumptable_10044e: ; 10044e (40:444e)
+	dw Function10046a
+	dw Function10047c
+	dw Function100493
+	dw Function1004ba
+	dw Function1004f4
+	dw Function1004ce
+	dw Function1004de
+	dw Function1004a4
+	dw Function100495
+	dw Function1004ce
+	dw Function1004de
+	dw Function1004e9
+	dw Function1004f4
+	dw Function1004a4
+
+Function10046a: ; 10046a
+	ld hl, BGMapPalBuffer
+	inc [hl]
+	call Function1003d8
+	call Function1003ba
+	ld a, [wcd27]
+	inc a
+	ld [wcd27], a
+	ret
+; 10047c
+
+Function10047c: ; 10047c
+	call Function100337
+	ret c
+	ret z
+	cp $2
+	jr z, .asm_100487
+	jr .asm_10048d
+
+.asm_100487
+	ld a, $8
+	ld [wcd27], a
+	ret
+
+.asm_10048d
+	ld a, $2
+	ld [wcd27], a
+	ret
+; 100493
+
+Function100493: ; 100493
+	jr asm_100497
+
+Function100495: ; 100495
+	jr asm_100497
+
+asm_100497
+	call Function100337
+	ret c
+	ret z
+	ld a, [wcd27]
+	inc a
+	ld [wcd27], a
+	ret
+; 1004a4
+
+Function1004a4: ; 1004a4
+	call Function100406
+	jr c, .asm_1004b8
+	call Function1003c9
+	call Function1003f5
+	ld a, [wcd27]
+	set 7, a
+	ld [wcd27], a
+	ret
+
+.asm_1004b8
+	scf
+	ret
+; 1004ba
+
+Function1004ba: ; 1004ba
+	call Function10038a
+	and a
+	jr nz, .asm_1004c8
+	ld a, [wcd27]
+	inc a
+	ld [wcd27], a
+	ret
+
+.asm_1004c8
+	ld a, $8
+	ld [wcd27], a
+	ret
+; 1004ce
+
+Function1004ce: ; 1004ce
+	call Function100337
+	ret c
+	ret z
+	cp $2
+	ret nz
+	ld a, [wcd27]
+	inc a
+	ld [wcd27], a
+	ret
+; 1004de
+
+Function1004de: ; 1004de
+	call Function100393
+	ld a, [wcd27]
+	inc a
+	ld [wcd27], a
+	ret
+; 1004e9
+
+Function1004e9: ; 1004e9
+	call Function10038a
+	ld a, [wcd27]
+	inc a
+	ld [wcd27], a
+	ret
+; 1004f4
+
+Function1004f4: ; 1004f4
+	call Function100337
+	ret c
+	ret z
+	ld a, [wcd27]
+	inc a
+	ld [wcd27], a
+	call Function10039c
+	ret
+; 100504
+
+Function100504: ; 100504
+	push de
+	call Function3f20
+	call Function1ad2
+	pop de
+	hlcoord 4, 2
+	call PlaceString
+	ret
+; 100513
+
+Function100513: ; 100513
+	call Function3f7c
+	call Function1c89
+	call Function1c10
+	ld hl, wcfa5
+	set 7, [hl]
+	ret
+; 100522
+
+Function100522: ; 100522
+	ld a, [wcd28]
+	ld hl, Jumptable_10052a
+	rst JumpTable
+	ret
+; 10052a
+
+Jumptable_10052a: ; 10052a
+	dw Function100534
+	dw Function100545
+	dw Function100545
+	dw Function100545
+	dw Function10054d
+; 100534
+
+Function100534: ; 100534
+	call Function100513
+	call Function1ad2
+	call Function321c
+	ld a, [wcd28]
+	inc a
+	ld [wcd28], a
+	ret
+; 100545
+
+Function100545: ; 100545
+	ld a, [wcd28]
+	inc a
+	ld [wcd28], a
+	ret
+; 10054d
+
+Function10054d: ; 10054d
+	callba Function241ba
+	ld a, c
+	ld hl, wcfa8
+	and [hl]
+	ret z
+	call Function1ff8
+	bit 0, a
+	jr nz, .asm_100565
+	bit 1, a
+	jr nz, .asm_10056f
+	ret
+
+.asm_100565
+	ld a, [wcd28]
+	set 7, a
+	ld [wcd28], a
+	and a
+	ret
+
+.asm_10056f
+	ld a, [wcd28]
+	set 7, a
+	ld [wcd28], a
+	scf
+	ret
+; 100579
+
+Function100579: ; 100579
+	ld a, [wcd26]
+	ld hl, Jumptable_100581
+	rst JumpTable
+	ret
+; 100581
+
+Jumptable_100581: ; 100581
+	dw Function100585
+	dw Function100597
+; 100585
+
+Function100585: ; 100585
+	ld hl, MenuDataHeader_1005b2
+	call LoadMenuDataHeader
+	ld a, $0
+	ld [wcd28], a
+	ld a, [wcd26]
+	inc a
+	ld [wcd26], a
+
+Function100597: ; 100597
+	call Function100522
+	ld a, [wcd28]
+	bit 7, a
+	ret z
+	jr nc, .asm_1005a6
+	xor a
+	ld [wcfa9], a
+
+.asm_1005a6
+	call Function1c07
+	ld a, [wcd26]
+	set 7, a
+	ld [wcd26], a
+	ret
+; 1005b2
+
+MenuDataHeader_1005b2: ; 1005b2
+	db $40 ; flags
+	db 6, 14
+	db 10, 19
+	dw MenuData2_1005ba
+	db 1 ; default option
+
+MenuData2_1005ba:
+	db $c0 ; flags
+	db 2
+	db "はい@"
+	db "いいえ@"
+; 1005c3
+
+Function1005c3: ; 1005c3
+	ld a, [wcd26]
+	ld hl, Jumptable_1005cb
+	rst JumpTable
+	ret
+; 1005cb
+
+Jumptable_1005cb: ; 1005cb
+	dw Function1005cf
+	dw Function1005e1
+; 1005cf
+
+Function1005cf: ; 1005cf
+	ld hl, MenuDataHeader_1005fc
+	call LoadMenuDataHeader
+	ld a, $0
+	ld [wcd28], a
+	ld a, [wcd26]
+	inc a
+	ld [wcd26], a
+
+Function1005e1: ; 1005e1
+	call Function100522
+	ld a, [wcd28]
+	bit 7, a
+	ret z
+	jr nc, .asm_1005f0
+	xor a
+	ld [wcfa9], a
+.asm_1005f0
+	call Function1c07
+	ld a, [wcd26]
+	set 7, a
+	ld [wcd26], a
+	ret
+; 1005fc
+
+MenuDataHeader_1005fc: ; 1005fc
+	db $40 ; flags
+	db 6, 14
+	db 10, 19
+	dw MenuData2_100604
+	db 1 ; default option
+
+MenuData2_100604: ; 100604
+	db $c0 ; flags
+	db 2
+	db "かける@"
+	db "まつ@"
+; 10060d
+
+Function10060d: ; 10060d
+	hlcoord 3, 10
+	ld b, $1
+	ld c, $b
+	call Function3eea
+	ld de, String_100621
+	hlcoord 4, 11
+	call PlaceString
+	ret
+; 100621
+
+String_100621: ; 100621
+	db "つうしんたいきちゅう!@"
+; 10062d
+
+Function10062d: ; 10062d
+	push bc
+	call Function10064e
+	pop bc
+	ld a, [wcd44]
+	cp b
+	jr nc, .asm_10063a
+	and a
+	ret
+
+.asm_10063a
+	ld a, $fa
+	ld [wcd2b], a
+	scf
+	ret
+; 100641
+
+Function100641: ; 100641
+	xor a
+	ld [wcd44], a
+	ld [wcd45], a
+	ld [wcd46], a
+	ret
+; 10064c
+
+Function10064c: ; 10064c
+	ld c, 1
+
+Function10064e: ; 10064e
+	ld hl, wcd46
+	ld a, [hl]
+	add c
+	cp $3c
+	jr c, .asm_100658
+	xor a
+
+.asm_100658
+	ld [hld], a
+	ret c
+	ld a, [hl]
+	inc a
+	cp $3c
+	jr c, .asm_100661
+	xor a
+
+.asm_100661
+	ld [hld], a
+	ret c
+	inc [hl]
+	ret
+; 100665
+
+Function100665: ; 100665
+	call UpdateTime
+	ld hl, wcd36
+	ld a, [hHours]
+	ld [hli], a
+	ld a, [hMinutes]
+	ld [hli], a
+	ld a, [hSeconds]
+	ld [hl], a
+	ret
+; 100675
+
+Function100675: ; 100675
+	ld hl, wcd2a
+	bit 2, [hl]
+	set 2, [hl]
+	ret nz
+	call Function1006d3
+	ret
+; 100681
+
+Function100681: ; 100681
+	push hl
+	ld hl, wcd2a
+	bit 2, [hl]
+	ld hl, wcd2a
+	set 2, [hl]
+	pop hl
+	jr nz, .asm_100694
+	push hl
+	call Function1006d3
+	pop hl
+.asm_100694
+	ld de, wcd32
+
+Function100697: ; 100697
+	ld a, [de]
+	and a
+	jr nz, .asm_1006bb
+	inc de
+	push de
+	call .asm_1006b4
+	ld de, String1006c2
+	call PlaceString
+	ld h, b
+	ld l, c
+	pop de
+	inc de
+	call .asm_1006b4
+	ld de, String1006c6
+	call PlaceString
+	ret
+
+.asm_1006b4
+	ld bc, $8102
+	call PrintNum
+	ret
+
+.asm_1006bb
+	ld de, String1006ca
+	call PlaceString
+	ret
+; 1006c2
+
+String1006c2: ; 1006c2
+	db "ふん @"
+String1006c6: ; 1006c6
+	db "びょう@"
+String1006ca: ; 1006ca
+	db "1じかんいじょう@"
+; 1006d3
+
+Function1006d3: ; 1006d3
+	call UpdateTime
+	ld de, wcd34
+	ld hl, wcd38
+
+Function1006dc: ; 1006dc
+	ld a, [hld]
+	ld c, a
+	ld a, [hSeconds]
+	sub c
+	jr nc, .asm_1006e5
+	add $3c
+
+.asm_1006e5
+	ld [de], a
+	dec de
+	ld a, [hld]
+	ld c, a
+	ld a, [hMinutes]
+	sbc c
+	jr nc, .asm_1006f0
+	add $3c
+
+.asm_1006f0
+	ld [de], a
+	dec de
+	ld a, [hl]
+	ld c, a
+	ld a, [hHours]
+	sbc c
+	jr nc, .asm_1006fb
+	add $18
+
+.asm_1006fb
+	ld [de], a
+	ret
+; 1006fd
+
+Function1006fd: ; 1006fd
+	ld a, $4
+	ld hl, $a800
+	call GetSRAMBank
+	xor a
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	call CloseSRAM
+	ret
+; 10070d
+
+Function10070d: ; 10070d
+	ld a, $4
+	ld hl, $a800
+	call GetSRAMBank
+	xor a
+	ld [hli], a
+	ld a, $a
+	ld [hli], a
+	xor a
+	ld [hli], a
+	call CloseSRAM
+	ret
+; 100720
+
+Function100720: ; 100720
+	xor a
+	ld [wcd6a], a
+	call UpdateTime
+	ld a, [hHours]
+	ld [wcd72], a
+	ld a, [hMinutes]
+	ld [wcd73], a
+	ld a, [hSeconds]
+	ld [wcd74], a
+	ld a, $4
+	ld hl, $a800
+	call GetSRAMBank
+	ld a, [hli]
+	ld [wcd6c], a
+	ld a, [hli]
+	ld [wcd6d], a
+	ld a, [hli]
+	ld [wcd6e], a
+	call CloseSRAM
+	ld a, [wcd6d]
+	ld [wcd6b], a
+	ret
+; 100754
+
+Function100754: ; 100754
+	call UpdateTime
+	ld a, [hHours]
+	ld [wcd72], a
+	ld a, [hMinutes]
+	ld [wcd73], a
+	ld a, [hSeconds]
+	ld [wcd74], a
+	ld a, [wcd6d]
+	ld [wcd6b], a
+	ld hl, wcd2a
+	res 6, [hl]
+	ret
+; 100772
+
+Function100772: ; 100772
+	push de
+	ld hl, wcd6c
+	ld a, [de]
+	cp [hl]
+	jr c, .asm_10079a
+	jr nz, .asm_10078c
+	inc hl
+	inc de
+	ld a, [de]
+	cp [hl]
+	jr c, .asm_10079a
+	jr nz, .asm_10078c
+	inc hl
+	inc de
+	ld a, [de]
+	cp [hl]
+	jr c, .asm_10079a
+	jr z, .asm_10079a
+
+.asm_10078c
+	pop hl
+	ld a, [hli]
+	ld [wcd6c], a
+	ld a, [hli]
+	ld [wcd6d], a
+	ld a, [hli]
+	ld [wcd6e], a
+	ret
+
+.asm_10079a
+	pop de
+	ret
+; 10079c
+
+
+Function10079c: ; 10079c
+	ld a, [wcd21]
+	cp $1
+	jr nz, .asm_1007f4
+	ld hl, wcd2a
+	bit 5, [hl]
+	jr nz, .asm_1007f4
+	ld hl, wcd2a
+	bit 6, [hl]
+	jr nz, .asm_1007f4
+	ld a, [wcd6a]
+	add c
+	cp $3c
+	jr nc, .asm_1007be
+	ld [wcd6a], a
+	and a
+	ret
+
+.asm_1007be
+	sub $3c
+	ld [wcd6a], a
+	ld d, b
+	push de
+	call Function1007f6
+	pop de
+	jr c, .asm_1007e5
+	ld a, c
+	and a
+	jr nz, .asm_1007e5
+	ld a, b
+	cp $a
+	jr nc, .asm_1007e5
+	ld a, d
+	and a
+	ret z
+	ld a, [wcd6b]
+	cp b
+	ret z
+	ld a, b
+	ld [wcd6b], a
+	call Function1008e0
+	and a
+	ret
+
+.asm_1007e5
+	call Function1008e0
+	ld hl, wcd2a
+	set 4, [hl]
+	ld a, $fc
+	ld [wcd2b], a
+	scf
+	ret
+
+.asm_1007f4
+	and a
+	ret
+; 1007f6
+
+Function1007f6: ; 1007f6
+	call UpdateTime
+	ld hl, wcd74
+	ld de, wcd71
+	call Function1006dc
+	ld a, $4
+	call GetSRAMBank
+	ld hl, $a802
+	call Function100826
+	call CloseSRAM
+	ld hl, wcd6e
+	call Function100826
+	ld a, [hHours]
+	ld [wcd72], a
+	ld a, [hMinutes]
+	ld [wcd73], a
+	ld a, [hSeconds]
+	ld [wcd74], a
+	ret
+; 100826
+
+Function100826: ; 100826
+	ld a, [wcd71]
+	add [hl]
+	sub $3c
+	jr nc, .asm_100830
+	add $3c
+
+.asm_100830
+	ld [hld], a
+	ccf
+	ld a, [BGMapBufferPtrs]
+	adc [hl]
+	sub $3c
+	jr nc, .asm_10083c
+	add $3c
+
+.asm_10083c
+	ld [hld], a
+	ld b, a
+	ccf
+	ld a, [wcd6f]
+	adc [hl]
+	ld [hl], a
+	ld c, a
+	ret
+; 100846
+
+Function100846: ; 100846
+	ld hl, wcd2a
+	bit 5, [hl]
+	jr nz, .asm_10087c
+	ld a, [wcd6e]
+	ld c, a
+	ld a, $0
+	sub c
+	jr nc, .asm_100858
+	add $3c
+
+.asm_100858
+	ld [StringBuffer2 + 2], a
+	ld a, [wcd6d]
+	ld c, a
+	ld a, $a
+	sbc c
+	ld [StringBuffer2 + 1], a
+	xor a
+	ld [StringBuffer2], a
+	ld de, String_10088e
+	hlcoord 1, 14
+	call PlaceString
+	ld de, StringBuffer2
+	hlcoord 4, 16
+	call Function100697
+	ret
+
+.asm_10087c
+	ld de, String_10088e
+	hlcoord 1, 14
+	call PlaceString
+	ld h, b
+	ld l, c
+	ld de, String_10089f
+	call PlaceString
+	ret
+; 10088e
+
+String_10088e: ; 10088e
+	db   "モバイルたいせん できる"
+	next "じかん@"
+; 10089f
+
+String_10089f: ; 10089f
+	db " むせいげん@"
+; 1008a6
+
+Function1008a6: ; 1008a6
+	ld a, $4
+	ld hl, $a800
+	call GetSRAMBank
+	ld a, [hli]
+	ld [StringBuffer2], a
+	ld a, [hli]
+	ld [StringBuffer2 + 1], a
+	ld a, [hli]
+	ld [StringBuffer2 + 2], a
+	call CloseSRAM
+	ld a, [StringBuffer2 + 2]
+	ld b, a
+	ld a, $0
+	sub b
+	jr nc, .asm_1008c8
+	add $3c
+
+.asm_1008c8
+	ld b, a
+	ld a, [StringBuffer2 + 1]
+	ld c, a
+	ld a, $a
+	sbc c
+	ld c, a
+	jr c, .asm_1008da
+	ld a, [StringBuffer2]
+	and a
+	jr nz, .asm_1008da
+	ret
+
+.asm_1008da
+	call Function10070d
+	ld c, $0
+	ret
+; 1008e0
+
+
+Function1008e0: ; 1008e0
+	ld a, [hBGMapMode]
+	ld b, a
+	ld a, [hVBlank]
+	ld c, a
+	push bc
+	xor a
+	ld [hBGMapMode], a
+	ld a, $3
+	ld [hVBlank], a
+	call Function100970
+	call Function100902
+	call Function100989
+	call DelayFrame
+	pop bc
+	ld a, c
+	ld [hVBlank], a
+	ld a, b
+	ld [hBGMapMode], a
+	ret
+; 100902
+
+Function100902: ; 100902
+	hlcoord 3, 10
+	ld b, $1
+	ld c, $b
+	call TextBox
+	ld a, [wcd6d]
+	ld c, a
+	ld a, $a
+	sub c
+	ld [StringBuffer2], a
+	jr z, .asm_10093f
+	ld de, .string_100966
+	hlcoord 4, 11
+	call PlaceString
+	hlcoord 8, 11
+	ld bc, $0102
+	ld de, StringBuffer2
+	call PrintNum
+	ld de, SFX_TWO_PC_BEEPS
+	call PlaySFX
+	callba Function104061
+	ld c, $3c
+	call DelayFrames
+	ret
+
+.asm_10093f
+	ld de, .string_10095a
+	hlcoord 4, 11
+	call PlaceString
+	ld de, SFX_4_NOTE_DITTY
+	call PlaySFX
+	callba Function104061
+	ld c, $78
+	call DelayFrames
+	ret
+; 10095a
+
+.string_10095a ; 10095a
+	db "たいせん しゅうりょう@"
+.string_100966 ; 100966
+	db "のこり   ふん", $e7, "@"
+; 100970
+
+
+Function100970: ; 100970
+	ld hl, TileMap
+	ld de, wdc00
+	call Function1009a5
+	ld hl, AttrMap
+	ld de, $dd68
+	call Function1009a5
+	call Function1009d2
+	call Function1009ae
+	ret
+; 100989
+
+Function100989: ; 100989
+	ld hl, wdc00
+	ld de, TileMap
+	call Function1009a5
+	call Function1009ae
+	callba Function104061
+	ld hl, $dd68
+	ld de, AttrMap
+	call Function1009a5
+	ret
+; 1009a5
+
+Function1009a5: ; 1009a5
+	ld bc, $0168
+	ld a, $3
+	call FarCopyWRAM
+	ret
+; 1009ae
+
+Function1009ae: ; 1009ae
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+	ld hl, $d800
+	ld de, AttrMap
+	ld c, $14
+	ld b, $12
+.asm_1009bf
+	push bc
+.asm_1009c0
+	ld a, [hli]
+	ld [de], a
+	inc de
+	dec c
+	jr nz, .asm_1009c0
+	ld bc, $000c
+	add hl, bc
+	pop bc
+	dec b
+	jr nz, .asm_1009bf
+	pop af
+	ld [rSVBK], a
+	ret
+; 1009d2
+
+Function1009d2: ; 1009d2
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+	ld a, [rVBK]
+	push af
+	ld a, $1
+	ld [rVBK], a
+	ld hl, $d800
+	ld de, VBGMap0
+	lb bc, $3, $24
+	call Get2bpp
+	pop af
+	ld [rVBK], a
+	pop af
+	ld [rSVBK], a
+	ret
+; 1009f3
+
+Function1009f3: ; 1009f3
+	ld a, [hJoyDown]
+	and SELECT + A_BUTTON
+	cp SELECT + A_BUTTON
+	jr nz, .asm_100a07
+	ld hl, wcd2a
+	set 4, [hl]
+	ld a, $f8
+	ld [wcd2b], a
+	scf
+	ret
+
+.asm_100a07
+	xor a
+	ret
+; 100a09
+
+Function100a09: ; 100a09
+	call Function100a2e
+	ld [wd431], a
+	callba Function4000
+	ld a, [InLinkBattle]
+	cp $4
+	jr nz, .asm_100a2a
+	call Function100a87
+	call Function100da5
+	callba Function3ee27
+	jr .asm_100a2d
+
+.asm_100a2a
+	call Function100a53
+
+.asm_100a2d
+	ret
+; 100a2e
+
+Function100a2e: ; 100a2e
+	ld a, [wd0ec]
+	and a
+	jr nz, .asm_100a48
+	ld a, [CurPlayerMove]
+	ld b, $e
+	cp STRUGGLE
+	jr z, .asm_100a4f
+	ld b, $d
+	cp $ff
+	jr z, .asm_100a4f
+	ld a, [CurMoveNum]
+	jr .asm_100a50
+
+.asm_100a48
+	ld a, [CurPartyMon]
+	add $4
+	jr .asm_100a50
+
+.asm_100a4f
+	ld a, b
+
+.asm_100a50
+	and $f
+	ret
+; 100a53
+
+Function100a53: ; 100a53
+	ld a, [wd431]
+	ld [wcf56], a
+	ld a, $ff
+	ld [wcf52], a
+.asm_100a5e
+	call Function8c1
+	call DelayFrame
+	ld a, [wcf52]
+	inc a
+	jr z, .asm_100a5e
+	ld b, $a
+.asm_100a6c
+	call DelayFrame
+	call Function8c1
+	dec b
+	jr nz, .asm_100a6c
+	ld b, $a
+.asm_100a77
+	call DelayFrame
+	call Function908
+	dec b
+	jr nz, .asm_100a77
+	ld a, [wcf52]
+	ld [wd430], a
+	ret
+; 100a87
+
+Function100a87: ; 100a87
+	call Function100acf
+	call Function100641
+	ld a, $0
+	ld [wcd27], a
+.asm_100a92
+	call DelayFrame
+	call GetJoypad
+	callba Function100382
+	ld c, $1
+	ld b, $3
+	push bc
+	call Function10062d
+	pop bc
+	jr c, .asm_100ac7
+	ld b, $1
+	call Function10079c
+	jr c, .asm_100ac7
+	call Function1009f3
+	jr c, .asm_100ac7
+	ld a, [wcd2b]
+	and a
+	jr nz, .asm_100ac7
+	ld a, [wcd27]
+	bit 7, a
+	jr z, .asm_100a92
+	call Function100ae7
+	jr .asm_100ace
+
+.asm_100ac7
+	ld a, $f
+	ld [wd430], a
+	jr .asm_100ace
+
+.asm_100ace
+	ret
+; 100acf
+
+Function100acf: ; 100acf
+	ld de, Unknown_100b0a
+	ld hl, wccb5
+	ld a, [wd431]
+	ld [hli], a
+	ld c, $1
+.asm_100adb
+	ld a, [de]
+	inc de
+	ld [hli], a
+	inc c
+	and a
+	jr nz, .asm_100adb
+	ld a, c
+	ld [wccb4], a
+	ret
+; 100ae7
+
+Function100ae7: ; 100ae7
+	ld de, Unknown_100b0a
+	ld hl, wcc62
+.asm_100aed
+	ld a, [de]
+	inc de
+	and a
+	jr z, .asm_100af8
+	cp [hl]
+	jr nz, .asm_100aff
+	inc hl
+	jr .asm_100aed
+
+.asm_100af8
+	ld a, [wcc61]
+	ld [wd430], a
+	ret
+
+.asm_100aff
+	ld a, $f
+	ld [wd430], a
+	ld a, $f1
+	ld [wcd2b], a
+	ret
+; 100b0a
+
+
+SECTION "tetsuji", ROMX, BANK[$40]
+
+	charmap " ", $20 ; revert to ascii
+
+Unknown_100b0a: ; 100b0a
+	db "tetsuji", 0
+; 100b12
+
+
+SECTION "bank40_2", ROMX, BANK[$40]
+
+Function100b12: ; 100b12
+	call Function100dd8
+	ret c
+	ld hl, BattleMenuDataHeader
+	ld a, BANK(BattleMenuDataHeader)
+	ld de, LoadMenuDataHeader
+	call FarCall_de
+	ld a, BANK(BattleMenuDataHeader)
+	ld [wcf94], a
+	ld a, [wd0d2]
+	ld [wcf88], a
+	call Function100e72
+	call Function100b45
+	callba Function8e85
+	call Function100ed4
+	ld a, [wcf88]
+	ld [wd0d2], a
+	call Function1c07
+	ret
+; 100b45
+
+Function100b45: ; 100b45
+	call Function100b7a
+.asm_100b48
+	call Function100dd2
+	callba Function241ba
+	push bc
+	callba Function10402d
+	call Function100e2d
+	pop bc
+	jr c, .asm_100b6b
+	ld a, [wcfa8]
+	and c
+	jr z, .asm_100b48
+	callba Function24098
+	ret
+
+.asm_100b6b
+	ld a, [wcfa4]
+	ld c, a
+	ld a, [wcfa3]
+	call SimpleMultiply
+	ld [wcf88], a
+	and a
+	ret
+; 100b7a
+
+Function100b7a: ; 100b7a
+	ld hl, Function1c66
+	ld a, [wcf94]
+	rst FarCall
+	callba Function24085
+	callba MobileTextBorder
+	call Function1ad2
+	call Function321c
+	callba Function2411a
+	ld hl, wcfa5
+	set 7, [hl]
+	ret
+; 100b9f
+
+Function100b9f: ; 100b9f
+	xor a
+	ld [wd0e3], a
+	callba Function3e786
+	ret z
+	call Function100dd8
+	jp c, Function2ec8
+	call Function100e72
+	call Function100bc2
+	push af
+	callba Function8e85
+	call Function100ed4
+	pop af
+	ret
+; 100bc2
+
+Function100bc2: ; 100bc2
+	xor a
+	ld [hBGMapMode], a
+	call Function100c74
+	call Function100c98
+.asm_100bcb
+	callba MoveInfoBox
+.asm_100bd1
+	call Function100dd2
+	callba Function241ba
+	push bc
+	callba Function10402d
+	call Function100e2d
+	pop bc
+	jr c, .asm_100c25
+	ld a, [wcfa8]
+	and c
+	bit 6, a
+	jp nz, .asm_100bff
+	bit 7, a
+	jp nz, .asm_100c10
+	bit 0, a
+	jr nz, .asm_100c30
+	bit 1, a
+	jr nz, .asm_100c25
+	jr .asm_100bd1
+
+.asm_100bff
+	ld a, [wcfa9]
+	and a
+	jp nz, .asm_100bcb
+	ld a, [wd0eb]
+	inc a
+	ld [wcfa9], a
+	jp .asm_100bcb
+
+.asm_100c10
+	ld a, [wcfa9]
+	ld b, a
+	ld a, [wd0eb]
+	inc a
+	inc a
+	cp b
+	jp nz, .asm_100bcb
+	ld a, $1
+	ld [wcfa9], a
+	jp .asm_100bcb
+
+.asm_100c25
+	ld a, [wcfa9]
+	dec a
+	ld [CurMoveNum], a
+	ld a, $1
+	and a
+	ret
+
+.asm_100c30
+	ld a, [wcfa9]
+	dec a
+	ld [CurMoveNum], a
+	ld a, [wcfa9]
+	dec a
+	ld c, a
+	ld b, 0
+	ld hl, BattleMonPP
+	add hl, bc
+	ld a, [hl]
+	and $3f
+	jr z, .asm_100c68
+	ld a, [PlayerDisableCount]
+	swap a
+	and $f
+	dec a
+	cp c
+	jr z, .asm_100c63
+	ld a, [wcfa9]
+	dec a
+	ld c, a
+	ld b, 0
+	ld hl, BattleMonMoves
+	add hl, bc
+	ld a, [hl]
+	ld [CurPlayerMove], a
+	xor a
+	ret
+
+.asm_100c63
+	ld hl, BattleText_0x80c5b
+	jr .asm_100c6b
+
+.asm_100c68
+	ld hl, BattleText_0x80c39
+
+.asm_100c6b
+	call StdBattleTextBox
+	call Function30b4
+	jp Function100bc2
+; 100c74
+
+Function100c74: ; 100c74
+	hlcoord 0, 8
+	ld b, 8
+	ld c, 8
+	call TextBox
+	ld hl, BattleMonMoves
+	ld de, wd25e
+	ld bc, NUM_MOVES
+	call CopyBytes
+	ld a, SCREEN_WIDTH * 2
+	ld [Buffer1], a
+	hlcoord 2, 10
+	predef ListMoves
+	ret
+; 100c98
+
+Function100c98: ; 100c98
+	ld de, Unknown_100cad
+	call Function1bb1
+	ld a, [wd0eb]
+	inc a
+	ld [wcfa3], a
+	ld a, [CurMoveNum]
+	inc a
+	ld [wcfa9], a
+	ret
+; 100cad
+
+Unknown_100cad: ; 100cad
+INCBIN "baserom.gbc",$100cad,$100cb5 - $100cad
+
+
+Function100cb5: ; 100cb5
+	call Function100dd8
+	ret c
+	ld hl, wcfa5
+	set 7, [hl]
+	res 6, [hl]
+.asm_100cc0
+	call Function100dd2
+	callba Function241ba
+	push bc
+	callba Function8cf69
+	callba Function10402d
+	call Function100dfd
+	pop bc
+	jr c, .asm_100d17
+	ld a, [wcfa8]
+	and c
+	jr z, .asm_100cc0
+	call Function1bee
+	ld a, [PartyCount]
+	inc a
+	ld b, a
+	ld a, [wcfa9]
+	cp b
+	jr z, .asm_100d17
+	ld [wd0d8], a
+	ld a, [$ffa9]
+	ld b, a
+	bit 1, b
+	jr nz, .asm_100d17
+	ld a, [wcfa9]
+	dec a
+	ld [CurPartyMon], a
+	ld c, a
+	ld b, $0
+	ld hl, PartySpecies
+	add hl, bc
+	ld a, [hl]
+	ld [CurPartySpecies], a
+	ld de, SFX_READ_TEXT_2
+	call PlaySFX
+	call WaitSFX
+	and a
+	ret
+
+.asm_100d17
+	ld de, SFX_READ_TEXT_2
+	call PlaySFX
+	call WaitSFX
+	scf
+	ret
+; 100d22
+
+Function100d22: ; 100d22
+	call Function100dd8
+	ret c
+	call Function100d67
+	ld hl, wcfa5
+	set 7, [hl]
+	res 6, [hl]
+.asm_100d30
+	call Function100dd2
+	callba Function241ba
+	push bc
+	callba Function8cf69
+	callba Function10402d
+	call Function100dfd
+	pop bc
+	jr c, .asm_100d54
+	ld a, [wcfa8]
+	and c
+	jr nz, .asm_100d56
+	jr .asm_100d30
+
+.asm_100d54
+	scf
+	ret
+
+.asm_100d56
+	push af
+	ld de, SFX_READ_TEXT_2
+	call PlaySFX
+	pop af
+	bit 1, a
+	jr z, .asm_100d65
+	ret z
+	scf
+	ret
+
+.asm_100d65
+	and a
+	ret
+; 100d67
+
+Function100d67: ; 100d67
+	ld hl, MenuDataHeader_100d88
+	call Function1d3c
+	xor a
+	ld [hBGMapMode], a
+	call Function1cbb
+	call Function1ad2
+	call Function1c89
+	call WaitBGMap
+	call Function1c66
+	call Function1c10
+	ld hl, wcfa5
+	set 6, [hl]
+	ret
+; 100d88
+
+MenuDataHeader_100d88: ; 100d88
+	db 0 ; flags
+	db 11, 11 ; start coords
+	db 17, 19 ; end coords
+	dw MenuData2_100d90
+	db 1 ; default option
+
+MenuData2_100d90: ; 100d90
+	db $c0 ; flags
+	db 3
+	db "いれかえる@"
+	db "つよさをみる@"
+	db "キャンセル@"
+; 100da5
+
+Function100da5: ; 100da5
+	ld hl, wcd2a
+	res 3, [hl]
+	ld hl, wcd29
+	res 0, [hl]
+	ret
+; 100db0
+
+Function100db0: ; 100db0
+	ld hl, wcd2a
+	bit 3, [hl]
+	jr nz, .asm_100dbe
+	ld hl, wcd2a
+	set 3, [hl]
+	scf
+	ret
+
+.asm_100dbe
+	xor a
+	ret
+; 100dc0
+
+
+
+Function100dc0: ; 100dc0
+	ld a, [InLinkBattle]
+	cp $4
+	jr nz, .asm_100dd0
+	ld hl, wcd2a
+	bit 3, [hl]
+	jr z, .asm_100dd0
+	scf
+	ret
+
+.asm_100dd0
+	xor a
+	ret
+; 100dd2
+
+Function100dd2: ; 100dd2
+	ld a, 30
+	ld [OverworldDelay], a
+	ret
+; 100dd8
+
+Function100dd8: ; 100dd8
+	ld c, $1
+	ld b, $3
+	callba Function10062d
+	jr c, .asm_100dfb
+	ld c, $3c
+	ld b, $1
+	call Function10079c
+	jr c, .asm_100dfb
+	callba Function10032e
+	ld a, [wcd2b]
+	and a
+	jr nz, .asm_100dfb
+	xor a
+	ret
+
+.asm_100dfb
+	scf
+	ret
+; 100dfd
+
+Function100dfd: ; 100dfd
+	ld a, [OverworldDelay]
+	ld c, a
+	ld a, 30
+	sub c
+	ld c, a
+	ld b, 3
+	push bc
+	callba Function10062d
+	pop bc
+	jr c, .asm_100e2b
+	ld b, 1
+	call Function10079c
+	jr c, .asm_100e2b
+	call Function1009f3
+	jr c, .asm_100e2b
+	callba Function10032e
+	ld a, [wcd2b]
+	and a
+	jr nz, .asm_100e2b
+	xor a
+	ret
+
+.asm_100e2b
+	scf
+	ret
+; 100e2d
+
+Function100e2d: ; 100e2d
+	ld a, [OverworldDelay]
+	ld c, a
+	ld a, 30
+	sub c
+	ld c, a
+	ld b, 3
+	push bc
+	callba Function10062d
+	pop bc
+	jr c, .asm_100e61
+	ld b, 1
+	call Function10079c
+	jr c, .asm_100e61
+	call Function1009f3
+	jr c, .asm_100e61
+	callba Function10032e
+	ld a, [wcd2b]
+	and a
+	jr nz, .asm_100e61
+	call Function100e63
+	call Function100e84
+	xor a
+	ret
+
+.asm_100e61
+	scf
+	ret
+; 100e63
+
+Function100e63: ; 100e63
+	ld a, e
+	cp $2
+	ret nz
+	call Function100db0
+	ret nc
+	ld de, SFX_ELEVATOR_END
+	call PlaySFX
+	ret
+; 100e72
+
+Function100e72: ; 100e72
+	xor a
+	ld hl, wcd29
+	bit 0, [hl]
+	jr z, .asm_100e7c
+	ld a, $a
+
+.asm_100e7c
+	ld [wcd67], a
+	xor a
+	ld [wcd68], a
+	ret
+; 100e84
+
+Function100e84: ; 100e84
+	ld a, [wcd67]
+	ld hl, Jumptable_100e8c
+	rst JumpTable
+	ret
+; 100e8c
+
+
+Jumptable_100e8c: ; 100e8c (40:4e8c)
+	dw Function100ea2
+	dw Function100eae
+	dw Function100eb4
+	dw Function100eae
+	dw Function100eb4
+	dw Function100eae
+	dw Function100eb4
+	dw Function100eae
+	dw Function100eb4
+	dw Function100eae
+	dw Function100ec4
+
+
+Function100ea2: ; 100ea2 (40:4ea2)
+	call Function100dc0
+	ret nc
+	ld hl, wcd29
+	set 0, [hl]
+	call Function100ec5
+
+
+Function100eae: ; 100eae
+	scf
+	call Function100eca
+	jr asm_100eb8
+
+Function100eb4: ; 100eb4
+	and a
+	call Function100eca
+
+asm_100eb8
+	ld hl, wcd68
+	inc [hl]
+	ld a, [hl]
+	cp $2
+	ret c
+	ld [hl], $0
+	jr Function100ec5
+
+Function100ec4: ; 100ec4
+	ret
+
+Function100ec5
+	ld hl, wcd67
+	inc [hl]
+	ret
+; 100eca
+
+Function100eca: ; 100eca
+	callba Function8e8b
+	call Function100ed4
+	ret
+; 100ed4
+
+Function100ed4: ; 100ed4
+	callba Function96a4
+	ld a, $1
+	ld [hCGBPalUpdate], a
+	ret
+; 100edf
+
+Function100edf: ; 100edf
+	ld hl, Unknown_100fc0
+	ld c, 1
+	jr asm_100f02
+
+Function100ee6: ; 100ee6
+	ld hl, Unknown_100fc0
+	ld c, 2
+	jr asm_100f02
+
+Function100eed: ; 100eed
+	ld hl, Unknown_100feb
+	ld c, 1
+	jr asm_100f02
+
+Function100ef4: ; 100ef4
+	ld hl, Unknown_100ff3
+	ld c, 1
+	jr asm_100f02
+
+Function100efb: ; 100efb
+	ld hl, Unknown_10102c
+	ld c, 1
+	jr asm_100f02
+
+asm_100f02:
+	ld a, c
+	ld [StringBuffer2], a
+	ld a, e
+	ld [StringBuffer2 + 1], a
+	ld a, d
+	ld [StringBuffer2 + 2], a
+	xor a
+	ld [StringBuffer2 + 4], a
+	ld [StringBuffer2 + 5], a
+.asm_100f15
+	ld a, [hl]
+	cp $ff
+	jr z, .asm_100f34
+	ld [StringBuffer2 + 3], a
+	push hl
+	inc hl
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	call Function100f3d
+	pop hl
+	ld de, $0007
+	add hl, de
+	jr .asm_100f15
+
+.asm_100f34
+	ld a, [StringBuffer2 + 4]
+	ld c, a
+	ld a, [StringBuffer2 + 5]
+	ld b, a
+	ret
+; 100f3d
+
+Function100f3d: ; 100f3d
+	ld a, [StringBuffer2]
+	cp $2
+	jr z, .asm_100f61
+	cp $1
+	jr z, .asm_100f77
+	cp $3
+	jr z, .asm_100f4d
+	ret
+
+.asm_100f4d
+	ld a, [StringBuffer2 + 1]
+	ld l, a
+	ld a, [StringBuffer2 + 2]
+	ld h, a
+	call Function100f8d
+	ld a, l
+	ld [StringBuffer2 + 1], a
+	ld a, h
+	ld [StringBuffer2 + 2], a
+	ret
+
+.asm_100f61
+	ld d, h
+	ld e, l
+	ld a, [StringBuffer2 + 1]
+	ld l, a
+	ld a, [StringBuffer2 + 2]
+	ld h, a
+	call Function100f8d
+	ld a, l
+	ld [StringBuffer2 + 1], a
+	ld a, h
+	ld [StringBuffer2 + 2], a
+	ret
+
+.asm_100f77
+	ld h, d
+	ld l, e
+	ld a, [StringBuffer2 + 1]
+	ld e, a
+	ld a, [StringBuffer2 + 2]
+	ld d, a
+	call Function100f8d
+	ld a, e
+	ld [StringBuffer2 + 1], a
+	ld a, d
+	ld [StringBuffer2 + 2], a
+	ret
+; 100f8d
+
+Function100f8d: ; 100f8d
+	push hl
+	ld a, [StringBuffer2 + 4]
+	ld l, a
+	ld a, [StringBuffer2 + 5]
+	ld h, a
+	add hl, bc
+	ld a, l
+	ld [StringBuffer2 + 4], a
+	ld a, h
+	ld [StringBuffer2 + 5], a
+	pop hl
+	ld a, [StringBuffer2 + 3]
+	bit 7, a
+	res 7, a
+	jr z, .asm_100fb6
+	and a
+	jr nz, .asm_100fb0
+	call CopyBytes
+	ret
+
+.asm_100fb0
+	and $7f
+	call FarCopyWRAM
+	ret
+
+.asm_100fb6
+	call GetSRAMBank
+	call CopyBytes
+	call CloseSRAM
+	ret
+; 100fc0
+
+Unknown_100fc0: ; 100fc0
+	dbwww $80, PlayerName, NAME_LENGTH, wd26b
+	dbwww $80, PartyCount, 1 + PARTY_LENGTH + 1, OTPartyCount
+	dbwww $80, PlayerID, 2, wd276
+	dbwww $80, PartyMons, $30 * PARTY_LENGTH, OTPartyMons
+	dbwww $80, PartyMonOT, NAME_LENGTH * PARTY_LENGTH, OTPartyMonOT
+	dbwww $80, PartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, OTPartyMonNicknames
+	db -1
+
+Unknown_100feb: ; 100feb
+	dbwww $00, $a600, $2f * PARTY_LENGTH, NULL
+	db -1
+
+Unknown_100ff3: ; 100ff3
+	dbwww $80, wdc41, 1, NULL
+	dbwww $80, PlayerName, NAME_LENGTH, NULL
+	dbwww $80, PlayerName, NAME_LENGTH, NULL
+	dbwww $80, PlayerID, 2, NULL
+	dbwww $80, wd84a, 2, NULL
+	dbwww $80, PlayerGender, 1, NULL
+	dbwww $04, $a603, 8, NULL
+	dbwww $04, $a007, $30, NULL
+	db -1
+
+Unknown_10102c: ; 10102c
+	dbwww $80, wd26b, 11, NULL
+	dbwww $80, wd276, 2, NULL
+	dbwww $80, OTPartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, NULL
+	dbwww $80, OTPartyMonOT, NAME_LENGTH * PARTY_LENGTH, NULL
+	dbwww $80, OTPartyMons, $30 * PARTY_LENGTH, NULL
+	db -1
+; 10104f
+
+Function101050: ; 101050
+	call Function10107d
+	ld a, [OTPartyCount]
+	ld hl, $c608
+	ld hl, $c608
+	ld bc, $01b3
+	call Function1010de
+	ld hl, wc7bb
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	ld a, $7
+	call GetSRAMBank
+	ld hl, $c608
+	ld de, $a001
+	ld bc, $01b5
+	call CopyBytes
+	call CloseSRAM
+	ret
+; 10107d
+
+Function10107d: ; 10107d
+	xor a
+	ld hl, $c608
+	ld bc, $01b5
+	call ByteFill
+	ld hl, wd26b
+	ld de, $c608
+	ld bc, $000b
+	call CopyBytes
+	ld hl, wd271
+	ld a, [hli]
+	ld [$c608 + 11], a
+	ld a, [hl]
+	ld [$c608 + 12], a
+	ld hl, OTPartyMonNicknames
+	ld de, $c608 + 13
+	ld bc, $000b
+	call Function1010cd
+	ld hl, OTPartyMonOT
+	ld de, $c656 + 1
+	ld bc, $000b
+	call Function1010cd
+	ld hl, OTPartyMon1Species
+	ld de, $c68a + 15
+	ld bc, $0030
+	call Function1010cd
+	ld a, $50
+	ld [wc7b9], a
+	ld a, $33
+	ld [wc7ba], a
+	ret
+; 1010cd
+
+Function1010cd: ; 1010cd
+	push hl
+	ld hl, 0
+	ld a, [OTPartyCount]
+	call AddNTimes
+	ld b, h
+	ld c, l
+	pop hl
+	call CopyBytes
+	ret
+; 1010de
+
+Function1010de: ; 1010de
+	push hl
+	push bc
+	ld de, 0
+.asm_1010e3
+	ld a, [hli]
+	add e
+	ld e, a
+	ld a, d
+	adc 0
+	ld d, a
+	dec bc
+	ld a, b
+	or c
+	jr nz, .asm_1010e3
+	pop bc
+	pop hl
+	ret
+; 1010f2
+
+Function1010f2: ; 1010f2
+	xor a
+	ld hl, StringBuffer2
+	ld bc, $0009
+	call ByteFill
+	ld hl, wdc5c
+	ld de, PartyCount
+	call Function101145
+	ld hl, wdc5c
+	ld de, PartyMon1Species
+	call Function10117c
+	ld hl, wdc5c
+	ld de, PartyMonOT
+	call Function101181
+	ld hl, wdc5c
+	ld de, PartyMonNicknames
+	call Function101181
+	ld hl, wcd75
+	ld de, OTPartyCount
+	call Function101145
+	ld hl, wcd75
+	ld de, OTPartyMon1Species
+	call Function10117c
+	ld hl, wcd75
+	ld de, OTPartyMonOT
+	call Function101181
+	ld hl, wcd75
+	ld de, OTPartyMonNicknames
+	call Function101181
+	ret
+; 101145
+
+Function101145: ; 101145
+	push de
+	ld bc, StringBuffer2 + 6
+	xor a
+.asm_10114a
+	push af
+	call Function101168
+	ld [bc], a
+	inc bc
+	pop af
+	inc a
+	cp $3
+	jr nz, .asm_10114a
+	pop de
+	ld a, $3
+	ld [de], a
+	inc de
+	ld hl, StringBuffer2 + 6
+	ld bc, $0003
+	call CopyBytes
+	ld a, $ff
+	ld [de], a
+	ret
+; 101168
+
+Function101168: ; 101168
+	push hl
+	add l
+	ld l, a
+	ld a, h
+	adc $0
+	ld h, a
+	ld a, [hl]
+	pop hl
+	push de
+	inc de
+	add e
+	ld e, a
+	ld a, d
+	adc $0
+	ld d, a
+	ld a, [de]
+	pop de
+	ret
+; 10117c
+
+Function10117c: ; 10117c
+	ld bc, $0030
+	jr asm_101184
+
+Function101181: ; 101181
+	ld bc, $000b
+
+asm_101184:
+	ld a, $c608 % $100
+	ld [StringBuffer2], a
+	ld a, $c608 / $100
+	ld [StringBuffer2 + 1], a
+	ld a, c
+	ld [StringBuffer2 + 2], a
+	ld a, b
+	ld [StringBuffer2 + 3], a
+	ld a, e
+	ld [StringBuffer2 + 4], a
+	ld a, d
+	ld [StringBuffer2 + 5], a
+	ld a, $3
+.asm_1011a0
+	push af
+	ld a, [hli]
+	push hl
+	push af
+	call Function1011df
+	call Function1011e8
+	pop af
+	call AddNTimes
+	ld a, [StringBuffer2]
+	ld e, a
+	ld a, [StringBuffer2 + 1]
+	ld d, a
+	call CopyBytes
+	ld a, e
+	ld [StringBuffer2], a
+	ld a, d
+	ld [StringBuffer2 + 1], a
+	pop hl
+	pop af
+	dec a
+	jr nz, .asm_1011a0
+	call Function1011e8
+	ld a, 3
+	ld hl, 0
+	call AddNTimes
+	ld b, h
+	ld c, l
+	call Function1011df
+	ld d, h
+	ld e, l
+	ld hl, $c608
+	call CopyBytes
+	ret
+; 1011df
+
+Function1011df: ; 1011df
+	ld a, [StringBuffer2 + 4]
+	ld l, a
+	ld a, [StringBuffer2 + 5]
+	ld h, a
+	ret
+; 1011e8
+
+Function1011e8: ; 1011e8
+	ld a, [StringBuffer2 + 2]
+	ld c, a
+	ld a, [StringBuffer2 + 3]
+	ld b, a
+	ret
+; 1011f1
+
+Function1011f1: ; 1011f1
+	ld a, $4
+	call GetSRAMBank
+	ld a, [$a60c]
+	ld [wdc41], a
+	call CloseSRAM
+	ld hl, wdc41
+	res 4, [hl]
+	ld hl, GameTimerPause
+	bit 7, [hl]
+	jr z, .asm_101210
+	ld hl, wdc41
+	set 4, [hl]
+
+.asm_101210
+	call Function10209c
+	xor a
+	ld [wdc5f], a
+	ld [wdc60], a
+	ld a, $4
+	ld [InLinkBattle], a
+	ret
+; 101220
+
+Function101220: ; 101220
+	xor a
+	ld [InLinkBattle], a
+	ret
+; 101225
+
+Function101225: ; 101225
+	ld d, 1
+	ld e, BANK(Jumptable_101297)
+	ld bc, Jumptable_101297
+	call Function100000
+	jr Function10123d
+
+Function101231: ; 101231
+	ld d, 2
+	ld e, BANK(Jumptable_101297)
+	ld bc, Jumptable_101297
+	call Function100000
+	jr Function10123d
+
+Function10123d: ; 10123d
+	xor a
+	ld [ScriptVar], a
+	ld a, c
+	ld hl, Jumptable_101247
+	rst JumpTable
+	ret
+; 101247
+
+Jumptable_101247: ; 101247
+	dw Function101251
+	dw Function10127d
+	dw Function10127c
+	dw Function10126c
+	dw Function101265
+; 101251
+
+Function101251: ; 101251
+	call Function1ad2
+	call ResetWindow
+	ld hl, UnknownText_0x1021f4
+	call Function1021e0
+	call Function1020ea
+	ret c
+	call Function102142
+	ret
+; 101265
+
+Function101265: ; 101265
+	ld hl, UnknownText_0x1021ef
+	call Function1021e0
+	ret
+; 10126c
+
+Function10126c: ; 10126c
+	call Function1ad2
+	callba Script_reloadmappart
+	ld hl, UnknownText_0x1021f4
+	call Function1021e0
+	ret
+; 10127c
+
+Function10127c: ; 10127c
+	ret
+; 10127d
+
+Function10127d: ; 10127d
+	ret
+; 10127e
+
+Function10127e: ; 10127e
+	ld a, [wdc5f]
+	and a
+	jr z, .asm_101290
+	cp $1
+	ld c, $27
+	jr z, .asm_101292
+	cp $2
+	ld c, $37
+	jr z, .asm_101292
+
+.asm_101290
+	ld c, $0
+
+.asm_101292
+	ld a, c
+	ld [wcd25], a
+	ret
+; 101297
+
+Jumptable_101297: ; 101297
+	dw Function101a97
+	dw Function101ab4
+	dw Function101475
+	dw Function101b0f
+	dw Function101438
+	dw Function101b2b
+	dw Function101b59
+	dw Function101475
+	dw Function101b70
+	dw Function101438
+	dw Function101b8f
+	dw Function101d7b
+	dw Function101d95
+	dw Function101475
+	dw Function101db2
+	dw Function101e4f
+	dw Function101475
+	dw Function101e64
+	dw Function101e4f
+	dw Function101475
+	dw Function101e64
+	dw Function101d95
+	dw Function101475
+	dw Function101db2
+	dw Function101dd0
+	dw Function101de3
+	dw Function101e39
+	dw Function101e09
+	dw Function101e4f
+	dw Function101475
+	dw Function101e64
+	dw Function101d95
+	dw Function101475
+	dw Function101db2
+	dw Function101e09
+	dw Function101e31
+	dw Function101bc8
+	dw Function101438
+	dw Function101be5
+	dw Function101ac6
+	dw Function101ab4
+	dw Function101475
+	dw Function101c11
+	dw Function1014f4
+	dw Function101cc8
+	dw Function1014e2
+	dw Function1014e2
+	dw Function101d10
+	dw Function101d2a
+	dw Function101d2a
+	dw Function101507
+	dw Function10156d
+	dw Function101557
+	dw Function10158a
+	dw Function101c42
+	dw Function101aed
+	dw Function101ab4
+	dw Function101475
+	dw Function101c2b
+	dw Function1014f4
+	dw Function101cdf
+	dw Function1014e2
+	dw Function1014e2
+	dw Function101d1e
+	dw Function101d2a
+	dw Function101d2a
+	dw Function101507
+	dw Function10156d
+	dw Function101544
+	dw Function10158a
+	dw Function101c42
+	dw Function101c50
+	dw Function1014ce
+	dw Function101cf6
+	dw Function101826
+	dw Function1017e4
+	dw Function1017f1
+	dw Function1018a8
+	dw Function1018d6
+	dw Function1017e4
+	dw Function1017f1
+	dw Function1018e1
+	dw Function1015df
+	dw Function10167d
+	dw Function10168a
+	dw Function10162a
+	dw Function1015be
+	dw Function10167d
+	dw Function10168a
+	dw Function10161f
+	dw Function10159d
+	dw Function10167d
+	dw Function10168a
+	dw Function101600
+	dw Function101d03
+	dw Function101d6b
+	dw Function10159d
+	dw Function1014ce
+	dw Function10168e
+	dw Function101600
+	dw Function101913
+	dw Function10194b
+	dw Function10196d
+	dw Function1017e4
+	dw Function1017f5
+	dw Function1019ab
+	dw Function101537
+	dw Function101571
+	dw Function101c92
+	dw Function10152a
+	dw Function101571
+	dw Function101a4f
+	dw Function101cbc
+	dw Function101c62
+	dw Function101537
+	dw Function101571
+	dw Function101c92
+	dw Function10152a
+	dw Function101571
+	dw Function101ca0
+	dw Function101475
+	dw Function101cbc
+; 10138b
+
+Function10138b: ; 10138b
+	callba Function8adcc
+	ld c, $0
+	jr c, .asm_101396
+	inc c
+
+.asm_101396
+	sla c
+	ld a, [wcd2f]
+	and a
+	jr z, .asm_10139f
+	inc c
+
+.asm_10139f
+	sla c
+	ld a, [wcd21]
+	cp $1
+	jr z, .asm_1013a9
+	inc c
+
+.asm_1013a9
+	ret
+; 1013aa
+
+Function1013aa: ; 1013aa
+	call WhiteBGMap
+	call Function1d7d
+	call Function2bae
+	callba Function106464
+	call Function1ad2
+	call Function2b5c
+	ret
+; 1013c0
+
+Function1013c0: ; 1013c0
+	callba Function8000
+	callba Function106462
+	callba Function106464
+	call Function2b5c
+	ret
+; 1013d6
+
+Function1013d6: ; 1013d6
+	callba Function104000
+	ret
+; 1013dd
+
+Function1013dd: ; 1013dd
+	call Function3238
+	ret
+; 1013e1
+
+Function1013e1: ; 1013e1 ; unreferenced
+	push de
+	inc de
+	ld b, a
+	ld c, $0
+.asm_1013e6
+	inc c
+	ld a, [hli]
+	ld [de], a
+	inc de
+	and a
+	jr z, .asm_1013f1
+	dec b
+	jr nz, .asm_1013e6
+	scf
+
+.asm_1013f1
+	pop de
+	ld a, c
+	ld [de], a
+	ret
+; 1013f5
+
+Function1013f5: ; 1013f5
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld c, a
+.asm_1013f9
+	ld a, [hli]
+	ld [de], a
+	inc de
+	dec c
+	jr nz, .asm_1013f9
+	ret
+; 101400
+
+Function101400: ; 101400 ; unreferenced
+	ld a, [de]
+	inc de
+	cp [hl]
+	jr nz, asm_101416
+	inc hl
+
+Function101406: ; 101406
+	ld c, a
+	ld b, $0
+.asm_101409
+	ld a, [de]
+	inc de
+	cp [hl]
+	jr nz, asm_101416
+	inc hl
+	dec bc
+	ld a, b
+	or c
+	jr nz, .asm_101409
+	and a
+	ret
+
+asm_101416
+	scf
+	ret
+; 101418
+
+Function101418: ; 101418
+	call GetJoypad
+	ld a, [hJoyDown]
+	and SELECT + A_BUTTON
+	cp SELECT + A_BUTTON
+	jr z, .asm_101425
+	xor a
+	ret
+
+.asm_101425
+	ld a, $f7
+	ld [wcd2b], a
+	scf
+	ret
+; 10142c
+
+Function10142c: ; 10142c
+	ld a, $1
+	ld [wc305], a
+	callba Function115e18
+	ret
+; 101438
+
+Function101438: ; 101438
+	ld hl, wcd29
+	set 6, [hl]
+	ld a, [wcd26]
+	ld hl, Jumptable_101457
+	rst JumpTable
+	ld a, [wcd26]
+	bit 7, a
+	ret z
+	ld a, $0
+	ld [wcd26], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101457
+
+Jumptable_101457: ; 101457
+	dw Function10145b
+	dw Function101467
+; 10145b
+
+Function10145b: ; 10145b
+	ld a, $3c
+	ld [wcd42], a
+	ld a, [wcd26]
+	inc a
+	ld [wcd26], a
+
+Function101467: ; 101467
+	ld hl, wcd42
+	dec [hl]
+	ret nz
+	ld a, [wcd26]
+	set 7, a
+	ld [wcd26], a
+	ret
+; 101475
+
+Function101475: ; 101475
+	ld hl, wcd29
+	set 6, [hl]
+	ld a, [wcd26]
+	ld hl, Jumptable_101494
+	rst JumpTable
+	ld a, [wcd26]
+	bit 7, a
+	ret z
+	ld a, $0
+	ld [wcd26], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101494
+
+Jumptable_101494: ; 101494
+	dw Function10149a
+	dw Function1014a6
+	dw Function1014b7
+; 10149a
+
+Function10149a: ; 10149a
+	ld a, $28
+	ld [wcd42], a
+	ld a, [wcd26]
+	inc a
+	ld [wcd26], a
+
+Function1014a6: ; 1014a6
+	ld hl, wcd42
+	dec [hl]
+	ret nz
+	ld a, $50
+	ld [wcd42], a
+	ld a, [wcd26]
+	inc a
+	ld [wcd26], a
+
+Function1014b7: ; 1014b7
+	call GetJoypad
+	ld a, [hJoyPressed]
+	and $3
+	jr nz, .asm_1014c5
+	ld hl, wcd42
+	dec [hl]
+	ret nz
+
+.asm_1014c5
+	ld a, [wcd26]
+	set 7, a
+	ld [wcd26], a
+	ret
+; 1014ce
+
+Function1014ce: ; 1014ce
+	callba Function100720
+	callba Function100641
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 1014e2
+
+Function1014e2: ; 1014e2
+	ld hl, wcd29
+	set 6, [hl]
+	ld a, $0
+	ld [wcd26], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 1014f4
+
+Function1014f4: ; 1014f4
+	callba Function100082
+	ld hl, wcd29
+	set 6, [hl]
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101507
+
+Function101507: ; 101507
+	ld de, wcd30
+	ld hl, $0040
+	ld bc, $0040
+	ld a, $2
+	call Function3e32
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 10151d
+
+Function10151d: ; 10151d ; unreferenced
+	ld a, $34
+	call Function3e32
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 10152a
+
+Function10152a: ; 10152a
+	ld a, $36
+	call Function3e32
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101537
+
+Function101537: ; 101537
+	ld a, $a
+	call Function3e32
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101544
+
+Function101544: ; 101544
+	callba Function100641
+	ld a, $12
+	call Function3e32
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101557
+
+Function101557: ; 101557
+	callba Function100641
+	ld hl, wcd53
+	ld a, $8
+	call Function3e32
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 10156d
+
+Function10156d: ; 10156d
+	call Function101418
+	ret c
+
+Function101571: ; 101571
+	callba Function10032e
+	ret c
+	ret z
+	ld a, e
+	cp $1
+	jr z, .asm_101582
+	ld [wcd2b], a
+	ret
+
+.asm_101582
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 10158a
+
+Function10158a: ; 10158a
+	callba Function10064c
+	ld a, [wcd44]
+	cp $a
+	jr c, Function10156d
+	ld a, $fb
+	ld [wcd2b], a
+	ret
+; 10159d
+
+Function10159d: ; 10159d
+	ld de, $c608
+	callba Function100edf
+	ld de, $c608
+	ld a, $5
+	ld hl, $d800
+	call Function10174c
+	ld a, $0
+	ld [wcd26], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 1015be
+
+Function1015be: ; 1015be
+	ld de, $c608
+	callba Function100eed
+	ld de, $c608
+	ld a, $5
+	ld hl, $d800
+	call Function10174c
+	ld a, $0
+	ld [wcd26], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 1015df
+
+Function1015df: ; 1015df
+	ld de, $c608
+	callba Function100ef4
+	ld de, $c608
+	ld a, $5
+	ld hl, $d800
+	call Function10174c
+	ld a, $0
+	ld [wcd26], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101600
+
+Function101600: ; 101600
+	ld hl, $d800
+	ld de, $c608
+	ld bc, $01e0
+	ld a, $5
+	call FarCopyWRAM
+	ld de, $c608
+	callba Function100ee6
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 10161f
+
+Function10161f: ; 10161f
+	call Function101649
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 10162a
+
+Function10162a: ; 10162a
+	call Function101663
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101635
+
+Function101635: ; 101635
+	ld de, $c608
+	ld bc, $01e0
+	call FarCopyWRAM
+	ret
+; 10163f
+
+Function10163f: ; 10163f
+	ld hl, $c608
+	ld bc, $01e0
+	call FarCopyWRAM
+	ret
+; 101649
+
+Function101649: ; 101649
+	ld a, $5
+	ld hl, $d800
+	call Function101635
+	ld a, $5
+	ld de, wda00
+	call Function10163f
+	ret
+; 10165a
+
+Function10165a: ; 10165a
+	ld a, $5
+	ld hl, wda00
+	call Function101635
+	ret
+; 101663
+
+Function101663: ; 101663
+	ld a, $5
+	ld hl, $d800
+	call Function101635
+	ld a, $5
+	ld de, wdc00
+	call Function10163f
+	ret
+; 101674
+
+Function101674: ; 101674 ; unreferenced
+	ld a, $5
+	ld hl, wdc00
+	call Function101635
+	ret
+; 10167d
+
+Function10167d: ; 10167d
+	ld a, $0
+	ld [wcd26], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 10168a
+
+Function10168a: ; 10168a
+	call Function101418
+	ret c
+
+Function10168e: ; 10168e
+	ld b, $0
+	ld c, $1
+	callba Function10079c
+	ret c
+	ld c, $1
+	ld b, $3
+	callba Function10062d
+	ret c
+	ld a, [wcd26]
+	ld hl, Jumptable_1016c3
+	rst JumpTable
+	ld hl, wcd29
+	set 6, [hl]
+	ld a, [wcd26]
+	bit 7, a
+	ret z
+	ld a, $0
+	ld [wcd26], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 1016c3
+
+Jumptable_1016c3: ; 1016c3
+	dw Function1016cf
+	dw Function1016de
+	dw Function1016f8
+	dw Function101705
+	dw Function101719
+	dw Function101724
+; 1016cf
+
+Function1016cf: ; 1016cf
+	ld hl, wcd3a
+	inc [hl]
+	call Function10176f
+	ld a, [wcd26]
+	inc a
+	ld [wcd26], a
+	ret
+; 1016de
+
+Function1016de: ; 1016de
+	call Function10177b
+	jr nc, .asm_1016eb
+	ld a, [wcd26]
+	inc a
+	ld [wcd26], a
+	ret
+
+.asm_1016eb
+	ld a, $ff
+	ld [wcd39], a
+	ld a, [wcd26]
+	inc a
+	ld [wcd26], a
+	ret
+; 1016f8
+
+Function1016f8: ; 1016f8
+	ld a, $0
+	ld [wcd27], a
+	ld a, [wcd26]
+	inc a
+	ld [wcd26], a
+	ret
+; 101705
+
+Function101705: ; 101705
+	callba Function100382
+	ld a, [wcd27]
+	bit 7, a
+	ret z
+	ld a, [wcd26]
+	inc a
+	ld [wcd26], a
+	ret
+; 101719
+
+Function101719: ; 101719
+	call Function1017c7
+	ld a, [wcd26]
+	inc a
+	ld [wcd26], a
+	ret
+; 101724
+
+Function101724: ; 101724
+	ld a, [wcd39]
+	cp $ff
+	jr z, .asm_101731
+	ld a, $0
+	ld [wcd26], a
+	ret
+
+.asm_101731
+	ld a, [wcd26]
+	set 7, a
+	ld [wcd26], a
+	ret
+; 10173a
+
+Unknown_10173a:
+	db $50
+
+Function10173b: ; 10173b
+	push bc
+	push af
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld a, [Unknown_10173a]
+	ld c, a
+	ld b, $0
+	pop af
+	call AddNTimes
+	pop bc
+	ret
+; 10174c
+
+Function10174c: ; 10174c
+	ld [wcd3d], a
+	ld a, l
+	ld [wcd3e], a
+	ld a, h
+	ld [wcd3f], a
+	ld a, e
+	ld [wcd3b], a
+	ld a, d
+	ld [wcd3c], a
+	ld a, c
+	ld [wcd40], a
+	ld a, b
+	ld [wcd41], a
+	xor a
+	ld [wcd39], a
+	ld [wcd3a], a
+	ret
+; 10176f
+
+Function10176f: ; 10176f
+	ld hl, wccb4
+	ld bc, $0054
+	ld a, $11
+	call ByteFill
+	ret
+; 10177b
+
+Function10177b: ; 10177b
+	ld a, [Unknown_10173a]
+	ld c, a
+	ld b, $0
+	ld a, [wcd3a]
+	ld hl, $0000
+	call AddNTimes
+	ld e, l
+	ld d, h
+	ld hl, wcd40
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld a, l
+	sub e
+	ld l, a
+	ld a, h
+	sbc d
+	ld h, a
+	jr c, .asm_1017a0
+	add hl, bc
+	call Function1017b0
+	scf
+	ret
+
+.asm_1017a0
+	ld a, $ff
+	ld [wcd39], a
+	add hl, bc
+	ld a, h
+	or l
+	ret z
+	ld c, l
+	ld b, h
+	call Function1017b0
+	xor a
+	ret
+; 1017b0
+
+Function1017b0: ; 1017b0
+	ld a, c
+	ld [wccb4], a
+	push bc
+	ld a, [wcd3a]
+	dec a
+	ld hl, wcd3b
+	call Function10173b
+	pop bc
+	ld de, wccb5
+	call CopyBytes
+	ret
+; 1017c7
+
+Function1017c7: ; 1017c7
+	ld a, [wcc60]
+	ld c, a
+	ld b, $0
+	ld a, [wcd3a]
+	dec a
+	ld hl, wcd3e
+	call Function10173b
+	ld e, l
+	ld d, h
+	ld hl, wcc61
+	ld a, [wcd3d]
+	call FarCopyWRAM
+	and a
+	ret
+; 1017e4
+
+Function1017e4: ; 1017e4
+	ld a, $0
+	ld [wcd27], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 1017f1
+
+Function1017f1: ; 1017f1
+	call Function101418
+	ret c
+
+Function1017f5: ; 1017f5
+	ld b, $0
+	ld c, $1
+	callba Function10079c
+	ret c
+	ld c, $1
+	ld b, $3
+	callba Function10062d
+	ret c
+	callba Function100382
+	ld a, [wcd27]
+	bit 7, a
+	jr nz, .asm_10181e
+	ld hl, wcd29
+	set 6, [hl]
+	ret
+
+.asm_10181e
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101826
+
+Function101826: ; 101826
+	ld a, [wcd21]
+	cp $2
+	jr z, .asm_101833
+	cp $1
+	jr z, .asm_101844
+	jr .asm_101869
+
+.asm_101833
+	ld hl, Unknown_10186f
+	ld de, wccb4
+	call Function1013f5
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+
+.asm_101844
+	callba Function103654
+	ld a, c
+	ld hl, Unknown_101882
+	cp $1
+	jr z, .asm_10185b
+	ld hl, Unknown_101895
+	cp $2
+	jr z, .asm_10185b
+	jr .asm_101869
+
+.asm_10185b
+	ld de, wccb4
+	call Function1013f5
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+
+.asm_101869
+	ld a, $fe
+	ld [wcd2b], a
+	ret
+; 10186f
+
+
+SECTION "ascii 10186f", ROMX, BANK[$40]
+
+	charmap " ", $20 ; revert to ascii
+
+Unknown_10186f:
+	db .end - @
+	db $19, $73, $09, $13, "trade_crystal"
+.end	db 0
+
+Unknown_101882:
+	db .end - @
+	db $19, $67, $10, $01, "free__crystal"
+.end	db 0
+
+Unknown_101895:
+	db .end - @
+	db $19, $67, $10, $01, "limit_crystal"
+.end	db 0
+; 1018a8
+
+
+SECTION "bank40_3", ROMX, BANK[$40]
+
+Function1018a8: ; 1018a8
+	ld hl, wccb5
+	ld de, wcc61
+	ld a, $4
+	call Function101406
+	jr c, .asm_1018d0
+	ld hl, wccb9
+	ld de, wcc65
+	ld a, $6
+	call Function101406
+	jr c, .asm_1018ca
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+
+.asm_1018ca
+	ld a, $f6
+	ld [wcd2b], a
+	ret
+
+.asm_1018d0
+	ld a, $f5
+	ld [wcd2b], a
+	ret
+; 1018d6
+
+Function1018d6: ; 1018d6
+	call Function1018ec
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 1018e1
+
+Function1018e1: ; 1018e1
+	call Function1018fb
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 1018ec
+
+Function1018ec: ; 1018ec
+	ld a, $a
+	ld hl, wccb4
+	ld [hli], a
+	ld c, a
+.asm_1018f3
+	call Random
+	ld [hli], a
+	dec c
+	jr nz, .asm_1018f3
+	ret
+; 1018fb
+
+Function1018fb: ; 1018fb
+	ld a, [wcd2f]
+	and a
+	jr z, .asm_101906
+	ld hl, wcc61
+	jr .asm_101909
+
+.asm_101906
+	ld hl, wccb5
+
+.asm_101909
+	ld de, LinkBattleRNs
+	ld bc, $000a
+	call CopyBytes
+	ret
+; 101913
+
+Function101913: ; 101913
+	ld hl, wcd2a
+	set 0, [hl]
+	xor a
+	ld [wc30d], a
+	ld hl, wcd29
+	res 4, [hl]
+	xor a
+	ld [wc305], a
+	ld hl, wcd29
+	res 7, [hl]
+	ld a, $90
+	ld [hWY], a
+	ld a, [wcd21]
+	cp $1
+	jr z, .asm_10193f
+	cp $2
+	jr z, .asm_101945
+	ld a, $71
+	ld [wcd25], a
+	ret
+
+.asm_10193f
+	ld a, $66
+	ld [wcd25], a
+	ret
+
+.asm_101945
+	ld a, $65
+	ld [wcd25], a
+	ret
+; 10194b
+
+Function10194b: ; 10194b
+	call Function2ed3
+	call ClearSprites
+	callba Function1021f9
+	ld hl, wcd29
+	bit 3, [hl]
+	jr nz, .asm_101967
+	call Function1013c0
+	ld a, $71
+	ld [wcd25], a
+	ret
+
+.asm_101967
+	ld a, $60
+	ld [wcd25], a
+	ret
+; 10196d
+
+Function10196d: ; 10196d
+	callba Function8000
+	callba Function10060d
+	ld hl, wcd29
+	set 5, [hl]
+	ld hl, wcd2a
+	set 6, [hl]
+	ld a, $6
+	ld [wccb4], a
+	ld hl, wdc5c
+	ld de, wccb5
+	ld bc, $0003
+	call CopyBytes
+	ld hl, wcd6c
+	ld a, [hli]
+	ld [wccb8], a
+	ld a, [hli]
+	ld [wccb9], a
+	ld a, [hl]
+	ld [wccba], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 1019ab
+
+Function1019ab: ; 1019ab
+	call Function101a75
+	callba Function100754
+	xor a
+	ld [wdc5f], a
+	ld [wdc60], a
+	callba Function8000
+	call SpeechTextBox
+	callba Function100846
+	ld c, $78
+	call DelayFrames
+	callba ClearTileMap
+	call Function1019ee
+	call Function101a21
+	ld a, [wcd2b]
+	cp $fc
+	jr nz, .asm_1019e6
+	xor a
+	ld [wcd2b], a
+
+.asm_1019e6
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 1019ee
+
+Function1019ee: ; 1019ee
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld bc, wdc0d
+	ld de, wdc11
+	callba Function4e929
+	pop af
+	ld [rSVBK], a
+	ld a, c
+	ld [OtherTrainerClass], a
+	ld hl, wd26b
+	ld de, $c656
+	ld bc, $000b
+	call CopyBytes
+	ld a, [wcd2f]
+	and a
+	ld a, $2
+	jr z, .asm_101a1e
+	ld a, $1
+
+.asm_101a1e
+	ld [$ffcb], a
+	ret
+; 101a21
+
+Function101a21: ; 101a21
+	ld hl, Options
+	ld a, [hl]
+	push af
+	and $20
+	or $1
+	ld [hl], a
+	ld a, $1
+	ld [wc2d7], a
+	callba Function3f4dd
+	callba Function3c000
+	callba Function3f759
+	xor a
+	ld [wc2d7], a
+	ld a, $ff
+	ld [$ffcb], a
+	pop af
+	ld [Options], a
+	ret
+; 101a4f
+
+Function101a4f: ; 101a4f
+	ld a, $1
+	ld [wc2d7], a
+	callba Function3f77c
+	xor a
+	ld [wc2d7], a
+	callba Function3f6d0
+	callba Function1500c
+	call Function1013c0
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101a75
+
+Function101a75: ; 101a75
+	ld hl, wcc61
+	ld de, wcd75
+	ld bc, $0003
+	call CopyBytes
+	ld de, wcc64
+	callba Function100772
+	callba Function101050
+	callba Function1010f2
+	ret
+; 101a97
+
+Function101a97: ; 101a97
+	callba Function115d99
+	ld hl, wcd29
+	set 7, [hl]
+	ld c, $2
+	call Function10142c
+	ld hl, wcd29
+	set 6, [hl]
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101ab4
+
+Function101ab4: ; 101ab4
+	ld e, $1
+	call Function101ee4
+	ld hl, wcd29
+	set 5, [hl]
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101ac6
+
+Function101ac6: ; 101ac6
+	callba Function115d99
+	ld hl, wcd29
+	set 7, [hl]
+	ld c, $2
+	call Function10142c
+	ld hl, wcd29
+	set 6, [hl]
+	xor a
+	ld [wcd2f], a
+	ld de, wdc42
+	call Function102068
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101aed
+
+Function101aed: ; 101aed
+	callba Function115d99
+	ld hl, wcd29
+	set 7, [hl]
+	ld c, $2
+	call Function10142c
+	ld hl, wcd29
+	set 6, [hl]
+	ld a, $1
+	ld [wcd2f], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101b0f
+
+Function101b0f: ; 101b0f
+	ld c, $0
+	call Function10142c
+	ld e, $3
+	call Function101ee4
+	ld hl, wcd29
+	set 5, [hl]
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ld a, $0
+	ld [wcd26], a
+	ret
+; 101b2b
+
+Function101b2b: ; 101b2b
+	callba Function100579
+	ld hl, wcd29
+	set 2, [hl]
+	ld a, [wcd26]
+	bit 7, a
+	ret z
+	call Function1013dd
+	ld a, $0
+	ld [wcd26], a
+	ld a, [wcfa9]
+	cp $1
+	jr z, .asm_101b51
+	ld a, $2
+	ld [wcd2b], a
+	ret
+
+.asm_101b51
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101b59
+
+Function101b59: ; 101b59
+	ld c, $2
+	call Function10142c
+	ld e, $2
+	call Function101ee4
+	ld hl, wcd29
+	set 5, [hl]
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101b70
+
+Function101b70: ; 101b70
+	ld c, $2
+	call Function10142c
+	ld e, $4
+	call Function101ee4
+	ld hl, wcd29
+	set 5, [hl]
+	call Function1ad2
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ld a, $0
+	ld [wcd26], a
+	ret
+; 101b8f
+
+Function101b8f: ; 101b8f
+	callba Function1005c3
+	ld hl, wcd29
+	set 2, [hl]
+	ld a, [wcd26]
+	bit 7, a
+	ret z
+	call Function1013dd
+	ld a, $0
+	ld [wcd26], a
+	ld a, [wcfa9]
+	cp $1
+	jr z, .asm_101bbc
+	ld a, $1
+	ld [wcd2f], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+
+.asm_101bbc
+	xor a
+	ld [wcd2f], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101bc8
+
+Function101bc8: ; 101bc8
+	ld c, $2
+	call Function10142c
+	ld e, $8
+	call Function101ee4
+	call Function102048
+	call Function1013dd
+	ld a, $0
+	ld [wcd26], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101be5
+
+Function101be5: ; 101be5
+	callba Function100579
+	ld hl, wcd29
+	set 2, [hl]
+	ld a, [wcd26]
+	bit 7, a
+	ret z
+	call Function1013dd
+	ld a, $0
+	ld [wcd26], a
+	ld a, [wcfa9]
+	cp $1
+	jr nz, .asm_101c0b
+	ld a, $2a
+	ld [wcd25], a
+	ret
+
+.asm_101c0b
+	ld a, $2
+	ld [wcd2b], a
+	ret
+; 101c11
+
+Function101c11: ; 101c11
+	ld a, $1
+	ld [wdc5f], a
+	ld e, $9
+	call Function101ee4
+	call Function102048
+	ld hl, wcd29
+	set 5, [hl]
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101c2b
+
+Function101c2b: ; 101c2b
+	ld a, $2
+	ld [wdc5f], a
+	ld e, $7
+	call Function101ee4
+	ld hl, wcd29
+	set 5, [hl]
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101c42
+
+Function101c42: ; 101c42
+	ld hl, wcd2a
+	set 1, [hl]
+	call Function100665
+	ld a, $47
+	ld [wcd25], a
+	ret
+; 101c50
+
+Function101c50: ; 101c50
+	ld e, $a
+	call Function101ee4
+	ld hl, wcd29
+	set 2, [hl]
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101c62
+
+Function101c62: ; 101c62
+	callba Function115d99
+	ld hl, wcd29
+	set 7, [hl]
+	ld c, $1
+	call Function10142c
+	xor a
+	ld [wc30d], a
+	ld hl, wcd29
+	res 4, [hl]
+	ld e, $b
+	call Function101ee4
+	ld hl, wcd29
+	set 5, [hl]
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ld a, $0
+	ld [wcd26], a
+	ret
+; 101c92
+
+Function101c92: ; 101c92
+	callba Function100675
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101ca0
+
+Function101ca0: ; 101ca0
+	ld c, $2
+	call Function10142c
+	ld e, $c
+	call Function101ee4
+	ld hl, wcd29
+	set 5, [hl]
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ld a, $0
+	ld [wcd26], a
+	ret
+; 101cbc
+
+Function101cbc: ; 101cbc
+	ld a, $1
+	ld [wcd2b], a
+	ret
+; 101cc2
+
+Function101cc2: ; 101cc2 ; unreferenced
+	ld a, $2
+	ld [wcd2b], a
+	ret
+; 101cc8
+
+Function101cc8: ; 101cc8
+	ld a, $1
+	ld [wc314], a
+	ld a, $1
+	ld [wc30d], a
+	ld hl, wcd29
+	set 4, [hl]
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101cdf
+
+Function101cdf: ; 101cdf
+	ld a, $6
+	ld [wc314], a
+	ld a, $1
+	ld [wc30d], a
+	ld hl, wcd29
+	set 4, [hl]
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101cf6
+
+Function101cf6: ; 101cf6
+	ld a, $b
+	ld [wc315], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101d03
+
+Function101d03: ; 101d03
+	ld a, $e
+	ld [wc315], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101d10
+
+Function101d10: ; 101d10
+	ld c, $1
+	call Function10142c
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	jr Function101d2a
+
+Function101d1e: ; 101d1e
+	ld c, $3
+	call Function10142c
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+
+Function101d2a: ; 101d2a
+	call Function101418
+	ret c
+	ld hl, wcd29
+	set 6, [hl]
+	ld a, [wcd26]
+	ld hl, Jumptable_101d4d
+	rst JumpTable
+	ld a, [wcd26]
+	bit 7, a
+	ret z
+	ld a, $0
+	ld [wcd26], a
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101d4d
+
+Jumptable_101d4d: ; 101d4d
+	dw Function101d51
+	dw Function101d5d
+; 101d51
+
+Function101d51: ; 101d51
+	ld a, $3c
+	ld [wcd42], a
+	ld a, [wcd26]
+	inc a
+	ld [wcd26], a
+
+Function101d5d: ; 101d5d
+	ld hl, wcd42
+	dec [hl]
+	ret nz
+	ld a, [wcd26]
+	set 7, a
+	ld [wcd26], a
+	ret
+; 101d6b
+
+Function101d6b: ; 101d6b
+	ld a, [wc30d]
+	and a
+	ret nz
+	ld hl, wcd29
+	res 4, [hl]
+	ld a, $64
+	ld [wcd25], a
+	ret
+; 101d7b
+
+Function101d7b: ; 101d7b
+	callba Function10138b
+	ld b, 0
+	ld hl, Unknown_101d8d
+	add hl, bc
+	ld c, [hl]
+	ld a, c
+	ld [wcd25], a
+	ret
+; 101d8d
+
+Unknown_101d8d: ; 101d8d
+	db $15, $15, $1f, $1f, $0c, $12, $3a, $3a
+; 101d95
+
+Function101d95: ; 101d95
+	call Function101ee2
+	call Function1d6e
+	ld e, $e
+	call Function101ee4
+	ld hl, wcd29
+	set 5, [hl]
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ld a, $0
+	ld [wcd26], a
+	ret
+; 101db2
+
+Function101db2: ; 101db2
+	callba Function103302
+	call Function1c07
+	ld hl, wcd29
+	set 5, [hl]
+	jr c, .asm_101dca
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+
+.asm_101dca
+	ld a, $2
+	ld [wcd2b], a
+	ret
+; 101dd0
+
+Function101dd0: ; 101dd0
+	ld hl, wdc41
+	bit 1, [hl]
+	jr nz, .asm_101ddd
+	ld a, $19
+	ld [wcd25], a
+	ret
+
+.asm_101ddd
+	ld a, $1b
+	ld [wcd25], a
+	ret
+; 101de3
+
+Function101de3: ; 101de3
+	call Function101ecc
+	call Function101ead
+	jr c, .asm_101df3
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+
+.asm_101df3
+	call Function101e98
+	jr c, .asm_101e00
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+
+.asm_101e00
+	call Function101ed3
+	ld a, $2
+	ld [wcd2b], a
+	ret
+; 101e09
+
+Function101e09: ; 101e09
+	call Function101ead
+	jr c, .asm_101e16
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+
+.asm_101e16
+	call Function101ecc
+	call Function101e98
+	push af
+	call Function101ed3
+	pop af
+	jr c, .asm_101e2b
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+
+.asm_101e2b
+	ld a, $2
+	ld [wcd2b], a
+	ret
+; 101e31
+
+Function101e31: ; 101e31
+	ld a, $3a
+	ld [wcd25], a
+	jp Function101c2b
+; 101e39
+
+Function101e39: ; 101e39
+	call Function1020bf
+	push af
+	call Function101ed3
+	pop af
+	jr c, .asm_101e49
+	ld a, $2a
+	ld [wcd25], a
+	ret
+
+.asm_101e49
+	ld a, $2
+	ld [wcd2b], a
+	ret
+; 101e4f
+
+Function101e4f: ; 101e4f
+	ld e, $6
+	call Function101ee4
+	call Function1013d6
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ld a, $0
+	ld [wcd26], a
+	ret
+; 101e64
+
+Function101e64: ; 101e64
+	call Function101ecc
+	call Function1020a8
+	push af
+	call Function101ed3
+	pop af
+	jr c, .asm_101e77
+	ld a, $24
+	ld [wcd25], a
+	ret
+
+.asm_101e77
+	ld hl, wcd29
+	set 5, [hl]
+	ld a, $2
+	ld [wcd2b], a
+	ret
+; 101e82
+
+Function101e82: ; 101e82 ; unreferenced
+	call Function101ecc
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101e8d
+
+Function101e8d: ; 101e8d ; unreferenced
+	call Function101ed3
+	ld a, [wcd25]
+	inc a
+	ld [wcd25], a
+	ret
+; 101e98
+
+Function101e98: ; 101e98
+	call ClearSprites
+	callba Function8adb3
+	ret c
+	ld hl, GameTimerPause
+	set 7, [hl]
+	ld hl, wdc41
+	set 4, [hl]
+	ret
+; 101ead
+
+Function101ead: ; 101ead
+	ld hl, GameTimerPause
+	bit 7, [hl]
+	jr nz, .asm_101ec8
+	ld hl, wdc41
+	bit 2, [hl]
+	jr z, .asm_101eca
+	ld a, [wcd2f]
+	and a
+	jr nz, .asm_101ec8
+	ld hl, wdc41
+	bit 1, [hl]
+	jr z, .asm_101eca
+
+.asm_101ec8
+	xor a
+	ret
+
+.asm_101eca
+	scf
+	ret
+; 101ecc
+
+Function101ecc: ; 101ecc
+	call Function101ee2
+	call FadeToMenu
+	ret
+; 101ed3
+
+Function101ed3: ; 101ed3
+	call Function1013aa
+	callba Function115d99
+	ld hl, wcd29
+	set 7, [hl]
+	ret
+; 101ee2
+
+Function101ee2: ; 101ee2
+	ld e, 0
+
+Function101ee4: ; 101ee4
+	ld d, 0
+	ld hl, Unknown_101ef5
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld d, [hl]
+	ld e, a
+	callba Function100504
+	ret
+; 101ef5
+
+Unknown_101ef5: ; 101ef5
+	dw String_101f13
+	dw String_101f14
+	dw String_101f32
+	dw String_101f4f
+	dw String_101f69
+	dw String_101f81
+	dw String_101f93
+	dw String_101faa
+	dw String_101fc5
+	dw String_101fd2
+	dw String_101fe1
+	dw String_101fef
+	dw String_102000
+	dw String_10200c
+	dw String_102014
+
+String_101f13: ; 101f13
+	db "@"
+
+String_101f14: ; 101f14
+	db   "モバイルアダプタを つかって"
+	next "おともだちと つうしんします@"
+
+String_101f32: ; 101f32
+	db   "でんわを かけるひとには"
+	next "つうわりょうきんが かかります@"
+
+String_101f4f: ; 101f4f
+	db   "モバイルアダプタの じゅんびは"
+	next "できて いますか?@"
+
+String_101f69: ; 101f69
+	db   "あなたが おともだちに"
+	next "でんわを かけますか?@"
+
+String_101f81: ; 101f81
+	db   "めいしフ,ルダーを"
+	next "つかいますか?@"
+
+String_101f93: ; 101f93
+	db   "でんわばんごうを にゅうりょく"
+	next "してください@"
+
+String_101faa: ; 101faa
+	db   "それでは おともだちからの"
+	next "でんわを おまちします…@"
+
+String_101fc5: ; 101fc5
+	next "に でんわを かけます@"
+
+String_101fd2: ; 101fd2
+	next "に でんわを かけています@"
+
+String_101fe1: ; 101fe1
+	db   "でんわが つながりました!@"
+
+String_101fef: ; 101fef
+	db   "つうわを"
+	next "しゅうりょう します…@"
+
+String_102000: ; 102000
+	db   "つうしん しゅうりょう@"
+
+String_10200c: ; 10200c
+	db   "つうわ じかん@"
+
+String_102014: ; 102014
+	db   "それでは つうしんの"
+	next "せっていを してください@"
+; 10202c
+
+Function10202c: ; 10202c
+	callba Function115d99
+	ld hl, wcd29
+	set 7, [hl]
+	ld c, $2
+	call Function10142c
+	ld e, $d
+	call Function101ee4
+	hlcoord 4, 4
+	call Function100681
+	ret
+; 102048
+
+Function102048: ; 102048
+	call Function10204c
+	ret
+; 10204c
+
+Function10204c: ; 10204c
+	hlcoord 3, 2
+	ld c, $10
+	ld de, wcd53
+.asm_102054
+	ld a, [de]
+	inc de
+	and a
+	jr z, .asm_102067
+	sub $30
+	jr c, .asm_102067
+	cp $a
+	jr nc, .asm_102067
+	add $f6
+	ld [hli], a
+	dec c
+	jr nz, .asm_102054
+
+.asm_102067
+	ret
+; 102068
+
+Function102068: ; 102068
+	ld hl, wcd53
+	ld c, $8
+.asm_10206d
+	ld a, [de]
+	call Function102080
+	jr c, .asm_10207f
+	ld a, [de]
+	swap a
+	call Function102080
+	jr c, .asm_10207f
+	inc de
+	dec c
+	jr nz, .asm_10206d
+
+.asm_10207f
+	ret
+; 102080
+
+Function102080: ; 102080
+	and $f
+	cp $f
+	jr z, .asm_10208a
+	add $30
+	ld [hli], a
+	ret
+
+.asm_10208a
+	ld [hl], $0
+	scf
+	ret
+; 10208e
+
+Function10208e: ; 10208e
+	push de
+	ld h, d
+	ld l, e
+	ld de, wdc42
+	ld bc, $0008
+	call CopyBytes
+	pop de
+	ret
+; 10209c
+
+Function10209c: ; 10209c
+	ld a, $ff
+	ld hl, wdc42
+	ld bc, $0008
+	call ByteFill
+	ret
+; 1020a8
+
+Function1020a8: ; 1020a8
+	call Function10209c
+	ld c, $1
+	ld de, wdc42
+	callba Function17a68f
+	ret c
+	call Function10208e
+	call Function102068
+	xor a
+	ret
+; 1020bf
+
+Function1020bf: ; 1020bf
+	call ClearSprites
+	callba Function8aba9
+	ld a, c
+	and a
+	jr z, .asm_1020e8
+	dec a
+	ld hl, $a04c
+	ld bc, $0025
+	call AddNTimes
+	ld d, h
+	ld e, l
+	ld a, $4
+	call GetSRAMBank
+	call Function10208e
+	call Function102068
+	call CloseSRAM
+	xor a
+	ret
+
+.asm_1020e8
+	scf
+	ret
+; 1020ea
+
+Function1020ea: ; 1020ea
+	ld hl, wdc41
+	bit 4, [hl]
+	jr z, .asm_102110
+	ld hl, wdc41
+	bit 2, [hl]
+	jr nz, .asm_102110
+	call Function10218d
+	ld hl, $c608
+	bit 4, [hl]
+	jr z, .asm_102110
+	ld hl, $c608
+	bit 2, [hl]
+	jr nz, .asm_102110
+	call Function102112
+	jr z, .asm_102110
+	and a
+	ret
+
+.asm_102110
+	scf
+	ret
+; 102112
+
+Function102112: ; 102112
+	ld a, $4
+	call GetSRAMBank
+	ld hl, $a041
+	ld c, $28
+.asm_10211c
+	push hl
+	ld de, $c60f
+	ld b, $1f
+.asm_102122
+	ld a, [de]
+	cp [hl]
+	jr nz, .asm_10212f
+	inc de
+	inc hl
+	dec b
+	jr nz, .asm_102122
+	pop hl
+	xor a
+	jr .asm_10213c
+
+.asm_10212f
+	pop hl
+	ld de, $0025
+	add hl, de
+	dec c
+	jr nz, .asm_10211c
+	ld a, $1
+	and a
+	jr .asm_10213c
+
+.asm_10213c
+	push af
+	call CloseSRAM
+	pop af
+	ret
+; 102142
+
+Function102142: ; 102142
+	call Function10218d
+	call Function102180
+	ld hl, UnknownText_0x1021d1
+	call Function1d4f
+	ld de, SFX_LEVEL_UP
+	call PlaySFX
+	call Functiona36
+	call Function1c07
+	call Function10219f
+	ld hl, UnknownText_0x1021d6
+	call Function1d4f
+	call YesNoBox
+	call Function1c07
+	jr c, .asm_10217c
+	call Function1021b8
+	jr c, .asm_10217c
+	call Function10218d
+	call Function102180
+	ld hl, UnknownText_0x1021db
+	call PrintText
+
+.asm_10217c
+	call Function1013d6
+	ret
+; 102180
+
+Function102180: ; 102180
+	ld hl, $c608 + 1
+	ld de, StringBuffer2
+	ld bc, $000b
+	call CopyBytes
+	ret
+; 10218d
+
+Function10218d: ; 10218d
+	ld hl, wdc00
+	ld de, $c608
+	ld bc, $0026
+	ld a, $5
+	call FarCopyWRAM
+	ld de, $c608 + 1
+	ret
+; 10219f
+
+Function10219f: ; 10219f
+	call FadeToMenu
+	call Function10218d
+	ld de, $c608 + 1
+	callba Function8ac4e
+	call Functiona36
+	call PlayClickSFX
+	call Function1013aa
+	ret
+; 1021b8
+
+Function1021b8: ; 1021b8
+	call FadeToMenu
+	call Function10218d
+	ld de, $c60f
+	callba Function8ac70
+	ld a, c
+	ld [StringBuffer1], a
+	push af
+	call Function1013aa
+	pop af
+	ret
+; 1021d1
+
+UnknownText_0x1021d1: ; 1021d1
+	text_jump UnknownText_0x1bd19a
+	db "@"
+
+UnknownText_0x1021d6: ; 1021d1
+	text_jump UnknownText_0x1bd1ba
+	db "@"
+
+UnknownText_0x1021db: ; 1021d1
+	text_jump UnknownText_0x1bd1dd
+	db "@"
+; 1021e0
+
+Function1021e0: ; 1021e0
+	call Function1d4f
+	call Functiona36
+	call Function1c07
+	ret
+; 1021ea
+
+UnknownText_0x1021ea: ; 1021ea
+	text_jump UnknownText_0x1bd201
+	db "@"
+
+UnknownText_0x1021ef:
+	text_jump UnknownText_0x1bd211
+	db "@"
+
+UnknownText_0x1021f4:
+	text_jump UnknownText_0x1bd223
+	db "@"
+; 1021f9
+
+Function1021f9: ; 1021f9
+	call Function102233
+	ld a, $0
+	ld [wcd49], a
+	ld hl, wcd29
+	bit 3, [hl]
+	res 3, [hl]
+	jr z, .asm_10220f
+	ld a, $1
+	ld [wcd49], a
+
+.asm_10220f
+	call Function1022ca
+	ld a, [wcd49]
+	ld hl, Jumptable_1022f5
+	rst JumpTable
+	call Function102241
+	call Function1022d0
+	jr c, .asm_102231
+	ld a, [wcd49]
+	bit 7, a
+	jr z, .asm_10220f
+	xor a
+	ld hl, wcd29
+	bit 3, [hl]
+	ret z
+	scf
+	ret
+
+.asm_102231
+	xor a
+	ret
+; 102233
+
+Function102233: ; 102233
+	ld hl, wcd49
+	ld bc, $000a
+	xor a
+	call ByteFill
+	call Function10304f
+	ret
+; 102241
+
+Function102241: ; 102241
+	call Function10226a
+	call Function102274
+	call Function10224b
+	ret
+; 10224b
+
+Function10224b: ; 10224b
+	ld hl, wcd4b
+	bit 1, [hl]
+	jr nz, .asm_10225e
+	bit 2, [hl]
+	jr nz, .asm_10225e
+	call DelayFrame
+	call DelayFrame
+	xor a
+	ret
+
+.asm_10225e
+	res 1, [hl]
+	res 2, [hl]
+	callba Function104099
+	scf
+	ret
+; 10226a
+
+Function10226a: ; 10226a
+	ld hl, wcd4b
+	bit 0, [hl]
+	ret z
+	call Function10305d
+	ret
+; 102274
+
+Function102274: ; 102274
+	ld hl, wcd4b
+	bit 3, [hl]
+	ret z
+	res 3, [hl]
+	ld de, $0008
+	call PlaySFX
+	ret
+; 102283
+
+Function102283: ; 102283
+	ld a, $1
+	ld [AttrMapEnd], a
+	ld hl, wcd4b
+	set 0, [hl]
+	ret
+; 10228e
+
+Function10228e: ; 10228e
+	xor a
+	ld [AttrMapEnd], a
+	ld hl, wcd4b
+	res 0, [hl]
+	ret
+; 102298
+
+Function102298: ; 102298
+	ld a, e
+	cp $2
+	ret nz
+	ld hl, wcd4b
+	bit 6, [hl]
+	jr z, .asm_1022b6
+	ld hl, wcd4b
+	bit 7, [hl]
+	ld hl, wcd4b
+	set 7, [hl]
+	ret nz
+	ld de, SFX_ELEVATOR_END
+	call PlaySFX
+	jr .asm_1022c1
+
+.asm_1022b6
+	ld hl, wcd4b
+	bit 7, [hl]
+	ld hl, wcd4b
+	res 7, [hl]
+	ret z
+
+.asm_1022c1
+	call Function10304f
+	ld a, $1
+	ld [AttrMapEnd], a
+	ret
+; 1022ca
+
+Function1022ca: ; 1022ca
+	ld a, 30
+	ld [OverworldDelay], a
+	ret
+; 1022d0
+
+Function1022d0: ; 1022d0
+	callba Function10032e
+	ld a, [wcd2b]
+	and a
+	jr nz, .asm_1022f3
+	call Function102298
+	ld a, [OverworldDelay]
+	ld c, a
+	ld a, 30
+	sub c
+	ld c, a
+	ld b, $3
+	callba Function10062d
+	jr c, .asm_1022f3
+	xor a
+	ret
+
+.asm_1022f3
+	scf
+	ret
+; 1022f5
+
+Jumptable_1022f5: ; 1022f5
+	dw Function10234b
+	dw Function102361
+	dw Function10236e
+	dw Function102387
+	dw Function1023a1
+	dw Function1025c7
+	dw Function1025dc
+	dw Function1024f6
+	dw Function10250c
+	dw Function1024a8
+	dw Function102591
+	dw Function1024a8
+	dw Function1025b0
+	dw Function1025bd
+	dw Function102814
+	dw Function10283c
+	dw Function102862
+	dw Function10286f
+	dw Function1024a8
+	dw Function1028a5
+	dw Function1028ab
+	dw Function1023b5
+	dw Function1023c6
+	dw Function1024af
+	dw Function102416
+	dw Function102423
+	dw Function10244b
+	dw Function1024af
+	dw Function10246a
+	dw Function102652
+	dw Function10266b
+	dw Function1025e9
+	dw Function1025ff
+	dw Function102738
+	dw Function102754
+	dw Function1026b7
+	dw Function1026c8
+	dw Function1028bf
+	dw Function1028c6
+	dw Function1028d3
+	dw Function1028da
+	dw Function1024a8
+	dw Function10248d
+; 10234b
+
+Function10234b: ; 10234b
+	call Function102d9a
+	call Function102dd3
+	call Function102dec
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 102361
+
+Function102361: ; 102361
+	ld a, $cc
+	call Function1028e8
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 10236e
+
+Function10236e: ; 10236e
+	call Function1028fc
+	ret nc
+	ld a, [wcd51]
+	cp $cc
+	jr z, .asm_10237f
+	ld a, $f2
+	ld [wcd2b], a
+	ret
+
+.asm_10237f
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 102387
+
+Function102387: ; 102387
+	ld hl, wcd4b
+	set 6, [hl]
+	xor a
+	ld [wdc5f], a
+	ld de, MUSIC_ROUTE_30
+	call PlayMusic
+	call Function102d9a
+	call Function102dd3
+	ld a, $1
+	ld [wcfa9], a
+
+Function1023a1: ; 1023a1
+	call Function102283
+	call Function102db7
+	call Function102dec
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, $1d
+	ld [wcd49], a
+	ret
+; 1023b5
+
+Function1023b5: ; 1023b5
+	call Function10228e
+	call Function102a3b
+	call Function102b12
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 1023c6
+
+Function1023c6: ; 1023c6
+	call Function102c48
+	call Function102c87
+	ld a, [wcd4c]
+	dec a
+	ld [CurPartyMon], a
+	xor a
+	ld [wd10b], a
+	callba Functione039
+	ld hl, PartyCount
+	inc [hl]
+	ld a, [hli]
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld [hl], $ff
+	ld a, [PartyCount]
+	ld [wcd4c], a
+	call Function102c07
+	call Function102d48
+	call Function102b32
+	call Function102f50
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, $14
+	ld [wcd4e], a
+	ld a, $0
+	ld [wcd4f], a
+	ld a, $0
+	ld [wcd4a], a
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 102416
+
+Function102416: ; 102416
+	ld a, $aa
+	call Function1028e8
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 102423
+
+Function102423: ; 102423
+	call Function102921
+	ret nc
+	callba Function14a58
+	callba Function1060af
+	callba Function106187
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, $0
+	ld [wcd4a], a
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 10244b
+
+Function10244b: ; 10244b
+	call Function102f32
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, $19
+	ld [wcd4e], a
+	ld a, $0
+	ld [wcd4f], a
+	ld a, $0
+	ld [wcd4a], a
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 10246a
+
+Function10246a: ; 10246a
+	call Function102d9a
+	ld hl, wcd29
+	set 3, [hl]
+	call Function102e07
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, $2a
+	ld [wcd49], a
+	ret
+; 102480
+
+Function102480: ; 102480
+	ld c, $32
+	call DelayFrames
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 10248d
+
+Function10248d: ; 10248d
+	ld a, [wcd49]
+	set 7, a
+	ld [wcd49], a
+	ret
+; 102496
+
+Function102496: ; 102496
+	ld hl, wcd4e
+	dec [hl]
+	ret nz
+	ld a, $0
+	ld [wcd4a], a
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 1024a8
+
+Function1024a8: ; 1024a8
+	callba Function1009f3
+	ret c
+
+Function1024af: ; 1024af
+	call GetJoypad
+	ld a, [wcd4a]
+	ld hl, Jumptable_1024ba
+	rst JumpTable
+	ret
+; 1024ba
+
+Jumptable_1024ba: ; 1024ba
+	dw Function1024c0
+	dw Function1024cb
+	dw Function1024de
+; 1024c0
+
+Function1024c0: ; 1024c0
+	ld hl, wcd4e
+	inc [hl]
+	ld a, [wcd4a]
+	inc a
+	ld [wcd4a], a
+
+Function1024cb: ; 1024cb
+	ld hl, wcd4e
+	dec [hl]
+	ret nz
+	ld a, [wcd4f]
+	inc a
+	ld [wcd4e], a
+	ld a, [wcd4a]
+	inc a
+	ld [wcd4a], a
+
+Function1024de: ; 1024de
+	ld hl, wcd4e
+	dec [hl]
+	jr z, .asm_1024e9
+	ld a, [hJoyPressed]
+	and A_BUTTON | B_BUTTON
+	ret z
+
+.asm_1024e9
+	ld a, $0
+	ld [wcd4a], a
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 1024f6
+
+Function1024f6: ; 1024f6
+	call Function1bee
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, [wcd4c]
+	call Function1028e8
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 10250c
+
+Function10250c: ; 10250c
+	call Function1028fc
+	ret nc
+	ld a, [wcd51]
+	cp $f
+	jr z, .asm_10254b
+	and a
+	jr z, .asm_102572
+	cp $aa
+	jr z, .asm_102572
+	cp $7
+	jr nc, .asm_102572
+	ld [wcd4d], a
+	dec a
+	ld [wd003], a
+	ld a, [wcd4c]
+	dec a
+	ld [DefaultFlypoint], a
+	call Function102b9c
+	call Function102bdc
+	jr c, .asm_10256d
+	callba Functionfb5dd
+	jr c, .asm_102568
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, $e
+	ld [wcd49], a
+	ret
+
+.asm_10254b
+	call Function103021
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, $0
+	ld [wcd4a], a
+	ld a, $1e
+	ld [wcd4e], a
+	ld a, $1e
+	ld [wcd4f], a
+	ld a, $29
+	ld [wcd49], a
+	ret
+
+.asm_102568
+	call Function102ff5
+	jr .asm_102577
+
+.asm_10256d
+	call Function102f85
+	jr .asm_102577
+
+.asm_102572
+	call Function102fce
+	jr .asm_102577
+
+.asm_102577
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, $0
+	ld [wcd4a], a
+	ld a, $1e
+	ld [wcd4e], a
+	ld a, $3c
+	ld [wcd4f], a
+	ld a, $9
+	ld [wcd49], a
+	ret
+; 102591
+
+Function102591: ; 102591
+	call Function102ee7
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, $0
+	ld [wcd4a], a
+	ld a, $1e
+	ld [wcd4e], a
+	ld a, $3c
+	ld [wcd4f], a
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 1025b0
+
+Function1025b0: ; 1025b0
+	ld a, $9
+	call Function1028e8
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 1025bd
+
+Function1025bd: ; 1025bd
+	call Function1028fc
+	ret nc
+	ld a, $4
+	ld [wcd49], a
+	ret
+; 1025c7
+
+Function1025c7: ; 1025c7
+	call Function102f6d
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, $f
+	call Function1028e8
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 1025dc
+
+Function1025dc: ; 1025dc
+	call Function1028fc
+	ret nc
+	ld a, [wcd49]
+	set 7, a
+	ld [wcd49], a
+	ret
+; 1025e9
+
+Function1025e9: ; 1025e9
+	nop
+	ld hl, wcd4b
+	set 6, [hl]
+	call Function102b4e
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 1025ff
+
+Function1025ff: ; 1025ff
+	ld hl, wcd4b
+	set 2, [hl]
+	callba Function1009f3
+	ret c
+	callba Function241ba
+	ld a, [wcfa8]
+	and c
+	ret z
+	bit 0, c
+	jr nz, .asm_102623
+	bit 6, c
+	jr nz, .asm_10262e
+	bit 7, c
+	jr nz, .asm_102646
+	ret
+
+.asm_102623
+	ld hl, wcd4b
+	set 3, [hl]
+	ld a, $27
+	ld [wcd49], a
+	ret
+
+.asm_10262e
+	ld a, [wcfa9]
+	ld b, a
+	ld a, [OTPartyCount]
+	cp b
+	ret nz
+	call Function1bf7
+	ld a, [PartyCount]
+	ld [wcfa9], a
+	ld a, $1d
+	ld [wcd49], a
+	ret
+
+.asm_102646
+	ld a, [wcfa9]
+	cp $1
+	ret nz
+	ld a, $23
+	ld [wcd49], a
+	ret
+; 102652
+
+Function102652: ; 102652
+	nop
+	ld hl, wcd4b
+	set 6, [hl]
+	nop
+	call Function102b7b
+	nop
+	ld hl, wcd4b
+	set 1, [hl]
+	nop
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 10266b
+
+Function10266b: ; 10266b
+	ld hl, wcd4b
+	set 2, [hl]
+	callba Function1009f3
+	ret c
+	callba Function241ba
+	ld a, [wcfa8]
+	and c
+	ret z
+	bit 0, c
+	jr nz, .asm_10268f
+	bit 7, c
+	jr nz, .asm_10269a
+	bit 6, c
+	jr nz, .asm_1026a8
+	ret
+
+.asm_10268f
+	ld hl, wcd4b
+	set 3, [hl]
+	ld a, $21
+	ld [wcd49], a
+	ret
+
+.asm_10269a
+	ld a, [wcfa9]
+	dec a
+	ret nz
+	call Function1bf7
+	ld a, $1f
+	ld [wcd49], a
+	ret
+
+.asm_1026a8
+	ld a, [wcfa9]
+	ld b, a
+	ld a, [PartyCount]
+	cp b
+	ret nz
+	ld a, $23
+	ld [wcd49], a
+	ret
+; 1026b7
+
+Function1026b7: ; 1026b7
+	ld hl, wcd4b
+	set 6, [hl]
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ld a, $0
+	ld [wcd4a], a
+
+Function1026c8: ; 1026c8
+	call GetJoypad
+	callba Function1009f3
+	ret c
+	ld a, [wcd4a]
+	ld hl, Jumptable_1026da
+	rst JumpTable
+	ret
+; 1026da
+
+Jumptable_1026da: ; 1026da
+	dw Function1026de
+	dw Function1026f3
+; 1026de
+
+Function1026de: ; 1026de
+	call Function1bf7
+	hlcoord 9, 17
+	ld [hl], $ed
+	ld a, [wcd4a]
+	inc a
+	ld [wcd4a], a
+	ld hl, wcd4b
+	set 1, [hl]
+	ret
+; 1026f3
+
+Function1026f3: ; 1026f3
+	ld a, [hJoyPressed]
+	bit 0, a
+	jr nz, .asm_102723
+	bit 6, a
+	jr nz, .asm_102712
+	bit 7, a
+	jr nz, .asm_102702
+	ret
+
+.asm_102702
+	hlcoord 9, 17
+	ld [hl], $7f
+	ld a, $1
+	ld [wcfa9], a
+	ld a, $1d
+	ld [wcd49], a
+	ret
+
+.asm_102712
+	hlcoord 9, 17
+	ld [hl], $7f
+	ld a, [OTPartyCount]
+	ld [wcfa9], a
+	ld a, $1f
+	ld [wcd49], a
+	ret
+
+.asm_102723
+	hlcoord 9, 17
+	ld [hl], $ec
+	ld hl, wcd4b
+	set 3, [hl]
+	ld hl, wcd4b
+	set 2, [hl]
+	ld a, $5
+	ld [wcd49], a
+	ret
+; 102738
+
+Function102738: ; 102738
+	ld hl, wcd4b
+	set 6, [hl]
+	call Function1bee
+	call Function1027eb
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ld a, $0
+	ld [wcd4a], a
+
+Function102754: ; 102754
+	call GetJoypad
+	callba Function1009f3
+	ret c
+	ld a, [wcd4a]
+	ld hl, Jumptable_102766
+	rst JumpTable
+	ret
+; 102766
+
+Jumptable_102766: ; 102766
+	dw Function102770
+	dw Function102775
+	dw Function10278c
+	dw Function1027a0
+	dw Function1027b7
+; 102770
+
+Function102770: ; 102770
+	ld a, $1
+	ld [wcd4a], a
+
+Function102775: ; 102775
+	hlcoord 1, 16
+	ld [hl], $ed
+	hlcoord 11, 16
+	ld [hl], $7f
+	ld hl, wcd4b
+	set 2, [hl]
+	ld a, [wcd4a]
+	inc a
+	ld [wcd4a], a
+	ret
+; 10278c
+
+Function10278c: ; 10278c
+	ld a, [hJoyPressed]
+	bit 0, a
+	jr nz, asm_1027c6
+	bit 1, a
+	jr nz, asm_1027e2
+	bit 4, a
+	jr nz, .asm_10279b
+	ret
+
+.asm_10279b
+	ld a, $3
+	ld [wcd4a], a
+
+Function1027a0: ; 1027a0
+	hlcoord 1, 16
+	ld [hl], $7f
+	hlcoord 11, 16
+	ld [hl], $ed
+	ld hl, wcd4b
+	set 2, [hl]
+	ld a, [wcd4a]
+	inc a
+	ld [wcd4a], a
+	ret
+
+Function1027b7: ; 1027b7
+	ld a, [hJoyPressed]
+	bit 0, a
+	jr nz, asm_1027d1
+	bit 1, a
+	jr nz, asm_1027e2
+	bit 5, a
+	jr nz, Function102770
+	ret
+
+asm_1027c6:
+	ld hl, wcd4b
+	set 3, [hl]
+	ld a, $25
+	ld [wcd49], a
+	ret
+
+asm_1027d1:
+	ld hl, wcd4b
+	set 3, [hl]
+	ld a, [wcfa9]
+	ld [wcd4c], a
+	ld a, $7
+	ld [wcd49], a
+	ret
+
+asm_1027e2:
+	call Function102db7
+	ld a, $1d
+	ld [wcd49], a
+	ret
+; 1027eb
+
+Function1027eb: ; 1027eb
+	hlcoord 0, 14
+	ld b, $2
+	ld c, $12
+	ld d, h
+	ld e, l
+	callba Function16d61d
+	ld de, String_102804
+	hlcoord 2, 16
+	call PlaceString
+	ret
+; 102804
+
+String_102804: ; 102804
+	db "STATS     TRADE@"
+; 102814
+
+Function102814: ; 102814
+	ld a, [wcfa9]
+	ld [wcd52], a
+	ld a, [wcd4c]
+	dec a
+	ld [DefaultFlypoint], a
+	ld a, [wcd4d]
+	dec a
+	ld [wd003], a
+	call Function102ea8
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ld a, $0
+	ld [wcd4a], a
+	ld hl, wcd4b
+	set 1, [hl]
+
+Function10283c: ; 10283c
+	ld hl, wcd4b
+	set 2, [hl]
+	call Function1029c3
+	ret z
+	jr c, .asm_102852
+	ld a, $10
+	ld [wcd49], a
+	ld hl, wcd4b
+	set 1, [hl]
+	ret
+
+.asm_102852
+	ld a, $14
+	ld [wcd49], a
+	ld hl, wcd4b
+	set 3, [hl]
+	ld hl, wcd4b
+	set 1, [hl]
+	ret
+; 102862
+
+Function102862: ; 102862
+	ld a, $8
+	call Function1028e8
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 10286f
+
+Function10286f: ; 10286f
+	call Function1028fc
+	ret nc
+	ld a, [wcd52]
+	ld [wcfa9], a
+	ld a, [wcd51]
+	cp $8
+	jr nz, .asm_102886
+	ld a, $15
+	ld [wcd49], a
+	ret
+
+.asm_102886
+	call Function102ee7
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, $1e
+	ld [wcd4e], a
+	ld a, $3c
+	ld [wcd4f], a
+	ld a, $0
+	ld [wcd4a], a
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ret
+; 1028a5
+
+Function1028a5: ; 1028a5
+	ld a, $4
+	ld [wcd49], a
+	ret
+; 1028ab
+
+Function1028ab: ; 1028ab
+	ld a, [wcd52]
+	ld [wcfa9], a
+	call Function102f15
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, $c
+	ld [wcd49], a
+	ret
+; 1028bf
+
+Function1028bf: ; 1028bf
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+
+Function1028c6: ; 1028c6
+	xor a
+	ld [MonType], a
+	call Function102bac
+	ld a, $1d
+	ld [wcd49], a
+	ret
+; 1028d3
+
+Function1028d3: ; 1028d3
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+
+Function1028da: ; 1028da
+	ld a, $1
+	ld [MonType], a
+	call Function102bac
+	ld a, $1f
+	ld [wcd49], a
+	ret
+; 1028e8
+
+Function1028e8: ; 1028e8
+	ld hl, wcd4b
+	res 6, [hl]
+	ld [wcd50], a
+	callba Function100641
+	ld a, $0
+	ld [wcd4a], a
+	ret
+; 1028fc
+
+Function1028fc: ; 1028fc
+	call GetJoypad
+	callba Function1009f3
+	jr nc, .asm_102909
+	and a
+	ret
+
+.asm_102909
+	ld a, [wcd4a]
+	ld hl, Jumptable_102917
+	rst JumpTable
+	ret nc
+	ld a, $0
+	ld [wcd4a], a
+	ret
+; 102917
+
+Jumptable_102917: ; 102917
+	dw Function102933
+	dw Function10294f
+	dw Function10295d
+	dw Function10296e
+	dw Function102996
+; 102921
+
+Function102921: ; 102921
+	ld a, [wcd4a]
+	ld hl, Jumptable_10292f
+	rst JumpTable
+	ret nc
+	ld a, $0
+	ld [wcd4a], a
+	ret
+; 10292f
+
+Jumptable_10292f: ; 10292f
+	dw Function10295d
+	dw Function102984
+; 102933
+
+Function102933: ; 102933
+	ld hl, MenuDataHeader_1029bb
+	call LoadMenuDataHeader
+	call Function102e07
+	ld a, $32
+	ld [TextDelayFrames], a
+	ld hl, wcd4b
+	set 1, [hl]
+	ld a, [wcd4a]
+	inc a
+	ld [wcd4a], a
+	and a
+	ret
+; 10294f
+
+Function10294f: ; 10294f
+	ld a, [TextDelayFrames]
+	and a
+	ret nz
+	ld a, [wcd4a]
+	inc a
+	ld [wcd4a], a
+	and a
+	ret
+; 10295d
+
+Function10295d: ; 10295d
+	call Function10299e
+	ld a, $0
+	ld [wcd27], a
+	ld a, [wcd4a]
+	inc a
+	ld [wcd4a], a
+	and a
+	ret
+; 10296e
+
+Function10296e: ; 10296e
+	callba Function100382
+	and a
+	ld a, [wcd27]
+	bit 7, a
+	ret z
+	ld a, [wcd4a]
+	inc a
+	ld [wcd4a], a
+	and a
+	ret
+; 102984
+
+Function102984: ; 102984
+	callba Function100382
+	and a
+	ld a, [wcd27]
+	bit 7, a
+	ret z
+	call Function1029af
+	scf
+	ret
+; 102996
+
+Function102996: ; 102996
+	call Function1029af
+	call Function1c07
+	scf
+	ret
+; 10299e
+
+Function10299e: ; 10299e
+	ld a, $1
+	ld [wccb4], a
+	ld a, [wcd50]
+	ld [wccb5], a
+	ld a, $aa
+	ld [wcd51], a
+	ret
+; 1029af
+
+Function1029af: ; 1029af
+	ld hl, wcd4b
+	res 7, [hl]
+	ld a, [wcc61]
+	ld [wcd51], a
+	ret
+; 1029bb
+
+MenuDataHeader_1029bb: ; 1029bb
+	db $40 ; flags
+	db 10, 3 ; start coords
+	db 12, 15 ; end coords
+	dw NULL
+	db 1 ; default option
+; 1029c3
+
+Function1029c3: ; 1029c3
+	ld a, [wcd4a]
+	ld hl, Jumptable_1029cb
+	rst JumpTable
+	ret
+; 1029cb
+
+Jumptable_1029cb: ; 1029cb
+	dw Function1029cf
+	dw Function1029fe
+; 1029cf
+
+Function1029cf: ; 1029cf
+	call Function1d6e
+	hlcoord 10, 7
+	ld b, $3
+	ld c, $8
+	ld d, h
+	ld e, l
+	callba Function16d61d
+	ld de, String_102a26
+	hlcoord 12, 8
+	call PlaceString
+	ld hl, wcd4b
+	set 1, [hl]
+	ld de, Unknown_102a33
+	call Function1bb1
+	ld a, [wcd4a]
+	inc a
+	ld [wcd4a], a
+	xor a
+	ret
+; 1029fe
+
+Function1029fe: ; 1029fe
+	callba Function1009f3
+	ret c
+	callba Function241ba
+	ld a, c
+	ld hl, wcfa8
+	and [hl]
+	ret z
+	push af
+	call Function1c07
+	pop af
+	ld a, [wcfa9]
+	cp $1
+	jr nz, .asm_102a21
+	ld a, $1
+	and a
+	ret
+
+.asm_102a21
+	ld a, $1
+	and a
+	scf
+	ret
+; 102a26
+
+String_102a26: ; 102a26
+	db   "TRADE"
+	next "CANCEL"
+	db   "@"
+; 102a33
+
+Unknown_102a33:
+INCBIN "baserom.gbc", $102a33, $102a3b - $102a33
+
+Function102a3b: ; 102a3b
+	ld a, [wcd30]
+	ld [wc74e], a
+	ld hl, PlayerName
+	ld de, $c6e7
+	ld bc, $000b
+	call CopyBytes
+	ld a, [wcd4c]
+	dec a
+	ld c, a
+	ld b, $0
+	ld hl, PartySpecies
+	add hl, bc
+	ld a, [hl]
+	ld [$c6d0], a
+	ld a, [wcd4c]
+	dec a
+	ld hl, PartyMonOT
+	call SkipNames
+	ld de, $c6f2
+	ld bc, $000b
+	call CopyBytes
+	ld a, [wcd4c]
+	dec a
+	ld hl, PartyMon1ID
+	call GetPartyLocation
+	ld a, [hli]
+	ld [$c6ff], a
+	ld a, [hl]
+	ld [wc700], a
+	ld a, [wcd4c]
+	dec a
+	ld hl, PartyMon1DVs
+	call GetPartyLocation
+	ld a, [hli]
+	ld [$c6fd], a
+	ld a, [hl]
+	ld [$c6fe], a
+	ld a, [wcd4c]
+	dec a
+	ld hl, PartyMon1Species
+	call GetPartyLocation
+	ld b, h
+	ld c, l
+	callba GetCaughtGender
+	ld a, c
+	ld [wc701], a
+	ld hl, wd26b
+	ld de, wc719
+	ld bc, $000b
+	call CopyBytes
+	ld a, [wcd4d]
+	dec a
+	ld c, a
+	ld b, $0
+	ld hl, OTPartySpecies
+	add hl, bc
+	ld a, [hl]
+	ld [wc702], a
+	ld a, [wcd4d]
+	dec a
+	ld hl, OTPartyMonOT
+	call SkipNames
+	ld de, wc724
+	ld bc, $000b
+	call CopyBytes
+	ld a, [wcd4d]
+	dec a
+	ld hl, OTPartyMon1ID
+	call GetPartyLocation
+	ld a, [hli]
+	ld [wc731], a
+	ld a, [hl]
+	ld [wc732], a
+	ld a, [wcd4d]
+	dec a
+	ld hl, OTPartyMon1DVs
+	call GetPartyLocation
+	ld a, [hli]
+	ld [wc72f], a
+	ld a, [hl]
+	ld [wc730], a
+	ld a, [wcd4d]
+	dec a
+	ld hl, OTPartyMon1Species
+	call GetPartyLocation
+	ld b, h
+	ld c, l
+	callba GetCaughtGender
+	ld a, c
+	ld [wc733], a
+	ret
+; 102b12
+
+Function102b12: ; 102b12
+	ld c, $64
+	call DelayFrames
+	call Function102d9a
+	call Functione58
+	ld a, [wcd2f]
+	and a
+	jr nz, .asm_102b2b
+	callba Function108026
+	jr .asm_102b31
+
+.asm_102b2b
+	callba Function10802a
+
+.asm_102b31
+	ret
+; 102b32
+
+Function102b32: ; 102b32
+	ld a, [wcd4c]
+	dec a
+	ld [CurPartyMon], a
+	ld a, $1
+	ld [wd1e9], a
+	callba Function421d8
+	call Function102d9a
+	call Function102dd3
+	call Function102dec
+	ret
+; 102b4e
+
+Function102b4e: ; 102b4e
+	ld a, $1
+	ld [MonType], a
+	ld a, [wcfa9]
+	push af
+	ld de, Unknown_102b73
+	call Function1bb1
+	pop af
+	ld [wcfa9], a
+	ld a, [OTPartyCount]
+	ld [wcfa3], a
+	ret
+; 102b68
+
+Function102b68: ; 102b68 ; unreferenced
+	xor a
+	ld hl, wcf71
+	ld bc, $0010
+	call ByteFill
+	ret
+; 102b73
+
+Unknown_102b73:
+INCBIN "baserom.gbc", $102b73, $102b7b - $102b73
+
+Function102b7b: ; 102b7b
+	xor a
+	ld [MonType], a
+	ld a, [wcfa9]
+	push af
+	ld de, Unknown_102b94
+	call Function1bb1
+	pop af
+	ld [wcfa9], a
+	ld a, [PartyCount]
+	ld [wcfa3], a
+	ret
+; 102b94
+
+Unknown_102b94:
+INCBIN "baserom.gbc", $102b94, $102b9c - $102b94
+
+Function102b9c: ; 102b9c
+	ld a, [wcd4d]
+	dec a
+	hlcoord 6, 9
+	ld bc, $0014
+	call AddNTimes
+	ld [hl], $ec
+	ret
+; 102bac
+
+Function102bac: ; 102bac
+	ld a, [wcfa9]
+	dec a
+	ld [CurPartyMon], a
+	call LowVolume
+	call ClearSprites
+	callba Function4dc8f
+	ld a, [CurPartyMon]
+	inc a
+	ld [wcfa9], a
+	call Function102d9a
+	call ClearPalettes
+	call DelayFrame
+	call MaxVolume
+	call Function102dd3
+	call Function102dec
+	call Function102db7
+	ret
+; 102bdc
+
+Function102bdc: ; 102bdc
+	ld a, [wcd4d]
+	dec a
+	ld hl, OTPartyMon1Species
+	call GetPartyLocation
+	push hl
+	ld a, [wcd4d]
+	ld c, a
+	ld b, $0
+	ld hl, OTPartyCount
+	add hl, bc
+	ld a, [hl]
+	pop hl
+	cp EGG
+	jr z, .asm_102bfa
+	cp [hl]
+	jr nz, .asm_102c05
+
+.asm_102bfa
+	ld bc, OTPartyMon1Level - OTPartyMon1
+	add hl, bc
+	ld a, [hl]
+	cp MAX_LEVEL + 1
+	jr nc, .asm_102c05
+	and a
+	ret
+
+.asm_102c05
+	scf
+	ret
+; 102c07
+
+Function102c07: ; 102c07
+	call Function102c14
+	call Function102c3b
+	call Function102c21
+	call Function102c2e
+	ret
+; 102c14
+
+Function102c14: ; 102c14
+	ld hl, PartySpecies
+	ld de, OTPartySpecies
+	ld bc, $0001
+	call Function102c71
+	ret
+; 102c21
+
+Function102c21: ; 102c21
+	ld hl, PartyMonNicknames
+	ld de, OTPartyMonNicknames
+	ld bc, $000b
+	call Function102c71
+	ret
+; 102c2e
+
+Function102c2e: ; 102c2e
+	ld hl, PartyMonOT
+	ld de, OTPartyMonOT
+	ld bc, $000b
+	call Function102c71
+	ret
+; 102c3b
+
+Function102c3b: ; 102c3b
+	ld hl, PartyMon1
+	ld de, OTPartyMon1
+	ld bc, $0030
+	call Function102c71
+	ret
+; 102c48
+
+Function102c48: ; 102c48
+	callba Function10165a
+	ld a, $0
+	call GetSRAMBank
+	ld hl, $a600
+	ld de, $c608
+	ld bc, $002f
+	call Function102c71
+	call CloseSRAM
+	ld hl, $c608
+	ld de, wda00
+	ld bc, $01e0
+	ld a, $5
+	call FarCopyWRAM
+	ret
+; 102c71
+
+Function102c71: ; 102c71
+	ld a, [wcd4c]
+	dec a
+	call AddNTimes
+	push hl
+	ld h, d
+	ld l, e
+	ld a, [wcd4d]
+	dec a
+	call AddNTimes
+	pop de
+	call SwapBytes
+	ret
+; 102c87
+
+Function102c87: ; 102c87
+	ld a, [wcf63]
+	push af
+	ld a, [wcf64]
+	push af
+	ld a, [wcd4c]
+	ld [wcf63], a
+	ld a, [PartyCount]
+	ld [wcf64], a
+	ld a, $0
+	ld hl, $a600
+	ld de, $c608
+	ld bc, $011a
+	call Function102d3e
+	call Function102cee
+	ld a, $0
+	ld hl, $c608
+	ld de, $a600
+	ld bc, $011a
+	call Function102d3e
+	ld a, [wcd4d]
+	ld [wcf63], a
+	ld a, [OTPartyCount]
+	ld [wcf64], a
+	ld a, $5
+	ld hl, wda00
+	ld de, $c608
+	ld bc, $011a
+	call FarCopyWRAM
+	call Function102cee
+	ld a, $5
+	ld hl, $c608
+	ld de, wda00
+	ld bc, $011a
+	call FarCopyWRAM
+	pop af
+	ld [wcf64], a
+	pop af
+	ld [wcf63], a
+	ret
+; 102cee
+
+Function102cee: ; 102cee
+	ld a, [wcf63]
+	dec a
+	call Function102d34
+	ld de, DefaultFlypoint
+	ld bc, $002f
+	call CopyBytes
+	ld a, [wcf63]
+	ld c, a
+	ld a, $6
+	sub c
+	ret z
+	ld bc, $002f
+	ld hl, $0000
+	call AddNTimes
+	push hl
+	ld a, [wcf63]
+	dec a
+	call Function102d34
+	ld d, h
+	ld e, l
+	ld hl, $002f
+	add hl, de
+	pop bc
+	call CopyBytes
+	ld a, [wcf64]
+	dec a
+	call Function102d34
+	ld d, h
+	ld e, l
+	ld hl, DefaultFlypoint
+	ld bc, $002f
+	call CopyBytes
+	ret
+; 102d34
+
+Function102d34: ; 102d34
+	ld hl, $c608
+	ld bc, $002f
+	call AddNTimes
+	ret
+; 102d3e
+
+Function102d3e: ; 102d3e
+	call GetSRAMBank
+	call CopyBytes
+	call CloseSRAM
+	ret
+; 102d48
+
+Function102d48: ; 102d48
+	ld a, [wcd4c]
+	ld e, a
+	ld d, 0
+	ld hl, PartyCount
+	add hl, de
+	ld a, [hl]
+	ld [wd265], a
+	cp EGG
+	jr z, .asm_102d6d
+	dec a
+	call SetSeenAndCaughtMon
+	ld a, [wcd4c]
+	dec a
+	ld bc, PartyMon2 - PartyMon1
+	ld hl, PartyMon1Happiness
+	call AddNTimes
+	ld [hl], BASE_HAPPINESS
+
+.asm_102d6d
+	ld a, [wd265]
+	cp UNOWN
+	jr nz, .asm_102d98
+	ld a, [wcd4c]
+	dec a
+	ld bc, PartyMon2 - PartyMon1
+	ld hl, PartyMon1DVs
+	call AddNTimes
+	predef GetUnownLetter
+	callba Functionfba18
+	ld a, [wdef4]
+	and a
+	jr nz, .asm_102d98
+	ld a, [UnownLetter]
+	ld [wdef4], a
+
+.asm_102d98
+	and a
+	ret
+; 102d9a
+
+Function102d9a: ; 102d9a
+	ld a, $7f
+	ld hl, SpritesEnd
+	ld bc, $0168
+	call ByteFill
+	ld a, $7
+	ld hl, AttrMap
+	ld bc, $0168
+	call ByteFill
+	callba Function104000
+	ret
+; 102db7
+
+Function102db7: ; 102db7
+	call Function102e4f
+	call Function102e3e
+	ld hl, wcd4b
+	set 1, [hl]
+	ret
+; 102dc3
+
+Function102dc3: ; 102dc3
+	hlcoord 0, 12
+	ld b, $4
+	ld c, $12
+	ld d, h
+	ld e, l
+	callba Function16d61d
+	ret
+; 102dd3
+
+Function102dd3: ; 102dd3
+	call DisableLCD
+	ld de, GFX_1032a2
+	ld hl, VTiles0
+	lb bc, BANK(GFX_1032a2), 4
+	call Get2bpp
+	callba Function16d421
+	call EnableLCD
+	ret
+; 102dec
+
+Function102dec: ; 102dec
+	ld hl, Unknown_1032e2
+	ld de, Unkn2Pals
+	ld bc, $0020
+	ld a, $5
+	call FarCopyWRAM
+	callba Function49742
+	call Function32f9
+	call DelayFrame
+	ret
+; 102e07
+
+Function102e07: ; 102e07
+	hlcoord 3, 10
+	ld b, $1
+	ld c, $b
+	ld a, [IsInBattle]
+	and a
+	jr z, .asm_102e19
+	call TextBox
+	jr .asm_102e28
+
+.asm_102e19
+	hlcoord 3, 10
+	ld b, $1
+	ld c, $b
+	ld d, h
+	ld e, l
+	callba Function16d61d
+
+.asm_102e28
+	ld de, String_102e32
+	hlcoord 4, 11
+	call PlaceString
+	ret
+; 102e32
+
+String_102e32: ; 102e32
+	db "Waiting...!@"
+; 102e3e
+
+Function102e3e: ; 102e3e
+	ld de, String_102e48
+	hlcoord 10, 17
+	call PlaceString
+	ret
+; 102e48
+
+String_102e48: ; 102e48
+	db "CANCEL@"
+; 102e4f
+
+Function102e4f: ; 102e4f
+	callba Function16d42e
+	callba Function49797
+	ld de, PlayerName
+	hlcoord 4, 0
+	call PlaceString
+	ld a, $14
+	ld [bc], a
+	ld de, wd26b
+	hlcoord 4, 8
+	call PlaceString
+	ld a, $14
+	ld [bc], a
+	hlcoord 7, 1
+	ld de, PartySpecies
+	call Function102e86
+	hlcoord 7, 9
+	ld de, OTPartySpecies
+	call Function102e86
+	ret
+; 102e86
+
+Function102e86: ; 102e86
+	ld c, $0
+.asm_102e88
+	ld a, [de]
+	cp $ff
+	ret z
+	ld [wd265], a
+	push bc
+	push hl
+	push de
+	push hl
+	ld a, c
+	ld [hDividend], a
+	call GetPokemonName
+	pop hl
+	call PlaceString
+	pop de
+	inc de
+	pop hl
+	ld bc, $0014
+	add hl, bc
+	pop bc
+	inc c
+	jr .asm_102e88
+; 102ea8
+
+Function102ea8: ; 102ea8
+	call Function102dc3
+	ld a, [wcd4c]
+	dec a
+	ld c, a
+	ld b, $0
+	ld hl, PartySpecies
+	add hl, bc
+	ld a, [hl]
+	ld [wd265], a
+	call GetPokemonName
+	ld hl, StringBuffer1
+	ld de, StringBuffer2
+	ld bc, $000b
+	call CopyBytes
+	ld a, [wcd4d]
+	dec a
+	ld c, a
+	ld b, $0
+	ld hl, OTPartySpecies
+	add hl, bc
+	ld a, [hl]
+	ld [wd265], a
+	call GetPokemonName
+	ld hl, UnknownText_0x102ee2
+	call PrintTextBoxText
+	ret
+; 102ee2
+
+UnknownText_0x102ee2: ; 102ee2
+	text_jump UnknownText_0x1bd286
+	db "@"
+
+Function102ee7: ; 102ee7
+	call Function102dc3
+	ld de, String_102ef4
+	hlcoord 1, 14
+	call PlaceString
+	ret
+; 102ef4
+
+String_102ef4: ; 102ef4
+	db   "Too bad! The trade"
+	next "was canceled!"
+	db   "@"
+; 102f15
+
+Function102f15: ; 102f15
+	call Function102dc3
+	ld de, String_102f22
+	hlcoord 1, 14
+	call PlaceString
+	ret
+; 102f22
+
+String_102f22: ; 102f22
+	db "こうかんを キャンセルしました@"
+; 102f32
+
+Function102f32: ; 102f32
+	call Function102dc3
+	ld de, String_102f3f
+	hlcoord 1, 14
+	call PlaceString
+	ret
+; 102f3f
+
+String_102f3f: ; 102f3f
+	db "Trade completed!@"
+; 102f50
+
+Function102f50: ; 102f50
+	call Function102dc3
+	ld de, String_102f5d
+	hlcoord 1, 14
+	call PlaceString
+	ret
+; 102f5d
+
+String_102f5d: ; 102f5d
+	db "しょうしょう おまち ください@"
+; 102f6d
+
+Function102f6d: ; 102f6d
+	call Function102dc3
+	ld de, String_102f7a
+	hlcoord 1, 14
+	call PlaceString
+	ret
+; 102f7a
+
+String_102f7a: ; 102f7a
+	db "しゅうりょう します@"
+; 102f85
+
+Function102f85: ; 102f85
+	ld a, [wd003]
+	ld c, a
+	ld b, $0
+	ld hl, OTPartySpecies
+	add hl, bc
+	ld a, [hl]
+	ld [wd265], a
+	call GetPokemonName
+	call Function102dc3
+	ld de, String_102fb2
+	hlcoord 1, 14
+	call PlaceString
+	ld de, StringBuffer1
+	hlcoord 13, 14
+	call PlaceString
+	ld de, String_102fcc
+	call PlaceString
+	ret
+; 102fb2
+
+String_102fb2: ; 102fb2
+	db   "あいてがわ", $4a, "えらんだ "
+	next "いじょう", $4a, "あるようです!!"
+	db   "@"
+; 102fcc
+
+String_102fcc: ; 102fcc
+	db "に@"
+; 102fce
+
+Function102fce: ; 102fce
+	call Function102dc3
+	ld de, String_102fdb
+	hlcoord 1, 14
+	call PlaceString
+	ret
+; 102fdb
+
+String_102fdb: ; 102fdb
+	db   "あいてがわ", $25, "せんたくに"
+	next "いじょう", $4a, "あるようです!!"
+	done
+; 102ff5
+
+Function102ff5: ; 102ff5
+	call Function102dc3
+	ld de, String_103002
+	hlcoord 1, 14
+	call PlaceString
+	ret
+; 103002
+
+String_103002: ; 103002
+	db   "その#を こうかんすると"
+	next "せんとう できなく なっちゃうよ!"
+	db   "@"
+; 103021
+
+Function103021: ; 103021
+	call Function102dc3
+	ld de, String_10302e
+	hlcoord 1, 14
+	call PlaceString
+	ret
+; 10302e
+
+String_10302e: ; 10302e
+	db   "あいてが ちゅうしを えらんだので"
+	next "こうかんを ちゅうし します"
+	db   "@"
+; 10304f
+
+Function10304f: ; 10304f
+	xor a
+	ld [AttrMapEnd], a
+	ld [wcf42], a
+	ld [wcf44], a
+	ld [wcf45], a
+	ret
+; 10305d
+
+Function10305d: ; 10305d
+	nop
+	ld a, [AttrMapEnd]
+	and a
+	ret z
+	call Function10307f
+	ret c
+	call Function103094
+	call Function10306e
+	ret
+; 10306e
+
+Function10306e: ; 10306e
+	ld a, $1
+	ld [hOAMUpdate], a
+	call ClearSprites
+	ld de, Sprites
+	call Function1030cd
+	xor a
+	ld [hOAMUpdate], a
+	ret
+; 10307f
+
+Function10307f: ; 10307f
+	ld c, $2
+	ld hl, wcd4b
+	bit 7, [hl]
+	jr z, .asm_10308a
+	ld c, $1
+
+.asm_10308a
+	ld hl, wcf45
+	inc [hl]
+	ld a, [hl]
+	cp c
+	ret c
+	xor a
+	ld [hl], a
+	ret
+; 103094
+
+Function103094: ; 103094
+	ld hl, wcd4b
+	bit 7, [hl]
+	jr nz, .asm_1030c0
+	ld a, [wcf42]
+	bit 7, a
+	jr nz, .asm_1030b2
+	ld a, [wcf44]
+	inc a
+	ld [wcf44], a
+	cp $2c
+	ret nz
+	ld hl, wcf42
+	set 7, [hl]
+	ret
+
+.asm_1030b2
+	ld a, [wcf44]
+	dec a
+	ld [wcf44], a
+	ret nz
+	ld hl, wcf42
+	res 7, [hl]
+	ret
+
+.asm_1030c0
+	ld hl, wcf44
+	ld a, [hl]
+	and a
+	jr z, .asm_1030ca
+	dec a
+	ld [hl], a
+	ret nz
+
+.asm_1030ca
+	ld [hl], $2c
+	ret
+; 1030cd
+
+Function1030cd: ; 1030cd
+	ld a, [wcf44]
+	ld l, a
+	ld h, 0
+	add hl, hl
+	add hl, hl
+	add hl, hl
+	ld bc, Unknown_103112
+	add hl, bc
+	ld b, $30
+	ld c, $8
+.asm_1030de
+	push hl
+	ld hl, wcd4b
+	bit 7, [hl]
+	pop hl
+	ld a, $0
+	jr z, .asm_1030eb
+	ld a, $5
+.asm_1030eb
+
+	add [hl]
+	inc hl
+	push hl
+
+	add a
+	add a
+
+	add Unknown_10327a % $100
+	ld l, a
+	ld a, Unknown_10327a / $100
+	adc 0
+	ld h, a
+
+	ld a, b
+	add [hl]
+	inc hl
+	ld [de], a
+	inc de
+	ld a, $a
+	add [hl]
+	inc hl
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	pop hl
+	ld a, b
+	add $8
+	ld b, a
+	dec c
+	jr nz, .asm_1030de
+	ret
+; 103112
+
+Unknown_103112: ; 103112
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $01, $00, $00, $00, $00, $00, $00, $00
+	db $02, $01, $00, $00, $00, $00, $00, $00
+	db $03, $02, $01, $00, $00, $00, $00, $00
+	db $04, $03, $02, $01, $00, $00, $00, $00
+	db $04, $04, $03, $02, $01, $00, $00, $00
+	db $04, $04, $04, $03, $02, $01, $00, $00
+	db $04, $04, $04, $04, $03, $02, $01, $00
+	db $04, $04, $04, $04, $04, $03, $02, $01
+	db $04, $04, $04, $04, $04, $04, $03, $02
+	db $04, $04, $04, $04, $04, $04, $04, $03
+	db $04, $04, $04, $04, $04, $04, $04, $04
+	db $04, $04, $04, $04, $04, $04, $04, $04
+	db $04, $04, $04, $04, $04, $04, $04, $04
+	db $04, $04, $04, $04, $04, $04, $04, $04
+	db $04, $04, $04, $04, $04, $04, $04, $04
+	db $04, $04, $04, $04, $04, $04, $04, $04
+	db $04, $04, $04, $04, $04, $04, $04, $04
+	db $04, $04, $04, $04, $04, $04, $04, $04
+	db $03, $04, $04, $04, $04, $04, $04, $04
+	db $02, $03, $04, $04, $04, $04, $04, $04
+	db $01, $02, $03, $04, $04, $04, $04, $04
+	db $00, $01, $02, $03, $04, $04, $04, $04
+	db $00, $00, $01, $02, $03, $04, $04, $04
+	db $00, $00, $00, $01, $02, $03, $04, $04
+	db $00, $00, $00, $00, $01, $02, $03, $04
+	db $00, $00, $00, $00, $00, $01, $02, $03
+	db $00, $00, $00, $00, $00, $00, $01, $02
+	db $00, $00, $00, $00, $00, $00, $00, $01
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $00, $00, $00, $00, $00, $00, $00, $00
+	db $00, $00, $00, $00, $00, $00, $00, $00
+; 10327a
+
+Unknown_10327a: ; 10327a
+	db $00, $00, $00, $00
+	db $00, $00, $01, $00
+	db $00, $00, $02, $00
+	db $00, $00, $03, $00
+	db $00, $00, $01, $01
+	db $00, $00, $00, $00
+	db $00, $00, $01, $02
+	db $00, $00, $02, $02
+	db $00, $00, $03, $02
+	db $00, $00, $01, $03
+
+GFX_1032a2:
+INCBIN "gfx/unknown/1032a2.2bpp"
+
+Unknown_1032e2:
+	db $00, $00, $ff, $1f
+	db $f4, $1b, $8d, $42
+	db $00, $00, $67, $45
+	db $00, $00, $00, $00
+	db $00, $00, $1f, $13
+	db $99, $01, $ff, $10
+	db $00, $00, $19, $00
+	db $00, $00, $00, $00
+; 103302
+
+Function103302: ; 103302
+	call Function103309
+	call Function103362
+	ret
+; 103309
+
+Function103309: ; 103309
+	xor a
+	ld [hBGMapMode], a
+	ld hl, Buffer1
+	ld bc, $000a
+	xor a
+	call ByteFill
+	ld a, $4
+	call GetSRAMBank
+	ld a, [wdc41]
+	ld [$a60c], a
+	ld [Buffer1], a
+	call CloseSRAM
+	call Function1035c6
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	ld a, [hli]
+	ld [wd1ef], a
+	ld a, [hli]
+	ld [wd1ec], a
+	ld a, [hli]
+	ld [wd1ed], a
+	ld h, d
+	ld l, e
+	call Function3eea
+	ld hl, wd1ec
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld a, [hl]
+	ld [wd1ee], a
+	call Function1034be
+	call Function1ad2
+	callba Function104000
+	ld a, $1
+	ld [wd1f0], a
+	call Function10339a
+	ret
+; 103362
+
+Function103362: ; 103362
+.asm_103362
+	ld a, [wd1f0]
+	ld [wd1f1], a
+	call Function1033af
+	call Function10339a
+	call Function10342c
+	callba Function10402d
+	ld a, [Buffer2]
+	bit 7, a
+	jr z, .asm_103362
+	ld hl, Buffer2
+	bit 6, [hl]
+	jr z, .asm_103398
+	ld a, $4
+	call GetSRAMBank
+	ld a, [Buffer1]
+	ld [$a60c], a
+	ld [wdc41], a
+	call CloseSRAM
+	xor a
+	ret
+
+.asm_103398
+	scf
+	ret
+; 10339a
+
+Function10339a: ; 10339a
+	ld a, [wd1f0]
+	ld [wd1f2], a
+	ld c, a
+	ld b, $0
+	ld hl, wd1ec
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	add hl, bc
+	ld a, [hl]
+	ld [wd1f3], a
+	ret
+; 1033af
+
+Function1033af: ; 1033af
+	call GetJoypad
+	ld a, [hJoyPressed]
+	bit 5, a
+	jr nz, .left
+	bit 4, a
+	jr nz, .right
+	bit 1, a
+	jr nz, .b
+	bit 0, a
+	jr nz, .a
+	bit 6, a
+	jr nz, .up
+	bit 7, a
+	jr nz, .down
+	ret
+
+.up
+	ld a, [wd1f0]
+	dec a
+	ld [wd1f0], a
+	cp $1
+	ret nc
+	ld a, [wd1ee]
+	ld [wd1f0], a
+	ret
+
+.down
+	ld a, [wd1f0]
+	inc a
+	ld [wd1f0], a
+	ld c, a
+	ld a, [wd1ee]
+	cp c
+	ret nc
+	ld a, $1
+	ld [wd1f0], a
+	ret
+
+.b
+	call PlayClickSFX
+	ld hl, Buffer2
+	set 7, [hl]
+	ret
+
+.a
+	ld a, [wd1f3]
+	cp $3
+	jr nz, .asm_103412
+	ld de, SFX_TRANSACTION
+	call PlaySFX
+	ld hl, Buffer2
+	set 7, [hl]
+	ld hl, Buffer2
+	set 6, [hl]
+	ret
+
+.left
+.right
+.asm_103412
+	ld a, [wd1f3]
+	cp $3
+	ret z
+	ld de, SFX_PUSH_BUTTON
+	call PlaySFX
+	ld bc, $0008
+	call Function10350f
+	ld a, [Buffer1]
+	xor e
+	ld [Buffer1], a
+	ret
+; 10342c
+
+Function10342c: ; 10342c
+	ld a, [wd1f0]
+	ld [wd1f2], a
+	call Function103490
+	call Function10343c
+	call Function1034a7
+	ret
+; 10343c
+
+Function10343c: ; 10343c
+	ld a, [wd1f3]
+	cp $2
+	jr nz, .asm_103452
+	ld bc, $0001
+	call Function1034f7
+	ld c, $12
+	ld b, $1
+	call Function1034e0
+	jr .asm_10345f
+
+.asm_103452
+	ld bc, $ffed
+	call Function1034f7
+	ld c, $12
+	ld b, $2
+	call Function1034e0
+
+.asm_10345f
+	ld bc, $0000
+	call Function10350f
+	ld bc, $0001
+	call Function103487
+	ld bc, $0008
+	call Function10350f
+	ld a, [Buffer1]
+	and e
+	ld bc, $0002
+	jr z, .asm_10347d
+	ld bc, $0004
+
+.asm_10347d
+	call Function10350f
+	ld bc, $000b
+	call Function103487
+	ret
+; 103487
+
+Function103487: ; 103487
+	push de
+	call Function1034f7
+	pop de
+	call PlaceString
+	ret
+; 103490
+
+Function103490: ; 103490
+	hlcoord 0, 15
+	ld c, $14
+	ld b, $3
+	call Function1034e0
+	ld bc, $0006
+	call Function10350f
+	hlcoord 1, 16
+	call PlaceString
+	ret
+; 1034a7
+
+Function1034a7: ; 1034a7
+	ld a, [wd1f1]
+	ld [wd1f2], a
+	ld bc, $000a
+	call Function1034f7
+	ld [hl], $7f
+	ld bc, $000a
+	call Function1034f1
+	ld [hl], $ed
+	ret
+; 1034be
+
+Function1034be: ; 1034be
+	ld a, $1
+	ld [wd1f2], a
+	ld hl, wd1ec
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld a, [hli]
+.asm_1034ca
+	push af
+	ld a, [hli]
+	push hl
+	ld [wd1f3], a
+	call Function10343c
+	ld hl, wd1f2
+	inc [hl]
+	pop hl
+	pop af
+	dec a
+	jr nz, .asm_1034ca
+	call Function103490
+	ret
+; 1034e0
+
+Function1034e0: ; 1034e0
+	push bc
+	push hl
+	call ClearBox
+	pop hl
+	ld bc, AttrMap - TileMap
+	add hl, bc
+	pop bc
+	ld a, $6
+	call Functionfb8
+	ret
+; 1034f1
+
+Function1034f1: ; 1034f1
+	ld a, [wd1f0]
+	ld [wd1f2], a
+
+Function1034f7: ; 10134f7
+	ld hl, TileMap
+	add hl, bc
+	ld a, [wd1ef]
+	ld bc, SCREEN_WIDTH
+	call AddNTimes
+	ld a, [wd1f2]
+	dec a
+	ld bc, 40
+	call AddNTimes
+	ret
+; 10350f
+
+Function10350f: ; 10350f
+	ld a, [wd1f3]
+	push bc
+	ld hl, Unknown_103522
+	ld bc, $0009
+	call AddNTimes
+	pop bc
+	add hl, bc
+	ld a, [hli]
+	ld d, [hl]
+	ld e, a
+	ret
+; 103522
+
+Unknown_103522: ; 103522
+	dw String_103546
+	dw String_103598
+	dw String_1035a0
+	dw String_10355f
+	db $1
+	dw String_10354f
+	dw String_1035a8
+	dw String_1035b1
+	dw String_103571
+	db $2
+	dw String_103557
+	dw String_1035ba
+	dw String_1035bd
+	dw String_103585
+	db $4
+	dw String_103545
+	dw String_1035c1
+	dw String_1035c1
+	dw String_103545
+
+String_103545: db "@"
+String_103546: db "せんとう アニメ@"
+String_10354f: db "でんわばんごう@"
+String_103557: db "めいしこうかん@"
+String_10355f: db "でんわを かけるひとが きめられる@"
+String_103571: db "でんわばんごうの にゅうりょくのしかた@"
+String_103585: db "あたらしいめいしが あれば こうかん@"
+String_103598: db "とばして みる@"
+String_1035a0: db "じっくり みる@"
+String_1035a8: db "めいしからえらぶ@"
+String_1035b1: db "すうじで いれる@"
+String_1035ba: db "する@"
+String_1035bd: db "しない@"
+String_1035c1: db "けってい@"
+; 1035c6
+
+Function1035c6: ; 1035c6
+	callba Function10138b
+	ld b, 0
+	ld hl, Unknown_1035d7
+	add hl, bc
+	add hl, bc
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ret
+; 1035d7
+
+Unknown_1035d7: ; 1035d7
+	dw Unknown_1035e7
+	dw Unknown_1035f3
+	dw Unknown_103608
+	dw Unknown_103608
+	dw Unknown_1035fe
+
+	dw Function103612
+	dw Function103612
+	dw Function103612
+
+Unknown_1035e7: ; 1035e7
+	dwcoord 0, 6
+	db $12, $07, $07
+	dw .this
+.this
+	db 4, 2, 1, 0, 3
+
+Unknown_1035f3: ; 1035f3
+	dwcoord 0, 7
+	db $12, $06, $09
+	dw .this
+.this
+	db 3, 2, 1, 3
+
+Unknown_1035fe: ; 1035fe
+	dwcoord 0, 9
+	db $12, $04, $0b
+	dw .this
+.this
+	db 2, 0, 3
+
+Unknown_103608: ; 103608
+	dwcoord 0, 9
+	db $12, $04, $0b
+	dw .this
+.this
+	db 2, 2, 3
+; 103612
+
+Function103612: ; 103612
+	ld hl, MenuDataHeader_103640
+	call LoadMenuDataHeader
+	ld a, [wdc40]
+	and $f
+	jr z, .asm_103622
+	ld [wcf88], a
+
+.asm_103622
+	call Function1d81
+	call Function1c17
+	jr c, .asm_10363b
+	ld a, [wcfa9]
+	ld [ScriptVar], a
+	ld c, a
+	ld a, [wdc40]
+	and $f0
+	or c
+	ld [wdc40], a
+	ret
+
+.asm_10363b
+	xor a
+	ld [ScriptVar], a
+	ret
+; 103640
+
+MenuDataHeader_103640: ; 103640
+	db $40 ; flags
+	db  6, 13 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_103648
+	db 1 ; default option
+
+MenuData2_103648: ; 103648
+	db $80 ; flags
+	db 2
+	db "モバイル@"
+	db "ケーブル@"
+; 103654
+
+Function103654: ; 103654
+	callba Function10632f
+	bit 7, c
+	jr nz, .asm_103666
+	ld hl, wcd2a
+	res 5, [hl]
+	ld c, $2
+	ret
+
+.asm_103666
+	ld hl, wcd2a
+	set 5, [hl]
+	ld c, $1
+	ret
+; 10366e
+
+Function10366e: ; 10366e
+	callba Function10632f
+	bit 7, c
+	jr z, .asm_10369b
+	ld hl, UnknownText_0x10375d
+	call PrintText
+	call YesNoBox
+	jr c, .asm_103696
+	callba Function8b1e1
+	jr nc, .asm_103690
+	call Functiona36
+	jr .asm_103696
+
+.asm_103690
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+
+.asm_103696
+	xor a
+	ld [ScriptVar], a
+	ret
+
+.asm_10369b
+	ld hl, wdc40
+	bit 7, [hl]
+	set 7, [hl]
+	jr nz, .asm_1036b5
+	ld hl, UnknownText_0x103762
+	call PrintText
+	call YesNoBox
+	jr c, .asm_1036b5
+	call Function1036f9
+	call Functiona36
+
+.asm_1036b5
+	call Function103700
+	jr c, .asm_1036f4
+	ld hl, MenuDataHeader_103747
+	call LoadMenuDataHeader
+	call Function1d81
+	call Function1c07
+	jr c, .asm_1036f4
+	ld a, [wcfa9]
+	cp $1
+	jr z, .asm_1036d9
+	cp $2
+	jr z, .asm_1036f4
+	cp $3
+	jr z, .asm_1036ec
+	jr .asm_1036b5
+
+.asm_1036d9
+	callba Function8b1e1
+	jr nc, .asm_1036e6
+	call Functiona36
+	jr .asm_1036f4
+
+.asm_1036e6
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+
+.asm_1036ec
+	call Function1036f9
+	call Functiona36
+	jr .asm_1036b5
+
+.asm_1036f4
+	xor a
+	ld [ScriptVar], a
+	ret
+; 1036f9
+
+Function1036f9: ; 1036f9
+	ld hl, UnknownText_0x103767
+	call PrintText
+	ret
+; 103700
+
+Function103700: ; 103700
+	ld c, $a
+	ld hl, wdc20
+	bit 4, [hl]
+	jr z, .asm_10370f
+	callba Function1008a6
+
+.asm_10370f
+	ld a, c
+	ld [StringBuffer2], a
+	ld a, [StringBuffer2]
+	cp $5
+	jr nc, .asm_103724
+	cp $2
+	jr nc, .asm_10372c
+	cp $1
+	jr nc, .asm_103734
+	jr .asm_10373c
+
+.asm_103724
+	ld hl, UnknownText_0x10376c
+	call PrintText
+	and a
+	ret
+
+.asm_10372c
+	ld hl, UnknownText_0x103771
+	call PrintText
+	and a
+	ret
+
+.asm_103734
+	ld hl, UnknownText_0x103776
+	call PrintText
+	and a
+	ret
+
+.asm_10373c
+	ld hl, UnknownText_0x10377b
+	call PrintText
+	call Functiona36
+	scf
+	ret
+; 103747
+
+MenuDataHeader_103747: ; 103747
+	db $40 ; flags
+	db  5, 13 ; start coords
+	db 11, 19 ; end coords
+	dw MenuData2_10374f
+	db 1 ; default option
+
+MenuData2_10374f: ; 10374f
+	db $c0 ; flags
+	db 3
+	db "はい@"
+	db "やめる@"
+	db "せつめい@"
+; 10375d
+
+UnknownText_0x10375d: ; 0x10375d
+	text_jump UnknownText_0x1c422a
+	db "@"
+; 0x103762
+UnknownText_0x103762: ; 0x103762
+	text_jump UnknownText_0x1c4275
+	db "@"
+; 0x103767
+UnknownText_0x103767: ; 0x103767
+	text_jump UnknownText_0x1c4298
+	db "@"
+; 0x10376c
+UnknownText_0x10376c: ; 0x10376c
+	text_jump UnknownText_0x1c439c
+	db "@"
+; 0x103771
+UnknownText_0x103771: ; 0x103771
+	text_jump UnknownText_0x1c43dc
+	db "@"
+; 0x103776
+UnknownText_0x103776: ; 0x103776
+	text_jump UnknownText_0x1c4419
+	db "@"
+; 0x10377b
+UnknownText_0x10377b: ; 0x10377b
+	text_jump UnknownText_0x1c445a
+	db "@"
+; 0x103780
+
+Function103780: ; 103780
+	ld a, [wd265]
+	push af
+	call Function10378c
+	pop af
+	ld [wd265], a
+	ret
+; 10378c
+
+Function10378c: ; 10378c
+	ld c, $0
+	ld hl, wdc20
+	bit 4, [hl]
+	jr nz, .asm_10379c
+	ld c, $1
+	ld hl, wdc20
+	set 4, [hl]
+
+.asm_10379c
+	push bc
+	callba Function14ab2
+	pop bc
+	jr c, .asm_1037b5
+	ld a, $1
+	ld [ScriptVar], a
+	ld a, c
+	and a
+	ret z
+	callba Function1006fd
+	ret
+
+.asm_1037b5
+	xor a
+	ld [ScriptVar], a
+	ld a, c
+	and a
+	ret z
+	ld hl, wdc20
+	res 4, [hl]
+	ret
+; 1037c2
+
+Function1037c2: ; 1037c2
+	call Function103823
+	jr c, .asm_1037de
+	ld a, [wdc5f]
+	and a
+	jr z, .asm_1037de
+	ld hl, UnknownText_0x1037e6
+	call PrintText
+	call YesNoBox
+	jr c, .asm_1037de
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+
+.asm_1037de
+	xor a
+	ld [wdc5f], a
+	ld [ScriptVar], a
+	ret
+; 1037e6
+
+UnknownText_0x1037e6: ; 0x1037e6
+	text_jump UnknownText_0x1c449c
+	db "@"
+; 0x1037eb
+
+Function1037eb: ; 1037eb
+	call Function103823
+	jr nc, .asm_103807
+	ld hl, UnknownText_0x103819
+	call PrintText
+	call Functiona36
+	ld hl, UnknownText_0x10381e
+	call PrintText
+	call Functiona36
+	xor a
+	ld [ScriptVar], a
+	ret
+
+.asm_103807
+	ld a, [wdc60]
+	and a
+	jr nz, .asm_103813
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+
+.asm_103813
+	ld a, $2
+	ld [ScriptVar], a
+	ret
+; 103819
+
+UnknownText_0x103819: ; 0x103819
+	text_jump UnknownText_0x1c44c0
+	db "@"
+; 0x10381e
+
+UnknownText_0x10381e: ; 0x10381e
+	text_jump UnknownText_0x1c44e7
+	db "@"
+; 0x103823
+
+Function103823: ; 103823
+	callba Function10632f
+	bit 7, c
+	jr nz, .asm_103838
+	callba Function1008a6
+	ld a, c
+	cp $1
+	jr c, .asm_10383a
+
+.asm_103838
+	xor a
+	ret
+
+.asm_10383a
+	scf
+	ret
+; 10383c
+
+Function10383c: ; 10383c
+	ld a, $1
+	ld [wdc60], a
+	xor a
+	ld hl, wdc5c
+	ld [hli], a
+	ld [hli], a
+	ld [hl], a
+	ld hl, UnknownText_0x103876
+	call PrintText
+	call Functiona36
+	callba Script_reloadmappart
+	callba Function4a94e
+	jr c, .asm_103870
+	ld hl, DefaultFlypoint
+	ld de, wdc5c
+	ld bc, $0003
+	call CopyBytes
+	xor a
+	ld [ScriptVar], a
+	ret
+
+.asm_103870
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+; 103876
+
+UnknownText_0x103876: ; 0x103876
+	text_jump UnknownText_0x1c4508
+	db "@"
+; 0x10387b
+
+Function10387b: ; 10387b
+	callba Function10632f
+	bit 7, c
+	ret nz
+	callba Function1008a6
+	ld a, c
+	ld [StringBuffer2], a
+	ld hl, UnknownText_0x103898
+	call PrintText
+	call Functiona36
+	ret
+; 103898
+
+UnknownText_0x103898: ; 0x103898
+	text_jump UnknownText_0x1c4525
+	db "@"
+; 0x10389d
+
+
--- /dev/null
+++ b/misc/mobile_42.asm
@@ -1,0 +1,1947 @@
+
+SECTION "bank42", ROMX, BANK[$42]
+
+Function108000: ; 108000
+	ld a, $80
+	ld [wcf65], a
+	ld de, Unknown_10800b
+	jp Function108089
+; 10800b
+
+Unknown_10800b:
+INCBIN "baserom.gbc", $10800b, $108012 - $10800b
+
+Function108012:
+	ld a, $80
+	jr asm_108018
+
+Function108016: ; 108016
+	ld a, $0
+asm_108018:
+	ld [wcf65], a
+	ld de, Unknown_108021
+	jp Function108089
+; 108021
+
+Unknown_108021:
+INCBIN "baserom.gbc", $108021, $108026 - $108021
+
+Function108026: ; 108026
+	ld a, $0
+	jr asm_10802c
+
+Function10802a: ; 10802a
+	ld a, $1
+
+asm_10802c:
+	ld [wcf65], a
+	ld de, Unknown_108035
+	jp Function10805b
+; 108035
+
+Unknown_108035:
+INCBIN "baserom.gbc", $108035, $10803d - $108035
+
+Function10803d: ; 10803d
+	ld a, $0
+	ld [wcf65], a
+	ld de, Unknown_108048
+	jp Function108089
+; 108048
+
+Unknown_108048:
+INCBIN "baserom.gbc", $108048, $10804d - $108048
+
+Function10804d: ; 10804d
+	ld a, $0
+	ld [wcf65], a
+	ld de, Unknown_108058
+	jp Function108089
+; 108058
+
+Unknown_108058:
+INCBIN "baserom.gbc", $108058, $10805b - $108058
+
+Function10805b: ; 10805b
+	ld hl, wc734
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	ld a, [$ffde]
+	push af
+	xor a
+	ld [$ffde], a
+	ld hl, VramState
+	ld a, [hl]
+	push af
+	res 0, [hl]
+	ld hl, Options
+	ld a, [hl]
+	push af
+	set 4, [hl]
+	call Function1080b7
+.asm_108078
+	call Function10824b
+	jr nc, .asm_108078
+	pop af
+	ld [Options], a
+	pop af
+	ld [VramState], a
+	pop af
+	ld [$ffde], a
+	ret
+; 108089
+
+Function108089: ; 108089
+	ld hl, BattleEnded
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	ld a, [$ffde]
+	push af
+	xor a
+	ld [$ffde], a
+	ld hl, VramState
+	ld a, [hl]
+	push af
+	res 0, [hl]
+	ld hl, Options
+	ld a, [hl]
+	push af
+	set 4, [hl]
+	call Function108157
+.asm_1080a6
+	call Function10824b
+	jr nc, .asm_1080a6
+	pop af
+	ld [Options], a
+	pop af
+	ld [VramState], a
+	pop af
+	ld [$ffde], a
+	ret
+; 1080b7
+
+Function1080b7: ; 1080b7
+	xor a
+	ld [wcf63], a
+	call WhiteBGMap
+	call ClearSprites
+	call ClearTileMap
+	call DisableLCD
+	call Function1081ad
+	call Function1081ca
+	call Functione51
+	call Functione58
+	ld a, $1
+	ld [rVBK], a
+	ld hl, LZ_108da7
+	ld de, VTiles2
+	call Decompress
+	ld a, $0
+	ld [rVBK], a
+	ld hl, LZ_108d27
+	ld de, $8200
+	call Decompress
+	call EnableLCD
+	xor a
+	ld [hSCX], a
+	ld [hSCY], a
+	ld a, $7
+	ld [hWX], a
+	ld a, $90
+	ld [hWY], a
+	callba Function8cf53
+	call DelayFrame
+	ld de, TradeBallGFX
+	ld hl, VTiles0
+	lb bc, BANK(TradeBallGFX), $06
+	call Request2bpp
+	ld de, TradePoofGFX
+	ld hl, $8060
+	lb bc, BANK(TradePoofGFX), $0c
+	call Request2bpp
+	xor a
+	ld hl, wc300
+	ld [hli], a
+	ld [hl], $0
+	ld a, [$c6d0]
+	ld hl, $c6fd
+	ld de, $8300
+	call Function1081e9
+	ld a, [wc702]
+	ld hl, wc72f
+	ld de, $9310
+	call Function1081e9
+	ld a, [$c6d0]
+	ld de, $c6d1
+	call Function108239
+	ld a, [wc702]
+	ld de, wc703
+	call Function108239
+	xor a
+	call Function108b98
+	call Function108af4
+	ret
+; 108157
+
+Function108157: ; 108157
+	xor a
+	ld [wcf63], a
+	call WhiteBGMap
+	call ClearSprites
+	call ClearTileMap
+	call DisableLCD
+	call Function1081ad
+	call Function1081ca
+	call Functione51
+	call Functione58
+	call EnableLCD
+	xor a
+	ld [hSCX], a
+	ld [hSCY], a
+	ld a, $7
+	ld [hWX], a
+	ld a, $90
+	ld [hWY], a
+	callba Function8cf53
+	xor a
+	ld hl, wc300
+	ld [hli], a
+	ld [hl], $0
+	call DelayFrame
+	ld a, [$c6d0]
+	ld de, $c6d1
+	call Function108239
+	ld a, [wc702]
+	ld de, wc703
+	call Function108239
+	xor a
+	call Function108b98
+	call Function108af4
+	ret
+; 1081ad
+
+Function1081ad: ; 1081ad
+	ld a, $1
+	ld [rVBK], a
+	ld hl, VTiles0
+	ld bc, $1800
+	xor a
+	call ByteFill
+	ld a, $0
+	ld [rVBK], a
+	ld hl, VTiles0
+	ld bc, $1800
+	xor a
+	call ByteFill
+	ret
+; 1081ca
+
+Function1081ca: ; 1081ca
+	ld a, $1
+	ld [rVBK], a
+	ld hl, VBGMap0
+	ld bc, $0800
+	ld a, $0
+	call ByteFill
+	ld a, $0
+	ld [rVBK], a
+	ld hl, VBGMap0
+	ld bc, $0800
+	ld a, $7f
+	call ByteFill
+	ret
+; 1081e9
+
+Function1081e9: ; 1081e9
+	push de
+	push af
+	predef GetUnownLetter
+	pop af
+	ld [CurPartySpecies], a
+	ld [CurSpecies], a
+	call GetBaseData
+	pop de
+	predef GetFrontpic
+	ret
+; 108201
+
+Function108201: ; 108201
+	push de
+	push af
+	predef GetUnownLetter
+	pop af
+	ld [CurPartySpecies], a
+	ld [CurSpecies], a
+	call GetBaseData
+	pop de
+	predef Function5108b
+	ret
+; 108219
+
+Function108219: ; 108219
+	ld [CurPartySpecies], a
+	hlcoord 7, 2
+	ld d, $0
+	ld e, $3
+	predef Functiond008e
+	ret
+; 108229
+
+Function108229: ; 108229
+	ld [CurPartySpecies], a
+	hlcoord 7, 2
+	ld d, $0
+	ld e, $3
+	predef Functiond00a3
+	ret
+; 108239
+
+Function108239: ; 108239
+	push de
+	ld [wd265], a
+	call GetPokemonName
+	ld hl, StringBuffer1
+	pop de
+	ld bc, $000b
+	call CopyBytes
+	ret
+; 10824b
+
+Function10824b: ; 10824b
+	ld a, [wcf63]
+	bit 7, a
+	jr nz, .asm_10825a
+	call Function10827b
+	call DelayFrame
+	and a
+	ret
+
+.asm_10825a
+	xor a
+	ld [hSCX], a
+	ld [hSCY], a
+	ld a, $7
+	ld [hWX], a
+	ld a, $90
+	ld [hWY], a
+	call Functione51
+	call Functione58
+	callba Function106462
+	callba Function106464
+	scf
+	ret
+; 10827b
+
+Function10827b: ; 10827b
+	ld a, [wcf63]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_10828a
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 10828a
+
+Jumptable_10828a: ; 10828a
+	dw Function1082b7
+	dw Function10830e
+	dw Function108638
+	dw Function108763
+	dw Function1087cf
+	dw Function108811
+	dw Function108838
+	dw Function10884c
+	dw Function108863
+	dw Function108894
+	dw Function10890a
+	dw Function10839b
+	dw Function1082c6
+	dw Function10842c
+	dw Function1084d7
+	dw Function108919
+	dw Function108689
+	dw Function1086f4
+	dw Function10893d
+	dw Function108589
+; 1082b2
+
+Function1082b2: ; 1082b2
+	ld hl, wcf63
+	inc [hl]
+	ret
+; 1082b7
+
+Function1082b7: ; 1082b7
+	ld hl, wc734
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld a, [de]
+	ld [wcf63], a
+	inc de
+	ld [hl], d
+	dec hl
+	ld [hl], e
+	ret
+; 1082c6
+
+Function1082c6: ; 1082c6
+	ld hl, wcf63
+	set 7, [hl]
+	ret
+; 1082cc
+
+Function1082cc: ; 1082cc
+.asm_1082cc
+	push bc
+	callba Function8cf69
+	pop bc
+	call DelayFrame
+	dec c
+	jr nz, .asm_1082cc
+	ret
+; 1082db
+
+Function1082db: ; 1082db
+.asm_1082db
+	callba Function8cf69
+	callba Functiond00b4
+	callba Function10402d
+	jr nc, .asm_1082db
+	ret
+; 1082f0
+
+Function1082f0: ; 1082f0
+.asm_1082f0
+	call Function108b78
+	call DelayFrame
+	dec c
+	jr nz, .asm_1082f0
+	ret
+; 1082fa
+
+Function1082fa: ; 1082fa
+.asm_1082fa
+	call Function108b78
+	push hl
+	push bc
+	callba Function8cf69
+	pop bc
+	pop hl
+	call DelayFrame
+	dec c
+	jr nz, .asm_1082fa
+	ret
+; 10830e
+
+Function10830e: ; 10830e
+	ld de, MUSIC_EVOLUTION
+	call PlayMusic2
+	ld a, $80
+	ld [hSCX], a
+	xor a
+	ld [hSCY], a
+	ld a, $87
+	ld [hWX], a
+	ld a, $50
+	ld [hWY], a
+	call Function1089a8
+	ld a, [$c6d0]
+	ld [CurPartySpecies], a
+	call Function10895e
+	ld a, [$c6fd]
+	ld [TempMonDVs], a
+	ld a, [$c6fe]
+	ld [TempMonDVs + 1], a
+	ld b, $1a
+	call GetSGBLayout
+	ld a, $e4
+	call DmgToCgbBGPals
+	call WaitBGMap
+.asm_108348
+	ld a, [hWX]
+	cp $7
+	jr z, .asm_10835d
+	sub $4
+	ld [hWX], a
+	ld a, [hSCX]
+	sub $4
+	ld [hSCX], a
+	call DelayFrame
+	jr .asm_108348
+
+.asm_10835d
+	ld a, $7
+	ld [hWX], a
+	xor a
+	ld [hSCX], a
+	ld a, [$c6d0]
+	call GetCryIndex
+	jr c, .asm_108371
+	ld e, c
+	ld d, b
+	call PlayCryHeader
+
+.asm_108371
+	ld c, $50
+	call DelayFrames
+	call Function108bec
+	lb de, $54, $58
+	ld a, $20
+	call Function3b2a
+	ld de, SFX_BALL_POOF
+	call PlaySFX
+	ld hl, TileMap
+	ld bc, $00f0
+	ld a, $7f
+	call ByteFill
+	ld c, $50
+	call Function1082cc
+	call Function1082b7
+	ret
+; 10839b
+
+Function10839b: ; 10839b
+	call WhiteBGMap
+	call ClearSprites
+	call ClearTileMap
+	call DisableLCD
+	call Function1081ca
+	ld a, [wc702]
+	ld [CurPartySpecies], a
+	ld hl, wc72f
+	ld de, VTiles2
+	call Function108201
+	call EnableLCD
+	callba Function8d03d
+	xor a
+	ld [hSCX], a
+	ld [hSCY], a
+	ld a, $7
+	ld [hWX], a
+	ld a, $90
+	ld [hWY], a
+	lb de, $54, $58
+	ld a, $21
+	call Function3b2a
+	call Function108b45
+	ld a, $1
+	call Function108b98
+	call Function108af4
+	ld c, $30
+	call Function1082cc
+	ld de, SFX_BALL_POOF
+	call PlaySFX
+	call Function1089d2
+	xor a
+	ld [hSCX], a
+	ld [hSCY], a
+	ld a, $7
+	ld [hWX], a
+	ld a, $50
+	ld [hWY], a
+	ld a, [wc702]
+	ld [CurPartySpecies], a
+	ld a, [wc72f]
+	ld [TempMonDVs], a
+	ld a, [wc730]
+	ld [TempMonDVs + 1], a
+	ld b, $1a
+	call GetSGBLayout
+	ld a, $e4
+	call DmgToCgbBGPals
+	call Function108963
+	ld a, [wc702]
+	call Function108229
+	call Function1082db
+	call Function108c16
+	call Function1082b7
+	ret
+; 10842c
+
+Function10842c: ; 10842c
+	ld de, MUSIC_EVOLUTION
+	call PlayMusic2
+	ld a, $80
+	ld [hSCX], a
+	xor a
+	ld [hSCY], a
+	ld a, $87
+	ld [hWX], a
+	ld a, $50
+	ld [hWY], a
+	call Function1089a8
+	ld a, [$c6d0]
+	ld [CurPartySpecies], a
+	ld hl, $c6fd
+	call Function10898a
+	call DelayFrame
+	ld de, TradeBallGFX
+	ld hl, VTiles0
+	lb bc, BANK(TradeBallGFX), $06
+	call Request2bpp
+	ld de, TradePoofGFX
+	ld hl, $8060
+	lb bc, BANK(TradePoofGFX), $0c
+	call Request2bpp
+	ld a, [$c6fd]
+	ld [TempMonDVs], a
+	ld a, [$c6fe]
+	ld [TempMonDVs + 1], a
+	ld b, $1a
+	call GetSGBLayout
+	ld a, $e4
+	call DmgToCgbBGPals
+	call WaitBGMap
+.asm_108484
+	ld a, [hWX]
+	cp $7
+	jr z, .asm_108499
+	sub $4
+	ld [hWX], a
+	ld a, [hSCX]
+	sub $4
+	ld [hSCX], a
+	call DelayFrame
+	jr .asm_108484
+
+.asm_108499
+	ld a, $7
+	ld [hWX], a
+	xor a
+	ld [hSCX], a
+	ld a, [$c6d0]
+	call GetCryIndex
+	jr c, .asm_1084ad
+	ld e, c
+	ld d, b
+	call PlayCryHeader
+
+.asm_1084ad
+	ld c, $50
+	call DelayFrames
+	call Function108c2b
+	lb de, $54, $58
+	ld a, $20
+	call Function3b2a
+	ld de, SFX_BALL_POOF
+	call PlaySFX
+	ld hl, TileMap
+	ld bc, $00f0
+	ld a, $7f
+	call ByteFill
+	ld c, $50
+	call Function1082cc
+	call Function1082b7
+	ret
+; 1084d7
+
+Function1084d7: ; 1084d7
+	call WhiteBGMap
+	call ClearSprites
+	call ClearTileMap
+	call DisableLCD
+	call Function1081ca
+	ld a, [wc702]
+	ld [CurPartySpecies], a
+	ld hl, wc72f
+	ld de, VTiles2
+	call Function108201
+	call EnableLCD
+	callba Function8d03d
+	call DelayFrame
+	ld de, TradeBallGFX
+	ld hl, VTiles0
+	lb bc, BANK(TradeBallGFX), $06
+	call Request2bpp
+	ld de, TradePoofGFX
+	ld hl, $8060
+	lb bc, BANK(TradePoofGFX), $0c
+	call Request2bpp
+	xor a
+	ld [hSCX], a
+	ld [hSCY], a
+	ld a, $7
+	ld [hWX], a
+	ld a, $90
+	ld [hWY], a
+	lb de, $54, $58
+	ld a, $21
+	call Function3b2a
+	call Function108b45
+	ld a, $1
+	call Function108b98
+	call Function108af4
+	ld c, $30
+	call Function1082cc
+	ld de, SFX_BALL_POOF
+	call PlaySFX
+	call Function1089d2
+	xor a
+	ld [hSCX], a
+	ld [hSCY], a
+	ld a, $7
+	ld [hWX], a
+	ld a, $50
+	ld [hWY], a
+	ld a, [wc702]
+	ld [CurPartySpecies], a
+	ld a, [wc72f]
+	ld [TempMonDVs], a
+	ld a, [wc730]
+	ld [TempMonDVs + 1], a
+	ld b, $1a
+	call GetSGBLayout
+	ld a, $e4
+	call DmgToCgbBGPals
+	ld a, [wc702]
+	ld hl, wc72f
+	call Function10898a
+	ld a, [wc702]
+	call Function108229
+	call Function1082db
+	call Function108c40
+	call Function1082b7
+	ret
+; 108589
+
+Function108589: ; 108589
+	call WhiteBGMap
+	call ClearSprites
+	call ClearTileMap
+	call DisableLCD
+	call Function1081ca
+	ld a, [wc702]
+	ld [CurPartySpecies], a
+	ld hl, wc72f
+	ld de, VTiles2
+	call Function108201
+	call EnableLCD
+	callba Function8d03d
+	call DelayFrame
+	ld de, TradeBallGFX
+	ld hl, VTiles0
+	lb bc, BANK(TradeBallGFX), $06
+	call Request2bpp
+	ld de, TradePoofGFX
+	ld hl, $8060
+	lb bc, BANK(TradePoofGFX), $0c
+	call Request2bpp
+	xor a
+	ld [hSCX], a
+	ld [hSCY], a
+	ld a, $7
+	ld [hWX], a
+	ld a, $90
+	ld [hWY], a
+	lb de, $54, $58
+	ld a, $21
+	call Function3b2a
+	call Function108b45
+	ld a, $1
+	call Function108b98
+	call Function108af4
+	ld c, $30
+	call Function1082cc
+	ld de, SFX_BALL_POOF
+	call PlaySFX
+	call Function108a33
+	xor a
+	ld [hSCX], a
+	ld [hSCY], a
+	ld a, $7
+	ld [hWX], a
+	ld a, $50
+	ld [hWY], a
+	ld a, [wc702]
+	ld [CurPartySpecies], a
+	ld a, [wc72f]
+	ld [TempMonDVs], a
+	ld a, [wc730]
+	ld [TempMonDVs + 1], a
+	ld b, $1a
+	call GetSGBLayout
+	ld a, $e4
+	call DmgToCgbBGPals
+	ld a, [wc702]
+	ld hl, wc72f
+	call Function10898a
+	ld a, [wc702]
+	call Function108229
+	call Function1082db
+	call Function1082b7
+	ret
+; 108638
+
+Function108638: ; 108638
+	callba Function8d03d
+	call WhiteBGMap
+	call ClearSprites
+	call ClearTileMap
+	xor a
+	ld [hBGMapMode], a
+	call DisableLCD
+	call Function1081ca
+	call Function108c80
+	call Function108c6d
+	call EnableLCD
+	ld a, $c
+	ld [hSCX], a
+	ld a, $78
+	ld [hSCY], a
+	ld a, $7
+	ld [hWX], a
+	ld a, $90
+	ld [hWY], a
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld hl, Palette_109107
+	ld de, Unkn1Pals
+	ld bc, $0040
+	call CopyBytes
+	pop af
+	ld [rSVBK], a
+	call Function108d07
+	call Function108af4
+	call Function1082b7
+	ret
+; 108689
+
+Function108689: ; 108689
+	callba Function8d03d
+	call WhiteBGMap
+	call ClearSprites
+	call ClearTileMap
+	xor a
+	ld [hBGMapMode], a
+	call DisableLCD
+	call Function1081ca
+	ld a, $1
+	ld [rVBK], a
+	ld hl, LZ_108da7
+	ld de, VTiles2
+	call Decompress
+	ld a, $0
+	ld [rVBK], a
+	ld hl, LZ_108d27
+	ld de, $8200
+	call Decompress
+	call Function108c80
+	call Function108c6d
+	call EnableLCD
+	ld a, $c
+	ld [hSCX], a
+	ld a, $78
+	ld [hSCY], a
+	ld a, $7
+	ld [hWX], a
+	ld a, $90
+	ld [hWY], a
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld hl, Palette_109107
+	ld de, Unkn1Pals
+	ld bc, $0040
+	call CopyBytes
+	pop af
+	ld [rSVBK], a
+	call Function108d07
+	call Function108af4
+	call Function1082b7
+	ret
+; 1086f4
+
+Function1086f4: ; 1086f4
+	call WhiteBGMap
+	call ClearSprites
+	call ClearTileMap
+	xor a
+	ld [hBGMapMode], a
+	call DisableLCD
+	ld a, $1
+	ld [rVBK], a
+	ld hl, LZ_108da7
+	ld de, VTiles2
+	call Decompress
+	ld a, $0
+	ld [rVBK], a
+	ld hl, LZ_108d27
+	ld de, $8200
+	call Decompress
+	call Function108c80
+	call Function108c6d
+	call EnableLCD
+	ld a, $80
+	ld [hSCX], a
+	ld a, $90
+	ld [hSCY], a
+	ld a, $7
+	ld [hWX], a
+	ld a, $90
+	ld [hWY], a
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld hl, Palette_109107
+	ld de, Unkn1Pals
+	ld bc, $0040
+	call CopyBytes
+	pop af
+	ld [rSVBK], a
+	call Function108d07
+	call Function108af4
+	call Function108b5a
+	ld a, $e0
+	ld [hSCX], a
+	ld de, MUSIC_EVOLUTION
+	call PlayMusic2
+	call Function1082b7
+	ret
+; 108763
+
+Function108763: ; 108763
+	ld de, SFX_GIVE_TRADEMON
+	call PlaySFX
+	ld c, $28
+	ld hl, $d0b0
+	call Function1082f0
+	call Function108af4
+.asm_108774
+	ld a, [hSCX]
+	cp $e0
+	jr z, .asm_108791
+	dec a
+	dec a
+	ld [hSCX], a
+	cp $f8
+	jr nz, .asm_10878a
+	lb de, $54, $58
+	ld a, $22
+	call Function3b2a
+
+.asm_10878a
+	ld c, $1
+	call Function1082cc
+	jr .asm_108774
+
+.asm_108791
+	ld a, [hSCY]
+	cp $f8
+	jr z, .asm_1087cb
+	dec a
+	dec a
+	ld [hSCY], a
+	cp $40
+	jr z, .asm_1087a9
+	cp $30
+	jr z, .asm_1087b7
+	cp $68
+	jr z, .asm_1087bc
+	jr .asm_1087c4
+
+.asm_1087a9
+	lb de, $54, $58
+	ld a, $22
+	call Function3b2a
+	xor a
+	call Function108ad4
+	jr .asm_1087c4
+
+.asm_1087b7
+	call Function108bbd
+	jr .asm_1087c4
+
+.asm_1087bc
+	call Function108bbd
+	ld a, $1
+	call Function108ad4
+
+.asm_1087c4
+	ld c, $1
+	call Function1082cc
+	jr .asm_108791
+
+.asm_1087cb
+	call Function1082b2
+	ret
+; 1087cf
+
+Function1087cf: ; 1087cf
+	ld c, $28
+	ld hl, StringBuffer2 + 2
+	call Function1082f0
+	call Function108af4
+	call Function108b5a
+	lb de, $4a, $50
+	ld a, $25
+	call Function3b2a
+	ld de, SFX_FORESIGHT
+	call PlaySFX
+	ld c, $a
+	call Function1082cc
+	xor a
+	ld [wcf64], a
+	lb de, $4a, $50
+	ld a, $23
+	call Function3b2a
+.asm_1087fc
+	ld a, [hSCY]
+	cp $90
+	jr z, .asm_10880d
+	sub $8
+	ld [hSCY], a
+	ld c, $1
+	call Function1082cc
+	jr .asm_1087fc
+
+.asm_10880d
+	call Function1082b7
+	ret
+; 108811
+
+Function108811: ; 108811
+	ld c, $28
+	call Function1082cc
+	ld a, $1
+	ld [wcf64], a
+	ld de, SFX_SHARPEN
+	call PlaySFX
+	ld c, $3c
+	call Function1082cc
+	lb de, $f2, $50
+	ld a, $24
+	call Function3b2a
+	call Function1082b7
+	ld de, SFX_THROW_BALL
+	call PlaySFX
+	ret
+; 108838
+
+Function108838: ; 108838
+	ld c, $28
+	call Function1082cc
+	ld a, $1
+	ld [wcf64], a
+	ld de, SFX_SHARPEN
+	call PlaySFX
+	call Function1082b7
+	ret
+; 10884c
+
+Function10884c: ; 10884c
+	ld c, $50
+	call DelayFrames
+	lb de, $f2, $50
+	ld a, $24
+	call Function3b2a
+	call Function1082b7
+	ld de, SFX_THROW_BALL
+	call PlaySFX
+	ret
+; 108863
+
+Function108863: ; 108863
+	ld c, $28
+	call Function1082cc
+.asm_108868
+	ld a, [hSCY]
+	cp $f8
+	jr z, .asm_108879
+	add $8
+	ld [hSCY], a
+	ld c, $1
+	call Function1082cc
+	jr .asm_108868
+
+.asm_108879
+	callba Function8d03d
+	lb de, $4a, $50
+	ld a, $25
+	call Function3b2a
+	ld de, SFX_GLASS_TING_2
+	call PlaySFX
+	call Function108af4
+	call Function1082b2
+	ret
+; 108894
+
+Function108894: ; 108894
+	ld c, $14
+	ld hl, StringBuffer2 + 2
+	call Function1082fa
+	ld de, SFX_GIVE_TRADEMON
+	call PlaySFX
+	ld c, $14
+	ld hl, StringBuffer2 + 2
+	call Function1082fa
+	call Function108af4
+.asm_1088ad
+	ld a, [hSCY]
+	cp $78
+	jr z, .asm_1088ee
+	inc a
+	inc a
+	ld [hSCY], a
+	cp $30
+	jr z, .asm_1088c5
+	cp $40
+	jr z, .asm_1088dd
+	cp $68
+	jr z, .asm_1088cf
+	jr .asm_1088e7
+
+.asm_1088c5
+	lb de, $54, $58
+	ld a, $22
+	call Function3b2a
+	jr .asm_1088e7
+
+.asm_1088cf
+	lb de, $54, $58
+	ld a, $22
+	call Function3b2a
+	xor a
+	call Function108ad4
+	jr .asm_1088e7
+
+.asm_1088dd
+	call Function108bbd
+	ld a, $1
+	call Function108ad4
+	jr .asm_1088e7
+
+.asm_1088e7
+	ld c, $1
+	call Function1082cc
+	jr .asm_1088ad
+
+.asm_1088ee
+	ld a, [hSCX]
+	cp $c
+	jr z, .asm_108906
+	inc a
+	inc a
+	ld [hSCX], a
+	cp $f8
+	jr nz, .asm_1088e7
+	call Function108bbd
+	ld c, $1
+	call Function1082cc
+	jr .asm_1088ee
+
+.asm_108906
+	call Function1082b2
+	ret
+; 10890a
+
+Function10890a: ; 10890a
+	ld c, $28
+	ld hl, $d0b0
+	call Function1082f0
+	call Function108af4
+	call Function1082b7
+	ret
+; 108919
+
+Function108919: ; 108919
+	ld c, $28
+	call Function1082cc
+	callba Function8d03d
+	call WhiteBGMap
+	call ClearSprites
+	call ClearTileMap
+	call DisableLCD
+	call Function1081ad
+	call Function1081ca
+	call EnableLCD
+	call Function1082b7
+	ret
+; 10893d
+
+Function10893d: ; 10893d
+.asm_10893d
+	ld a, [rBGP]
+	and a
+	jr z, .asm_108953
+	sla a
+	sla a
+	call DmgToCgbBGPals
+	call Functioncf8
+	ld c, $4
+	call DelayFrames
+	jr .asm_10893d
+
+.asm_108953
+	xor a
+	call DmgToCgbBGPals
+	call Functioncf8
+	call Function1082b7
+	ret
+; 10895e
+
+Function10895e: ; 10895e
+	ld de, $8300
+	jr asm_108966
+
+Function108963:
+	ld de, $9310
+
+asm_108966
+	call DelayFrame
+	ld hl, VTiles2
+	lb bc, $0a, $31
+	call Request2bpp
+	call WaitTop
+	call Function108ac8
+	hlcoord 7, 2
+	xor a
+	ld [$ffad], a
+	ld bc, $0707
+	predef FillBox
+	call WaitBGMap
+	ret
+; 10898a
+
+Function10898a: ; 10898a
+	ld de, VTiles2
+	call Function1081e9
+	call WaitTop
+	call Function108ac8
+	hlcoord 7, 2
+	xor a
+	ld [$ffad], a
+	ld bc, $0707
+	predef FillBox
+	call WaitBGMap
+	ret
+; 1089a8
+
+Function1089a8: ; 1089a8
+	ld de, $c6d0
+	ld a, [de]
+	cp $fd
+	jr z, asm_1089fc
+	call Function108a5b
+	ld de, $c6d0
+	call Function108a92
+	ld de, $c6d1
+	call Function108a9c
+	ld a, [wc701]
+	ld de, $c6f2
+	call Function108aa3
+	ld de, $c6ff
+	call Function108abe
+	call Function108a87
+	ret
+
+Function1089d2:
+	ld de, wc702
+	ld a, [de]
+	cp $fd
+	jr z, asm_1089fc
+	call Function108a5b
+	ld de, wc702
+	call Function108a92
+	ld de, wc703
+	call Function108a9c
+	ld a, [wc733]
+	ld de, wc724
+	call Function108aa3
+	ld de, wc731
+	call Function108abe
+	call Function108a87
+	ret
+
+asm_1089fc
+	call WaitTop
+	call Function108ac8
+	ld a, $9c
+	ld [$ffd7], a
+	hlcoord 5, 0
+	ld b, $6
+	ld c, $9
+	call TextBox
+	hlcoord 6, 2
+	ld de, String_108a1d
+	call PlaceString
+	call Function108a87
+	ret
+; 108a1d
+
+String_108a1d: ; 108a1d
+	db   "タマゴ"
+	next "おや/?????"
+	next $73, "№", $f2, "?????"
+	db   "@"
+; 108a33
+
+Function108a33: ; 108a33
+	call WaitTop
+	call Function108ac8
+	ld a, $9c
+	ld [$ffd7], a
+	hlcoord 5, 0
+	ld b, $6
+	ld c, $9
+	call TextBox
+	hlcoord 7, 4
+	ld de, String_108a54
+	call PlaceString
+	call Function108a87
+	ret
+; 108a54
+
+String_108a54: ; 108a54
+	db "なぞのタマゴ@"
+; 108a5b
+
+Function108a5b: ; 108a5b
+	call WaitTop
+	call Function108ac8
+	ld a, $9c
+	ld [$ffd7], a
+	hlcoord 4, 0
+	ld b, $6
+	ld c, $a
+	call TextBox
+	hlcoord 5, 0
+	ld de, String_108a79
+	call PlaceString
+	ret
+; 108a79
+
+String_108a79: ; 108a79
+	db   "─ №", $f2
+	next ""
+	next "おや/"
+	next $73, "№", $f2, ""
+	db   "@"
+; 108a87
+
+Function108a87: ; 108a87
+	call WaitBGMap
+	call WaitTop
+	ld a, $98
+	ld [$ffd7], a
+	ret
+; 108a92
+
+Function108a92: ; 108a92
+	hlcoord 9, 0
+	ld bc, $8103
+	call PrintNum
+	ret
+; 108a9c
+
+Function108a9c: ; 108a9c
+	hlcoord 5, 2
+	call PlaceString
+	ret
+; 108aa3
+
+Function108aa3: ; 108aa3
+	cp $3
+	jr c, .asm_108aa8
+	xor a
+
+.asm_108aa8
+	push af
+	hlcoord 8, 4
+	call PlaceString
+	inc bc
+	pop af
+	ld hl, Unknown_108abb
+	ld d, 0
+	ld e, a
+	add hl, de
+	ld a, [hl]
+	ld [bc], a
+	ret
+; 108abb
+
+Unknown_108abb: ; 108abb
+	db " ", "♂", "♀"
+; 108abe
+
+Function108abe: ; 108abe
+	hlcoord 8, 6
+	ld bc, $8205
+	call PrintNum
+	ret
+; 108ac8
+
+Function108ac8: ; 108ac8
+	ld hl, TileMap
+	ld bc, $0168
+	ld a, $7f
+	call ByteFill
+	ret
+; 108ad4
+
+Function108ad4: ; 108ad4
+	and a
+	jr z, .asm_108adc
+	ld de, GFX_1092c7
+	jr .asm_108adf
+
+.asm_108adc
+	ld de, GFX_1091c7
+
+.asm_108adf
+	ld a, $1
+	ld [rVBK], a
+	ld hl, $94a0
+	lb bc, $42, $10
+	call Functiondc9
+	call DelayFrame
+	ld a, $0
+	ld [rVBK], a
+	ret
+; 108af4
+
+Function108af4: ; 108af4
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld a, [wcf65]
+	and $1
+	jr z, .asm_108b1c
+	ld hl, Palette_109187
+	ld de, Unkn2Pals
+	ld bc, $0040
+	call CopyBytes
+	ld hl, Palette_109187
+	ld de, OBPals
+	ld bc, $0040
+	call CopyBytes
+	jr .asm_108b34
+
+.asm_108b1c
+	ld hl, Palette_109147
+	ld de, Unkn2Pals
+	ld bc, $0040
+	call CopyBytes
+	ld hl, Palette_109147
+	ld de, OBPals
+	ld bc, $0040
+	call CopyBytes
+
+.asm_108b34
+	pop af
+	ld [rSVBK], a
+	ld a, $e4
+	call Functioncf8
+	ld a, $e4
+	call DmgToCgbBGPals
+	call DelayFrame
+	ret
+; 108b45
+
+Function108b45: ; 108b45
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld de, $7fff
+	ld hl, Unkn1Pals
+	ld a, e
+	ld [hli], a
+	ld d, a
+	ld [hli], a
+	pop af
+	ld [rSVBK], a
+	ret
+; 108b5a
+
+Function108b5a: ; 108b5a
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld de, $3ff2
+	ld hl, $d0a0
+	ld c, $10
+.asm_108b69
+	ld a, e
+	ld [hli], a
+	ld a, d
+	ld [hli], a
+	dec c
+	jr nz, .asm_108b69
+	pop af
+	ld [rSVBK], a
+	ld a, $1
+	ld [hCGBPalUpdate], a
+	ret
+; 108b78
+
+Function108b78: ; 108b78
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld a, c
+	and $2
+	jr z, .asm_108b89
+	ld de, $7fff
+	jr .asm_108b8c
+
+.asm_108b89
+	ld de, $05ff
+
+.asm_108b8c
+	ld a, e
+	ld [hli], a
+	ld a, d
+	ld [hld], a
+	pop af
+	ld [rSVBK], a
+	ld a, $1
+	ld [hCGBPalUpdate], a
+	ret
+; 108b98
+
+Palette_108b98:
+; removed
+
+Function108b98: ; 108b98
+	ld d, a
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld a, [wcf65]
+	and $1
+	xor d
+	jr z, .asm_108bad
+	ld hl, Palette_108b98 + 8
+	jr .asm_108bb0
+
+.asm_108bad
+	ld hl, Palette_108b98
+
+.asm_108bb0
+	ld de, Unkn1Pals + 8 * 7
+	ld bc, $0040
+	call CopyBytes
+	pop af
+	ld [rSVBK], a
+	ret
+; 108bbd
+
+Function108bbd: ; 108bbd
+	callba Function8d03d
+	call ClearSprites
+	ret
+; 108bc7
+
+Function108bc7: ; 108bc7 (42:4bc7)
+	ld a, [wcf64]
+	and a
+	ret z
+	ld hl, $5
+	add hl, bc
+	ld a, [hl]
+	cp $f2
+	jr z, .asm_108bd9
+	sub $8
+	ld [hl], a
+	ret
+.asm_108bd9
+	callba Function8d036
+	ret
+
+Function108be0: ; 108be0 (42:4be0)
+	ld hl, $5
+	add hl, bc
+	ld a, [hl]
+	cp $4a
+	ret z
+	add $8
+	ld [hl], a
+	ret
+; 108bec (42:4bec)
+
+Function108bec: ; 108bec
+	ld a, $90
+	ld [hWY], a
+	ld hl, UnknownText_0x108c07
+	call PrintText
+	ld c, $50
+	call DelayFrames
+	ld hl, UnknownText_0x108c0c
+	call PrintText
+	ld c, $50
+	call DelayFrames
+	ret
+; 108c07
+
+UnknownText_0x108c07: ; 0x108c07
+	text_jump UnknownText_0x1bc787
+	db "@"
+; 0x108c0c
+
+UnknownText_0x108c0c: ; 0x108c0c
+	text_jump UnknownText_0x1bc79d
+	db "@"
+; 0x108c11
+
+UnknownText_0x108c11: ; 0x108c11
+	text_jump UnknownText_0x1bc7b0
+	db "@"
+; 0x108c16
+
+Function108c16: ; 108c16
+	ld a, $90
+	ld [hWY], a
+	ld hl, UnknownText_0x108c26
+	call PrintText
+	ld c, $50
+	call DelayFrames
+	ret
+; 108c26
+
+UnknownText_0x108c26: ; 0x108c26
+	text_jump UnknownText_0x1bc7c3
+	db "@"
+; 0x108c2b
+
+Function108c2b: ; 108c2b
+	ld a, $90
+	ld [hWY], a
+	ld hl, UnknownText_0x108c3b
+	call PrintText
+	ld c, $50
+	call DelayFrames
+	ret
+; 108c3b
+
+UnknownText_0x108c3b: ; 0x108c3b
+	text_jump UnknownText_0x1bc7dd
+	db $50
+; 0x108c40
+
+Function108c40: ; 108c40
+	ld a, $90
+	ld [hWY], a
+	ld a, [wcf65]
+	and $80
+	jr z, .asm_108c57
+	ld hl, UnknownText_0x108c68
+	call PrintText
+	ld c, $50
+	call DelayFrames
+	ret
+
+.asm_108c57
+	ld hl, UnknownText_0x108c63
+	call PrintText
+	ld c, $50
+	call DelayFrames
+	ret
+; 108c63
+
+UnknownText_0x108c63: ; 0x108c63
+	text_jump UnknownText_0x1bc7f0
+	db "@"
+; 0x108c68
+
+UnknownText_0x108c68: ; 0x108c68
+	text_jump UnknownText_0x1bc80a
+	db "@"
+; 0x108c6d
+
+Function108c6d: ; 108c6d
+	ld hl, LZ_108fe7
+	ld de, VBGMap0
+	call Decompress
+	ld hl, LZ_108fe7
+	ld de, VBGMap1
+	call Decompress
+	ret
+; 108c80
+
+Function108c80: ; 108c80
+	ld a, $1
+	ld [rVBK], a
+	ld hl, LZ_1090a7
+	ld de, VBGMap0
+	call Decompress
+	ld hl, LZ_1090a7
+	ld de, VBGMap1
+	call Decompress
+	ld a, $0
+	ld [rVBK], a
+	ret
+; 108c9b
+
+Function108c9b: ; 108c9b
+; localization error: $b should be 6 here
+
+	ld hl, Unknown_108ce9
+	ld a, [hli]
+	ld [$c6d0], a
+
+	ld de, $c6e7
+	ld c, $b
+.asm_108ca7
+	ld a, [hli]
+	ld [de], a
+	inc de
+	dec c
+	jr nz, .asm_108ca7
+
+	ld de, $c6ff
+	ld c, $2
+.asm_108cb2
+	ld a, [hli]
+	ld [de], a
+	inc de
+	dec c
+	jr nz, .asm_108cb2
+
+	ld de, $c6f2
+	ld c, $b
+.asm_108cbd
+	ld a, [hli]
+	ld [de], a
+	inc de
+	dec c
+	jr nz, .asm_108cbd
+
+	ld a, [hli]
+	ld [wc702], a
+
+	ld de, wc719
+	ld c, $b
+.asm_108ccc
+	ld a, [hli]
+	ld [de], a
+	inc de
+	dec c
+	jr nz, .asm_108ccc
+
+	ld de, wc731
+	ld c, $2
+.asm_108cd7
+	ld a, [hli]
+	ld [de], a
+	inc de
+	dec c
+	jr nz, .asm_108cd7
+
+	ld de, wc724
+	ld c, $b
+.asm_108ce2
+	ld a, [hli]
+	ld [de], a
+	inc de
+	dec c
+	jr nz, .asm_108ce2
+
+	ret
+; 108ce9
+
+Unknown_108ce9:
+	db 3
+	db "ゲーフり@@"
+	db $23, $01
+	db "かびーん@@"
+	db 6
+	db "クりーチャ@"
+	db $56, $04
+	db "マツミヤ@@"
+; 108d07
+
+Function108d07: ; 108d07
+	ld a, [wc74e]
+	and $7f
+	cp $8
+	jr c, .asm_108d12
+	ld a, $7
+
+.asm_108d12
+	ld bc, $0008
+	ld hl, Palette_1093c7
+	call AddNTimes
+	ld a, $5
+	ld de, wd020
+	ld bc, $0008
+	call FarCopyWRAM
+	ret
+; 108d27
+
+LZ_108d27:
+INCBIN "gfx/unknown/108d27.2bpp.lz"
+
+LZ_108da7:
+INCBIN "gfx/unknown/108da7.2bpp.lz"
+
+LZ_108fe7:
+INCBIN "gfx/unknown/108fe7.tilemap.lz"
+
+LZ_1090a7:
+INCBIN "gfx/unknown/1090a7.tilemap.lz"
+
+Palette_1090f7:
+	RGB 31, 31, 31
+	RGB  0,  0,  0
+	RGB 31,  0, 25
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB  0,  0,  0
+	RGB  9, 19, 31
+	RGB  0,  0,  0
+
+Palette_109107:
+	RGB 18, 31, 15
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+	RGB 31, 15,  1
+	RGB 14, 14, 31
+	RGB 12,  9, 31
+	RGB  0,  0,  0
+	RGB 18, 31, 15
+	RGB 14, 14, 31
+	RGB 12,  9, 31
+	RGB  0,  0,  0
+	RGB 18, 31, 15
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+	RGB 18, 31, 15
+	RGB 31,  7,  9
+	RGB 18,  0,  1
+	RGB  0,  0,  0
+	RGB 18, 31, 15
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+	RGB 31, 15,  1
+	RGB 18,  0, 30
+	RGB  9,  0, 17
+	RGB  0,  0,  0
+	RGB 18, 31, 15
+	RGB 18,  0, 30
+	RGB  9,  0, 17
+	RGB  0,  0,  0
+
+Palette_109147:
+	RGB 31, 31, 31
+	RGB 31, 31, 12
+	RGB 31, 13, 12
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB 31, 23, 15
+	RGB 31, 18,  7
+	RGB 31, 15,  0
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB 31,  0, 25
+	RGB 31,  0, 25
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB  9, 19, 31
+	RGB  9, 19, 31
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+
+Palette_109187:
+	RGB 31, 31, 31
+	RGB 31, 31, 12
+	RGB 31, 13, 12
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB 31, 23, 15
+	RGB 31, 18,  7
+	RGB 31, 15,  0
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB  9, 19, 31
+	RGB  9, 19, 31
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB 31,  0, 25
+	RGB 31,  0, 25
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+
+GFX_1091c7:
+INCBIN "gfx/unknown/1091c7.2bpp"
+GFX_1092c7:
+INCBIN "gfx/unknown/1092c7.2bpp"
+
+Palette_1093c7:
+	RGB 18, 31, 15
+	RGB  4, 13, 31
+	RGB  0,  0, 31
+	RGB  0,  0,  0
+	RGB 18, 31, 15
+	RGB 31, 31,  0
+	RGB 31, 15,  0
+	RGB  0,  0,  0
+	RGB 18, 31, 15
+	RGB  9, 24,  0
+	RGB  2, 16,  0
+	RGB  0,  0,  0
+	RGB 18, 31, 15
+	RGB 31,  7,  9
+	RGB 18,  0,  1
+	RGB  0,  0,  0
+	RGB 18, 31, 15
+	RGB 28,  5, 31
+	RGB 17,  0, 17
+	RGB  0,  0,  0
+	RGB 18, 31, 15
+	RGB  9,  9,  9
+	RGB  4,  4,  4
+	RGB  0,  0,  0
+	RGB 18, 31, 15
+	RGB 31, 13, 21
+	RGB 27,  7, 12
+	RGB  0,  0,  0
+	RGB 18, 31, 15
+	RGB 21, 20, 20
+	RGB 14, 14, 31
+	RGB  0,  0,  0
+
--- /dev/null
+++ b/misc/mobile_45.asm
@@ -1,0 +1,24075 @@
+
+SECTION "bank45", ROMX, BANK[$45]
+
+	charmap " ", $20 ; revert to ascii
+
+String_114000:
+	db "---", 0
+String_114004:
+	db "CGB-AAAA-00", 0, 0
+
+Unknown_114011: ; 114011
+	dw String_114033
+	dw String_11403a
+	dw String_114043
+	dw String_11404e
+	dw String_114053
+	dw String_114058
+	dw String_114062
+	dw String_114074
+	dw String_11408d
+	dw String_11409f
+	dw String_1140b8
+	dw String_1140e6
+	dw String_114110
+	dw String_11413f
+	dw String_114160
+	dw String_114160
+	dw String_114163
+
+String_114033: ; 114033
+	db "From: ", 0
+String_11403a: ; 11403a
+	db "Sender: ", 0
+String_114043: ; 114043
+	db "Reply-To: ", 0
+String_11404e: ; 11404e
+	db "To: ", 0
+String_114053: ; 114053
+	db "Cc: ", 0
+String_114058: ; 114058
+	db "Subject: ", 0
+String_114062: ; 114062
+	db "MIME-Version: 1.0", 0
+String_114074: ; 114074
+	db "X-Game-title: XXXXXXXXXX", 0
+String_11408d: ; 11408d
+	db "X-Game-code: CGB-", 0
+String_11409f: ; 11409f
+	db "X-GBmail-type: exclusive", 0
+String_1140b8: ; 1140b8
+	db "Content-Type: text/plain; charset=iso-2022-jp", 0
+String_1140e6: ; 1140e6
+	db "Content-Type: multipart/mixed; boundary=\"", 0
+String_114110: ; 114110
+	db "Content-Type: Application/Octet-Stream; name=\"", 0
+String_11413f: ; 11413f
+	db "Content-Transfer-Encoding:Base64", 0
+String_114160: ; 114160
+	db "--", 0
+String_114163: ; 114163
+	db ".", 0
+; 114165
+
+Jumptable_114165: ; 114165
+	dw Function114268
+	dw Function114269
+	dw Function11433c
+	dw Function1143b7
+	dw Function1144d1
+	dw Function114b55
+	dw Function114bbc
+	dw Function114cd9
+	dw Function114e62
+	dw Function1152b8
+	dw Function1154d4
+	dw Function1156cc
+	dw Function1159fb
+; 11417f
+
+Unknown_11417f: ; 11417f
+	dw String_114199
+	dw String_11419f
+	dw String_1141a7
+	dw String_1141b1
+	dw String_1141b5
+	dw String_1141b9
+	dw String_1141c2
+	dw String_1141c8
+	dw String_1141d6
+	dw String_1141e4
+	dw String_1141ee
+	dw String_1141fc
+	dw String_114209
+
+String_114199: ; 114199
+	db "FROM:", 0
+String_11419f: ; 11419f
+	db "SENDER:", 0
+String_1141a7: ; 1141a7
+	db "REPLY-TO:", 0
+String_1141b1: ; 1141b1
+	db "TO:", 0
+String_1141b5: ; 1141b5
+	db "CC:", 0
+String_1141b9: ; 1141b9
+	db "SUBJECT:", 0
+String_1141c2: ; 1141c2
+	db "DATE:", 0
+String_1141c8: ; 1141c8
+	db "CONTENT-TYPE:", 0
+String_1141d6: ; 1141d6
+	db "MIME-VERSION:", 0
+String_1141e4: ; 1141e4
+	db "X-MAILER:", 0
+String_1141ee: ; 1141ee
+	db "X-GAME-TITLE:", 0
+String_1141fc: ; 1141fc
+	db "X-GAME-CODE:", 0
+String_114209: ; 114209
+	db "X-GBMAIL-TYPE:", 0
+; 114218
+
+String_114218: ; 114218
+	db "NAME=", 0
+String_11421e: ; 11421e
+	db "MULTIPART", 0
+String_114228: ; 114228
+	db "BOUNDARY=", 0
+String_114232: ; 114232
+	db "=?ISO-2022-JP?B?", 0
+; 114243
+
+Function114243:: ; 114243
+	ld a, $a
+	ld [MBC3SRamEnable], a
+	ld a, [$ff8c]
+	push af
+	push de
+	ld a, [wdc02]
+	add a
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_114165
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	pop de
+	jp [hl]
+; 11425c
+
+Function11425c: ; 11425c
+	ld [wdc02], a
+	pop af
+	ld [$ff8c], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ret
+; 114268
+
+Function114268: ; 114268
+	ret
+; 114269
+
+Function114269: ; 114269
+	ld h, d
+	ld l, e
+	xor a
+	ld [wdc02], a
+	ld [wdc03], a
+	ld a, [hli]
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	inc hl
+	ld c, [hl]
+	inc hl
+	ld b, [hl]
+.asm_114282
+	ld a, [de]
+	and a
+	jr z, .asm_1142a4
+	ld h, a
+	ld a, [wdc03]
+	and a
+	jr nz, .asm_114292
+	ld a, h
+	cp $80
+	jr nc, .asm_1142ae
+
+.asm_114292
+	ld a, h
+	cp $d
+	jr z, .asm_1142bb
+	xor a
+	ld [wdc02], a
+.asm_11429b
+	inc e
+	call z, Function114333
+	dec bc
+	ld a, b
+	or c
+	jr nz, .asm_114282
+
+.asm_1142a4
+	ld a, [wdc03]
+	and a
+	jr nz, .asm_114303
+	ld b, $80
+	jr .asm_1142b0
+
+.asm_1142ae
+	ld b, $81
+
+.asm_1142b0
+	ld a, [wdc00]
+	ld c, a
+	ld a, $1
+	ld h, d
+	ld l, e
+	jp Function11425c
+
+.asm_1142bb
+	and a
+	jr z, .asm_1142a4
+	inc e
+	call z, Function114333
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_1142a4
+	ld a, [de]
+	ld h, a
+	ld a, [wdc03]
+	and a
+	jr nz, .asm_1142d4
+	ld a, h
+	cp $80
+	jr nc, .asm_1142ae
+
+.asm_1142d4
+	ld a, h
+	cp $a
+	jr nz, .asm_1142ae
+	ld a, [wdc03]
+	and a
+	jr nz, .asm_11430d
+	ld a, [wdc02]
+	and a
+	jr nz, .asm_114309
+	ld a, $1
+	ld [wdc02], a
+	inc e
+	call z, Function114333
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_1142a4
+	ld a, [de]
+	cp $20
+	jr z, .asm_11429b
+	cp $9
+	jr z, .asm_11429b
+	jr .asm_114282
+
+.asm_1142fe
+	xor a
+	ld b, a
+	jp Function11425c
+
+.asm_114303
+	xor a
+	ld b, $1
+	jp Function11425c
+
+.asm_114309
+	xor a
+	ld [wdc02], a
+
+.asm_11430d
+	ld a, [wdc02]
+	and a
+	jr nz, .asm_1142fe
+	ld a, $1
+	ld [wdc03], a
+	inc e
+	call z, Function114333
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_1142a4
+	ld a, [de]
+	and a
+	jp z, .asm_1142a4
+	cp $2e
+	jp nz, .asm_114282
+	ld a, $1
+	ld [wdc02], a
+	jp .asm_11429b
+; 114333
+
+Function114333: ; 114333
+	push bc
+	ld bc, wdc00
+	call Function115d80
+	pop bc
+	ret
+; 11433c
+
+Function11433c: ; 11433c
+	push de
+	ld h, d
+	ld l, e
+	ld c, [hl]
+	inc hl
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld b, $b
+	call Function1143f3
+	cp $2
+	jr z, .asm_114358
+	and a
+	jr z, .asm_114360
+	pop hl
+.asm_114351
+	xor a
+	ld b, $3
+	jp Function11425c
+
+.asm_114357
+	pop hl
+
+.asm_114358
+	pop hl
+	ld a, $1
+	ld b, $82
+	jp Function11425c
+
+.asm_114360
+	ld a, h
+	ld [wdc03], a
+	pop hl
+	push bc
+	push de
+	ld c, [hl]
+	inc hl
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	inc hl
+	ld b, $c
+	call Function1143f3
+	cp $2
+	jr z, .asm_114357
+	and a
+	jr z, .asm_114381
+	xor a
+	ld b, $2
+	pop hl
+	pop hl
+	jp Function11425c
+
+.asm_114381
+	pop de
+	pop bc
+	ld a, [wdc03]
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	call Function114c0b
+	ld hl, String_114004
+.asm_114394
+	ld de, wdc24
+.asm_114397
+	ld a, [hli]
+	and a
+	jr z, .asm_1143ad
+	ld b, a
+	ld a, [de]
+	inc de
+	cp b
+	jr z, .asm_114397
+.asm_1143a1
+	ld a, [hli]
+	and a
+	jr nz, .asm_1143a1
+	ld a, [hl]
+	and a
+	jr nz, .asm_114394
+	ld b, a
+	jp Function11425c
+
+.asm_1143ad
+	ld a, [de]
+	and a
+	jr nz, .asm_114351
+	xor a
+	ld b, $1
+	jp Function11425c
+; 1143b7
+
+Function1143b7: ; 1143b7
+	ld a, [de]
+	ld b, a
+	inc de
+	ld a, [de]
+	ld c, a
+	inc de
+	ld a, [de]
+	ld h, a
+	inc de
+	ld a, [de]
+	inc de
+	push de
+	ld d, a
+	ld e, h
+	call Function1143f3
+	cp $2
+	jr z, .asm_1143eb
+	and a
+	jr nz, .asm_1143ed
+	ld a, h
+	pop hl
+	push af
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	pop af
+	ld [hli], a
+	ld a, e
+	ld [hli], a
+	ld a, d
+	ld [hli], a
+	ld a, c
+	ld [hli], a
+	ld [hl], b
+	xor a
+	jp Function11425c
+
+.asm_1143eb
+	ld b, $82
+
+.asm_1143ed
+	ld a, $1
+	pop hl
+	jp Function11425c
+; 1143f3
+
+Function1143f3: ; 1143f3
+	call Function114412
+	and a
+	jr nz, .asm_11440d
+	ld a, $4
+	cp b
+	jr c, .asm_114407
+	jr z, .asm_114402
+.asm_114400
+	xor a
+	ret
+
+.asm_114402
+	ld a, $0
+	cp c
+	jr nc, .asm_114400
+
+.asm_114407
+	ld bc, VBlank5
+	ld a, $2
+	ret
+
+.asm_11440d
+	ld a, $1
+	ld b, $84
+	ret
+; 114412
+
+Function114412: ; 114412
+	ld a, c
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld hl, Unknown_11417f
+	ld a, b
+	add a
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld c, $0
+	jr .asm_11444a
+
+.asm_11442b
+	ld a, [de]
+	and a
+	jp z, .asm_1144c2
+	inc e
+	call z, Function1144c8
+	cp $d
+	jr nz, .asm_11442b
+	ld a, [de]
+	inc e
+	call z, Function1144c8
+	cp $a
+	jr nz, .asm_11442b
+	ld a, [de]
+	cp $2e
+	jr z, .asm_1144ae
+	cp $d
+	jr z, .asm_1144b8
+
+.asm_11444a
+	ld a, [wdc00]
+	ld [wdc02], a
+	ld a, [de]
+	and a
+	jr z, .asm_1144c2
+	inc e
+	call z, Function1144c8
+	cp $61
+	jr c, .asm_114462
+	cp $7b
+	jr nc, .asm_114462
+	sub $20
+
+.asm_114462
+	ld b, a
+	ld a, [hl]
+	and a
+	jr z, .asm_114476
+	cp b
+	jr nz, .asm_11446e
+	inc c
+	inc hl
+	jr .asm_11444a
+
+.asm_11446e
+	ld a, c
+	and a
+	jr z, .asm_11442b
+	dec c
+	dec hl
+	jr .asm_11446e
+
+.asm_114476
+	ld a, $20
+	cp b
+	jr z, .asm_114481
+	ld a, $a
+	cp b
+	jr z, .asm_114481
+	dec de
+
+.asm_114481
+	ld h, d
+	ld l, e
+	ld bc, NULL
+.asm_114486
+	ld a, [de]
+	and a
+	jr z, .asm_1144c2
+	inc bc
+	inc e
+	call z, Function1144c8
+	cp $d
+	jr nz, .asm_114486
+	ld a, [de]
+	inc bc
+	inc e
+	call z, Function1144c8
+	cp $a
+	jr nz, .asm_114486
+	ld a, [de]
+	cp $20
+	jr z, .asm_114486
+	cp $9
+	jr z, .asm_114486
+	ld d, h
+	ld e, l
+	ld a, [wdc02]
+	ld h, a
+	xor a
+	ret
+
+.asm_1144ae
+	inc e
+	call z, Function1144c8
+	ld a, [de]
+	cp $d
+	jp nz, .asm_11442b
+
+.asm_1144b8
+	inc e
+	call z, Function1144c8
+	ld a, [de]
+	cp $a
+	jp nz, .asm_11442b
+
+.asm_1144c2
+	ld a, $0
+	ld [hl], a
+	ld a, $1
+	ret
+; 1144c8
+
+Function1144c8: ; 1144c8
+	push bc
+	ld bc, wdc00
+	call Function115d80
+	pop bc
+	ret
+; 1144d1
+
+Function1144d1: ; 1144d1
+	call Function114561
+	dec de
+	dec de
+	push de
+	inc de
+	inc de
+	inc de
+	inc hl
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc hl
+	ld a, [de]
+	ld [hld], a
+	dec de
+	ld a, [de]
+	ld [hl], a
+	xor a
+	ld [BigDoll], a
+	ld [wdc17], a
+	ld a, $2
+	ld [wdc0e], a
+	ld hl, wdc03
+	ld c, [hl]
+	inc hl
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	call Function114576
+	cp $2
+	jr z, .asm_11455b
+	and a
+	jr z, .asm_114511
+	ld a, $1
+	ld [wdc0d], a
+	call Function1146fa
+	and a
+	jr nz, .asm_11455b
+	jr .asm_11451c
+
+.asm_114511
+	call Function1146a4
+	and a
+	jr nz, .asm_11455b
+	ld a, $2
+	ld [wdc0d], a
+
+.asm_11451c
+	pop hl
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld a, [wdc0d]
+	ld [de], a
+	ld b, $0
+	ld a, [BigDoll]
+	and a
+	jr z, .asm_114537
+	ld b, $1
+
+.asm_114537
+	ld hl, wdc06
+	ld a, [hl]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld hl, wdc09
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	dec de
+	ld a, d
+	or e
+	jr z, .asm_114559
+	ld hl, wdc07
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	xor a
+	ld [de], a
+	jp Function11425c
+
+.asm_114559
+	ld b, $83
+
+.asm_11455b
+	pop hl
+	ld a, $1
+	jp Function11425c
+; 114561
+
+Function114561: ; 114561
+	ld hl, wdc03
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hl], a
+	ret
+; 114576
+
+Function114576: ; 114576
+	xor a
+	ld [Bed], a
+	ld b, $7
+	call Function1143f3
+	cp $2
+	jr z, .asm_1145b6
+	and a
+	jr nz, .asm_1145b4
+	ld a, h
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	push hl
+	push de
+	push bc
+	ld hl, wdc24
+	call Function115d53
+	call Function1145c5
+	pop bc
+	pop de
+	pop hl
+	and a
+	jr z, .asm_1145bf
+	ld a, b
+	and a
+	jr nz, .asm_1145ba
+	ld a, h
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld hl, String_114218
+	call Function114acf
+
+.asm_1145b4
+	xor a
+	ret
+
+.asm_1145b6
+	ld b, $82
+	jr .asm_1145bc
+
+.asm_1145ba
+	ld b, $81
+
+.asm_1145bc
+	ld a, $2
+	ret
+
+.asm_1145bf
+	ld a, $1
+	ld [Bed], a
+	ret
+; 1145c5
+
+Function1145c5: ; 1145c5
+	ld hl, wdc24
+	ld de, String_11421e
+	ld c, $0
+.asm_1145cd
+	ld a, [hli]
+	and a
+	jr z, .asm_1145ef
+	cp $20
+	jr z, .asm_1145cd
+	cp $d
+	jr z, .asm_1145f8
+	cp $61
+	jr c, .asm_1145e3
+	cp $7b
+	jr nc, .asm_1145e3
+	sub $20
+
+.asm_1145e3
+	ld b, a
+	ld a, [de]
+	and a
+	jr z, .asm_11460e
+	inc de
+	cp b
+	jr z, .asm_1145cd
+	dec de
+	jr .asm_1145cd
+
+.asm_1145ef
+	ld b, $0
+	jr .asm_1145f5
+
+.asm_1145f3
+	ld b, $81
+
+.asm_1145f5
+	ld a, $1
+	ret
+
+.asm_1145f8
+	ld a, [hli]
+	and a
+	jr z, .asm_1145f3
+	cp $a
+	jr nz, .asm_1145f3
+	ld a, [hli]
+	and a
+	jr z, .asm_1145f3
+	cp $20
+	jr z, .asm_1145cd
+	cp $9
+	jr z, .asm_1145cd
+	jr .asm_1145f3
+
+.asm_11460e
+	ld a, c
+	and a
+	jr nz, .asm_114619
+	ld c, $1
+	ld de, String_114228
+	jr .asm_1145cd
+
+.asm_114619
+	dec hl
+	ld a, [hl]
+	cp $22
+	jr nz, .asm_114620
+	inc hl
+
+.asm_114620
+	ld de, $ddc8
+	ld b, $0
+	ld c, $40
+.asm_114627
+	ld a, [hli]
+	cp $22
+	jr z, .asm_114636
+	cp $d
+	jr z, .asm_114636
+	ld [de], a
+	inc de
+	inc b
+	dec c
+	jr nz, .asm_114627
+
+.asm_114636
+	ld a, b
+	ld [PartyMon5Defense], a
+	xor a
+	ret
+; 11463c
+
+Function11463c: ; 11463c
+	ld a, [wdc00]
+	push af
+	push de
+	ld hl, $ddc8
+	ld a, [PartyMon5Defense]
+	ld b, a
+.asm_114648
+	ld a, [de]
+	ld c, a
+	ld a, [hli]
+	cp c
+	jr nz, .asm_11468a
+	inc e
+	call z, Function11469b
+	dec b
+	jr nz, .asm_114648
+	ld a, [de]
+	cp $2d
+	jr z, .asm_114673
+	cp $d
+	jr nz, .asm_11468a
+	xor a
+	ld [Carpet], a
+.asm_114662
+	inc e
+	call z, Function11469b
+	ld a, [de]
+	cp $a
+	jr nz, .asm_11468a
+	inc e
+	call z, Function11469b
+	xor a
+	pop hl
+	pop hl
+	ret
+
+.asm_114673
+	inc e
+	call z, Function11469b
+	ld a, [de]
+	cp $2d
+	jr nz, .asm_11468a
+	inc e
+	call z, Function11469b
+	ld a, $1
+	ld [Carpet], a
+	ld a, [de]
+	cp $d
+	jr z, .asm_114662
+
+.asm_11468a
+	pop de
+	pop af
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	xor a
+	ld [Carpet], a
+	ld a, $1
+	ret
+; 11469b
+
+Function11469b: ; 11469b
+	push bc
+	ld bc, wdc00
+	call Function115d80
+	pop bc
+	ret
+; 1146a4
+
+Function1146a4: ; 1146a4
+	call Function114867
+	and a
+	jr nz, .asm_1146e4
+	ld hl, wdc03
+	ld a, [hli]
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	call Function114a18
+	and a
+	jr nz, .asm_1146e8
+	call Function1148c2
+	and a
+	jr nz, .asm_1146e4
+	ld hl, wdc03
+	ld a, [hli]
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	call Function114a7a
+	and a
+	jr nz, .asm_1146e8
+.asm_1146da
+	dec bc
+	dec bc
+	call Function1149cc
+	and a
+	jr nz, .asm_1146e4
+	xor a
+	ret
+
+.asm_1146e4
+	ld b, $83
+	jr .asm_1146f7
+
+.asm_1146e8
+	ld a, [wdc17]
+	and a
+	jr z, .asm_1146f5
+	ld a, $1
+	ld [BigDoll], a
+	jr .asm_1146da
+
+.asm_1146f5
+	ld b, $81
+
+.asm_1146f7
+	ld a, $1
+	ret
+; 1146fa
+
+Function1146fa: ; 1146fa
+	call Function114867
+	and a
+	jp nz, .asm_11478a
+	ld hl, wdc03
+	ld a, [hli]
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	call Function114a18
+	and a
+	jp nz, .asm_11478e
+	call Function1149cc
+	and a
+	jp nz, .asm_11478a
+	ld a, $1
+	ld [wdc0e], a
+	ld a, [wdc00]
+	ld [$ff8c], a
+	ld [$4000], a
+	ld a, $1
+	ld [RightOrnament], a
+	call Function1147cd
+	and a
+	jp nz, .asm_1147b7
+.asm_114737
+	call Function114843
+	cp $1
+	jr nz, .asm_114749
+	ld a, [wdc17]
+	and a
+	jr z, .asm_114794
+	ld a, $1
+	ld [BigDoll], a
+
+.asm_114749
+	call Function11494d
+	and a
+	jr nz, .asm_11478a
+	ld a, [BigDoll]
+	and a
+	jr nz, .asm_114786
+	ld hl, wdc03
+	ld a, [hli]
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	call Function1147cd
+	and a
+	jr nz, .asm_1147b7
+	ld a, [wdc0e]
+	cp $3
+	jr nz, .asm_114773
+	dec bc
+	dec bc
+
+.asm_114773
+	call Function1149cc
+	and a
+	jr nz, .asm_11478a
+	ld a, [wdc0d]
+	inc a
+	ld [wdc0d], a
+	ld a, [BigDoll]
+	and a
+	jr z, .asm_114799
+
+.asm_114786
+	ld b, $1
+	jr .asm_1147cb
+
+.asm_11478a
+	ld b, $83
+	jr .asm_114796
+
+.asm_11478e
+	ld a, [wdc17]
+	and a
+	jr nz, .asm_114796
+
+.asm_114794
+	ld b, $81
+
+.asm_114796
+	ld a, $1
+	ret
+
+.asm_114799
+	ld a, [Carpet]
+	and a
+	jr z, .asm_114737
+	jr .asm_1147cb
+
+	ld hl, wdc03
+	ld a, [hli]
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	call Function114a7a
+	and a
+	jr z, .asm_1147cb
+	xor a
+	ld [BigDoll], a
+
+.asm_1147b7
+	ld a, [wdc17]
+	and a
+	jr z, .asm_114794
+	ld a, $1
+	ld [BigDoll], a
+	ld a, [wdc0d]
+	cp $1
+	jr nz, .asm_114773
+	ld b, $1
+
+.asm_1147cb
+	xor a
+	ret
+; 1147cd
+
+Function1147cd: ; 1147cd
+	ld bc, NULL
+	ld a, [RightOrnament]
+	and a
+	jr nz, .asm_11480c
+.asm_1147d6
+	ld a, [de]
+	and a
+	jr z, .asm_11482f
+	inc e
+	call z, Function11483a
+	inc bc
+	cp $d
+	jr nz, .asm_1147d6
+	ld a, [de]
+	cp $a
+	jr nz, .asm_11482f
+.asm_1147e8
+	inc bc
+	inc e
+	call z, Function11483a
+	ld a, [de]
+	cp $20
+	jr z, .asm_114827
+	cp $9
+	jr z, .asm_114827
+	cp $d
+	jr nz, .asm_11482b
+	inc e
+	call z, Function11483a
+	ld a, [de]
+	cp $a
+	jr nz, .asm_11482f
+	inc e
+	call z, Function11483a
+	ld a, h
+	and a
+	jr z, .asm_11480c
+	dec bc
+
+.asm_11480c
+	ld a, [de]
+	cp $2d
+	jr nz, .asm_1147d6
+	inc e
+	call z, Function11483a
+	ld a, [de]
+	cp $2d
+	jr nz, .asm_1147d6
+	inc e
+	call z, Function11483a
+	push bc
+	call Function11463c
+	pop bc
+	and a
+	jr nz, .asm_1147d6
+	ret
+
+.asm_114827
+	ld h, $1
+	jr .asm_1147e8
+
+.asm_11482b
+	ld h, $0
+	jr .asm_11480c
+
+.asm_11482f
+	and a
+	jr nz, .asm_114837
+	ld a, $1
+	ld [wdc17], a
+
+.asm_114837
+	ld a, $1
+	ret
+; 11483a
+
+Function11483a: ; 11483a
+	push bc
+	ld bc, wdc00
+	call Function115d80
+	pop bc
+	ret
+; 114843
+
+Function114843: ; 114843
+	ld a, [wdc00]
+	push af
+	push de
+	ld [$ff8c], a
+	ld [$4000], a
+	call Function114a18
+	and a
+	jr nz, .asm_11485f
+	pop de
+	pop af
+	ld [wdc00], a
+	ld hl, String_114218
+	call Function114acf
+	ret
+
+.asm_11485f
+	pop de
+	pop af
+	ld [wdc00], a
+	ld a, $1
+	ret
+; 114867
+
+Function114867: ; 114867
+	ld hl, wdc06
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld a, $2
+	ld [de], a
+	inc e
+	call z, Function1148b9
+	ld a, $1
+	ld [de], a
+	inc e
+	call z, Function1148b9
+	ld hl, wdc03
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function1148b9
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function1148b9
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function1148b9
+	ld hl, wdc06
+	ld a, [wdc01]
+	ld [hli], a
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	inc hl
+	ld c, [hl]
+	inc hl
+	ld b, [hl]
+	ld d, $5
+.asm_1148a9
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_1148b6
+	dec d
+	jr nz, .asm_1148a9
+	ld [hl], b
+	dec hl
+	ld [hl], c
+	xor a
+	ret
+
+.asm_1148b6
+	ld a, $1
+	ret
+; 1148b9
+
+Function1148b9: ; 1148b9
+	push bc
+	ld bc, wdc01
+	call Function115d80
+	pop bc
+	ret
+; 1148c2
+
+Function1148c2: ; 1148c2
+	ld hl, wdc06
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld a, c
+	ld [de], a
+	inc e
+	call z, Function114944
+	ld a, b
+	ld [de], a
+	inc e
+	call z, Function114944
+	ld a, [wdc0e]
+	ld [de], a
+	inc e
+	call z, Function114944
+	cp $3
+	jr nz, .asm_114904
+	ld hl, Plant
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function114944
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function114944
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function114944
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function114944
+
+.asm_114904
+	ld hl, wdc03
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function114944
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function114944
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function114944
+	ld hl, wdc06
+	ld a, [wdc01]
+	ld [hli], a
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	inc hl
+	ld c, [hl]
+	inc hl
+	ld b, [hl]
+	ld a, [wdc0e]
+	cp $3
+	jr z, .asm_114932
+	ld d, $6
+	jr .asm_114934
+
+.asm_114932
+	ld d, $a
+
+.asm_114934
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_114941
+	dec d
+	jr nz, .asm_114934
+	ld [hl], b
+	dec hl
+	ld [hl], c
+	xor a
+	ret
+
+.asm_114941
+	ld a, $1
+	ret
+; 114944
+
+Function114944: ; 114944
+	push bc
+	ld bc, wdc01
+	call Function115d80
+	pop bc
+	ret
+; 11494d
+
+Function11494d: ; 11494d
+	ld hl, wdc06
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld a, [wdc0e]
+	ld [de], a
+	inc e
+	call z, Function1149c3
+	cp $3
+	jr nz, .asm_114983
+	ld hl, Plant
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function1149c3
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function1149c3
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function1149c3
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function1149c3
+
+.asm_114983
+	ld hl, wdc03
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function1149c3
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function1149c3
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function1149c3
+	ld hl, wdc06
+	ld a, [wdc01]
+	ld [hli], a
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	inc hl
+	ld c, [hl]
+	inc hl
+	ld b, [hl]
+	ld a, [wdc0e]
+	cp $3
+	jr z, .asm_1149b1
+	ld d, $4
+	jr .asm_1149b3
+
+.asm_1149b1
+	ld d, $8
+
+.asm_1149b3
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_1149c0
+	dec d
+	jr nz, .asm_1149b3
+	ld [hl], b
+	dec hl
+	ld [hl], c
+	xor a
+	ret
+
+.asm_1149c0
+	ld a, $1
+	ret
+; 1149c3
+
+Function1149c3: ; 1149c3
+	push bc
+	ld bc, wdc01
+	call Function115d80
+	pop bc
+	ret
+; 1149cc
+
+Function1149cc: ; 1149cc
+	ld hl, wdc06
+	ld a, [hl]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	push de
+	ld hl, wdc09
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	dec de
+	ld a, d
+	or e
+	jr z, .asm_114a0b
+	dec de
+	ld a, d
+	or e
+	jr z, .asm_114a0b
+	ld [hl], d
+	dec hl
+	ld [hl], e
+	ld hl, wdc07
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld a, c
+	ld [de], a
+	inc e
+	call z, Function114a0f
+	ld a, b
+	ld [de], a
+	inc e
+	call z, Function114a0f
+	ld hl, wdc06
+	ld a, [wdc01]
+	ld [hli], a
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	pop de
+	xor a
+	ret
+
+.asm_114a0b
+	pop de
+	ld a, $1
+	ret
+; 114a0f
+
+Function114a0f: ; 114a0f
+	push bc
+	ld bc, wdc01
+	call Function115d80
+	pop bc
+	ret
+; 114a18
+
+Function114a18: ; 114a18
+	ld bc, NULL
+	ld h, b
+.asm_114a1c
+	inc bc
+	ld a, [de]
+	and a
+	jr z, .asm_114a66
+	inc e
+	call z, Function114a71
+	cp $d
+	jr nz, .asm_114a1c
+	ld a, [de]
+	cp $a
+	jr nz, .asm_114a66
+.asm_114a2e
+	inc bc
+	inc e
+	call z, Function114a71
+	ld a, [de]
+	cp $20
+	jr z, .asm_114a5e
+	cp $9
+	jr z, .asm_114a5e
+	cp $d
+	jr nz, .asm_114a62
+	inc e
+	call z, Function114a71
+	ld a, [de]
+	cp $a
+	jr nz, .asm_114a66
+	inc e
+	call z, Function114a71
+	ld a, h
+	and a
+	jr z, .asm_114a52
+	dec bc
+
+.asm_114a52
+	ld hl, wdc03
+	ld a, [wdc00]
+	ld [hli], a
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	xor a
+	ret
+
+.asm_114a5e
+	ld h, $1
+	jr .asm_114a2e
+
+.asm_114a62
+	ld h, $0
+	jr .asm_114a1c
+
+.asm_114a66
+	and a
+	jr nz, .asm_114a6e
+	ld a, $1
+	ld [wdc17], a
+
+.asm_114a6e
+	ld a, $1
+	ret
+; 114a71
+
+Function114a71: ; 114a71
+	push bc
+	ld bc, wdc00
+	call Function115d80
+	pop bc
+	ret
+; 114a7a
+
+Function114a7a: ; 114a7a
+	ld bc, NULL
+.asm_114a7d
+	inc bc
+	ld a, [de]
+	and a
+	jr z, .asm_114abb
+	inc e
+	call z, Function114ac6
+	cp $d
+	jr nz, .asm_114a7d
+	ld a, [de]
+	cp $a
+	jr nz, .asm_114abb
+	inc e
+	call z, Function114ac6
+	inc bc
+	ld a, [de]
+	cp $2e
+	jr nz, .asm_114a7d
+	inc e
+	call z, Function114ac6
+	ld a, [de]
+	cp $d
+	jr nz, .asm_114a7d
+	inc e
+	call z, Function114ac6
+	ld a, [de]
+	cp $a
+	jr nz, .asm_114abb
+	inc e
+	call z, Function114ac6
+	ld hl, wdc03
+	ld a, [wdc00]
+	ld [hli], a
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	xor a
+	ret
+
+.asm_114abb
+	and a
+	jr nz, .asm_114ac3
+	ld a, $1
+	ld [wdc17], a
+
+.asm_114ac3
+	ld a, $1
+	ret
+; 114ac6
+
+Function114ac6: ; 114ac6
+	push bc
+	ld bc, wdc00
+	call Function115d80
+	pop bc
+	ret
+; 114acf
+
+Function114acf: ; 114acf
+.asm_114acf
+	push hl
+	push bc
+.asm_114ad1
+	ld a, [hl]
+	ld b, a
+	ld a, [de]
+	inc e
+	call z, Function114b4c
+	cp $61
+	jr c, .asm_114ae2
+	cp $7b
+	jr nc, .asm_114ae2
+	sub $20
+
+.asm_114ae2
+	cp b
+	jr z, .asm_114af4
+	pop bc
+	dec bc
+	push bc
+	ld a, b
+	or c
+	jr nz, .asm_114ad1
+.asm_114aec
+	ld a, $2
+	ld [wdc0e], a
+	pop bc
+	pop hl
+	ret
+
+.asm_114af4
+	inc hl
+.asm_114af5
+	ld a, [hli]
+	and a
+	jr z, .asm_114b19
+	ld b, a
+	ld a, [de]
+	inc e
+	call z, Function114b4c
+	cp $61
+	jr c, .asm_114b09
+	cp $7b
+	jr nc, .asm_114b09
+	sub $20
+
+.asm_114b09
+	cp b
+	jr nz, .asm_114b15
+	pop bc
+	dec bc
+	push bc
+	ld a, b
+	or c
+	jr nz, .asm_114af5
+	jr .asm_114aec
+
+.asm_114b15
+	pop bc
+	pop hl
+	jr .asm_114acf
+
+.asm_114b19
+	ld b, $0
+	ld c, $40
+	ld a, [de]
+	cp $22
+	jr nz, .asm_114b26
+	inc e
+	call z, Function114b4c
+
+.asm_114b26
+	ld hl, Plant
+	ld a, [wdc00]
+	ld [hli], a
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	inc hl
+.asm_114b31
+	ld a, [de]
+	cp $22
+	jr z, .asm_114b42
+	cp $d
+	jr z, .asm_114b42
+	inc e
+	call z, Function114b4c
+	inc b
+	dec c
+	jr nz, .asm_114b31
+
+.asm_114b42
+	ld [hl], b
+	pop bc
+	pop hl
+	ld a, $3
+	ld [wdc0e], a
+	xor a
+	ret
+; 114b4c
+
+Function114b4c: ; 114b4c
+	push bc
+	ld bc, wdc00
+	call Function115d80
+	pop bc
+	ret
+; 114b55
+
+Function114b55: ; 114b55
+	call Function114561
+	ld b, $0
+	ld hl, wdc03
+	ld c, [hl]
+	inc hl
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld hl, wdc24
+.asm_114b65
+	push de
+	push bc
+	push hl
+	call Function1143f3
+	cp $2
+	jr z, .asm_114bb2
+	and a
+	jr nz, .asm_114b8c
+	ld a, h
+	pop hl
+	inc hl
+	ld [hld], a
+	ld a, $1
+	ld [hli], a
+	inc hl
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	inc hl
+	ld [hl], c
+	inc hl
+	ld [hl], b
+	inc hl
+.asm_114b82
+	pop bc
+	pop de
+	inc b
+	ld a, b
+	cp $d
+	jr z, .asm_114b96
+	jr .asm_114b65
+
+.asm_114b8c
+	pop hl
+	xor a
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	jr .asm_114b82
+
+.asm_114b96
+	ld hl, wdc06
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	inc hl
+	ld bc, $004e
+	ld hl, wdc24
+	call Function115d6a
+	jp Function11425c
+
+.asm_114bb2
+	ld a, $1
+	pop bc
+	pop bc
+	pop bc
+	ld b, $82
+	jp Function11425c
+; 114bbc
+
+Function114bbc: ; 114bbc
+	ld h, d
+	ld l, e
+	ld a, [hli]
+	ld b, a
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld e, a
+	ld d, [hl]
+	inc hl
+	push hl
+	call Function1143f3
+	cp $2
+	jr z, .asm_114c03
+	and a
+	jr nz, .asm_114bff
+	ld a, h
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	call Function114c0b
+	ld hl, wdc24
+	call Function114c5e
+	ld a, b
+	or c
+	jr z, .asm_114bff
+	pop hl
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld a, [hli]
+	ld e, a
+	ld d, [hl]
+	ld hl, wdc24
+	push bc
+	call Function115d6a
+	pop hl
+	jp Function11425c
+
+.asm_114bff
+	ld b, $84
+	jr .asm_114c05
+
+.asm_114c03
+	ld b, $82
+
+.asm_114c05
+	ld a, $1
+	pop hl
+	jp Function11425c
+; 114c0b
+
+Function114c0b: ; 114c0b
+	ld hl, wdc24
+	push bc
+	call Function115d53
+	pop bc
+	ld hl, wdc24
+	ld d, h
+	ld e, l
+.asm_114c18
+	ld a, [hli]
+	cp $d
+	jr z, .asm_114c34
+	ld [de], a
+	inc de
+	dec bc
+	ld a, b
+	or c
+	jr nz, .asm_114c18
+.asm_114c24
+	xor a
+	ld [de], a
+	ld hl, wdc24
+	ld bc, NULL
+.asm_114c2c
+	ld a, [hli]
+	inc bc
+	and a
+	jr nz, .asm_114c2c
+	dec bc
+	xor a
+	ret
+
+.asm_114c34
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_114c24
+	ld a, [hli]
+	cp $a
+	jr nz, .asm_114c18
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_114c24
+	ld a, [hli]
+	cp $20
+	jr z, .asm_114c4e
+	cp $9
+	jr z, .asm_114c4e
+	jr .asm_114c24
+
+.asm_114c4e
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_114c24
+	jr .asm_114c18
+; 114c55
+
+Function114c55: ; 114c55
+	push bc
+	ld bc, wdc00
+	call Function115d80
+	pop bc
+	ret
+; 114c5e
+
+Function114c5e: ; 114c5e
+	ld de, PartyMon5Defense
+	push hl
+.asm_114c62
+	ld a, [hli]
+	ld [de], a
+	inc de
+	and a
+	jr z, .asm_114cc6
+	cp $3d
+	jr nz, .asm_114c62
+	ld a, [hli]
+	ld [de], a
+	inc de
+	cp $3f
+	jr nz, .asm_114c62
+	dec de
+	dec de
+.asm_114c75
+	ld a, [hli]
+	cp $3f
+	jr nz, .asm_114c75
+	ld a, [hli]
+	cp $42
+	jr nz, .asm_114cb8
+	inc hl
+	ld bc, NULL
+	push hl
+.asm_114c84
+	inc bc
+	ld a, [hli]
+	cp $3f
+	jr nz, .asm_114c84
+	inc bc
+	ld a, [hli]
+	cp $3d
+	jr nz, .asm_114c84
+	dec bc
+	dec bc
+	ld a, l
+	ld [wdc03], a
+	ld a, h
+	ld [wdc04], a
+	pop hl
+	push de
+	call Function115c49
+	pop de
+	ld h, d
+	ld l, e
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+.asm_114ca6
+	ld a, [hli]
+	ld [de], a
+	inc de
+	dec bc
+	ld a, b
+	or c
+	jr nz, .asm_114ca6
+	ld a, [wdc03]
+	ld l, a
+	ld a, [wdc04]
+	ld h, a
+	jr .asm_114c62
+
+.asm_114cb8
+	ld a, $3d
+	ld [de], a
+	inc de
+	ld a, $3f
+	ld [de], a
+	inc de
+.asm_114cc0
+	ld a, [hli]
+	ld [de], a
+	inc de
+	and a
+	jr nz, .asm_114cc0
+
+.asm_114cc6
+	ld [de], a
+	pop hl
+	ld de, PartyMon5Defense
+	ld bc, NULL
+.asm_114cce
+	inc bc
+	ld a, [de]
+	ld [hli], a
+	inc de
+	and a
+	jr z, .asm_114cd7
+	jr .asm_114cce
+
+.asm_114cd7
+	dec bc
+	ret
+; 114cd9
+
+Function114cd9: ; 114cd9
+	ld h, d
+	ld l, e
+	ld b, [hl]
+	inc hl
+	ld c, [hl]
+	inc hl
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	inc hl
+	push hl
+	call Function1143f3
+	and a
+	jr nz, .asm_114d33
+	ld [wdc03], a
+	ld [wdc04], a
+	ld a, h
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld hl, wdc24
+	call Function114d39
+	ld hl, wdc24
+	call Function114d99
+	pop hl
+	push hl
+	inc hl
+	inc hl
+	inc hl
+	inc hl
+	ld a, [hld]
+	cp b
+	jr c, .asm_114d2d
+	jr z, .asm_114d29
+.asm_114d11
+	pop hl
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld hl, PartyMon5Defense
+	call Function115d6a
+	xor a
+	jp Function11425c
+
+.asm_114d29
+	ld a, [hli]
+	cp c
+	jr nc, .asm_114d11
+
+.asm_114d2d
+	ld b, $83
+	jr .asm_114d33
+
+	ld b, $82
+
+.asm_114d33
+	pop hl
+	ld a, $1
+	jp Function11425c
+; 114d39
+
+Function114d39: ; 114d39
+.asm_114d39
+	ld a, [wdc04]
+	and a
+	jr nz, .asm_114d4a
+	ld a, [de]
+	cp $28
+	jr z, .asm_114d55
+	cp $22
+	jr z, .asm_114d55
+	jr .asm_114d7f
+
+.asm_114d4a
+	ld a, [de]
+	cp $29
+	jr z, .asm_114d5f
+	cp $22
+	jr z, .asm_114d6f
+	jr .asm_114d84
+
+.asm_114d55
+	ld [wdc03], a
+	ld a, $1
+	ld [wdc04], a
+	jr .asm_114d84
+
+.asm_114d5f
+	ld a, [wdc03]
+	cp $28
+	jr nz, .asm_114d84
+	xor a
+	ld [wdc03], a
+	ld [wdc04], a
+	jr .asm_114d84
+
+.asm_114d6f
+	ld a, [wdc03]
+	cp $22
+	jr nz, .asm_114d84
+	xor a
+	ld [wdc03], a
+	ld [wdc04], a
+	jr .asm_114d84
+
+.asm_114d7f
+	cp $20
+	jr z, .asm_114d84
+	ld [hli], a
+
+.asm_114d84
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_114d96
+	inc e
+	jr nz, .asm_114d39
+	push bc
+	ld bc, wdc00
+	call Function115d80
+	pop bc
+	jr .asm_114d39
+
+.asm_114d96
+	xor a
+	ld [hli], a
+	ret
+; 114d99
+
+Function114d99: ; 114d99
+	ld de, PartyMon5Defense
+	xor a
+	ld [de], a
+.asm_114d9e
+	ld a, [hli]
+	call Function114df1
+	and a
+	jr z, .asm_114dde
+	cp $40
+	jr nz, .asm_114d9e
+	dec hl
+.asm_114daa
+	dec hl
+	ld a, [hl]
+	call Function114e2d
+	and a
+	jr z, .asm_114daa
+	inc hl
+	push hl
+	ld b, $0
+.asm_114db6
+	ld a, [hli]
+	cp $40
+	jr z, .asm_114dc1
+	call Function114e2d
+	and a
+	jr nz, .asm_114dc4
+
+.asm_114dc1
+	inc b
+	jr .asm_114db6
+
+.asm_114dc4
+	pop hl
+	ld a, [PartyMon5Defense]
+	and a
+	jr z, .asm_114dd2
+	ld a, $2c
+	inc de
+	ld [de], a
+	ld a, [PartyMon5Defense]
+
+.asm_114dd2
+	inc a
+	ld [PartyMon5Defense], a
+.asm_114dd6
+	inc de
+	ld a, [hli]
+	ld [de], a
+	dec b
+	jr nz, .asm_114dd6
+	jr .asm_114d9e
+
+.asm_114dde
+	inc de
+	xor a
+	ld [de], a
+	ld a, $dd
+	cpl
+	ld h, a
+	ld a, $c8
+	cpl
+	ld l, a
+	inc hl
+	add hl, de
+	ld b, h
+	ld c, l
+	inc bc
+	inc bc
+	xor a
+	ret
+; 114df1
+
+Function114df1: ; 114df1
+	cp $1b
+	ret nz
+	ld a, [hli]
+	and a
+	jr z, .asm_114e2b
+	cp $24
+	jr nz, .asm_114e09
+	ld a, [hli]
+	and a
+	jr z, .asm_114e2b
+	cp $42
+	jr z, .asm_114e0b
+	cp $40
+	jr z, .asm_114e0b
+	dec hl
+
+.asm_114e09
+	dec hl
+	ret
+
+.asm_114e0b
+	ld a, [hli]
+	and a
+	jr z, .asm_114e2b
+	cp $1b
+	jr nz, .asm_114e0b
+	ld a, [hli]
+	and a
+	jr z, .asm_114e2b
+	cp $28
+	jr nz, .asm_114e0b
+	ld a, [hli]
+	and a
+	jr z, .asm_114e2b
+	cp $42
+	jr z, .asm_114e29
+	cp $4a
+	jr z, .asm_114e29
+	jr .asm_114e0b
+
+.asm_114e29
+	ld a, [hli]
+	ret
+
+.asm_114e2b
+	xor a
+	ret
+; 114e2d
+
+Function114e2d: ; 114e2d
+	cp $30
+	jr c, .asm_114e45
+	cp $40
+	jr c, .asm_114e58
+	cp $41
+	jr c, .asm_114e45
+	cp $5b
+	jr c, .asm_114e58
+	cp $61
+	jr c, .asm_114e45
+	cp $7b
+	jr c, .asm_114e58
+
+.asm_114e45
+	cp $20
+	jr z, .asm_114e58
+	cp $2d
+	jr z, .asm_114e58
+	cp $2e
+	jr z, .asm_114e58
+	cp $5f
+	jr z, .asm_114e58
+.asm_114e55
+	ld a, $1
+	ret
+
+.asm_114e58
+	cp $3c
+	jr z, .asm_114e55
+	cp $3e
+	jr z, .asm_114e55
+	xor a
+	ret
+; 114e62
+
+Function114e62: ; 114e62
+	ld a, c
+	and a
+	jr nz, .asm_114e6f
+	ld a, [wdc23]
+	and a
+	jp z, Function11425c
+	jr .asm_114e76
+
+.asm_114e6f
+	xor a
+	ld [wdc23], a
+	call Function114ee9
+
+.asm_114e76
+	call Function114f0a
+	cp $ff
+	jp z, Function11425c
+	and a
+	jr nz, .asm_114e99
+	call Function114ea0
+	and a
+	jr nz, .asm_114e99
+	ld hl, wdc09
+	ld a, [hli]
+	cpl
+	ld e, a
+	ld a, [hli]
+	cpl
+	ld d, a
+	inc de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	add hl, de
+	xor a
+	jp Function11425c
+
+.asm_114e99
+	ld a, $1
+	ld b, $83
+	jp Function11425c
+; 114ea0
+
+Function114ea0: ; 114ea0
+	ld hl, wdc06
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	ld a, $d
+	ld [de], a
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_114edb
+	inc e
+	call z, Function114ee0
+	ld a, $a
+	ld [de], a
+	dec bc
+	inc e
+	call z, Function114ee0
+	ld hl, wdc06
+	ld a, [wdc01]
+	ld [hli], a
+	ld a, e
+	ld [hli], a
+	ld a, d
+	ld [hli], a
+	ld a, c
+	ld [hli], a
+	ld [hl], b
+	xor a
+	ld [wdc23], a
+	ret
+
+.asm_114edb
+	ld a, $1
+	ld b, $83
+	ret
+; 114ee0
+
+Function114ee0: ; 114ee0
+	push bc
+	ld bc, wdc01
+	call Function115d80
+	pop bc
+	ret
+; 114ee9
+
+Function114ee9: ; 114ee9
+	ld hl, wdc03
+	ld a, b
+	ld [hli], a
+	ld a, c
+	ld [hli], a
+	ld [hli], a
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld c, a
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld b, a
+	ld [hli], a
+	inc de
+	ld a, c
+	ld [hli], a
+	ld a, b
+	ld [hli], a
+	ld a, e
+	ld [hli], a
+	ld [hl], d
+	ret
+; 114f0a
+
+Function114f0a: ; 114f0a
+	call Function114f39
+	and a
+	jr nz, .asm_114f26
+	ld a, [wdc03]
+	cp $6
+	jr c, .asm_114f21
+	cp $c
+	jr z, .asm_114f23
+	call Function114f59
+	and a
+	jr nz, .asm_114f23
+
+.asm_114f21
+	xor a
+	ret
+
+.asm_114f23
+	ld a, $1
+	ret
+
+.asm_114f26
+	call Function114f59
+	and a
+	jr nz, .asm_114f23
+	ld hl, wdc0d
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld a, [de]
+	and a
+	jr z, .asm_114f21
+	ld a, $ff
+	ret
+; 114f39
+
+Function114f39: ; 114f39
+	ld hl, wdc0d
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	inc hl
+	ld a, [de]
+	and a
+	jr z, .asm_114f58
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld hl, wdc0d
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	ld a, $1
+	ret
+
+.asm_114f58
+	ret
+; 114f59
+
+Function114f59: ; 114f59
+	ld a, [wdc23]
+	and a
+	jr nz, .asm_114f7c
+	ld a, [wdc03]
+	cp $11
+	jr z, .asm_114fa7
+	add a
+	ld e, a
+	ld d, 0
+	ld hl, Unknown_114011
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	call Function115020
+	and a
+	jr nz, .asm_114fe7
+	ld a, $1
+	ld [wdc23], a
+
+.asm_114f7c
+	ld a, [wdc03]
+	cp $5
+	jr c, .asm_114fc9
+	jr z, .asm_114fec
+	cp $8
+	jr c, .asm_114fa5
+	jr z, .asm_114ff4
+	cp $b
+	jr c, .asm_114fa5
+	jr z, .asm_114ffc
+	cp $c
+	jr z, .asm_115007
+	cp $d
+	jr z, .asm_114fa5
+	cp $10
+	jr c, .asm_115015
+	jr z, .asm_114fa5
+	cp $12
+	jr c, .asm_114fa5
+	jr .asm_114fe7
+
+.asm_114fa5
+	xor a
+	ret
+
+.asm_114fa7
+	ld hl, Bed
+	ld c, [hl]
+	inc hl
+	ld a, [hli]
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld hl, wdc24
+	call Function115d53
+	ld hl, wdc24
+	call Function115020
+	and a
+	jr nz, .asm_114fe7
+	jr .asm_11501e
+
+.asm_114fc9
+	call Function115062
+	and a
+	jr nz, .asm_114fe7
+	ld a, [wdc04]
+	dec a
+	ld [wdc04], a
+	and a
+	jr z, .asm_114fdf
+	call Function114f39
+	and a
+	jr nz, .asm_114fc9
+
+.asm_114fdf
+	ld a, [wdc05]
+	ld [wdc04], a
+	jr .asm_11501e
+
+.asm_114fe7
+	ld a, $1
+	ld b, $83
+	ret
+
+.asm_114fec
+	call Function115062
+	and a
+	jr nz, .asm_114fe7
+	jr .asm_11501e
+
+.asm_114ff4
+	call Function115179
+	and a
+	jr nz, .asm_114fe7
+	jr .asm_11501e
+
+.asm_114ffc
+	ld hl, String_114000
+	call Function115217
+	and a
+	jr nz, .asm_114fe7
+	jr .asm_11501e
+
+.asm_115007
+	call Function11528f
+	ld hl, wdc24
+	call Function115217
+	and a
+	jr nz, .asm_114fe7
+	jr .asm_11501e
+
+.asm_115015
+	ld hl, String_114000
+	call Function115217
+	and a
+	jr nz, .asm_114fe7
+
+.asm_11501e
+	xor a
+	ret
+; 115020
+
+Function115020: ; 115020
+	push hl
+	ld hl, wdc06
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	pop hl
+.asm_115036
+	ld a, [hli]
+	and a
+	jr z, .asm_115046
+	ld [de], a
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_115056
+	inc e
+	call z, Function115059
+	jr .asm_115036
+
+.asm_115046
+	ld hl, wdc06
+	ld a, [wdc01]
+	ld [hli], a
+	ld a, e
+	ld [hli], a
+	ld a, d
+	ld [hli], a
+	ld a, c
+	ld [hli], a
+	ld [hl], b
+	xor a
+	ret
+
+.asm_115056
+	ld a, $1
+	ret
+; 115059
+
+Function115059: ; 115059
+	push bc
+	ld bc, wdc01
+	call Function115d80
+	pop bc
+	ret
+; 115062
+
+Function115062: ; 115062
+	ld hl, Bed
+	ld a, [hli]
+	and a
+	jr z, .asm_1150ae
+	ld c, a
+	ld a, [hli]
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld b, $0
+	ld hl, wdc24
+	ld a, [wdc23]
+	cp $1
+	jr z, .asm_11509b
+	cp $2
+	jr z, .asm_115098
+	cp $3
+	jr nz, .asm_1150b2
+	ld a, $2c
+	ld [hli], a
+	ld a, $d
+	ld [hli], a
+	ld a, $a
+	ld [hli], a
+	ld a, $9
+	ld [hli], a
+	jr .asm_11509b
+
+.asm_115098
+	ld a, $2c
+	ld [hli], a
+
+.asm_11509b
+	call Function115d53
+	call Function1150b3
+	call Function115136
+	ld a, [wdc23]
+	inc a
+	cp $4
+	jr nz, .asm_1150ae
+	ld a, $2
+
+.asm_1150ae
+	ld [wdc23], a
+	xor a
+
+.asm_1150b2
+	ret
+; 1150b3
+
+Function1150b3: ; 1150b3
+	ld hl, wdc24
+	ld de, PartyMon5Defense
+	ld b, $0
+.asm_1150bb
+	ld c, $0
+	ld a, [hli]
+	cp $1b
+	jr z, .asm_1150c9
+	ld [de], a
+	inc de
+	and a
+	jr z, .asm_115133
+	jr .asm_1150bb
+
+.asm_1150c9
+	inc c
+	ld a, [hl]
+	cp $24
+	jr nz, .asm_1150bb
+	inc hl
+	inc c
+	ld a, [hl]
+	cp $42
+	jr z, .asm_1150dc
+	cp $40
+	jr z, .asm_1150dc
+	jr .asm_1150bb
+
+.asm_1150dc
+	push hl
+.asm_1150dd
+	inc c
+	ld a, [hli]
+	and a
+	jr z, .asm_115133
+	cp $1b
+	jr nz, .asm_1150dd
+	inc c
+	ld a, [hli]
+	cp $28
+	jr nz, .asm_1150dd
+	inc c
+	ld a, [hli]
+	cp $42
+	jr z, .asm_1150f8
+	cp $4a
+	jr z, .asm_1150f8
+	jr .asm_1150dd
+
+.asm_1150f8
+	ld a, l
+	ld [Console], a
+	ld a, h
+	ld [LeftOrnament], a
+	ld hl, String_114232
+.asm_115103
+	ld a, [hli]
+	and a
+	jr z, .asm_11510b
+	ld [de], a
+	inc de
+	jr .asm_115103
+
+.asm_11510b
+	pop hl
+	dec hl
+	dec hl
+	push de
+	call Function1158c2
+	pop de
+	ld h, d
+	ld l, e
+	ld c, [hl]
+	inc hl
+	ld b, [hl]
+	inc hl
+.asm_115119
+	ld a, [hli]
+	ld [de], a
+	inc de
+	dec bc
+	ld a, b
+	or c
+	jr nz, .asm_115119
+	ld a, $3f
+	ld [de], a
+	inc de
+	ld a, $3d
+	ld [de], a
+	inc de
+	ld a, [Console]
+	ld l, a
+	ld a, [LeftOrnament]
+	ld h, a
+	jr .asm_1150bb
+
+.asm_115133
+	xor a
+	ld [de], a
+	ret
+; 115136
+
+Function115136: ; 115136
+	ld hl, wdc06
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	ld hl, PartyMon5Defense
+.asm_11514d
+	ld a, [hli]
+	and a
+	jr z, .asm_11515d
+	ld [de], a
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_11516d
+	inc e
+	call z, Function115170
+	jr .asm_11514d
+
+.asm_11515d
+	ld hl, wdc06
+	ld a, [wdc01]
+	ld [hli], a
+	ld a, e
+	ld [hli], a
+	ld a, d
+	ld [hli], a
+	ld a, c
+	ld [hli], a
+	ld [hl], b
+	xor a
+	ret
+
+.asm_11516d
+	ld a, $1
+	ret
+; 115170
+
+Function115170: ; 115170
+	push bc
+	ld bc, wdc01
+	call Function115d80
+	pop bc
+	ret
+; 115179
+
+Function115179: ; 115179
+	ld hl, wdc06
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	ld hl, $013f
+	ld a, [hli]
+	ld [de], a
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_1151ef
+	inc e
+	call z, Function11520e
+	ld a, [hli]
+	ld [de], a
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_1151ef
+	inc e
+	call z, Function11520e
+	ld a, [hli]
+	ld [de], a
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_1151ef
+	inc e
+	call z, Function11520e
+	ld a, [hli]
+	ld [de], a
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_1151ef
+	inc e
+	call z, Function11520e
+	ld a, $2d
+	ld [de], a
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_1151ef
+	inc e
+	call z, Function11520e
+	ld a, [$014c]
+	ld h, a
+	and $f0
+	swap a
+	cp $a
+	jr nc, .asm_1151d8
+	add $30
+	jr .asm_1151da
+
+.asm_1151d8
+	add $37
+
+.asm_1151da
+	ld [de], a
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_1151ef
+	inc e
+	call z, Function11520e
+	ld a, h
+	and $f
+	cp $a
+	jr nc, .asm_1151f2
+	add $30
+	jr .asm_1151f4
+
+.asm_1151ef
+	ld a, $1
+	ret
+
+.asm_1151f2
+	add $37
+
+.asm_1151f4
+	ld [de], a
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_1151ef
+	inc e
+	call z, Function11520e
+	ld hl, wdc06
+	ld a, [wdc01]
+	ld [hli], a
+	ld a, e
+	ld [hli], a
+	ld a, d
+	ld [hli], a
+	ld a, c
+	ld [hli], a
+	ld [hl], b
+	xor a
+	ret
+; 11520e
+
+Function11520e: ; 11520e
+	push bc
+	ld bc, wdc01
+	call Function115d80
+	pop bc
+	ret
+; 115217
+
+Function115217: ; 115217
+	push hl
+	ld hl, wdc06
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	pop hl
+.asm_11522d
+	ld a, [hli]
+	and a
+	jr z, .asm_11523d
+	ld [de], a
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_115262
+	inc e
+	call z, Function115286
+	jr .asm_11522d
+
+.asm_11523d
+	ld a, [wdc03]
+	cp $b
+	jr z, .asm_115278
+	cp $c
+	jr z, .asm_115278
+	cp $e
+	jr z, .asm_115252
+	cp $f
+	jr z, .asm_115265
+	jr .asm_115262
+
+.asm_115252
+	ld hl, wdc06
+	ld a, [wdc01]
+	ld [hli], a
+	ld a, e
+	ld [hli], a
+	ld a, d
+	ld [hli], a
+	ld a, c
+	ld [hli], a
+	ld [hl], b
+	xor a
+	ret
+
+.asm_115262
+	ld a, $1
+	ret
+
+.asm_115265
+	ld h, $2
+.asm_115267
+	ld a, $2d
+	ld [de], a
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_115262
+	inc e
+	call z, Function115286
+	dec h
+	jr nz, .asm_115267
+	jr .asm_115252
+
+.asm_115278
+	ld a, $22
+	ld [de], a
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_115262
+	inc e
+	call z, Function115286
+	jr .asm_115252
+; 115286
+
+Function115286: ; 115286
+	push bc
+	ld bc, wdc01
+	call Function115d80
+	pop bc
+	ret
+; 11528f
+
+Function11528f: ; 11528f
+	ld hl, Bed
+	ld c, [hl]
+	inc hl
+	ld a, [hli]
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld hl, wdc24
+.asm_1152a4
+	ld a, [de]
+	ld [hli], a
+	inc e
+	call z, Function1152af
+	dec c
+	jr nz, .asm_1152a4
+	ld [hl], c
+	ret
+; 1152af
+
+Function1152af: ; 1152af
+	push bc
+	ld bc, wdc00
+	call Function115d80
+	pop bc
+	ret
+; 1152b8
+
+Function1152b8: ; 1152b8
+	push bc
+	call Function11537d
+	push de
+	ld h, d
+	ld l, e
+	ld a, [hli]
+	ld b, a
+	ld c, $1
+	call Function1153d2
+	pop de
+	and a
+	jr nz, .asm_1152f9
+.asm_1152ca
+	ld hl, wdc0d
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+.asm_1152d0
+	ld a, [wdc03]
+	cp $3
+	jr nz, .asm_1152d8
+	push de
+
+.asm_1152d8
+	cp $5
+	jr nz, .asm_1152e7
+	pop hl
+	ld a, [hli]
+	ld b, a
+	ld c, $3
+	call Function1153d2
+	and a
+	jr nz, .asm_1152f9
+
+.asm_1152e7
+	ld a, [de]
+	inc de
+	and a
+	jr nz, .asm_115301
+	ld a, [wdc03]
+	cp $6
+	jr z, .asm_115335
+	inc a
+	ld [wdc03], a
+	jr .asm_1152d0
+
+.asm_1152f9
+	pop hl
+	ld a, $1
+	ld b, $83
+	jp Function11425c
+
+.asm_115301
+	ld hl, wdc0d
+	ld [hl], e
+	inc hl
+	ld [hl], d
+.asm_115307
+	ld [wdc05], a
+	ld a, $1
+	ld [wdc04], a
+	call Function1153b5
+	call Function114f59
+	and a
+	jr nz, .asm_1152f9
+	ld a, [wdc05]
+	dec a
+	jr nz, .asm_115307
+	ld a, [wdc03]
+	inc a
+	ld [wdc03], a
+	call Function114ea0
+	and a
+	jr nz, .asm_1152f9
+	ld [wdc23], a
+	ld a, [wdc03]
+	cp $6
+	jr nz, .asm_1152ca
+
+.asm_115335
+	call Function1153b5
+	xor a
+	ld [wdc23], a
+	call Function114f59
+	and a
+	jr nz, .asm_1152f9
+	call Function114ea0
+	and a
+	jr nz, .asm_1152f9
+	ld a, [wdc03]
+	inc a
+	ld [wdc03], a
+	cp $9
+	jr nz, .asm_115335
+	pop bc
+	ld a, b
+	and a
+	jr z, .asm_11536b
+	call Function1153b5
+	xor a
+	ld [wdc23], a
+	call Function114f59
+	and a
+	jr nz, .asm_1152f9
+	call Function114ea0
+	and a
+	jr nz, .asm_1152f9
+
+.asm_11536b
+	ld hl, wdc09
+	ld a, [hli]
+	cpl
+	ld e, a
+	ld a, [hli]
+	cpl
+	ld d, a
+	inc de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	add hl, de
+	xor a
+	jp Function11425c
+; 11537d
+
+Function11537d: ; 11537d
+	ld hl, wdc06
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	ld b, a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc hl
+	ld a, [de]
+	ld [hld], a
+	ld a, b
+	ld [hli], a
+	inc de
+	ld hl, RightOrnament
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld hl, wdc0d
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	xor a
+	ld [wdc03], a
+	ld [wdc23], a
+	ret
+; 1153b5
+
+Function1153b5: ; 1153b5
+	ld hl, wdc0d
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	inc hl
+	inc hl
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hl], a
+	inc de
+	ld a, [de]
+	ld [Bed], a
+	inc de
+	ld hl, wdc0d
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	ret
+; 1153d2
+
+Function1153d2: ; 1153d2
+	ld a, [wdc03]
+	ld d, a
+	ld a, [wdc04]
+	ld e, a
+	push de
+	xor a
+	ld [wdc03], a
+	ld [wdc04], a
+	ld a, $24
+	ld [Console], a
+	ld a, $dc
+	ld [LeftOrnament], a
+	push bc
+	jr .asm_1153f4
+
+.asm_1153ef
+	ld a, [hli]
+	and a
+	jr z, .asm_115426
+	ld b, a
+
+.asm_1153f4
+	push bc
+.asm_1153f5
+	ld a, [hli]
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	inc hl
+	ld c, [hl]
+	inc hl
+	push hl
+	ld a, [Console]
+	ld l, a
+	ld a, [LeftOrnament]
+	ld h, a
+	push bc
+	ld b, $0
+	call Function115d53
+	inc hl
+	ld [hl], a
+	pop bc
+	ld a, l
+	ld e, a
+	ld [Console], a
+	ld a, h
+	ld d, a
+	ld [LeftOrnament], a
+	dec b
+	jr z, .asm_11542b
+	pop hl
+	jr .asm_1153f5
+
+.asm_115426
+	dec c
+	jr nz, .asm_1153ef
+	jr .asm_115430
+
+.asm_11542b
+	pop hl
+	pop bc
+	dec c
+	jr nz, .asm_1153ef
+
+.asm_115430
+	ld a, l
+	ld [Console], a
+	ld a, h
+	ld [LeftOrnament], a
+	xor a
+	ld [de], a
+	ld hl, wdc24
+.asm_11543d
+	ld a, [hli]
+	and a
+	jr nz, .asm_11543d
+	ld a, [hl]
+	and a
+	jr z, .asm_115457
+	dec hl
+	ld a, $2c
+	ld [hli], a
+	jr .asm_11543d
+
+.asm_11544b
+	pop hl
+	ld a, h
+	ld [wdc03], a
+	ld a, l
+	ld [wdc04], a
+	ld a, $1
+	ret
+
+.asm_115457
+	ld hl, wdc24
+	call Function114d99
+	ld hl, $ddc8
+.asm_115460
+	ld a, [hli]
+	and a
+	jr z, .asm_11546d
+	cp $2c
+	jr nz, .asm_115460
+	dec hl
+	xor a
+	ld [hli], a
+	jr .asm_115460
+
+.asm_11546d
+	pop de
+	ld a, e
+	cp $1
+	jr z, .asm_115477
+	xor a
+	ld [hli], a
+	jr .asm_115478
+
+.asm_115477
+	dec bc
+
+.asm_115478
+	ld hl, $dc18
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld a, b
+	cp h
+	jr c, .asm_11548c
+	jr nz, .asm_11544b
+	ld a, c
+	cp l
+	jr c, .asm_11548c
+	jr z, .asm_11548c
+	jr .asm_11544b
+
+.asm_11548c
+	ld hl, $dc18
+	ld a, c
+	cpl
+	ld e, a
+	ld a, b
+	cpl
+	ld d, a
+	inc de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	add hl, de
+	ld de, $dc18
+	ld a, l
+	ld [de], a
+	inc de
+	ld a, h
+	ld [de], a
+	ld hl, RightOrnament
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld hl, $ddc8
+	call Function115d6a
+	ld hl, RightOrnament
+	ld a, [wdc01]
+	ld [hli], a
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	ld a, [Console]
+	ld e, a
+	ld a, [LeftOrnament]
+	ld d, a
+	pop hl
+	ld a, h
+	ld [wdc03], a
+	ld a, l
+	ld [wdc04], a
+	xor a
+	ret
+; 1154d4
+
+Function1154d4: ; 1154d4
+	xor a
+	ld [wdc23], a
+	call Function1155af
+	call Function11560a
+	and a
+	jr nz, .asm_11552c
+	call Function1155d1
+	ld a, [RightOrnament]
+	dec a
+	ld [RightOrnament], a
+	and a
+	jp z, .asm_115577
+	cp $1
+	jr nz, .asm_115531
+	xor a
+	ld [wdc1c], a
+.asm_1154f7
+	ld a, [BigDoll]
+	cp $2
+	jr z, .asm_115502
+	cp $3
+	jr z, .asm_11550f
+
+.asm_115502
+	ld a, $a
+	ld [wdc03], a
+	call Function114f59
+	and a
+	jr z, .asm_11551a
+	jr .asm_11552c
+
+.asm_11550f
+	ld a, $c
+	ld [wdc03], a
+	call Function114f59
+	and a
+	jr nz, .asm_11552c
+
+.asm_11551a
+	call Function114ea0
+	and a
+	jr nz, .asm_11552c
+	call Function114ea0
+	and a
+	jr nz, .asm_11552c
+	call Function11560a
+	and a
+	jr z, .asm_1155a0
+
+.asm_11552c
+	ld a, $1
+	jp Function11425c
+
+.asm_115531
+	ld a, $1
+	ld [wdc1c], a
+	ld a, $b
+	ld [wdc03], a
+	call Function114f59
+	and a
+	jr nz, .asm_11552c
+	call Function114ea0
+	and a
+	jr nz, .asm_11552c
+.asm_115547
+	call Function114ea0
+	and a
+	jr nz, .asm_11552c
+	ld a, $e
+	ld [wdc03], a
+	call Function114f59
+	and a
+	jr nz, .asm_11552c
+	call Function114ea0
+	and a
+	jr nz, .asm_11552c
+	jr .asm_1154f7
+
+.asm_115560
+	call Function114ea0
+	and a
+	jr nz, .asm_11552c
+	ld a, [wdc1c]
+	and a
+	jr z, .asm_11557d
+	ld a, $f
+	ld [wdc03], a
+	call Function114f59
+	and a
+	jr nz, .asm_11552c
+
+.asm_115577
+	call Function114ea0
+	and a
+	jr nz, .asm_11552c
+
+.asm_11557d
+	ld a, $10
+	ld [wdc03], a
+	call Function114f59
+	and a
+	jr nz, .asm_11552c
+	call Function114ea0
+	and a
+	jr nz, .asm_11552c
+	ld hl, wdc09
+	ld a, [hli]
+	cpl
+	ld e, a
+	ld a, [hli]
+	cpl
+	ld d, a
+	inc de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	add hl, de
+	xor a
+	jp Function11425c
+
+.asm_1155a0
+	ld a, [RightOrnament]
+	dec a
+	ld [RightOrnament], a
+	and a
+	jr z, .asm_115560
+	call Function1155d1
+	jr .asm_115547
+; 1155af
+
+Function1155af: ; 1155af
+	ld hl, wdc06
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	ld b, a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	ld [hl], b
+	inc hl
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [RightOrnament], a
+	inc de
+	ld a, e
+	ld [hli], a
+	ld [hl], d
+	call Function1155d1
+	ret
+; 1155d1
+
+Function1155d1: ; 1155d1
+	ld a, [wdc0d]
+	ld l, a
+	ld a, [wdc0e]
+	ld h, a
+	ld a, [hli]
+	ld [BigDoll], a
+	cp $3
+	jr nz, .asm_1155f0
+	ld de, Carpet
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	ld a, [hli]
+	ld [Bed], a
+
+.asm_1155f0
+	ld de, wdc17
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	ld a, l
+	ld [wdc0d], a
+	ld a, h
+	ld [wdc0e], a
+	ret
+; 11560a
+
+Function11560a: ; 11560a
+	ld a, [wdc06]
+	ld [wdc01], a
+	ld a, [wdc17]
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld hl, wdc1a
+	ld c, [hl]
+	inc hl
+	ld b, [hl]
+	ld a, [wdc0a]
+	cp b
+	jp c, .asm_1156b1
+	jr nz, .asm_115631
+	ld a, [wdc09]
+	cp c
+	jp c, .asm_1156b1
+
+.asm_115631
+	ld a, b
+	or c
+	jr z, .asm_1156a9
+	ld a, [wdc09]
+	ld l, a
+	ld a, [wdc0a]
+	ld h, a
+	ld a, c
+	cpl
+	ld e, a
+	ld a, b
+	cpl
+	ld d, a
+	inc de
+	add hl, de
+	ld a, l
+	ld [wdc09], a
+	ld a, h
+	ld [wdc0a], a
+.asm_11564d
+	ld a, $3
+	cp b
+	jr c, .asm_1156b6
+	jr nz, .asm_115659
+	ld a, $db
+	cp c
+	jr c, .asm_1156b6
+
+.asm_115659
+	ld a, [wdc1a]
+	ld e, a
+	ld a, [wdc1b]
+	ld d, a
+	ld a, c
+	cpl
+	ld l, a
+	ld a, b
+	cpl
+	ld h, a
+	inc hl
+	add hl, de
+	ld a, l
+	ld [wdc1a], a
+	ld a, h
+	ld [wdc1b], a
+	push bc
+	ld hl, $dc18
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld hl, wdc24
+	call Function115d53
+	ld hl, $dc18
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	pop bc
+	ld a, [wdc01]
+	ld [$ff8c], a
+	ld [$4000], a
+	ld hl, wdc07
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld hl, wdc24
+	call Function115d6a
+	ld hl, wdc07
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	ld hl, wdc1a
+	ld c, [hl]
+	inc hl
+	ld b, [hl]
+	ld a, b
+	or c
+	jr nz, .asm_11564d
+
+.asm_1156a9
+	ld a, [wdc01]
+	ld [wdc06], a
+	xor a
+	ret
+
+.asm_1156b1
+	ld a, $1
+	ld b, $83
+	ret
+
+.asm_1156b6
+	ld a, $3
+	cpl
+	ld h, a
+	ld a, $db
+	cpl
+	ld l, a
+	add hl, bc
+	ld de, wdc1a
+	ld a, l
+	ld [de], a
+	inc de
+	ld a, h
+	ld [de], a
+	ld bc, $03db
+	jr .asm_115659
+; 1156cc
+
+Function1156cc: ; 1156cc
+	ld a, [wdc23]
+	and a
+	jp z, Function11425c
+	cp $2
+	jr z, .asm_1156fa
+	cp $3
+	jr z, .asm_1156fd
+	cp $4
+	jr z, .asm_1156fd
+	cp $5
+	jr z, .asm_115716
+	cp $ff
+	jr z, .asm_11572b
+	cp $1
+	jp nz, Function11425c
+	call Function115732
+	call Function11575c
+	ld a, h
+	ld [Poster], a
+	ld a, l
+	ld [Plant], a
+
+.asm_1156fa
+	call Function1157d0
+
+.asm_1156fd
+	call Function11581e
+	and a
+	jr nz, .asm_11572b
+	ld a, [wdc23]
+	cp $5
+	jr z, .asm_115716
+	ld a, [Poster]
+	ld h, a
+	ld a, [Plant]
+	ld l, a
+	xor a
+	jp Function11425c
+
+.asm_115716
+	ld hl, wdc0a
+	ld a, [hli]
+	cpl
+	ld e, a
+	ld a, [hli]
+	cpl
+	ld d, a
+	inc de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	add hl, de
+	xor a
+	ld [wdc23], a
+	jp Function11425c
+
+.asm_11572b
+	ld a, $1
+	ld b, $83
+	jp Function11425c
+; 115732
+
+Function115732: ; 115732
+	ld hl, wdc02
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	dec de
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hli], a
+	ld a, c
+	ld [hli], a
+	ld [hl], b
+	ret
+; 11575c
+
+Function11575c: ; 11575c
+	ld hl, wdc05
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld e, $10
+	ld b, $0
+	ld c, b
+	ld d, b
+	ld a, $3
+.asm_11576a
+	rl l
+	rl h
+	rl d
+	cp d
+	jr c, .asm_11577c
+	rl c
+	rl b
+	dec e
+	jr nz, .asm_11576a
+	jr .asm_11578a
+
+.asm_11577c
+	ld a, d
+	sub $3
+	ld d, a
+	ld a, $3
+	scf
+	rl c
+	rl b
+	dec e
+	jr nz, .asm_11576a
+
+.asm_11578a
+	ld a, d
+	and a
+	jr z, .asm_11578f
+	inc bc
+
+.asm_11578f
+	sla c
+	rl b
+	sla c
+	rl b
+	ld h, b
+	ld l, c
+	push hl
+	ld e, $10
+	ld b, $0
+	ld c, b
+	ld d, b
+	ld a, $40
+.asm_1157a2
+	rl l
+	rl h
+	rl d
+	cp d
+	jr c, .asm_1157b4
+	rl c
+	rl b
+	dec e
+	jr nz, .asm_1157a2
+	jr .asm_1157c3
+
+.asm_1157b4
+	ld a, d
+	sub $40
+	ld d, a
+	ld a, $40
+	scf
+	rl c
+	rl b
+	dec e
+	jr nz, .asm_1157a2
+	inc bc
+
+.asm_1157c3
+	and a
+	sla c
+	rl b
+	pop hl
+	add hl, bc
+	ld a, $2
+	ld [wdc23], a
+	ret
+; 1157d0
+
+Function1157d0: ; 1157d0
+	ld hl, wdc05
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld a, [wdc0e]
+	ld c, a
+	ld a, [Bed]
+	ld b, a
+	cp h
+	jr c, .asm_1157eb
+	jr nz, .asm_1157e9
+	ld a, c
+	cp l
+	jr c, .asm_1157eb
+	jr z, .asm_1157eb
+
+.asm_1157e9
+	ld b, h
+	ld c, l
+
+.asm_1157eb
+	push bc
+	ld a, b
+	cpl
+	ld b, a
+	ld a, c
+	cpl
+	ld c, a
+	inc bc
+	add hl, bc
+	ld a, l
+	ld [wdc05], a
+	ld a, h
+	ld [wdc06], a
+	ld a, h
+	or l
+	jr nz, .asm_11580f
+	pop bc
+	ld a, c
+	ld [wdc0e], a
+	ld a, b
+	ld [Bed], a
+	ld a, $4
+	ld [wdc23], a
+	ret
+
+.asm_11580f
+	pop bc
+	ld a, c
+	ld [wdc0e], a
+	ld a, b
+	ld [Bed], a
+	ld a, $3
+	ld [wdc23], a
+	ret
+; 11581e
+
+Function11581e: ; 11581e
+	ld a, [wdc23]
+	and a
+	ret z
+	ld a, [wdc0e]
+	ld c, a
+	ld a, [Bed]
+	ld b, a
+	ld hl, wdc02
+	ld a, [hli]
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld hl, wdc24
+	push bc
+	call Function115d53
+	pop bc
+	ld hl, wdc02
+	ld a, [wdc00]
+	ld [hli], a
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	ld hl, wdc24
+	ld de, PartyMon5Defense
+	call Function1158c2
+	ld hl, PartyMon5Defense
+	ld c, [hl]
+	inc hl
+	ld b, [hl]
+	inc hl
+	push hl
+	ld a, [wdc0a]
+	ld l, a
+	ld a, [wdc0b]
+	ld h, a
+	cp b
+	jr c, .asm_1158bb
+	jr nz, .asm_11586e
+	ld a, l
+	cp c
+	jr c, .asm_1158bb
+
+.asm_11586e
+	push bc
+	ld a, b
+	cpl
+	ld b, a
+	ld a, c
+	cpl
+	ld c, a
+	inc bc
+	add hl, bc
+	ld a, l
+	ld [wdc0a], a
+	ld a, h
+	ld [wdc0b], a
+	pop bc
+	pop hl
+	ld hl, wdc07
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld hl, PartyMon5Speed
+	call Function115d6a
+	ld hl, wdc07
+	ld a, [wdc01]
+	ld [hli], a
+	ld a, e
+	ld [hli], a
+	ld [hl], d
+	ld a, [wdc23]
+	cp $3
+	jr z, .asm_1158b4
+	cp $4
+	jr z, .asm_1158ad
+	jr .asm_1158bc
+
+.asm_1158ad
+	ld a, $5
+	ld [wdc23], a
+	jr .asm_1158b9
+
+.asm_1158b4
+	ld a, $2
+	ld [wdc23], a
+
+.asm_1158b9
+	xor a
+	ret
+
+.asm_1158bb
+	pop hl
+
+.asm_1158bc
+	ld a, $ff
+	ld [wdc23], a
+	ret
+; 1158c2
+
+Function1158c2: ; 1158c2
+	ld a, e
+	ld [wdc20], a
+	ld a, d
+	ld [wdc21], a
+	xor a
+	ld [wdc22], a
+	xor a
+	ld [de], a
+	inc de
+	ld [de], a
+	inc de
+	ld a, c
+	ld [wdc19], a
+	ld a, b
+	ld [wdc1a], a
+	ld c, e
+	ld b, d
+	ld e, l
+	ld d, h
+	ld l, c
+	ld h, b
+	xor a
+	ld [wdc1f], a
+
+.asm_1158e5
+	ld b, $3
+	push hl
+	ld hl, wdc1b
+.asm_1158eb
+	ld a, [de]
+	inc de
+	ld [hli], a
+	dec b
+	jr nz, .asm_1158eb
+	ld a, [wdc19]
+	ld c, a
+	ld a, [wdc1a]
+	ld b, a
+	xor a
+	or b
+	jr nz, .asm_115914
+	ld a, $2
+	cp c
+	jr c, .asm_115914
+	push hl
+	dec hl
+	ld a, c
+	ld [wdc1f], a
+.asm_115908
+	xor a
+	ld [hld], a
+	inc c
+	ld a, $3
+	cp c
+	jr nz, .asm_115908
+	pop hl
+	ld bc, $0003
+
+.asm_115914
+	dec bc
+	dec bc
+	dec bc
+	ld a, c
+	ld [wdc19], a
+	ld a, b
+	ld [wdc1a], a
+	push de
+	push hl
+	ld hl, wdc20
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	inc de
+	inc de
+	inc de
+	inc de
+	ld [hl], d
+	dec hl
+	ld [hl], e
+	pop hl
+	dec hl
+	ld c, [hl]
+	dec hl
+	ld b, [hl]
+	dec hl
+	ld a, [hl]
+	ld d, a
+	srl a
+	srl a
+	ld [hli], a
+	ld a, $3
+	and d
+	ld d, a
+	ld a, $f0
+	and b
+	or d
+	swap a
+	ld [hli], a
+	ld a, $f
+	and b
+	ld d, a
+	ld a, c
+	and $c0
+	or d
+	rlca
+	rlca
+	ld [hli], a
+	ld a, $3f
+	and c
+	ld [hld], a
+	dec hl
+	dec hl
+	pop de
+	ld b, h
+	ld c, l
+	pop hl
+	ld a, [bc]
+	inc bc
+	call Function1159dc
+	ld [hli], a
+	ld a, [bc]
+	inc bc
+	call Function1159dc
+	ld [hli], a
+	ld a, [bc]
+	inc bc
+	call Function1159dc
+	ld [hli], a
+	ld a, [bc]
+	inc bc
+	call Function1159dc
+	ld [hli], a
+	ld a, [wdc22]
+	inc a
+	cp $10
+	jr nz, .asm_1159b1
+	push af
+	push bc
+	ld a, [wdc19]
+	ld b, a
+	ld a, [wdc1a]
+	or b
+	jr nz, .asm_115998
+	ld a, [wdc05]
+	ld b, a
+	ld a, [wdc06]
+	or b
+	jr nz, .asm_115998
+	pop bc
+	pop af
+	jr .asm_1159c4
+
+.asm_115998
+	pop bc
+	pop af
+	ld a, $d
+	ld [hli], a
+	ld a, $a
+	ld [hli], a
+	push hl
+	ld hl, wdc20
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld a, [hli]
+	ld c, a
+	ld b, [hl]
+	inc bc
+	inc bc
+	ld a, b
+	ld [hld], a
+	ld [hl], c
+	pop hl
+	xor a
+
+.asm_1159b1
+	ld [wdc22], a
+	ld a, [wdc19]
+	cp $0
+	jp nz, .asm_1158e5
+	ld a, [wdc1a]
+	cp $0
+	jp nz, .asm_1158e5
+
+.asm_1159c4
+	ld a, [wdc1f]
+	cp $0
+	jr z, .asm_1159d8
+	push hl
+	dec hl
+	ld b, a
+.asm_1159ce
+	ld a, $3d
+	ld [hld], a
+	inc b
+	ld a, $3
+	cp b
+	jr nz, .asm_1159ce
+	pop hl
+
+.asm_1159d8
+	ld a, $0
+	ld [hl], a
+	ret
+; 1159dc
+
+Function1159dc: ; 1159dc
+	cp $1a
+	jr c, .asm_1159ef
+	cp $34
+	jr c, .asm_1159f2
+	cp $3e
+	jr c, .asm_1159f5
+	cp $3e
+	jr z, .asm_1159f8
+	ld a, $2f
+	ret
+
+.asm_1159ef
+	add $41
+	ret
+
+.asm_1159f2
+	add $47
+	ret
+
+.asm_1159f5
+	sub $4
+	ret
+
+.asm_1159f8
+	ld a, $2b
+	ret
+; 1159fb
+
+Function1159fb: ; 1159fb
+	ld a, [wdc23]
+	and a
+	jp z, Function11425c
+	cp $2
+	jr z, .asm_115a29
+	cp $3
+	jr z, .asm_115a2c
+	cp $4
+	jr z, .asm_115a2c
+	cp $5
+	jr z, .asm_115a45
+	cp $ff
+	jr z, .asm_115a5a
+	cp $1
+	jp nz, Function11425c
+	call Function115732
+	call Function115a5f
+	ld a, h
+	ld [Plant], a
+	ld a, l
+	ld [Poster], a
+
+.asm_115a29
+	call Function115ab0
+
+.asm_115a2c
+	call Function115b00
+	and a
+	jr nz, .asm_115a5a
+	ld a, [wdc23]
+	cp $5
+	jr z, .asm_115a45
+	ld a, [Poster]
+	ld h, a
+	ld a, [Plant]
+	ld l, a
+	xor a
+	jp Function11425c
+
+.asm_115a45
+	ld hl, wdc0a
+	ld a, [hli]
+	cpl
+	ld e, a
+	ld a, [hli]
+	cpl
+	ld d, a
+	inc de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	add hl, de
+	xor a
+	ld [wdc23], a
+	jp Function11425c
+
+.asm_115a5a
+	ld a, $1
+	jp Function11425c
+; 115a5f
+
+Function115a5f: ; 115a5f
+	ld hl, wdc05
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	push hl
+	ld e, $10
+	ld b, $0
+	ld c, b
+	ld d, b
+	ld a, $42
+.asm_115a6e
+	rl l
+	rl h
+	rl d
+	cp d
+	jr c, .asm_115a80
+	rl c
+	rl b
+	dec e
+	jr nz, .asm_115a6e
+	jr .asm_115a8e
+
+.asm_115a80
+	ld a, d
+	sub $42
+	ld d, a
+	ld a, $42
+	scf
+	rl c
+	rl b
+	dec e
+	jr nz, .asm_115a6e
+
+.asm_115a8e
+	sla c
+	rl b
+	pop hl
+	ld a, b
+	cpl
+	ld b, a
+	ld a, c
+	cpl
+	ld c, a
+	inc bc
+	add hl, bc
+	srl h
+	rr l
+	srl h
+	rr l
+	ld b, h
+	ld c, l
+	sla c
+	rl b
+	add hl, bc
+	ld a, $2
+	ld [wdc23], a
+	ret
+; 115ab0
+
+Function115ab0: ; 115ab0
+	ld hl, wdc05
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld a, [wdc0e]
+	ld c, a
+	ld a, [Bed]
+	ld b, a
+	cp h
+	jr c, .asm_115acb
+	jr nz, .asm_115ac9
+	ld a, c
+	cp l
+	jr c, .asm_115acb
+	jr z, .asm_115acb
+
+.asm_115ac9
+	ld b, h
+	ld c, l
+
+.asm_115acb
+	push bc
+	ld a, b
+	cpl
+	ld b, a
+	ld a, c
+	cpl
+	ld c, a
+	inc bc
+	add hl, bc
+	ld a, l
+	ld [wdc05], a
+	ld a, h
+	ld [wdc06], a
+	ld a, h
+	or l
+	jr nz, .asm_115af0
+	pop bc
+	ld a, c
+	ld [wdc0e], a
+	ld a, b
+	ld [Bed], a
+	ld a, $4
+	ld [wdc23], a
+	xor a
+	ret
+
+.asm_115af0
+	pop bc
+	ld a, c
+	ld [wdc0e], a
+	ld a, b
+	ld [Bed], a
+	ld a, $3
+	ld [wdc23], a
+	xor a
+	ret
+; 115b00
+
+Function115b00: ; 115b00
+	ld a, [wdc23]
+	and a
+	ret z
+	ld a, [wdc0e]
+	ld c, a
+	ld a, [Bed]
+	ld b, a
+	ld hl, wdc02
+	ld a, [hli]
+	ld [wdc00], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld hl, PartyMon5Defense
+	push bc
+	call Function115bc8
+	pop hl
+	and a
+	jr z, .asm_115b43
+	cp $2
+	jr z, .asm_115b3b
+	ld a, [wdc23]
+	cp $4
+	jr z, .asm_115b43
+	inc hl
+	inc hl
+	jr .asm_115b43
+
+.asm_115b36
+	pop hl
+	ld b, $83
+	jr .asm_115b3d
+
+.asm_115b3b
+	ld b, $81
+
+.asm_115b3d
+	ld a, $ff
+	ld [wdc23], a
+	ret
+
+.asm_115b43
+	ld a, [Carpet]
+	add a
+	cpl
+	ld c, a
+	ld b, $ff
+	inc bc
+	add hl, bc
+	ld b, h
+	ld c, l
+	ld hl, wdc02
+	ld a, [wdc00]
+	ld [hli], a
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	ld hl, PartyMon5Defense
+	ld de, wdc24
+	call Function115c49
+	ld hl, wdc24
+	ld c, [hl]
+	inc hl
+	ld b, [hl]
+	inc hl
+	push hl
+	ld a, [wdc0a]
+	ld l, a
+	ld a, [wdc0b]
+	ld h, a
+	cp b
+	jr c, .asm_115b36
+	jr nz, .asm_115b7b
+	ld a, l
+	cp c
+	jr c, .asm_115b36
+
+.asm_115b7b
+	push bc
+	ld a, b
+	cpl
+	ld b, a
+	ld a, c
+	cpl
+	ld c, a
+	inc bc
+	add hl, bc
+	ld a, l
+	ld [wdc0a], a
+	ld a, h
+	ld [wdc0b], a
+	pop bc
+	pop hl
+	ld hl, wdc07
+	ld a, [hli]
+	ld [wdc01], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld hl, wdc26
+	call Function115d6a
+	ld hl, wdc07
+	ld a, [wdc01]
+	ld [hli], a
+	ld a, e
+	ld [hli], a
+	ld [hl], d
+	ld a, [wdc23]
+	cp $3
+	jr z, .asm_115bc1
+	cp $4
+	jr z, .asm_115bba
+	jr .asm_115b3b
+
+.asm_115bba
+	ld a, $5
+	ld [wdc23], a
+	jr .asm_115bc6
+
+.asm_115bc1
+	ld a, $2
+	ld [wdc23], a
+
+.asm_115bc6
+	xor a
+	ret
+; 115bc8
+
+Function115bc8: ; 115bc8
+	xor a
+	ld [Carpet], a
+.asm_115bcc
+	ld a, [de]
+	ld [hli], a
+	inc e
+	call z, .Function115c3d
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_115c46
+	ld a, [de]
+	ld [hli], a
+	inc e
+	call z, .Function115c3d
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_115c1b
+	ld a, [de]
+	ld [hli], a
+	inc e
+	call z, .Function115c3d
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_115c46
+	ld a, [de]
+	ld [hli], a
+	inc e
+	call z, .Function115c3d
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_115c3a
+	ld a, [de]
+	cp $d
+	jr nz, .asm_115bcc
+	inc e
+	call z, .Function115c3d
+	ld a, [de]
+	cp $a
+	jr nz, .asm_115c46
+	inc e
+	call z, .Function115c3d
+	dec bc
+	ld a, b
+	or c
+	jr z, .asm_115c46
+	ld a, [Carpet]
+	inc a
+	ld [Carpet], a
+	dec bc
+	ld a, b
+	or c
+	jr nz, .asm_115bcc
+
+.asm_115c1b
+	ld a, [wdc23]
+	cp $4
+	jr z, .asm_115c33
+	ld a, [de]
+	ld [hli], a
+	inc e
+	call z, .Function115c3d
+	ld a, [de]
+	ld [hli], a
+	inc e
+	call z, .Function115c3d
+	xor a
+	ld [hl], a
+	ld a, $1
+	ret
+
+.asm_115c33
+	dec hl
+	dec hl
+	xor a
+	ld [hl], a
+	ld a, $1
+	ret
+
+.asm_115c3a
+	xor a
+	ld [hl], a
+	ret
+
+.Function115c3d:
+	push bc
+	ld bc, wdc00
+	call Function115d80
+	pop bc
+	ret
+
+.asm_115c46
+	ld a, $2
+	ret
+; 115c49
+
+Function115c49: ; 115c49
+	ld a, e
+	ld [wdc1f], a
+	ld a, d
+	ld [wdc20], a
+	xor a
+	ld [de], a
+	inc de
+	ld [de], a
+	inc de
+
+	ld a, c
+	ld [wdc19], a
+	ld a, b
+	ld [wdc1a], a
+	ld c, e
+	ld b, d
+	ld e, l
+	ld d, h
+	ld l, c
+	ld h, b
+
+.asm_115c64
+	ld a, [wdc1a]
+	or a
+	jr nz, .asm_115c71
+	ld a, [wdc19]
+	cp $4
+	jr c, .asm_115c99
+
+.asm_115c71
+	ld b, $4
+	push hl
+	ld hl, wdc1b
+.asm_115c77
+	ld a, [de]
+	inc de
+	call Function115cfd
+	ld [hli], a
+	dec b
+	jr nz, .asm_115c77
+	ld a, [wdc19]
+	ld c, a
+	ld a, [wdc1a]
+	ld b, a
+	dec bc
+	dec bc
+	dec bc
+	dec bc
+.asm_115c8c
+	ld a, [de]
+	cp $d
+	jr z, .asm_115c95
+	cp $a
+	jr nz, .asm_115c9f
+
+.asm_115c95
+	inc de
+	dec bc
+	jr .asm_115c8c
+
+.asm_115c99
+	ld a, $ff
+	ld [wdc23], a
+	ret
+
+.asm_115c9f
+	ld a, c
+	ld [wdc19], a
+	ld a, b
+	ld [wdc1a], a
+	push de
+	push hl
+	ld hl, wdc1f
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	inc de
+	inc de
+	inc de
+	ld [hl], d
+	dec hl
+	ld [hl], e
+	pop hl
+	dec hl
+	ld d, [hl]
+	dec hl
+	ld c, [hl]
+	dec hl
+	ld b, [hl]
+	dec hl
+	ld a, [hl]
+	sla b
+	sla b
+	sla b
+	rla
+	sla b
+	rla
+	ld [hli], a
+	ld [hl], b
+	inc hl
+	rrc c
+	rrc c
+	ld [hl], c
+	dec hl
+	ld a, $f
+	and c
+	or [hl]
+	ld [hli], a
+	ld a, [hli]
+	and $c0
+	or [hl]
+	dec hl
+	ld [hld], a
+	dec hl
+	pop de
+	ld b, h
+	ld c, l
+	pop hl
+	ld a, [bc]
+	ld [hli], a
+	inc bc
+	ld a, [bc]
+	ld [hli], a
+	inc bc
+	ld a, [bc]
+	ld [hli], a
+	ld a, [wdc19]
+	cp $0
+	jp nz, .asm_115c64
+	ld a, [wdc1a]
+	cp $0
+	jp nz, .asm_115c64
+	ret
+; 115cfd
+
+Function115cfd: ; 115cfd
+	cp $2b
+	jr c, .asm_115d27
+	jr z, .asm_115d2f
+	cp $2f
+	jr c, .asm_115d27
+	jr z, .asm_115d32
+	cp $30
+	jr c, .asm_115d27
+	cp $3a
+	jr c, .asm_115d35
+	cp $3d
+	jr c, .asm_115d27
+	jr z, .asm_115d38
+	cp $41
+	jr c, .asm_115d27
+	cp $5b
+	jr c, .asm_115d4d
+	cp $61
+	jr c, .asm_115d27
+	cp $7b
+	jr c, .asm_115d50
+
+.asm_115d27
+	pop hl
+	pop hl
+	ld a, $ff
+	ld [wdc23], a
+	ret
+
+.asm_115d2f
+	ld a, $3e
+	ret
+
+.asm_115d32
+	ld a, $3f
+	ret
+
+.asm_115d35
+	add $4
+	ret
+
+.asm_115d38
+	push de
+	push hl
+	ld a, [wdc1f]
+	ld l, a
+	ld a, [wdc20]
+	ld h, a
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	dec de
+	ld [hl], d
+	dec hl
+	ld [hl], e
+	pop hl
+	pop de
+	xor a
+	ret
+
+.asm_115d4d
+	sub $41
+	ret
+
+.asm_115d50
+	sub $47
+	ret
+; 115d53
+
+Function115d53: ; 115d53
+.asm_115d53
+	ld a, [de]
+	ld [hli], a
+	inc e
+	call z, Function115d61
+	dec bc
+	ld a, b
+	or c
+	jr nz, .asm_115d53
+	xor a
+	ld [hl], a
+	ret
+; 115d61
+
+Function115d61: ; 115d61
+	push bc
+	ld bc, wdc00
+	call Function115d80
+	pop bc
+	ret
+; 115d6a
+
+Function115d6a: ; 115d6a
+.asm_115d6a
+	ld a, [hli]
+	ld [de], a
+	inc e
+	call z, Function115d77
+	dec bc
+	ld a, b
+	or c
+	jr nz, .asm_115d6a
+	xor a
+	ret
+; 115d77
+
+Function115d77: ; 115d77
+	push bc
+	ld bc, wdc01
+	call Function115d80
+	pop bc
+	ret
+; 115d80
+
+Function115d80: ; 115d80
+	ld e, a
+	ld a, d
+	cp $bf
+	jr z, .asm_115d8b
+	inc d
+	ld a, e
+	ld e, $0
+	ret
+
+.asm_115d8b
+	ld a, [bc]
+	inc a
+	ld [bc], a
+	ld [$ff8c], a
+	ld [$4000], a
+	ld a, e
+	ld d, $a0
+	ld e, $0
+	ret
+; 115d99
+
+Function115d99: ; 115d99
+	ld de, GFX_11601a
+	ld hl, $8600
+	lb bc, BANK(GFX_11601a), $14
+	call Get2bpp
+	xor a
+	ld [wc305], a
+	ld [wc306], a
+	ld [wc309], a
+	ld [wc30a], a
+	ld [wc30b], a
+	ld [wc30c], a
+	ld a, $10
+	ld [wc307], a
+	ld a, $18
+	ld [wc308], a
+	ret
+; 115dc3
+
+Function115dc3: ; 115dc3
+	xor a
+	ld [wc305], a
+	ld a, $a0
+	ld hl, Sprites + $7c
+	ld bc, $0020
+	call ByteFill
+	ret
+; 115dd3
+
+Function115dd3: ; 115dd3
+	ld a, [wc305]
+	and a
+	ret z
+	ld a, $a0
+	ld hl, Sprites + $7c
+	ld bc, $0020
+	call ByteFill
+	call Function115e22
+	ld a, [wc309]
+	sla a
+	ld c, a
+	ld b, 0
+	ld hl, Unknown_115e86
+	add hl, bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hl]
+	ld d, a
+	push de
+	pop hl
+	ld de, Sprites + $7c
+	ld a, [wc307]
+	ld c, a
+	ld a, [wc308]
+	ld b, a
+	ld a, [hli]
+.asm_115e04
+	push af
+	ld a, [hli]
+	add b
+	ld [de], a
+	inc de
+	ld a, [hli]
+	add c
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	pop af
+	dec a
+	jr nz, .asm_115e04
+	ret
+; 115e18
+
+Function115e18: ; 115e18
+	ld a, c
+	ld [wc30a], a
+	xor a
+	ld [wc30b], a
+	jr Function115e2b
+; 115e22
+
+Function115e22: ; 115e22
+	ld hl, wc30c
+	dec [hl]
+	ret nz
+	ld hl, wc30b
+	inc [hl]
+
+Function115e2b: ; 115e2b
+	ld a, [wc30a]
+	sla a
+	ld c, a
+	ld b, 0
+	ld hl, Unknown_115e59
+	add hl, bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	push de
+	pop hl
+	ld a, [wc30b]
+	sla a
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [hli]
+	cp $ff
+	jr nz, .asm_115e51
+	xor a
+	ld [wc30b], a
+	jr Function115e2b
+
+.asm_115e51
+	ld [wc309], a
+	ld a, [hl]
+	ld [wc30c], a
+	ret
+; 115e59
+
+Unknown_115e59:
+	dw Unknown_115e61
+	dw Unknown_115e6c
+	dw Unknown_115e76
+	dw Unknown_115e79
+
+Unknown_115e61: ; 115e61
+	db $4, $8
+	db $5, $8
+	db $6, $8
+	db $7, $8
+	db $8, $8
+	db $ff
+
+Unknown_115e6c: ; 115e6c
+	db $1, $8
+	db $2, $8
+	db $3, $8
+	db $9, $8
+	db $a, $8
+
+Unknown_115e76: ; 115e76
+	db $0, $8
+	db $ff
+
+Unknown_115e79: ; 115e79
+	db $b, $8
+	db $c, $8
+	db $d, $8
+	db $e, $8
+	db $f, $8
+	db $0, $8
+	db $ff
+; 115e86
+
+Unknown_115e86:
+	dw Unknown_115ea6
+	dw Unknown_115eb7
+	dw Unknown_115ecc
+	dw Unknown_115ee1
+	dw Unknown_115ef6
+	dw Unknown_115f13
+	dw Unknown_115f30
+	dw Unknown_115f4d
+	dw Unknown_115f6a
+	dw Unknown_115f87
+	dw Unknown_115f9c
+	dw Unknown_115fb1
+	dw Unknown_115fc6
+	dw Unknown_115fdb
+	dw Unknown_115ff0
+	dw Unknown_116005
+
+Unknown_115ea6: ; 115ea6
+	db $4
+	db $8, $0, $60, $1
+	db $8, $8, $61, $1
+	db $10, $0, $62, $1
+	db $10, $8, $63, $1
+
+Unknown_115eb7: ; 115eb7
+	db $5
+	db $0, $8, $64, $0
+	db $8, $0, $60, $1
+	db $8, $8, $61, $1
+	db $10, $0, $62, $1
+	db $10, $8, $63, $1
+
+Unknown_115ecc: ; 115ecc
+	db $5
+	db $0, $8, $65, $0
+	db $8, $0, $60, $1
+	db $8, $8, $61, $1
+	db $10, $0, $62, $1
+	db $10, $8, $63, $1
+
+Unknown_115ee1: ; 115ee1
+	db $5
+	db $0, $8, $66, $0
+	db $8, $0, $60, $1
+	db $8, $8, $61, $1
+	db $10, $0, $62, $1
+	db $10, $8, $63, $1
+
+Unknown_115ef6: ; 115ef6
+	db $7
+	db $0, $0, $67, $1
+	db $8, $0, $68, $1
+	db $10, $0, $6d, $0
+	db $10, $8, $69, $0
+	db $10, $10, $6a, $0
+	db $18, $8, $6b, $0
+	db $18, $10, $6c, $0
+
+Unknown_115f13: ; 115f13
+	db $7
+	db $0, $0, $67, $1
+	db $8, $0, $68, $1
+	db $10, $0, $6e, $0
+	db $10, $8, $69, $0
+	db $10, $10, $6a, $0
+	db $18, $8, $6b, $0
+	db $18, $10, $6c, $0
+
+Unknown_115f30: ; 115f30
+	db $7
+	db $0, $0, $67, $1
+	db $8, $0, $68, $1
+	db $10, $0, $6f, $0
+	db $10, $8, $69, $0
+	db $10, $10, $6a, $0
+	db $18, $8, $6b, $0
+	db $18, $10, $6c, $0
+
+Unknown_115f4d: ; 115f4d
+	db $7
+	db $0, $0, $67, $1
+	db $8, $0, $68, $1
+	db $10, $0, $70, $0
+	db $10, $8, $69, $0
+	db $10, $10, $6a, $0
+	db $18, $8, $6b, $0
+	db $18, $10, $6c, $0
+
+Unknown_115f6a: ; 115f6a
+	db $7
+	db $0, $0, $67, $1
+	db $8, $0, $68, $1
+	db $10, $0, $71, $0
+	db $10, $8, $69, $0
+	db $10, $10, $6a, $0
+	db $18, $8, $6b, $0
+	db $18, $10, $6c, $0
+
+Unknown_115f87: ; 115f87
+	db $5
+	db $0, $8, $72, $0
+	db $8, $0, $60, $1
+	db $8, $8, $61, $1
+	db $10, $0, $62, $1
+	db $10, $8, $63, $1
+
+Unknown_115f9c: ; 115f9c
+	db $5
+	db $0, $8, $73, $0
+	db $8, $0, $60, $1
+	db $8, $8, $61, $1
+	db $10, $0, $62, $1
+	db $10, $8, $63, $1
+
+Unknown_115fb1: ; 115fb1
+	db $5
+	db $1, $8, $64, $60
+	db $8, $0, $60, $1
+	db $8, $8, $61, $1
+	db $10, $0, $62, $1
+	db $10, $8, $63, $1
+
+Unknown_115fc6: ; 115fc6
+	db $5
+	db $1, $8, $65, $60
+	db $8, $0, $60, $1
+	db $8, $8, $61, $1
+	db $10, $0, $62, $1
+	db $10, $8, $63, $1
+
+Unknown_115fdb: ; 115fdb
+	db $5
+	db $1, $8, $66, $60
+	db $8, $0, $60, $1
+	db $8, $8, $61, $1
+	db $10, $0, $62, $1
+	db $10, $8, $63, $1
+
+Unknown_115ff0: ; 115ff0
+	db $5
+	db $1, $8, $72, $60
+	db $8, $0, $60, $1
+	db $8, $8, $61, $1
+	db $10, $0, $62, $1
+	db $10, $8, $63, $1
+
+Unknown_116005: ; 116005
+	db $5
+	db $1, $8, $73, $60
+	db $8, $0, $60, $1
+	db $8, $8, $61, $1
+	db $10, $0, $62, $1
+	db $10, $8, $63, $1
+; 11601a
+
+GFX_11601a:: ; 11601a
+INCBIN "gfx/unknown/11601a.2bpp"
+
+Function11615a: ; 11615a
+	xor a
+	ld [wc30d], a
+	ld [wc319], a
+	ld [wc310], a
+	ld [wc311], a
+	ld [wc312], a
+	ld [wc313], a
+	ld [wc314], a
+	ld [wc315], a
+	ld [wc318], a
+	ld [wc3f6], a
+	ld [wc3f8], a
+	ld [wc3f2], a
+	ld [wc3f4], a
+	ld a, $24
+	ld [wc3f5], a
+	ld a, $7
+	ld [wc3f7], a
+	ld a, $b0
+	ld [wc30e], a
+	ld [wc3f1], a
+	ld a, $48
+	ld [wc30f], a
+	ld [wc3f3], a
+	ret
+; 11619d
+
+Function11619d: ; 11619d
+	ld a, [wc30d]
+	and a
+	ret z
+	ld a, [wc319]
+	cp $2
+	jr c, .asm_1161b4
+	ld a, $a0
+	ld hl, Sprites
+	ld bc, $0064
+	call ByteFill
+
+.asm_1161b4
+	call Function1161b8
+	ret
+; 1161b8
+
+Function1161b8: ; 1161b8
+	ld a, [wc319]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_1161c7
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 1161c7
+
+Jumptable_1161c7: ; 1161c7
+	dw Function1161d5
+	dw Function116294
+	dw Function1162cb
+	dw Function1162f2
+	dw Function1163c0
+	dw Function11636e
+	dw Function116441
+; 1161d5
+
+Function1161d5: ; 1161d5
+	ld a, [rSVBK]
+	push af
+	ld a, $6
+	ld [rSVBK], a
+	ld hl, Unknown_117356
+	ld de, w6_d000
+	ld bc, $0300
+	call CopyBytes
+	di
+.asm_1161e9
+	ld a, [rLY]
+	cp $91
+	jr nz, .asm_1161e9
+	ld a, $d0
+	ld [rHDMA1], a
+	ld a, $0
+	ld [rHDMA2], a
+	ld a, $1c
+	ld [rHDMA3], a
+	xor a
+	ld [rHDMA4], a
+	ld a, $8
+	ld [rHDMA5], a
+	ld a, $d0
+	ld [rHDMA1], a
+	ld a, $80
+	ld [rHDMA2], a
+	ld a, $1c
+	ld [rHDMA3], a
+	ld a, $80
+	ld [rHDMA4], a
+	ld a, $8
+	ld [rHDMA5], a
+	ld a, $d1
+	ld [rHDMA1], a
+	ld a, $0
+	ld [rHDMA2], a
+	ld a, $1d
+	ld [rHDMA3], a
+	xor a
+	ld [rHDMA4], a
+	ld a, $8
+	ld [rHDMA5], a
+	ld a, $1
+	ld [rVBK], a
+	ld a, $d1
+	ld [rHDMA1], a
+	ld a, $80
+	ld [rHDMA2], a
+	ld a, $1c
+	ld [rHDMA3], a
+	xor a
+	ld [rHDMA4], a
+	ld a, $8
+	ld [rHDMA5], a
+	ld a, $d2
+	ld [rHDMA1], a
+	ld a, $0
+	ld [rHDMA2], a
+	ld a, $1c
+	ld [rHDMA3], a
+	ld a, $80
+	ld [rHDMA4], a
+	ld a, $8
+	ld [rHDMA5], a
+	ld a, $d2
+	ld [rHDMA1], a
+	ld a, $80
+	ld [rHDMA2], a
+	ld a, $1d
+	ld [rHDMA3], a
+	xor a
+	ld [rHDMA4], a
+	ld a, $8
+	ld [rHDMA5], a
+	xor a
+	ld [rVBK], a
+	ei
+	pop af
+	ld [rSVBK], a
+	callba Function104061
+	ld a, $8
+	ld [MusicFade], a
+	ld de, MUSIC_MOBILE_ADAPTER
+	ld a, e
+	ld [wc2a9], a
+	ld a, d
+	ld [wc2aa], a
+	ld a, [wc319]
+	inc a
+	ld [wc319], a
+	ret
+; 11628c
+
+MenuDataHeader_11628c: ; 11628c
+	db $40 ; flags
+	db  6,  0 ; start coords
+	db 17, 19 ; end coords
+	dw NULL
+	db 0 ; default option
+; 116294
+
+Function116294: ; 116294
+	callba Function170d02
+	ld a, [wc319]
+	inc a
+	ld [wc319], a
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld hl, wd030
+	ld de, wc320
+	ld bc, $0010
+	call CopyBytes
+	ld hl, Palette_11734e
+	ld de, Unkn1Pals + 8 * 7
+	ld bc, $0008
+	call CopyBytes
+	call Function32f9
+	pop af
+	ld [rSVBK], a
+	ld a, $30
+	ld [hWY], a
+	ret
+; 1162cb
+
+Function1162cb: ; 1162cb
+	callba Function170cc6
+	ld a, [wc319]
+	inc a
+	ld [wc319], a
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld hl, Palette_11730e
+	ld de, wd050
+	ld bc, $0030
+	call CopyBytes
+	call Function32f9
+	pop af
+	ld [rSVBK], a
+	ret
+; 1162f2
+
+Function1162f2: ; 1162f2
+	call Function11659d
+	call Function116758
+	call Function1167a6
+	ld a, [wc310]
+	cp $fd
+	ret z
+	sla a
+	ld c, a
+	ld b, 0
+	ld hl, Unknown_1168c5
+	add hl, bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hl]
+	ld d, a
+	push de
+	pop hl
+	ld a, [wc30e]
+	ld c, a
+	ld a, [wc30f]
+	ld b, a
+	ld a, [wc318]
+	ld e, a
+	ld a, [hli]
+	sub e
+	ld de, Sprites + $24
+.asm_116321
+	push af
+	ld a, [hli]
+	add b
+	ld [de], a
+	inc de
+	ld a, [hli]
+	add c
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	pop af
+	dec a
+	jr nz, .asm_116321
+	call Function116468
+	ld a, [wc3f5]
+	sla a
+	ld c, a
+	ld b, 0
+	ld hl, Unknown_1168c5
+	add hl, bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hl]
+	ld d, a
+	push de
+	pop hl
+	ld a, [wc3f1]
+	ld c, a
+	ld a, [wc3f3]
+	ld b, a
+	ld a, [wc3f8]
+	ld e, a
+	ld a, [hli]
+	sub e
+	ld de, Sprites
+.asm_11635a
+	push af
+	ld a, [hli]
+	add b
+	ld [de], a
+	inc de
+	ld a, [hli]
+	add c
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	pop af
+	dec a
+	jr nz, .asm_11635a
+	ret
+; 11636e
+
+Function11636e: ; 11636e
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld hl, BGPals
+	ld de, Unkn1Pals
+	ld bc, $0040
+	call CopyBytes
+	pop af
+	ld [rSVBK], a
+	call Function32f9
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	ld a, $a0
+	ld hl, Sprites
+	ld bc, $0040
+	call ByteFill
+	ld a, $90
+	ld [hWY], a
+	call Function1ad2
+	pop af
+	ld [rSVBK], a
+	callba Function104061
+	ld a, $8
+	ld [MusicFade], a
+	ld a, [wc2c0]
+	ld [wc2a9], a
+	xor a
+	ld [wc2aa], a
+	xor a
+	ld [wc319], a
+	ld [wc30d], a
+	ret
+; 1163c0
+
+Function1163c0: ; 1163c0
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	ld a, $a0
+	ld hl, Sprites
+	ld bc, $0040
+	call ByteFill
+	call DelayFrame
+	callba Function14146
+	ld b, $9
+	call GetSGBLayout
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld hl, wc320
+	ld de, wd030
+	ld bc, $0010
+	call CopyBytes
+	pop af
+	ld [rSVBK], a
+	call Function32f9
+	call DelayFrame
+	ld a, $90
+	ld [hWY], a
+	call Function1ad2
+	callba Function14157
+	pop af
+	ld [rSVBK], a
+	callba Function104061
+	ld a, [InLinkBattle]
+	cp $4
+	jr z, .asm_11642a
+	ld a, $8
+	ld [MusicFade], a
+	ld a, [wc2c0]
+	ld [wc2a9], a
+	xor a
+	ld [wc2aa], a
+	jr .asm_116439
+
+.asm_11642a
+	ld a, $8
+	ld [MusicFade], a
+	ld a, $0
+	ld [wc2a9], a
+	ld a, $0
+	ld [wc2aa], a
+
+.asm_116439
+	xor a
+	ld [wc319], a
+	ld [wc30d], a
+	ret
+; 116441
+
+Function116441: ; 116441
+	callba Function17d405
+	ld a, $90
+	ld [hWY], a
+	callba Function104061
+	ld a, $8
+	ld [MusicFade], a
+	ld a, [wc2c0]
+	ld [wc2a9], a
+	xor a
+	ld [wc2aa], a
+	xor a
+	ld [wc319], a
+	ld [wc30d], a
+	ret
+; 116468
+
+Function116468: ; 116468
+	call Function116567
+	ld a, [wc314]
+	cp $d
+	jr nz, .asm_1164a8
+	ld hl, wc30e
+	ld a, [hl]
+	cp $50
+	jr nc, .asm_116484
+	ld a, $50
+	sub [hl]
+	add $50
+	ld [wc3f1], a
+	jr .asm_11648d
+
+.asm_116484
+	sub $50
+	ld c, a
+	ld a, $50
+	sub c
+	ld [wc3f1], a
+
+.asm_11648d
+	ld hl, wc30f
+	ld a, [hl]
+	cp $60
+	jr nc, .asm_11649e
+	ld a, $60
+	sub [hl]
+	add $60
+	ld [wc3f3], a
+	ret
+
+.asm_11649e
+	sub $60
+	ld c, a
+	ld a, $60
+	sub c
+	ld [wc3f3], a
+	ret
+
+.asm_1164a8
+	ld hl, wc30e
+	ld a, $b0
+	cp [hl]
+	jr nc, .asm_1164b8
+	ld a, [wc3f1]
+	and a
+	jr z, .asm_11650b
+	jr .asm_1164f2
+
+.asm_1164b8
+	ld a, [wc3f1]
+	sub [hl]
+	jr nc, .asm_1164c1
+	xor $ff
+	inc a
+
+.asm_1164c1
+	ld b, a
+	ld c, $0
+	ld a, $5
+.asm_1164c6
+	srl b
+	rr c
+	dec a
+	jr nz, .asm_1164c6
+	ld a, c
+	ld [wc3fa], a
+	ld a, b
+	ld [wc3f9], a
+	ld a, [wc3f1]
+	sub [hl]
+	jr c, .asm_1164f2
+	ld c, $0
+	ld a, [wc3fa]
+	xor $ff
+	add $1
+	rl c
+	ld [wc3fa], a
+	ld a, [wc3f9]
+	xor $ff
+	add c
+	ld [wc3f9], a
+
+.asm_1164f2
+	ld a, [wc3f2]
+	ld l, a
+	ld a, [wc3f1]
+	ld h, a
+	ld a, [wc3fa]
+	ld e, a
+	ld a, [wc3f9]
+	ld d, a
+	add hl, de
+	ld a, l
+	ld [wc3f2], a
+	ld a, h
+	ld [wc3f1], a
+
+.asm_11650b
+	ld hl, wc30f
+	ld a, $b0
+	cp [hl]
+	jr c, .asm_11654d
+	ld a, [wc3f3]
+	sub [hl]
+	jr nc, .asm_11651c
+	xor $ff
+	inc a
+
+.asm_11651c
+	ld b, a
+	ld c, $0
+	ld a, $5
+.asm_116521
+	srl b
+	rr c
+	dec a
+	jr nz, .asm_116521
+	ld a, c
+	ld [wc3fc], a
+	ld a, b
+	ld [wc3fb], a
+	ld a, [wc3f3]
+	sub [hl]
+	jr c, .asm_11654d
+	ld c, $0
+	ld a, [wc3fc]
+	xor $ff
+	add $1
+	rl c
+	ld [wc3fc], a
+	ld a, [wc3fb]
+	xor $ff
+	add c
+	ld [wc3fb], a
+
+.asm_11654d
+	ld a, [wc3f4]
+	ld l, a
+	ld a, [wc3f3]
+	ld h, a
+	ld a, [wc3fc]
+	ld e, a
+	ld a, [wc3fb]
+	ld d, a
+	add hl, de
+	ld a, l
+	ld [wc3f4], a
+	ld a, h
+	ld [wc3f3], a
+	ret
+; 116567
+
+Function116567: ; 116567
+	ld hl, wc3f7
+	dec [hl]
+	ret nz
+	ld hl, wc3f6
+	inc [hl]
+.asm_116570
+	ld a, $7
+	sla a
+	ld c, a
+	ld b, 0
+	ld hl, Unknown_1167eb
+	add hl, bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	push de
+	pop hl
+	ld a, [wc3f6]
+	sla a
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [hli]
+	cp $fe
+	jr nz, .asm_116595
+	xor a
+	ld [wc3f6], a
+	jr .asm_116570
+
+.asm_116595
+	ld [wc3f5], a
+	ld a, [hl]
+	ld [wc3f7], a
+	ret
+; 11659d
+
+Function11659d: ; 11659d
+	ld a, [wc314]
+	cp $12
+	ret nc
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_1165af
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 1165af
+
+Jumptable_1165af: ; 1165af
+	dw Function11677e
+	dw Function1165d5
+	dw Function1165d8
+	dw Function1165e3
+	dw Function1165f5
+	dw Function116600
+	dw Function116615
+	dw Function116618
+	dw Function116623
+	dw Function116635
+	dw Function116640
+	dw Function116655
+	dw Function11665c
+	dw Function11668d
+	dw Function11669f
+	dw Function1166a2
+	dw Function1166c4
+	dw Function1166d6
+	dw Function1166d6
+; 1165d5
+
+Function1165d5: ; 1165d5
+	call Function11678e
+
+Function1165d8:
+	ld a, $0
+	ld c, a
+	ld a, $ff
+	ld b, a
+	ld a, $a8
+	call Function1166f4
+
+Function1165e3:
+	call Function116747
+	ld a, [wc30e]
+	cp $e8
+	ret nz
+	ld a, $1
+	call Function116780
+	ret c
+	jp Function116797
+; 1165f5
+
+Function1165f5: ; 1165f5
+	ld a, $1
+	ld c, a
+	ld a, $1
+	ld b, a
+	ld a, $e8
+	call Function1166f4
+
+Function116600:
+	call Function116747
+	ld a, [wc30e]
+	cp $a8
+	ret nz
+	ld a, $1
+	call Function116780
+	ret c
+	ld a, $2
+	ld [wc314], a
+	ret
+; 116615
+
+Function116615: ; 116615
+	call Function11678e
+
+Function116618:
+	ld a, $3
+	ld c, a
+	ld a, $1
+	ld b, a
+	ld a, $28
+	call Function11671f
+
+Function116623:
+	call Function116747
+	ld a, [wc30f]
+	cp $a0
+	ret nz
+	ld a, $6
+	call Function116780
+	ret c
+	jp Function116797
+; 116635
+
+Function116635: ; 116635
+	ld a, $2
+	ld c, a
+	ld a, $ff
+	ld b, a
+	ld a, $a0
+	call Function11671f
+
+Function116640:
+	call Function116747
+	ld a, [wc30f]
+	cp $28
+	ret nz
+	ld a, $6
+	call Function116780
+	ret c
+	ld a, $7
+	ld [wc314], a
+	ret
+; 116655
+
+Function116655: ; 116655
+	xor a
+	ld [wc317], a
+	call Function11678e
+
+Function11665c:
+	ld hl, wc317
+	ld a, $1
+	xor [hl]
+	ld [hl], a
+	add $4
+	ld c, a
+	call Function11679c
+	ld a, [wc317]
+	and a
+	jr nz, .asm_116673
+	ld a, $48
+	jr .asm_116675
+
+.asm_116673
+	ld a, $78
+
+.asm_116675
+	ld [wc30f], a
+	call Random
+	ld a, [hRandomAdd]
+	and $7
+	sla a
+	sla a
+	sla a
+	add $30
+	ld [wc30e], a
+	call Function116797
+
+Function11668d:
+	ld a, [wc311]
+	cp $ff
+	ret nz
+	ld a, $b
+	call Function116780
+	ret c
+	ld a, $c
+	ld [wc314], a
+	ret
+; 11669f
+
+Function11669f: ; 11669f
+	call Function11678e
+
+Function1166a2:
+	ld a, $a8
+	ld [wc30e], a
+	ld [wc3f1], a
+	ld a, $60
+	ld [wc30f], a
+	ld [wc3f3], a
+	ld a, $ff
+	ld [wc316], a
+	xor a
+	ld [wc317], a
+	ld a, $0
+	ld c, a
+	call Function11679c
+	call Function116797
+
+Function1166c4:
+	call Function116747
+	ld a, [wc30e]
+	cp $58
+	ret nz
+	ld a, $6
+	ld c, a
+	call Function11679c
+	call Function116797
+
+Function1166d6:
+	call Function116747
+	ld a, [wc30e]
+	cp $48
+	jr nz, .asm_1166e4
+	xor a
+	ld [wc316], a
+
+.asm_1166e4
+	ld a, [wc311]
+	cp $ff
+	ret nz
+	ld a, $4
+	ld [wc319], a
+	xor a
+	ld [wc314], a
+	ret
+; 1166f4
+
+Function1166f4: ; 1166f4
+	ld [wc30e], a
+	ld a, b
+	ld [wc316], a
+	xor a
+	ld [wc317], a
+	ld hl, wc30f
+.asm_116702
+	call Random
+	ld a, [hRandomAdd]
+	and $7
+	jr z, .asm_11670c
+	dec a
+
+.asm_11670c
+	sla a
+	sla a
+	sla a
+	add $48
+	cp [hl]
+	jr z, .asm_116702
+	ld [hl], a
+	call Function11679c
+	call Function116797
+	ret
+; 11671f
+
+Function11671f: ; 11671f
+	ld [wc30f], a
+	ld a, b
+	ld [wc317], a
+	xor a
+	ld [wc316], a
+	ld hl, wc30e
+.asm_11672d
+	call Random
+	ld a, [hRandomAdd]
+	and $7
+	sla a
+	sla a
+	sla a
+	add $30
+	cp [hl]
+	jr z, .asm_11672d
+	ld [hl], a
+	call Function11679c
+	call Function116797
+	ret
+; 116747
+
+Function116747: ; 116747
+	ld hl, wc30e
+	ld a, [wc316]
+	add [hl]
+	ld [hl], a
+	ld hl, wc30f
+	ld a, [wc317]
+	add [hl]
+	ld [hl], a
+	ret
+; 116758
+
+Function116758: ; 116758
+	ld a, [wc30f]
+	cp $30
+	jr c, .asm_116770
+	jr z, .asm_116770
+	cp $38
+	jr c, .asm_116774
+	jr z, .asm_116774
+	cp $40
+	jr c, .asm_116778
+	jr z, .asm_116778
+	xor a
+	jr .asm_11677a
+
+.asm_116770
+	ld a, $c
+	jr .asm_11677a
+
+.asm_116774
+	ld a, $8
+	jr .asm_11677a
+
+.asm_116778
+	ld a, $4
+
+.asm_11677a
+	ld [wc318], a
+	ret
+; 11677e
+
+Function11677e: ; 11677e
+	ld a, $0
+
+Function116780:
+	ld hl, wc315
+	cp [hl]
+	jr z, .asm_11678c
+	ld a, [hl]
+	ld [wc314], a
+	scf
+	ret
+
+.asm_11678c
+	and a
+	ret
+; 11678e
+
+Function11678e: ; 11678e
+	ld hl, wc314
+	ld a, [hl]
+	ld [wc315], a
+	inc [hl]
+	ret
+; 116797
+
+Function116797: ; 116797
+	ld hl, wc314
+	inc [hl]
+	ret
+; 11679c
+
+Function11679c:
+	ld a, c
+	ld [wc311], a
+	xor a
+	ld [wc312], a
+	jr asm_1167af
+
+Function1167a6: ; 1167a6
+	ld hl, wc313
+	dec [hl]
+	ret nz
+	ld hl, wc312
+	inc [hl]
+
+asm_1167af
+.asm_1167af
+	ld a, [wc311]
+	cp $ff
+	ret z
+	sla a
+	ld c, a
+	ld b, 0
+	ld hl, Unknown_1167eb
+	add hl, bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	push de
+	pop hl
+	ld a, [wc312]
+	sla a
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [hli]
+	cp $ff
+	jr z, .asm_1167dc
+	cp $fe
+	jr nz, .asm_1167e3
+	xor a
+	ld [wc312], a
+	jr .asm_1167af
+
+.asm_1167dc
+	ld a, $ff
+	ld [wc311], a
+	ld a, $fd
+
+.asm_1167e3
+	ld [wc310], a
+	ld a, [hl]
+	ld [wc313], a
+	ret
+; 1167eb
+
+Unknown_1167eb:
+	dw Unknown_1167fb
+	dw Unknown_116808
+	dw Unknown_116867
+	dw Unknown_116870
+	dw Unknown_116815
+	dw Unknown_11683e
+	dw Unknown_116881
+	dw Unknown_1168ae
+
+Unknown_1167fb: ; 1167fb
+	db $0, $6
+	db $1, $4
+	db $2, $4
+	db $3, $6
+	db $2, $4
+	db $1, $4
+	db $fe
+
+Unknown_116808: ; 116808
+	db $4, $6
+	db $5, $4
+	db $6, $4
+	db $7, $6
+	db $6, $4
+	db $5, $4
+	db $fe
+
+Unknown_116815: ; 116815
+	db $fd, $20
+	db $8, $c
+	db $9, $24
+	db $a, $4
+	db $b, $8
+	db $a, $4
+	db $9, $6
+	db $c, $4
+	db $d, $8
+	db $c, $5
+	db $9, $24
+	db $a, $4
+	db $b, $8
+	db $a, $4
+	db $9, $6
+	db $c, $4
+	db $d, $8
+	db $c, $5
+	db $9, $8
+	db $8, $4
+	db $ff
+
+Unknown_11683e: ; 11683e
+	db $fd, $20
+	db $e, $c
+	db $f, $24
+	db $10, $4
+	db $11, $8
+	db $10, $4
+	db $f, $6
+	db $12, $4
+	db $13, $8
+	db $12, $5
+	db $f, $24
+	db $10, $4
+	db $11, $8
+	db $10, $4
+	db $f, $6
+	db $12, $4
+	db $13, $8
+	db $12, $5
+	db $f, $8
+	db $e, $4
+	db $ff
+
+Unknown_116867: ; 116867
+	db $14, $8
+	db $15, $8
+	db $16, $8
+	db $15, $8
+	db $fe
+
+Unknown_116870: ; 116870
+	db $17, $5
+	db $18, $5
+	db $19, $5
+	db $1a, $5
+	db $1b, $5
+	db $1a, $5
+	db $19, $5
+	db $18, $5
+	db $fe
+
+Unknown_116881: ; 116881
+	db $1c, $7
+	db $1d, $7
+	db $1e, $a
+	db $1f, $a
+	db $20, $5
+	db $21, $5
+	db $20, $5
+	db $21, $5
+	db $20, $18
+	db $22, $4
+	db $23, $2
+	db $22, $2
+	db $23, $2
+	db $22, $1
+	db $23, $1
+	db $22, $1
+	db $23, $4
+	db $fd, $1
+	db $23, $1
+	db $fd, $2
+	db $23, $2
+	db $fd, $40
+	db $ff
+
+Unknown_1168ae: ; 1168ae
+	db $24, $4
+	db $25, $4
+	db $26, $4
+	db $27, $4
+	db $28, $4
+	db $29, $4
+	db $2a, $4
+	db $2b, $4
+	db $2c, $4
+	db $2d, $4
+	db $2e, $4
+	db $fe
+; 1168c5
+
+Unknown_1168c5:
+	dw Unknown_116923
+	dw Unknown_116960
+	dw Unknown_1169a1
+	dw Unknown_1169de
+	dw Unknown_116a1b
+	dw Unknown_116a58
+	dw Unknown_116a99
+	dw Unknown_116ad6
+	dw Unknown_116d1b
+	dw Unknown_116d4c
+	dw Unknown_116d85
+	dw Unknown_116dbe
+	dw Unknown_116df7
+	dw Unknown_116e30
+	dw Unknown_116e69
+	dw Unknown_116e9a
+	dw Unknown_116ed3
+	dw Unknown_116f0c
+	dw Unknown_116f45
+	dw Unknown_116f7e
+	dw Unknown_116b13
+	dw Unknown_116b54
+	dw Unknown_116b95
+	dw Unknown_116bd6
+	dw Unknown_116c17
+	dw Unknown_116c58
+	dw Unknown_116c99
+	dw Unknown_116cda
+	dw Unknown_116fb7
+	dw Unknown_116fec
+	dw Unknown_117025
+	dw Unknown_117056
+	dw Unknown_117083
+	dw Unknown_1170c0
+	dw Unknown_1170fd
+	dw Unknown_11713a
+	dw Unknown_117177
+	dw Unknown_11719c
+	dw Unknown_1171c1
+	dw Unknown_1171e6
+	dw Unknown_11720b
+	dw Unknown_117230
+	dw Unknown_117255
+	dw Unknown_11727a
+	dw Unknown_11729f
+	dw Unknown_1172c4
+	dw Unknown_1172e9
+
+Unknown_116923: ; 116923
+	db $f
+	db $0, $0, $1, $a
+	db $0, $8, $2, $d
+	db $0, $10, $3, $d
+	db $0, $18, $4, $d
+	db $8, $0, $11, $a
+	db $8, $8, $12, $a
+	db $8, $10, $13, $a
+	db $8, $18, $14, $d
+	db $10, $0, $21, $a
+	db $10, $8, $22, $a
+	db $10, $10, $23, $a
+	db $10, $18, $24, $a
+	db $18, $0, $31, $a
+	db $18, $8, $32, $a
+	db $18, $10, $33, $a
+
+Unknown_116960: ; 116960
+	db $10
+	db $1, $0, $1, $a
+	db $1, $8, $2, $d
+	db $1, $10, $3, $d
+	db $1, $18, $4, $d
+	db $9, $0, $11, $a
+	db $9, $8, $12, $a
+	db $9, $10, $13, $a
+	db $9, $18, $14, $d
+	db $11, $0, $5, $a
+	db $11, $8, $6, $a
+	db $11, $10, $7, $a
+	db $11, $18, $34, $a
+	db $19, $0, $15, $a
+	db $19, $8, $16, $a
+	db $19, $10, $17, $a
+	db $19, $18, $35, $a
+
+Unknown_1169a1: ; 1169a1
+	db $f
+	db $1, $0, $1, $a
+	db $1, $8, $2, $d
+	db $1, $10, $3, $d
+	db $1, $18, $4, $d
+	db $9, $0, $11, $a
+	db $9, $8, $12, $a
+	db $9, $10, $13, $a
+	db $9, $18, $14, $d
+	db $11, $0, $25, $a
+	db $11, $8, $26, $a
+	db $11, $10, $27, $a
+	db $11, $18, $34, $a
+	db $19, $8, $36, $a
+	db $19, $10, $37, $a
+	db $19, $18, $35, $a
+
+Unknown_1169de: ; 1169de
+	db $f
+	db $0, $0, $1, $a
+	db $0, $8, $2, $d
+	db $0, $10, $3, $d
+	db $0, $18, $4, $d
+	db $8, $0, $11, $a
+	db $8, $8, $12, $a
+	db $8, $10, $13, $a
+	db $8, $18, $14, $d
+	db $10, $0, $10, $a
+	db $10, $8, $20, $a
+	db $10, $10, $30, $a
+	db $10, $18, $24, $a
+	db $18, $0, $31, $a
+	db $18, $8, $32, $a
+	db $18, $10, $33, $a
+
+Unknown_116a1b: ; 116a1b
+	db $f
+	db $0, $0, $4, $2d
+	db $0, $8, $3, $2d
+	db $0, $10, $2, $2d
+	db $0, $18, $1, $2a
+	db $8, $0, $14, $2d
+	db $8, $8, $13, $2a
+	db $8, $10, $12, $2a
+	db $8, $18, $11, $2a
+	db $10, $0, $24, $2a
+	db $10, $8, $23, $2a
+	db $10, $10, $22, $2a
+	db $10, $18, $21, $2a
+	db $18, $8, $33, $2a
+	db $18, $10, $32, $2a
+	db $18, $18, $31, $2a
+
+Unknown_116a58: ; 116a58
+	db $10
+	db $1, $0, $4, $2d
+	db $1, $8, $3, $2d
+	db $1, $10, $2, $2d
+	db $1, $18, $1, $2a
+	db $9, $0, $14, $2d
+	db $9, $8, $13, $2a
+	db $9, $10, $12, $2a
+	db $9, $18, $11, $2a
+	db $11, $0, $34, $2a
+	db $11, $8, $7, $2a
+	db $11, $10, $6, $2a
+	db $11, $18, $5, $2a
+	db $19, $0, $35, $2a
+	db $19, $8, $17, $2a
+	db $19, $10, $16, $2a
+	db $19, $18, $15, $2a
+
+Unknown_116a99: ; 116a99
+	db $f
+	db $1, $0, $4, $2d
+	db $1, $8, $3, $2d
+	db $1, $10, $2, $2d
+	db $1, $18, $1, $2a
+	db $9, $0, $14, $2d
+	db $9, $8, $13, $2a
+	db $9, $10, $12, $2a
+	db $9, $18, $11, $2a
+	db $11, $0, $34, $2a
+	db $11, $8, $27, $2a
+	db $11, $10, $26, $2a
+	db $11, $18, $25, $2a
+	db $19, $0, $35, $2a
+	db $19, $8, $37, $2a
+	db $19, $10, $36, $2a
+
+Unknown_116ad6: ; 116ad6
+	db $f
+	db $0, $0, $4, $2d
+	db $0, $8, $3, $2d
+	db $0, $10, $2, $2d
+	db $0, $18, $1, $2a
+	db $8, $0, $14, $2d
+	db $8, $8, $13, $2a
+	db $8, $10, $12, $2a
+	db $8, $18, $11, $2a
+	db $10, $0, $24, $2a
+	db $10, $8, $30, $2a
+	db $10, $10, $20, $2a
+	db $10, $18, $10, $2a
+	db $18, $8, $33, $2a
+	db $18, $10, $32, $2a
+	db $18, $18, $31, $2a
+
+Unknown_116b13: ; 116b13
+	db $10
+	db $18, $0, $0, $b
+	db $18, $8, $8, $b
+	db $18, $10, $5c, $b
+	db $18, $18, $0, $b
+	db $10, $0, $0, $b
+	db $10, $8, $5d, $b
+	db $10, $10, $5e, $b
+	db $10, $18, $0, $b
+	db $8, $0, $50, $b
+	db $8, $8, $51, $b
+	db $8, $10, $52, $b
+	db $8, $18, $50, $2b
+	db $0, $0, $43, $b
+	db $0, $8, $44, $b
+	db $0, $10, $44, $2b
+	db $0, $18, $43, $2b
+
+Unknown_116b54: ; 116b54
+	db $10
+	db $19, $0, $0, $b
+	db $19, $8, $18, $b
+	db $19, $10, $c, $b
+	db $19, $18, $0, $b
+	db $11, $0, $42, $b
+	db $11, $8, $3a, $b
+	db $11, $10, $3a, $2b
+	db $11, $18, $42, $2b
+	db $9, $0, $58, $b
+	db $9, $8, $45, $b
+	db $9, $10, $45, $2b
+	db $9, $18, $58, $2b
+	db $1, $0, $d, $b
+	db $1, $8, $44, $b
+	db $1, $10, $44, $2b
+	db $1, $18, $d, $2b
+
+Unknown_116b95: ; 116b95
+	db $10
+	db $18, $0, $0, $b
+	db $18, $8, $5c, $2b
+	db $18, $10, $8, $2b
+	db $18, $18, $0, $b
+	db $10, $0, $0, $b
+	db $10, $8, $5e, $2b
+	db $10, $10, $5d, $2b
+	db $10, $18, $0, $b
+	db $8, $0, $50, $b
+	db $8, $8, $52, $2b
+	db $8, $10, $51, $2b
+	db $8, $18, $50, $2b
+	db $0, $0, $43, $b
+	db $0, $8, $44, $b
+	db $0, $10, $44, $2b
+	db $0, $18, $43, $2b
+
+Unknown_116bd6: ; 116bd6
+	db $10
+	db $18, $0, $0, $a
+	db $18, $8, $56, $a
+	db $18, $10, $57, $a
+	db $18, $18, $0, $a
+	db $10, $0, $64, $a
+	db $10, $8, $4a, $a
+	db $10, $10, $4b, $a
+	db $10, $18, $71, $a
+	db $8, $0, $54, $a
+	db $8, $8, $55, $a
+	db $8, $10, $55, $2a
+	db $8, $18, $54, $2a
+	db $0, $0, $48, $a
+	db $0, $8, $49, $a
+	db $0, $10, $49, $2a
+	db $0, $18, $48, $2a
+
+Unknown_116c17: ; 116c17
+	db $10
+	db $19, $0, $0, $a
+	db $19, $8, $76, $a
+	db $19, $10, $77, $a
+	db $19, $18, $0, $a
+	db $11, $0, $64, $a
+	db $11, $8, $69, $a
+	db $11, $10, $6a, $a
+	db $11, $18, $6b, $a
+	db $9, $0, $6f, $a
+	db $9, $8, $70, $a
+	db $9, $10, $70, $2a
+	db $9, $18, $6f, $2a
+	db $1, $0, $63, $a
+	db $1, $8, $19, $a
+	db $1, $10, $19, $2a
+	db $1, $18, $63, $2a
+
+Unknown_116c58: ; 116c58
+	db $10
+	db $1a, $0, $6c, $a
+	db $1a, $8, $6d, $a
+	db $1a, $10, $6e, $a
+	db $1a, $18, $0, $a
+	db $12, $0, $5f, $a
+	db $12, $8, $60, $a
+	db $12, $10, $61, $a
+	db $12, $18, $62, $a
+	db $a, $0, $53, $a
+	db $a, $8, $55, $a
+	db $a, $10, $55, $2a
+	db $a, $18, $53, $2a
+	db $2, $0, $46, $a
+	db $2, $8, $47, $a
+	db $2, $10, $47, $2a
+	db $2, $18, $46, $2a
+
+Unknown_116c99: ; 116c99
+	db $10
+	db $19, $0, $0, $2a
+	db $19, $8, $77, $2a
+	db $19, $10, $76, $2a
+	db $19, $18, $0, $2a
+	db $11, $0, $6b, $2a
+	db $11, $8, $6a, $2a
+	db $11, $10, $69, $2a
+	db $11, $18, $64, $2a
+	db $9, $0, $6f, $a
+	db $9, $8, $70, $a
+	db $9, $10, $70, $2a
+	db $9, $18, $6f, $2a
+	db $1, $0, $63, $a
+	db $1, $8, $19, $a
+	db $1, $10, $19, $2a
+	db $1, $18, $63, $2a
+
+Unknown_116cda: ; 116cda
+	db $10
+	db $18, $0, $0, $a
+	db $18, $8, $57, $2a
+	db $18, $10, $56, $2a
+	db $18, $18, $0, $a
+	db $10, $0, $71, $2a
+	db $10, $8, $4b, $2a
+	db $10, $10, $4a, $2a
+	db $10, $18, $64, $2a
+	db $8, $0, $54, $a
+	db $8, $8, $55, $a
+	db $8, $10, $55, $2a
+	db $8, $18, $54, $2a
+	db $0, $0, $48, $a
+	db $0, $8, $49, $a
+	db $0, $10, $49, $2a
+	db $0, $18, $48, $2a
+
+Unknown_116d1b: ; 116d1b
+	db $c
+	db $0, $0, $38, $4a
+	db $0, $8, $39, $4a
+	db $0, $10, $39, $6a
+	db $0, $18, $38, $6a
+	db $8, $0, $28, $4a
+	db $8, $8, $29, $4a
+	db $8, $10, $29, $6a
+	db $8, $18, $28, $6a
+	db $10, $0, $9, $4d
+	db $10, $8, $19, $4a
+	db $10, $10, $19, $6a
+	db $10, $18, $9, $6d
+
+Unknown_116d4c: ; 116d4c
+	db $e
+	db $0, $8, $3b, $4a
+	db $0, $10, $3b, $6a
+	db $8, $0, $2a, $4a
+	db $8, $8, $2b, $4a
+	db $8, $10, $2b, $6a
+	db $8, $18, $2a, $6a
+	db $10, $0, $1a, $4a
+	db $10, $8, $1b, $4a
+	db $10, $10, $1b, $6a
+	db $10, $18, $1a, $6a
+	db $18, $0, $a, $4a
+	db $18, $8, $b, $4a
+	db $18, $10, $b, $6a
+	db $18, $18, $a, $6a
+
+Unknown_116d85: ; 116d85
+	db $e
+	db $0, $0, $35, $2a
+	db $0, $8, $3c, $4a
+	db $0, $10, $3d, $4a
+	db $0, $18, $3e, $4a
+	db $8, $0, $2c, $4a
+	db $8, $8, $2d, $4a
+	db $8, $10, $2e, $4a
+	db $8, $18, $2f, $4a
+	db $10, $0, $1c, $4a
+	db $10, $8, $1d, $4a
+	db $10, $10, $1e, $4d
+	db $10, $18, $1f, $4d
+	db $18, $10, $e, $4d
+	db $18, $18, $f, $4a
+
+Unknown_116dbe: ; 116dbe
+	db $e
+	db $0, $0, $65, $4a
+	db $0, $8, $66, $4a
+	db $0, $10, $67, $4a
+	db $0, $18, $68, $4a
+	db $8, $8, $59, $4a
+	db $8, $10, $5a, $4a
+	db $8, $18, $5b, $4a
+	db $10, $0, $4c, $4a
+	db $10, $8, $4d, $4d
+	db $10, $10, $4e, $4d
+	db $10, $18, $4f, $4a
+	db $18, $0, $3f, $4d
+	db $18, $8, $40, $4d
+	db $18, $10, $41, $4d
+
+Unknown_116df7: ; 116df7
+	db $e
+	db $0, $0, $3e, $6a
+	db $0, $8, $3d, $6a
+	db $0, $10, $3c, $6a
+	db $0, $18, $35, $a
+	db $8, $0, $2f, $6a
+	db $8, $8, $2e, $6a
+	db $8, $10, $2d, $6a
+	db $8, $18, $2c, $6a
+	db $10, $0, $1f, $6d
+	db $10, $8, $1e, $6d
+	db $10, $10, $1d, $6a
+	db $10, $18, $1c, $6a
+	db $18, $0, $f, $6a
+	db $18, $8, $e, $6d
+
+Unknown_116e30: ; 116e30
+	db $e
+	db $0, $0, $68, $6a
+	db $0, $8, $67, $6a
+	db $0, $10, $66, $6a
+	db $0, $18, $65, $6a
+	db $8, $0, $5b, $6a
+	db $8, $8, $5a, $6a
+	db $8, $10, $59, $6a
+	db $10, $0, $4f, $6a
+	db $10, $8, $4e, $6d
+	db $10, $10, $4d, $6d
+	db $10, $18, $4c, $6a
+	db $18, $8, $41, $6d
+	db $18, $10, $40, $6d
+	db $18, $18, $3f, $6d
+
+Unknown_116e69: ; 116e69
+	db $c
+	db $8, $0, $9, $d
+	db $8, $8, $19, $a
+	db $8, $10, $19, $2a
+	db $8, $18, $9, $2d
+	db $10, $0, $28, $a
+	db $10, $8, $29, $a
+	db $10, $10, $29, $2a
+	db $10, $18, $28, $2a
+	db $18, $0, $38, $a
+	db $18, $8, $39, $a
+	db $18, $10, $39, $2a
+	db $18, $18, $38, $2a
+
+Unknown_116e9a: ; 116e9a
+	db $e
+	db $0, $0, $a, $a
+	db $0, $8, $b, $a
+	db $0, $10, $b, $2a
+	db $0, $18, $a, $2a
+	db $8, $0, $1a, $a
+	db $8, $8, $1b, $a
+	db $8, $10, $1b, $2a
+	db $8, $18, $1a, $2a
+	db $10, $0, $2a, $a
+	db $10, $8, $2b, $a
+	db $10, $10, $2b, $2a
+	db $10, $18, $2a, $2a
+	db $18, $8, $3b, $a
+	db $18, $10, $3b, $2a
+
+Unknown_116ed3: ; 116ed3
+	db $e
+	db $0, $10, $e, $d
+	db $0, $18, $f, $a
+	db $8, $0, $1c, $a
+	db $8, $8, $1d, $a
+	db $8, $10, $1e, $d
+	db $8, $18, $1f, $d
+	db $10, $0, $2c, $a
+	db $10, $8, $2d, $a
+	db $10, $10, $2e, $a
+	db $10, $18, $2f, $a
+	db $18, $0, $35, $6a
+	db $18, $8, $3c, $a
+	db $18, $10, $3d, $a
+	db $18, $18, $3e, $a
+
+Unknown_116f0c: ; 116f0c
+	db $e
+	db $0, $0, $3f, $d
+	db $0, $8, $40, $d
+	db $0, $10, $41, $d
+	db $8, $0, $4c, $a
+	db $8, $8, $4d, $d
+	db $8, $10, $4e, $d
+	db $8, $18, $4f, $a
+	db $10, $8, $59, $a
+	db $10, $10, $5a, $a
+	db $10, $18, $5b, $a
+	db $18, $0, $65, $a
+	db $18, $8, $66, $a
+	db $18, $10, $67, $a
+	db $18, $18, $68, $a
+
+Unknown_116f45: ; 116f45
+	db $e
+	db $0, $0, $f, $2a
+	db $0, $8, $e, $2d
+	db $8, $0, $1f, $2d
+	db $8, $8, $1e, $2d
+	db $8, $10, $1d, $2a
+	db $8, $18, $1c, $2a
+	db $10, $0, $2f, $2a
+	db $10, $8, $2e, $2a
+	db $10, $10, $2d, $2a
+	db $10, $18, $2c, $2a
+	db $18, $0, $3e, $2a
+	db $18, $8, $3d, $2a
+	db $18, $10, $3c, $2a
+	db $18, $18, $35, $4a
+
+Unknown_116f7e: ; 116f7e
+	db $e
+	db $0, $8, $41, $2d
+	db $0, $10, $40, $2d
+	db $0, $18, $3f, $2d
+	db $8, $0, $4f, $2a
+	db $8, $8, $4e, $2d
+	db $8, $10, $4d, $2d
+	db $8, $18, $4c, $2a
+	db $10, $0, $5b, $2a
+	db $10, $8, $5a, $2a
+	db $10, $10, $59, $2a
+	db $18, $0, $68, $2a
+	db $18, $8, $67, $2a
+	db $18, $10, $66, $2a
+	db $18, $18, $65, $2a
+
+Unknown_116fb7: ; 116fb7
+	db $d
+	db $fa, $0, $72, $a
+	db $fa, $8, $73, $d
+	db $fa, $10, $74, $d
+	db $fa, $18, $75, $d
+	db $2, $0, $81, $a
+	db $2, $8, $82, $a
+	db $2, $10, $83, $a
+	db $2, $18, $84, $a
+	db $a, $0, $91, $a
+	db $a, $8, $92, $a
+	db $a, $10, $93, $a
+	db $a, $18, $94, $a
+	db $12, $10, $a3, $a
+
+Unknown_116fec: ; 116fec
+	db $e
+	db $fd, $0, $85, $d
+	db $fd, $8, $86, $d
+	db $5, $0, $95, $d
+	db $5, $8, $96, $a
+	db $5, $10, $97, $a
+	db $5, $18, $98, $a
+	db $d, $0, $a5, $a
+	db $d, $8, $a6, $a
+	db $d, $10, $a7, $a
+	db $d, $18, $a8, $a
+	db $15, $0, $b3, $a
+	db $15, $8, $b4, $a
+	db $15, $10, $b5, $a
+	db $15, $18, $b6, $a
+
+Unknown_117025: ; 117025
+	db $c
+	db $8, $0, $79, $d
+	db $8, $8, $7a, $d
+	db $8, $10, $7b, $a
+	db $8, $18, $7c, $a
+	db $10, $0, $89, $d
+	db $10, $8, $8a, $a
+	db $10, $10, $8b, $a
+	db $10, $18, $8c, $a
+	db $18, $0, $99, $a
+	db $18, $8, $9a, $a
+	db $18, $10, $9b, $a
+	db $18, $18, $9c, $a
+
+Unknown_117056: ; 117056
+	db $b
+	db $8, $0, $7d, $a
+	db $8, $8, $7e, $d
+	db $8, $10, $7f, $d
+	db $8, $18, $80, $a
+	db $10, $0, $8d, $a
+	db $10, $8, $8e, $a
+	db $10, $10, $8f, $a
+	db $10, $18, $90, $a
+	db $18, $8, $9e, $a
+	db $18, $10, $9f, $a
+	db $18, $18, $a0, $a
+
+Unknown_117083: ; 117083
+	db $f
+	db $0, $0, $a1, $a
+	db $0, $8, $a2, $a
+	db $0, $10, $a2, $2a
+	db $0, $18, $a1, $2a
+	db $8, $0, $b1, $a
+	db $8, $8, $b2, $d
+	db $8, $10, $b2, $2d
+	db $8, $18, $b1, $2a
+	db $10, $0, $ab, $a
+	db $10, $8, $ac, $a
+	db $10, $10, $ac, $2a
+	db $10, $18, $ab, $2a
+	db $18, $8, $a4, $a
+	db $18, $10, $87, $a
+	db $18, $18, $88, $a
+
+Unknown_1170c0: ; 1170c0
+	db $f
+	db $0, $0, $a1, $a
+	db $0, $8, $a2, $d
+	db $0, $10, $a2, $2a
+	db $0, $18, $a1, $2a
+	db $8, $0, $b1, $a
+	db $8, $8, $78, $d
+	db $8, $10, $78, $2d
+	db $8, $18, $b1, $2a
+	db $10, $0, $ab, $a
+	db $10, $8, $ac, $a
+	db $10, $10, $ac, $2a
+	db $10, $18, $ab, $2a
+	db $18, $8, $a4, $a
+	db $18, $10, $87, $a
+	db $18, $18, $88, $a
+
+Unknown_1170fd: ; 1170fd
+	db $f
+	db $0, $0, $a9, $a
+	db $0, $8, $aa, $a
+	db $0, $10, $aa, $2a
+	db $0, $18, $a9, $2a
+	db $8, $0, $b7, $a
+	db $8, $8, $b8, $a
+	db $8, $10, $b8, $2a
+	db $8, $18, $b7, $2a
+	db $10, $0, $ab, $a
+	db $10, $8, $ac, $a
+	db $10, $10, $ac, $2a
+	db $10, $18, $ad, $a
+	db $18, $8, $a4, $a
+	db $18, $10, $ba, $a
+	db $18, $18, $bb, $a
+
+Unknown_11713a: ; 11713a
+	db $f
+	db $0, $0, $ae, $c
+	db $0, $8, $af, $c
+	db $0, $10, $af, $2c
+	db $0, $18, $ae, $2c
+	db $8, $0, $bc, $c
+	db $8, $8, $bd, $c
+	db $8, $10, $bd, $2c
+	db $8, $18, $bc, $2c
+	db $10, $0, $bf, $c
+	db $10, $8, $9d, $c
+	db $10, $10, $9d, $2c
+	db $10, $18, $b0, $c
+	db $18, $8, $b9, $c
+	db $18, $10, $c0, $c
+	db $18, $18, $be, $c
+
+Unknown_117177: ; 117177
+	db $9
+	db $14, $0, $1f, $6
+	db $14, $8, $20, $6
+	db $14, $10, $21, $6
+	db $c, $0, $10, $6
+	db $c, $8, $11, $6
+	db $c, $10, $12, $6
+	db $4, $0, $1, $6
+	db $4, $8, $2, $6
+	db $4, $10, $3, $6
+
+Unknown_11719c: ; 11719c
+	db $9
+	db $14, $0, $22, $6
+	db $14, $8, $23, $6
+	db $14, $10, $24, $6
+	db $c, $0, $13, $6
+	db $c, $8, $14, $6
+	db $c, $10, $15, $6
+	db $4, $0, $4, $6
+	db $4, $8, $5, $6
+	db $4, $10, $6, $6
+
+Unknown_1171c1: ; 1171c1
+	db $9
+	db $14, $0, $25, $6
+	db $14, $8, $26, $6
+	db $14, $10, $27, $6
+	db $c, $0, $16, $6
+	db $c, $8, $17, $6
+	db $c, $10, $18, $6
+	db $4, $0, $7, $6
+	db $4, $8, $8, $6
+	db $4, $10, $9, $6
+
+Unknown_1171e6: ; 1171e6
+	db $9
+	db $14, $0, $28, $6
+	db $14, $8, $29, $6
+	db $14, $10, $2a, $6
+	db $c, $0, $19, $6
+	db $c, $8, $1a, $6
+	db $c, $10, $1b, $6
+	db $4, $0, $a, $6
+	db $4, $8, $b, $6
+	db $4, $10, $c, $6
+
+Unknown_11720b: ; 11720b
+	db $9
+	db $14, $0, $2b, $6
+	db $14, $8, $2c, $6
+	db $14, $10, $2d, $6
+	db $c, $0, $1c, $6
+	db $c, $8, $1d, $6
+	db $c, $10, $1e, $6
+	db $4, $0, $d, $6
+	db $4, $8, $e, $6
+	db $4, $10, $f, $6
+
+Unknown_117230: ; 117230
+	db $9
+	db $14, $0, $47, $6
+	db $14, $8, $48, $6
+	db $14, $10, $49, $6
+	db $c, $0, $3b, $6
+	db $c, $8, $3c, $6
+	db $c, $10, $3b, $26
+	db $4, $0, $2e, $6
+	db $4, $8, $2f, $6
+	db $4, $10, $30, $6
+
+Unknown_117255: ; 117255
+	db $9
+	db $14, $0, $35, $6
+	db $14, $8, $4a, $6
+	db $14, $10, $35, $6
+	db $c, $0, $3d, $6
+	db $c, $8, $35, $6
+	db $c, $10, $3d, $26
+	db $4, $0, $31, $6
+	db $4, $8, $32, $6
+	db $4, $10, $31, $26
+
+Unknown_11727a: ; 11727a
+	db $9
+	db $14, $0, $4b, $6
+	db $14, $8, $4c, $6
+	db $14, $10, $4d, $6
+	db $c, $0, $3e, $6
+	db $c, $8, $3f, $6
+	db $c, $10, $40, $6
+	db $4, $0, $33, $6
+	db $4, $8, $34, $6
+	db $4, $10, $35, $6
+
+Unknown_11729f: ; 11729f
+	db $9
+	db $14, $0, $4e, $6
+	db $14, $8, $4f, $6
+	db $14, $10, $50, $6
+	db $c, $0, $41, $6
+	db $c, $8, $42, $6
+	db $c, $10, $43, $6
+	db $4, $0, $35, $6
+	db $4, $8, $36, $6
+	db $4, $10, $37, $6
+
+Unknown_1172c4: ; 1172c4
+	db $9
+	db $14, $0, $51, $6
+	db $14, $8, $52, $6
+	db $14, $10, $35, $6
+	db $c, $0, $44, $6
+	db $c, $8, $45, $6
+	db $c, $10, $46, $6
+	db $4, $0, $38, $6
+	db $4, $8, $39, $6
+	db $4, $10, $3a, $6
+
+Unknown_1172e9: ; 1172e9
+	db $9
+	db $10, $0, $0, $2
+	db $10, $8, $0, $2
+	db $10, $10, $0, $2
+	db $8, $0, $0, $2
+	db $8, $8, $0, $2
+	db $c, $10, $1f, $6
+	db $0, $0, $0, $2
+	db $0, $8, $0, $2
+	db $4, $10, $10, $6
+; 11730e
+
+Palette_11730e:
+	RGB 31, 31, 31
+	RGB  7,  5,  4
+	RGB 31, 28,  4
+	RGB 31,  5,  5
+	RGB 31, 31, 31
+	RGB  7,  5,  4
+	RGB 31, 23,  0
+	RGB 31, 28,  4
+	RGB 31, 31, 31
+	RGB 16, 19, 31
+	RGB 17, 31, 31
+	RGB 31, 31, 31
+	RGB  5,  5,  5
+	RGB  7,  5,  4
+	RGB 31, 28,  4
+	RGB 19, 11,  6
+	RGB 31, 31, 31
+	RGB  3, 15, 31
+	RGB  4, 25, 25
+	RGB  0,  7, 12
+	RGB 31, 31, 31
+	RGB  0, 16,  0
+	RGB  0, 16,  0
+	RGB  0, 16,  0
+	RGB  4, 11, 22
+	RGB  0, 16,  0
+	RGB  0, 16,  0
+	RGB  0, 16,  0
+	RGB 22, 11,  8
+	RGB  0, 16,  0
+	RGB  0, 16,  0
+	RGB  0, 16,  0
+
+Palette_11734e:
+	RGB 31, 30, 30
+	RGB  2,  0,  0
+	RGB 10,  9,  9
+	RGB 15, 14, 14
+
+Unknown_117356:
+INCBIN "baserom.gbc", $117356, $117656 - $117356
+
+
+SECTION "Mobile Stadium", ROMX, BANK[$45]
+
+Function117656: ; 117656
+	callba GiveOddEgg
+	ret
+; 11765d
+
+Function11765d: ; 11765d (45:765d)
+	ld a, [$ffaa]
+	push af
+	ld a, $1
+	ld [$ffaa], a
+	call Function11766b
+	pop af
+	ld [$ffaa], a
+	ret
+
+Function11766b: ; 11766b (45:766b)
+	call Function117699
+	ld a, [rSVBK] ; $ff00+$70
+	push af
+	ld a, $5
+	ld [rSVBK], a ; $ff00+$70
+	call Function1176ee
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $b1f3
+	ld de, wcd49
+	ld bc, $8
+	call CopyBytes
+	ld de, wc708
+	ld bc, $11
+	call CopyBytes
+	call CloseSRAM
+	pop af
+	ld [rSVBK], a ; $ff00+$70
+	ret
+
+Function117699: ; 117699 (45:7699)
+	ld a, $5
+	call GetSRAMBank
+	ld hl, wcd49
+	ld de, $b1f3
+	ld bc, $8
+	call CopyBytes
+	ld hl, wc708
+	ld bc, $11
+	call CopyBytes
+	call CloseSRAM
+	xor a
+	ld [wcd49], a
+	ld [wcd4a], a
+	ld [wcd4b], a
+	ld [wcd4c], a
+	ld [wcd4d], a
+	ld [wcd4e], a
+	ld [wcd4f], a
+	ld hl, wc708
+	ld bc, $11
+	call ByteFill
+	call WhiteBGMap
+	call ClearSprites
+	callba Function171c87
+	callba Function104061
+	callba Function8cf53
+	ret
+
+Function1176ee: ; 1176ee (45:76ee)
+	call Functiona57
+	ld a, [wcd49]
+	bit 7, a
+	jr nz, .asm_117709
+	call Function117719
+	callba Function8cf69
+	callba Function104061
+	jr Function1176ee
+.asm_117709
+	callba Function8cf53
+	call WhiteBGMap
+	call ClearScreen
+	call ClearSprites
+	ret
+
+Function117719: ; 117719 (45:7719)
+	ld a, [wcd49]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_117728
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+
+Jumptable_117728: ; 117728 (45:7728)
+	dw Function117738
+	dw Function117764
+	dw Function1178aa
+	dw Function1178e8
+	dw Function117942
+	dw Function117976
+	dw Function117984
+	dw Function1179a7
+
+
+Function117738: ; 117738 (45:7738)
+	callba Function171ccd
+	lb de, $30, $18
+	ld a, $1d
+	call Function3b2a
+	ld hl, $c
+	add hl, bc
+	ld a, $6
+	ld [hl], a
+	lb de, $48, $20
+	ld a, $1d
+	call Function3b2a
+	ld hl, $c
+	add hl, bc
+	ld a, $7
+	ld [hl], a
+	ld a, $3
+	ld [wcd23], a
+	jp Function117a0a
+
+Function117764: ; 117764 (45:7764)
+	ld a, [wcd4a]
+	cp $10
+	jr nz, .asm_11776f
+	ld a, $1
+	jr .asm_117770
+.asm_11776f
+	xor a
+.asm_117770
+	ld [wcd24], a
+	ld hl, hJoyPressed ; $ffa7
+	ld a, [hl]
+	and $4
+	jr nz, Function1177a5
+	ld a, [hl]
+	and $8
+	jr nz, Function1177ac
+	ld a, [hl]
+	and $1
+	jp nz, Function11784c
+	ld a, [hl]
+	and $2
+	jr nz, asm_1177d6
+	ld hl, $ffa9
+	ld a, [hl]
+	and $40
+	jr nz, asm_1177f1
+	ld a, [hl]
+	and $80
+	jr nz, asm_11780a
+	ld a, [hl]
+	and $20
+	jp nz, Function11782d
+	ld a, [hl]
+	and $10
+	jp nz, Function117837
+	ret
+
+Function1177a5: ; 1177a5 (45:77a5)
+	callba Function171cf0
+	ret
+
+Function1177ac: ; 1177ac (45:77ac)
+	ld a, $2
+	ld [wcd4c], a
+	ld a, $4
+	ld [wcd4d], a
+	ret
+
+Function1177b7: ; 1177b7 (45:77b7)
+	ld a, $3
+	ld [wcd24], a
+	ld a, [wcd4a]
+	and a
+	jr z, .asm_1177c5
+	jp Function117a0a
+.asm_1177c5
+	ld a, $6
+	ld [wcd49], a
+	ret
+
+Function1177cb: ; 1177cb (45:77cb)
+	ld a, $80
+	ld [wcd49], a
+	ld [ScriptVar], a
+	jp Function117a0a
+asm_1177d6: ; 1177d6 (45:77d6)
+	call PlayClickSFX
+	ld a, [wcd4a]
+	and a
+	ret z
+	dec a
+	ld [wcd4a], a
+	ld e, a
+	ld d, $0
+	ld hl, wc708
+	add hl, de
+	xor a
+	ld [hl], a
+	hlcoord 2, 4
+	add hl, de
+	ld [hl], a
+	ret
+asm_1177f1: ; 1177f1 (45:77f1)
+	ld a, [wcd4d]
+	and a
+	ret z
+	dec a
+	ld [wcd4d], a
+	cp $3
+	ret nz
+	ld a, [wcd4c]
+	ld e, a
+	sla a
+	sla a
+	add e
+asm_117806: ; 117806 (45:7806)
+	ld [wcd4c], a
+	ret
+asm_11780a: ; 11780a (45:780a)
+	ld a, [wcd4d]
+	cp $4
+	ret z
+	inc a
+	ld [wcd4d], a
+	cp $4
+	ret nz
+	ld a, [wcd4c]
+	cp $a
+	jr nc, .asm_117825
+	cp $5
+	jr nc, .asm_117829
+	xor a
+	jr asm_117806
+.asm_117825
+	ld a, $2
+	jr asm_117806
+.asm_117829
+	ld a, $1
+	jr asm_117806
+
+Function11782d: ; 11782d (45:782d)
+	ld a, [wcd4c]
+	and a
+	ret z
+	dec a
+	ld [wcd4c], a
+	ret
+
+Function117837: ; 117837 (45:7837)
+	ld e, $d
+	ld a, [wcd4d]
+	cp $4
+	jr nz, .asm_117842
+	ld e, $2
+.asm_117842
+	ld a, [wcd4c]
+	cp e
+	ret z
+	inc a
+	ld [wcd4c], a
+	ret
+
+Function11784c: ; 11784c (45:784c)
+	call PlayClickSFX
+	ld a, [wcd4d]
+	cp $4
+	jr nz, .asm_117866
+	ld a, [wcd4c]
+	cp $2
+	jp z, Function1177b7
+	cp $1
+	jp z, Function1177cb
+	jp Function1177a5
+.asm_117866
+	ld a, [wcd4a]
+	ld e, a
+	cp $10
+	jp z, Function1177ac
+	inc a
+	ld [wcd4a], a
+	ld d, $0
+	ld a, [wcd4b]
+	and a
+	jr nz, .asm_117880
+	ld hl, Unknown_117a0f
+	jr .asm_117883
+.asm_117880
+	ld hl, Unknown_117a47
+.asm_117883
+	push de
+	ld a, [wcd4c]
+	ld b, a
+	ld a, [wcd4d]
+	ld c, $e
+	call SimpleMultiply
+	add b
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [hl]
+	ld hl, wc708
+	add hl, de
+	ld [hl], a
+	pop de
+	hlcoord 2, 4
+	add hl, de
+	sub $20
+	ld [hl], a
+	ld a, e
+	cp $f
+	ret nz
+	jp Function1177ac
+
+Function1178aa: ; 1178aa (45:78aa)
+	ld hl, MenuDataHeader_1179b5
+	call LoadMenuDataHeader
+	call Function1cbb
+	call Function1cfd
+	ld hl, MenuDataHeader_1179bd
+	call LoadMenuDataHeader
+	call Function1cbb
+	call Function1cfd
+	callba Function104061
+	hlcoord 16, 8
+	ld de, String_1179c5
+	call PlaceString
+	hlcoord 15, 10
+	ld a, $ed
+	ld [hl], a
+	hlcoord 1, 14
+	ld de, String_1179cc
+	call PlaceString
+	ld a, $1
+	ld [wcd4e], a
+	jp Function117a0a
+
+Function1178e8: ; 1178e8 (45:78e8)
+	ld a, [hJoyPressed] ; $ff00+$a7
+	cp $2
+	jr z, .asm_117939
+	cp $1
+	jr z, .asm_117925
+	cp $80
+	jr z, .asm_11790f
+	cp $40
+	ret nz
+	ld a, [wcd4e]
+	and a
+	ret z
+	dec a
+	ld [wcd4e], a
+	hlcoord 15, 8
+	ld a, $ed
+	ld [hl], a
+	hlcoord 15, 10
+	ld a, $7f
+	ld [hl], a
+	ret
+.asm_11790f
+	ld a, [wcd4e]
+	and a
+	ret nz
+	inc a
+	ld [wcd4e], a
+	hlcoord 15, 8
+	ld a, $7f
+	ld [hl], a
+	hlcoord 15, 10
+	ld a, $ed
+	ld [hl], a
+	ret
+.asm_117925
+	call PlayClickSFX
+	ld a, [wcd4e]
+	and a
+	jr nz, .asm_117939
+	call Function1c07
+	ld a, $1
+	ld [wcd4f], a
+	jp Function117a0a
+.asm_117939
+	call Function1c07
+	call Function1c07
+	jp Function117a0a
+
+Function117942: ; 117942 (45:7942)
+	call SpeechTextBox
+	hlcoord 1, 14
+	ld de, String_1179f7
+	call PlaceString
+	ld a, $1e
+	ld [wcd4e], a
+	ld a, $5
+	call GetSRAMBank
+	ld a, [wcd4f]
+	ld [$aa4b], a
+	ld hl, wc708
+	ld de, $aa4c
+	ld bc, $11
+	call CopyBytes
+	call CloseSRAM
+	ld a, [wcd4f]
+	and a
+	jr z, asm_11797e
+	call Function117a0a
+
+Function117976: ; 117976 (45:7976)
+	ld hl, wcd4e
+	dec [hl]
+	ret nz
+	call Function1c07
+asm_11797e: ; 11797e (45:797e)
+	ld a, $80
+	ld [wcd49], a
+	ret
+
+Function117984: ; 117984 (45:7984)
+	ld hl, MenuDataHeader_1179b5
+	call LoadMenuDataHeader
+	call Function1cbb
+	call Function1cfd
+	callba Function104061
+	hlcoord 1, 14
+	ld de, String_1179e1
+	call PlaceString
+	ld a, $1e
+	ld [wcd4e], a
+	call Function117a0a
+
+Function1179a7: ; 1179a7 (45:79a7)
+	ld hl, wcd4e
+	dec [hl]
+	ret nz
+	call Function1c07
+	ld a, $1
+	ld [wcd49], a
+	ret
+; 1179b5 (45:79b5)
+
+MenuDataHeader_1179b5: ; 1179b5
+	db $40 ; flags
+	db 12,  0 ; start coords
+	db 17, 19 ; end coords
+	dw NULL
+	db 0 ; default option
+; 1179bd
+
+MenuDataHeader_1179bd: ; 1179bd
+	db $40 ; flags
+	db  7, 14 ; start coords
+	db 11, 19 ; end coords
+	dw NULL
+	db 0 ; default option
+; 1179c5
+
+
+String_1179c5: ; 1179c5
+	db   "はい"
+	next "いいえ@"
+; 1179cc
+
+String_1179cc: ; 1179cc
+	db   "こ", $25, "パスワード", $1f, "ほぞんして"
+	line "おきますか?@"
+; 1179e1
+
+String_1179e1: ; 1179e1
+	db   "パスワード", $4a, "にゅうりょく"
+	line "されていません!@"
+; 1179f7
+
+String_1179f7: ; 1179f7
+	db   "ログインパスワード", $1f, "ほぞん"
+	line "しました@"
+; 117a0a
+
+Function117a0a: ; 117a0a (45:7a0a)
+	ld hl, wcd49
+	inc [hl]
+	ret
+; 117a0f (45:7a0f)
+
+Unknown_117a0f:
+INCBIN "data/mobile/ascii-alpha.txt"
+
+Unknown_117a47:
+INCBIN "data/mobile/ascii-sym.txt"
+; 117a7f
+
+
+; everything from here to the end of the bank is related to the
+; Mobile Stadium option from the continue/newgame menu.
+; XXX better function names
+MobileStudium: ; 0x117a7f
+	ld a, [$ffaa]
+	push af
+	ld a, $1
+	ld [$ffaa], a
+	call Function117a8d
+	pop af
+	ld [$ffaa], a
+	ret
+; 0x117a8d
+
+Function117a8d: ; 0x117a8d
+	call Function117a94
+	call Function117acd
+	ret
+; 0x117a94
+
+Function117a94: ; 0x117a94
+	xor a
+	ld [wcf63], a
+	ld [wcf64], a
+	ld [wcf65], a
+	ld [wcf66], a
+	call WhiteBGMap
+	call ClearSprites
+	callba Function172e78
+	callba Function104000
+	ret
+; 0x117ab4
+
+Function117ab4: ; 0x117ab4
+	call WhiteBGMap
+	call ClearSprites
+	callba Function172e78
+	callba Function172eb9
+	callba Function104061
+	ret
+; 0x117acd
+
+Function117acd: ; 0x117acd
+	call Functiona57
+	ld a, [wcf63]
+	bit 7, a
+	jr nz, .asm_117ae2 ; 0x117ad5 $b
+	call Function117ae9
+	callba Function104000
+	jr Function117acd
+.asm_117ae2
+	call WhiteBGMap
+	call ClearSprites
+	ret
+
+Function117ae9: ; 0x117ae9
+	ld a, [wcf63]
+	ld e, a
+	ld d, $0
+	ld hl, Pointers117af8
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+
+Pointers117af8: ; 0x117af8
+	dw Function117b06
+	dw Function117b14
+	dw Function117b28
+	dw Function117b31
+	dw Function117b4f
+	dw Function117bb6
+	dw Function117c4a
+
+Function117b06:
+	callba Function172eb9
+	ld a, $10
+	ld [wcf64], a
+	jp Function117cdd
+
+Function117b14:
+	ld hl, wcf64
+	dec [hl]
+	ret nz
+	ld hl, Data117cbc
+	call LoadMenuDataHeader
+	call Function1cbb
+	call Function1cfd
+	jp Function117cdd
+
+Function117b28:
+	ld hl, MobileStadiumEntryText
+	call PrintText
+	jp Function117cdd
+
+Function117b31:
+	ld hl, Data117cc4
+	call LoadMenuDataHeader
+	call Function1cbb
+	call Function1cfd
+	hlcoord 16, 8
+	ld de, YesNo117ccc
+	call PlaceString
+	hlcoord 15, 8
+	ld a, "▶"
+	ld [hl], a
+	jp Function117cdd
+
+Function117b4f:
+	ld a, [hJoyPressed]
+	cp $2
+	jr z, .asm_117ba4 ; 0x117b53 $4f
+	cp $1
+	jr z, .asm_117b8c ; 0x117b57 $33
+	cp $80
+	jr z, .asm_117b76 ; 0x117b5b $19
+	cp $40
+	ret nz
+	ld a, [wcf64]
+	and a
+	ret z
+	dec a
+	ld [wcf64], a
+	hlcoord 15, 8
+	ld a, "▶"
+	ld [hl], a
+	hlcoord 15, 10
+	ld a, " "
+	ld [hl], a
+	ret
+.asm_117b76
+	ld a, [wcf64]
+	and a
+	ret nz
+	inc a
+	ld [wcf64], a
+	hlcoord 15, 8
+	ld a, " "
+	ld [hl], a
+	hlcoord 15, 10
+	ld a, "▶"
+	ld [hl], a
+	ret
+.asm_117b8c
+	call PlayClickSFX
+	ld a, [wcf64]
+	and a
+	jr nz, .asm_117ba4 ; 0x117b93 $f
+	call Function1c07
+	call Function1c07
+	callba Function104061
+	jp Function117cdd
+.asm_117ba4
+	call Function1c07
+	call Function1c07
+	callba Function104061
+	ld a, $80
+	ld [wcf63], a
+	ret
+
+Function117bb6:
+	call Function117c89
+	ld a, $1
+	ld [hBGMapMode], a
+	callba Function118284
+	call ClearSprites
+	ld a, [wc300]
+	and a
+	jr z, .asm_117be7 ; 0x117bca $1b
+	cp $a
+	jr z, .asm_117be1 ; 0x117bce $11
+.asm_117bd0
+	ld a, $2
+	ld [wc303], a
+	callba Function17f555
+	ld a, $80
+	ld [wcf63], a
+	ret
+.asm_117be1
+	ld a, $80
+	ld [wcf63], a
+	ret
+.asm_117be7
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+	ld a, [wcd89]
+	and $1
+	jr nz, .asm_117c16 ; 0x117bf3 $21
+	ld a, [wd000]
+	cp $fe
+	jr nz, .asm_117c16 ; 0x117bfa $1a
+	ld a, [wd001]
+	cp $f
+	jr nz, .asm_117c16 ; 0x117c01 $13
+	ld hl, wdfec
+	ld de, wcd69
+	ld c, $10
+.asm_117c0b
+	ld a, [de]
+	inc de
+	cp [hl]
+	jr nz, .asm_117c16 ; 0x117c0e $6
+	inc hl
+	dec c
+	jr nz, .asm_117c0b ; 0x117c12 $f7
+	jr .asm_117c20 ; 0x117c14 $a
+.asm_117c16
+	pop af
+	ld [rSVBK], a
+	ld a, $d3
+	ld [wc300], a
+	jr .asm_117bd0 ; 0x117c1e $b0
+.asm_117c20
+	pop af
+	ld [rSVBK], a
+	callba Function172eb9
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+	ld a, $7
+	call GetSRAMBank
+	ld hl, DefaultFlypoint
+	ld de, $b000
+	ld bc, $1000
+	call CopyBytes
+	call CloseSRAM
+	pop af
+	ld [rSVBK], a
+	jp Function117cdd
+
+Function117c4a:
+	ld hl, Data117cbc
+	call LoadMenuDataHeader
+	call Function1cbb
+	call Function1cfd
+	callba Function104061
+	ld hl, MobileStadiumSuccessText
+	call PrintText
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld hl, wd000
+	ld de, $0008
+	ld c, $8
+.asm_117c71
+	push hl
+	ld a, $ff
+	ld [hli], a
+	ld a, " "
+	ld [hl], a
+	pop hl
+	add hl, de
+	dec c
+	jr nz, .asm_117c71 ; 0x117c7b $f4
+	call Function4b6
+	pop af
+	ld [rSVBK], a
+	ld a, $80
+	ld [wcf63], a
+	ret
+
+Function117c89:
+	ld a, $7
+	call GetSRAMBank
+	ld l, $0
+	ld h, l
+	ld de, $b000
+	ld bc, $0ffc
+.asm_117c97
+	push bc
+	ld a, [de]
+	inc de
+	ld c, a
+	ld b, $0
+	add hl, bc
+	pop bc
+	dec bc
+	ld a, b
+	or c
+	jr nz, .asm_117c97 ; 0x117ca2 $f3
+	ld a, l
+	ld [wcd83], a
+	ld a, h
+	ld [wcd84], a
+	ld hl, $bfea
+	ld de, wcd69
+	ld bc, $0010
+	call CopyBytes
+	call CloseSRAM
+	ret
+
+Data117cbc: ; 0x117cbc
+	db $40, $0c, $00, $11, $13, $00, $00, $00
+
+Data117cc4: ; 0x117cc4
+	db $40, $07, $0e, $0b, $13, $00, $00, $00 ; XXX what is this
+
+YesNo117ccc: ; 0x117ccc
+	db   "はい"
+	next "いいえ"
+	db   "@"
+
+MobileStadiumEntryText: ; 0x117cd3
+	TX_FAR _MobileStadiumEntryText
+	db "@"
+
+MobileStadiumSuccessText: ; 0x117cd8
+	TX_FAR _MobileStadiumSuccessText
+	db "@"
+
+Function117cdd: ; 0x117cdd
+	ld hl, wcf63
+	inc [hl]
+	ret
+
+
+SECTION "bank46", ROMX, BANK[$46]
+
+Function118000: ; 118000
+	ld a, $1
+	ld [wcd38], a
+	jr asm_11800b
+
+Function118007: ; 118007
+	xor a
+	ld [wcd38], a
+
+asm_11800b
+	call Function1183cb
+	ld a, $18
+	ld [wcd33], a
+	ld a, $19
+	ld [wcd34], a
+	ld a, $4
+	ld [wc3f0], a
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+.asm_118024
+	call Functiona57
+	call Function118473
+	ld a, [wcf66]
+	cp $1b
+	jr c, .asm_118037
+	ld a, [wcd34]
+	ld [wcf66], a
+
+.asm_118037
+	call Function1184a5
+	call Function11a8fa
+	callba Function115dd3
+	callba Function11619d
+	call DelayFrame
+	ld a, [wcf66]
+	ld hl, wcd33
+	cp [hl]
+	jr nz, .asm_118024
+	pop af
+	ld [rSVBK], a
+	call Function118452
+	call Function222a
+Function11805e: ; 11805e (46:405e)
+	ret
+; 11805f
+
+Function11805f: ; 11805f
+	ld a, $1
+	ld [wcd38], a
+	call Function1183cb
+	ld a, $18
+	ld [wcd33], a
+	ld a, $19
+	ld [wcd34], a
+	ld a, $4
+	ld [wc3f0], a
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+.asm_11807d
+	call Functiona57
+	call Function118473
+	ld a, [wcf66]
+	cp $1b
+	jr c, .asm_118090
+	ld a, [wcd34]
+	ld [wcf66], a
+
+.asm_118090
+	call Function11857c
+	call Function11a8fa
+	callba Function115dd3
+	callba Function11619d
+	call DelayFrame
+	ld a, [wcf66]
+	ld hl, wcd33
+	cp [hl]
+	jr nz, .asm_11807d
+	pop af
+	ld [rSVBK], a
+	call Function118452
+	call Function222a
+	ret
+; 1180b8
+
+Function1180b8: ; 1180b8
+	call Function1183cb
+	ld a, $22
+	ld [wcd33], a
+	ld a, $23
+	ld [wcd34], a
+	ld a, $4
+	ld [wc3f0], a
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+.asm_1180d1
+	call Functiona57
+	call Function118473
+	ld a, [wcf66]
+	cp $28
+	jr c, .asm_1180e4
+	ld a, [wcd34]
+	ld [wcf66], a
+
+.asm_1180e4
+	ld a, [wcf66]
+	cp $10
+	jr c, .asm_1180f2
+	cp $16
+	jr nc, .asm_1180f2
+	call Function11884c
+
+.asm_1180f2
+	call Function1184ec
+	call Function11a8fa
+	callba Function115dd3
+	callba Function11619d
+	call DelayFrame
+	ld a, [wcf66]
+	ld hl, wcd33
+	cp [hl]
+	jr nz, .asm_1180d1
+	pop af
+	ld [rSVBK], a
+	call Function118452
+	call Function222a
+	ret
+; 11811a
+
+Function11811a: ; 11811a
+	ld a, 1
+	ld [wcd38], a
+	jr Function118125
+
+Function118121: ; 118121
+	xor a
+	ld [wcd38], a
+
+Function118125: ; 118125
+	call Function1183cb
+	ld a, $3
+	ld [wcd33], a
+	ld a, $d
+	ld [wcd34], a
+	ld a, $4
+	ld [wc3f0], a
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+.asm_11813e
+	call Functiona57
+	call Function118473
+	ld a, [wcf66]
+	cp $f
+	jr c, .asm_118151
+	ld a, [wcd34]
+	ld [wcf66], a
+
+.asm_118151
+	call Function11854d
+	call Function11a8fa
+	callba Function115dd3
+	callba Function11619d
+	call DelayFrame
+	ld a, [wcf66]
+	ld hl, wcd33
+	cp [hl]
+	jr nz, .asm_11813e
+	xor a
+	ld [Unkn1Pals], a
+	pop af
+	ld [rSVBK], a
+	call Function118452
+	call Function118180
+	call Function222a
+	ret
+; 118180
+
+Function118180: ; 118180
+	ld a, [ScriptVar]
+	and a
+	ret nz
+	ld a, [wcd38]
+	and a
+	ret z
+	ld a, $5
+	call GetSRAMBank
+	ld hl, wcd69
+	ld de, $a89c
+	ld bc, $0016
+	call CopyBytes
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+	ld de, $d202
+	ld c, $96
+	callba Function17d0b3
+	jr c, .asm_1181d0
+	ld de, $d202
+	ld bc, $0196
+	callba Function17d1e1
+	jr c, .asm_1181d0
+	ld hl, $d202
+	ld de, $a8b2
+	ld bc, $0096
+	call CopyBytes
+.asm_1181c9
+	pop af
+	ld [rSVBK], a
+	call CloseSRAM
+	ret
+
+.asm_1181d0
+	ld a, $d3
+	ld [wc300], a
+	ld [ScriptVar], a
+	jr .asm_1181c9
+; 1181da
+
+Function1181da: ; 1181da
+	call Function1183cb
+	ld a, $2
+	ld [wcd38], a
+	ld a, $21
+	ld [wcd33], a
+	ld a, $22
+	ld [wcd34], a
+	ld a, $4
+	ld [wc3f0], a
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+.asm_1181f8
+	call Functiona57
+	call Function118473
+	ld a, [wcf66]
+	cp $28
+	jr c, .asm_11820b
+	ld a, [wcd34]
+	ld [wcf66], a
+
+.asm_11820b
+	call Function1185c3
+	call Function11a8fa
+	callba Function115dd3
+	callba Function11619d
+	call DelayFrame
+	ld a, [wcf66]
+	ld hl, wcd33
+	cp [hl]
+	jr nz, .asm_1181f8
+	pop af
+	ld [rSVBK], a
+	call Function118452
+	call Function222a
+	ret
+; 118233
+
+Function118233: ; 118233
+	call Function1183cb
+	ld a, $1b
+	ld [wcd33], a
+	ld a, $1c
+	ld [wcd34], a
+	ld a, $6
+	ld [wc3f0], a
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+.asm_11824c
+	call Functiona57
+	call Function118473
+	ld a, [wcf66]
+	cp $1e
+	jr c, .asm_11825f
+	ld a, [wcd34]
+	ld [wcf66], a
+
+.asm_11825f
+	call Function118624
+	call Function11a8fa
+	callba Function115dd3
+	callba Function11619d
+	call DelayFrame
+	ld a, [wcf66]
+	ld hl, wcd33
+	cp [hl]
+	jr nz, .asm_11824c
+	pop af
+	ld [rSVBK], a
+	call Function118452
+	ret
+; 118284
+
+Function118284: ; 118284
+	call Function1183cb
+	ld a, $19
+	ld [wcd33], a
+	ld a, $1e
+	ld [wcd34], a
+	ld a, $5
+	ld [wc3f0], a
+	ld a, [rSVBK] ; $ff00+$70
+	push af
+	ld a, $3
+	ld [rSVBK], a ; $ff00+$70
+.asm_11829d
+	call Functiona57
+	call Function118473
+	ld a, [wcf66]
+	cp $20
+	jr c, .asm_1182b0
+	ld a, [wcd34]
+	ld [wcf66], a
+.asm_1182b0
+	call Function1186f5
+	call Function11a8fa
+	callba Function115dd3
+	callba Function11619d
+	call DelayFrame
+	ld a, [wcf66]
+	ld hl, wcd33
+	cp [hl]
+	jr nz, .asm_11829d
+	pop af
+	ld [rSVBK], a ; $ff00+$70
+	call Function118452
+	ret
+; 1182d5 (46:42d5)
+
+
+Function1182d5: ; 1182d5
+	call Function1183cb
+	ld a, $18
+	ld [wcd33], a
+	ld a, $19
+	ld [wcd34], a
+	ld a, $4
+	ld [wc3f0], a
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+.asm_1182ee
+	call Functiona57
+	call Function118473
+	ld a, [wcf66]
+	cp $1b
+	jr c, .asm_118301
+	ld a, [wcd34]
+	ld [wcf66], a
+
+.asm_118301
+	call Function118746
+	call Function11a8fa
+	callba Function115dd3
+	callba Function11619d
+	call DelayFrame
+	ld a, [wcf66]
+	ld hl, wcd33
+	cp [hl]
+	jr nz, .asm_1182ee
+	pop af
+	ld [rSVBK], a
+	call Function118452
+	call Function222a
+	ret
+; 118329
+
+Function118329: ; 118329
+	call Function1183cb
+	ld a, $15
+	ld [wcd33], a
+	ld a, $16
+	ld [wcd34], a
+	ld a, $6
+	ld [wc3f0], a
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+.asm_118342
+	call Functiona57
+	call Function118473
+	ld a, [wcf66]
+	cp $18
+	jr c, .asm_118355
+	ld a, [wcd34]
+	ld [wcf66], a
+
+.asm_118355
+	call Function118671
+	call Function11a8fa
+	callba Function115dd3
+	callba Function11619d
+	call DelayFrame
+	ld a, [wcf66]
+	ld hl, wcd33
+	cp [hl]
+	jr nz, .asm_118342
+	pop af
+	ld [rSVBK], a
+	call Function118452
+	ret
+; 11837a
+
+Function11837a: ; 11837a
+	call Function1183cb
+	ld a, $16
+	ld [wcd33], a
+	ld a, $17
+	ld [wcd34], a
+	ld a, $6
+	ld [wc3f0], a
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+.asm_118393
+	call Functiona57
+	call Function118473
+	ld a, [wcf66]
+	cp $19
+	jr c, .asm_1183a6
+	ld a, [wcd34]
+	ld [wcf66], a
+
+.asm_1183a6
+	call Function1186b2
+	call Function11a8fa
+	callba Function115dd3
+	callba Function11619d
+	call DelayFrame
+	ld a, [wcf66]
+	ld hl, wcd33
+	cp [hl]
+	jr nz, .asm_118393
+	pop af
+	ld [rSVBK], a
+	call Function118452
+	ret
+; 1183cb
+
+Function1183cb: ; 1183cb
+	di
+	ld a, [rIE]
+	ld [wcd32], a
+	call DoubleSpeed
+	xor a
+	ld [rIF], a
+	ld [wc300], a
+	ld [wc301], a
+	ld [wc302], a
+	ld [wcd80], a
+	ld [wcd65], a
+	ld [wcd66], a
+	ld [wcd67], a
+	ld [wcd68], a
+	ld [wc31a], a
+	ld [wcd89], a
+	ld [wcd8a], a
+	ld [wcd8b], a
+	ld [wc3ec], a
+	ld [wc3ed], a
+	ld [wc3ee], a
+	ld [wc3ef], a
+	ld hl, VramState
+	ld a, [hl]
+	ld [wcd7f], a
+	set 1, [hl]
+	ld a, $f
+	ld [rIE], a
+	ld a, $1
+	ld [$ffc9], a
+	ld [$ffe9], a
+	ei
+	callba Function106462
+	callba Function106464
+	callba Function115d99
+	callba Function11615a
+	ld a, $5
+	call GetSRAMBank
+	xor a
+	ld [$bfff], a
+	call CloseSRAM
+	ret
+; 118440
+
+Function118440: ; 118440
+	push af
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$bfff]
+	inc a
+	ld [$bfff], a
+	call CloseSRAM
+	pop af
+	ret
+; 118452
+
+Function118452: ; 118452
+	di
+	xor a
+	ld [$ffc9], a
+	ld [$ffe9], a
+	ld [hVBlank], a
+	call NormalSpeed
+	xor a
+	ld [rIF], a
+	ld a, [wcd32]
+	ld [rIE], a
+	ei
+	ld a, [wcd7f]
+	ld [VramState], a
+	ld a, [wc300]
+	ld [ScriptVar], a
+	ret
+; 118473
+
+Function118473: ; 118473
+	ld a, [wcd65]
+	and a
+	ret z
+	ld a, [wcd66]
+	inc a
+	ld [wcd66], a
+	cp $3c
+	ret nz
+	xor a
+	ld [wcd66], a
+	ld a, [wcd67]
+	inc a
+	ld [wcd67], a
+	cp $3c
+	ret nz
+	ld a, [wcd68]
+	inc a
+	ld [wcd68], a
+	cp $63
+	jr z, .asm_1184a0
+	xor a
+	ld [wcd67], a
+	ret
+
+.asm_1184a0
+	xor a
+	ld [wcd65], a
+	ret
+; 1184a5
+
+Function1184a5: ; 1184a5
+	ld a, [wcf66]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_1184b4
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 1184b4
+
+Jumptable_1184b4: ; 1184b4
+	dw Function11886e
+	dw Function118880
+	dw Function11878d
+	dw Function1188b0
+	dw Function11878d
+	dw Function1188b8
+	dw Function11878d
+	dw Function1188c0
+	dw Function11878d
+	dw Function1188c8
+	dw Function11878d
+	dw Function118903
+	dw Function118a8f
+	dw Function11878d
+	dw Function118d80
+	dw Function118d9b
+	dw Function11878d
+	dw Function118ded
+	dw Function118e6d
+	dw Function11878d
+	dw Function11984e
+	dw Function118e76
+	dw Function118e7e
+	dw Function11878d
+	dw Function11805e
+	dw Function118e76
+	dw Function118e87
+	dw Function118e76
+; 1184ec
+
+Function1184ec: ; 1184ec
+	ld a, [wcf66]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_1184fb
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 1184fb
+
+Jumptable_1184fb: ; 1184fb
+	dw Function11886e
+	dw Function118880
+	dw Function11878d
+	dw Function1188b0
+	dw Function11878d
+	dw Function1188b8
+	dw Function11878d
+	dw Function1188c0
+	dw Function11878d
+	dw Function1188c8
+	dw Function11878d
+	dw Function118903
+	dw Function119954
+	dw Function11878d
+	dw Function119973
+	dw Function11878d
+	dw Function119987
+	dw Function11878d
+	dw Function1199b4
+	dw Function1199ca
+	dw Function11878d
+	dw Function1199e2
+	dw Function119b0d
+	dw Function11878d
+	dw Function119b6b
+	dw Function119b3b
+	dw Function11878d
+	dw Function119b52
+	dw Function11878d
+	dw Function118e6d
+	dw Function11878d
+	dw Function118e76
+	dw Function118e7e
+	dw Function11878d
+	dw Function11805e
+	dw Function118e76
+	dw Function118e87
+	dw Function119b45
+	dw Function11878d
+	dw Function119ac9
+	dw Function118e76
+; 11854d
+
+Function11854d: ; 11854d
+	ld a, [wcf66]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_11855c
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 11855c
+
+Jumptable_11855c: ; 11855c
+	dw Function118922
+	dw Function118936
+	dw Function118982
+	dw Function11805e
+	dw Function119ca2
+	dw Function119cab
+	dw Function119cb8
+	dw Function119cc3
+	dw Function119cdf
+	dw Function119cec
+	dw Function119c97
+	dw Function119cab
+	dw Function119cb8
+	dw Function118e76
+	dw Function118e87
+	dw Function118e76
+; 11857c
+
+Function11857c: ; 11857c
+	ld a, [wcf66]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_11858b
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 11858b
+
+Jumptable_11858b: ; 11858b
+	dw Function11886e
+	dw Function118880
+	dw Function11878d
+	dw Function1188b0
+	dw Function11878d
+	dw Function1188b8
+	dw Function11878d
+	dw Function1188c0
+	dw Function11878d
+	dw Function1188c8
+	dw Function11878d
+	dw Function118903
+	dw Function118a7a
+	dw Function11878d
+	dw Function11891c
+	dw Function1198ee
+	dw Function1198f7
+	dw Function11878d
+	dw Function119937
+	dw Function118e6d
+	dw Function11878d
+	dw Function118e76
+	dw Function118e7e
+	dw Function11878d
+	dw Function11805e
+	dw Function118e76
+	dw Function118e87
+	dw Function118e76
+; 1185c3
+
+Function1185c3: ; 1185c3
+	ld a, [wcf66]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_1185d2
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 1185d2
+
+Jumptable_1185d2: ; 1185d2
+	dw Function11886e
+	dw Function118880
+	dw Function11878d
+	dw Function1188b0
+	dw Function11878d
+	dw Function1188b8
+	dw Function11878d
+	dw Function1188c0
+	dw Function11878d
+	dw Function1188c8
+	dw Function11878d
+	dw Function118903
+	dw Function118aa4
+	dw Function11878d
+	dw Function118e92
+	dw Function11878d
+	dw Function118eb0
+	dw Function118ec6
+	dw Function118f0d
+	dw Function118f14
+	dw Function118f5e
+	dw Function11878d
+	dw Function118fc0
+	dw Function11878d
+	dw Function119054
+	dw Function1190d0
+	dw Function11878d
+	dw Function1190ec
+	dw Function118e6d
+	dw Function11878d
+	dw Function118e76
+	dw Function118e7e
+	dw Function11878d
+	dw Function11805e
+	dw Function118e76
+	dw Function118e87
+	dw Function119cc3
+	dw Function119cdf
+	dw Function119cec
+	dw Function11914e
+	dw Function118e76
+; 118624
+
+Function118624: ; 118624
+	ld a, [wcf66]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_118633
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 118633
+
+Jumptable_118633: ; 118633
+	dw Function118866
+	dw Function118880
+	dw Function11878d
+	dw Function1188b0
+	dw Function11878d
+	dw Function1188b8
+	dw Function11878d
+	dw Function1188c0
+	dw Function11878d
+	dw Function1188c8
+	dw Function11878d
+	dw Function118903
+	dw Function118aa4
+	dw Function11878d
+	dw Function118e92
+	dw Function11878d
+	dw Function11915d
+	dw Function118f68
+	dw Function11878d
+	dw Function119009
+	dw Function11878d
+	dw Function119054
+	dw Function118e6d
+	dw Function11878d
+	dw Function118e76
+	dw Function118e7e
+	dw Function11878d
+	dw Function11805e
+	dw Function118e76
+	dw Function118e87
+	dw Function118e76
+; 118671
+
+Function118671: ; 118671
+	ld a, [wcf66]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_118680
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 118680
+
+Jumptable_118680: ; 118680
+	dw Function118866
+	dw Function118880
+	dw Function11878d
+	dw Function1188b0
+	dw Function11878d
+	dw Function1188b8
+	dw Function11878d
+	dw Function1188c0
+	dw Function11878d
+	dw Function1188c8
+	dw Function11878d
+	dw Function118903
+	dw Function119380
+	dw Function119388
+	dw Function1193a0
+	dw Function11878d
+	dw Function118e6d
+	dw Function11878d
+	dw Function118e76
+	dw Function118e7e
+	dw Function11878d
+	dw Function11805e
+	dw Function118e76
+	dw Function118e87
+	dw Function118e76
+; 1186b2
+
+Function1186b2: ; 1186b2
+	ld a, [wcf66]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_1186c1
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 1186c1
+
+Jumptable_1186c1: ; 1186c1
+	dw Function118866
+	dw Function118880
+	dw Function11878d
+	dw Function1188b0
+	dw Function11878d
+	dw Function1188b8
+	dw Function11878d
+	dw Function1188c0
+	dw Function11878d
+	dw Function1188c8
+	dw Function11878d
+	dw Function118903
+	dw Function119380
+	dw Function1193e3
+	dw Function1193fb
+	dw Function11878d
+	dw Function119413
+	dw Function118e6d
+	dw Function11878d
+	dw Function118e76
+	dw Function118e7e
+	dw Function11878d
+	dw Function11805e
+	dw Function118e76
+	dw Function118e87
+	dw Function118e76
+; 1186f5
+
+Function1186f5: ; 1186f5 (46:46f5)
+	ld a, [wcf66]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_118704
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 118704 (46:4704)
+
+Jumptable_118704: ; 118704 (46:4704)
+	dw Function11886a
+	dw Function118880
+	dw Function11878d
+	dw Function1188b0
+	dw Function11878d
+	dw Function1188b8
+	dw Function11878d
+	dw Function1188c0
+	dw Function11878d
+	dw Function1188c8
+	dw Function11878d
+	dw Function118903
+	dw Function118abc
+	dw Function11878d
+	dw Function119451
+	dw Function1195f8
+	dw Function119612
+	dw Function119629
+	dw Function119648
+	dw Function11878d
+	dw Function118e6d
+	dw Function11878d
+	dw Function118e76
+	dw Function118e7e
+	dw Function11878d
+	dw Function11805e
+	dw Function11967d
+	dw Function119685
+	dw Function119665
+	dw Function11966d
+	dw Function118e76
+	dw Function118e87
+	dw Function118e76
+; 118746 (46:4746)
+
+Function118746: ; 118746
+	ld a, [wcf66]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_118755
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 118755
+
+Jumptable_118755: ; 118755
+	dw Function11886e
+	dw Function118880
+	dw Function11878d
+	dw Function1188b0
+	dw Function11878d
+	dw Function1188b8
+	dw Function11878d
+	dw Function1188c0
+	dw Function11878d
+	dw Function1188c8
+	dw Function11878d
+	dw Function118903
+	dw Function118ad0
+	dw Function11878d
+	dw Function1196f2
+	dw Function1197c9
+	dw Function1197dc
+	dw Function11878d
+	dw Function118e6d
+	dw Function11878d
+	dw Function119800
+	dw Function118e76
+	dw Function118e7e
+	dw Function11878d
+	dw Function11805e
+	dw Function118e76
+	dw Function118e87
+	dw Function118e76
+; 11878d
+
+Function11878d: ; 11878d (46:478d)
+	ld a, [wc821]
+	bit 1, a
+	jr nz, .asm_1187af
+	bit 2, a
+	jr nz, .asm_1187d1
+	bit 0, a
+	jr nz, .asm_1187aa
+	ld a, [wcd89]
+	and $1
+	jr z, .asm_1187a7
+	ld a, $3
+	ld [rSVBK], a ; $ff00+$70
+.asm_1187a7
+	jp Function119e2e
+.asm_1187aa
+	call Function118821
+	ret c
+	ret
+.asm_1187af
+	ld a, $0
+	call Function3e32
+	ld [wc300], a
+	ld a, l
+	ld [wc301], a
+	ld a, h
+	ld [wc302], a
+	ld a, $a
+	call Function3e32
+	ld a, [wc3f0]
+	ld [wc319], a
+	ld a, [wcd34]
+	ld [wcf66], a
+	ret
+.asm_1187d1
+	ld hl, wcd89
+	bit 0, [hl]
+	jr nz, .asm_118803
+	set 0, [hl]
+	ld a, $6
+	ld [rSVBK], a ; $ff00+$70
+	ld de, Unkn1Pals
+	ld bc, $1000
+	ld a, [hl]
+	sla a
+	jr c, .asm_1187f9
+	sla a
+	jr c, .asm_1187fd
+	sla a
+	jr c, .asm_1187f5
+	ld a, $24
+	jr .asm_1187ff
+.asm_1187f5
+	ld a, $28
+	jr .asm_1187ff
+.asm_1187f9
+	ld a, $2a
+	jr .asm_1187ff
+.asm_1187fd
+	ld a, $2c
+.asm_1187ff
+	call Function3e32
+	ret
+.asm_118803
+	ld a, $d3
+
+Function118805: ; 118805 (46:4805)
+	ld [wc300], a
+	xor a
+	ld [wc301], a
+	ld [wc302], a
+	ld a, $a
+	call Function3e32
+	ld a, [wc3f0]
+	ld [wc319], a
+	ld a, [wcd34]
+	ld [wcf66], a
+	ret
+
+Function118821: ; 118821 (46:4821)
+	ld a, [wc319]
+	cp $3
+	jr c, .asm_11884a
+	cp $4
+	jr z, .asm_11884a
+	ld a, [hJoyDown] ; $ff00+$a8
+	cp $5
+	jr nz, .asm_11884a
+	ld a, $a
+	call Function3e32
+	ld a, $a
+	ld [wc300], a
+	ld a, [wc3f0]
+	ld [wc319], a
+	ld a, [wcd34]
+	ld [wcf66], a
+	scf
+	ret
+.asm_11884a
+	and a
+	ret
+; 11884c (46:484c)
+
+Function11884c: ; 11884c
+	ld a, [hJoyDown]
+	cp $5
+	jr nz, .asm_118864
+	ld a, $a
+	call Function3e32
+	ld a, $a
+	ld [wc300], a
+	ld a, [wcd34]
+	ld [wcf66], a
+	scf
+	ret
+
+.asm_118864
+	and a
+	ret
+; 118866
+
+Function118866:
+	ld a, 2
+	jr asm_11886f
+
+Function11886a: ; 11886a (46:486a)
+	ld a, 1
+	jr asm_11886f
+; 11886e (46:486e)
+
+Function11886e:
+	xor a
+
+asm_11886f
+	ld [BGMapPalBuffer], a
+	ld a, $0
+	ld [wcd3c], a
+	call Function119e2e
+	ld a, [wcd33]
+	ld [wcd45], a
+
+Function118880: ; 118880 (46:4880)
+	call Function119ed8
+	ret c
+	xor a
+	ld [wcf64], a
+	ld [wc807], a
+	ld de, wcd81
+	ld hl, $46
+	ld a, $2
+	jp Function119e2b
+; 118896 (46:4896)
+
+Function118896: ; 118896
+	ld a, [wc821]
+	bit 1, a
+	jr nz, .asm_1188a5
+	bit 2, a
+	jr nz, .asm_1188a5
+	bit 0, a
+	jr z, .asm_1188aa
+
+.asm_1188a5
+	ld a, $34
+	jp Function119e2b
+
+.asm_1188aa
+	call Function119e2e
+	jp Function119e2e
+; 1188b0
+
+Function1188b0: ; 1188b0 (46:48b0)
+	ld de, wc346
+	ld a, $c
+	jp Function119e2b
+
+Function1188b8: ; 1188b8 (46:48b8)
+	ld de, wc3ac
+	ld a, $e
+	jp Function119e2b
+
+Function1188c0: ; 1188c0 (46:48c0)
+	ld de, wc3cd
+	ld a, $10
+	jp Function119e2b
+
+Function1188c8: ; 1188c8 (46:48c8)
+	ld a, $1
+	ld [wcd65], a
+	call Function1188e7
+	ld hl, wc708
+.asm_1188d3
+	ld a, [de]
+	inc de
+	ld [hli], a
+	and a
+	jr nz, .asm_1188d3
+	call Function119eb4
+	call Function119ec2
+	ld hl, wc708
+	ld a, $6
+	jp Function119e2b
+
+Function1188e7: ; 1188e7 (46:48e7)
+	ld de, wc346
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$aa4a]
+	call CloseSRAM
+	and a
+	ret z
+	sla a
+	ld c, a
+.asm_1188fa
+	ld a, [de]
+	inc de
+	and a
+	jr nz, .asm_1188fa
+	dec c
+	jr nz, .asm_1188fa
+	ret
+
+Function118903: ; 118903 (46:4903)
+	ld a, [wc3f0]
+	ld [wc319], a
+	ld c, $1
+	callba Function115e18
+	ld a, $8
+	ld [wcd3c], a
+	call Function119ed8
+	jp Function119e2e
+; 11891c (46:491c)
+
+Function11891c: ; 11891c
+	call Function118b42
+	jp Function119e2e
+; 118922
+
+Function118922: ; 118922
+	ld a, [wcd38]
+	and a
+	jr nz, .asm_11892d
+	ld hl, UnknownText_0x11aba5
+	jr .asm_118930
+
+.asm_11892d
+	ld hl, UnknownText_0x11abcb
+
+.asm_118930
+	call Function11a9c0
+	call Function119e2e
+
+Function118936:
+	ld a, [wc31a]
+	and a
+	ret nz
+	ld hl, MenuDataHeader_119cf7
+	call LoadMenuDataHeader
+	call Function1cbb
+	call Function1cfd
+	call Function321c
+	hlcoord 16, 8, AttrMap
+	ld a, $40
+	or [hl]
+	ld [hl], a
+	call Function3200
+	ld a, $1
+	ld [wcd4f], a
+	ld a, $1
+	ld [rSVBK], a
+	ld a, [StatusFlags]
+	bit 6, a
+	jr nz, .asm_11896b
+	ld hl, Strings_119d64
+	ld a, $5
+	jr .asm_118970
+
+.asm_11896b
+	ld hl, Strings_119d0c
+	ld a, $b
+
+.asm_118970
+	ld [wcd4a], a
+	ld a, l
+	ld [wcd4b], a
+	ld a, h
+	ld [wcd4c], a
+	ld a, $3
+	ld [rSVBK], a
+	call Function119e2e
+
+Function118982:
+	hlcoord 13, 8
+	ld de, String_119d07
+	call PlaceString
+	hlcoord 13, 10
+	ld de, String_119d07
+	call PlaceString
+	ld a, [wcd4b]
+	ld l, a
+	ld a, [wcd4c]
+	ld h, a
+	ld d, $0
+	ld a, [wcd4f]
+	dec a
+	rlca
+	rlca
+	rlca
+	ld e, a
+	add hl, de
+	ld a, l
+	ld e, a
+	ld a, h
+	ld d, a
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	ld bc, StringBuffer3
+.asm_1189b5
+	ld a, [hli]
+	cp $50
+	jr z, .asm_1189c4
+	cp $7f
+	jr z, .asm_1189c2
+	ld [bc], a
+	inc bc
+	jr .asm_1189b5
+
+.asm_1189c2
+	ld a, $50
+
+.asm_1189c4
+	ld [bc], a
+	pop af
+	ld [rSVBK], a
+	hlcoord 13, 9
+	call PlaceString
+	ld hl, hJoyPressed
+	ld a, [hl]
+	and $2
+	jr nz, .asm_118a39
+	ld a, [hl]
+	and $1
+	jr nz, .asm_118a01
+	ld a, [hl]
+	and $80
+	jr nz, .asm_1189e6
+	ld a, [hl]
+	and $40
+	jr nz, .asm_1189f2
+.asm_1189e5
+	ret
+
+.asm_1189e6
+	ld hl, wcd4f
+	dec [hl]
+	jr nz, .asm_1189e5
+	ld a, [wcd4a]
+	ld [hl], a
+	jr .asm_1189e5
+
+.asm_1189f2
+	ld a, [wcd4a]
+	ld hl, wcd4f
+	inc [hl]
+	cp [hl]
+	jr nc, .asm_1189e5
+	ld a, $1
+	ld [hl], a
+	jr .asm_1189e5
+
+.asm_118a01
+	call PlayClickSFX
+	ld a, [wcd4f]
+	ld hl, wcd4a
+	cp [hl]
+	jr z, .asm_118a3c
+	dec a
+	and $fe
+	srl a
+	ld [wcf65], a
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	call Function1c17
+	pop af
+	ld [rSVBK], a
+	ld a, [wcd38]
+	and a
+	jr nz, .asm_118a30
+	call Function119d93
+	ret c
+	call Function119dd1
+	ret c
+
+.asm_118a30
+	ld a, [wcd4f]
+	ld [wd000 + $800], a
+	jp Function119e2e
+
+.asm_118a39
+	call PlayClickSFX
+
+.asm_118a3c
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	call Function1c17
+	pop af
+	ld [rSVBK], a
+	ld a, $7
+	ld [wcf66], a
+	ld a, $0
+	ld [wcd46], a
+	ret
+; 118a54
+
+Function118a54: ; 118a54
+	ld a, [wcd55]
+	ld l, a
+	ld a, [wcd56]
+	ld h, a
+	ld de, wc3ec
+	ld bc, $0004
+	jp Function118ae4
+; 118a65
+
+Function118a65: ; 118a65
+	ld hl, BattleDownloadURL
+	ld de, wcc60
+	ld bc, $80
+	call CopyBytes
+	ld de, Unkn1Pals
+	ld bc, $1000
+	jp Function118b10
+; 118a7a
+
+Function118a7a: ; 118a7a
+	ld hl, BattleDownloadURL
+	ld de, wcc60
+	ld bc, $80
+	call CopyBytes
+	ld de, Unkn1Pals
+	ld bc, $1000
+	jp Function118b10
+; 118a8f
+
+Function118a8f: ; 118a8f
+	ld hl, ExchangeDownloadURL
+	ld de, wcc60
+	ld bc, $80
+	call CopyBytes
+	ld de, Unkn1Pals
+	ld bc, $1000
+	jp Function118b10
+; 118aa4
+
+Function118aa4: ; 118aa4
+	ld hl, NewsDownloadURL
+	ld de, wcc60
+	ld bc, $80
+	call CopyBytes
+	ld a, $5
+	ld [rSVBK], a
+	ld de, LYOverrides
+	ld bc, $e00
+	jr Function118b10
+; 118abc
+
+Function118abc: ; 118abc (46:4abc)
+	ld hl, MenuDownloadURL
+	ld de, wcc60
+	ld bc, $80
+	call CopyBytes
+	ld de, Unkn1Pals
+	ld bc, $1000
+	jr Function118b10
+; 118ad0 (46:4ad0)
+
+Function118ad0:
+	ld hl, IndexDownloadURL
+	ld de, wcc60
+	ld bc, $80
+	call CopyBytes
+	ld de, Unkn1Pals
+	ld bc, $1000
+	jr Function118b10
+
+Function118ae4:
+	push bc
+	push de
+	push hl
+	ld a, $8
+	ld [wcd3c], a
+	call Function119ed8
+	pop hl
+	ld c, $0
+	ld de, wcc60
+.asm_118af5
+	ld a, [hli]
+	ld [de], a
+	inc de
+	and a
+	jr z, .asm_118b06
+	inc c
+	ld a, c
+	cp $a6
+	jr c, .asm_118af5
+	ld a, $da
+	jp Function118805
+
+.asm_118b06
+	call Function118b24
+	pop de
+	pop bc
+	ld a, $2a
+	jp Function119e2b
+; 118b10
+
+Function118b10:
+	push de
+	push bc
+	ld a, $8
+	ld [wcd3c], a
+	call Function119ed8
+	call Function118b24
+	pop bc
+	pop de
+	ld a, $2a
+	jp Function119e2b
+
+Function118b24: ; 118b24 (46:4b24)
+	ld hl, wc346
+	ld a, $8
+	ld [hli], a
+	ld a, $c7
+	ld [hli], a
+	ld a, $60
+	ld [hli], a
+	ld a, $cc
+	ld [hli], a
+	call Function119eb4
+	call Function119ec2
+	ld a, $80
+	ld [wcd89], a
+	ld hl, wc346
+	ret
+; 118b42 (46:4b42)
+
+Function118b42: ; 118b42
+	ld hl, DefaultFlypoint
+	ld a, l
+	ld [wcd51], a
+	ld a, h
+	ld [wcd52], a
+	call Function118b8c
+	ld a, l
+	ld [wcd55], a
+	ld [wcd59], a
+	ld a, h
+	ld [wcd56], a
+	ld [wcd5a], a
+	call Function118b8c
+	ld a, l
+	ld [wcd53], a
+	ld [wcd5d], a
+	ld a, h
+	ld [wcd54], a
+	ld [wcd5e], a
+	call Function118b8c
+	ld a, l
+	ld [wcd57], a
+	ld [wcd5b], a
+	ld a, h
+	ld [wcd58], a
+	ld [wcd5c], a
+	call Function118b8c
+	ld a, l
+	ld [wcd5f], a
+	ld a, h
+	ld [wcd60], a
+	ret
+; 118b8c
+
+Function118b8c: ; 118b8c
+.asm_118b8c
+	call Function118b9a
+	ret nc
+	ld a, [hli]
+	cp $d
+	jr nz, .asm_118b8c
+	dec hl
+	xor a
+	ld [hli], a
+	ld [hli], a
+	ret
+; 118b9a
+
+Function118b9a: ; 118b9a
+	ld a, h
+	cp $e0
+	ret c
+	ld a, $d3
+	call Function118805
+	and a
+	ret
+; 118ba5
+
+
+	charmap " ", $20 ; revert to ascii
+
+ExchangeDownloadURL: ; 0x118ba5
+	db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/exchange/index.txt", 0
+
+BattleDownloadURL: ; 0x118bf7
+	db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/battle/index.txt", 0
+
+NewsDownloadURL: ; 0x118c47
+	db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/news/index.txt", 0
+
+MenuDownloadURL: ; 0x118c95
+	db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/POKESTA/menu.cgb", 0
+
+IndexDownloadURL: ; 0x118ce5
+	db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/tamago/index.txt", 0
+
+
+Function118d35: ; 118d35
+	ld hl, LYOverridesBackup
+	ld a, [wcd38]
+	and a
+	jr nz, .asm_118d6e
+	ld a, [hli]
+	cp $94
+	jr nz, .asm_118d7b
+	ld a, [hl]
+	cp $5
+	jr nz, .asm_118d7b
+	ld a, [wcd4f]
+	sla a
+	ld b, a
+	sla a
+	sla a
+	add b
+	ld b, a
+	ld a, $5
+	call GetSRAMBank
+	ld a, b
+	ld [$b2fb], a
+	call CloseSRAM
+	callba Function170be4
+	callba Function1700c4
+	jr .asm_118d78
+
+.asm_118d6e
+	ld a, [hli]
+	cp $96
+	jr nz, .asm_118d7b
+	ld a, [hl]
+	cp $0
+	jr nz, .asm_118d7b
+
+.asm_118d78
+	jp Function119e2e
+
+.asm_118d7b
+	ld a, $d3
+	jp Function118805
+; 118d80
+
+Function118d80: ; 118d80
+	call Function118e06
+	ld a, [wcd38]
+	and a
+	jr z, .asm_118d8e
+	call Function119e2e
+	jr asm_118d9f
+
+.asm_118d8e
+	ld a, $9
+	ld [wcd3c], a
+	ld a, $12
+	ld [wcd45], a
+	call Function119e2e
+
+Function118d9b:
+	call Function119ed8
+	ret c
+
+asm_118d9f
+	ld hl, $c608
+	call Function119940
+	ld a, [wcd38]
+	and a
+	jr nz, .asm_118db2
+	ld a, $8f
+	ld [wcd3b], a
+	jr .asm_118db7
+
+.asm_118db2
+	ld a, $26
+	ld [wcd3b], a
+
+.asm_118db7
+	ld hl, $d800
+	ld a, $8
+	ld [hli], a
+	ld a, $c6
+	ld [hli], a
+	ld a, [wcd3b]
+	ld [hli], a
+	xor a
+	ld [hli], a
+	ld a, $8
+	ld [hli], a
+	ld a, $c7
+	ld [hli], a
+	ld a, [wcd39]
+	ld [hli], a
+	ld a, [wcd3a]
+	ld [hli], a
+	call Function119eb4
+	call Function119ec2
+	ld a, $40
+	ld [wcd89], a
+	ld hl, $d800
+	ld de, $de00
+	ld bc, $0200
+	ld a, $2c
+	jp Function119e2b
+; 118ded
+
+Function118ded: ; 118ded
+	ld a, [wcd38]
+	and a
+	jr z, .asm_118e03
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	callba Function11b93b
+	pop af
+	ld [rSVBK], a
+
+.asm_118e03
+	jp Function119e2e
+; 118e06
+
+Function118e06: ; 118e06
+	ld hl, DefaultFlypoint
+	ld a, [wcd38]
+	and a
+	jr z, .asm_118e1d
+.asm_118e0f
+	call Function118b9a
+	ret nc
+	ld a, [hli]
+	cp $d
+	jr nz, .asm_118e0f
+	ld a, [hli]
+	cp $a
+	jr nz, .asm_118e0f
+
+.asm_118e1d
+	ld a, l
+	ld [wcd39], a
+	ld a, h
+	ld [wcd3a], a
+.asm_118e25
+	call Function118b9a
+	ret nc
+	ld a, [hli]
+	cp $d
+	jr nz, .asm_118e25
+	ld a, [hli]
+	cp $a
+	jr nz, .asm_118e25
+	dec hl
+	xor a
+	ld [hld], a
+	ld [hl], a
+	jr asm_118e3e
+
+Function118e39: ; 118e39 (46:4e39)
+.asm_118e39
+	ld a, [hli]
+	and a
+	jr nz, .asm_118e39
+	dec hl
+asm_118e3e
+.asm_118e3e
+	ld a, [hld]
+	cp $2f
+	jr nz, .asm_118e3e
+	inc hl
+	inc hl
+	ld de, wcd85
+	ld c, $4
+.asm_118e4a
+	ld a, [hli]
+	cp $2e
+	jr z, .asm_118e63
+	cp $30
+	jr c, .asm_118e67
+	cp $3a
+	jr nc, .asm_118e67
+	sub $30
+	add $f6
+	ld [de], a
+	inc de
+	dec c
+	jr nz, .asm_118e4a
+	ld de, wcd85
+.asm_118e63
+	ld a, $50
+	ld [de], a
+	ret
+.asm_118e67
+	ld a, $f3
+	ld [de], a
+	inc de
+	jr .asm_118e63
+
+Function118e6d: ; 118e6d (46:4e6d)
+	xor a
+	ld [wcd65], a
+	ld a, $a
+	jp Function119e2b
+
+Function118e76: ; 118e76 (46:4e76)
+	ld a, $c
+	ld [wcd3c], a
+	jp Function119e2e
+
+Function118e7e: ; 118e7e (46:4e7e)
+	call Function119ed8
+	ret c
+	ld a, $36
+	jp Function119e2b
+
+Function118e87: ; 118e87 (46:4e87)
+	call Function119ed8
+	ret c
+	ld a, [wcd33]
+	ld [wcf66], a
+	ret
+; 118e92 (46:4e92)
+
+Function118e92: ; 118e92
+	call Function118440
+	call Function1191d3
+	ld a, [wcd53]
+	ld l, a
+	ld a, [wcd54]
+	ld h, a
+	ld de, wcc60
+	call Function1191ad
+	ret c
+	ld de, $d800
+	ld bc, $0800
+	jp Function118b10
+; 118eb0
+
+Function118eb0: ; 118eb0
+	call Function118440
+	ld hl, $d802
+	ld de, BGMapBuffer
+	ld bc, $000c
+	call CopyBytes
+	call Function1192cc
+	ret c
+	jp Function119e2e
+; 118ec6
+
+Function118ec6: ; 118ec6
+	call Function118440
+	call SpeechTextBox
+	ld hl, $d80e
+	ld de, wc320
+	ld bc, $0026
+	call CopyBytes
+	xor a
+	ld [wc31f], a
+	ld a, $20
+	ld [wc31b], a
+	ld a, $c3
+	ld [wc31c], a
+	hlcoord 1, 14
+	ld a, l
+	ld [wc31d], a
+	ld a, h
+	ld [wc31e], a
+	ld a, $2
+	ld [wc31a], a
+	ld a, $1d
+	ld [wcd3c], a
+	ld a, $24
+	ld [wcd45], a
+	ld a, $11
+	ld [wcd46], a
+	ld a, $1c
+	ld [wcd47], a
+	jp Function119e2e
+; 118f0d
+
+Function118f0d: ; 118f0d
+	call Function119ed8
+	ret c
+	call Function118440
+
+Function118f14:
+	call Function118440
+	ld a, [wcd51]
+	ld l, a
+	ld a, [wcd52]
+	ld h, a
+	ld de, wcc60
+	call Function1191ad
+	ret c
+	ld a, [wcc60]
+	and a
+	jr z, .asm_118f32
+	ld hl, UnknownText_0x11aa13
+	call Function11a9c0
+
+.asm_118f32
+	ld a, [wcd57]
+	ld l, a
+	ld a, [wcd58]
+	ld h, a
+	ld de, wcc60
+	call Function1191ad
+	ret c
+	ld hl, wcc60
+	call Function118e39
+	ld a, $9
+	ld [wcd3c], a
+	ld a, $24
+	ld [wcd45], a
+	ld a, $13
+	ld [wcd46], a
+	ld a, $1c
+	ld [wcd47], a
+	jp Function119e2e
+; 118f5e
+
+Function118f5e: ; 118f5e
+	call Function119ed8
+	ret c
+	call Function118440
+	call DelayFrame
+
+Function118f68:
+	call Function119223
+	ret c
+	call Function118440
+	ld a, [wcd51]
+	ld l, a
+	ld a, [wcd52]
+	ld h, a
+	ld de, wcc60
+	call Function1191ad
+	ret c
+	ld a, [wcc60]
+	and a
+	jr z, .asm_118fba
+	ld hl, wc346
+	ld a, $c608 % $100
+	ld [hli], a
+	ld a, $c608 / $100
+	ld [hli], a
+	ld a, [wcd4b]
+	ld [hli], a
+	ld a, [wcd4c]
+	ld [hli], a
+	ld a, wc708 % $100
+	ld [hli], a
+	ld a, wc708 / $100
+	ld [hli], a
+	ld a, $60
+	ld [hli], a
+	ld a, $cc
+	ld [hli], a
+	call Function119eb4
+	call Function119ec2
+	ld a, $40
+	ld [wcd89], a
+	ld hl, wc346
+	ld de, $de00
+	ld bc, $0200
+	ld a, $2c
+	jp Function119e2b
+
+.asm_118fba
+	call Function119e2e
+	jp Function119e2e
+; 118fc0
+
+Function118fc0: ; 118fc0
+	call Function118440
+	ld a, [wcd55]
+	ld l, a
+	ld a, [wcd56]
+	ld h, a
+	ld de, wcc60
+	call Function1191ad
+	ret c
+	ld a, [wcc60]
+	and a
+	jr z, .asm_118ffa
+	ld a, [wcd51]
+	ld l, a
+	ld a, [wcd52]
+	ld h, a
+	ld de, wcc60
+	call Function1191ad
+	ret c
+	ld a, [wcc60]
+	and a
+	jr z, .asm_118ff2
+	ld hl, UnknownText_0x11aa2c
+	jr .asm_118ff5
+
+.asm_118ff2
+	ld hl, UnknownText_0x11aa4b
+
+.asm_118ff5
+	call Function11a9c0
+	jr Function119009
+
+.asm_118ffa
+	ld hl, UnknownText_0x11aa4b
+	call Function11a9c0
+	call Function119e2e
+	call Function119e2e
+	jp Function119e2e
+
+Function119009:
+	call Function118440
+	call Function119300
+	ld a, [wcd55]
+	ld l, a
+	ld a, [wcd56]
+	ld h, a
+	ld de, wcc60
+	call Function1191ad
+	ret c
+	ld hl, wc346
+	ld a, $8
+	ld [hli], a
+	ld a, $c6
+	ld [hli], a
+	ld a, [wcd4b]
+	ld [hli], a
+	ld a, [wcd4c]
+	ld [hli], a
+	ld a, $8
+	ld [hli], a
+	ld a, $c7
+	ld [hli], a
+	ld a, $60
+	ld [hli], a
+	ld a, $cc
+	ld [hli], a
+	call Function119eb4
+	call Function119ec2
+	ld a, $40
+	ld [wcd89], a
+	ld hl, wc346
+	ld de, Unkn1Pals
+	ld bc, $1000
+	ld a, $2c
+	jp Function119e2b
+; 119054
+
+Function119054: ; 119054
+	ld a, $6
+	call GetSRAMBank
+	ld hl, DefaultFlypoint
+	ld a, [wcd4f]
+	ld e, a
+	ld a, [wcd50]
+	ld d, a
+	ld a, [Unkn1Pals]
+	ld c, a
+	ld a, [wd001]
+	ld b, a
+	call Function119192
+	ret c
+	ld a, [wcd89]
+	and $1
+	jr z, .asm_11908a
+	ld a, $6
+	ld [rSVBK], a
+	ld hl, DefaultFlypoint
+	ld a, [Unkn1Pals]
+	ld c, a
+	ld a, [wd001]
+	ld b, a
+	call Function119192
+	ret c
+
+.asm_11908a
+	call CloseSRAM
+	ld a, $3
+	ld [rSVBK], a
+	ld a, $5
+	call GetSRAMBank
+	ld a, [wcd4f]
+	ld [$b1b3], a
+	ld a, [wcd50]
+	ld [$b1b4], a
+	ld hl, BGMapBuffer
+	ld de, $aa7f
+	ld bc, $000c
+	call CopyBytes
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	ld a, [wd474]
+	ld [$b2f3], a
+	ld hl, wd475
+	ld de, $b2f4
+	ld bc, $0004
+	call CopyBytes
+	pop af
+	ld [rSVBK], a
+	call CloseSRAM
+	jp Function119e2e
+; 1190d0
+
+Function1190d0: ; 1190d0
+	ld a, $3
+	ld [rSVBK], a
+	ld a, [wcd57]
+	ld l, a
+	ld a, [wcd58]
+	ld h, a
+	ld de, wcc60
+	call Function1191ad
+	ret c
+	ld de, Unkn1Pals
+	ld bc, $1000
+	jp Function118b10
+; 1190ec
+
+Function1190ec: ; 1190ec
+	ld a, $5
+	call GetSRAMBank
+	ld hl, BGMapBuffer
+	ld de, $aa73
+	ld bc, $000c
+	call CopyBytes
+	call CloseSRAM
+	ld a, $5
+	call GetSRAMBank
+	ld a, $1
+	ld [$aa72], a
+	call CloseSRAM
+	ld a, $6
+	call GetSRAMBank
+	ld a, [Unkn1Pals]
+	ld c, a
+	ld a, [wd001]
+	ld b, a
+	ld hl, DefaultFlypoint
+	ld de, $a000
+	call Function119192
+	ret c
+	ld a, [wcd89]
+	and $1
+	jr z, .asm_11913e
+	ld a, $6
+	ld [rSVBK], a
+	ld a, [Unkn1Pals]
+	ld c, a
+	ld a, [wd001]
+	ld b, a
+	ld hl, DefaultFlypoint
+	call Function119192
+	ret c
+
+.asm_11913e
+	ld a, $3
+	ld [rSVBK], a
+	call CloseSRAM
+	ld hl, UnknownText_0x11aa5a
+	call Function11a9c0
+	jp Function119e2e
+; 11914e
+
+Function11914e: ; 11914e
+	call Function119ed8
+	ret c
+	ld a, $1c
+	ld [wcf66], a
+	ld a, $a
+	ld [wc300], a
+	ret
+; 11915d
+
+Function11915d: ; 11915d
+	ld hl, $d802
+	ld de, BGMapBuffer
+	ld bc, $000c
+	call CopyBytes
+	ld a, $5
+	call GetSRAMBank
+	ld hl, BGMapBuffer
+	ld de, $aa7f
+	ld c, $c
+.asm_119176
+	ld a, [de]
+	inc de
+	cp [hl]
+	jr nz, .asm_119184
+	inc hl
+	dec c
+	jr nz, .asm_119176
+	call Function119e2e
+	jr .asm_11918e
+
+.asm_119184
+	ld a, $16
+	ld [wcf66], a
+	ld a, $b
+	ld [wc300], a
+
+.asm_11918e
+	call CloseSRAM
+	ret
+; 119192
+
+Function119192: ; 119192
+	inc b
+	inc c
+	jr .asm_11919e
+
+.asm_119196
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, $bf
+	cp d
+	jr c, .asm_1191a6
+
+.asm_11919e
+	dec c
+	jr nz, .asm_119196
+	dec b
+	jr nz, .asm_119196
+	and a
+	ret
+
+.asm_1191a6
+	ld a, $d3
+	call Function118805
+	scf
+	ret
+; 1191ad
+
+Function1191ad: ; 1191ad
+	push bc
+	ld c, $0
+	ld a, $5
+	ld [rSVBK], a
+.asm_1191b4
+	ld a, [hli]
+	ld [de], a
+	inc de
+	and a
+	jr z, .asm_1191cc
+	inc c
+	ld a, c
+	cp $a6
+	jr c, .asm_1191b4
+	ld a, $da
+	call Function118805
+	ld a, $3
+	ld [rSVBK], a
+	pop bc
+	scf
+	ret
+
+.asm_1191cc
+	ld a, $3
+	ld [rSVBK], a
+	pop bc
+	and a
+	ret
+; 1191d3
+
+Function1191d3: ; 1191d3
+	ld hl, wd102
+	ld a, l
+	ld [wcd53], a
+	ld a, h
+	ld [wcd54], a
+	call Function11920f
+	ld a, l
+	ld [wcd51], a
+	ld a, [wcd4a]
+	ld a, h
+	ld [wcd52], a
+	call Function11920f
+	ld a, l
+	ld [wcd55], a
+	ld a, [wcd4a]
+	ld a, h
+	ld [wcd56], a
+	call Function11920f
+	ld a, [wcd49]
+	ld a, l
+	ld [wcd57], a
+	ld a, [wcd4a]
+	ld a, h
+	ld [wcd58], a
+	call Function11920f
+	ret
+; 11920f
+
+Function11920f: ; 11920f
+.asm_11920f
+	call Function118b9a
+	ret nc
+	ld a, [hli]
+	cp $d
+	jr nz, .asm_11920f
+	ld a, [hli]
+	cp $a
+	jr nz, .asm_11920f
+	dec hl
+	xor a
+	ld [hld], a
+	ld [hli], a
+	inc hl
+	ret
+; 119223
+
+Function119223: ; 119223
+	xor a
+	ld [wcd4b], a
+	ld [wcd4c], a
+	ld a, $5
+	call GetSRAMBank
+	ld hl, wc3cd
+	ld de, $b092
+	ld bc, $001f
+	call CopyBytes
+	dec de
+	xor a
+	ld [de], a
+	ld hl, $d810
+.asm_119241
+	ld a, [hli]
+	cp $50
+	jr nz, .asm_119241
+	ld a, [hli]
+	ld [wcd4f], a
+	ld a, [hli]
+	ld [wcd50], a
+	ld a, [hli]
+	ld [$b1b1], a
+	ld c, a
+	ld a, [hli]
+	ld [$b1b2], a
+	ld b, a
+	ld de, $b1d3
+	call CopyBytes
+	call CloseSRAM
+	ld e, l
+	ld d, h
+	ld hl, $c608
+.asm_119266
+	ld a, [de]
+	inc de
+	cp $ff
+	jr z, .asm_1192c2
+	cp $fe
+	jr z, .asm_1192a5
+	call GetSRAMBank
+	ld a, [de]
+	inc de
+	ld c, a
+	ld a, [de]
+	inc de
+	ld b, a
+	ld a, [de]
+	inc de
+	push de
+	push af
+	ld a, [wcd4b]
+	ld e, a
+	ld a, [wcd4c]
+	ld d, a
+	pop af
+.asm_119286
+	push af
+	ld a, [bc]
+	inc bc
+	ld [hli], a
+	inc de
+	pop af
+	dec a
+	jr nz, .asm_119286
+	call CloseSRAM
+	ld a, e
+	ld [wcd4b], a
+	ld a, d
+	ld [wcd4c], a
+	pop de
+.asm_11929b
+	and a
+	jr z, .asm_119266
+	ld a, $d3
+	call Function118805
+	scf
+	ret
+
+.asm_1192a5
+	ld a, [wcd4b]
+	ld c, a
+	ld a, [wcd4c]
+	ld b, a
+	ld a, [de]
+	inc de
+.asm_1192af
+	push af
+	ld a, [de]
+	inc de
+	ld [hli], a
+	inc bc
+	pop af
+	dec a
+	jr nz, .asm_1192af
+	ld a, c
+	ld [wcd4b], a
+	ld a, b
+	ld [wcd4c], a
+	jr .asm_11929b
+
+.asm_1192c2
+	ld a, e
+	ld [wcd4d], a
+	ld a, d
+	ld [wcd4e], a
+	and a
+	ret
+; 1192cc
+
+Function1192cc: ; 1192cc
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $aa73
+	ld de, $c608
+	ld bc, $000c
+	call CopyBytes
+	call CloseSRAM
+	ld hl, $c608
+	ld de, BGMapBuffer
+	ld c, $c
+.asm_1192e8
+	ld a, [de]
+	inc de
+	ld b, a
+	ld a, [hli]
+	cp b
+	jr nz, .asm_1192fe
+	dec c
+	jr nz, .asm_1192e8
+	ld a, $1f
+	ld [wcd3c], a
+	ld a, $27
+	ld [wcf66], a
+	scf
+	ret
+
+.asm_1192fe
+	and a
+	ret
+; 119300
+
+Function119300: ; 119300
+	xor a
+	ld [wcd4b], a
+	ld [wcd4c], a
+	ld a, [wcd4d]
+	ld e, a
+	ld a, [wcd4e]
+	ld d, a
+	ld hl, $c608
+	ld a, [wcd4b]
+	ld c, a
+	ld a, [wcd4c]
+	ld b, a
+.asm_11931a
+	ld a, [de]
+	inc de
+	cp $50
+	jr z, .asm_119324
+	ld [hli], a
+	inc bc
+	jr .asm_11931a
+
+.asm_119324
+	ld a, $3d
+	ld [hli], a
+	inc bc
+	ld a, c
+	ld [wcd4b], a
+	ld a, b
+	ld [wcd4c], a
+	ld a, [de]
+	inc de
+	call GetSRAMBank
+	ld a, [de]
+	inc de
+	ld c, a
+	ld a, [de]
+	inc de
+	ld b, a
+	ld a, [de]
+	inc de
+	push de
+	push af
+	ld a, [wcd4b]
+	ld e, a
+	ld a, [wcd4c]
+	ld d, a
+	pop af
+.asm_119348
+	push af
+	ld a, [bc]
+	and $f0
+	swap a
+	call Function1197bf
+	ld [hli], a
+	inc de
+	ld a, [bc]
+	inc bc
+	and $f
+	call Function1197bf
+	ld [hli], a
+	inc de
+	pop af
+	dec a
+	jr nz, .asm_119348
+	call CloseSRAM
+	ld a, e
+	ld [wcd4b], a
+	ld a, d
+	ld [wcd4c], a
+	pop de
+	ld a, [de]
+	cp $50
+	jr z, .asm_11937f
+	ld a, [wcd4b]
+	ld c, a
+	ld a, [wcd4c]
+	ld b, a
+	ld a, $26
+	ld [hli], a
+	inc bc
+	jr .asm_11931a
+
+.asm_11937f
+	ret
+; 119380
+
+Function119380: ; 119380
+	ld a, $80
+	ld [wcd49], a
+	jp Function119e2e
+; 119388
+
+Function119388: ; 119388
+	ld hl, wcd49
+	dec [hl]
+	ret nz
+	ld hl, wcc60
+	call Function118e39
+	ld a, $9
+	ld [wcd3c], a
+	ld a, $10
+	ld [wcd45], a
+	call Function119e2e
+
+Function1193a0:
+	call Function119ed8
+	ret c
+	call DelayFrame
+	ld a, $8
+	ld [wcd3c], a
+	call Function119ed8
+	ld hl, wc346
+	ld a, wd000 % $100
+	ld [hli], a
+	ld a, wd000 / $100
+	ld [hli], a
+	ld a, [wcd3b]
+	ld [hli], a
+	xor a
+	ld [hli], a
+	ld a, wc708 % $100
+	ld [hli], a
+	ld a, wc708 / $100
+	ld [hli], a
+	ld a, $60
+	ld [hli], a
+	ld a, $cc
+	ld [hli], a
+	call Function119eb4
+	call Function119ec2
+	ld a, $40
+	ld [wcd89], a
+	ld hl, wc346
+	ld de, $de00
+	ld bc, $0200
+	ld a, $2c
+	jp Function119e2b
+; 1193e3
+
+Function1193e3: ; 1193e3
+	ld hl, wcd49
+	dec [hl]
+	ret nz
+	ld hl, wcc60
+	call Function118e39
+	ld a, $9
+	ld [wcd3c], a
+	ld a, $11
+	ld [wcd45], a
+	call Function119e2e
+
+Function1193fb:
+	call Function119ed8
+	ret c
+	call DelayFrame
+	ld a, $8
+	ld [wcd3c], a
+	call Function119ed8
+	ld de, Unkn1Pals
+	ld bc, $1000
+	jp Function118b10
+; 119413
+
+Function119413: ; 119413
+	ld a, $6
+	call GetSRAMBank
+	ld a, [Unkn1Pals]
+	ld c, a
+	ld a, [wd001]
+	ld b, a
+	dec bc
+	dec bc
+	ld hl, wd002
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	call Function119192
+	ret c
+	ld a, [wcd89]
+	and $1
+	jr z, .asm_119447
+	ld a, $6
+	ld [rSVBK], a
+	ld a, [wd000]
+	ld c, a
+	ld a, [wd001]
+	ld b, a
+	ld hl, wd002
+	call Function119192
+	ret c
+
+.asm_119447
+	ld a, $3
+	ld [rSVBK], a
+	call CloseSRAM
+	jp Function119e2e
+; 119451
+
+Function119451: ; 119451 (46:5451)
+	ld a, [wcd89]
+	and $1
+	jr z, .asm_11945d
+	ld a, $d3
+	jp Function118805
+.asm_11945d
+	xor a
+	ld [wcd50], a
+	call Function119694
+	ld a, b
+	ld [wcd49], a
+	call Function1196cd
+	ld a, [DefaultFlypoint]
+	ld hl, wd003
+
+Function119471: ; 119471 (46:5471)
+	push af
+	ld a, [hli]
+	ld [$c608], a
+	ld a, [hli]
+	ld [$c608 + 3], a
+	ld a, [hli]
+	ld [$c608 + 1], a
+	ld a, [hli]
+	ld [$c608 + 2], a
+	ld a, [hli]
+	ld [$c608 + 4], a
+	ld a, [hli]
+	ld [$c608 + 5], a ; $c608 + 5
+	push hl
+	ld a, [$c608]
+	cp $ff
+	jr z, .asm_1194a7
+	ld a, [$c608 + 2]
+	cp $ff
+	jr z, .asm_1194a7
+	ld a, [$c608 + 1]
+	cp $ff
+	jr nz, .asm_1194a7
+	call Function119584
+	jr c, .asm_11950c
+	jr .asm_1194f0
+.asm_1194a7
+	ld hl, $c608
+	ld de, $c608 + 3
+	ld c, $3
+.asm_1194af
+	ld a, [de]
+	inc de
+	cp [hl]
+	inc hl
+	jr c, .asm_1194f3
+	jr z, .asm_1194b9
+	jr nc, .asm_1194bc
+.asm_1194b9
+	dec c
+	jr nz, .asm_1194af
+.asm_1194bc
+	ld c, $3
+	ld hl, wcd49
+	ld de, $c608
+.asm_1194c4
+	ld a, [de]
+	inc de
+	cp $ff
+	jr z, .asm_1194d1
+	cp [hl]
+	jr z, .asm_1194d1
+	jr c, .asm_1194d5
+	jr nc, .asm_1194f0
+.asm_1194d1
+	inc hl
+	dec c
+	jr nz, .asm_1194c4
+.asm_1194d5
+	ld c, $3
+	ld hl, wcd49
+	ld de, $c608 + 3
+.asm_1194dd
+	ld a, [de]
+	inc de
+	cp $ff
+	jr z, .asm_1194ea
+	cp [hl]
+	jr c, .asm_1194f0
+	jr z, .asm_1194ea
+	jr nc, .asm_11950c
+.asm_1194ea
+	inc hl
+	dec c
+	jr nz, .asm_1194dd
+	jr .asm_11950c
+.asm_1194f0
+	pop hl
+	jr .asm_119557
+.asm_1194f3
+	ld c, $3
+	ld hl, wcd49
+	ld de, $c608
+.asm_1194fb
+	ld a, [de]
+	inc de
+	cp $ff
+	jr z, .asm_119508
+	cp [hl]
+	jr c, .asm_11950c
+	jr z, .asm_119508
+	jr nc, .asm_1194d5
+.asm_119508
+	inc hl
+	dec c
+	jr nz, .asm_1194fb
+.asm_11950c
+	pop hl
+	ld a, $1
+	ld [wcd50], a
+	ld a, l
+	ld [$c608], a
+	ld a, h
+	ld [$c608 + 1], a
+	ld de, wcd69
+	ld c, $10
+	ld b, $0
+.asm_119521
+	ld a, [de]
+	inc de
+	cp [hl]
+	inc hl
+	jr nz, .asm_119528
+	inc b
+.asm_119528
+	dec c
+	jr nz, .asm_119521
+	ld a, $10
+	cp b
+	jr z, .asm_119536
+	inc hl
+	inc hl
+	inc hl
+	inc hl
+	jr .asm_11957a
+.asm_119536
+	ld a, [hli]
+	cp $50
+	jr nz, .asm_119552
+	ld a, [hli]
+	cp $33
+	jr nz, .asm_119553
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	ld a, [wcd83]
+	cp c
+	jr nz, .asm_119576
+	ld a, [wcd84]
+	cp b
+	jr nz, .asm_119576
+	jr .asm_11955b
+.asm_119552
+	inc hl
+.asm_119553
+	inc hl
+	inc hl
+	jr .asm_11955b
+.asm_119557
+	ld de, $14
+	add hl, de
+.asm_11955b
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	add hl, de
+	pop af
+	dec a
+	jp nz, Function119471
+	ld a, [wcd50]
+	and a
+	jr z, .asm_119571
+	ld a, $1a
+	ld [wcf66], a
+	ret
+.asm_119571
+	ld a, $d8
+	jp Function118805
+.asm_119576
+	ld a, $10
+	jr .asm_11957c
+.asm_11957a
+	ld a, $f
+.asm_11957c
+	ld [wcf66], a
+	pop af
+	call Function1195c4
+	ret
+
+Function119584: ; 119584 (46:5584)
+	ld a, [$c608]
+	ld b, a
+	ld a, [$c608 + 3]
+	ld c, a
+	cp b
+	jr c, .asm_11959c
+	ld a, [wcd49]
+	cp b
+	jr c, .asm_1195c2
+.asm_119595
+	cp c
+	jr c, .asm_1195a2
+	jr z, .asm_1195a2
+	jr .asm_1195c2
+.asm_11959c
+	ld a, [wcd49]
+	cp b
+	jr c, .asm_119595
+.asm_1195a2
+	ld a, [$c608 + 2]
+	ld b, a
+	ld a, [$c608 + 5] ; $c608 + 5
+	ld c, a
+	cp b
+	jr c, .asm_1195ba
+	ld a, [wcd4b]
+	cp b
+	jr c, .asm_1195c2
+.asm_1195b3
+	cp c
+	jr c, .asm_1195c0
+	jr z, .asm_1195c0
+	jr .asm_1195c2
+.asm_1195ba
+	ld a, [wcd4b]
+	cp b
+	jr c, .asm_1195b3
+.asm_1195c0
+	scf
+	ret
+.asm_1195c2
+	and a
+	ret
+
+Function1195c4: ; 1195c4 (46:55c4)
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	ld de, $a5
+	ld a, b
+	cp d
+	jr c, .asm_1195d9
+	jr z, .asm_1195d3
+	jr nc, .asm_1195f3
+.asm_1195d3
+	ld a, c
+	cp e
+	jr z, .asm_1195d9
+	jr nc, .asm_1195f3
+.asm_1195d9
+	ld de, wcc60
+	call CopyBytes
+	xor a
+	ld [de], a
+	ld a, [$c608]
+	ld l, a
+	ld a, [$c608 + 1]
+	ld h, a
+	ld de, wcd69
+	ld bc, $10
+	call CopyBytes
+	ret
+.asm_1195f3
+	ld a, $d8
+	jp Function118805
+
+Function1195f8: ; 1195f8 (46:55f8)
+	ld a, $11
+	ld [wcd3c], a
+	ld a, $1c
+	ld [wcd45], a
+	ld a, $f
+	ld [wcd46], a
+	ld a, $14
+	ld [wcd47], a
+	call Function119e2e
+	jp Function119e2e
+
+Function119612: ; 119612 (46:5612)
+	ld a, $14
+	ld [wcd3c], a
+	ld a, $1c
+	ld [wcd45], a
+	ld a, $10
+	ld [wcd46], a
+	ld a, $14
+	ld [wcd47], a
+	jp Function119e2e
+
+Function119629: ; 119629 (46:5629)
+	call Function119ed8
+	ret c
+	ld a, $60
+	ld l, a
+	ld a, $cc
+	ld h, a
+	call Function118e39
+	ld a, $9
+	ld [wcd3c], a
+	ld a, $1c
+	ld [wcd45], a
+	ld a, $14
+	ld [wcd47], a
+	call Function119e2e
+
+Function119648: ; 119648 (46:5648)
+	call Function119ed8
+	ret c
+	call DelayFrame
+	ld a, $8
+	ld [wcd3c], a
+	call Function119ed8
+	call Function118b24
+	ld de, Unkn1Pals
+	ld bc, $1000
+	ld a, $2a
+	jp Function119e2b
+
+Function119665: ; 119665 (46:5665)
+	ld a, $1a
+	ld [wcd3c], a
+	call Function119e2e
+
+Function11966d: ; 11966d (46:566d)
+	call Function119ed8
+	ret c
+	ld a, [wcd47]
+	ld [wcf66], a
+	ld a, $a
+	ld [wc300], a
+	ret
+
+Function11967d: ; 11967d (46:567d)
+	ld a, $18
+	ld [wcd3c], a
+	call Function119e2e
+
+Function119685: ; 119685 (46:5685)
+	call Function119ed8
+	ret c
+	ld a, $14
+	ld [wcf66], a
+	ld a, $a
+	ld [wc300], a
+	ret
+
+Function119694: ; 119694 (46:5694)
+	ld b, 0
+	ld hl, Unknown_1196b8
+.asm_119699
+	ld de, wc708
+	ld a, [de]
+	inc de
+	cp [hl]
+	inc hl
+	jr nz, .asm_1196af
+	ld a, [de]
+	inc de
+	cp [hl]
+	inc hl
+	jr nz, .asm_1196b0
+	ld a, [de]
+	inc de
+	cp [hl]
+	inc hl
+	jr nz, .asm_1196b1
+	ret
+.asm_1196af
+	inc hl
+.asm_1196b0
+	inc hl
+.asm_1196b1
+	inc b
+	ld a, b
+	cp $7
+	jr nz, .asm_119699
+	ret
+; 1196b8 (46:56b8)
+
+Unknown_1196b8: ; 1196b8
+	db "Mon"
+	db "Tue"
+	db "Wed"
+	db "Thu"
+	db "Fri"
+	db "Sat"
+	db "Sun"
+; 1196cd
+
+SECTION "bank46_2", ROMX, BANK[$46]
+; A hack to use ascii above.
+
+Function1196cd: ; 1196cd (46:56cd)
+	ld de, wc719
+	call Function1196de
+	ld [wcd4a], a
+	inc de
+	call Function1196de
+	ld [wcd4b], a
+	ret
+
+Function1196de: ; 1196de (46:56de)
+	ld a, [de]
+	inc de
+	sub $30
+	sla a
+	ld b, a
+	sla a
+	sla a
+	add b
+	ld c, a
+	add hl, bc
+	ld a, [de]
+	inc de
+	sub $30
+	add c
+	ret
+; 1196f2 (46:56f2)
+
+Function1196f2: ; 1196f2
+	ld hl, DefaultFlypoint
+.asm_1196f5
+	call Function118b9a
+	ret nc
+	ld a, [hli]
+	cp $d
+	jr nz, .asm_1196f5
+	ld a, [hl]
+	cp $a
+	jr nz, .asm_1196f5
+	xor a
+	ld [hld], a
+	ld [hli], a
+	ld a, l
+	ld [wcd5b], a
+	ld a, h
+	ld [wcd5c], a
+	inc hl
+	ld e, l
+	ld d, h
+	ld a, [de]
+	inc de
+	cp $d
+	jr nz, .asm_119722
+	ld a, [de]
+	inc de
+	cp $a
+	jr nz, .asm_119722
+	ld a, $b
+	jp Function118805
+
+.asm_119722
+	call Random
+	ld c, $0
+	ld b, c
+.asm_119728
+	call Function119798
+	ld a, d
+	cp $ff
+	jr nz, .asm_119735
+	ld a, e
+	cp $ff
+	jr z, .asm_11974c
+
+.asm_119735
+	ld a, [hRandomSub]
+	cp d
+	jr c, .asm_11974c
+	jr z, .asm_11973e
+	jr .asm_119745
+
+.asm_11973e
+	ld a, [hRandomAdd]
+	cp e
+	jr c, .asm_11974c
+	jr z, .asm_11974c
+
+.asm_119745
+	inc bc
+	ld a, c
+	or b
+	jr z, .asm_119770
+	jr .asm_119728
+
+.asm_11974c
+	ld a, [wcd5b]
+	ld l, a
+	ld a, [wcd5c]
+	ld h, a
+.asm_119754
+	ld a, [hld]
+	cp $58
+	jr nz, .asm_119754
+	ld d, $0
+.asm_11975b
+	inc d
+	ld a, [hld]
+	cp $58
+	jr z, .asm_11975b
+	inc hl
+	inc hl
+	ld a, d
+	dec a
+	jr z, .asm_11978e
+	dec a
+	jr z, .asm_119785
+	dec a
+	jr z, .asm_11977e
+	dec a
+	jr z, .asm_119775
+
+.asm_119770
+	ld a, $d3
+	jp Function118805
+
+.asm_119775
+	ld a, b
+	and $f0
+	swap a
+	call Function1197bf
+	ld [hli], a
+
+.asm_11977e
+	ld a, b
+	and $f
+	call Function1197bf
+	ld [hli], a
+
+.asm_119785
+	ld a, c
+	and $f0
+	swap a
+	call Function1197bf
+	ld [hli], a
+
+.asm_11978e
+	ld a, c
+	and $f
+	call Function1197bf
+	ld [hli], a
+	jp Function119e2e
+; 119798
+
+Function119798: ; 119798
+	ld d, $0
+	ld e, d
+	call Function1197b4
+	swap a
+	or d
+	ld d, a
+	call Function1197b4
+	or d
+	ld d, a
+	call Function1197b4
+	swap a
+	or e
+	ld e, a
+	call Function1197b4
+	or e
+	ld e, a
+	ret
+; 1197b4
+
+Function1197b4: ; 1197b4
+	ld a, [hli]
+	cp $61
+	jr nc, .asm_1197bc
+	sub $30
+	ret
+
+.asm_1197bc
+	sub $57
+	ret
+; 1197bf
+
+Function1197bf: ; 1197bf
+	cp $a
+	jr nc, .asm_1197c6
+	add $30
+	ret
+
+.asm_1197c6
+	add $57
+	ret
+; 1197c9
+
+Function1197c9: ; 1197c9
+	ld hl, DefaultFlypoint
+	call Function118e39
+	ld a, $9
+	ld [wcd3c], a
+	ld a, $12
+	ld [wcd45], a
+	call Function119e2e
+
+Function1197dc:
+	call Function119ed8
+	ret c
+	call DelayFrame
+	ld hl, DefaultFlypoint
+	ld de, wcc60
+	ld bc, $0080
+	call CopyBytes
+	dec de
+	xor a
+	ld [de], a
+	call Function118b24
+	ld de, Unkn1Pals
+	ld bc, $1000
+	ld a, $2a
+	jp Function119e2b
+; 119800
+
+Function119800: ; 119800
+	ld a, $fd
+	ld [$c6d0], a
+	ld [wc702], a
+	ld a, [wcd81]
+	ld [wc74e], a
+	ld a, [wcf63]
+	push af
+	ld a, [wcf64]
+	push af
+	ld a, [wcf65]
+	push af
+	ld a, [wcf66]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	call FadeToMenu
+	callba Function10803d
+	call Function11a9ce
+	call RestartMapMusic
+	ld a, $3
+	ld [rSVBK], a
+	pop af
+	ld [wcf66], a
+	pop af
+	ld [wcf65], a
+	pop af
+	ld [wcf64], a
+	pop af
+	ld [wcf63], a
+	callba Function115dc3
+	jp Function119e2e
+; 11984e
+
+Function11984e: ; 11984e
+	ld a, [wcd80]
+	and a
+	jr nz, .asm_1198a0
+	ld a, [wcd38]
+	and a
+	jr nz, .asm_1198a8
+	callba Function170000
+	ld a, [wcf63]
+	push af
+	ld a, [wcf64]
+	push af
+	ld a, [wcf65]
+	push af
+	ld a, [wcf66]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	call FadeToMenu
+	callba Function108000
+	call Function11a9ce
+	call RestartMapMusic
+	ld a, $3
+	ld [rSVBK], a
+	pop af
+	ld [wcf66], a
+	pop af
+	ld [wcf65], a
+	pop af
+	ld [wcf64], a
+	pop af
+	ld [wcf63], a
+	callba Function115dc3
+	jp Function119e2e
+
+.asm_1198a0
+	ld a, $a
+	ld [wc300], a
+	jp Function119e2e
+
+.asm_1198a8
+	callba Function17005a
+	ld a, [wcf63]
+	push af
+	ld a, [wcf64]
+	push af
+	ld a, [wcf65]
+	push af
+	ld a, [wcf66]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	call FadeToMenu
+	callba Function108012
+	call Function11a9ce
+	call RestartMapMusic
+	ld a, $3
+	ld [rSVBK], a
+	pop af
+	ld [wcf66], a
+	pop af
+	ld [wcf65], a
+	pop af
+	ld [wcf64], a
+	pop af
+	ld [wcf63], a
+	callba Function115dc3
+	jp Function119e2e
+; 1198ee
+
+Function1198ee: ; 1198ee
+	ld hl, UnknownText_0x11aab2
+	call Function11a9c0
+	call Function119e2e
+
+Function1198f7:
+	ld a, [wc31a]
+	and a
+	ret nz
+	ld hl, $c608 + 2
+	call Function119940
+	ld hl, $d800
+	ld a, $c608 % $100
+	ld [hli], a
+	ld a, $c608 / $100
+	ld [hli], a
+	ld a, $f6
+	ld [hli], a
+	xor a
+	ld [hli], a
+	ld a, wc708 % $100
+	ld [hli], a
+	ld a, wc708 / $100
+	ld [hli], a
+	ld a, [wcd51]
+	ld [hli], a
+	ld a, [wcd52]
+	ld [hli], a
+	call Function119eb4
+	call Function119ec2
+	ld a, $40
+	ld [wcd89], a
+	ld hl, $d800
+	ld de, $de00
+	ld bc, $0200
+	ld a, $2c
+	jp Function119e2b
+; 119937
+
+Function119937: ; 119937
+	callba Function1707f4
+	jp Function119e2e
+; 119940
+
+Function119940: ; 119940
+	ld de, wc3cd
+	ld c, $1e
+.asm_119945
+	ld a, [de]
+	inc de
+	ld [hli], a
+	dec c
+	jr z, .asm_119953
+	and a
+	jr nz, .asm_119945
+	xor a
+.asm_11994f
+	ld [hli], a
+	dec c
+	jr nz, .asm_11994f
+
+.asm_119953
+	ret
+; 119954
+
+Function119954: ; 119954
+	ld a, $1c
+	ld [wcd3c], a
+	call Function119ed8
+	ld hl, $c608
+	ld de, wc3cd
+.asm_119962
+	ld a, [de]
+	inc de
+	ld [hli], a
+	and a
+	jr nz, .asm_119962
+	call Function119ec2
+	ld hl, $c608
+	ld a, $1e
+	jp Function119e2b
+; 119973
+
+Function119973: ; 119973
+	ld a, $1
+	ld [wcf64], a
+	xor a
+	ld [wcf65], a
+	ld [StringBuffer2 + 10], a
+	ld de, Unkn1Pals
+	ld a, $20
+	jp Function119e2b
+; 119987
+
+Function119987: ; 119987
+	ld hl, wd001
+	ld a, [Unkn1Pals]
+	or [hl]
+	jr z, .asm_1199a0
+	ld a, [wcf64]
+	ld l, a
+	ld a, [wcf65]
+	ld h, a
+	ld de, BGPals
+	ld a, $22
+	jp Function119e2b
+
+.asm_1199a0
+	ld a, [StringBuffer2 + 10]
+	and a
+	jr z, .asm_1199ae
+	ld a, $16
+	ld [wcf66], a
+	jp Function119b0d
+
+.asm_1199ae
+	ld a, $1b
+	ld [wcf66], a
+	ret
+; 1199b4
+
+Function1199b4: ; 1199b4
+	ld a, [wd000 + 130]
+	and a
+	jr nz, .asm_1199c7
+	ld a, [wd000 + 129]
+	cp $7
+	jr nc, .asm_1199c7
+	call Function119e2e
+	jp Function1199ca
+
+.asm_1199c7
+	jp Function119ac9
+; 1199ca
+
+Function1199ca: ; 1199ca
+	ld a, $20
+	ld [wcd89], a
+	ld a, [wcf64]
+	ld l, a
+	ld a, [wcf65]
+	ld h, a
+	ld de, LYOverrides
+	ld bc, $0700
+	ld a, $28
+	jp Function119e2b
+; 1199e2
+
+Function1199e2: ; 1199e2
+	ld c, $c
+	ld de, Unknown_119e33
+	call Function119e4f
+	jp c, Function119ac9
+	ld a, c
+	cp $1
+	jp nz, Function119ac9
+	ld hl, $d880
+	ld bc, Unknown_119af1
+.asm_1199f9
+	ld a, [bc]
+	and a
+	jr z, .asm_119a05
+	cp [hl]
+	jp nz, Function119ac9
+	inc bc
+	inc hl
+	jr .asm_1199f9
+
+.asm_119a05
+	ld c, $17
+	ld de, Unknown_119e40
+	call Function119e4f
+	jp c, .asm_119aa7
+	ld a, c
+	cp $1
+	jp nz, .asm_119aa7
+	ld a, [wd000 + $880]
+	cp $31
+	jp nz, .asm_119aa7
+	ld a, [wd000 + $881]
+	cp $20
+	jp nz, .asm_119aa7
+	ld a, [wd000 + $88a]
+	cp $20
+	jp nz, .asm_119aa7
+	ld a, [wd000 + $894]
+	cp $20
+	jp nz, .asm_119aa7
+	xor a
+	ld [wd000 + $8a0], a
+	ld [wd000 + $8a1], a
+	ld [wd000 + $8a2], a
+	ld [wd000 + $8a3], a
+	ld hl, $d8a0
+	ld bc, $d889
+	call Function119e98
+	call Function119e98
+	ld hl, $d8a0
+	ld a, [wcd2d]
+	cp [hl]
+	jr nz, Function119ac9
+	inc hl
+	ld a, [wcd2c]
+	cp [hl]
+	jr nz, Function119ac9
+	inc hl
+	ld a, [wcd2b]
+	cp [hl]
+	jr nz, Function119ac9
+	inc hl
+	ld a, [wcd2a]
+	cp [hl]
+	jr nz, Function119ac9
+	xor a
+	ld [wd000 + $8a0], a
+	ld [wd000 + $8a1], a
+	ld [wd000 + $8a2], a
+	ld [wd000 + $8a3], a
+	ld hl, $d8a0
+	ld bc, $d88e
+	call Function119e98
+	ld bc, $d893
+	call Function119e98
+	ld hl, $d8a0
+	ld a, [wcd2f]
+	cp [hl]
+	jr nz, .asm_119aa7
+	inc hl
+	ld a, [wcd2e]
+	cp [hl]
+	jr nz, .asm_119aa7
+	inc hl
+	ld a, [wcd31]
+	cp [hl]
+	jr nz, .asm_119aa7
+	inc hl
+	ld a, [wcd30]
+	cp [hl]
+	jr z, .asm_119aaf
+
+.asm_119aa7
+	ld a, $25
+	ld [wcf66], a
+	jp Function119b45
+
+.asm_119aaf
+	ld a, [StringBuffer2 + 10]
+	and a
+	jr nz, .asm_119aa7
+	ld a, [wd000 + $895]
+	sub $30
+	ld [StringBuffer2 + 10], a
+	ld a, [wcf64]
+	ld [StringBuffer2 + 11], a
+	ld a, [wcf65]
+	ld [StringBuffer2 + 12], a
+
+Function119ac9:
+	ld a, [Unkn1Pals]
+	ld l, a
+	ld a, [wd001]
+	ld h, a
+	dec hl
+	ld a, l
+	ld [Unkn1Pals], a
+	ld a, h
+	ld [wd001], a
+	ld a, [wcf64]
+	ld l, a
+	ld a, [wcf65]
+	ld h, a
+	inc hl
+	ld a, l
+	ld [wcf64], a
+	ld a, h
+	ld [wcf65], a
+	ld a, $10
+	ld [wcf66], a
+	ret
+; 119af1
+
+Unknown_119af1:
+	INCBIN "data/mobile/x-game-code.txt"
+	INCBIN "data/mobile/x-game-result.txt"
+; 119b0d
+
+Function119b0d: ; 119b0d
+	ld a, $8
+	ld [wcd3c], a
+	call Function119ed8
+	ld a, [StringBuffer2 + 10]
+	cp $1
+	jr z, .asm_119b23
+	ld a, $19
+	ld [wcf66], a
+	jr Function119b3b
+
+.asm_119b23
+	ld a, $10
+	ld [wcd89], a
+	ld a, [StringBuffer2 + 11]
+	ld l, a
+	ld a, [StringBuffer2 + 12]
+	ld h, a
+	ld de, LYOverrides
+	ld bc, $0700
+	ld a, $24
+	jp Function119e2b
+
+Function119b3b:
+	ld a, [StringBuffer2 + 11]
+	ld l, a
+	ld a, [StringBuffer2 + 12]
+	ld h, a
+	jr asm_119b4d
+
+Function119b45:
+	ld a, [wcf64]
+	ld l, a
+	ld a, [wcf65]
+	ld h, a
+
+asm_119b4d
+	ld a, $26
+	jp Function119e2b
+; 119b52
+
+Function119b52: ; 119b52
+	ld a, [StringBuffer2 + 10]
+	cp $1
+	jr nz, .asm_119b66
+	ld a, $5
+	call GetSRAMBank
+	ld a, $4
+	ld [$a800], a
+	call CloseSRAM
+
+.asm_119b66
+	ld a, $1c
+	jp Function119e2b
+; 119b6b
+
+Function119b6b: ; 119b6b
+	ld a, [StringBuffer2 + 10]
+	cp $1
+	jr z, .asm_119b75
+	jp Function119e2e
+
+.asm_119b75
+	ld a, [LYOverrides]
+	ld b, a
+	ld a, [wd101]
+	or b
+	jr z, .asm_119be3
+	ld hl, $d800
+	ld de, wd102
+.asm_119b85
+	ld a, [de]
+	inc de
+	cp $d
+	jr nz, .asm_119b85
+	inc de
+	ld a, [de]
+	cp $d
+	jr nz, .asm_119b85
+	inc de
+	inc de
+.asm_119b93
+	ld a, [de]
+	inc de
+	cp $d
+	jr z, .asm_119bfa
+	call Function119c3e
+	ret c
+	ld [hli], a
+	ld a, [de]
+	inc de
+	call Function119c3e
+	ret c
+	ld [hli], a
+	ld a, [de]
+	inc de
+	call Function119c3e
+	ret c
+	ld [hli], a
+	ld a, [de]
+	inc de
+	call Function119c3e
+	ret c
+	ld [hl], a
+	push de
+	ld d, [hl]
+	dec hl
+	ld c, [hl]
+	dec hl
+	ld b, [hl]
+	dec hl
+	ld a, [hl]
+	sla b
+	sla b
+	sla b
+	rla
+	sla b
+	rla
+	ld [hli], a
+	ld [hl], b
+	inc hl
+	rrc c
+	rrc c
+	ld [hl], c
+	dec hl
+	ld a, $f
+	and c
+	or [hl]
+	ld [hli], a
+	ld a, [hli]
+	and $c0
+	or [hl]
+	dec hl
+	ld [hld], a
+	dec hl
+	pop de
+	inc hl
+	inc hl
+	inc hl
+	ld a, h
+	cp $e0
+	jr c, .asm_119b93
+
+.asm_119be3
+	ld a, $19
+	ld [wcf66], a
+	ld a, $5
+	call GetSRAMBank
+	ld a, $1
+	ld [$a800], a
+	call CloseSRAM
+	xor a
+	ld [StringBuffer2 + 10], a
+	ret
+
+.asm_119bfa
+	inc de
+	ld a, [de]
+	cp $d
+	jr nz, .asm_119b93
+	ld a, l
+	cp (wd000 + $800 + $69) % $100
+	jr nz, .asm_119be3
+	ld a, h
+	cp (wd000 + $800 + $69) / $100
+	jr nz, .asm_119be3
+	ld a, $5
+	call GetSRAMBank
+	ld a, [wcf64]
+	ld [$b090], a
+	ld a, [wcf65]
+	ld [$b091], a
+	ld hl, $d800
+	ld de, $b023
+	ld bc, $0069
+	call CopyBytes
+	ld a, $3
+	ld [$a800], a
+	call CloseSRAM
+	ld hl, $d800
+	ld de, $c608
+	ld bc, $0069
+	call CopyBytes
+	jp Function119e2e
+; 119c3e
+
+Function119c3e: ; 119c3e
+	cp $2b
+	jr c, .asm_119c68
+	jr z, .asm_119c80
+	cp $2f
+	jr c, .asm_119c68
+	jr z, .asm_119c84
+	cp $30
+	jr c, .asm_119c68
+	cp $3a
+	jr c, .asm_119c88
+	cp $3d
+	jr c, .asm_119c68
+	jr z, .asm_119c8c
+	cp $41
+	jr c, .asm_119c68
+	cp $5b
+	jr c, .asm_119c8f
+	cp $61
+	jr c, .asm_119c68
+	cp $7b
+	jr c, .asm_119c93
+
+.asm_119c68
+	ld a, $19
+	ld [wcf66], a
+	ld a, $5
+	call GetSRAMBank
+	ld a, $1
+	ld [$a800], a
+	call CloseSRAM
+	xor a
+	ld [StringBuffer2 + 10], a
+	scf
+	ret
+
+.asm_119c80
+	ld a, $3e
+	and a
+	ret
+
+.asm_119c84
+	ld a, $3f
+	and a
+	ret
+
+.asm_119c88
+	add $4
+	and a
+	ret
+
+.asm_119c8c
+	xor a
+	and a
+	ret
+
+.asm_119c8f
+	sub $41
+	and a
+	ret
+
+.asm_119c93
+	sub $47
+	and a
+	ret
+; 119c97
+
+Function119c97: ; 119c97
+	ld hl, UnknownText_0x11ab0f
+	call Function11a9c0
+	call Function119e2e
+	jr Function119cab
+
+Function119ca2:
+	ld hl, UnknownText_0x11aaf0
+	call Function11a9c0
+	call Function119e2e
+
+Function119cab:
+	ld a, [wc31a]
+	and a
+	ret nz
+	ld a, $80
+	ld [wcd50], a
+	call Function119e2e
+
+Function119cb8:
+	ld hl, wcd50
+	dec [hl]
+	ret nz
+	ld a, $0
+	ld [wcf66], a
+	ret
+; 119cc3
+
+Function119cc3: ; 119cc3
+	ld a, [wcd38]
+	and a
+	jr z, .asm_119cd1
+	dec a
+	jr z, .asm_119cd6
+	ld hl, UnknownText_0x11aa6a
+	jr .asm_119cd9
+
+.asm_119cd1
+	ld hl, UnknownText_0x11ab4a
+	jr .asm_119cd9
+
+.asm_119cd6
+	ld hl, UnknownText_0x11ab6e
+
+.asm_119cd9
+	call Function11a9c0
+	call Function119e2e
+
+Function119cdf:
+	ld a, [wc31a]
+	and a
+	ret nz
+	ld a, $f
+	ld [wcd3c], a
+	call Function119e2e
+
+Function119cec:
+	call Function119ed8
+	ret c
+	ld a, [wcd46]
+	ld [wcf66], a
+	ret
+; 119cf7
+
+MenuDataHeader_119cf7: ; 119cf7
+	db $40 ; flags
+	db  7, 12 ; start coords
+	db 11, 19 ; end coords
+	dw NULL
+	db 0 ; default option
+; 119cff
+
+MenuData_119cff: ; 119cff
+	db $40 ; flags
+	db  7, 15 ; start coords
+	db 11, 19 ; end coords
+	dw NULL
+	db 0 ; default option
+; 119d07
+
+String_119d07:
+	db "   ▼@"
+
+Strings_119d0c:
+	db " L:10 @@"
+	db " L:20 @@"
+	db " L:30 @@"
+	db " L:40 @@"
+	db " L:50 @@"
+	db " L:60 @@"
+	db " L:70 @@"
+	db " L:80 @@"
+	db " L:90 @@"
+	db " L:100@@"
+	db "CANCEL@@"
+
+Strings_119d64:
+	db " L:10 @@"
+	db " L:20 @@"
+	db " L:30 @@"
+	db " L:40 @@"
+	db "CANCEL@@"
+
+String_119d8c:
+	db "CANCEL@"
+; 119d93
+
+Function119d93: ; 119d93 (46:5d93)
+	ld a, [rSVBK] ; $ff00+$70
+	push af
+	ld a, $1
+	ld [rSVBK], a ; $ff00+$70
+	ld a, [wcd4f]
+	ld c, 10
+	call SimpleMultiply
+	ld hl, wcd50
+	ld [hl], a
+	ld bc, PartyMon2 - PartyMon1
+	ld de, PartyMon1Level
+	ld a, [PartyCount]
+.asm_119daf
+	push af
+	ld a, [de]
+	push hl
+	push de
+	pop hl
+	add hl, bc
+	push hl
+	pop de
+	pop hl
+	cp [hl]
+	jr z, .asm_119dbd
+	jr nc, .asm_119dc6
+.asm_119dbd
+	pop af
+	dec a
+	jr nz, .asm_119daf
+	pop af
+	ld [rSVBK], a ; $ff00+$70
+	and a
+	ret
+.asm_119dc6
+	pop af
+	ld a, $4
+	ld [wcf66], a
+	pop af
+	ld [rSVBK], a ; $ff00+$70
+	scf
+	ret
+
+Function119dd1: ; 119dd1 (46:5dd1)
+	ld a, [rSVBK] ; $ff00+$70
+	push af
+	ld a, [wcd4f]
+	cp 70 / 10
+	jr nc, .asm_119e08
+	ld a, $1
+	ld [rSVBK], a ; $ff00+$70
+	ld hl, PartyMon1Level
+	ld bc, PartyMon2 - PartyMon1
+	ld de, PartySpecies
+	ld a, [PartyCount]
+.asm_119deb
+	push af
+	ld a, [de]
+	cp MEWTWO
+	jr z, .asm_119dfd
+	cp MEW
+	jr z, .asm_119dfd
+	cp LUGIA
+	jr c, .asm_119e02
+	cp NUM_POKEMON + 1
+	jr nc, .asm_119e02
+.asm_119dfd
+	ld a, [hl]
+	cp 70
+	jr c, .asm_119e0d
+.asm_119e02
+	add hl, bc
+	inc de
+	pop af
+	dec a
+	jr nz, .asm_119deb
+.asm_119e08
+	pop af
+	ld [rSVBK], a ; $ff00+$70
+	and a
+	ret
+.asm_119e0d
+	pop af
+	ld a, [de]
+	ld [wd265], a
+	call GetPokemonName
+	ld hl, StringBuffer1
+	ld de, wcd49
+	ld bc, PKMN_NAME_LENGTH
+	call CopyBytes
+	ld a, $a
+	ld [wcf66], a
+	pop af
+	ld [rSVBK], a ; $ff00+$70
+	scf
+	ret
+; 119e2b (46:5e2b)
+
+Function119e2b: ; 119e2b (46:5e2b)
+	call Function3e32
+
+Function119e2e: ; 119e2e (46:5e2e)
+	ld hl, wcf66
+	inc [hl]
+	ret
+; 119e33 (46:5e33)
+
+Unknown_119e33: ; 119e33
+	INCBIN "data/mobile/x-game-code-prefix.txt"
+Unknown_119e40:
+	INCBIN "data/mobile/x-game-result-prefix.txt"
+; 119e4f
+
+Function119e4f: ; 119e4f
+	push bc
+	ld hl, LYOverrides
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+.asm_119e57
+	ld a, [de]
+	cp [hl]
+	jr z, .asm_119e64
+.asm_119e5b
+	inc hl
+	dec bc
+	ld a, b
+	or c
+	jr nz, .asm_119e57
+.asm_119e61
+	pop bc
+	scf
+	ret
+
+.asm_119e64
+	push de
+.asm_119e65
+	ld a, [de]
+	inc de
+	cp "\n"
+	jr z, .asm_119e7a
+	cp [hl]
+	jr nz, .asm_119e77
+	inc hl
+	dec bc
+	ld a, b
+	or c
+	jr nz, .asm_119e65
+	pop de
+	jr .asm_119e61
+
+.asm_119e77
+	pop de
+	jr .asm_119e5b
+
+.asm_119e7a
+	pop de
+	pop bc
+	inc hl
+	ld de, $d880
+.asm_119e80
+	ld a, [hli]
+	ld [de], a
+	inc de
+	cp $d
+	jr z, .asm_119e8c
+	dec c
+	jr nz, .asm_119e80
+	scf
+	ret
+
+.asm_119e8c
+	and a
+	ret
+; 119e8e
+
+Function119e8e: ; 119e8e
+	cp $60
+	jr c, .asm_119e95
+	sub $57
+	ret
+
+.asm_119e95
+	sub $30
+	ret
+; 119e98
+
+Function119e98: ; 119e98
+	ld a, $2
+.asm_119e9a
+	push af
+	ld a, [bc]
+	dec bc
+	call Function119e8e
+	or [hl]
+	ld [hl], a
+	ld a, [bc]
+	dec bc
+	call Function119e8e
+	rlca
+	rlca
+	rlca
+	rlca
+	or [hl]
+	ld [hl], a
+	inc hl
+	pop af
+	dec a
+	and a
+	jr nz, .asm_119e9a
+	ret
+; 119eb4
+
+Function119eb4: ; 119eb4 (46:5eb4)
+	xor a
+	ld [wc3cc], a
+	ld de, wc3ac
+.asm_119ebb
+	ld a, [de]
+	inc de
+	ld [hli], a
+	and a
+	jr nz, .asm_119ebb
+	ret
+
+Function119ec2: ; 119ec2 (46:5ec2)
+	ld a, $5
+	call GetSRAMBank
+	xor a
+	ld [$aa5c], a
+	ld de, $aa4c
+.asm_119ece
+	ld a, [de]
+	inc de
+	ld [hli], a
+	and a
+	jr nz, .asm_119ece
+	call CloseSRAM
+	ret
+
+Function119ed8: ; 119ed8 (46:5ed8)
+	ld a, [rSVBK] ; $ff00+$70
+	ld [wcd8c], a
+	ld a, $1
+	ld [rSVBK], a ; $ff00+$70
+	call Function119eee
+	ld a, [wcd8c]
+	ld [rSVBK], a ; $ff00+$70
+	ld a, $1
+	ld [hBGMapMode], a ; $ff00+$d4
+	ret
+
+Function119eee: ; 119eee (46:5eee)
+	ld a, [wcd3c]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_119efd
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 119efd (46:5efd)
+
+Jumptable_119efd: ; 119efd
+	dw Function119f3f
+	dw Function119f45
+	dw Function119f56
+	dw Function119f76
+	dw Function119f98
+	dw Function11a113
+	dw Function11a129
+	dw Function11a131
+	dw Function11a13d
+	dw Function11a14b
+	dw Function11a16d
+	dw Function11a192
+	dw Function11a2e6
+	dw Function11a302
+	dw Function11a33a
+	dw Function11a207
+	dw Function11a235
+	dw Function11a357
+	dw Function11a36b
+	dw Function11a38d
+	dw Function11a3c5
+	dw Function11a3d9
+	dw Function11a3f9
+	dw Function11a41b
+	dw Function11a452
+	dw Function11a47a
+	dw Function11a488
+	dw Function11a49e
+	dw Function11a4db
+	dw Function11a4e8
+	dw Function11a4fe
+	dw Function11a466
+	dw Function11a47a
+; 119f3f
+
+Function119f3f: ; 119f3f
+	call Function11a5b9
+	jp Function11a5b0
+; 119f45
+
+Function119f45: ; 119f45
+	hlcoord 4, 2
+	ld de, String_11a661
+	call PlaceString
+	ld a, $80
+	ld [wcd44], a
+	jp Function11a5b0
+; 119f56
+
+Function119f56: ; 119f56
+	ld a, [wcd44]
+	and a
+	jr z, .asm_119f62
+	dec a
+	ld [wcd44], a
+	scf
+	ret
+
+.asm_119f62
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a6aa
+	call PlaceString
+	ld a, $80
+	ld [wcd44], a
+	jp Function11a5b0
+; 119f76
+
+Function119f76: ; 119f76
+	ld a, [wcd44]
+	and a
+	jr z, .asm_119f82
+	dec a
+	ld [wcd44], a
+	scf
+	ret
+
+.asm_119f82
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a679
+	call PlaceString
+	call Function11a5f5
+	xor a
+	ld [wcd44], a
+	jp Function11a5b0
+; 119f98
+
+Function119f98: ; 119f98
+	call Function11a536
+	ret c
+	call PlayClickSFX
+	ld a, [wcd44]
+	and a
+	jr nz, .asm_119fef
+	call Function1c07
+	call Function11a63c
+	xor a
+	ld [ScriptVar], a
+	call Function11a00e
+	ld a, [ScriptVar]
+	and a
+	jr z, .asm_119fd4
+	call Function1c07
+	callba Function104061
+	callba Function115dc3
+	ld a, [wcd33]
+	ld [wcf66], a
+	ld a, $a
+	ld [wc300], a
+	scf
+	ret
+
+.asm_119fd4
+	hlcoord 4, 2
+	ld de, String_11a692
+	call PlaceString
+	ld a, $1
+	ld [wc30d], a
+	ld a, $1
+	ld [wc314], a
+	callba Function104061
+	and a
+	ret
+
+.asm_119fef
+	call Function1c07
+	call Function1c07
+	callba Function104061
+	ld a, [wcd45]
+	ld [wcf66], a
+	callba Function115dc3
+	ld a, $a
+	ld [wc300], a
+	scf
+	ret
+; 11a00e
+
+Function11a00e: ; 11a00e
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$aa4b]
+	and a
+	jr z, .asm_11a02a
+	ld a, [$aa4c]
+	call CloseSRAM
+	and a
+	ret nz
+	ld a, $5
+	call GetSRAMBank
+	xor a
+	ld [$aa4b], a
+
+.asm_11a02a
+	call CloseSRAM
+	ld a, [BGMapPalBuffer]
+	and a
+	jr z, .asm_11a039
+	dec a
+	jr z, .asm_11a081
+	jp Function11a0ca
+
+.asm_11a039
+	ld a, $3
+	ld [rSVBK], a
+	ld hl, $c608
+	ld de, $d800
+	ld bc, $00f6
+	call CopyBytes
+	ld a, $1
+	ld [rSVBK], a
+	call FadeToMenu
+	callba Function11765d
+	call Function11a9ce
+	ld a, $3
+	ld [rSVBK], a
+	ld hl, $d800
+	ld de, $c608
+	ld bc, $00f6
+	call CopyBytes
+	ld a, $1
+	ld [rSVBK], a
+	callba Function115d99
+	ld c, $0
+	callba Function115e18
+	ld a, $1
+	ld [wc305], a
+	ret
+
+.asm_11a081
+	xor a
+	ld [wcf83], a
+	ld [wcf82], a
+	ld a, $13
+	ld [wcf85], a
+	ld a, $5
+	ld [wcf84], a
+	call Function1c00
+	callba Function11765d
+	callba Function117ab4
+	callba Function106462
+	callba Function106464
+	call Function1c07
+	callba Function104061
+	callba Function115d99
+	ld c, $0
+	callba Function115e18
+	ld a, $1
+	ld [wc305], a
+	ret
+; 11a0ca
+
+Function11a0ca: ; 11a0ca
+	xor a
+	ld [wcf83], a
+	ld [wcf82], a
+	ld a, $13
+	ld [wcf85], a
+	ld a, $11
+	ld [wcf84], a
+	call Function1c00
+	callba Function11765d
+	callba Function17d3f6
+	callba Function106462
+	callba Function106464
+	call Function1c07
+	callba Function104061
+	callba Function115d99
+	ld c, $0
+	callba Function115e18
+	ld a, $1
+	ld [wc305], a
+	ret
+; 11a113
+
+Function11a113: ; 11a113
+	call Function11a63c
+	ld c, $1
+	callba Function115e18
+	hlcoord 4, 2
+	ld de, String_11a6c8
+	call PlaceString
+	and a
+	ret
+; 11a129
+
+Function11a129: ; 11a129
+	ld a, $80
+	ld [wcd44], a
+	jp Function11a5b0
+; 11a131
+
+Function11a131: ; 11a131
+	ld hl, wcd44
+	dec [hl]
+	ret nz
+	ld a, [wcd3c]
+	inc a
+	ld [wcd3c], a
+
+Function11a13d:
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a6d2
+	call PlaceString
+	and a
+	ret
+; 11a14b
+
+Function11a14b: ; 11a14b
+	ld hl, wcd85
+	ld a, [hl]
+	cp $f3
+	jr nz, .asm_11a155
+	and a
+	ret
+
+.asm_11a155
+	call Function11a1d6
+	ret c
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a6f1
+	call PlaceString
+	ld a, $80
+	ld [wcd44], a
+	jp Function11a5b0
+; 11a16d
+
+Function11a16d: ; 11a16d
+	ld a, [wcd44]
+	and a
+	jr z, .asm_11a179
+	dec a
+	ld [wcd44], a
+	scf
+	ret
+
+.asm_11a179
+	call Function11a63c
+	call Function11a1e6
+	hlcoord 4, 2
+	ld de, wc346
+	call PlaceString
+	call Function11a5f5
+	xor a
+	ld [wcd44], a
+	jp Function11a5b0
+; 11a192
+
+Function11a192: ; 11a192
+	call Function11a536
+	ret c
+	call PlayClickSFX
+	ld a, [wcd44]
+	and a
+	jr nz, .asm_11a1b6
+	call Function1c07
+	callba Function104061
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a6d2
+	call PlaceString
+	and a
+	ret
+
+.asm_11a1b6
+	call Function1c07
+	callba Function104061
+	ld a, [wcd45]
+	ld [wcf66], a
+	ld [wcd80], a
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a6d2
+	call PlaceString
+	scf
+	ret
+; 11a1d6
+
+Function11a1d6: ; 11a1d6
+	ld a, [wcd85]
+	cp $50
+	jr nz, .asm_11a1e4
+	ld a, $d3
+	call Function118805
+	scf
+	ret
+
+.asm_11a1e4
+	and a
+	ret
+; 11a1e6
+
+Function11a1e6: ; 11a1e6
+	ld hl, String_11a706
+	ld de, wc346
+	call Function11a1ff
+	ld hl, wcd85
+	call Function11a1ff
+	ld hl, String_11a70b
+	call Function11a1ff
+	ld a, $50
+	ld [de], a
+	ret
+; 11a1ff
+
+Function11a1ff: ; 11a1ff
+.asm_11a1ff
+	ld a, [hli]
+	cp $50
+	ret z
+	ld [de], a
+	inc de
+	jr .asm_11a1ff
+; 11a207
+
+Function11a207: ; 11a207
+	ld hl, MenuDataHeader_11a2de
+	call LoadMenuDataHeader
+	call Function1cbb
+	call Function1cfd
+	call Function321c
+	hlcoord 16, 8
+	ld de, String_11a2cf
+	call PlaceString
+	hlcoord 16, 10
+	ld de, String_11a2d3
+	call PlaceString
+	hlcoord 15, 8
+	ld a, $ed
+	ld [hl], a
+	xor a
+	ld [wcd44], a
+	jp Function11a5b0
+; 11a235
+
+Function11a235: ; 11a235
+	ld hl, hJoyPressed
+	ld a, [hl]
+	and A_BUTTON
+	jr nz, .asm_11a28f
+	ld a, [hl]
+	and B_BUTTON
+	jr nz, .asm_11a2c1
+	ld a, [hl]
+	and D_UP
+	jr nz, .asm_11a251
+	ld a, [hl]
+	and D_DOWN
+	jr nz, .asm_11a270
+.asm_11a24c
+	call Function11a9f0
+	scf
+	ret
+
+.asm_11a251
+	xor a
+	ld [wcd8a], a
+	ld [wcd8b], a
+	ld a, [wcd44]
+	and a
+	jr z, .asm_11a24c
+	xor a
+	ld [wcd44], a
+	hlcoord 15, 8
+	ld a, $ed
+	ld [hl], a
+	hlcoord 15, 10
+	ld a, $7f
+	ld [hl], a
+	jr .asm_11a24c
+
+.asm_11a270
+	xor a
+	ld [wcd8a], a
+	ld [wcd8b], a
+	ld a, [wcd44]
+	and a
+	jr nz, .asm_11a24c
+	inc a
+	ld [wcd44], a
+	hlcoord 15, 8
+	ld a, $7f
+	ld [hl], a
+	hlcoord 15, 10
+	ld a, $ed
+	ld [hl], a
+	jr .asm_11a24c
+
+.asm_11a28f
+	xor a
+	ld [wcd8a], a
+	ld [wcd8b], a
+	call PlayClickSFX
+	ld a, [wcd44]
+	and a
+	jr nz, .asm_11a2c4
+	call Function1c07
+	callba Function104061
+	ld a, [wcd46]
+	cp $0
+	jr z, .asm_11a2b4
+	ld a, [wcd47]
+	jr .asm_11a2b7
+
+.asm_11a2b4
+	ld a, [wcd33]
+
+.asm_11a2b7
+	ld [wcf66], a
+	ld a, $a
+	ld [wc300], a
+	scf
+	ret
+
+.asm_11a2c1
+	call PlayClickSFX
+
+.asm_11a2c4
+	call Function1c07
+	callba Function104061
+	and a
+	ret
+; 11a2cf
+
+String_11a2cf: ; 11a2cf
+	db "YES@"
+; 11a2d3
+
+String_11a2d3: ; 11a2d3
+	db "NO@"
+; 11a2d6
+
+MenuDataHeader_11a2d6: ; 11a2d6
+	db $40 ; flags
+	db  6, 14 ; start coords
+	db 10, 19 ; end coords
+	dw NULL
+	db 0 ; default option
+; 11a2de
+
+MenuDataHeader_11a2de: ; 11a2de
+	db $40 ; flags
+	db  7, 14 ; start coords
+	db 11, 19 ; end coords
+	dw NULL
+	db 0 ; default option
+; 11a2e6
+
+Function11a2e6: ; 11a2e6
+	call Function11a63c
+	ld c, $2
+	callba Function115e18
+	hlcoord 4, 2
+	ld de, String_11a71e
+	call PlaceString
+	ld a, $80
+	ld [wcd44], a
+	jp Function11a5b0
+; 11a302
+
+Function11a302: ; 11a302
+	ld a, [wcd44]
+	and a
+	jr z, .asm_11a30e
+	dec a
+	ld [wcd44], a
+	scf
+	ret
+
+.asm_11a30e
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a72a
+	call PlaceString
+	hlcoord 9, 4
+	ld de, wcd68
+	ld bc, $8102
+	call PrintNum
+	hlcoord 14, 4
+	ld de, wcd67
+	ld bc, $8102
+	call PrintNum
+	ld a, $80
+	ld [wcd44], a
+	jp Function11a5b0
+; 11a33a
+
+Function11a33a: ; 11a33a
+	ld a, [wcd44]
+	and a
+	jr z, .asm_11a346
+	dec a
+	ld [wcd44], a
+	scf
+	ret
+
+.asm_11a346
+	call Function1c07
+	callba Function104061
+	callba Function115dc3
+	and a
+	ret
+; 11a357
+
+Function11a357: ; 11a357
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a743
+	call PlaceString
+	ld a, $80
+	ld [wcd44], a
+	jp Function11a5b0
+; 11a36b
+
+Function11a36b: ; 11a36b
+	ld a, [wcd44]
+	and a
+	jr z, .asm_11a377
+	dec a
+	ld [wcd44], a
+	scf
+	ret
+
+.asm_11a377
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a755
+	call PlaceString
+	call Function11a5f5
+	xor a
+	ld [wcd44], a
+	jp Function11a5b0
+; 11a38d
+
+Function11a38d: ; 11a38d
+	call Function11a536
+	ret c
+	call PlayClickSFX
+	ld a, [wcd44]
+	and a
+	jr nz, .asm_11a3b1
+	call Function1c07
+	callba Function104061
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a6d2
+	call PlaceString
+	and a
+	ret
+
+.asm_11a3b1
+	call Function1c07
+	callba Function104061
+	ld a, [wcd45]
+	ld [wcf66], a
+	ld [wcd80], a
+	scf
+	ret
+; 11a3c5
+
+Function11a3c5: ; 11a3c5
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a762
+	call PlaceString
+	ld a, $80
+	ld [wcd44], a
+	jp Function11a5b0
+; 11a3d9
+
+Function11a3d9: ; 11a3d9
+	ld a, [wcd44]
+	and a
+	jr z, .asm_11a3e5
+	dec a
+	ld [wcd44], a
+	scf
+	ret
+
+.asm_11a3e5
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a779
+	call PlaceString
+	ld a, $80
+	ld [wcd44], a
+	jp Function11a5b0
+; 11a3f9
+
+Function11a3f9: ; 11a3f9
+	ld a, [wcd44]
+	and a
+	jr z, .asm_11a405
+	dec a
+	ld [wcd44], a
+	scf
+	ret
+
+.asm_11a405
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a755
+	call PlaceString
+	call Function11a5f5
+	xor a
+	ld [wcd44], a
+	jp Function11a5b0
+; 11a41b
+
+Function11a41b: ; 11a41b
+	call Function11a536
+	ret c
+	call PlayClickSFX
+	ld a, [wcd44]
+	and a
+	jr nz, .asm_11a43f
+	call Function1c07
+	callba Function104061
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a6d2
+	call PlaceString
+	and a
+	ret
+
+.asm_11a43f
+	call Function1c07
+	callba Function104061
+	ld a, $1c
+	ld [wcf66], a
+	ld [wcd80], a
+	scf
+	ret
+; 11a452
+
+Function11a452: ; 11a452
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a791
+	call PlaceString
+	ld a, $80
+	ld [wcd44], a
+	jp Function11a5b0
+; 11a466
+
+Function11a466: ; 11a466
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a7c1
+	call PlaceString
+	ld a, $80
+	ld [wcd44], a
+	jp Function11a5b0
+; 11a47a
+
+Function11a47a: ; 11a47a
+	ld a, [wcd44]
+	and a
+	jr z, .asm_11a486
+	dec a
+	ld [wcd44], a
+	scf
+	ret
+
+.asm_11a486
+	and a
+	ret
+; 11a488
+
+Function11a488: ; 11a488
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a7ac
+	call PlaceString
+	call Function11a5f5
+	xor a
+	ld [wcd44], a
+	jp Function11a5b0
+; 11a49e
+
+Function11a49e: ; 11a49e
+	call Function11a536
+	ret c
+	call PlayClickSFX
+	ld a, [wcd44]
+	and a
+	jr nz, .asm_11a4c7
+	call Function1c07
+	callba Function104061
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a6d2
+	call PlaceString
+	ld a, $14
+	ld [wcf66], a
+	and a
+	ret
+
+.asm_11a4c7
+	call Function1c07
+	callba Function104061
+	ld a, [wcd46]
+	ld [wcf66], a
+	ld [wcd80], a
+	scf
+	ret
+; 11a4db
+
+Function11a4db: ; 11a4db
+	call Function11a63c
+	ld de, String_11a6db
+	hlcoord 4, 2
+	call PlaceString
+	ret
+; 11a4e8
+
+Function11a4e8: ; 11a4e8
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a7d7
+	call PlaceString
+	call Function11a5f5
+	xor a
+	ld [wcd44], a
+	jp Function11a5b0
+; 11a4fe
+
+Function11a4fe: ; 11a4fe
+	call Function11a536
+	ret c
+	call PlayClickSFX
+	ld a, [wcd44]
+	and a
+	jr nz, .asm_11a522
+	call Function1c07
+	callba Function104061
+	call Function11a63c
+	hlcoord 4, 2
+	ld de, String_11a6d2
+	call PlaceString
+	and a
+	ret
+
+.asm_11a522
+	call Function1c07
+	callba Function104061
+	ld a, [wcd45]
+	ld [wcf66], a
+	ld [wcd80], a
+	scf
+	ret
+; 11a536
+
+Function11a536: ; 11a536
+	ld hl, hJoyPressed
+	ld a, [hl]
+	and $1
+	jr nz, .asm_11a5a7
+	ld a, [hl]
+	and $2
+	jr nz, .asm_11a5a2
+	ld a, [hl]
+	and $40
+	jr nz, .asm_11a564
+	ld a, [hl]
+	and $80
+	jr nz, .asm_11a583
+.asm_11a54d
+	ld a, [wcd3c]
+	cp $4
+	jr z, .asm_11a562
+	call Function11a9f0
+	jr nz, .asm_11a562
+	call Function1c07
+	callba Function104061
+
+.asm_11a562
+	scf
+	ret
+
+.asm_11a564
+	xor a
+	ld [wcd8a], a
+	ld [wcd8b], a
+	ld a, [wcd44]
+	and a
+	jr z, .asm_11a54d
+	xor a
+	ld [wcd44], a
+	hlcoord 15, 7
+	ld a, $ed
+	ld [hl], a
+	hlcoord 15, 9
+	ld a, $7f
+	ld [hl], a
+	jr .asm_11a54d
+
+.asm_11a583
+	xor a
+	ld [wcd8a], a
+	ld [wcd8b], a
+	ld a, [wcd44]
+	and a
+	jr nz, .asm_11a54d
+	inc a
+	ld [wcd44], a
+	hlcoord 15, 7
+	ld a, $7f
+	ld [hl], a
+	hlcoord 15, 9
+	ld a, $ed
+	ld [hl], a
+	jr .asm_11a54d
+
+.asm_11a5a2
+	ld a, $1
+	ld [wcd44], a
+
+.asm_11a5a7
+	xor a
+	ld [wcd8a], a
+	ld [wcd8b], a
+	and a
+	ret
+; 11a5b0
+
+Function11a5b0: ; 11a5b0
+	ld a, [wcd3c]
+	inc a
+	ld [wcd3c], a
+	scf
+	ret
+; 11a5b9
+
+Function11a5b9: ; 11a5b9
+	xor a
+	ld [wcf83], a
+	ld [wcf82], a
+	ld a, $13
+	ld [wcf85], a
+	ld a, $5
+	ld [wcf84], a
+	call Function1c00
+	ld hl, AttrMap
+	ld b, $6
+	ld c, $14
+	ld hl, TileMap
+	ld b, $4
+	ld c, $12
+	call Function3eea
+	callba Function104061
+	call Function1ad2
+	ld c, $0
+	callba Function115e18
+	ld a, $1
+	ld [wc305], a
+	ret
+; 11a5f5
+
+Function11a5f5: ; 11a5f5
+	ld a, $e
+	ld [wcf83], a
+	ld a, $13
+	ld [wcf85], a
+	ld a, $6
+	ld [wcf82], a
+	ld a, $a
+	ld [wcf84], a
+	call Function1c00
+	hlcoord 14, 6, AttrMap
+	ld b, $5
+	ld c, $6
+	hlcoord 14, 6
+	ld b, $3
+	ld c, $4
+	call Function3eea
+	hlcoord 16, 7
+	ld de, String_11a2cf
+	call PlaceString
+	hlcoord 16, 9
+	ld de, String_11a2d3
+	call PlaceString
+	hlcoord 15, 7
+	ld a, $ed
+	ld [hl], a
+	callba Function104061
+	ret
+; 11a63c
+
+Function11a63c: ; 11a63c
+	hlcoord 4, 1
+	ld de, String_11a7f4
+	call PlaceString
+	hlcoord 4, 2
+	ld de, String_11a7f4
+	call PlaceString
+	hlcoord 4, 3
+	ld de, String_11a7f4
+	call PlaceString
+	hlcoord 4, 4
+	ld de, String_11a7f4
+	call PlaceString
+	ret
+; 11a661
+
+String_11a661: ; 11a661
+	db   "これから モバイルセンターに"
+	next "でんわ", $1f, "かけます@"
+; 11a679
+
+String_11a679: ; 11a679
+	db   "モバイルアダプタ", $25, "じゅんびは"
+	next "できて いますか?@"
+; 11a692
+
+String_11a692: ; 11a692
+	db   "でんわ", $1f, "かけています"
+	next "しばらく おまちください@"
+; 11a6aa
+
+String_11a6aa: ; 11a6aa
+	db   "でんわをかけると つうわりょう"
+	next "せつぞくりょう", $4a, "かかります@"
+; 11a6c8
+
+String_11a6c8: ; 11a6c8
+	db   "せつぞく しました@"
+; 11a6d2
+
+String_11a6d2: ; 11a6d2
+	db   "つうしん ちゅう@"
+; 11a6db
+
+String_11a6db: ; 11a6db
+	db   "つうしん ちゅう"
+	next "セレクト エーでちゅうし@"
+; 11a6f1
+
+String_11a6f1: ; 11a6f1
+	db   "この サービスには"
+	next "つうわりょう", $25, "ほかに@"
+; 11a706
+
+String_11a706: ; 11a706
+	db   "おかね", $4a, "@"
+; 11a70b
+
+String_11a70b: ; 11a70b
+	db   "えん"
+	next "かかります よろしい ですか?@"
+; 11a71e
+
+String_11a71e: ; 11a71e
+	db   "つうしん しゅうりょう@"
+; 11a72a
+
+String_11a72a: ; 11a72a
+	db   "つないだ じかん"
+	next "  やく   ふん   びょう@"
+; 11a743
+
+String_11a743: ; 11a743
+	db   "もっていない データが"
+	next "あります!@"
+; 11a755
+
+String_11a755: ; 11a755
+	db   "データ", $1f, "よみこみますか?@"
+; 11a762
+
+String_11a762: ; 11a762
+	db   "おなじ データ", $1f, "よみこんだ"
+	next "こと", $4a, "ありますが@"
+; 11a779
+
+String_11a779: ; 11a779
+	db   "そのデータ", $24, "なくなっているか"
+	next "こわれて います@"
+; 11a791
+
+String_11a791: ; 11a791
+	db   "もっている データと"
+	next "おなじデータしか ありません!@"
+; 11a7ac
+
+String_11a7ac: ; 11a7ac
+	db   "データ", $25, "よみこみを"
+	next "ちゅうし しますか?@"
+; 11a7c1
+
+String_11a7c1: ; 11a7c1
+	db   "あたらしい ニュースは"
+	next "ありません でした@"
+; 11a7d7
+
+String_11a7d7: ; 11a7d7
+	db   "あたらしいニュース", $4a, "あります"
+	next "ニュース", $1f, "よみこみますか?@"
+; 11a7f4
+
+String_11a7f4: ; 11a7f4
+	db   "               @"
+; 11a804
+
+MenuDataHeader_11a804: ; 11a804
+	db $40 ; flags
+	db  0,  0 ; start coords
+	db  5, 19 ; end coords
+	dw NULL
+	db 0 ; default option
+; 11a80c
+
+Function11a80c: ; 11a80c
+	ld de, hDivisor
+	ld bc, hDividend
+	ld hl, Unknown_11a89a
+	call Function11a88c
+	ld bc, hQuotient
+	ld hl, Unknown_11a8ba
+	call Function11a88c
+	ld bc, $ffb5
+	ld hl, Unknown_11a8da
+	call Function11a88c
+	xor a
+	ld b, a
+	ld a, [hDivisor]
+	and $f
+	ld e, a
+	ld a, [$ffb9]
+	and $f
+	call Function11a884
+	ld e, a
+	ld a, [$ffbb]
+	and $f
+	call Function11a884
+	ld [wcd62], a
+	ld e, b
+	xor a
+	ld b, a
+	ld a, [hDivisor]
+	and $f0
+	swap a
+	call Function11a884
+	ld e, a
+	ld a, [$ffb9]
+	and $f0
+	swap a
+	call Function11a884
+	ld e, a
+	ld a, [$ffbb]
+	and $f0
+	swap a
+	call Function11a884
+	ld [wcd63], a
+	ld e, b
+	xor a
+	ld b, a
+	ld a, [hMathBuffer]
+	and $f
+	call Function11a884
+	ld e, a
+	ld a, [$ffba]
+	and $f
+	call Function11a884
+	ld e, a
+	ld a, [$ffbc]
+	and $f
+	call Function11a884
+	ld [wcd64], a
+	ret
+; 11a884
+
+Function11a884: ; 11a884
+	add e
+	cp $a
+	ret c
+	sub $a
+	inc b
+	ret
+; 11a88c
+
+Function11a88c: ; 11a88c
+	ld a, [bc]
+	sla a
+	ld c, a
+	xor a
+	ld b, a
+	add hl, bc
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hl]
+	ld [de], a
+	inc de
+	ret
+; 11a89a
+
+Unknown_11a89a: ; 11a89a
+x = 0
+rept 16
+	bcd x % 100, x / 100
+x = x + 1
+endr
+
+Unknown_11a8ba: ; 11a8ba
+x = 0
+rept 16
+	bcd x % 100, x / 100
+x = x + 16
+endr
+
+Unknown_11a8da: ; 11a8da
+x = 0
+rept 16
+	bcd x % 100, x / 100
+x = x + 256
+endr
+; 11a8fa
+
+Function11a8fa: ; 11a8fa
+	ld a, [wc31a]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_11a909
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 11a909
+
+Jumptable_11a909: ; 11a909
+	dw Function11a970
+	dw Function11a90f
+	dw Function11a971
+; 11a90f
+
+Function11a90f: ; 11a90f
+	ld a, $1
+	ld [rSVBK], a
+	call SpeechTextBox
+	ld a, $50
+	ld hl, wc320
+	ld bc, $008c
+	call ByteFill
+	ld a, [wc31b]
+	ld l, a
+	ld a, [wc31c]
+	ld h, a
+	ld de, wc320
+.asm_11a92c
+	ld a, [hli]
+	cp $57
+	jr z, .asm_11a94f
+	cp $0
+	jr z, .asm_11a92c
+	cp $50
+	jr z, .asm_11a92c
+	cp $1
+	jr z, .asm_11a941
+	ld [de], a
+	inc de
+	jr .asm_11a92c
+
+.asm_11a941
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+.asm_11a945
+	ld a, [bc]
+	inc bc
+	cp $50
+	jr z, .asm_11a92c
+	ld [de], a
+	inc de
+	jr .asm_11a945
+
+.asm_11a94f
+	xor a
+	ld [wc31f], a
+	ld a, $20
+	ld [wc31b], a
+	ld a, $c3
+	ld [wc31c], a
+	hlcoord 1, 14
+	ld a, l
+	ld [wc31d], a
+	ld a, h
+	ld [wc31e], a
+	ld hl, wc31a
+	inc [hl]
+	ld a, $3
+	ld [rSVBK], a
+
+Function11a970:
+	ret
+; 11a971
+
+Function11a971: ; 11a971
+	ld hl, wc31f
+	ld a, [hJoyDown]
+	and a
+	jr nz, .asm_11a97f
+	ld a, [hl]
+	and a
+	jr z, .asm_11a97f
+	dec [hl]
+	ret
+
+.asm_11a97f
+	ld a, [Options]
+	and $7
+	ld [hl], a
+	ld hl, wcd8d
+	ld a, [wc31b]
+	ld e, a
+	ld a, [wc31c]
+	ld d, a
+	ld a, [de]
+	inc de
+	ld [hli], a
+	ld a, e
+	ld [wc31b], a
+	ld a, d
+	ld [wc31c], a
+	ld a, $50
+	ld [hl], a
+	ld a, [wc31d]
+	ld l, a
+	ld a, [wc31e]
+	ld h, a
+	ld de, wcd8d
+	call PlaceString
+	ld a, c
+	ld [wc31d], a
+	ld a, b
+	ld [wc31e], a
+	ld a, [wcd8d]
+	cp $50
+	jr nz, .asm_11a9bf
+	xor a
+	ld [wc31a], a
+
+.asm_11a9bf
+	ret
+; 11a9c0
+
+Function11a9c0: ; 11a9c0
+	ld a, l
+	ld [wc31b], a
+	ld a, h
+	ld [wc31c], a
+	ld a, $1
+	ld [wc31a], a
+	ret
+; 11a9ce
+
+Function11a9ce: ; 11a9ce
+	call WhiteBGMap
+	call Function2bae
+	call Function1d7d
+	callba Function106462
+	callba Function106464
+	call Functiond90
+	callba Function2b5c
+	call Function1ad2
+	ret
+; 11a9f0
+
+Function11a9f0: ; 11a9f0
+	ld a, $1
+	and a
+	ret
+; 11a9f4
+
+Function11a9f4: ; 11a9f4
+	ld a, [wcd8a]
+	ld l, a
+	ld a, [wcd8b]
+	ld h, a
+	inc hl
+	ld a, l
+	ld [wcd8a], a
+	ld a, h
+	ld [wcd8b], a
+	ld de, $d5d0
+	add hl, de
+	bit 7, h
+	ret nz
+	ld a, $d6
+	call Function118805
+	and a
+	ret
+; 11aa13
+
+UnknownText_0x11aa13: ; 0x11aa13
+	text "SAVE FILE will be"
+	line "sent."
+	done
+; 0x11aa2c
+
+UnknownText_0x11aa2c: ; 0x11aa2c
+	text "Sent SAVE FILE."
+	line "Reading NEWS…"
+	done
+; 0x11aa4b
+
+UnknownText_0x11aa4b: ; 0x11aa4b
+	text "Reading NEWS…"
+	done
+; 0x11aa5a
+
+UnknownText_0x11aa5a: ; 0x11aa5a
+	text "Received NEWS!"
+	done
+; 0x11aa6a
+
+UnknownText_0x11aa6a: ; 0x11aa6a
+	text "Quit reading NEWS?"
+	done
+; 0x11aa7e
+
+UnknownText_0x11aa7e: ; 0x11aa7e
+	text "Canceled sending"
+	line "SAVE FILE."
+	done
+; 0x11aa9b
+
+UnknownText_0x11aa9b: ; 0x11aa9b
+	text "ODD EGG"
+	line "was received!"
+	done
+; 0x11aab2
+
+UnknownText_0x11aab2: ; 0x11aab2
+	text "Registering your"
+	line "record…"
+	done
+; 0x11aacc
+
+UnknownText_0x11aacc: ; 0x11aacc
+	text "One visit per day"
+	line "per BATTLE ROOM!"
+	done
+; 0x11aaf0
+
+UnknownText_0x11aaf0: ; 0x11aaf0
+	text "A party #MON"
+	line "tops this level."
+	done
+; 0x11ab0f
+
+UnknownText_0x11ab0f: ; 0x11ab0f
+	text_from_ram wcd49
+	text " may go"
+	line "only to BATTLE"
+
+	para "ROOMS that are"
+	line "Lv.70 or higher."
+	done
+; 0x11ab4a
+
+UnknownText_0x11ab4a: ; 0x11ab4a
+	text "Cancel your BATTLE"
+	line "ROOM challenge?"
+	done
+; 0x11ab6e
+
+UnknownText_0x11ab6e: ; 0x11ab6e
+	text "Exit GYM LEADER"
+	line "HONOR ROLL?"
+	done
+; 0x11ab8b
+
+UnknownText_0x11ab8b: ; 0x11ab8b
+	text "Linking with the"
+	line "CENTER…"
+	done
+; 0x11aba5
+
+UnknownText_0x11aba5: ; 0x11aba5
+	text "What level do you"
+	line "want to challenge?"
+	done
+; 0x11abcb
+
+UnknownText_0x11abcb: ; 0x11abcb
+	text "Check BATTLE ROOM"
+	line "list by max level?"
+	done
+; 0x11abf1
+
+UnknownText_0x11abf1: ; 0x11abf1
+	text "Enter which"
+	line "BATTLE ROOM?"
+	done
+; 0x11ac0b
+
+UnknownText_0x11ac0b: ; 0x11ac0b
+	text "Which BATTLE ROOM?"
+	done
+; 0x11ac1f
+
+UnknownText_0x11ac1f: ; 0x11ac1f
+	text_from_ram StringBuffer3
+	text "'s ROOM"
+	line "@"
+	text_from_ram StringBuffer4
+	text "?"
+	cont "Please wait…"
+	done
+; 0x11ac3e
+
+Function11ac3e: ; 11ac3e
+	call SpeechTextBox
+	call FadeToMenu
+	callab Function8e814
+	call Function11ac51
+	call Function2b3c
+	ret
+; 11ac51
+
+Function11ac51: ; 11ac51
+	xor a
+	ld [hBGMapMode], a
+	ld hl, Options
+	ld a, [hl]
+	push af
+	set 4, [hl]
+	ld a, [VramState]
+	push af
+	xor a
+	ld [VramState], a
+	ld a, [$ffaa]
+	push af
+	ld a, $1
+	ld [$ffaa], a
+	xor a
+	ld [$ffde], a
+	ld [wcd49], a
+	ld [wcd4a], a
+	ld [wcd4c], a
+	ld [wcd4d], a
+	ld [wcd4e], a
+	call Function11ad1b
+	call DelayFrame
+.asm_11ac82
+	call Functiona57
+	ld a, [wcf63]
+	bit 7, a
+	jr nz, .asm_11aca8
+	call Function11b314
+	call Function11acb7
+	call Function11ad6e
+	ld a, $78
+	ld [wc3b5], a
+	callba Function8cf7a
+	callba Function104061
+	jr .asm_11ac82
+
+.asm_11aca8
+	call ClearSprites
+	pop af
+	ld [$ffaa], a
+	pop af
+	ld [VramState], a
+	pop af
+	ld [Options], a
+	ret
+; 11acb7
+
+Function11acb7: ; 11acb7
+	ld hl, Unknown_11ba44
+	ld a, [wcd49]
+	ld c, a
+	ld b, $0
+	sla c
+	rl b
+	sla c
+	rl b
+	sla c
+	rl b
+	add hl, bc
+	decoord 6, 6
+	ld a, [hli]
+	ld [de], a
+	decoord 0, 7
+	ld bc, $0007
+	call CopyBytes
+	ld a, [wcd49]
+	inc a
+	ld [wcd49], a
+	ld a, [hl]
+	cp $ff
+	jr nz, .asm_11aceb
+	xor a
+	ld [wcd49], a
+
+.asm_11aceb
+	ld hl, Unknown_11bb7d
+	ld a, [wcd4a]
+	ld c, a
+	ld b, $0
+	sla c
+	rl b
+	sla c
+	rl b
+	sla c
+	rl b
+	add hl, bc
+	decoord 3, 9
+	ld bc, $0007
+	call CopyBytes
+	ld a, [wcd4a]
+	inc a
+	ld [wcd4a], a
+	inc hl
+	ld a, [hl]
+	cp $ff
+	ret nz
+	xor a
+	ld [wcd4a], a
+	ret
+; 11ad1b
+
+Function11ad1b: ; 11ad1b
+	call WhiteBGMap
+	call ClearSprites
+	call ClearTileMap
+	callba Function17c000
+	ld a, [wcfa9]
+	ld [wcd82], a
+	dec a
+	ld [$ffb0], a
+	ld a, $10
+	ld [wc3b7], a
+	ld hl, Function8e83f
+	ld a, BANK(Function8e83f)
+	ld e, $4
+	rst FarCall
+	ld hl, Function8e83f
+	ld a, BANK(Function8e83f)
+	ld e, $5
+	rst FarCall
+	ld hl, $c6d0
+	ld bc, $0115
+	xor a
+	call ByteFill
+	xor a
+	ld [wcf63], a
+	ld [wcf64], a
+	ld [wcf65], a
+	ld [wcf66], a
+	ld [wcd30], a
+	ld a, $2
+	ld [wc7d4], a
+	callba Function40bdc
+	ret
+; 11ad6e
+
+Function11ad6e: ; 11ad6e
+	ld a, [wcf63]
+	ld hl, Jumptable_11ad78
+	call Function11b239
+	jp [hl]
+; 11ad78
+
+Jumptable_11ad78: ; 11ad78
+	dw Function11b082
+	dw Function11b0ff
+	dw Function11ad95
+	dw Function11adc4
+	dw Function11ae4e
+	dw Function11ae98
+	dw Function11ad8f
+	dw Function11af04
+	dw Function11af4e
+; 11ad8a
+
+Function11ad8a: ; 11ad8a
+	ld hl, wcf63
+	inc [hl]
+	ret
+; 11ad8f
+
+Function11ad8f: ; 11ad8f
+	ld hl, wcf63
+	set 7, [hl]
+	ret
+; 11ad95
+
+Function11ad95: ; 11ad95
+	ld hl, MenuDataHeader_11ae38
+	call LoadMenuDataHeader
+	call Function1cbb
+	hlcoord 12, 12
+	ld de, String_11ae40
+	call PlaceString
+	hlcoord 10, 10, AttrMap
+	ld bc, $0808
+	call Function11afd6
+	callba Function104061
+	call Function11ad8a
+	ld a, $1
+	ld [wcfa9], a
+	ld hl, Unknown_11afcc
+	call Function11afb7
+
+Function11adc4:
+	ld hl, hJoyPressed
+	ld a, [hl]
+	and a
+	ret z
+	ld a, [hl]
+	and $40
+	jr nz, .asm_11ade6
+	ld a, [hl]
+	and $80
+	jr nz, .asm_11aded
+	ld a, [hl]
+	and $1
+	jr nz, .asm_11ae06
+	ld a, [hl]
+	and $2
+	ret z
+	call PlayClickSFX
+	xor a
+	ld [wcf63], a
+	jr .asm_11ae2e
+
+.asm_11ade6
+	ld a, [wcfa9]
+	dec a
+	ret z
+	jr .asm_11adf4
+
+.asm_11aded
+	ld a, [wcfa9]
+	inc a
+	cp $4
+	ret z
+
+.asm_11adf4
+	push af
+	ld hl, Unknown_11afcc
+	call Function11afbb
+	pop af
+	ld [wcfa9], a
+	ld hl, Unknown_11afcc
+	call Function11afb7
+	ret
+
+.asm_11ae06
+	call PlayClickSFX
+	ld a, [wcfa9]
+	dec a
+	ld hl, wcd30
+	ld [hl], a
+	and a
+	jr z, .asm_11ae28
+	hlcoord 2, 14
+	ld a, [wcfa9]
+	cp $2
+	jr z, .asm_11ae23
+	call Function11b272
+	jr .asm_11ae2b
+
+.asm_11ae23
+	call Function11b267
+	jr .asm_11ae2b
+
+.asm_11ae28
+	ld a, $3
+	ld [hl], a
+
+.asm_11ae2b
+	call Function11ad8a
+
+.asm_11ae2e
+	call Function1c07
+	callba Function104061
+	ret
+; 11ae38
+
+MenuDataHeader_11ae38: ; 11ae38
+	db $40 ; flags
+	db 10, 10 ; start coords
+	db 17, 17 ; end coords
+	dw NULL
+	db 0 ; default option
+; 11ae40
+
+String_11ae40: ; 11ae40
+	db   "どちらでも"
+	next "♂ォス"
+	next "♀メス"
+	db   "@"
+; 11ae4e
+
+Function11ae4e: ; 11ae4e
+	ld hl, MenuDataHeader_11afe8
+	call LoadMenuDataHeader
+	call Function1cbb
+	hlcoord 10, 14
+	ld de, String_11aff0
+	call PlaceString
+	ld hl, MenuDataHeader_11b013
+	call LoadMenuDataHeader
+	call Function1cbb
+	hlcoord 16, 8
+	ld de, String_11b01b
+	call PlaceString
+	hlcoord 14, 7, AttrMap
+	lb bc, 5, 6
+	call Function11afd6
+	hlcoord 9, 12, AttrMap
+	lb bc, 6, 11
+	call Function11afd6
+	callba Function104061
+	call Function11ad8a
+	ld a, $1
+	ld [wcfa9], a
+	ld hl, Unknown_11afd2
+	call Function11afb7
+
+Function11ae98:
+	ld hl, hJoyPressed
+	ld a, [hl]
+	and a
+	ret z
+	ld a, [hl]
+	and D_UP
+	jr nz, .asm_11aec1
+	ld a, [hl]
+	and D_DOWN
+	jr nz, .asm_11aec8
+	ld a, [hl]
+	and A_BUTTON
+	jr nz, .asm_11aee1
+	ld a, [hl]
+	and B_BUTTON
+	ret z
+	call PlayClickSFX
+.asm_11aeb4
+	hlcoord 2, 14
+	ld a, $7f
+	ld [hl], a
+	ld a, $1
+	ld [wcf63], a
+	jr .asm_11aef7
+
+.asm_11aec1
+	ld a, [wcfa9]
+	dec a
+	ret z
+	jr .asm_11aecf
+
+.asm_11aec8
+	ld a, [wcfa9]
+	inc a
+	cp $3
+	ret z
+
+.asm_11aecf
+	push af
+	ld hl, Unknown_11afd2
+	call Function11afbb
+	pop af
+	ld [wcfa9], a
+	ld hl, Unknown_11afd2
+	call Function11afb7
+	ret
+
+.asm_11aee1
+	call PlayClickSFX
+	ld a, [wcfa9]
+	cp $2
+	jr z, .asm_11aeb4
+	ld a, [wcd4b]
+	ld [ScriptVar], a
+	call Function11b022
+	call Function11ad8a
+
+.asm_11aef7
+	call Function1c07
+	call Function1c07
+	callba Function104061
+	ret
+; 11af04
+
+Function11af04: ; 11af04
+	ld hl, MenuDataHeader_11afe8
+	call LoadMenuDataHeader
+	call Function1cbb
+	hlcoord 10, 14
+	ld de, String_11b003
+	call PlaceString
+	ld hl, MenuDataHeader_11b013
+	call LoadMenuDataHeader
+	call Function1cbb
+	hlcoord 16, 8
+	ld de, String_11b01b
+	call PlaceString
+	hlcoord 14, 7, AttrMap
+	lb bc, 5, 6
+	call Function11afd6
+	hlcoord 9, 12, AttrMap
+	lb bc, 6, 11
+	call Function11afd6
+	callba Function104061
+	call Function11ad8a
+	ld a, $2
+	ld [wcfa9], a
+	ld hl, Unknown_11afd2
+	call Function11afb7
+
+Function11af4e:
+	ld hl, hJoyPressed
+	ld a, [hl]
+	and a
+	ret z
+	ld a, [hl]
+	and D_UP
+	jr nz, .asm_11af77
+	ld a, [hl]
+	and D_DOWN
+	jr nz, .asm_11af7e
+	ld a, [hl]
+	and A_BUTTON
+	jr nz, .asm_11af97
+	ld a, [hl]
+	and B_BUTTON
+	ret z
+	call PlayClickSFX
+.asm_11af6a
+	hlcoord 2, 14
+	ld a, $7f
+	ld [hl], a
+	ld a, $1
+	ld [wcf63], a
+	jr .asm_11afaa
+
+.asm_11af77
+	ld a, [wcfa9]
+	dec a
+	ret z
+	jr .asm_11af85
+
+.asm_11af7e
+	ld a, [wcfa9]
+	inc a
+	cp $3
+	ret z
+
+.asm_11af85
+	push af
+	ld hl, Unknown_11afd2
+	call Function11afbb
+	pop af
+	ld [wcfa9], a
+	ld hl, Unknown_11afd2
+	call Function11afb7
+	ret
+
+.asm_11af97
+	call PlayClickSFX
+	ld a, [wcfa9]
+	cp $2
+	jr z, .asm_11af6a
+	ld a, $6
+	ld [wcf63], a
+	xor a
+	ld [ScriptVar], a
+
+.asm_11afaa
+	call Function1c07
+	call Function1c07
+	callba Function104061
+	ret
+; 11afb7
+
+Function11afb7: ; 11afb7
+	ld e, $ed
+	jr asm_11afbd
+
+Function11afbb:
+	ld e, $7f
+
+asm_11afbd:
+	ld a, [wcfa9]
+	dec a
+	ld c, a
+	ld b, 0
+	add hl, bc
+	add hl, bc
+	ld a, e
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	ld [de], a
+	ret
+; 11afcc
+
+Unknown_11afcc:
+	dwcoord 11, 12
+	dwcoord 11, 14
+	dwcoord 11, 16
+
+Unknown_11afd2:
+	dwcoord 15,  8
+	dwcoord 15, 10
+; 11afd6
+
+Function11afd6: ; 11afd6
+	ld de, $0014
+	ld a, $3
+.asm_11afdb
+	push bc
+	push hl
+.asm_11afdd
+	ld [hli], a
+	dec c
+	jr nz, .asm_11afdd
+	pop hl
+	add hl, de
+	pop bc
+	dec b
+	jr nz, .asm_11afdb
+	ret
+; 11afe8
+
+MenuDataHeader_11afe8: ; 11afe8
+	db $40 ; flags
+	db 12,  9 ; start coords
+	db 17, 19 ; end coords
+	dw NULL
+	db 0 ; default option
+; 11aff0
+
+String_11aff0: ; 11aff0
+	db   "この じょうけんで"
+	next "よろしいですか?@"
+; 11b003
+
+String_11b003: ; 11b003
+	db   "こうかんを"
+	next "ちゅうししますか?@"
+; 11b013
+
+MenuDataHeader_11b013: ; 11b013
+	db $40 ; flags
+	db  7, 14 ; start coords
+	db 11, 19 ; end coords
+	dw NULL
+	db 1 ; default option
+; 11b01b
+
+String_11b01b:
+	db   "はい"
+	next "いいえ@"
+; 11b022
+
+Function11b022: ; 11b022
+	ld a, [wcd2e]
+	and a
+	jr z, .asm_11b02e
+	ld hl, StringBuffer3
+	call Function11b03d
+
+.asm_11b02e
+	ld a, [wcd30]
+	and a
+	ret z
+	cp $3
+	ret z
+	ld hl, StringBuffer4
+	call Function11b03d
+	ret
+; 11b03d
+
+Function11b03d: ; 11b03d
+	push hl
+	push af
+	ld c, $1
+.asm_11b041
+	ld a, [hli]
+	cp $ef
+	jr z, .asm_11b051
+	cp $f5
+	jr z, .asm_11b051
+	cp $50
+	jr z, .asm_11b055
+	inc c
+	jr .asm_11b041
+
+.asm_11b051
+	dec hl
+	ld a, $50
+	ld [hli], a
+
+.asm_11b055
+	dec hl
+	push hl
+	ld e, $4
+	ld d, $0
+	add hl, de
+	ld e, l
+	ld d, h
+	pop hl
+.asm_11b05f
+	ld a, [hld]
+	ld [de], a
+	dec de
+	dec c
+	jr nz, .asm_11b05f
+	pop af
+	pop de
+	cp $1
+	jr nz, .asm_11b070
+	ld hl, String_11b07a
+	jr .asm_11b073
+
+.asm_11b070
+	ld hl, String_11b07e
+
+.asm_11b073
+	ld bc, 4
+	call CopyBytes
+	ret
+; 11b07a
+
+String_11b07a: db "ォスの "
+String_11b07e: db "メスの "
+
+Function11b082: ; 11b082
+	call Function11b242
+	ld a, $7
+	ld [wc7d3], a
+	call Function11b099
+	call Function11b295
+	call Function11b275
+	call Function32f9
+	jp Function11ad8a
+; 11b099
+
+Function11b099: ; 11b099
+	ld c, $6
+	hlcoord 11, 1
+	ld a, [wc7d3]
+	add a
+	ld b, a
+	xor a
+	call Function11b236
+	ld a, [wc7d0]
+	ld e, a
+	ld d, $0
+	ld hl, $c6d0
+	add hl, de
+	ld e, l
+	ld d, h
+	hlcoord 11, 2
+	ld a, [wc7d3]
+.asm_11b0b9
+	push af
+	ld a, [de]
+	ld [wd265], a
+	push de
+	push hl
+	call Function11b0cf
+	pop hl
+	ld de, $0028
+	add hl, de
+	pop de
+	inc de
+	pop af
+	dec a
+	jr nz, .asm_11b0b9
+	ret
+; 11b0cf
+
+Function11b0cf: ; 11b0cf
+	and a
+	ret z
+	call Function11b0ec
+	ret c
+	call Function11b0e1
+	push hl
+	call GetPokemonName
+	pop hl
+	call PlaceString
+	ret
+; 11b0e1
+
+Function11b0e1: ; 11b0e1
+	call Function11b21e
+	jr nz, .asm_11b0e8
+	inc hl
+	ret
+
+.asm_11b0e8
+	ld a, $1
+	ld [hli], a
+	ret
+; 11b0ec
+
+Function11b0ec: ; 11b0ec
+	call Function11b22a
+	ret nz
+	inc hl
+	ld de, String_11b0f9
+	call PlaceString
+	scf
+	ret
+; 11b0f9
+
+String_11b0f9: ; 11b0f9
+	db "ーーーーー@"
+; 11b0ff
+
+Function11b0ff: ; 11b0ff
+	ld hl, hJoyPressed
+	ld a, [hl]
+	and $2
+	jr nz, .asm_11b141
+	ld a, [hl]
+	and $1
+	jr nz, .asm_11b131
+	call Function11b175
+	jr nc, .asm_11b125
+	ld a, [wcd4c]
+	inc a
+	and $3
+	ld [wcd4c], a
+	xor a
+	ld [hBGMapMode], a
+	call Function11b099
+	ld a, $1
+	ld [hBGMapMode], a
+	ret
+
+.asm_11b125
+	ld a, [wcd4c]
+	and a
+	ret z
+	inc a
+	and $3
+	ld [wcd4c], a
+	ret
+
+.asm_11b131
+	call Function11b20b
+	call Function11b22a
+	jr z, .asm_11b13d
+	ld a, $1
+	jr .asm_11b148
+
+.asm_11b13d
+	ld a, $2
+	jr .asm_11b148
+
+.asm_11b141
+	ld hl, wcf63
+	ld a, $7
+	ld [hl], a
+	ret
+
+.asm_11b148
+	call PlayClickSFX
+	ld [wcd4b], a
+	and a
+	jr z, .asm_11b16c
+	ld a, [wcf65]
+	cp $0
+	jr z, .asm_11b163
+	cp $fe
+	jr z, .asm_11b167
+	cp $ff
+	jr z, .asm_11b16b
+	jp Function11ad8a
+
+.asm_11b163
+	ld a, $1
+	jr .asm_11b16c
+
+.asm_11b167
+	ld a, $2
+	jr .asm_11b16c
+
+.asm_11b16b
+	xor a
+
+.asm_11b16c
+	ld [wcd30], a
+	ld a, $4
+	ld [wcf63], a
+	ret
+; 11b175
+
+Function11b175: ; 11b175
+	ld a, [wc7d3]
+	ld d, a
+	ld a, [wc7d2]
+	ld e, a
+	ld hl, $ffa9
+	ld a, [hl]
+	and $40
+	jr nz, .asm_11b19a
+	ld a, [hl]
+	and $80
+	jr nz, .asm_11b1ae
+	ld a, d
+	cp e
+	jr nc, .asm_11b1ed
+	ld a, [hl]
+	and $20
+	jr nz, .asm_11b1c6
+	ld a, [hl]
+	and $10
+	jr nz, .asm_11b1d8
+	jr .asm_11b1ed
+
+.asm_11b19a
+	ld hl, wc7d1
+	ld a, [hl]
+	and a
+	jr z, .asm_11b1a4
+	dec [hl]
+	jr .asm_11b1ef
+
+.asm_11b1a4
+	ld hl, wc7d0
+	ld a, [hl]
+	and a
+	jr z, .asm_11b1ed
+	dec [hl]
+	jr .asm_11b1ef
+
+.asm_11b1ae
+	ld hl, wc7d1
+	ld a, [hl]
+	inc a
+	cp e
+	jr nc, .asm_11b1ed
+	cp d
+	jr nc, .asm_11b1bc
+	inc [hl]
+	jr .asm_11b1ef
+
+.asm_11b1bc
+	ld hl, wc7d0
+	add [hl]
+	cp e
+	jr nc, .asm_11b1ed
+	inc [hl]
+	jr .asm_11b1ef
+
+.asm_11b1c6
+	ld hl, wc7d0
+	ld a, [hl]
+	and a
+	jr z, .asm_11b1ed
+	cp d
+	jr nc, .asm_11b1d4
+	xor a
+	ld [hl], a
+	jr .asm_11b1ef
+
+.asm_11b1d4
+	sub d
+	ld [hl], a
+	jr .asm_11b1ef
+
+.asm_11b1d8
+	ld hl, wc7d0
+	ld a, d
+	add a
+	add [hl]
+	jr c, .asm_11b1e3
+	cp e
+	jr c, .asm_11b1e8
+
+.asm_11b1e3
+	ld a, e
+	sub d
+	ld [hl], a
+	jr .asm_11b1ef
+
+.asm_11b1e8
+	ld a, [hl]
+	add d
+	ld [hl], a
+	jr .asm_11b1ef
+
+.asm_11b1ed
+	and a
+	ret
+
+.asm_11b1ef
+	call Function11b295
+	call Function11b275
+	scf
+	ret
+; 11b1f7
+
+Function11b1f7: ; 11b1f7
+	ld hl, TileMap
+	ld a, $32
+	ld bc, $0168
+	call ByteFill
+	ret
+; 11b203
+
+Function11b203: ; 11b203
+.asm_11b203
+	ld a, [de]
+	cp $ff
+	ret z
+	inc de
+	ld [hli], a
+	jr .asm_11b203
+; 11b20b
+
+Function11b20b: ; 11b20b
+	ld a, [wc7d1]
+	ld hl, wc7d0
+	add [hl]
+	ld e, a
+	ld d, $0
+	ld hl, $c6d0
+	add hl, de
+	ld a, [hl]
+	ld [wd265], a
+	ret
+; 11b21e
+
+Function11b21e: ; 11b21e
+	push de
+	push hl
+	ld a, [wd265]
+	dec a
+	call CheckCaughtMon
+	pop hl
+	pop de
+	ret
+; 11b22a
+
+Function11b22a: ; 11b22a
+	push de
+	push hl
+	ld a, [wd265]
+	dec a
+	call CheckSeenMon
+	pop hl
+	pop de
+	ret
+; 11b236
+
+Function11b236: ; 11b236
+	jp Functionfb8
+; 11b239
+
+Function11b239: ; 11b239
+	ld e, a
+	ld d, 0
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ret
+; 11b242
+
+Function11b242: ; 11b242
+	hlcoord 3, 4
+	ld de, StringBuffer3
+	call PlaceString
+	xor a
+	ld [MonType], a
+	callba GetGender
+	hlcoord 1, 4
+	ld a, [CurPartySpecies]
+	ld bc, wcd2f
+	ld [bc], a
+	dec bc
+	jr c, asm_11b26a
+	jr z, asm_11b26f
+	ld a, $1
+	ld [bc], a
+
+Function11b267:
+	ld [hl], $ef
+	ret
+
+asm_11b26a
+	xor a
+	ld [bc], a
+	ld [hl], $7f
+	ret
+
+asm_11b26f
+	ld a, $2
+	ld [bc], a
+
+Function11b272:
+	ld [hl], $f5
+	ret
+; 11b275
+
+Function11b275: ; 11b275
+	call Function11b279
+	ret
+; 11b279
+
+Function11b279: ; 11b279
+	ld a, [wd265]
+	ld [CurSpecies], a
+	call Function11b22a
+	jr z, .asm_11b28f
+	call GetBaseData
+	ld a, [BaseGender]
+	ld [wcf65], a
+	jr .asm_11b294
+
+.asm_11b28f
+	ld a, $ff
+	ld [wcf65], a
+
+.asm_11b294
+	ret
+; 11b295
+
+Function11b295: ; 11b295
+	hlcoord 4, 13
+	ld de, String_11b308
+	call PlaceString
+	hlcoord 4, 14
+	ld de, String_11b308
+	call PlaceString
+	call Function11b20b
+	call Function11b22a
+	jr z, .asm_11b2d1
+	ld a, [$c608]
+	ld c, a
+	ld a, [$c608 + 1]
+	ld b, a
+	ld hl, $0007
+	add hl, bc
+	xor a
+	ld [hl], a
+	ld hl, $0003
+	add hl, bc
+	ld e, [hl]
+	callba Function8e9bc
+	hlcoord 4, 14
+	push hl
+	call GetPokemonName
+	jr .asm_11b2e7
+
+.asm_11b2d1
+	ld a, [$c608]
+	ld c, a
+	ld a, [$c608 + 1]
+	ld b, a
+	ld hl, $0007
+	add hl, bc
+	ld a, $50
+	ld [hl], a
+	hlcoord 4, 13
+	push hl
+	ld de, String_11b30e
+
+.asm_11b2e7
+	ld a, $6
+	ld bc, StringBuffer4
+.asm_11b2ec
+	push af
+	ld a, [de]
+	ld [bc], a
+	inc de
+	inc bc
+	pop af
+	dec a
+	and a
+	jr nz, .asm_11b2ec
+	pop hl
+	ld de, StringBuffer4
+	call PlaceString
+	ret
+; 11b2fe
+
+String_11b2fe: ; 11b2fe
+	db "あげる#@"
+; 11b303
+
+String_11b303: ; 11b303
+	db "ほしい#@"
+; 11b308
+
+String_11b308: ; 11b308
+	db "     @"
+; 11b30e
+
+String_11b30e: ; 11b30e
+	db "みはっけん@"
+; 11b314
+
+Function11b314: ; 11b314
+	call Function11b31b
+	call Function11b3d9
+	ret
+; 11b31b
+
+Function11b31b: ; 11b31b
+	ld hl, Unknown_11b350
+	ld a, [wcf63]
+	cp $2
+	jr c, .asm_11b349
+	ld a, [wc7d1]
+	cp $4
+	jr nc, .asm_11b344
+	cp $3
+	jr c, .asm_11b349
+	ld a, [wcf63]
+	cp $2
+	jr z, .asm_11b349
+	cp $3
+	jr z, .asm_11b349
+	cp $6
+	jr z, .asm_11b349
+
+	ld bc, Unknown_11b37b
+	jr .asm_11b34c
+
+.asm_11b344
+	ld bc, Unknown_11b389
+	jr .asm_11b34c
+
+.asm_11b349
+	ld bc, Unknown_11b36d
+
+.asm_11b34c
+	call Function11b397
+	ret
+; 11b350
+
+Unknown_11b350:
+INCBIN "baserom.gbc",$11b350,$11b36d - $11b350
+
+Unknown_11b36d:
+INCBIN "baserom.gbc",$11b36d,$11b37b - $11b36d
+Unknown_11b37b:
+INCBIN "baserom.gbc",$11b37b,$11b389 - $11b37b
+Unknown_11b389:
+INCBIN "baserom.gbc",$11b389,$11b397 - $11b389
+
+Function11b397: ; 11b397
+	ld de, Sprites
+.asm_11b39a
+	ld a, [hl]
+	cp $ff
+	ret z
+	ld a, [wc7d1]
+	and $7
+	swap a
+	add [hl]
+	inc hl
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [bc]
+	inc bc
+	ld [de], a
+	inc de
+	ld a, $5
+	ld [de], a
+	inc de
+	jr .asm_11b39a
+; 11b3b6
+
+Function11b3b6: ; 11b3b6
+.asm_11b3b6
+	ld a, [hl]
+	cp $ff
+	ret z
+	ld a, [wcd4d]
+	and $7
+	swap a
+	add [hl]
+	inc hl
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	push hl
+	ld l, c
+	ld h, b
+	ld a, [wcd4e]
+	add [hl]
+	inc bc
+	ld [de], a
+	inc de
+	pop hl
+	ld a, $5
+	ld [de], a
+	inc de
+	jr .asm_11b3b6
+; 11b3d9
+
+Function11b3d9: ; 11b3d9
+	ld de, Sprites + $70
+	push de
+	ld a, [wc7d2]
+	dec a
+	ld e, a
+	ld a, [wc7d1]
+	ld hl, wc7d0
+	add [hl]
+	cp e
+	jr z, .asm_11b40d
+	ld hl, $0000
+	ld bc, $0070
+	call AddNTimes
+	ld e, l
+	ld d, h
+	ld b, $0
+	ld a, d
+	or e
+	jr z, .asm_11b40f
+	ld a, [wc7d2]
+	ld c, a
+.asm_11b401
+	ld a, e
+	sub c
+	ld e, a
+	ld a, d
+	sbc $0
+	ld d, a
+	jr c, .asm_11b40f
+	inc b
+	jr .asm_11b401
+
+.asm_11b40d
+	ld b, $70
+
+.asm_11b40f
+	ld a, $15
+	add b
+	pop hl
+	ld [hli], a
+	cp $41
+	jr c, .asm_11b42b
+	ld a, [wcf63]
+	cp $4
+	jr z, .asm_11b43b
+	cp $5
+	jr z, .asm_11b43b
+	cp $7
+	jr z, .asm_11b43b
+	cp $8
+	jr z, .asm_11b43b
+
+.asm_11b42b
+	ld a, $9b
+	ld [hli], a
+	ld a, [wcd4c]
+	add $3c
+	ld [hli], a
+	ld a, [wcd4c]
+	add $1
+	ld [hl], a
+	ret
+
+.asm_11b43b
+	ld a, $9b
+	ld [hli], a
+	ld a, $39
+	ld [hli], a
+	xor a
+	ld [hl], a
+	ret
+; 11b444
+
+Function11b444: ; 11b444
+	call Function11b44b
+	call Function11b45c
+	ret
+; 11b44b
+
+Function11b44b: ; 11b44b
+	xor a
+	ld [wcf63], a
+	ld [wcf64], a
+	ld [wcf65], a
+	ld [wcf66], a
+	call UpdateTime
+	ret
+; 11b45c
+
+Function11b45c: ; 11b45c
+.asm_11b45c
+	call Function11b46a
+	call DelayFrame
+	ld a, [wcf63]
+	cp $4
+	jr nz, .asm_11b45c
+	ret
+; 11b46a
+
+Function11b46a: ; 11b46a
+	ld a, [wcf63]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_11b479
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 11b479
+
+Jumptable_11b479: ; 11b479
+	dw Function11b483
+	dw Function11b570
+	dw Function11b5c0
+	dw Function11b5e0
+	dw Function11b5e7
+; 11b483
+
+Function11b483: ; 11b483
+	call Function11b538
+	ld hl, PlayerName
+	ld a, $5
+.asm_11b48b
+	push af
+	ld a, [hli]
+	ld [bc], a
+	inc bc
+	pop af
+	dec a
+	and a
+	jr nz, .asm_11b48b
+	ld de, $0030
+	ld hl, PartyMon1Species
+	ld a, [wcd82]
+	dec a
+	push af
+.asm_11b49f
+	and a
+	jr z, .asm_11b4a6
+	add hl, de
+	dec a
+	jr .asm_11b49f
+
+.asm_11b4a6
+	push bc
+	ld a, $30
+.asm_11b4a9
+	push af
+	ld a, [hli]
+	ld [bc], a
+	inc bc
+	pop af
+	dec a
+	and a
+	jr nz, .asm_11b4a9
+	pop de
+	push bc
+	ld a, [de]
+	ld [CurSpecies], a
+	call GetBaseData
+	ld hl, $001f
+	add hl, de
+	ld a, [hl]
+	ld [CurPartyLevel], a
+	ld hl, $0024
+	add hl, de
+	push hl
+	ld hl, $000a
+	add hl, de
+	pop de
+	push de
+	ld b, $1
+	predef Functione167
+	pop de
+	ld h, d
+	ld l, e
+	dec hl
+	dec hl
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hl], a
+	pop bc
+	ld de, $000b
+	ld hl, PartyMonOT
+	pop af
+	push af
+.asm_11b4e8
+	and a
+	jr z, .asm_11b4ef
+	add hl, de
+	dec a
+	jr .asm_11b4e8
+
+.asm_11b4ef
+	ld a, $a
+.asm_11b4f1
+	push af
+	ld a, [hli]
+	ld [bc], a
+	inc bc
+	pop af
+	dec a
+	and a
+	jr nz, .asm_11b4f1
+	ld de, $000b
+	ld hl, PartyMonNicknames
+	pop af
+	push af
+.asm_11b502
+	and a
+	jr z, .asm_11b509
+	add hl, de
+	dec a
+	jr .asm_11b502
+
+.asm_11b509
+	ld a, $a
+.asm_11b50b
+	push af
+	ld a, [hli]
+	ld [bc], a
+	inc bc
+	pop af
+	dec a
+	and a
+	jr nz, .asm_11b50b
+	ld de, $002f
+	ld hl, $a600
+	pop af
+.asm_11b51b
+	and a
+	jr z, .asm_11b522
+	add hl, de
+	dec a
+	jr .asm_11b51b
+
+.asm_11b522
+	ld a, $0
+	call GetSRAMBank
+	ld a, $2f
+.asm_11b529
+	push af
+	ld a, [hli]
+	ld [bc], a
+	inc bc
+	pop af
+	dec a
+	and a
+	jr nz, .asm_11b529
+	call CloseSRAM
+	jp Function11ad8a
+; 11b538
+
+Function11b538: ; 11b538
+	ld bc, BattleMonNick + 5
+	ld a, [PlayerID]
+	ld [wcd2a], a
+	ld [bc], a
+	inc bc
+	ld a, [PlayerID + 1]
+	ld [wcd2b], a
+	ld [bc], a
+	inc bc
+	ld a, [wd84a]
+	ld [wcd2c], a
+	ld [bc], a
+	inc bc
+	ld a, [wd84b]
+	ld [wcd2d], a
+	ld [bc], a
+	inc bc
+	ld a, [wcd2e]
+	ld [bc], a
+	inc bc
+	ld a, [wcd2f]
+	ld [bc], a
+	inc bc
+	ld a, [wcd30]
+	ld [bc], a
+	inc bc
+	ld a, [wd265]
+	ld [bc], a
+	inc bc
+	ret
+; 11b570
+
+Function11b570: ; 11b570
+	call Function118007
+	ld a, [ScriptVar]
+	and a
+	jr nz, .asm_11b57f
+	call Function11b585
+	jp Function11ad8a
+
+.asm_11b57f
+	ld a, $4
+	ld [wcf63], a
+	ret
+; 11b585
+
+Function11b585: ; 11b585
+	ld a, $3
+	ld [rSVBK], a
+	ld hl, $d800
+	ld de, $c608
+	ld bc, $008f
+	call CopyBytes
+	ld a, $1
+	ld [rSVBK], a
+	ld a, $5
+	call GetSRAMBank
+	ld de, $a800
+	ld a, $1
+	ld [de], a
+	inc de
+	ld hl, $c608
+	ld bc, $008f
+	call CopyBytes
+	push de
+	pop hl
+	ld a, [hRTCMinutes]
+	ld [hli], a
+	ld a, [hRTCHours]
+	ld [hli], a
+	ld a, [hRTCDayLo]
+	ld [hli], a
+	ld a, [hRTCDayHi]
+	ld [hl], a
+	call CloseSRAM
+	ret
+; 11b5c0
+
+Function11b5c0: ; 11b5c0
+	ld a, [wcd82]
+	dec a
+	ld [CurPartyMon], a
+	xor a
+	ld [wd10b], a
+	callba Functione039
+	callba Function170807
+	callba Function14a58
+	jp Function11ad8a
+; 11b5e0
+
+Function11b5e0: ; 11b5e0
+	xor a
+	ld [ScriptVar], a
+	jp Function11ad8a
+; 11b5e7
+
+Function11b5e7: ; 11b5e7
+	ret
+; 11b5e8
+
+Function11b5e8: ; 11b5e8
+	ld a, $0
+	call GetSRAMBank
+	ld hl, wRTC
+	ld de, $c608
+	ld bc, $0004
+	call CopyBytes
+	call CloseSRAM
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $c608
+	ld de, $b08c
+	ld bc, $0004
+	call CopyBytes
+	ld a, $2
+	ld [$a800], a
+	ld a, [$a81f]
+	ld [wcd2a], a
+	ld a, [$a820]
+	ld [wcd2b], a
+	ld a, [$a821]
+	ld [wcd2c], a
+	ld a, [$a822]
+	ld [wcd2d], a
+	ld a, [$a823]
+	ld [wcd2e], a
+	ld a, [$a824]
+	ld [wcd2f], a
+	ld a, [$a825]
+	ld [wcd30], a
+	ld a, [$a826]
+	ld [wcd31], a
+	call CloseSRAM
+	call Function11b44b
+	call Function11b64c
+	ret
+; 11b64c
+
+Function11b64c: ; 11b64c
+.asm_11b64c
+	call Function11b65a
+	call DelayFrame
+	ld a, [wcf63]
+	cp $1
+	jr nz, .asm_11b64c
+	ret
+; 11b65a
+
+Function11b65a: ; 11b65a
+	ld a, [wcf63]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_11b669
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 11b669
+
+Jumptable_11b669: ; 11b669
+	dw Function11b66d
+	dw Function11b6b3
+; 11b66d
+
+Function11b66d: ; 11b66d
+	call Function1180b8
+	ld a, [ScriptVar]
+	and a
+	jr nz, .asm_11b6b0
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+	ld a, [StringBuffer2 + 10]
+	ld b, a
+	pop af
+	ld [rSVBK], a
+	ld a, b
+	and a
+	jr z, .asm_11b691
+	cp $1
+	jr nz, .asm_11b6b0
+	call Function11b6b4
+	jr .asm_11b6b0
+
+.asm_11b691
+	callba Function17081d
+	ld a, [ScriptVar]
+	and a
+	jr z, .asm_11b6b0
+	xor a
+	ld [ScriptVar], a
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+	ld a, $2
+	ld [StringBuffer2 + 10], a
+	pop af
+	ld [rSVBK], a
+
+.asm_11b6b0
+	jp Function11ad8a
+; 11b6b3
+
+Function11b6b3: ; 11b6b3
+	ret
+; 11b6b4
+
+Function11b6b4: ; 11b6b4
+	ld a, $5
+	call GetSRAMBank
+	ld a, [wcd30]
+	ld [wc708], a
+	ld a, [wcd31]
+	ld [wc709], a
+	ld a, $8
+	ld [BGMapBuffer], a
+	ld a, $c7
+	ld [wcd21], a
+	ld a, $d
+	ld [CreditsTimer], a
+	ld a, $c6
+	ld [wcd23], a
+	ld a, $3d
+	ld [wcd24], a
+	ld a, $c6
+	ld [wcd25], a
+	ld a, $42
+	ld [wcd26], a
+	ld a, $c6
+	ld [wcd27], a
+	ld a, $47
+	ld [wcd28], a
+	ld a, $c6
+	ld [wcd29], a
+	ld a, $46
+	ld [$c628], a
+	ld de, $c63d
+	ld c, $5
+	callba Function17d073
+	jr nc, .asm_11b70f
+	callba Function17d187
+
+.asm_11b70f
+	ld de, $c63d
+	ld bc, $0105
+	callba Function17d1e1
+	jr nc, .asm_11b723
+	callba Function17d187
+
+.asm_11b723
+	ld de, $c642
+	ld c, $5
+	callba Function17d073
+	jr nc, .asm_11b736
+	callba Function17d199
+
+.asm_11b736
+	ld de, $c642
+	ld bc, $0105
+	callba Function17d1e1
+	jr nc, .asm_11b74a
+	callba Function17d199
+
+.asm_11b74a
+	ld de, $c647
+	ld c, $21
+	callba Function17d073
+	jr nc, .asm_11b75d
+	callba Function17d1ab
+
+.asm_11b75d
+	ld de, $c647
+	ld bc, $0221
+	callba Function17d1e1
+	jr c, .asm_11b770
+	ld a, b
+	cp $2
+	jr nz, .asm_11b776
+
+.asm_11b770
+	callba Function17d1ab
+
+.asm_11b776
+	ld de, $c668
+	ld c, $5
+	callba Function17d073
+	jr nc, .asm_11b789
+	callba Function17d1c9
+
+.asm_11b789
+	ld de, $c668
+	ld bc, $0105
+	callba Function17d1e1
+	jr nc, .asm_11b79d
+	callba Function17d1c9
+
+.asm_11b79d
+	ld a, [$c608 + 6]
+	cp $ff
+	jr nz, .asm_11b7a8
+	xor a
+	ld [$c608 + 6], a
+
+.asm_11b7a8
+	ld a, [wcd31]
+	ld [$c608 + 5], a
+	ld [CurSpecies], a
+	call GetBaseData
+
+	ld hl, $c62c
+	ld a, [hl]
+	cp MIN_LEVEL
+	ld a, MIN_LEVEL
+	jr c, .asm_11b7c5
+	ld a, [hl]
+	cp MAX_LEVEL
+	jr c, .asm_11b7c6
+	ld a, MAX_LEVEL
+.asm_11b7c5
+	ld [hl], a
+.asm_11b7c6
+	ld [CurPartyLevel], a
+
+	ld hl, $c616 + 1
+	ld de, $c62c + 5
+	ld b, $1
+	predef Functione167
+	ld de, $c62c + 5
+	ld hl, $c62c + 3
+	ld a, [de]
+	ld [hli], a
+	inc de
+	ld a, [de]
+	ld [hl], a
+	call Function11b98f
+	ret
+; 11b7e5
+
+Function11b7e5: ; 11b7e5
+	ld a, [$c608 + 5]
+	ld [wc702], a
+	ld [CurPartySpecies], a
+	ld a, [wcd81]
+	ld [wc74e], a
+	ld hl, $c63d
+	ld de, wc724
+	ld bc, $0005
+	call CopyBytes
+	ld a, $50
+	ld [de], a
+	ld a, [$c608 + 11]
+	ld [wc731], a
+	ld a, [$c608 + 12]
+	ld [wc732], a
+	ld hl, $c608 + 26
+	ld a, [hli]
+	ld [wc72f], a
+	ld a, [hl]
+	ld [wc730], a
+	ld bc, $c608 + 5
+	callba GetCaughtGender
+	ld a, c
+	ld [wc733], a
+	call SpeechTextBox
+	call FadeToMenu
+	callba Function108016
+	callba Function17d1f1
+	ld a, $1
+	ld [wd1e9], a
+	ld a, $2
+	ld [InLinkBattle], a
+	callba Function421d8
+	xor a
+	ld [InLinkBattle], a
+	callba Function14a58
+	ld a, $5
+	call GetSRAMBank
+	ld a, $5
+	ld [$a800], a
+	call CloseSRAM
+	ld a, [MapGroup]
+	ld b, a
+	ld a, [MapNumber]
+	ld c, a
+	call GetMapTrigger
+	ld a, d
+	or e
+	jr z, .asm_11b872
+	ld a, $1
+	ld [de], a
+
+.asm_11b872
+	call Function2b3c
+	call RestartMapMusic
+	ret
+; 11b879
+
+Function11b879: ; 11b879
+	callba Function17089a
+	ld a, [ScriptVar]
+	and a
+	ret z
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$a800]
+	ld [ScriptVar], a
+	ld a, [$a890]
+	ld [wcd49], a
+	ld a, [$a891]
+	ld [wcd4a], a
+	ld a, [$a892]
+	ld [wcd4b], a
+	ld a, [$a893]
+	ld [wcd4c], a
+	call CloseSRAM
+	ld a, [ScriptVar]
+	and a
+	ret z
+	ld hl, wcd4c
+	ld a, [hRTCDayHi]
+	cp [hl]
+	ret nz
+	dec hl
+	ld a, [hRTCDayLo]
+	cp [hl]
+	ret nz
+	ld hl, wcd4a
+	ld a, [hRTCHours]
+	cp [hl]
+	jr nc, .asm_11b8d8
+	ld a, $18
+	sub [hl]
+	ld hl, hRTCHours
+	add [hl]
+	ld [wcd4c], a
+	ld a, [hRTCMinutes]
+	ld [wcd4b], a
+	xor a
+	ld [wcd4a], a
+	jr .asm_11b8e2
+
+.asm_11b8d8
+	ld a, [hRTCMinutes]
+	ld [wcd4b], a
+	ld a, [hRTCHours]
+	ld [wcd4c], a
+
+.asm_11b8e2
+	xor a
+	ld l, a
+	ld h, a
+	ld b, a
+	ld d, a
+	ld a, [wcd4b]
+	ld e, a
+	ld a, [wcd4c]
+	ld c, $3c
+	call AddNTimes
+	add hl, de
+	push hl
+	xor a
+	ld l, a
+	ld h, a
+	ld b, a
+	ld d, a
+	ld a, [wcd49]
+	ld e, a
+	ld a, [wcd4a]
+	ld c, $3c
+	call AddNTimes
+	add hl, de
+	ld a, l
+	cpl
+	add $1
+	ld e, a
+	ld a, h
+	cpl
+	adc $0
+	ld d, a
+	pop hl
+	add hl, de
+	ld de, $ff88
+	add hl, de
+	bit 7, h
+	ret z
+	ld a, $2
+	ld [ScriptVar], a
+	ret
+; 11b920
+
+Function11b920: ; 11b920
+	call Function11b44b
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $a81f
+	ld de, BattleMonNick + 5
+	ld bc, $0008
+	call CopyBytes
+	call CloseSRAM
+	call Function118000
+	ret
+; 11b93b
+
+Function11b93b: ; 11b93b
+	ld a, $5
+	call GetSRAMBank
+	xor a
+	ld [$a800], a
+	ld hl, $a823
+	ld de, $c608
+	ld bc, $008f
+	call CopyBytes
+	call CloseSRAM
+	ld a, $8
+	ld [BGMapBuffer], a
+	ld a, $c6
+	ld [wcd21], a
+	ld a, $11
+	ld [CreditsTimer], a
+	ld a, $c6
+	ld [wcd23], a
+	ld a, $41
+	ld [wcd24], a
+	ld a, $c6
+	ld [wcd25], a
+	ld a, $46
+	ld [wcd26], a
+	ld a, $c6
+	ld [wcd27], a
+	ld a, $4b
+	ld [wcd28], a
+	ld a, $c6
+	ld [wcd29], a
+	call Function11b98f
+	callba Function14a58
+	ret
+; 11b98f
+
+Function11b98f: ; 11b98f
+	ld hl, PartyCount
+	ld a, [hl]
+	ld e, a
+	inc [hl]
+	ld a, [BGMapBuffer]
+	ld l, a
+	ld a, [wcd21]
+	ld h, a
+	inc hl
+	ld bc, PartySpecies
+	ld d, e
+.asm_11b9a2
+	inc bc
+	dec d
+	jr nz, .asm_11b9a2
+	ld a, e
+	ld [CurPartyMon], a
+	ld a, [hl]
+	ld [bc], a
+	inc bc
+	ld a, $ff
+	ld [bc], a
+	ld hl, PartyMon1Species
+	ld bc, PartyMon2 - PartyMon1
+	ld a, e
+	ld [wcd2a], a
+.asm_11b9ba
+	add hl, bc
+	dec a
+	and a
+	jr nz, .asm_11b9ba
+	ld e, l
+	ld d, h
+	ld a, [CreditsTimer]
+	ld l, a
+	ld a, [wcd23]
+	ld h, a
+	ld bc, PartyMon2 - PartyMon1
+	call CopyBytes
+	ld hl, PartyMonOT
+	ld bc, $000b
+	ld a, [wcd2a]
+.asm_11b9d8
+	add hl, bc
+	dec a
+	and a
+	jr nz, .asm_11b9d8
+	ld e, l
+	ld d, h
+	ld a, [wcd24]
+	ld l, a
+	ld a, [wcd25]
+	ld h, a
+	ld bc, $000a
+	call CopyBytes
+	ld a, $50
+	ld [de], a
+	ld hl, PartyMonNicknames
+	ld bc, $000b
+	ld a, [wcd2a]
+.asm_11b9f9
+	add hl, bc
+	dec a
+	and a
+	jr nz, .asm_11b9f9
+	ld e, l
+	ld d, h
+	ld a, [wcd26]
+	ld l, a
+	ld a, [wcd27]
+	ld h, a
+	ld bc, $000a
+	call CopyBytes
+	ld a, $50
+	ld [de], a
+	ld hl, $a600
+	ld bc, $002f
+	ld a, [wcd2a]
+.asm_11ba1a
+	add hl, bc
+	dec a
+	and a
+	jr nz, .asm_11ba1a
+	ld a, $0
+	call GetSRAMBank
+	ld e, l
+	ld d, h
+	ld a, [wcd28]
+	ld l, a
+	ld a, [wcd29]
+	ld h, a
+	ld bc, $002f
+	call CopyBytes
+	call CloseSRAM
+	ret
+; 11ba38
+
+Function11ba38: ; 11ba38
+	callba Functione538
+	ret c
+	xor a
+	ld [ScriptVar], a
+	ret
+; 11ba44
+
+Unknown_11ba44:
+INCBIN "baserom.gbc",$11ba44,$11bb7d - $11ba44
+
+Unknown_11bb7d:
+INCBIN "baserom.gbc",$11bb7d,$11bc9e - $11bb7d
+
+
+SECTION "bank47", ROMX, BANK[$47]
+
+Function11c000:: ; 11c000
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+	ld hl, wd105
+	ld a, [hl]
+	dec a
+	ld e, a
+	ld d, 0
+	ld hl, Unknown_11f2f0
+	add hl, de
+	ld a, [hl]
+	and a
+	jr nz, .asm_11c026
+	ld a, [hRandomAdd]
+	and $1f
+	cp $19
+	jr c, .asm_11c021
+	sub $19
+
+.asm_11c021
+	ld hl, Unknown_11f332
+	jr .asm_11c033
+
+.asm_11c026
+	ld a, [hRandomAdd]
+	and $f
+	cp $f
+	jr c, .asm_11c030
+	sub $f
+
+.asm_11c030
+	ld hl, Unknown_11f3ce
+
+.asm_11c033
+	ld b, 0
+	dec c
+	jr nz, .asm_11c03d
+	ld [wd000 + $200], a
+	jr .asm_11c040
+
+.asm_11c03d
+	ld a, [wd000 + $200]
+
+.asm_11c040
+	push af
+	add hl, bc
+	add hl, bc
+	ld a, [hli]
+	ld c, a
+	ld a, [hl]
+	ld h, a
+	ld l, c
+	pop af
+	ld c, a
+	ld b, 0
+	add hl, bc
+	add hl, bc
+	ld a, [hli]
+	ld c, a
+	ld a, [hl]
+	ld l, c
+	ld h, a
+	bccoord 1, 14
+	pop af
+	ld [rSVBK], a
+	call Function13e5
+	ret
+; 11c05d
+
+Function11c05d: ; 11c05d
+	ld a, e
+	or d
+	jr z, .asm_11c071
+	ld a, e
+	and d
+	cp $ff
+	jr z, .asm_11c071
+	push hl
+	call Function11c156
+	pop hl
+	call PlaceString
+	and a
+	ret
+
+.asm_11c071
+	ld c, l
+	ld b, h
+	scf
+	ret
+; 11c075
+
+Function11c075: ; 11c075
+	push de
+	ld a, c
+	call Function11c254
+	pop de
+	ld bc, wcd36
+	call Function11c08f
+	ret
+; 11c082
+
+Function11c082: ; 11c082
+	push de
+	ld a, c
+	call Function11c254
+	pop de
+	ld bc, wcd36
+	call Function11c0c6
+	ret
+; 11c08f
+
+Function11c08f: ; 11c08f
+	ld l, e
+	ld h, d
+	push hl
+	ld a, $3
+.asm_11c094
+	push af
+	ld a, [bc]
+	ld e, a
+	inc bc
+	ld a, [bc]
+	ld d, a
+	inc bc
+	push bc
+	call Function11c05d
+	jr c, .asm_11c0a2
+	inc bc
+
+.asm_11c0a2
+	ld l, c
+	ld h, b
+	pop bc
+	pop af
+	dec a
+	jr nz, .asm_11c094
+	pop hl
+	ld de, $0028
+	add hl, de
+	ld a, $3
+.asm_11c0b0
+	push af
+	ld a, [bc]
+	ld e, a
+	inc bc
+	ld a, [bc]
+	ld d, a
+	inc bc
+	push bc
+	call Function11c05d
+	jr c, .asm_11c0be
+	inc bc
+
+.asm_11c0be
+	ld l, c
+	ld h, b
+	pop bc
+	pop af
+	dec a
+	jr nz, .asm_11c0b0
+	ret
+; 11c0c6
+
+
+Function11c0c6: ; 11c0c6
+	ld a, [wcf63]
+	ld l, a
+	ld a, [wcf64]
+	ld h, a
+	push hl
+	ld hl, $c608 + 16
+	ld a, $0
+	ld [hli], a
+	push de
+	xor a
+	ld [wcf63], a
+	ld a, $12
+	ld [wcf64], a
+	ld a, $6
+.asm_11c0e1
+	push af
+	ld a, [bc]
+	ld e, a
+	inc bc
+	ld a, [bc]
+	ld d, a
+	inc bc
+	or e
+	jr z, .asm_11c133
+	push hl
+	push bc
+	call Function11c156
+	call Function11c14a
+	ld e, c
+	pop bc
+	pop hl
+	ld a, e
+	or a
+	jr z, .asm_11c133
+.asm_11c0fa
+	ld a, [wcf64]
+	cp $12
+	jr z, .asm_11c102
+	inc e
+
+.asm_11c102
+	cp e
+	jr nc, .asm_11c11c
+	ld a, [wcf63]
+	inc a
+	ld [wcf63], a
+	ld [hl], $4e
+	rra
+	jr c, .asm_11c113
+	ld [hl], $55
+
+.asm_11c113
+	inc hl
+	ld a, $12
+	ld [wcf64], a
+	dec e
+	jr .asm_11c0fa
+
+.asm_11c11c
+	cp $12
+	jr z, .asm_11c123
+	ld [hl], $7f
+	inc hl
+
+.asm_11c123
+	sub e
+	ld [wcf64], a
+	ld de, $c608
+.asm_11c12a
+	ld a, [de]
+	cp $50
+	jr z, .asm_11c133
+	inc de
+	ld [hli], a
+	jr .asm_11c12a
+
+.asm_11c133
+	pop af
+	dec a
+	jr nz, .asm_11c0e1
+	ld [hl], $57
+	pop bc
+	ld hl, $c608 + 16
+	call Function13e5
+	pop hl
+	ld a, l
+	ld [wcf63], a
+	ld a, h
+	ld [wcf64], a
+	ret
+; 11c14a
+
+Function11c14a: ; 11c14a
+	ld c, $0
+	ld hl, $c608
+.asm_11c14f
+	ld a, [hli]
+	cp $50
+	ret z
+	inc c
+	jr .asm_11c14f
+; 11c156
+
+Function11c156: ; 11c156
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	ld a, $50
+	ld hl, $c608
+	ld bc, $000b
+	call ByteFill
+	ld a, d
+	and a
+	jr z, .asm_11c19c
+	ld hl, Unknown_11daac
+	dec d
+	sla d
+	ld c, d
+	ld b, $0
+	add hl, bc
+	ld a, [hli]
+	ld c, a
+	ld a, [hl]
+	ld b, a
+	push bc
+	pop hl
+	ld c, e
+	ld b, $0
+	sla c
+	rl b
+	sla c
+	rl b
+	sla c
+	rl b
+	add hl, bc
+	ld bc, $0005
+.asm_11c18f
+	ld de, $c608
+	call CopyBytes
+	ld de, $c608
+	pop af
+	ld [rSVBK], a
+	ret
+
+.asm_11c19c
+	ld a, e
+	ld [wd265], a
+	call GetPokemonName
+	ld hl, StringBuffer1
+	ld bc, $000a
+	jr .asm_11c18f
+; 11c1ab
+
+Function11c1ab: ; 11c1ab
+	ld a, [$ffaa]
+	push af
+	ld a, $1
+	ld [$ffaa], a
+	call Function11c1b9
+	pop af
+	ld [$ffaa], a
+	ret
+; 11c1b9
+
+Function11c1b9: ; 11c1b9
+	call Function11c1ca
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	call Function11c283
+	pop af
+	ld [rSVBK], a
+	ret
+; 11c1ca
+
+Function11c1ca: ; 11c1ca
+	xor a
+	ld [wcf63], a
+	ld [wcf64], a
+	ld [wcf65], a
+	ld [wcf66], a
+	ld [wcd23], a
+	ld [BGMapBuffer], a
+	ld [wcd21], a
+	ld [CreditsTimer], a
+	ld [wcd35], a
+	ld [wcd2b], a
+	ld a, $ff
+	ld [wcd24], a
+	ld a, [wcfa9]
+	dec a
+	call Function11c254
+	call WhiteBGMap
+	call ClearSprites
+	call ClearScreen
+	call Function11d323
+	call Function32f9
+	call DisableLCD
+	ld hl, GFX_11d67e
+	ld de, VTiles2
+	ld bc, $60
+	call CopyBytes
+	ld hl, LZ_11d6de
+	ld de, VTiles0
+	call Decompress
+	call EnableLCD
+	callba Function104061
+	callba Function8cf53
+	callba Function1500c
+	callba Function40c30
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld hl, $c6d0
+	ld de, LYOverrides
+	ld bc, $100
+	call CopyBytes
+	pop af
+	ld [rSVBK], a
+	call Function11d4aa
+	call Function11d3ba
+	ret
+; 11c254
+
+Function11c254: ; 11c254
+	push af
+	ld a, $4
+	call GetSRAMBank
+	ld hl, $a007
+	pop af
+	sla a
+	sla a
+	ld c, a
+	sla a
+	add c
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld de, wcd36
+	ld bc, $000c
+	call CopyBytes
+	call CloseSRAM
+	ret
+; 11c277
+
+
+Function11c277: ; 11c277 (47:4277)
+	ld a, $7f
+	hlcoord 0, 6
+	ld bc, $f0
+	call ByteFill
+	ret
+
+Function11c283: ; 11c283
+.asm_11c283
+	call Functiona57
+	ld a, [hJoyPressed]
+	ld [hJoypadPressed], a
+	ld a, [wcf63]
+	bit 7, a
+	jr nz, .asm_11c2a2
+	call Function11c2ac
+	callba Function8cf69
+	callba Function104061
+	jr .asm_11c283
+
+.asm_11c2a2
+	callba Function8cf53
+	call ClearSprites
+	ret
+; 11c2ac
+
+Function11c2ac: ; 11c2ac
+	ld a, [wcf63]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_11c2bb
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 11c2bb
+
+
+Jumptable_11c2bb: ; 11c2bb (47:42bb)
+	dw Function11c2e9
+	dw Function11c346
+	dw Function11c35f
+	dw Function11c373
+	dw Function11c3c2
+	dw Function11c3ed
+	dw Function11c52c
+	dw Function11c53d
+	dw Function11c658
+	dw Function11c675
+	dw Function11c9bd
+	dw Function11c9c3
+	dw Function11caad
+	dw Function11cab3
+	dw Function11cb52
+	dw Function11cb66
+	dw Function11cbf5
+	dw Function11ccef
+	dw Function11cd04
+	dw Function11cd20
+	dw Function11cd54
+	dw Function11ce0b
+	dw Function11ce2b
+
+
+Function11c2e9: ; 11c2e9 (47:42e9)
+	lb de, $1a, $0d
+	ld a, $1d
+	call Function3b2a
+	lb de, $42, $0d
+	ld a, $1d
+	call Function3b2a
+	ld hl, $c
+	add hl, bc
+	ld a, $1
+	ld [hl], a
+	lb de, $4a, $10
+	ld a, $1d
+	call Function3b2a
+	ld hl, $c
+	add hl, bc
+	ld a, $3
+	ld [hl], a
+	lb de, $50, $80
+	ld a, $1d
+	call Function3b2a
+	ld hl, $c
+	add hl, bc
+	ld a, $4
+	ld [hl], a
+	lb de, $50, $20
+	ld a, $1d
+	call Function3b2a
+	ld hl, $c
+	add hl, bc
+	ld a, $5
+	ld [hl], a
+	lb de, $50, $10
+	ld a, $1d
+	call Function3b2a
+	ld hl, $c
+	add hl, bc
+	ld a, $2
+	ld [hl], a
+	ld hl, wcd23
+	set 1, [hl]
+	set 2, [hl]
+	jp Function11cfb5
+
+Function11c346: ; 11c346 (47:4346)
+	ld a, $9
+	ld [wcd2d], a
+	ld a, $2
+	ld [wcd2e], a
+	ld [wcd2f], a
+	ld [wcd30], a
+	ld de, wcd2d
+	call Function11cfce
+	jp Function11cfb5
+
+Function11c35f: ; 11c35f (47:435f)
+	ld hl, wcd2f
+	inc [hl]
+	inc [hl]
+	dec hl
+	dec hl
+	dec [hl]
+	push af
+	ld de, wcd2d
+	call Function11cfce
+	pop af
+	ret nz
+	jp Function11cfb5
+
+Function11c373: ; 11c373 (47:4373)
+	ld hl, wcd30
+	inc [hl]
+	inc [hl]
+	dec hl
+	dec hl
+	dec [hl]
+	push af
+	ld de, wcd2d
+	call Function11cfce
+	pop af
+	ret nz
+	call Function11c38a
+	jp Function11cfb5
+
+Function11c38a: ; 11c38a (47:438a)
+	ld hl, Unknown_11c986
+	ld bc, wcd36
+	ld a, $6
+.asm_11c392
+	push af
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	push hl
+	push de
+	pop hl
+	ld a, [bc]
+	inc bc
+	ld e, a
+	ld a, [bc]
+	inc bc
+	ld d, a
+	push bc
+	or e
+	jr z, .asm_11c3af
+	ld a, e
+	and d
+	cp $ff
+	jr z, .asm_11c3af
+	call Function11c05d
+	jr .asm_11c3b5
+.asm_11c3af
+	ld de, String_11c3bc
+	call PlaceString
+.asm_11c3b5
+	pop bc
+	pop hl
+	pop af
+	dec a
+	jr nz, .asm_11c392
+	ret
+; 11c3bc (47:43bc)
+
+String_11c3bc: ; 11c3bc
+	db "ーーーーー@"
+; 11c3c2
+
+Function11c3c2: ; 11c3c2 (47:43c2)
+	call Function11c277
+	ld de, Unknown_11cfbe
+	call Function11d035
+	hlcoord 1, 7
+	ld de, String_11c4db
+	call PlaceString
+	hlcoord 1, 16
+	ld de, String_11c51b
+	call PlaceString
+	call Function11c4be
+	ld hl, wcd23
+	set 0, [hl]
+	ld hl, wcd24
+	res 0, [hl]
+	call Function11cfb5
+
+Function11c3ed: ; 11c3ed (47:43ed)
+	ld hl, BGMapBuffer ; wcd20 (aliases: CreditsPos)
+	ld de, hJoypadPressed ; $ffa3
+	ld a, [de]
+	and $8
+	jr nz, .asm_11c426
+	ld a, [de]
+	and $2
+	jr nz, .asm_11c41a
+	ld a, [de]
+	and $1
+	jr nz, .asm_11c42c
+	ld de, $ffa9
+	ld a, [de]
+	and $40
+	jr nz, .asm_11c47c
+	ld a, [de]
+	and $80
+	jr nz, .asm_11c484
+	ld a, [de]
+	and $20
+	jr nz, .asm_11c48c
+	ld a, [de]
+	and $10
+	jr nz, .asm_11c498
+	ret
+.asm_11c41a
+	call PlayClickSFX
+.asm_11c41d
+	ld hl, wcd24
+	set 0, [hl]
+	ld a, $c
+	jr .asm_11c475
+.asm_11c426
+	ld a, $8
+	ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+	ret
+.asm_11c42c
+	ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+	cp $6
+	jr c, .asm_11c472
+	sub $6
+	jr z, .asm_11c469
+	dec a
+	jr z, .asm_11c41d
+	ld hl, wcd36
+	ld c, $c
+	xor a
+.asm_11c440
+	or [hl]
+	inc hl
+	dec c
+	jr nz, .asm_11c440
+	and a
+	jr z, .asm_11c460
+	ld de, Unknown_11cfba
+	call Function11cfce
+	decoord 1, 2
+	ld bc, wcd36
+	call Function11c08f
+	ld hl, wcd24
+	set 0, [hl]
+	ld a, $e
+	jr .asm_11c475
+.asm_11c460
+	ld hl, wcd24
+	set 0, [hl]
+	ld a, $11
+	jr .asm_11c475
+.asm_11c469
+	ld hl, wcd24
+	set 0, [hl]
+	ld a, $a
+	jr .asm_11c475
+.asm_11c472
+	call Function11c4a5
+.asm_11c475
+	ld [wcf63], a
+	call PlayClickSFX
+	ret
+.asm_11c47c
+	ld a, [hl]
+	cp $3
+	ret c
+	sub $3
+	jr .asm_11c4a3
+.asm_11c484
+	ld a, [hl]
+	cp $6
+	ret nc
+	add $3
+	jr .asm_11c4a3
+.asm_11c48c
+	ld a, [hl]
+	and a
+	ret z
+	cp $3
+	ret z
+	cp $6
+	ret z
+	dec a
+	jr .asm_11c4a3
+.asm_11c498
+	ld a, [hl]
+	cp $2
+	ret z
+	cp $5
+	ret z
+	cp $8
+	ret z
+	inc a
+.asm_11c4a3
+	ld [hl], a
+	ret
+
+Function11c4a5: ; 11c4a5 (47:44a5)
+	ld hl, wcd23
+	res 0, [hl]
+	ld a, [wcd2b]
+	and a
+	jr nz, .asm_11c4b7
+	xor a
+	ld [wcd21], a
+	ld a, $6
+	ret
+.asm_11c4b7
+	xor a
+	ld [CreditsTimer], a
+	ld a, $15
+	ret
+
+Function11c4be: ; 11c4be (47:44be)
+	ld a, $1
+	hlcoord 0, 6, AttrMap
+	ld bc, $a0
+	call ByteFill
+	ld a, $7
+	hlcoord 0, 14, AttrMap
+	ld bc, $28
+	call ByteFill
+	callba Function104061
+	ret
+; 11c4db (47:44db)
+
+String_11c4db: ; 11c4db
+	db   "6つのことば", $1f, "くみあわせます"
+	next "かえたいところ", $1f, "えらぶと でてくる"
+	next "ことばのグループから いれかえたい"
+	next "たんご", $1f, "えらんでください"
+	db   "@"
+; 11c51b
+
+String_11c51b: ; 11c51b
+	db "ぜんぶけす やめる   けってい@"
+; 11c52c
+
+Function11c52c: ; 11c52c (47:452c)
+	call Function11c277
+	call Function11c5f0
+	call Function11c618
+	ld hl, wcd24
+	res 1, [hl]
+	call Function11cfb5
+
+Function11c53d: ; 11c53d (47:453d)
+	ld hl, wcd21
+	ld de, hJoypadPressed ; $ffa3
+
+	ld a, [de]
+	and START
+	jr nz, .start
+
+	ld a, [de]
+	and SELECT
+	jr nz, .select
+
+	ld a, [de]
+	and B_BUTTON
+	jr nz, .b
+
+	ld a, [de]
+	and A_BUTTON
+	jr nz, .a
+
+	ld de, $ffa9
+
+	ld a, [de]
+	and D_UP
+	jr nz, .up
+
+	ld a, [de]
+	and D_DOWN
+	jr nz, .down
+
+	ld a, [de]
+	and D_LEFT
+	jr nz, .left
+
+	ld a, [de]
+	and D_RIGHT
+	jr nz, .right
+
+	ret
+
+.a
+	ld a, [wcd21]
+	cp $f
+	jr c, .asm_11c59d
+	sub $f
+	jr z, .asm_11c5ab
+	dec a
+	jr z, .asm_11c599
+	jr .b
+
+.start
+	ld hl, wcd24
+	set 0, [hl]
+	ld a, $8
+	ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+
+.b
+	ld a, $4
+	jr .asm_11c59f
+
+.select
+	ld a, [wcd2b]
+	xor $1
+	ld [wcd2b], a
+	ld a, $15
+	jr .asm_11c59f
+
+.asm_11c599
+	ld a, $13
+	jr .asm_11c59f
+
+.asm_11c59d
+	ld a, $8
+
+.asm_11c59f
+	ld hl, wcd24
+	set 1, [hl]
+	ld [wcf63], a
+	call PlayClickSFX
+	ret
+
+.asm_11c5ab
+	ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+	call Function11ca6a
+	call PlayClickSFX
+	ret
+
+.up
+	ld a, [hl]
+	cp $3
+	ret c
+	sub $3
+	jr .asm_11c5ee
+
+.down
+	ld a, [hl]
+	cp $f
+	ret nc
+	add $3
+	jr .asm_11c5ee
+
+.left
+	ld a, [hl]
+	and a
+	ret z
+	cp $3
+	ret z
+	cp $6
+	ret z
+	cp $9
+	ret z
+	cp $c
+	ret z
+	cp $f
+	ret z
+	dec a
+	jr .asm_11c5ee
+
+.right
+	ld a, [hl]
+	cp $2
+	ret z
+	cp $5
+	ret z
+	cp $8
+	ret z
+	cp $b
+	ret z
+	cp $e
+	ret z
+	cp $11
+	ret z
+	inc a
+
+.asm_11c5ee
+	ld [hl], a
+	ret
+; 11c5f0
+
+Function11c5f0: ; 11c5f0 (47:45f0)
+	ld de, Strings_11da52
+	ld bc, Unknown_11c63a
+	ld a, $f
+.asm_11c5f8
+	push af
+	ld a, [bc]
+	inc bc
+	ld l, a
+	ld a, [bc]
+	inc bc
+	ld h, a
+	push bc
+	call PlaceString
+.asm_11c603
+	inc de
+	ld a, [de]
+	cp $50
+	jr z, .asm_11c603
+	pop bc
+	pop af
+	dec a
+	jr nz, .asm_11c5f8
+	hlcoord 1, 17
+	ld de, String_11c62a
+	call PlaceString
+	ret
+
+Function11c618: ; 11c618 (47:4618)
+	ld a, $2
+	hlcoord 0, 6, AttrMap
+	ld bc, $c8
+	call ByteFill
+	callba Function104061
+	ret
+; 11c62a (47:462a)
+
+String_11c62a: ; 11c62a
+	db "けす    モード   やめる@"
+; 11c63a
+
+Unknown_11c63a: ; 11c63a
+	dwcoord  1,  7
+	dwcoord  7,  7
+	dwcoord 13,  7
+	dwcoord  1,  9
+	dwcoord  7,  9
+	dwcoord 13,  9
+	dwcoord  1, 11
+	dwcoord  7, 11
+	dwcoord 13, 11
+	dwcoord  1, 13
+	dwcoord  7, 13
+	dwcoord 13, 13
+	dwcoord  1, 15
+	dwcoord  7, 15
+	dwcoord 13, 15
+; 11c658
+
+Function11c658: ; 11c658 (47:4658)
+	call Function11c277
+	call Function11c770
+	ld de, Unknown_11cfc2
+	call Function11d035
+	call Function11c9ab
+	call Function11c7bc
+	call Function11c86e
+	ld hl, wcd24
+	res 3, [hl]
+	call Function11cfb5
+
+Function11c675: ; 11c675 (47:4675)
+	ld hl, wcd25
+	ld de, hJoypadPressed ; $ffa3
+	ld a, [de]
+	and A_BUTTON
+	jr nz, .a
+	ld a, [de]
+	and B_BUTTON
+	jr nz, .b
+	ld a, [de]
+	and START
+	jr nz, .start
+	ld a, [de]
+	and SELECT
+	jr z, .select
+
+	ld a, [wcd26]
+	and a
+	ret z
+	sub $c
+	jr nc, .asm_11c699
+	xor a
+.asm_11c699
+	ld [wcd26], a
+	jr .asm_11c6c4
+
+.start
+	ld hl, wcd28
+	ld a, [wcd26]
+	add $c
+	cp [hl]
+	ret nc
+	ld [wcd26], a
+	ld a, [hl]
+	ld b, a
+	ld hl, wcd25
+	ld a, [wcd26]
+	add [hl]
+	jr c, .asm_11c6b9
+	cp b
+	jr c, .asm_11c6c4
+.asm_11c6b9
+	ld a, [wcd28]
+	ld hl, wcd26
+	sub [hl]
+	dec a
+	ld [wcd25], a
+.asm_11c6c4
+	call Function11c992
+	call Function11c7bc
+	call Function11c86e
+	ret
+
+.select
+	ld de, $ffa9
+	ld a, [de]
+	and D_UP
+	jr nz, .asm_11c708
+	ld a, [de]
+	and D_DOWN
+	jr nz, .asm_11c731
+	ld a, [de]
+	and D_LEFT
+	jr nz, .asm_11c746
+	ld a, [de]
+	and D_RIGHT
+	jr nz, .asm_11c755
+	ret
+
+.a
+	call Function11c8f6
+	ld a, $4
+	ld [wcd35], a
+	jr .asm_11c6fc
+.b
+	ld a, [wcd2b]
+	and a
+	jr nz, .asm_11c6fa
+	ld a, $6
+	jr .asm_11c6fc
+.asm_11c6fa
+	ld a, $15
+.asm_11c6fc
+	ld [wcf63], a
+	ld hl, wcd24
+	set 3, [hl]
+	call PlayClickSFX
+	ret
+.asm_11c708
+	ld a, [hl]
+	cp $3
+	jr c, .asm_11c711
+	sub $3
+	jr .asm_11c76e
+.asm_11c711
+	ld a, [wcd26]
+	sub $3
+	ret c
+	ld [wcd26], a
+	jr .asm_11c6c4
+.asm_11c71c
+	ld hl, wcd28
+	ld a, [wcd26]
+	add $c
+	ret c
+	cp [hl]
+	ret nc
+	ld a, [wcd26]
+	add $3
+	ld [wcd26], a
+	jr .asm_11c6c4
+.asm_11c731
+	ld a, [wcd28]
+	ld b, a
+	ld a, [wcd26]
+	add [hl]
+	add $3
+	cp b
+	ret nc
+	ld a, [hl]
+	cp $9
+	jr nc, .asm_11c71c
+	add $3
+	jr .asm_11c76e
+.asm_11c746
+	ld a, [hl]
+	and a
+	ret z
+	cp $3
+	ret z
+	cp $6
+	ret z
+	cp $9
+	ret z
+	dec a
+	jr .asm_11c76e
+.asm_11c755
+	ld a, [wcd28]
+	ld b, a
+	ld a, [wcd26]
+	add [hl]
+	inc a
+	cp b
+	ret nc
+	ld a, [hl]
+	cp $2
+	ret z
+	cp $5
+	ret z
+	cp $8
+	ret z
+	cp $b
+	ret z
+	inc a
+.asm_11c76e
+	ld [hl], a
+	ret
+
+Function11c770: ; 11c770 (47:4770)
+	xor a
+	ld [wcd25], a
+	ld [wcd26], a
+	ld [wcd27], a
+	ld a, [wcd2b]
+	and a
+	jr nz, .asm_11c7ab
+	ld a, [wcd21]
+	and a
+	jr z, .asm_11c799
+	dec a
+	sla a
+	ld hl, Unknown_11f220
+	ld c, a
+	ld b, 0
+	add hl, bc
+	ld a, [hli]
+	ld [wcd28], a
+	ld a, [hl]
+.asm_11c795
+	ld [wcd29], a
+	ret
+.asm_11c799
+	ld a, [wc7d2]
+	ld [wcd28], a
+.asm_11c79f
+	ld c, $c
+	call SimpleDivide
+	and a
+	jr nz, .asm_11c7a8
+	dec b
+.asm_11c7a8
+	ld a, b
+	jr .asm_11c795
+.asm_11c7ab
+	ld hl, $c68a + 30
+	ld a, [CreditsTimer]
+	ld c, a
+	ld b, 0
+	add hl, bc
+	add hl, bc
+	ld a, [hl]
+	ld [wcd28], a
+	jr .asm_11c79f
+
+Function11c7bc: ; 11c7bc (47:47bc)
+	ld bc, Unknown_11c854
+	ld a, [wcd2b]
+	and a
+	jr nz, .asm_11c814
+	ld a, [wcd21]
+	ld d, a
+	and a
+	jr z, .asm_11c7e9
+	ld a, [wcd26]
+	ld e, a
+.asm_11c7d0
+	ld a, [bc]
+	ld l, a
+	inc bc
+	ld a, [bc]
+	ld h, a
+	inc bc
+	and l
+	cp $ff
+	ret z
+	push bc
+	push de
+	call Function11c05d
+	pop de
+	pop bc
+	inc e
+	ld a, [wcd28]
+	cp e
+	jr nz, .asm_11c7d0
+	ret
+.asm_11c7e9
+	ld hl, wd100
+	ld a, [wcd26]
+	ld e, a
+	add hl, de
+.asm_11c7f1
+	push de
+	ld a, [hli]
+	ld e, a
+	ld d, $0
+	push hl
+	ld a, [bc]
+	ld l, a
+	inc bc
+	ld a, [bc]
+	ld h, a
+	inc bc
+	and l
+	cp $ff
+	jr z, .asm_11c811
+	push bc
+	call Function11c05d
+	pop bc
+	pop hl
+	pop de
+	inc e
+	ld a, [wcd28]
+	cp e
+	jr nz, .asm_11c7f1
+	ret
+.asm_11c811
+	pop hl
+	pop de
+	ret
+.asm_11c814
+	ld hl, $c648
+	ld a, [wcd22]
+	ld e, a
+	ld d, $0
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld e, a
+	ld a, [hl]
+	ld d, a
+	push de
+	pop hl
+	ld a, [wcd26]
+	ld e, a
+	ld d, $0
+	add hl, de
+	add hl, de
+	ld a, [wcd26]
+	ld e, a
+.asm_11c831
+	push de
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	push hl
+	ld a, [bc]
+	ld l, a
+	inc bc
+	ld a, [bc]
+	ld h, a
+	inc bc
+	and l
+	cp $ff
+	jr z, .asm_11c851
+	push bc
+	call Function11c05d
+	pop bc
+	pop hl
+	pop de
+	inc e
+	ld a, [wcd28]
+	cp e
+	jr nz, .asm_11c831
+	ret
+.asm_11c851
+	pop hl
+	pop de
+	ret
+; 11c854 (47:4854)
+
+Unknown_11c854: ; 11c854
+	dwcoord  2,  8
+	dwcoord  8,  8
+	dwcoord 14,  8
+	dwcoord  2, 10
+	dwcoord  8, 10
+	dwcoord 14, 10
+	dwcoord  2, 12
+	dwcoord  8, 12
+	dwcoord 14, 12
+	dwcoord  2, 14
+	dwcoord  8, 14
+	dwcoord 14, 14
+	dw -1
+; 11c86e
+
+Function11c86e: ; 11c86e (47:486e)
+	ld a, [wcd26]
+	and a
+	jr z, .asm_11c88a
+	hlcoord 2, 17
+	ld de, String_11c8f0
+	call PlaceString
+	hlcoord 6, 17
+	ld c, $3
+	xor a
+.asm_11c883
+	ld [hli], a
+	inc a
+	dec c
+	jr nz, .asm_11c883
+	jr .asm_11c895
+.asm_11c88a
+	hlcoord 2, 17
+	ld c, $7
+	ld a, $7f
+.asm_11c891
+	ld [hli], a
+	dec c
+	jr nz, .asm_11c891
+.asm_11c895
+	ld hl, wcd28
+	ld a, [wcd26]
+	add $c
+	jr c, .asm_11c8b7
+	cp [hl]
+	jr nc, .asm_11c8b7
+	hlcoord 16, 17
+	ld de, String_11c8f3
+	call PlaceString
+	hlcoord 11, 17
+	ld a, $3
+	ld c, a
+.asm_11c8b1
+	ld [hli], a
+	inc a
+	dec c
+	jr nz, .asm_11c8b1
+	ret
+.asm_11c8b7
+	hlcoord 17, 16
+	ld a, $7f
+	ld [hl], a
+	hlcoord 11, 17
+	ld c, $7
+.asm_11c8c2
+	ld [hli], a
+	dec c
+	jr nz, .asm_11c8c2
+	ret
+; 11c8c7 (47:48c7)
+
+Function11c8c7: ; 11c8c7
+	inc a
+	push af
+	and $f
+	ld [hDividend], a
+	pop af
+	and $f0
+	swap a
+	ld [hQuotient], a
+	xor a
+	ld [$ffb5], a
+	push hl
+	callba Function11a80c
+	pop hl
+	ld a, [wcd63]
+	add $f6
+	ld [hli], a
+	ld a, [wcd62]
+	add $f6
+	ld [hli], a
+	ret
+; 11c8ec
+
+String_11c8ec: ; 11c8ec
+	db "ぺージ@"
+; 11c8f0
+
+String_11c8f0: ; 11c8f0
+	db "まえ@"
+; 11c8f3
+
+String_11c8f3: ; 11c8f3
+	db "つぎ@"
+; 11c8f6
+
+Function11c8f6: ; 11c8f6 (47:48f6)
+	ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+	call Function11c95d
+	push hl
+	ld a, [wcd2b]
+	and a
+	jr nz, .asm_11c938
+	ld a, [wcd21]
+	ld d, a
+	and a
+	jr z, .asm_11c927
+	ld hl, wcd26
+	ld a, [wcd25]
+	add [hl]
+.asm_11c911
+	ld e, a
+.asm_11c912
+	pop hl
+	push de
+	call Function11c05d
+	pop de
+	ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+	ld c, a
+	ld b, $0
+	ld hl, wcd36
+	add hl, bc
+	add hl, bc
+	ld [hl], e
+	inc hl
+	ld [hl], d
+	ret
+.asm_11c927
+	ld hl, wcd26
+	ld a, [wcd25]
+	add [hl]
+	ld c, a
+	ld b, $0
+	ld hl, wd100
+	add hl, bc
+	ld a, [hl]
+	jr .asm_11c911
+.asm_11c938
+	ld hl, $c648
+	ld a, [wcd22]
+	ld e, a
+	ld d, $0
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld e, a
+	ld a, [hl]
+	ld d, a
+	push de
+	pop hl
+	ld a, [wcd26]
+	ld e, a
+	ld d, $0
+	add hl, de
+	add hl, de
+	ld a, [wcd25]
+	ld e, a
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld e, a
+	ld a, [hl]
+	ld d, a
+	jr .asm_11c912
+
+Function11c95d: ; 11c95d (47:495d)
+	sla a
+	ld c, a
+	ld b, 0
+	ld hl, Unknown_11c986
+	add hl, bc
+	ld a, [hli]
+	ld c, a
+	ld a, [hl]
+	ld b, a
+	push bc
+	push bc
+	pop hl
+	ld a, $5
+	ld c, a
+	ld a, $7f
+.asm_11c972
+	ld [hli], a
+	dec c
+	jr nz, .asm_11c972
+	dec hl
+	ld bc, -20
+	add hl, bc
+	ld a, $5
+	ld c, a
+	ld a, $7f
+.asm_11c980
+	ld [hld], a
+	dec c
+	jr nz, .asm_11c980
+	pop hl
+	ret
+; 11c986 (47:4986)
+
+Unknown_11c986:
+	dwcoord  1,  2
+	dwcoord  7,  2
+	dwcoord 13,  2
+	dwcoord  1,  4
+	dwcoord  7,  4
+	dwcoord 13,  4
+; 11c992
+
+Function11c992: ; 11c992 (47:4992)
+	ld a, $8
+	hlcoord 2, 7
+.asm_11c997
+	push af
+	ld a, $7f
+	push hl
+	ld bc, $11
+	call ByteFill
+	pop hl
+	ld bc, $14
+	add hl, bc
+	pop af
+	dec a
+	jr nz, .asm_11c997
+	ret
+
+Function11c9ab: ; 11c9ab (47:49ab)
+	ld a, $7
+	hlcoord 0, 6, AttrMap
+	ld bc, $c8
+	call ByteFill
+	callba Function104061
+	ret
+
+Function11c9bd: ; 11c9bd (47:49bd)
+	ld de, String_11ca38
+	call Function11ca7f
+
+Function11c9c3: ; 11c9c3 (47:49c3)
+	ld hl, wcd2a
+	ld de, hJoypadPressed ; $ffa3
+	ld a, [de]
+	and $1
+	jr nz, .asm_11c9de
+	ld a, [de]
+	and $2
+	jr nz, .asm_11c9e9
+	ld a, [de]
+	and $40
+	jr nz, .asm_11c9f7
+	ld a, [de]
+	and $80
+	jr nz, .asm_11c9fc
+	ret
+.asm_11c9de
+	ld a, [hl]
+	and a
+	jr nz, .asm_11c9e9
+	call Function11ca5e
+	xor a
+	ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+.asm_11c9e9
+	ld hl, wcd24
+	set 4, [hl]
+	ld a, $4
+	ld [wcf63], a
+	call PlayClickSFX
+	ret
+.asm_11c9f7
+	ld a, [hl]
+	and a
+	ret z
+	dec [hl]
+	ret
+.asm_11c9fc
+	ld a, [hl]
+	and a
+	ret nz
+	inc [hl]
+	ret
+
+Function11ca01: ; 11ca01 (47:4a01)
+	hlcoord 14, 7, AttrMap
+	ld de, $14
+	ld a, $5
+	ld c, a
+.asm_11ca0a
+	push hl
+	ld a, $6
+	ld b, a
+	ld a, $7
+.asm_11ca10
+	ld [hli], a
+	dec b
+	jr nz, .asm_11ca10
+	pop hl
+	add hl, de
+	dec c
+	jr nz, .asm_11ca0a
+
+Function11ca19: ; 11ca19 (47:4a19)
+	hlcoord 0, 12, AttrMap
+	ld de, $14
+	ld a, $6
+	ld c, a
+.asm_11ca22
+	push hl
+	ld a, $14
+	ld b, a
+	ld a, $7
+.asm_11ca28
+	ld [hli], a
+	dec b
+	jr nz, .asm_11ca28
+	pop hl
+	add hl, de
+	dec c
+	jr nz, .asm_11ca22
+	callba Function104061
+	ret
+; 11ca38 (47:4a38)
+
+String_11ca38: ; 11ca38
+	db   "とうろくちゅう", $25, "あいさつ", $1f, "ぜんぶ"
+	next "けしても よろしいですか?@"
+; 11ca57
+
+String_11ca57: ; 11ca57
+	db   "はい"
+	next "いいえ@"
+; 11ca5e
+
+Function11ca5e: ; 11ca5e (47:4a5e)
+	xor a
+.asm_11ca5f
+	push af
+	call Function11ca6a
+	pop af
+	inc a
+	cp $6
+	jr nz, .asm_11ca5f
+	ret
+
+Function11ca6a: ; 11ca6a (47:4a6a)
+	ld hl, wcd36
+	ld c, a
+	ld b, $0
+	add hl, bc
+	add hl, bc
+	ld [hl], b
+	inc hl
+	ld [hl], b
+	call Function11c95d
+	ld de, String_11c3bc
+	call PlaceString
+	ret
+
+Function11ca7f: ; 11ca7f (47:4a7f)
+	push de
+	ld de, Unknown_11cfc6
+	call Function11cfce
+	ld de, Unknown_11cfca
+	call Function11cfce
+	hlcoord 1, 14
+	pop de
+	call PlaceString
+	hlcoord 16, 8
+	ld de, String_11ca57
+	call PlaceString
+	call Function11ca01
+	ld a, $1
+	ld [wcd2a], a
+	ld hl, wcd24
+	res 4, [hl]
+	call Function11cfb5
+	ret
+
+Function11caad: ; 11caad (47:4aad)
+	ld de, String_11cb1c
+	call Function11ca7f
+
+Function11cab3: ; 11cab3 (47:4ab3)
+	ld hl, wcd2a
+	ld de, hJoypadPressed ; $ffa3
+	ld a, [de]
+	and $1
+	jr nz, .asm_11cace
+	ld a, [de]
+	and $2
+	jr nz, .asm_11caf9
+	ld a, [de]
+	and $40
+	jr nz, .asm_11cb12
+	ld a, [de]
+	and $80
+	jr nz, .asm_11cb17
+	ret
+.asm_11cace
+	call PlayClickSFX
+	ld a, [hl]
+	and a
+	jr nz, .asm_11cafc
+	ld a, [wcd35]
+	and a
+	jr z, .asm_11caf3
+	cp $ff
+	jr z, .asm_11caf3
+	ld a, $ff
+	ld [wcd35], a
+	hlcoord 1, 14
+	ld de, String_11cb31
+	call PlaceString
+	ld a, $1
+	ld [wcd2a], a
+	ret
+.asm_11caf3
+	ld hl, wcf63
+	set 7, [hl]
+	ret
+.asm_11caf9
+	call PlayClickSFX
+.asm_11cafc
+	ld hl, wcd24
+	set 4, [hl]
+	ld a, $4
+	ld [wcf63], a
+	ld a, [wcd35]
+	cp $ff
+	ret nz
+	ld a, $1
+	ld [wcd35], a
+	ret
+.asm_11cb12
+	ld a, [hl]
+	and a
+	ret z
+	dec [hl]
+	ret
+.asm_11cb17
+	ld a, [hl]
+	and a
+	ret nz
+	inc [hl]
+	ret
+; 11cb1c (47:4b1c)
+
+String_11cb1c: ; 11cb1c
+	db   "あいさつ", $25, "とうろく", $1f, "ちゅうし"
+	next "しますか?@"
+; 11cb31
+
+String_11cb31: ; 11cb31
+	db   "とうろくちゅう", $25, "あいさつ", $24, "ほぞん"
+	next "されません", $4a, "よろしい ですか?@"
+; 11cb52
+
+Function11cb52: ; 11cb52 (47:4b52)
+	ld hl, Unknown_11cc01
+	ld a, [wcfa9]
+.asm_11cb58
+	dec a
+	jr z, .asm_11cb5f
+	inc hl
+	inc hl
+	jr .asm_11cb58
+.asm_11cb5f
+	ld a, [hli]
+	ld e, a
+	ld a, [hl]
+	ld d, a
+	call Function11ca7f
+
+Function11cb66: ; 11cb66 (47:4b66)
+	ld hl, wcd2a
+	ld de, hJoypadPressed ; $ffa3
+	ld a, [de]
+	and $1
+	jr nz, .asm_11cb81
+	ld a, [de]
+	and $2
+	jr nz, .asm_11cbd7
+	ld a, [de]
+	and $40
+	jr nz, .asm_11cbeb
+	ld a, [de]
+	and $80
+	jr nz, .asm_11cbf0
+	ret
+.asm_11cb81
+	ld a, [hl]
+	and a
+	jr nz, .asm_11cbd4
+	ld a, $4
+	call GetSRAMBank
+	ld hl, $a007
+	ld a, [wcfa9]
+	dec a
+	sla a
+	sla a
+	ld c, a
+	sla a
+	add c
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld de, wcd36
+	ld c, $c
+.asm_11cba2
+	ld a, [de]
+	ld [hli], a
+	inc de
+	dec c
+	jr nz, .asm_11cba2
+	call CloseSRAM
+	call PlayClickSFX
+	ld de, Unknown_11cfc6
+	call Function11cfce
+	ld hl, Unknown_11cc7e
+	ld a, [wcfa9]
+.asm_11cbba
+	dec a
+	jr z, .asm_11cbc1
+	inc hl
+	inc hl
+	jr .asm_11cbba
+.asm_11cbc1
+	ld a, [hli]
+	ld e, a
+	ld a, [hl]
+	ld d, a
+	hlcoord 1, 14
+	call PlaceString
+	ld hl, wcf63
+	inc [hl]
+	inc hl
+	ld a, $10
+	ld [hl], a
+	ret
+.asm_11cbd4
+	call PlayClickSFX
+.asm_11cbd7
+	ld de, Unknown_11cfba
+	call Function11cfce
+	call Function11c38a
+	ld hl, wcd24
+	set 4, [hl]
+	ld a, $4
+	ld [wcf63], a
+	ret
+.asm_11cbeb
+	ld a, [hl]
+	and a
+	ret z
+	dec [hl]
+	ret
+.asm_11cbf0
+	ld a, [hl]
+	and a
+	ret nz
+	inc [hl]
+	ret
+
+Function11cbf5: ; 11cbf5 (47:4bf5)
+	call WaitSFX
+	ld hl, wcf64
+	dec [hl]
+	ret nz
+	dec hl
+	set 7, [hl]
+	ret
+; 11cc01 (47:4c01)
+
+Unknown_11cc01: ; 11cc01
+	dw String_11cc09
+	dw String_11cc23
+	dw String_11cc42
+	dw String_11cc60
+
+String_11cc09: ; 11cc09
+	db   "じこしょうかい は"
+	next "この あいさつで いいですか?@"
+
+String_11cc23: ; 11cc23
+	db   "たいせん ", $4a, "はじまるとき は"
+	next "この あいさつで いいですか?@"
+
+String_11cc42: ; 11cc42
+	db   "たいせん ", $1d, "かったとき は"
+	next "この あいさつで いいですか?@"
+
+String_11cc60: ; 11cc60
+	db   "たいせん ", $1d, "まけたとき は"
+	next "この あいさつで いいですか?@"
+; 11cc7e
+
+Unknown_11cc7e: ; 11cc7e
+	dw String_11cc86
+	dw String_11cc9d
+	dw String_11ccb9
+	dw String_11ccd4
+
+String_11cc86: ; 11cc86
+	db   "じこしょうかい の"
+	next "あいさつ", $1f, "とうろくした!@"
+
+String_11cc9d: ; 11cc9d
+	db   "たいせん ", $4a, "はじまるとき の"
+	next "あいさつ", $1f, "とうろくした!@"
+
+String_11ccb9: ; 11ccb9
+	db   "たいせん ", $1d, "かったとき の"
+	next "あいさつ", $1f, "とうろくした!@"
+
+String_11ccd4: ; 11ccd4
+	db   "たいせん ", $1d, "まけたとき の"
+	next "あいさつ", $1f, "とうろくした!@"
+; 11ccef
+
+Function11ccef: ; 11ccef (47:4cef)
+	ld de, Unknown_11cfc6
+	call Function11cfce
+	hlcoord 1, 14
+	ld de, String_11cd10
+	call PlaceString
+	call Function11ca19
+	call Function11cfb5
+
+Function11cd04: ; 11cd04 (47:4d04)
+	ld de, hJoypadPressed ; $ffa3
+	ld a, [de]
+	and a
+	ret z
+	ld a, $4
+	ld [wcf63], a
+	ret
+; 11cd10 (47:4d10)
+
+String_11cd10: ; 11cd10
+	db "なにか ことば", $1f, "いれてください@"
+; 11cd20
+
+Function11cd20: ; 11cd20 (47:4d20)
+	call Function11c277
+	ld de, Unknown_11cfc6
+	call Function11cfce
+	hlcoord 1, 14
+	ld a, [wcd2b]
+	ld [wcd2c], a
+	and a
+	jr nz, .asm_11cd3a
+	ld de, String_11cdc7
+	jr .asm_11cd3d
+.asm_11cd3a
+	ld de, String_11cdd9
+.asm_11cd3d
+	call PlaceString
+	hlcoord 4, 8
+	ld de, String_11cdf5
+	call PlaceString
+	call Function11cdaa
+	ld hl, wcd24
+	res 5, [hl]
+	call Function11cfb5
+
+Function11cd54: ; 11cd54 (47:4d54)
+	ld hl, wcd2c
+	ld de, hJoypadPressed ; $ffa3
+	ld a, [de]
+	and A_BUTTON
+	jr nz, .asm_11cd6f
+	ld a, [de]
+	and B_BUTTON
+	jr nz, .asm_11cd73
+	ld a, [de]
+	and D_UP
+	jr nz, .asm_11cd8b
+	ld a, [de]
+	and D_DOWN
+	jr nz, .asm_11cd94
+	ret
+
+.asm_11cd6f
+	ld a, [hl]
+	ld [wcd2b], a
+.asm_11cd73
+	ld a, [wcd2b]
+	and a
+	jr nz, .asm_11cd7d
+	ld a, $6
+	jr .asm_11cd7f
+
+.asm_11cd7d
+	ld a, $15
+.asm_11cd7f
+	ld [wcf63], a
+	ld hl, wcd24
+	set 5, [hl]
+	call PlayClickSFX
+	ret
+
+.asm_11cd8b
+	ld a, [hl]
+	and a
+	ret z
+	dec [hl]
+	ld de, String_11cdc7
+	jr .asm_11cd9b
+
+.asm_11cd94
+	ld a, [hl]
+	and a
+	ret nz
+	inc [hl]
+	ld de, String_11cdd9
+.asm_11cd9b
+	push de
+	ld de, Unknown_11cfc6
+	call Function11cfce
+	pop de
+	hlcoord 1, 14
+	call PlaceString
+	ret
+
+Function11cdaa: ; 11cdaa (47:4daa)
+	ld a, $2
+	hlcoord 0, 6, AttrMap
+	ld bc, $78
+	call ByteFill
+	ld a, $7
+	hlcoord 0, 12, AttrMap
+	ld bc, $50
+	call ByteFill
+	callba Function104061
+	ret
+; 11cdc7 (47:4dc7)
+
+String_11cdc7: ; 11cdc7
+	db   "ことば", $1f, "しゅるいべつに"
+	next "えらべます@"
+; 11cdd9
+
+String_11cdd9: ; 11cdd9
+	db   "ことば", $1f, "アイウエォ の"
+	next "じゅんばんで ひょうじ します@"
+; 11cdf5
+
+String_11cdf5: ; 11cdf5
+	db "しゅるいべつ モード"
+	next "アイウエォ  モード@"
+; 11ce0b
+
+Function11ce0b: ; 11ce0b (47:4e0b)
+	call Function11c277
+	hlcoord 1, 7
+	ld de, String_11cf79
+	call PlaceString
+	hlcoord 1, 17
+	ld de, String_11c62a
+	call PlaceString
+	call Function11c618
+	ld hl, wcd24
+	res 2, [hl]
+	call Function11cfb5
+
+Function11ce2b: ; 11ce2b (47:4e2b)
+	ld a, [CreditsTimer]
+	sla a
+	sla a
+	ld c, a
+	ld b, 0
+	ld hl, Unknown_11ceb9
+	add hl, bc
+
+	ld de, hJoypadPressed ; $ffa3
+	ld a, [de]
+	and START
+	jr nz, .start
+	ld a, [de]
+	and SELECT
+	jr nz, .select
+	ld a, [de]
+	and A_BUTTON
+	jr nz, .a
+	ld a, [de]
+	and B_BUTTON
+	jr nz, .b
+
+	ld de, $ffa9
+	ld a, [de]
+	and D_UP
+	jr nz, .up
+	ld a, [de]
+	and D_DOWN
+	jr nz, .down
+	ld a, [de]
+	and D_LEFT
+	jr nz, .left
+	ld a, [de]
+	and D_RIGHT
+	jr nz, .right
+
+	ret
+
+.a
+	ld a, [CreditsTimer]
+	cp $2d
+	jr c, .asm_11ce92
+	sub $2d
+	jr z, .asm_11cea4
+	dec a
+	jr z, .asm_11ce96
+	jr .b
+
+.start
+	ld hl, wcd24
+	set 0, [hl]
+	ld a, $8
+	ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+.b
+	ld a, $4
+	jr .asm_11ce98
+.select
+	ld a, [wcd2b]
+	xor $1
+	ld [wcd2b], a
+	ld a, $6
+	jr .asm_11ce98
+
+.asm_11ce92
+	ld a, $8
+	jr .asm_11ce98
+
+.asm_11ce96
+	ld a, $13
+.asm_11ce98
+	ld [wcf63], a
+	ld hl, wcd24
+	set 2, [hl]
+	call PlayClickSFX
+	ret
+.asm_11cea4
+	ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+	call Function11ca6a
+	call PlayClickSFX
+	ret
+
+.left
+	inc hl
+.down
+	inc hl
+.right
+	inc hl
+.up
+	ld a, [hl]
+	cp $ff
+	ret z
+	ld [CreditsTimer], a
+	ret
+; 11ceb9 (47:4eb9)
+
+Unknown_11ceb9: ; 11ceb9
+	; up left down right
+	db $ff, $01, $05, $ff
+	db $ff, $02, $06, $00
+	db $ff, $03, $07, $01
+	db $ff, $04, $08, $02
+	db $ff, $14, $09, $03
+	db $00, $06, $0a, $ff
+	db $01, $07, $0b, $05
+	db $02, $08, $0c, $06
+	db $03, $09, $0d, $07
+	db $04, $19, $0e, $08
+	db $05, $0b, $0f, $ff
+	db $06, $0c, $10, $0a
+	db $07, $0d, $11, $0b
+	db $08, $0e, $12, $0c
+	db $09, $1e, $13, $0d
+	db $0a, $10, $2d, $ff
+	db $0b, $11, $2d, $0f
+	db $0c, $12, $2d, $10
+	db $0d, $13, $2d, $11
+	db $0e, $26, $2d, $12
+	db $ff, $15, $19, $04
+	db $ff, $16, $1a, $14
+	db $ff, $17, $1b, $15
+	db $ff, $18, $1c, $16
+	db $ff, $23, $1d, $17
+	db $14, $1a, $1e, $09
+	db $15, $1b, $1f, $19
+	db $16, $1c, $20, $1a
+	db $17, $1d, $21, $1b
+	db $18, $2b, $22, $1c
+	db $19, $1f, $26, $0e
+	db $1a, $20, $27, $1e
+	db $1b, $21, $28, $1f
+	db $1c, $22, $29, $20
+	db $1d, $2c, $2a, $21
+	db $ff, $24, $2b, $18
+	db $ff, $25, $2b, $23
+	db $ff, $ff, $2b, $24
+	db $1e, $27, $2e, $13
+	db $1f, $28, $2e, $26
+	db $20, $29, $2e, $27
+	db $21, $2a, $2e, $28
+	db $22, $ff, $2e, $29
+	db $23, $ff, $2c, $1d
+	db $2b, $ff, $2f, $22
+	db $0f, $2e, $ff, $ff
+	db $26, $2f, $ff, $2d
+	db $2c, $ff, $ff, $2e
+; 11cf79
+
+String_11cf79: ; 11cf79
+	db   "あいうえお なにぬねの や ゆ よ"
+	next "かきくけこ はひふへほ わ"
+	next "さしすせそ まみむめも そのた"
+	next "たちつてと らりるれろ"
+	db   "@"
+; 11cfb5
+
+Function11cfb5: ; 11cfb5 (47:4fb5)
+	ld hl, wcf63
+	inc [hl]
+	ret
+; 11cfba (47:4fba)
+
+Unknown_11cfba:
+	db  0,  0 ; start coords
+	db 20,  6 ; end coords
+
+Unknown_11cfbe:
+	db  0, 14 ; start coords
+	db 20,  4 ; end coords
+
+Unknown_11cfc2:
+	db  0,  6 ; start coords
+	db 20, 10 ; end coords
+
+Unknown_11cfc6:
+	db  0, 12 ; start coords
+	db 20,  6 ; end coords
+
+Unknown_11cfca:
+	db 14,  7 ; start coords
+	db  6,  5 ; end coords
+; 11cfce
+
+Function11cfce: ; 11cfce (47:4fce)
+	ld hl, TileMap
+	ld bc, $14
+	ld a, [de]
+	inc de
+	push af
+	ld a, [de]
+	inc de
+	and a
+.asm_11cfda
+	jr z, .asm_11cfe0
+	add hl, bc
+	dec a
+	jr .asm_11cfda
+.asm_11cfe0
+	pop af
+	ld c, a
+	ld b, 0
+	add hl, bc
+	push hl
+	ld a, $79
+	ld [hli], a
+	ld a, [de]
+	inc de
+	dec a
+	dec a
+	jr z, .asm_11cff6
+	ld c, a
+	ld a, $7a
+.asm_11cff2
+	ld [hli], a
+	dec c
+	jr nz, .asm_11cff2
+.asm_11cff6
+	ld a, $7b
+	ld [hl], a
+	pop hl
+	ld bc, $14
+	add hl, bc
+	ld a, [de]
+	dec de
+	dec a
+	dec a
+	jr z, .asm_11d022
+	ld b, a
+.asm_11d005
+	push hl
+	ld a, $7c
+	ld [hli], a
+	ld a, [de]
+	dec a
+	dec a
+	jr z, .asm_11d015
+	ld c, a
+	ld a, $7f
+.asm_11d011
+	ld [hli], a
+	dec c
+	jr nz, .asm_11d011
+.asm_11d015
+	ld a, $7c
+	ld [hl], a
+	pop hl
+	push bc
+	ld bc, $14
+	add hl, bc
+	pop bc
+	dec b
+	jr nz, .asm_11d005
+.asm_11d022
+	ld a, $7d
+	ld [hli], a
+	ld a, [de]
+	dec a
+	dec a
+	jr z, .asm_11d031
+	ld c, a
+	ld a, $7a
+.asm_11d02d
+	ld [hli], a
+	dec c
+	jr nz, .asm_11d02d
+.asm_11d031
+	ld a, $7e
+	ld [hl], a
+	ret
+
+Function11d035: ; 11d035 (47:5035)
+	ld hl, TileMap
+	ld bc, $14
+	ld a, [de]
+	inc de
+	push af
+	ld a, [de]
+	inc de
+	and a
+.asm_11d041
+	jr z, .asm_11d047
+	add hl, bc
+	dec a
+	jr .asm_11d041
+.asm_11d047
+	pop af
+	ld c, a
+	ld b, $0
+	add hl, bc
+	push hl
+	ld a, $79
+	ld [hl], a
+	pop hl
+	push hl
+	ld a, [de]
+	dec a
+	inc de
+	ld c, a
+	add hl, bc
+	ld a, $7b
+	ld [hl], a
+	call Function11d0ac
+	ld a, $7e
+	ld [hl], a
+	pop hl
+	push hl
+	call Function11d0ac
+	ld a, $7d
+	ld [hl], a
+	pop hl
+	push hl
+	inc hl
+	push hl
+	call Function11d0ac
+	pop bc
+	dec de
+	ld a, [de]
+	cp $2
+	jr z, .asm_11d082
+	dec a
+	dec a
+.asm_11d078
+	push af
+	ld a, $7a
+	ld [hli], a
+	ld [bc], a
+	inc bc
+	pop af
+	dec a
+	jr nz, .asm_11d078
+.asm_11d082
+	pop hl
+	ld bc, $14
+	add hl, bc
+	push hl
+	ld a, [de]
+	dec a
+	ld c, a
+	ld b, $0
+	add hl, bc
+	pop bc
+	inc de
+	ld a, [de]
+	cp $2
+	ret z
+	push bc
+	dec a
+	dec a
+	ld c, a
+	ld b, a
+	ld de, $14
+.asm_11d09c
+	ld a, $7c
+	ld [hl], a
+	add hl, de
+	dec c
+	jr nz, .asm_11d09c
+	pop hl
+.asm_11d0a4
+	ld a, $7c
+	ld [hl], a
+	add hl, de
+	dec b
+	jr nz, .asm_11d0a4
+	ret
+
+Function11d0ac: ; 11d0ac (47:50ac)
+	ld a, [de]
+	dec a
+	ld bc, $14
+.asm_11d0b1
+	add hl, bc
+	dec a
+	jr nz, .asm_11d0b1
+	ret
+
+Function11d0b6: ; 11d0b6 (47:50b6)
+	ld hl, $c
+	add hl, bc
+	ld a, [hl]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_11d0c7
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+
+Jumptable_11d0c7: ; 11d0c7 (47:50c7)
+	dw Function11d0dd
+	dw Function11d0e9
+	dw Function11d0f5
+	dw Function11d10f
+	dw Function11d134
+	dw Function11d145
+	dw Function11d156
+	dw Function11d175
+	dw Function11d1d7
+	dw Function11d1d1
+	dw Function11d1fc
+
+
+Function11d0dd: ; 11d0dd (47:50dd)
+	ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+	sla a
+	ld hl, Unknown_11d208
+	ld e, $1
+	jr asm_11d11e
+
+Function11d0e9: ; 11d0e9 (47:50e9)
+	ld a, [wcd21]
+	sla a
+	ld hl, Unknown_11d21a
+	ld e, $2
+	jr asm_11d11e
+
+Function11d0f5: ; 11d0f5 (47:50f5)
+	ld hl, Unknown_11d2be
+	ld a, [CreditsTimer]
+	ld e, a
+	ld d, $0
+	add hl, de
+	ld a, [hl]
+	call Function3b3c
+	ld a, [CreditsTimer]
+	sla a
+	ld hl, Unknown_11d23e
+	ld e, $4
+	jr asm_11d11e
+
+Function11d10f: ; 11d10f (47:510f)
+	ld a, $27
+	call Function3b3c
+	ld a, [wcd25]
+	sla a
+	ld hl, Unknown_11d29e
+	ld e, $8
+
+asm_11d11e: ; 11d11e (47:511e)
+	push de
+	ld e, a
+	ld d, $0
+	add hl, de
+	push hl
+	pop de
+	ld hl, $4
+	add hl, bc
+	ld a, [de]
+	inc de
+	ld [hli], a
+	ld a, [de]
+	ld [hl], a
+	pop de
+	ld a, e
+	call Function11d2ee
+	ret
+
+Function11d134: ; 11d134 (47:5134)
+	ld a, $27
+	call Function3b3c
+	ld a, [wcd2a]
+	sla a
+	ld hl, Unknown_11d2b6
+	ld e, $10
+	jr asm_11d11e
+
+Function11d145: ; 11d145 (47:5145)
+	ld a, $27
+	call Function3b3c
+	ld a, [wcd2c]
+	sla a
+	ld hl, Unknown_11d2ba
+	ld e, $20
+	jr asm_11d11e
+
+Function11d156: ; 11d156 (47:5156)
+	ld a, $2a
+	call Function3b3c
+	ld a, [wcd4a]
+	sla a
+	sla a
+	sla a
+	add $18
+	ld hl, $4
+	add hl, bc
+	ld [hli], a
+	ld a, $30
+	ld [hl], a
+	ld a, $1
+	ld e, a
+	call Function11d2ee
+	ret
+
+Function11d175: ; 11d175 (47:5175)
+	ld a, [wcd4d]
+	cp $4
+	jr z, .asm_11d180
+	ld a, $28
+	jr .asm_11d182
+.asm_11d180
+	ld a, $26
+.asm_11d182
+	call Function3b3c
+	ld a, [wcd4d]
+	cp $4
+	jr z, .asm_11d1b1
+	ld a, [wcd4c]
+	sla a
+	sla a
+	sla a
+	add $20
+	ld hl, $4
+	add hl, bc
+	ld [hli], a
+	ld a, [wcd4d]
+	sla a
+	sla a
+	sla a
+	sla a
+	add $48
+	ld [hl], a
+	ld a, $2
+	ld e, a
+	call Function11d2ee
+	ret
+.asm_11d1b1
+	ld a, [wcd4c]
+	sla a
+	sla a
+	sla a
+	ld e, a
+	sla a
+	sla a
+	add e
+	add $18
+	ld hl, $4
+	add hl, bc
+	ld [hli], a
+	ld a, $8a
+	ld [hl], a
+	ld a, $2
+	ld e, a
+	call Function11d2ee
+	ret
+
+Function11d1d1: ; 11d1d1 (47:51d1)
+	ld d, $98
+	ld a, $2c
+	jr asm_11d1db
+
+Function11d1d7: ; 11d1d7 (47:51d7)
+	ld d, $10
+	ld a, $2b
+
+asm_11d1db: ; 11d1db (47:51db)
+	push de
+	call Function3b3c
+	ld a, [wcd4a]
+	sla a
+	sla a
+	sla a
+	ld e, a
+	sla a
+	add e
+	add $40
+	ld hl, $5
+	add hl, bc
+	ld [hld], a
+	pop af
+	ld [hl], a
+	ld a, $4
+	ld e, a
+	call Function11d2ee
+	ret
+
+Function11d1fc: ; 11d1fc (47:51fc)
+	ld a, $26
+	call Function3b3c
+	ld a, $8
+	ld e, a
+	call Function11d2ee
+	ret
+; 11d208 (47:5208)
+
+Unknown_11d208: ; 11d208
+INCBIN "baserom.gbc",$11d208,$11d21a - $11d208
+Unknown_11d21a: ; 11d21a
+INCBIN "baserom.gbc",$11d21a,$11d23e - $11d21a
+Unknown_11d23e: ; 11d23e
+INCBIN "baserom.gbc",$11d23e,$11d29e - $11d23e
+Unknown_11d29e: ; 11d29e
+INCBIN "baserom.gbc",$11d29e,$11d2b6 - $11d29e
+Unknown_11d2b6: ; 11d2b6
+INCBIN "baserom.gbc",$11d2b6,$11d2ba - $11d2b6
+Unknown_11d2ba: ; 11d2ba
+INCBIN "baserom.gbc",$11d2ba,$11d2be - $11d2ba
+Unknown_11d2be: ; 11d2be
+INCBIN "baserom.gbc",$11d2be,$11d2ee - $11d2be
+
+Function11d2ee: ; 11d2ee (47:52ee)
+	ld hl, wcd24
+	and [hl]
+	jr nz, .asm_11d316
+	ld a, e
+	ld hl, wcd23
+	and [hl]
+	jr z, .asm_11d30f
+	ld hl, $e
+	add hl, bc
+	ld a, [hl]
+	and a
+	jr z, .asm_11d305
+	dec [hl]
+	ret
+.asm_11d305
+	ld a, $0
+	ld [hld], a
+	ld a, $1
+	xor [hl]
+	ld [hl], a
+	and a
+	jr nz, .asm_11d316
+.asm_11d30f
+	ld hl, $7
+	add hl, bc
+	xor a
+	ld [hl], a
+	ret
+.asm_11d316
+	ld hl, $5
+	add hl, bc
+	ld a, $b0
+	sub [hl]
+	ld hl, $7
+	add hl, bc
+	ld [hl], a
+	ret
+
+Function11d323: ; 11d323
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld hl, Palette_11d33a
+	ld de, Unkn1Pals
+	ld bc, $0080
+	call CopyBytes
+	pop af
+	ld [rSVBK], a
+	ret
+; 11d33a
+
+Palette_11d33a:
+	RGB 31, 31, 31
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 31, 16, 31
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 23, 17, 31
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 31, 31, 31
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 31, 31, 31
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 31, 31, 31
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 31, 31, 31
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 31, 31, 31
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+	RGB 00, 00, 00
+; 11d3ba
+
+Function11d3ba: ; 11d3ba
+	ld a, [rSVBK]
+	push af
+	ld hl, BattleMonSpclDef
+	ld a, $0
+	ld [wcd2d], a
+	ld [hli], a
+	ld a, $d8
+	ld [wcd2e], a
+	ld [hl], a
+	ld a, $fe
+	ld [wcd2f], a
+	ld a, $54
+	ld [wcd30], a
+	ld a, $a8
+	ld [wcd31], a
+	ld a, $c6
+	ld [wcd32], a
+	ld a, $4a
+	ld [wcd33], a
+	ld a, $c6
+	ld [wcd34], a
+	ld hl, Unknown_11f23c
+	ld a, $2d
+
+Function11d3ef: ; 11d3ef
+	push af
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	push hl
+	ld hl, Unkn1Pals
+	add hl, de
+	ld a, [wcd2d]
+	ld e, a
+	ld a, [wcd2e]
+	ld d, a
+	push bc
+.asm_11d406
+	ld a, $3
+	ld [rSVBK], a
+	ld a, [hli]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	pop af
+	ld [de], a
+	inc de
+	ld a, $3
+	ld [rSVBK], a
+	ld a, [hli]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	pop af
+	ld [de], a
+	inc de
+	dec bc
+	ld a, c
+	or b
+	jr nz, .asm_11d406
+	ld a, [wcd2f]
+	ld l, a
+	ld a, [wcd30]
+	ld h, a
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	ld a, l
+	ld [wcd2f], a
+	ld a, h
+	ld [wcd30], a
+	push bc
+	pop hl
+	ld c, $0
+.asm_11d43d
+	ld a, [hl]
+	cp $ff
+	jr z, .asm_11d453
+	call Function11d493
+	jr nz, .asm_11d44a
+	inc hl
+	jr .asm_11d43d
+
+.asm_11d44a
+	ld a, [hli]
+	ld [de], a
+	inc de
+	xor a
+	ld [de], a
+	inc de
+	inc c
+	jr .asm_11d43d
+
+.asm_11d453
+	pop hl
+	ld b, $0
+	add hl, bc
+	push hl
+	pop bc
+	ld a, [wcd31]
+	ld l, a
+	ld a, [wcd32]
+	ld h, a
+	ld a, c
+	ld [hli], a
+	ld a, b
+	ld [hli], a
+	ld a, l
+	ld [wcd31], a
+	ld a, h
+	ld [wcd32], a
+	ld a, [wcd33]
+	ld l, a
+	ld a, [wcd34]
+	ld h, a
+	ld a, e
+	ld [wcd2d], a
+	ld [hli], a
+	ld a, d
+	ld [wcd2e], a
+	ld [hli], a
+	ld a, l
+	ld [wcd33], a
+	ld a, h
+	ld [wcd34], a
+	pop hl
+	pop af
+	dec a
+	jr z, .asm_11d48f
+	jp Function11d3ef
+
+.asm_11d48f
+	pop af
+	ld [rSVBK], a
+	ret
+; 11d493
+
+Function11d493: ; 11d493
+	push hl
+	push bc
+	push de
+	dec a
+	ld hl, rSVBK
+	ld e, $1
+	ld [hl], e
+	call CheckSeenMon
+	ld hl, rSVBK
+	ld e, $5
+	ld [hl], e
+	pop de
+	pop bc
+	pop hl
+	ret
+; 11d4aa
+
+Function11d4aa: ; 11d4aa
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+	ld hl, Unknown_11daac
+	ld bc, Unknown_11f220
+	xor a
+	ld [wcd2d], a
+	inc a
+	ld [wcd2e], a
+	ld a, $e
+.asm_11d4c1
+	push af
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	push hl
+	ld hl, $0005
+	add hl, de
+	ld a, [bc]
+	inc bc
+	inc bc
+	push bc
+.asm_11d4cf
+	push af
+	push hl
+	ld a, [hli]
+	ld e, a
+	ld a, [hl]
+	ld d, a
+	ld hl, wd000
+	add hl, de
+	ld a, [wcd2d]
+	ld [hli], a
+	inc a
+	ld [wcd2d], a
+	ld a, [wcd2e]
+	ld [hl], a
+	pop hl
+	ld de, $0008
+	add hl, de
+	pop af
+	dec a
+	jr nz, .asm_11d4cf
+	ld hl, wcd2d
+	xor a
+	ld [hli], a
+	inc [hl]
+	pop bc
+	pop hl
+	pop af
+	dec a
+	jr nz, .asm_11d4c1
+	pop af
+	ld [rSVBK], a
+	ret
+; 11d4fe
+
+
+Unknown_11d4fe:
+; Pokemon sorted by kana.
+; Notably, Rhydon is missing.
+
+	dw Unknown_11d558
+	dw Unknown_11d55f
+	dw Unknown_11d565
+	dw Unknown_11d56c
+	dw Unknown_11d574
+	dw Unknown_11d57f
+	dw Unknown_11d58e
+	dw Unknown_11d598
+	dw Unknown_11d59f
+	dw Unknown_11d5a3
+	dw Unknown_11d5b2
+	dw Unknown_11d5bb
+	dw Unknown_11d5c0
+	dw Unknown_11d5c8
+	dw Unknown_11d5cb
+	dw Unknown_11d5cd
+	dw Unknown_11d5d1
+	dw Unknown_11d5d4
+	dw Unknown_11d5d6
+	dw Unknown_11d5dc
+	dw Unknown_11d5e7
+	dw Unknown_11d5ea
+	dw Unknown_11d5f7
+	dw Unknown_11d5f9
+	dw Unknown_11d5fc
+	dw Unknown_11d5fe
+	dw Unknown_11d60e
+	dw Unknown_11d61d
+	dw Unknown_11d62e
+	dw Unknown_11d636
+	dw Unknown_11d63e
+	dw Unknown_11d649
+	dw Unknown_11d64e
+	dw Unknown_11d651
+	dw Unknown_11d656
+	dw Unknown_11d65a
+	dw Unknown_11d660
+	dw Unknown_11d662
+	dw Unknown_11d665
+	dw Unknown_11d66d
+	dw Unknown_11d671
+	dw Unknown_11d674
+	dw Unknown_11d678
+	dw Unknown_11d67a
+	dw Unknown_11d67d
+
+Unknown_11d558:	db EKANS, ARBOK, SEAKING, ARIADOS, CROCONAW, UNOWN, $ff
+Unknown_11d55f:	db EEVEE, GEODUDE, SPINARAK, PILOSWINE, ONIX, $ff
+Unknown_11d565:	db ARCANINE, SUDOWOODO, WEEPINBELL, VICTREEBEL, WOOPER, SWINUB, $ff
+Unknown_11d56c:	db SKARMORY, AIPOM, ESPEON, HITMONCHAN, ELEKID, ELECTABUZZ, ENTEI, $ff
+Unknown_11d574:	db FERALIGATR, FURRET, OCTILLERY, PRIMEAPE, SENTRET, STANTLER, SPEAROW, FEAROW, OMASTAR, OMANYTE, $ff
+Unknown_11d57f:	db GROWLITHE, MACHAMP, DRAGONITE, PINSIR, SNORLAX, KABUTO, KABUTOPS, HITMONTOP, WARTORTLE, BLASTOISE, FARFETCH_D, CUBONE, MAROWAK, KANGASKHAN, $ff
+Unknown_11d58e:	db SUNFLORA, CATERPIE, GYARADOS, RAPIDASH, NINETALES, GIRAFARIG, BELLOSSOM, KINGDRA, KINGLER, $ff
+Unknown_11d598:	db GLOOM, PINECO, GLIGAR, KRABBY, GRANBULL, CROBAT, $ff
+Unknown_11d59f:	db ABRA, GENGAR, TAUROS, $ff
+Unknown_11d5a3:	db MAGIKARP, MAGNEMITE, GASTLY, HAUNTER, MACHOKE, KAKUNA, PSYDUCK, PHANPY, RATTATA, GOLDUCK, GOLBAT, GOLEM, GRAVELER, VENONAT, $ff
+Unknown_11d5b2:	db RHYHORN, PUPITAR, CORSOLA, HITMONLEE, ZAPDOS, JOLTEON, SANDSHREW, SANDSLASH, $ff
+Unknown_11d5bb:	db SEADRA, SHELLDER, VAPOREON, DEWGONG, $ff
+Unknown_11d5c0:	db SUICUNE, STARMIE, SCYTHER, ZUBAT, BEEDRILL, HYPNO, DROWZEE, $ff
+Unknown_11d5c8:	db SQUIRTLE, CELEBI, $ff
+Unknown_11d5cb:	db WOBBUFFET, $ff
+Unknown_11d5cd:	db DUGTRIO, HORSEA, EXEGGCUTE, $ff
+Unknown_11d5d1:	db CHIKORITA, CHINCHOU, $ff
+Unknown_11d5d4:	db SHUCKLE, $ff
+Unknown_11d5d6:	db DIGLETT, REMORAID, DELIBIRD, HOUNDOUR, AMPHAROS, $ff
+Unknown_11d5dc:	db DODUO, DODRIO, SMEARGLE, KOFFING, TENTACRUEL, TOGETIC, TOGEPI, GOLDEEN, METAPOD, DONPHAN, $ff
+Unknown_11d5e7:	db ODDISH, EXEGGUTOR, $ff
+Unknown_11d5ea:	db NIDOKING, NIDOQUEEN, NIDORAN_M, NIDORAN_F, NIDORINA, NIDORINO, MEOWTH, SNEASEL, POLIWHIRL, POLITOED, POLIWRATH, POLIWAG, $ff
+Unknown_11d5f7:	db QUAGSIRE, $ff
+Unknown_11d5f9:	db NATU, XATU, $ff
+Unknown_11d5fc:	db DUNSPARCE, $ff
+Unknown_11d5fe:	db SEEL, STEELIX, TYPHLOSION, DRAGONAIR, BUTTERFREE, SCIZOR, HOPPIP, BLISSEY, PARAS, PARASECT, QWILFISH, MR__MIME, TYROGUE, CLOYSTER, TYRANITAR, $ff
+Unknown_11d60e:	db CLEFFA, WEEDLE, PIKACHU, CLEFABLE, PIDGEOT, PIDGEOTTO, PICHU, CLEFAIRY, CHARMANDER, STARYU, CYNDAQUIL, SUNKERN, TEDDIURSA, VOLTORB, $ff
+Unknown_11d61d:	db MOLTRES, FLAREON, ALAKAZAM, MAGMAR, FORRETRESS, WIGGLYTUFF, IVYSAUR, BULBASAUR, VENUSAUR, AERODACTYL, MAGBY, IGGLYBUFF, UMBREON, ARTICUNO, JIGGLYPUFF, SNUBBULL, $ff
+Unknown_11d62e:	db BAYLEEF, GRIMER, MUK, HERACROSS, HOUNDOOM, PERSIAN, LICKITUNG, $ff
+Unknown_11d636:	db HO_OH, HOOTHOOT, PIDGEY, PONYTA, SKIPLOOM, PORYGON, PORYGON2, $ff
+Unknown_11d63e:	db MAGCARGO, SLUGMA, QUILAVA, BELLSPROUT, WEEZING, MARILL, AZUMARILL, ELECTRODE, MANKEY, MANTINE, $ff
+Unknown_11d649:	db DRATINI, MEW, MEWTWO, MILTANK, $ff
+Unknown_11d64e:	db MISDREAVUS, SMOOCHUM, $ff
+Unknown_11d651:	db MEGANIUM, DITTO, TENTACOOL, MAREEP, $ff
+Unknown_11d656:	db FLAAFFY, VENOMOTH, TANGELA, $ff
+Unknown_11d65a:	db SLOWKING, SLOWBRO, SLOWPOKE, MURKROW, YANMA, $ff
+Unknown_11d660:	db KADABRA, $ff
+Unknown_11d662:	db LARVITAR, NOCTOWL, $ff
+Unknown_11d665:	db RAIKOU, RAICHU, CHANSEY, RATICATE, LAPRAS, VILEPLUME, LANTURN, $ff
+Unknown_11d66d:	db CHARMELEON, CHARIZARD, URSARING, $ff
+Unknown_11d671:	db JYNX, LUGIA, $ff
+Unknown_11d674:	db MAGNETON, LEDIAN, LEDYBA, $ff
+Unknown_11d678:	db VULPIX, $ff
+Unknown_11d67a:	db JUMPLUFF, TOTODILE, MACHOP
+Unknown_11d67d:	db $ff
+; 11d67e
+
+GFX_11d67e:
+INCBIN "gfx/pokedex/select_start.2bpp"
+; 11d6de
+
+LZ_11d6de:
+INCBIN "gfx/pokedex/slowpoke.2bpp.lz"
+; 11da52
+
+Strings_11da52: ; 11da52
+	db "ポケモン@@"
+	db "タイプ@@@"
+	db "あいさつ@@"
+	db "ひと@@@@"
+	db "バトル@@@"
+	db "こえ@@@@"
+	db "かいわ@@@"
+	db "きもち@@@"
+	db "じょうたい@"
+	db "せいかつ@@"
+	db "しゅみ@@@"
+	db "こうどう@@"
+	db "じかん@@@"
+	db "むすび@@@"
+	db "あれこれ@@"
+; 11daac
+
+Unknown_11daac: ; 11daac
+	dw Unknown_11dac8
+	dw Unknown_11db58
+	dw Unknown_11dc78
+	dw Unknown_11dea0
+	dw Unknown_11e0c8
+	dw Unknown_11e2d8
+	dw Unknown_11e4e8
+	dw Unknown_11e710
+	dw Unknown_11e920
+	dw Unknown_11ea58
+	dw Unknown_11eb90
+	dw Unknown_11edb8
+	dw Unknown_11eef0
+	dw Unknown_11f100
+
+Unknown_11dac8: ; 11dac8
+	db "あく@@@", $26, $0, $0
+	db "いわ@@@", $aa, $0, $0
+	db "エスパー@", $da, $0, $0
+	db "かくとう@", $4e, $1, $0
+	db "くさ@@@", $ba, $1, $0
+	db "ゴースト@", $e4, $1, $0
+	db "こおり@@", $e6, $1, $0
+	db "じめん@@", $68, $2, $0
+	db "タイプ@@", $e8, $2, $0
+	db "でんき@@", $8e, $3, $0
+	db "どく@@@", $ae, $3, $0
+	db "ドラゴン@", $bc, $3, $0
+	db "ノーマル@", $22, $4, $0
+	db "はがね@@", $36, $4, $0
+	db "ひこう@@", $5e, $4, $0
+	db "ほのお@@", $b2, $4, $0
+	db "みず@@@", $f4, $4, $0
+	db "むし@@@", $12, $5, $0
+
+Unknown_11db58: ; 11db58
+	db "ありがと@", $58, $0, $0
+	db "ありがとう", $5a, $0, $0
+	db "いくぜ!@", $80, $0, $0
+	db "いくよ!@", $82, $0, $0
+	db "いくわよ!", $84, $0, $0
+	db "いやー@@", $a6, $0, $0
+	db "おっす@@", $a, $1, $0
+	db "おはつです", $22, $1, $0
+	db "おめでとう", $2a, $1, $0
+	db "ごめん@@", $f8, $1, $0
+	db "ごめんよ@", $fa, $1, $0
+	db "こらっ@@", $fc, $1, $0
+	db "こんちは!", $a, $2, $0
+	db "こんにちは", $10, $2, $0
+	db "さようなら", $28, $2, $0
+	db "サンキュー", $2e, $2, $0
+	db "さんじょう", $30, $2, $0
+	db "しっけい@", $48, $2, $0
+	db "しつれい@", $4c, $2, $0
+	db "じゃーね@", $6c, $2, $0
+	db "すいません", $8c, $2, $0
+	db "それじゃ@", $ca, $2, $0
+	db "どうも@@", $a6, $3, $0
+	db "なんじゃ@", $ee, $3, $0
+	db "ハーイ@@", $2c, $4, $0
+	db "はいはい@", $32, $4, $0
+	db "バイバイ@", $34, $4, $0
+	db "へイ@@@", $8a, $4, $0
+	db "またね@@", $de, $4, $0
+	db "もしもし@", $32, $5, $0
+	db "やあ@@@", $3e, $5, $0
+	db "やっほー@", $4e, $5, $0
+	db "よう@@@", $62, $5, $0
+	db "ようこそ@", $64, $5, $0
+	db "よろしく@", $80, $5, $0
+	db "らっしゃい", $94, $5, $0
+
+Unknown_11dc78: ; 11dc78
+	db "あいて@@", $1c, $0, $0
+	db "あたし@@", $36, $0, $0
+	db "あなた@@", $40, $0, $0
+	db "あなたが@", $42, $0, $0
+	db "あなたに@", $44, $0, $0
+	db "あなたの@", $46, $0, $0
+	db "あなたは@", $48, $0, $0
+	db "あなたを@", $4a, $0, $0
+	db "おかあさん", $e8, $0, $0
+	db "おじいさん", $fc, $0, $0
+	db "おじさん@", $2, $1, $0
+	db "おとうさん", $e, $1, $0
+	db "おとこのこ", $10, $1, $0
+	db "おとな@@", $14, $1, $0
+	db "おにいさん", $16, $1, $0
+	db "おねえさん", $18, $1, $0
+	db "おばあさん", $1c, $1, $0
+	db "おばさん@", $20, $1, $0
+	db "おれさま@", $34, $1, $0
+	db "おんなのこ", $3a, $1, $0
+	db "ガール@@", $40, $1, $0
+	db "かぞく@@", $52, $1, $0
+	db "かのじょ@", $72, $1, $0
+	db "かれ@@@", $7c, $1, $0
+	db "きみ@@@", $9a, $1, $0
+	db "きみが@@", $9c, $1, $0
+	db "きみに@@", $9e, $1, $0
+	db "きみの@@", $a0, $1, $0
+	db "きみは@@", $a2, $1, $0
+	db "きみを@@", $a4, $1, $0
+	db "ギャル@@", $ae, $1, $0
+	db "きょうだい", $b2, $1, $0
+	db "こども@@", $f0, $1, $0
+	db "じぶん@@", $54, $2, $0
+	db "じぶんが@", $56, $2, $0
+	db "じぶんに@", $58, $2, $0
+	db "じぶんの@", $5a, $2, $0
+	db "じぶんは@", $5c, $2, $0
+	db "じぶんを@", $5e, $2, $0
+	db "だれ@@@", $18, $3, $0
+	db "だれか@@", $1a, $3, $0
+	db "だれが@@", $1c, $3, $0
+	db "だれに@@", $1e, $3, $0
+	db "だれの@@", $20, $3, $0
+	db "だれも@@", $22, $3, $0
+	db "だれを@@", $24, $3, $0
+	db "ちゃん@@", $38, $3, $0
+	db "ともだち@", $b8, $3, $0
+	db "なかま@@", $d4, $3, $0
+	db "ひと@@@", $62, $4, $0
+	db "ボーイ@@", $98, $4, $0
+	db "ボク@@@", $a0, $4, $0
+	db "ボクが@@", $a2, $4, $0
+	db "ボクに@@", $a4, $4, $0
+	db "ボクの@@", $a6, $4, $0
+	db "ボクは@@", $a8, $4, $0
+	db "ボクを@@", $aa, $4, $0
+	db "みんな@@", $4, $5, $0
+	db "みんなが@", $6, $5, $0
+	db "みんなに@", $8, $5, $0
+	db "みんなの@", $a, $5, $0
+	db "みんなは@", $c, $5, $0
+	db "ライバル@", $8a, $5, $0
+	db "わたし@@", $c2, $5, $0
+	db "わたしが@", $c4, $5, $0
+	db "わたしに@", $c6, $5, $0
+	db "わたしの@", $c8, $5, $0
+	db "わたしは@", $ca, $5, $0
+	db "わたしを@", $cc, $5, $0
+
+Unknown_11dea0: ; 11dea0
+	db "あいしょう", $18, $0, $0
+	db "いけ!@@", $88, $0, $0
+	db "いちばん@", $96, $0, $0
+	db "かくご@@", $4c, $1, $0
+	db "かたせて@", $54, $1, $0
+	db "かち@@@", $56, $1, $0
+	db "かつ@@@", $58, $1, $0
+	db "かった@@", $60, $1, $0
+	db "かったら@", $62, $1, $0
+	db "かって@@", $64, $1, $0
+	db "かてない@", $66, $1, $0
+	db "かてる@@", $68, $1, $0
+	db "かなわない", $70, $1, $0
+	db "きあい@@", $84, $1, $0
+	db "きめた@@", $a8, $1, $0
+	db "きりふだ@", $b6, $1, $0
+	db "くらえ@@", $c2, $1, $0
+	db "こい!@@", $da, $1, $0
+	db "こうげき@", $e0, $1, $0
+	db "こうさん@", $e2, $1, $0
+	db "こんじょう", $8, $2, $0
+	db "さいのう@", $16, $2, $0
+	db "さくせん@", $1a, $2, $0
+	db "さばき@@", $22, $2, $0
+	db "しょうぶ@", $7e, $2, $0
+	db "しょうり@", $80, $2, $0
+	db "せめ@@@", $b4, $2, $0
+	db "センス@@", $b6, $2, $0
+	db "たいせん@", $e6, $2, $0
+	db "たたかい@", $f6, $2, $0
+	db "ちから@@", $32, $3, $0
+	db "チャレンジ", $36, $3, $0
+	db "つよい@@", $58, $3, $0
+	db "つよすぎ@", $5a, $3, $0
+	db "つらい@@", $5c, $3, $0
+	db "つらかった", $5e, $3, $0
+	db "てかげん@", $6c, $3, $0
+	db "てき@@@", $6e, $3, $0
+	db "てんさい@", $90, $3, $0
+	db "でんせつ@", $94, $3, $0
+	db "トレーナー", $c6, $3, $0
+	db "にげ@@@", $4, $4, $0
+	db "ぬるい@@", $10, $4, $0
+	db "ねらう@@", $16, $4, $0
+	db "バトル@@", $4a, $4, $0
+	db "ファイト@", $72, $4, $0
+	db "ふっかつ@", $78, $4, $0
+	db "ポイント@", $94, $4, $0
+	db "ポケモン@", $ac, $4, $0
+	db "ほんき@@", $bc, $4, $0
+	db "まいった!", $c4, $4, $0
+	db "まけ@@@", $c8, $4, $0
+	db "まけたら@", $ca, $4, $0
+	db "まけて@@", $cc, $4, $0
+	db "まける@@", $ce, $4, $0
+	db "まもり@@", $ea, $4, $0
+	db "みかた@@", $f2, $4, $0
+	db "みとめない", $fe, $4, $0
+	db "みとめる@", $0, $5, $0
+	db "むてき@@", $16, $5, $0
+	db "もらった!", $3c, $5, $0
+	db "よゆう@@", $7a, $5, $0
+	db "よわい@@", $82, $5, $0
+	db "よわすぎ@", $84, $5, $0
+	db "らくしょう", $8e, $5, $0
+	db "りーダー@", $9e, $5, $0
+	db "ルール@@", $a0, $5, $0
+	db "レべル@@", $a6, $5, $0
+	db "わざ@@@", $be, $5, $0
+
+Unknown_11e0c8: ; 11e0c8
+	db "!@@@@", $0, $0, $0
+	db "!!@@@", $2, $0, $0
+	db "!?@@@", $4, $0, $0
+	db "?@@@@", $6, $0, $0
+	db "…@@@@", $8, $0, $0
+	db "…!@@@", $a, $0, $0
+	db "………@@", $c, $0, $0
+	db "ー@@@@", $e, $0, $0
+	db "ーーー@@", $10, $0, $0
+	db "あーあ@@", $14, $0, $0
+	db "あーん@@", $16, $0, $0
+	db "あははー@", $52, $0, $0
+	db "あら@@@", $54, $0, $0
+	db "いえ@@@", $72, $0, $0
+	db "イエス@@", $74, $0, $0
+	db "うう@@@", $ac, $0, $0
+	db "うーん@@", $ae, $0, $0
+	db "うおー!@", $b0, $0, $0
+	db "うおりゃー", $b2, $0, $0
+	db "うひょー@", $bc, $0, $0
+	db "うふふ@@", $be, $0, $0
+	db "うわー@@", $ca, $0, $0
+	db "うわーん@", $cc, $0, $0
+	db "ええ@@@", $d2, $0, $0
+	db "えー@@@", $d4, $0, $0
+	db "えーん@@", $d6, $0, $0
+	db "えへへ@@", $dc, $0, $0
+	db "おいおい@", $e0, $0, $0
+	db "おお@@@", $e2, $0, $0
+	db "おっと@@", $c, $1, $0
+	db "がーん@@", $42, $1, $0
+	db "キャー@@", $aa, $1, $0
+	db "ギャー@@", $ac, $1, $0
+	db "ぐふふふふ", $bc, $1, $0
+	db "げっ@@@", $ce, $1, $0
+	db "しくしく@", $3e, $2, $0
+	db "ちえっ@@", $2e, $3, $0
+	db "てへ@@@", $86, $3, $0
+	db "ノー@@@", $20, $4, $0
+	db "はあー@@", $2a, $4, $0
+	db "はい@@@", $30, $4, $0
+	db "はっはっは", $48, $4, $0
+	db "ひいー@@", $56, $4, $0
+	db "ひゃあ@@", $6a, $4, $0
+	db "ふっふっふ", $7c, $4, $0
+	db "ふにゃ@@", $7e, $4, $0
+	db "ププ@@@", $80, $4, $0
+	db "ふふん@@", $82, $4, $0
+	db "ふん@@@", $88, $4, $0
+	db "へっへっへ", $8e, $4, $0
+	db "へへー@@", $90, $4, $0
+	db "ほーほほほ", $9c, $4, $0
+	db "ほら@@@", $b6, $4, $0
+	db "まあ@@@", $c0, $4, $0
+	db "むきー!!", $10, $5, $0
+	db "むふー@@", $18, $5, $0
+	db "むふふ@@", $1a, $5, $0
+	db "むむ@@@", $1c, $5, $0
+	db "よーし@@", $6a, $5, $0
+	db "よし!@@", $72, $5, $0
+	db "ラララ@@", $98, $5, $0
+	db "わーい@@", $ac, $5, $0
+	db "わーん!!", $b0, $5, $0
+	db "ワォ@@@", $b2, $5, $0
+	db "わっ!!@", $ce, $5, $0
+	db "わははは!", $d0, $5, $0
+
+Unknown_11e2d8: ; 11e2d8
+	db "あのね@@", $50, $0, $0
+	db "あんまり@", $6e, $0, $0
+	db "いじわる@", $8e, $0, $0
+	db "うそ@@@", $b6, $0, $0
+	db "うむ@@@", $c4, $0, $0
+	db "おーい@@", $e4, $0, $0
+	db "おすすめ@", $6, $1, $0
+	db "おばかさん", $1e, $1, $0
+	db "かなり@@", $6e, $1, $0
+	db "から@@@", $7a, $1, $0
+	db "きぶん@@", $98, $1, $0
+	db "けど@@@", $d6, $1, $0
+	db "こそ@@@", $ea, $1, $0
+	db "こと@@@", $ee, $1, $0
+	db "さあ@@@", $12, $2, $0
+	db "さっぱり@", $1e, $2, $0
+	db "さて@@@", $20, $2, $0
+	db "じゅうぶん", $72, $2, $0
+	db "すぐ@@@", $94, $2, $0
+	db "すごく@@", $98, $2, $0
+	db "すこしは@", $9a, $2, $0
+	db "すっっごい", $a0, $2, $0
+	db "ぜーんぜん", $b0, $2, $0
+	db "ぜったい@", $b2, $2, $0
+	db "それで@@", $ce, $2, $0
+	db "だけ@@@", $f2, $2, $0
+	db "だって@@", $fc, $2, $0
+	db "たぶん@@", $6, $3, $0
+	db "たら@@@", $14, $3, $0
+	db "ちょー@@", $3a, $3, $0
+	db "ちょっと@", $3c, $3, $0
+	db "ったら@@", $4e, $3, $0
+	db "って@@@", $50, $3, $0
+	db "ていうか@", $62, $3, $0
+	db "でも@@@", $88, $3, $0
+	db "どうしても", $9c, $3, $0
+	db "とうぜん@", $a0, $3, $0
+	db "どうぞ@@", $a2, $3, $0
+	db "とりあえず", $be, $3, $0
+	db "なあ@@@", $cc, $3, $0
+	db "なんて@@", $f4, $3, $0
+	db "なんでも@", $fc, $3, $0
+	db "なんとか@", $fe, $3, $0
+	db "には@@@", $8, $4, $0
+	db "バッチり@", $46, $4, $0
+	db "ばりばり@", $52, $4, $0
+	db "ほど@@@", $b0, $4, $0
+	db "ほんと@@", $be, $4, $0
+	db "まさに@@", $d0, $4, $0
+	db "マジ@@@", $d2, $4, $0
+	db "マジで@@", $d4, $4, $0
+	db "まったく@", $e4, $4, $0
+	db "まで@@@", $e6, $4, $0
+	db "まるで@@", $ec, $4, $0
+	db "ムード@@", $e, $5, $0
+	db "むしろ@@", $14, $5, $0
+	db "めちゃ@@", $24, $5, $0
+	db "めっぽう@", $28, $5, $0
+	db "もう@@@", $2c, $5, $0
+	db "モード@@", $2e, $5, $0
+	db "もっと@@", $36, $5, $0
+	db "もはや@@", $38, $5, $0
+	db "やっと@@", $4a, $5, $0
+	db "やっぱり@", $4c, $5, $0
+	db "より@@@", $7c, $5, $0
+	db "れば@@@", $a4, $5, $0
+
+Unknown_11e4e8: ; 11e4e8
+	db "あいたい@", $1a, $0, $0
+	db "あそびたい", $32, $0, $0
+	db "いきたい@", $7c, $0, $0
+	db "うかれて@", $b4, $0, $0
+	db "うれしい@", $c6, $0, $0
+	db "うれしさ@", $c8, $0, $0
+	db "エキサイト", $d8, $0, $0
+	db "えらい@@", $de, $0, $0
+	db "おかしい@", $ec, $0, $0
+	db "ォッケー@", $8, $1, $0
+	db "かえりたい", $48, $1, $0
+	db "がっくし@", $5a, $1, $0
+	db "かなしい@", $6c, $1, $0
+	db "がんばって", $80, $1, $0
+	db "きがしない", $86, $1, $0
+	db "きがする@", $88, $1, $0
+	db "ききたい@", $8a, $1, $0
+	db "きになる@", $90, $1, $0
+	db "きのせい@", $96, $1, $0
+	db "きらい@@", $b4, $1, $0
+	db "くやしい@", $be, $1, $0
+	db "くやしさ@", $c0, $1, $0
+	db "さみしい@", $24, $2, $0
+	db "ざんねん@", $32, $2, $0
+	db "しあわせ@", $36, $2, $0
+	db "したい@@", $44, $2, $0
+	db "したくない", $46, $2, $0
+	db "しまった@", $64, $2, $0
+	db "しょんぼり", $82, $2, $0
+	db "すき@@@", $92, $2, $0
+	db "だいきらい", $da, $2, $0
+	db "たいくつ@", $dc, $2, $0
+	db "だいじ@@", $de, $2, $0
+	db "だいすき@", $e4, $2, $0
+	db "たいへん@", $ea, $2, $0
+	db "たのしい@", $0, $3, $0
+	db "たのしすぎ", $2, $3, $0
+	db "たべたい@", $8, $3, $0
+	db "ダメダメ@", $e, $3, $0
+	db "たりない@", $16, $3, $0
+	db "ちくしょー", $34, $3, $0
+	db "どうしよう", $9e, $3, $0
+	db "ドキドキ@", $ac, $3, $0
+	db "ナイス@@", $d0, $3, $0
+	db "のみたい@", $26, $4, $0
+	db "びっくり@", $60, $4, $0
+	db "ふあん@@", $74, $4, $0
+	db "ふらふら@", $86, $4, $0
+	db "ほしい@@", $ae, $4, $0
+	db "ボロボロ@", $b8, $4, $0
+	db "まだまだ@", $e0, $4, $0
+	db "まてない@", $e8, $4, $0
+	db "まんぞく@", $f0, $4, $0
+	db "みたい@@", $f8, $4, $0
+	db "めずらしい", $22, $5, $0
+	db "メラメラ@", $2a, $5, $0
+	db "やだ@@@", $46, $5, $0
+	db "やったー@", $48, $5, $0
+	db "やばい@@", $50, $5, $0
+	db "やばすぎる", $52, $5, $0
+	db "やられた@", $54, $5, $0
+	db "やられて@", $56, $5, $0
+	db "よかった@", $6e, $5, $0
+	db "ラブラブ@", $96, $5, $0
+	db "ロマン@@", $a8, $5, $0
+	db "ろんがい@", $aa, $5, $0
+	db "わから@@", $b4, $5, $0
+	db "わかり@@", $b6, $5, $0
+	db "わくわく@", $ba, $5, $0
+
+Unknown_11e710: ; 11e710
+	db "あつい@@", $38, $0, $0
+	db "あった@@", $3a, $0, $0
+	db "あり@@@", $56, $0, $0
+	db "ある@@@", $5e, $0, $0
+	db "あわてて@", $6a, $0, $0
+	db "いい@@@", $70, $0, $0
+	db "いか@@@", $76, $0, $0
+	db "イカス@@", $78, $0, $0
+	db "いきおい@", $7a, $0, $0
+	db "いける@@", $8a, $0, $0
+	db "いじょう@", $8c, $0, $0
+	db "いそがしい", $90, $0, $0
+	db "いっしょに", $9a, $0, $0
+	db "いっぱい@", $9c, $0, $0
+	db "いない@@", $a0, $0, $0
+	db "いや@@@", $a4, $0, $0
+	db "いる@@@", $a8, $0, $0
+	db "うまい@@", $c0, $0, $0
+	db "うまく@@", $c2, $0, $0
+	db "おおきい@", $e6, $0, $0
+	db "おくれ@@", $f2, $0, $0
+	db "おしい@@", $fa, $0, $0
+	db "おもしろい", $2c, $1, $0
+	db "おもしろく", $2e, $1, $0
+	db "かっこいい", $5c, $1, $0
+	db "かわいい@", $7e, $1, $0
+	db "かんぺき@", $82, $1, $0
+	db "けっこう@", $d0, $1, $0
+	db "げんき@@", $d8, $1, $0
+	db "こわい@@", $6, $2, $0
+	db "さいこう@", $14, $2, $0
+	db "さむい@@", $26, $2, $0
+	db "さわやか@", $2c, $2, $0
+	db "しかたない", $38, $2, $0
+	db "すごい@@", $96, $2, $0
+	db "すごすぎ@", $9c, $2, $0
+	db "すてき@@", $a4, $2, $0
+	db "たいした@", $e0, $2, $0
+	db "だいじょぶ", $e2, $2, $0
+	db "たかい@@", $ec, $2, $0
+	db "ただしい@", $f8, $2, $0
+	db "だめ@@@", $c, $3, $0
+	db "ちいさい@", $2c, $3, $0
+	db "ちがう@@", $30, $3, $0
+	db "つかれ@@", $48, $3, $0
+	db "とくい@@", $b0, $3, $0
+	db "とまらない", $b6, $3, $0
+	db "ない@@@", $ce, $3, $0
+	db "なかった@", $d2, $3, $0
+	db "なし@@@", $d8, $3, $0
+	db "なって@@", $dc, $3, $0
+	db "はやい@@", $50, $4, $0
+	db "ひかる@@", $5a, $4, $0
+	db "ひくい@@", $5c, $4, $0
+	db "ひどい@@", $64, $4, $0
+	db "ひとりで@", $66, $4, $0
+	db "ひま@@@", $68, $4, $0
+	db "ふそく@@", $76, $4, $0
+	db "へた@@@", $8c, $4, $0
+	db "まちがって", $e2, $4, $0
+	db "やさしい@", $42, $5, $0
+	db "よく@@@", $70, $5, $0
+	db "よわって@", $86, $5, $0
+	db "らく@@@", $8c, $5, $0
+	db "らしい@@", $90, $5, $0
+	db "わるい@@", $d4, $5, $0
+
+Unknown_11e920: ; 11e920
+	db "アルバイト", $64, $0, $0
+	db "うち@@@", $ba, $0, $0
+	db "おかね@@", $ee, $0, $0
+	db "おこづかい", $f4, $0, $0
+	db "おふろ@@", $24, $1, $0
+	db "がっこう@", $5e, $1, $0
+	db "きねん@@", $92, $1, $0
+	db "グループ@", $c6, $1, $0
+	db "ゲット@@", $d2, $1, $0
+	db "こうかん@", $de, $1, $0
+	db "しごと@@", $40, $2, $0
+	db "しゅぎょう", $74, $2, $0
+	db "じゅぎょう", $76, $2, $0
+	db "じゅく@@", $78, $2, $0
+	db "しんか@@", $88, $2, $0
+	db "ずかん@@", $90, $2, $0
+	db "せいかつ@", $ae, $2, $0
+	db "せんせい@", $b8, $2, $0
+	db "センター@", $ba, $2, $0
+	db "タワー@@", $28, $3, $0
+	db "つうしん@", $40, $3, $0
+	db "テスト@@", $7e, $3, $0
+	db "テレビ@@", $8c, $3, $0
+	db "でんわ@@", $96, $3, $0
+	db "どうぐ@@", $9a, $3, $0
+	db "トレード@", $c4, $3, $0
+	db "なまえ@@", $e8, $3, $0
+	db "ニュース@", $a, $4, $0
+	db "にんき@@", $c, $4, $0
+	db "パーティー", $2e, $4, $0
+	db "べんきょう", $92, $4, $0
+	db "マシン@@", $d6, $4, $0
+	db "めいし@@", $1e, $5, $0
+	db "メッセージ", $26, $5, $0
+	db "もようがえ", $3a, $5, $0
+	db "ゆめ@@@", $5a, $5, $0
+	db "ようちえん", $66, $5, $0
+	db "ラジォ@@", $92, $5, $0
+	db "ワールド@", $ae, $5, $0
+
+Unknown_11ea58: ; 11ea58
+	db "アイドル@", $1e, $0, $0
+	db "アニメ@@", $4c, $0, $0
+	db "うた@@@", $b8, $0, $0
+	db "えいが@@", $d0, $0, $0
+	db "おかし@@", $ea, $0, $0
+	db "おしゃべり", $4, $1, $0
+	db "おままごと", $28, $1, $0
+	db "おもちゃ@", $30, $1, $0
+	db "おんがく@", $38, $1, $0
+	db "カード@@", $3e, $1, $0
+	db "かいもの@", $46, $1, $0
+	db "グルメ@@", $c8, $1, $0
+	db "ゲーム@@", $cc, $1, $0
+	db "ざっし@@", $1c, $2, $0
+	db "さんぽ@@", $34, $2, $0
+	db "じてんしゃ", $50, $2, $0
+	db "しゅみ@@", $7a, $2, $0
+	db "スポーツ@", $a8, $2, $0
+	db "ダイエット", $d8, $2, $0
+	db "たからもの", $f0, $2, $0
+	db "たび@@@", $4, $3, $0
+	db "ダンス@@", $2a, $3, $0
+	db "つり@@@", $60, $3, $0
+	db "デート@@", $6a, $3, $0
+	db "でんしゃ@", $92, $3, $0
+	db "ぬいぐるみ", $e, $4, $0
+	db "パソコン@", $3e, $4, $0
+	db "はな@@@", $4c, $4, $0
+	db "ヒーロー@", $58, $4, $0
+	db "ひるね@@", $6e, $4, $0
+	db "ヒロイン@", $70, $4, $0
+	db "ぼうけん@", $96, $4, $0
+	db "ボード@@", $9a, $4, $0
+	db "ボール@@", $9e, $4, $0
+	db "ほん@@@", $ba, $4, $0
+	db "マンガ@@", $ee, $4, $0
+	db "やくそく@", $40, $5, $0
+	db "やすみ@@", $44, $5, $0
+	db "よてい@@", $74, $5, $0
+
+Unknown_11eb90: ; 11eb90
+	db "あう@@@", $20, $0, $0
+	db "あきらめ@", $24, $0, $0
+	db "あげる@@", $28, $0, $0
+	db "あせる@@", $2e, $0, $0
+	db "あそび@@", $30, $0, $0
+	db "あそぶ@@", $34, $0, $0
+	db "あつめ@@", $3e, $0, $0
+	db "あるき@@", $60, $0, $0
+	db "あるく@@", $62, $0, $0
+	db "いく@@@", $7e, $0, $0
+	db "いけ@@@", $86, $0, $0
+	db "おき@@@", $f0, $0, $0
+	db "おこり@@", $f6, $0, $0
+	db "おこる@@", $f8, $0, $0
+	db "おしえ@@", $fe, $0, $0
+	db "おしえて@", $0, $1, $0
+	db "おねがい@", $1a, $1, $0
+	db "おぼえ@@", $26, $1, $0
+	db "かえる@@", $4a, $1, $0
+	db "がまん@@", $74, $1, $0
+	db "きく@@@", $8c, $1, $0
+	db "きたえ@@", $8e, $1, $0
+	db "きめ@@@", $a6, $1, $0
+	db "くる@@@", $c4, $1, $0
+	db "さがし@@", $18, $2, $0
+	db "さわぎ@@", $2a, $2, $0
+	db "した@@@", $42, $2, $0
+	db "しって@@", $4a, $2, $0
+	db "して@@@", $4e, $2, $0
+	db "しない@@", $52, $2, $0
+	db "しまう@@", $60, $2, $0
+	db "じまん@@", $66, $2, $0
+	db "しらない@", $84, $2, $0
+	db "しる@@@", $86, $2, $0
+	db "しんじて@", $8a, $2, $0
+	db "する@@@", $aa, $2, $0
+	db "たべる@@", $a, $3, $0
+	db "つかう@@", $42, $3, $0
+	db "つかえ@@", $44, $3, $0
+	db "つかって@", $46, $3, $0
+	db "できない@", $70, $3, $0
+	db "できる@@", $72, $3, $0
+	db "でない@@", $84, $3, $0
+	db "でる@@@", $8a, $3, $0
+	db "なげる@@", $d6, $3, $0
+	db "なやみ@@", $ea, $3, $0
+	db "ねられ@@", $18, $4, $0
+	db "ねる@@@", $1a, $4, $0
+	db "のがし@@", $24, $4, $0
+	db "のむ@@@", $28, $4, $0
+	db "はしり@@", $3a, $4, $0
+	db "はしる@@", $3c, $4, $0
+	db "はたらき@", $40, $4, $0
+	db "はたらく@", $42, $4, $0
+	db "はまって@", $4e, $4, $0
+	db "ぶつけ@@", $7a, $4, $0
+	db "ほめ@@@", $b4, $4, $0
+	db "みせて@@", $f6, $4, $0
+	db "みて@@@", $fc, $4, $0
+	db "みる@@@", $2, $5, $0
+	db "めざす@@", $20, $5, $0
+	db "もって@@", $34, $5, $0
+	db "ゆずる@@", $58, $5, $0
+	db "ゆるす@@", $5c, $5, $0
+	db "ゆるせ@@", $5e, $5, $0
+	db "られない@", $9a, $5, $0
+	db "られる@@", $9c, $5, $0
+	db "わかる@@", $b8, $5, $0
+	db "わすれ@@", $c0, $5, $0
+
+Unknown_11edb8: ; 11edb8
+	db "あき@@@", $22, $0, $0
+	db "あさ@@@", $2a, $0, $0
+	db "あした@@", $2c, $0, $0
+	db "いちにち@", $94, $0, $0
+	db "いつか@@", $98, $0, $0
+	db "いつも@@", $9e, $0, $0
+	db "いま@@@", $a2, $0, $0
+	db "えいえん@", $ce, $0, $0
+	db "おととい@", $12, $1, $0
+	db "おわり@@", $36, $1, $0
+	db "かようび@", $78, $1, $0
+	db "きのう@@", $94, $1, $0
+	db "きょう@@", $b0, $1, $0
+	db "きんようび", $b8, $1, $0
+	db "げつようび", $d4, $1, $0
+	db "このあと@", $f4, $1, $0
+	db "このまえ@", $f6, $1, $0
+	db "こんど@@", $c, $2, $0
+	db "じかん@@", $3c, $2, $0
+	db "じゅうねん", $70, $2, $0
+	db "すいようび", $8e, $2, $0
+	db "スタート@", $9e, $2, $0
+	db "ずっと@@", $a2, $2, $0
+	db "ストップ@", $a6, $2, $0
+	db "そのうち@", $c4, $2, $0
+	db "ついに@@", $3e, $3, $0
+	db "つぎ@@@", $4a, $3, $0
+	db "どようび@", $ba, $3, $0
+	db "なつ@@@", $da, $3, $0
+	db "にちようび", $6, $4, $0
+	db "はじめ@@", $38, $4, $0
+	db "はる@@@", $54, $4, $0
+	db "ひる@@@", $6c, $4, $0
+	db "ふゆ@@@", $84, $4, $0
+	db "まいにち@", $c6, $4, $0
+	db "もくようび", $30, $5, $0
+	db "よなか@@", $76, $5, $0
+	db "よる@@@", $7e, $5, $0
+	db "らいしゅう", $88, $5, $0
+
+Unknown_11eef0: ; 11eef0
+	db "いたします", $92, $0, $0
+	db "おります@", $32, $1, $0
+	db "か!?@@", $3c, $1, $0
+	db "かい?@@", $44, $1, $0
+	db "かしら?@", $50, $1, $0
+	db "かな?@@", $6a, $1, $0
+	db "かも@@@", $76, $1, $0
+	db "くれ@@@", $ca, $1, $0
+	db "ございます", $e8, $1, $0
+	db "しがち@@", $3a, $2, $0
+	db "します@@", $62, $2, $0
+	db "じゃ@@@", $6a, $2, $0
+	db "じゃん@@", $6e, $2, $0
+	db "しよう@@", $7c, $2, $0
+	db "ぜ!@@@", $ac, $2, $0
+	db "ぞ!@@@", $bc, $2, $0
+	db "た@@@@", $d4, $2, $0
+	db "だ@@@@", $d6, $2, $0
+	db "だからね@", $ee, $2, $0
+	db "だぜ@@@", $f4, $2, $0
+	db "だった@@", $fa, $2, $0
+	db "だね@@@", $fe, $2, $0
+	db "だよ@@@", $10, $3, $0
+	db "だよねー!", $12, $3, $0
+	db "だわ@@@", $26, $3, $0
+	db "ッス@@@", $4c, $3, $0
+	db "ってかんじ", $52, $3, $0
+	db "っぱなし@", $54, $3, $0
+	db "つもり@@", $56, $3, $0
+	db "ていない@", $64, $3, $0
+	db "ている@@", $66, $3, $0
+	db "でーす!@", $68, $3, $0
+	db "でした@@", $74, $3, $0
+	db "でしょ?@", $76, $3, $0
+	db "でしょー!", $78, $3, $0
+	db "です@@@", $7a, $3, $0
+	db "ですか?@", $7c, $3, $0
+	db "ですよ@@", $80, $3, $0
+	db "ですわ@@", $82, $3, $0
+	db "どうなの?", $a4, $3, $0
+	db "どうよ?@", $a8, $3, $0
+	db "とかいって", $aa, $3, $0
+	db "なの@@@", $e0, $3, $0
+	db "なのか@@", $e2, $3, $0
+	db "なのだ@@", $e4, $3, $0
+	db "なのよ@@", $e6, $3, $0
+	db "なんだね@", $f2, $3, $0
+	db "なんです@", $f8, $3, $0
+	db "なんてね@", $fa, $3, $0
+	db "ね@@@@", $12, $4, $0
+	db "ねー@@@", $14, $4, $0
+	db "の@@@@", $1c, $4, $0
+	db "の?@@@", $1e, $4, $0
+	db "ばっかり@", $44, $4, $0
+	db "まーす!@", $c2, $4, $0
+	db "ます@@@", $d8, $4, $0
+	db "ますわ@@", $da, $4, $0
+	db "ません@@", $dc, $4, $0
+	db "みたいな@", $fa, $4, $0
+	db "よ!@@@", $60, $5, $0
+	db "よー@@@", $68, $5, $0
+	db "よーん@@", $6c, $5, $0
+	db "よね@@@", $78, $5, $0
+	db "るよ@@@", $a2, $5, $0
+	db "わけ@@@", $bc, $5, $0
+	db "わよ!@@", $d2, $5, $0
+
+Unknown_11f100: ; 11f100
+	db "ああ@@@", $12, $0, $0
+	db "あっち@@", $3c, $0, $0
+	db "あの@@@", $4e, $0, $0
+	db "ありゃ@@", $5c, $0, $0
+	db "あれ@@@", $66, $0, $0
+	db "あれは@@", $68, $0, $0
+	db "あんな@@", $6c, $0, $0
+	db "こう@@@", $dc, $1, $0
+	db "こっち@@", $ec, $1, $0
+	db "この@@@", $f2, $1, $0
+	db "こりゃ@@", $fe, $1, $0
+	db "これ@@@", $0, $2, $0
+	db "これだ!@", $2, $2, $0
+	db "これは@@", $4, $2, $0
+	db "こんな@@", $e, $2, $0
+	db "そう@@@", $be, $2, $0
+	db "そっち@@", $c0, $2, $0
+	db "その@@@", $c2, $2, $0
+	db "そりゃ@@", $c6, $2, $0
+	db "それ@@@", $c8, $2, $0
+	db "それだ!@", $cc, $2, $0
+	db "それは@@", $d0, $2, $0
+	db "そんな@@", $d2, $2, $0
+	db "どう@@@", $98, $3, $0
+	db "どっち@@", $b2, $3, $0
+	db "どの@@@", $b4, $3, $0
+	db "どりゃ@@", $c0, $3, $0
+	db "どれ@@@", $c2, $3, $0
+	db "どれを@@", $c8, $3, $0
+	db "どんな@@", $ca, $3, $0
+	db "なに@@@", $de, $3, $0
+	db "なんか@@", $ec, $3, $0
+	db "なんだ@@", $f0, $3, $0
+	db "なんで@@", $f6, $3, $0
+	db "なんなんだ", $0, $4, $0
+	db "なんの@@", $2, $4, $0
+; 11f220
+
+Unknown_11f220:
+INCBIN "baserom.gbc",$11f220,$11f23c - $11f220
+
+Unknown_11f23c:
+INCBIN "baserom.gbc",$11f23c,$11f2f0 - $11f23c
+
+Unknown_11f2f0:
+INCBIN "baserom.gbc",$11f2f0,$11f332 - $11f2f0
+
+Unknown_11f332:
+INCBIN "baserom.gbc",$11f332,$11f3ce - $11f332
+
+Unknown_11f3ce:
+INCBIN "baserom.gbc",$11f3ce,$11f686 - $11f3ce
+
+
+
+SECTION "bank5B", ROMX, BANK[$5B]
+
+Function16c000: ; 16c000
+	ld a, [hCGB]
+	and a
+	ret z
+	ld a, [$ffea]
+	and a
+	ret z
+	ld a, [wcfbe]
+	push af
+	set 7, a
+	ld [wcfbe], a
+	call Function16c108
+	callba Function100063
+	callba Function100082
+	call Function16c031
+	callba Function1000a4
+	xor a
+	ld [$ffea], a
+	pop af
+	ld [wcfbe], a
+	ret
+; 16c031
+
+Function16c031: ; 16c031
+	xor a
+	ld [wcf63], a
+	ld [wcf64], a
+	ld [DefaultFlypoint], a
+	ld [wd003], a
+.asm_16c03e
+	call DelayFrame
+	callba Function10635c
+	ld a, [DefaultFlypoint]
+	ld hl, Jumptable_16c05c
+	rst JumpTable
+	call Function16cb2e
+	call Function16cbae
+	ld a, [DefaultFlypoint]
+	cp $ff
+	jr nz, .asm_16c03e
+	ret
+; 16c05c
+
+Jumptable_16c05c: ; 16c05c
+	dw Function16c074
+	dw Function16c0ba
+	dw Function16c089
+	dw Function16c09e
+	dw Function16c0a8
+	dw Function16c0dc
+	dw Function16c0ec
+	dw Function16c0ba
+	dw Function16c0ca
+	dw Function16c0dc
+	dw Function16c0ec
+	dw Function16c081
+; 16c074
+
+Function16c074: ; 16c074
+	ld a, [wcf64]
+	and a
+	ret z
+	ld [DefaultFlypoint], a
+	xor a
+	ld [wd003], a
+	ret
+; 16c081
+
+Function16c081: ; 16c081
+	push af
+	ld a, $ff
+	ld [DefaultFlypoint], a
+	pop af
+	ret
+; 16c089
+
+Function16c089: ; 16c089
+	ld a, $1
+	ld [Buffer2], a
+	ld [wd1f1], a
+	xor a
+	ld [hWY], a
+	call Function16c0fa
+	ld a, [DefaultFlypoint]
+	ld [wcf64], a
+	ret
+; 16c09e
+
+Function16c09e: ; 16c09e
+	ld a, [wcf64]
+	cp $4
+	ret nz
+	call Function16c0fa
+	ret
+; 16c0a8
+
+Function16c0a8: ; 16c0a8
+	xor a
+	ld [Buffer2], a
+	ld [wd1f1], a
+	call ClearSprites
+	ld a, $90
+	ld [hWY], a
+	call Function16c0fa
+	ret
+; 16c0ba
+
+Function16c0ba: ; 16c0ba
+	call Function16c943
+	push af
+	ld a, [wd003]
+	inc a
+	ld [wd003], a
+	pop af
+	call c, Function16c0fa
+	ret
+; 16c0ca
+
+Function16c0ca: ; 16c0ca
+	ld a, [wd003]
+	cp $28
+	push af
+	ld a, [wd003]
+	inc a
+	ld [wd003], a
+	pop af
+	call z, Function16c0fa
+	ret
+; 16c0dc
+
+Function16c0dc: ; 16c0dc
+	call Function16ca11
+	push af
+	ld a, [wd003]
+	inc a
+	ld [wd003], a
+	pop af
+	call c, Function16c0fa
+	ret
+; 16c0ec
+
+Function16c0ec: ; 16c0ec
+	call WhiteBGMap
+	call ClearScreen
+	push af
+	ld a, $ff
+	ld [DefaultFlypoint], a
+	pop af
+	ret
+; 16c0fa
+
+Function16c0fa: ; 16c0fa
+	push af
+	ld a, [DefaultFlypoint]
+	inc a
+	ld [DefaultFlypoint], a
+	xor a
+	ld [wd003], a
+	pop af
+	ret
+; 16c108
+
+Function16c108: ; 16c108
+	call DisableLCD
+	ld hl, VTiles2
+	ld de, GFX_16c173
+	lb bc, BANK(GFX_16c173), $68
+	call Get2bpp
+	call Function16c130
+	call Function16c145
+	call Function16c15c
+	ld hl, VBGMap0
+	call Function16cc73
+	call Function16cc02
+	xor a
+	ld [hBGMapMode], a
+	call EnableLCD
+	ret
+; 16c130
+
+Function16c130: ; 16c130
+	ld de, Unkn1Pals
+	ld hl, Unknown_16c903
+	ld bc, 8
+	ld a, $5
+	call FarCopyWRAM
+	callba Function96a4
+	ret
+; 16c145
+
+Function16c145: ; 16c145
+	ld hl, TileMap
+	ld bc, 20
+	xor a
+	call ByteFill
+	ld hl, Tilemap_16c633
+	decoord 0, 1
+	ld bc, $0154
+	call CopyBytes
+	ret
+; 16c15c
+
+Function16c15c: ; 16c15c
+	ld hl, AttrMap
+	ld bc, $0014
+	xor a
+	call ByteFill
+	ld hl, Tilemap_16c79b
+	decoord 0, 1, AttrMap
+	ld bc, $0154
+	call CopyBytes
+	ret
+; 16c173
+
+GFX_16c173:
+INCBIN "gfx/unknown/16c173.2bpp"
+
+Tilemap_16c633:
+INCBIN "gfx/unknown/16c633.tilemap"
+
+Tilemap_16c79b:
+INCBIN "gfx/unknown/16c79b.tilemap"
+
+Unknown_16c903:
+	RGB 31, 31, 31
+	RGB 04, 10, 20
+	RGB 16, 19, 25
+	RGB 25, 27, 29
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+; 16c943
+
+Function16c943: ; 16c943
+	ld a, [wd003]
+	and a
+	jr nz, .asm_16c95e
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld a, $ff
+	ld bc, $0008
+	ld hl, Unkn1Pals
+	call ByteFill
+	pop af
+	ld [rSVBK], a
+
+.asm_16c95e
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld e, $0
+	ld a, $0
+.asm_16c969
+	ld hl, Unknown_16c903
+	call Function16cab6
+	call Function16cabb
+	ld d, a
+	ld hl, Unkn1Pals
+	call Function16cab6
+	call Function16cabb
+	cp d
+	jr z, .asm_16c991
+	ld b, $1
+.asm_16c981
+	dec a
+	cp d
+	jr z, .asm_16c988
+	dec b
+	jr nz, .asm_16c981
+
+.asm_16c988
+	ld hl, Unkn1Pals
+	call Function16cab6
+	call Function16cadc
+
+.asm_16c991
+	ld hl, Unknown_16c903
+	call Function16cab6
+	call Function16cad8
+	ld d, a
+	ld hl, Unkn1Pals
+	call Function16cab6
+	call Function16cad8
+	cp d
+	jr z, .asm_16c9b9
+	ld b, $1
+.asm_16c9a9
+	dec a
+	cp d
+	jr z, .asm_16c9b0
+	dec b
+	jr nz, .asm_16c9a9
+
+.asm_16c9b0
+	ld hl, Unkn1Pals
+	call Function16cab6
+	call Function16cb08
+
+.asm_16c9b9
+	ld hl, Unknown_16c903
+	call Function16cab6
+	call Function16cac4
+	ld d, a
+	ld hl, Unkn1Pals
+	call Function16cab6
+	call Function16cac4
+	cp d
+	jr z, .asm_16c9e1
+	ld b, $1
+.asm_16c9d1
+	dec a
+	cp d
+	jr z, .asm_16c9d8
+	dec b
+	jr nz, .asm_16c9d1
+
+.asm_16c9d8
+	ld hl, Unkn1Pals
+	call Function16cab6
+	call Function16cae8
+
+.asm_16c9e1
+	inc e
+	inc e
+	ld a, e
+	cp $8
+	jr nz, .asm_16c969
+	callba Function96a4
+	call Function32f9
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	ld a, [wd003]
+	cp $1f
+	jr z, .asm_16ca09
+	pop af
+	ld [rSVBK], a
+	ld e, $0
+	pop af
+	ld [rSVBK], a
+	and a
+	ret
+
+.asm_16ca09
+	pop af
+	ld [rSVBK], a
+	pop af
+	ld [rSVBK], a
+	scf
+	ret
+; 16ca11
+
+Function16ca11: ; 16ca11
+	ld a, [wd003]
+	and a
+	jr nz, .asm_16ca1d
+	callba Function96a4
+
+.asm_16ca1d
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld e, $0
+	ld a, $0
+.asm_16ca28
+	ld hl, Unkn1Pals
+	call Function16cab6
+	call Function16cabb
+	cp $1f
+	jr z, .asm_16ca48
+	ld b, $1
+.asm_16ca37
+	inc a
+	cp $1f
+	jr z, .asm_16ca3f
+	dec b
+	jr nz, .asm_16ca37
+
+.asm_16ca3f
+	ld hl, Unkn1Pals
+	call Function16cab6
+	call Function16cadc
+
+.asm_16ca48
+	ld hl, Unkn1Pals
+	call Function16cab6
+	call Function16cad8
+	cp $1f
+	jr z, .asm_16ca68
+	ld b, $1
+.asm_16ca57
+	inc a
+	cp $1f
+	jr z, .asm_16ca5f
+	dec b
+	jr nz, .asm_16ca57
+
+.asm_16ca5f
+	ld hl, Unkn1Pals
+	call Function16cab6
+	call Function16cb08
+
+.asm_16ca68
+	ld hl, Unkn1Pals
+	call Function16cab6
+	call Function16cac4
+	cp $1f
+	jr z, .asm_16ca88
+	ld b, $1
+.asm_16ca77
+	inc a
+	cp $1f
+	jr z, .asm_16ca7f
+	dec b
+	jr nz, .asm_16ca77
+
+.asm_16ca7f
+	ld hl, Unkn1Pals
+	call Function16cab6
+	call Function16cae8
+
+.asm_16ca88
+	inc e
+	inc e
+	ld a, e
+	cp $8
+	jr nz, .asm_16ca28
+	callba Function96a4
+	call Function32f9
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	ld a, [wd003]
+	cp $1f
+	jr z, .asm_16caae
+	pop af
+	ld [rSVBK], a
+	pop af
+	ld [rSVBK], a
+	and a
+	ret
+
+.asm_16caae
+	pop af
+	ld [rSVBK], a
+	pop af
+	ld [rSVBK], a
+	scf
+	ret
+; 16cab6
+
+Function16cab6: ; 16cab6
+	ld b, $0
+	ld c, e
+	add hl, bc
+	ret
+; 16cabb
+
+Function16cabb: ; 16cabb
+	inc hl
+	ld a, [hl]
+	srl a
+	srl a
+	and $1f
+	ret
+; 16cac4
+
+Function16cac4: ; 16cac4
+	inc hl
+	ld a, [hld]
+	and $3
+	ld b, a
+	ld a, [hl]
+	sla a
+	rl b
+	sla a
+	rl b
+	sla a
+	rl b
+	ld a, b
+	ret
+; 16cad8
+
+Function16cad8: ; 16cad8
+	ld a, [hl]
+	and $1f
+	ret
+; 16cadc
+
+Function16cadc: ; 16cadc
+	sla a
+	sla a
+	ld b, a
+	inc hl
+	ld a, [hl]
+	and $83
+	or b
+	ld [hl], a
+	ret
+; 16cae8
+
+Function16cae8: ; 16cae8
+	ld c, a
+	srl a
+	srl a
+	srl a
+	ld b, a
+	inc hl
+	ld a, [hl]
+	and $fc
+	or b
+	ld [hld], a
+	ld a, c
+	sla a
+	sla a
+	sla a
+	sla a
+	sla a
+	ld b, a
+	ld a, [hl]
+	and $1f
+	or b
+	ld [hl], a
+	ret
+; 16cb08
+
+Function16cb08: ; 16cb08
+	ld b, a
+	ld a, [hl]
+	and $e0
+	or b
+	ld [hl], a
+	ret
+; 16cb0f
+
+Function16cb0f: ; 16cb0f
+	xor a
+	ld [Buffer1], a
+	ld [Buffer2], a
+	xor a
+	ld [wd1ec], a
+	ld a, $70
+	ld [wd1ee], a
+	ld a, $4
+	ld [wd1ed], a
+	ld a, $a0
+	ld [wd1ef], a
+	xor a
+	ld [wd1f0], a
+	ret
+; 16cb2e
+
+Function16cb2e: ; 16cb2e
+	ld a, [Buffer2]
+	and a
+	ret z
+	call Function16cb40
+	ld hl, Unknown_16cb86
+	ld de, Sprites
+	call Function16cb5d
+	ret
+; 16cb40
+
+Function16cb40: ; 16cb40
+	ld hl, wd1ec
+	inc [hl]
+	ld a, [hl]
+	cp $18
+	ret c
+	xor a
+	ld [hl], a
+	ld a, [wd1ef]
+	cp $a0
+	jr nz, .asm_16cb57
+	ld a, $a7
+	ld [wd1ef], a
+	ret
+
+.asm_16cb57
+	ld a, $a0
+	ld [wd1ef], a
+	ret
+; 16cb5d
+
+Function16cb5d: ; 16cb5d
+	ld a, [hli]
+	and a
+	ret z
+.asm_16cb60
+	push af
+	ld a, [wd1ee]
+	add [hl]
+	add $10
+	ld [de], a
+	inc hl
+	inc de
+	ld a, [wd1ed]
+	add [hl]
+	add $8
+	ld [de], a
+	inc hl
+	inc de
+	ld a, [wd1ef]
+	add [hl]
+	ld [de], a
+	inc hl
+	inc de
+	ld a, [wd1f0]
+	or [hl]
+	ld [de], a
+	inc hl
+	inc de
+	pop af
+	dec a
+	jr nz, .asm_16cb60
+	ret
+; 16cb86
+
+Unknown_16cb86:
+	db 7
+	db  0,  0, 0, 1
+	db  8,  0, 1, 1
+	db  8,  8, 2, 0
+	db  8, 16, 3, 0
+	db 16,  0, 4, 1
+	db 16,  8, 5, 0
+	db 16, 16, 6, 0
+; 16cba3
+
+Function16cba3: ; 16cba3
+	xor a
+	ld [wd1f1], a
+	ld [wd1f2], a
+	ld [wd1f3], a
+	ret
+; 16cbae
+
+Function16cbae: ; 16cbae
+	ld a, [wd1f1]
+	and a
+	ret z
+	call Function16cbba
+	call Function16cbd1
+	ret
+; 16cbba
+
+Function16cbba: ; 16cbba
+	ld hl, wd1f2
+	inc [hl]
+	ld a, [hl]
+	cp $c
+	ret c
+	xor a
+	ld [hl], a
+	ld a, [wd1f3]
+	inc a
+	cp $4
+	jr c, .asm_16cbcd
+	xor a
+
+.asm_16cbcd
+	ld [wd1f3], a
+	ret
+; 16cbd1
+
+Function16cbd1: ; 16cbd1
+	ld a, [wd1f3]
+	ld c, a
+	ld b, 0
+	ld hl, Unknown_16cbfb
+	add hl, bc
+	ld a, [hl]
+	ld bc, $0002
+	ld hl, Unknown_16cfa3
+	call AddNTimes
+	ld de, wd00c
+	ld bc, $0002
+	ld a, $5
+	call FarCopyWRAM
+	callba Function96a4
+	ld a, $1
+	ld [hCGBPalUpdate], a
+	ret
+; 16cbfb
+
+Unknown_16cbfb:
+	db 0, 1, 2, 1, 0, 1, 2
+; 16cc02
+
+Function16cc02: ; 16cc02
+	call Function16cc18
+	call Function16cc49
+	call Function16cc62
+	call Function16cc25
+	call Function16cc6e
+	call Function16cb0f
+	call Function16cba3
+	ret
+; 16cc18
+
+Function16cc18: ; 16cc18
+	ld hl, VTiles1
+	ld de, GFX_16cca3
+	lb bc, BANK(GFX_16cca3), $2e
+	call Get2bpp
+	ret
+; 16cc25
+
+Function16cc25: ; 16cc25
+	ld hl, Unknown_16cfa9
+	ld de, wd008
+	call Function16cc41
+	ld hl, Unknown_16cfb1
+	ld de, Unkn2Pals
+	call Function16cc41
+	ld hl, Unknown_16cfb9
+	ld de, wd048
+	call Function16cc41
+	ret
+; 16cc41
+
+Function16cc41: ; 16cc41
+	ld bc, $0008
+	ld a, $5
+	jp FarCopyWRAM
+; 16cc49
+
+Function16cc49: ; 16cc49
+	hlcoord 4, 15
+	ld a, $80
+	call Function16cc5a
+	hlcoord 4, 16
+	ld a, $90
+	call Function16cc5a
+	ret
+; 16cc5a
+
+Function16cc5a: ; 16cc5a
+	ld c, $10
+.asm_16cc5c
+	ld [hli], a
+	inc a
+	dec c
+	jr nz, .asm_16cc5c
+	ret
+; 16cc62
+
+Function16cc62: ; 16cc62
+	hlcoord 0, 15, AttrMap
+	ld bc, $0028
+	ld a, $1
+	call ByteFill
+	ret
+; 16cc6e
+
+Function16cc6e: ; 16cc6e
+	ld hl, VBGMap1
+	jr Function16cc73
+
+Function16cc73:
+	ld a, [rVBK]
+	push af
+	ld a, $0
+	ld [rVBK], a
+	push hl
+	ld de, TileMap
+	call Function16cc90
+	pop hl
+	ld a, $1
+	ld [rVBK], a
+	ld de, AttrMap
+	call Function16cc90
+	pop af
+	ld [rVBK], a
+	ret
+; 16cc90
+
+Function16cc90: ; 16cc90
+	ld bc, $1214
+.asm_16cc93
+	push bc
+.asm_16cc94
+	ld a, [de]
+	inc de
+	ld [hli], a
+	dec c
+	jr nz, .asm_16cc94
+	ld bc, $000c
+	add hl, bc
+	pop bc
+	dec b
+	jr nz, .asm_16cc93
+	ret
+; 16cca3
+
+GFX_16cca3:
+INCBIN "gfx/unknown/16cca3.2bpp"
+
+Unknown_16cfa3:
+	RGB 31, 31, 31
+	RGB 25, 27, 29
+	RGB 16, 19, 25
+
+Unknown_16cfa9:
+	RGB 31, 31, 31
+	RGB 25, 27, 29
+	RGB 31, 31, 31
+	RGB 07, 07, 07
+
+Unknown_16cfb1:
+	RGB 31, 31, 31
+	RGB 13, 09, 18
+	RGB 26, 21, 16
+	RGB 07, 07, 07
+
+Unknown_16cfb9:
+	RGB 31, 31, 31
+	RGB 18, 05, 02
+	RGB 27, 11, 12
+	RGB 07, 07, 07
+; 16cfc1
+
+GFX_16cfc1:
+INCBIN "gfx/unknown/16cfc1.2bpp"
+
+Function16d421: ; 16d421
+	ld de, GFX_16cfc1
+	ld hl, VTiles2
+	lb bc, BANK(GFX_16cfc1), $46
+	call Get2bpp
+	ret
+; 16d42e
+
+Function16d42e: ; 16d42e
+	ld hl, Tilemap_16d465
+	ld de, TileMap
+	ld bc, $0168
+	call CopyBytes
+	ret
+; 16d43b
+
+Function16d43b: ; 16d43b
+	call Function1d6e
+	call WhiteBGMap
+	call ClearTileMap
+	call ClearSprites
+	callba Function16d421
+	callba Function16d42e
+	ld b, $8
+	call GetSGBLayout
+	call Function32f9
+	call WaitBGMap
+	call Functiona36
+	call Function1d7d
+	ret
+; 16d465
+
+Tilemap_16d465:
+INCBIN "gfx/unknown/16d465.tilemap"
+
+Tilemap_16d5cd:
+INCBIN "gfx/unknown/16d5cd.tilemap"
+
+Tilemap_16d5f5:
+INCBIN "gfx/unknown/16d5f5.tilemap"
+
+Function16d61d: ; 16d61d
+	ld h, d
+	ld l, e
+	push bc
+	push hl
+	call Function16d640
+	pop hl
+	pop bc
+	ld de, AttrMap - TileMap
+	add hl, de
+	inc b
+	inc b
+	inc c
+	inc c
+	ld a, $7
+.asm_16d630
+	push bc
+	push hl
+.asm_16d632
+	ld [hli], a
+	dec c
+	jr nz, .asm_16d632
+	pop hl
+	ld de, $0014
+	add hl, de
+	pop bc
+	dec b
+	jr nz, .asm_16d630
+	ret
+; 16d640
+
+Function16d640: ; 16d640
+	push hl
+	ld a, $30
+	ld [hli], a
+	inc a
+	call Function16d66d
+	inc a
+	ld [hl], a
+	pop hl
+	ld de, $0014
+	add hl, de
+.asm_16d64f
+	push hl
+	ld a, $33
+	ld [hli], a
+	ld a, $7f
+	call Function16d66d
+	ld [hl], $34
+	pop hl
+	ld de, $0014
+	add hl, de
+	dec b
+	jr nz, .asm_16d64f
+	ld a, $35
+	ld [hli], a
+	ld a, $36
+	call Function16d66d
+	ld [hl], $37
+	ret
+; 16d66d
+
+Function16d66d: ; 16d66d
+	ld d, c
+.asm_16d66e
+	ld [hli], a
+	dec d
+	jr nz, .asm_16d66e
+	ret
+; 16d673
+
+Function16d673: ; 16d673
+	call Function16d696
+	call Function16d6ae
+	callba Function49856
+	callba Functionfb60d
+	hlcoord 10, 17
+	ld de, String_16d68f
+	call PlaceString
+	ret
+; 16d68f
+
+String_16d68f: ; 16d68f
+	db "CANCEL@"
+; 16d696
+
+Function16d696: ; 16d696
+	call Function16d421
+	ret
+; 16d69a
+
+
+Function16d69a: ; 16d69a
+	ld de, GFX_16cfc1 + $300
+	ld hl, $9760
+	lb bc, BANK(GFX_16cfc1), 8
+	call Get2bpp
+	ret
+; 16d6a7
+
+Function16d6a7: ; 16d6a7
+	callba Function49811
+	ret
+; 16d6ae
+
+Function16d6ae: ; 16d6ae
+	call Function16d42e
+	ld hl, Tilemap_16d5cd
+	ld de, TileMap
+	ld bc, $0028
+	call CopyBytes
+	ld hl, Tilemap_16d5f5
+	decoord 0, 16
+	ld bc, $0028
+	call CopyBytes
+	ret
+; 16d6ca
+
+Function16d6ca: ; 16d6ca
+	call Function16d61d
+	ret
+; 16d6ce
+
+Function16d6ce: ; 16d6ce
+	call Function1d6e
+	call Function16d6e1
+	callba Function87d
+	call Function1d7d
+	call Function3200
+	ret
+; 16d6e1
+
+Function16d6e1: ; 16d6e1
+	hlcoord 4, 10
+	ld b, $1
+	ld c, $a
+	predef Function28eef
+	hlcoord 5, 11
+	ld de, String_16d701
+	call PlaceString
+	call WaitBGMap
+	call Function3200
+	ld c, $32
+	jp DelayFrames
+; 16d701
+
+String_16d701: ; 16d701
+	db "WAITING..!@"
+; 16d70c
+
+Function16d70c: ; 16d70c
+	call Function16d725
+	call Function16d713
+	ret
+; 16d713
+
+Function16d713: ; 16d713
+	push bc
+	push af
+	ld a, [$ffa9]
+	and $f0
+	ld b, a
+	ld a, [hJoyPressed]
+	and $f
+	or b
+	ld b, a
+	pop af
+	ld a, b
+	pop bc
+	ld d, a
+	ret
+; 16d725
+
+Function16d725: ; 16d725
+	ld hl, wcfa6
+	res 7, [hl]
+	ld a, [hBGMapMode]
+	push af
+	call Function16d734
+	pop af
+	ld [hBGMapMode], a
+	ret
+; 16d734
+
+Function16d734: ; 16d734
+.asm_16d734
+	call Function16d77a
+	call Function16d759
+	call Function16d76a
+	jr nc, .asm_16d758
+	callba Function24270
+	jr c, .asm_16d758
+	ld a, [wcfa5]
+	bit 7, a
+	jr nz, .asm_16d758
+	call Function16d713
+	ld b, a
+	ld a, [wcfa8]
+	and b
+	jr z, .asm_16d734
+
+.asm_16d758
+	ret
+; 16d759
+
+Function16d759: ; 16d759
+	ld a, [hOAMUpdate]
+	push af
+	ld a, $1
+	ld [hOAMUpdate], a
+	call WaitBGMap
+	pop af
+	ld [hOAMUpdate], a
+	xor a
+	ld [hBGMapMode], a
+	ret
+; 16d76a
+
+Function16d76a: ; 16d76a
+.asm_16d76a
+	call RTC
+	call Function16d7e7
+	ret c
+	ld a, [wcfa5]
+	bit 7, a
+	jr z, .asm_16d76a
+	and a
+	ret
+; 16d77a
+
+Function16d77a: ; 16d77a
+	ld hl, wcfac
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld a, [hl]
+	cp $1f
+	jr nz, .asm_16d792
+	ld a, [wcfab]
+	ld [hl], a
+	push hl
+	push bc
+	ld bc, $000b
+	add hl, bc
+	ld [hl], a
+	pop bc
+	pop hl
+
+.asm_16d792
+	ld a, [wcfa1]
+	ld b, a
+	ld a, [wcfa2]
+	ld c, a
+	call GetTileCoord
+	ld a, [wcfa7]
+	swap a
+	and $f
+	ld c, a
+	ld a, [wcfa9]
+	ld b, a
+	xor a
+	dec b
+	jr z, .asm_16d7b1
+.asm_16d7ad
+	add c
+	dec b
+	jr nz, .asm_16d7ad
+
+.asm_16d7b1
+	ld c, $14
+	call AddNTimes
+	ld a, [wcfa7]
+	and $f
+	ld c, a
+	ld a, [wcfaa]
+	ld b, a
+	xor a
+	dec b
+	jr z, .asm_16d7c8
+.asm_16d7c4
+	add c
+	dec b
+	jr nz, .asm_16d7c4
+
+.asm_16d7c8
+	ld c, a
+	add hl, bc
+	ld a, [hl]
+	cp $1f
+	jr z, .asm_16d7de
+	ld [wcfab], a
+	ld [hl], $1f
+	push hl
+	push bc
+	ld bc, $000b
+	add hl, bc
+	ld [hl], $1f
+	pop bc
+	pop hl
+
+.asm_16d7de
+	ld a, l
+	ld [wcfac], a
+	ld a, h
+	ld [wcfad], a
+	ret
+; 16d7e7
+
+Function16d7e7: ; 16d7e7
+	ld a, [wcfa5]
+	bit 6, a
+	jr z, .asm_16d7f4
+	callba Function8cf62
+
+.asm_16d7f4
+	call Functiona57
+	call Function16d713
+	and a
+	ret z
+	scf
+	ret
+; 16d7fe
+
+
+SECTION "bank5C", ROMX, BANK[$5C]
+
+Function170000: ; 170000
+	ld a, [$c62b]
+	ld [$c6d0], a
+	ld hl, $c62e
+	ld de, $c6e7
+	ld bc, $0005
+	call CopyBytes
+	ld a, $50
+	ld [de], a
+	ld hl, $c663
+	ld de, $c6f2
+	ld bc, $0005
+	call CopyBytes
+	ld a, $50
+	ld [de], a
+	ld hl, $c648
+	ld a, [hli]
+	ld [$c6fd], a
+	ld a, [hl]
+	ld [$c6fe], a
+	ld hl, $c639
+	ld a, [hli]
+	ld [$c6ff], a
+	ld a, [hl]
+	ld [wc700], a
+	ld bc, $c633
+	callba GetCaughtGender
+	ld a, c
+	ld [wc701], a
+	ld a, [wcd81]
+	ld [wc74e], a
+	ld hl, $c608
+	ld de, $d800
+	ld bc, $008f
+	call CopyBytes
+	ret
+; 17005a
+
+Function17005a: ; 17005a
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$a824]
+	ld [wc702], a
+	ld hl, $a827
+	ld de, wc719
+	ld bc, $0005
+	call CopyBytes
+	ld a, $50
+	ld [de], a
+	ld hl, $a85c
+	ld de, wc724
+	ld bc, $0005
+	call CopyBytes
+	ld a, $50
+	ld [de], a
+	ld hl, $a841
+	ld a, [hli]
+	ld [wc72f], a
+	ld a, [hl]
+	ld [wc730], a
+	ld hl, $a832
+	ld a, [hli]
+	ld [wc731], a
+	ld a, [hl]
+	ld [wc732], a
+	ld bc, $a82c
+	callba GetCaughtGender
+	ld a, c
+	ld [wc733], a
+	ld a, [wcd81]
+	ld [wc74e], a
+	call CloseSRAM
+	ret
+; 1700b0
+
+Function1700b0: ; 1700b0
+	call Function17021e
+	callba Function118121
+	ret
+; 1700ba
+
+Function1700ba: ; 1700ba
+	call Function17021e
+	callba Function11811a
+	ret
+; 1700c4
+
+Function1700c4: ; 1700c4
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+	call Function17042c
+	ld a, $5
+	call GetSRAMBank
+	ld a, $1
+	ld [$be45], a
+	xor a
+	ld [$be46], a
+	ld hl, $dffc
+	ld de, $aa41
+	ld bc, $0004
+	call CopyBytes
+	ld hl, $d202
+	ld de, $aa8e
+	ld bc, $0594
+	call CopyBytes
+	ld hl, $aa5d
+	ld a, [hl]
+	inc [hl]
+	inc hl
+	sla a
+	sla a
+	ld e, a
+	ld d, $0
+	add hl, de
+	ld e, l
+	ld d, h
+	ld hl, $dffc
+	ld bc, $0004
+	call CopyBytes
+	call CloseSRAM
+	pop af
+	ld [rSVBK], a
+	ret
+; 170114
+
+Function170114: ; 170114
+	call Function17021e
+	call Function170121
+	callba Function11805f
+	ret
+; 170121
+
+Function170121: ; 170121
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $a948
+	ld de, $c608
+	ld bc, $00f6
+	call CopyBytes
+	call CloseSRAM
+	call Function170c8b
+	ret
+; 170139
+
+Function170139: ; 170139
+	ld a, $5
+	call GetSRAMBank
+	ld de, $aa41
+	ld h, $0
+	ld l, h
+	ld bc, $03e8
+	call Function17020c
+	ld bc, $0064
+	call Function17020c
+	ld bc, $000a
+	call Function17020c
+	ld a, [de]
+	ld c, a
+	ld b, $0
+	add hl, bc
+	call CloseSRAM
+	ld a, h
+	ld [$c608], a
+	ld a, l
+	ld [$c608 + 1], a
+	ld hl, $c628
+	ld a, [PlayerID]
+	ld [hli], a
+	ld a, [PlayerID + 1]
+	ld [hli], a
+	ld a, [wd84a]
+	ld [hli], a
+	ld a, [wd84b]
+	ld [hli], a
+	ld e, l
+	ld d, h
+	ld hl, PlayerName
+	ld bc, $0005
+	call CopyBytes
+	ld bc, PlayerID
+	ld de, PlayerGender
+	callba Function4e929
+	ld de, $c62c + 5
+	ld a, c
+	ld [de], a
+	inc de
+	ld a, $df
+	ld [wcd49], a
+	ld a, $dc
+	ld [wcd4a], a
+	ld a, $41
+	ld [wcd4b], a
+	ld a, $de
+	ld [wcd4c], a
+	ld a, $3
+.asm_1701ac
+	push af
+	ld a, [wcd49]
+	ld l, a
+	ld a, [wcd4a]
+	ld h, a
+	ld bc, $0030
+	call CopyBytes
+	ld a, l
+	ld [wcd49], a
+	ld a, h
+	ld [wcd4a], a
+	ld a, [wcd4b]
+	ld l, a
+	ld a, [wcd4c]
+	ld h, a
+	ld bc, $0006
+	call CopyBytes
+	ld a, l
+	ld [wcd4b], a
+	ld a, h
+	ld [wcd4c], a
+	pop af
+	dec a
+	jr nz, .asm_1701ac
+	ld a, $4
+	call GetSRAMBank
+	ld hl, $a013
+	ld bc, $0024
+	call CopyBytes
+	call CloseSRAM
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $a894
+	ld bc, $0006
+	call CopyBytes
+	ld hl, $c608
+	ld de, $a948
+	ld bc, $00f6
+	call CopyBytes
+	call CloseSRAM
+	ret
+; 17020c
+
+Function17020c: ; 17020c
+	ld a, [de]
+	inc de
+	and a
+	ret z
+.asm_170210
+	add hl, bc
+	dec a
+	jr nz, .asm_170210
+	ret
+; 170215
+
+Function170215: ; 170215
+	xor a
+	ld [wcf63], a
+	call Function17022c
+	ret
+; 17021d
+
+Function17021d: ; 17021d
+	ret
+; 17021e
+
+Function17021e: ; 17021e
+	xor a
+	ld [wcf63], a
+	ld [wcf64], a
+	ld [wcf65], a
+	ld [wcf66], a
+	ret
+; 17022c
+
+Function17022c: ; 17022c
+.asm_17022c
+	call Function17023a
+	call DelayFrame
+	ld a, [wcf63]
+	cp $1
+	jr nz, .asm_17022c
+	ret
+; 17023a
+
+Function17023a: ; 17023a
+	ld a, [wcf63]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_170249
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 170249
+
+Jumptable_170249: ; 170249
+	dw Function17024d
+	dw Function1704c9
+; 17024d
+
+Function17024d: ; 17024d
+	ld a, [Options]
+	push af
+	ld hl, Options
+	set 6, [hl]
+	ld a, [wcfc0]
+	push af
+	or $1
+	ld [wcfc0], a
+	xor a
+	ld [InLinkBattle], a
+	callba Function1060a2
+	callba Functionc658
+	call Function1702b7
+	call Function170bf7
+	predef StartBattle
+	callba Function1500c
+	callba Functionc658
+	ld a, [wd0ee]
+	ld [ScriptVar], a
+	and a
+	jr nz, .asm_1702a9
+	ld a, $1
+	call GetSRAMBank
+	ld a, [$be46]
+	ld [wcf64], a
+	call CloseSRAM
+	ld hl, StringBuffer3
+	ld a, [wcf64]
+	add $f7
+	ld [hli], a
+	ld a, $50
+	ld [hl], a
+
+.asm_1702a9
+	pop af
+	ld [wcfc0], a
+	pop af
+	ld [Options], a
+	ld a, $1
+	ld [wcf63], a
+	ret
+; 1702b7
+
+Function1702b7: ; 1702b7
+	call Function1704a2
+	ld de, $c643
+	ld c, $b
+	callba Function17d073
+	jr nc, .asm_1702db
+	ld a, [$c608 + 11]
+	ld [wd265], a
+	call GetPokemonName
+	ld l, e
+	ld h, d
+	ld de, $c643
+	ld bc, $000b
+	call CopyBytes
+
+.asm_1702db
+	ld de, $c67e
+	ld c, $b
+	callba Function17d073
+	jr nc, .asm_1702fc
+	ld a, [$c64e]
+	ld [wd265], a
+	call GetPokemonName
+	ld l, e
+	ld h, d
+	ld de, $c67e
+	ld bc, $000b
+	call CopyBytes
+
+.asm_1702fc
+	ld de, $c686 + 51
+	ld c, $b
+	callba Function17d073
+	jr nc, .asm_17031d
+	ld a, [$c689]
+	ld [wd265], a
+	call GetPokemonName
+	ld l, e
+	ld h, d
+	ld de, $c686 + 51
+	ld bc, $000b
+	call CopyBytes
+
+.asm_17031d
+	ld a, $50
+	ld [$c64d], a
+	ld [$c688], a
+	ld [$c68a + 57], a
+	call Function170c98
+	ld de, $c608
+	ld c, $a
+	callba Function17d073
+	jr nc, .asm_17033d
+	ld hl, String_170426
+	jr .asm_170340
+
+.asm_17033d
+	ld hl, $c608
+
+.asm_170340
+	ld de, wd26b
+	ld bc, $000a
+	call CopyBytes
+	ld a, $50
+	ld [de], a
+	ld hl, $c608 + 10
+	ld a, [hli]
+	ld [OtherTrainerClass], a
+	ld a, $ea
+	ld [BGMapBuffer], a
+	ld a, $d3
+	ld [wcd21], a
+	ld de, OTPartyMon1Species
+	ld bc, OTPartyCount
+	ld a, $3
+	ld [bc], a
+	inc bc
+.asm_170367
+	push af
+	ld a, [hl]
+	ld [bc], a
+	inc bc
+	push bc
+	ld bc, $0030
+	call CopyBytes
+	push de
+	ld a, [BGMapBuffer]
+	ld e, a
+	ld a, [wcd21]
+	ld d, a
+	ld bc, $000b
+	call CopyBytes
+	ld a, e
+	ld [BGMapBuffer], a
+	ld a, d
+	ld [wcd21], a
+	pop de
+	pop bc
+	pop af
+	dec a
+	and a
+	jr nz, .asm_170367
+	ld a, $ff
+	ld [bc], a
+	ret
+; 170394
+
+Function170394: ; 170394
+	ld hl, $c608 + 11
+	ld d, $3
+.asm_170399
+	push de
+	push hl
+	ld b, h
+	ld c, l
+	ld a, [hl]
+	and a
+	jr z, .asm_1703b1
+	cp $ff
+	jr z, .asm_1703b1
+	cp $fe
+	jr z, .asm_1703b1
+	cp $fd
+	jr z, .asm_1703b1
+	cp $fc
+	jr nz, .asm_1703b4
+
+.asm_1703b1
+	ld a, $eb
+	ld [hl], a
+
+.asm_1703b4
+	ld [CurSpecies], a
+	call GetBaseData
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$b2fb]
+	call CloseSRAM
+	ld e, a
+	ld hl, $001f
+	add hl, bc
+	ld a, [hl]
+	cp $2
+	ld a, $2
+	jr c, .asm_1703d6
+	ld a, [hl]
+	cp e
+	jr c, .asm_1703d7
+	ld a, e
+
+.asm_1703d6
+	ld [hl], a
+
+.asm_1703d7
+	ld [CurPartyLevel], a
+	ld hl, $0002
+	add hl, bc
+	ld d, $3
+	ld a, [hli]
+	and a
+	jr z, .asm_1703ea
+	cp $fc
+	jr nc, .asm_1703ea
+	jr .asm_1703f4
+
+.asm_1703ea
+	dec hl
+	ld a, $1
+	ld [hli], a
+	xor a
+	ld [hli], a
+	ld [hli], a
+	ld [hl], a
+	jr .asm_1703ff
+
+.asm_1703f4
+	ld a, [hl]
+	cp $fc
+	jr c, .asm_1703fb
+	ld [hl], $0
+
+.asm_1703fb
+	inc hl
+	dec d
+	jr nz, .asm_1703f4
+
+.asm_1703ff
+	ld hl, $0024
+	add hl, bc
+	ld d, h
+	ld e, l
+	push hl
+	push de
+	ld hl, $000a
+	add hl, bc
+	ld b, $1
+	predef Functione167
+	pop de
+	pop hl
+	dec de
+	dec de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hl]
+	ld [de], a
+	pop hl
+	ld bc, $003b
+	add hl, bc
+	pop de
+	dec d
+	jp nz, .asm_170399
+	ret
+; 170426
+
+String_170426: ; 170426
+	db "CHRIS@"
+; 17042c
+
+Function17042c: ; 17042c
+	ld hl, OTPartyMon2ID
+	ld a, $7
+.asm_170431
+	push af
+	push hl
+	ld c, $12
+.asm_170435
+	ld a, [hli]
+	ld b, a
+	ld a, [hli]
+	and a
+	jr z, .asm_170451
+	cp $f
+	jr nc, .asm_17045b
+	push hl
+	ld hl, Unknown_170470
+	dec a
+	ld e, a
+	ld d, 0
+	add hl, de
+	ld a, [hl]
+	pop hl
+	cp b
+	jr c, .asm_17045b
+	jr z, .asm_17045b
+	jr .asm_170456
+
+.asm_170451
+	ld a, b
+	cp $fc
+	jr nc, .asm_17045b
+
+.asm_170456
+	dec c
+	jr nz, .asm_170435
+	jr .asm_170466
+
+.asm_17045b
+	pop de
+	push de
+	ld hl, Unknown_17047e
+	ld bc, $0024
+	call CopyBytes
+
+.asm_170466
+	pop hl
+	ld de, $00e0
+	add hl, de
+	pop af
+	dec a
+	jr nz, .asm_170431
+	ret
+; 170470
+
+Unknown_170470:
+	db $12, $24, $45, $45, $42, $42, $45, $42, $27, $27, $45, $27, $42, $24
+
+Unknown_17047e:
+	db $03, $04, $05, $08
+	db $03, $05, $0e, $06
+	db $03, $02, $00, $00
+	db $39, $07, $07, $04
+	db $00, $05, $04, $07
+	db $01, $05, $00, $00
+	db $0f, $05, $14, $07
+	db $05, $05, $11, $0c
+	db $0c, $06, $06, $04
+; 1704a2
+
+Function1704a2: ; 1704a2
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+	ld hl, LYOverrides
+	ld de, $c608
+	ld bc, $00e0
+	call CopyBytes
+	pop af
+	ld [rSVBK], a
+	ld a, $1
+	call GetSRAMBank
+	ld a, $2
+	ld [$be45], a
+	ld hl, $be46
+	inc [hl]
+	call CloseSRAM
+Function1704c9:
+	ret
+; 1704ca
+
+Function1704ca: ; 1704ca
+	ld a, [$be46]
+	cp $7
+	jr c, .asm_1704d3
+	ld a, $6
+
+.asm_1704d3
+	ld hl, $afce
+	ld de, -$e0
+.asm_1704d9
+	and a
+	jr z, .asm_1704e0
+	add hl, de
+	dec a
+	jr .asm_1704d9
+
+.asm_1704e0
+	ret
+; 1704e1
+
+Function1704e1: ; 1704e1
+	call SpeechTextBox
+	call FadeToMenu
+	call Function17021e
+	call Function1704f1
+	call Function2b3c
+	ret
+; 1704f1
+
+Function1704f1: ; 1704f1
+	call WhiteBGMap
+	call ClearSprites
+	call ClearScreen
+.asm_1704fa
+	call Functiona57
+	ld a, [wcf63]
+	bit 7, a
+	jr nz, .asm_17050f
+	call Function170510
+	callba Function104061
+	jr .asm_1704fa
+
+.asm_17050f
+	ret
+; 170510
+
+Function170510: ; 170510
+	ld a, [wcf63]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_17051f
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 17051f
+
+Jumptable_17051f: ; 17051f
+	dw Function170525
+	dw Function170571
+	dw Function170577
+; 170525
+
+Function170525: ; 170525
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $a89c
+	ld de, StringBuffer3
+	ld bc, $0016
+	call CopyBytes
+	ld hl, $a8b2
+	ld de, $c608
+	ld bc, $0096
+	call CopyBytes
+	call CloseSRAM
+	hlcoord 1, 1
+	ld de, StringBuffer3
+	call PlaceString
+	hlcoord 1, 3
+	ld de, String_170676
+	call PlaceString
+	hlcoord 4, 3
+	ld de, StringBuffer4
+	call PlaceString
+	hlcoord 8, 3
+	ld de, String_17067a
+	call PlaceString
+	call Function1705b7
+	call Function1705f0
+	jr Function1705b2
+
+Function170571:
+	call Function32f9
+	call Function1705b2
+
+Function170577:
+	ld hl, hJoyPressed
+	ld a, [hl]
+	and $1
+	jr nz, .asm_1705ac
+	ld a, [hl]
+	and $2
+	jr nz, .asm_1705ac
+	ld a, [hl]
+	and $40
+	jr nz, .asm_17058f
+	ld a, [hl]
+	and $80
+	jr nz, .asm_17059d
+	ret
+
+.asm_17058f
+	ld a, [wcf64]
+	and a
+	ret z
+	sub $f
+	ld [wcf64], a
+	call Function1705f0
+	ret
+
+.asm_17059d
+	ld a, [wcf64]
+	cp $3c
+	ret z
+	add $f
+	ld [wcf64], a
+	call Function1705f0
+	ret
+
+.asm_1705ac
+	ld hl, wcf63
+	set 7, [hl]
+	ret
+
+Function1705b2:
+	ld hl, wcf63
+	inc [hl]
+	ret
+; 1705b7
+
+Function1705b7: ; 1705b7
+	hlcoord 0, 4
+	ld a, $79
+	ld [hli], a
+	ld c, $12
+.asm_1705bf
+	ld a, $7a
+	ld [hli], a
+	dec c
+	jr nz, .asm_1705bf
+	ld a, $7b
+	ld [hli], a
+	ld de, $0014
+	ld c, $c
+.asm_1705cd
+	ld a, $7c
+	ld [hl], a
+	add hl, de
+	dec c
+	jr nz, .asm_1705cd
+	ld a, $7d
+	ld [hli], a
+	ld c, $12
+.asm_1705d9
+	ld a, $7a
+	ld [hli], a
+	dec c
+	jr nz, .asm_1705d9
+	ld a, $7e
+	ld [hl], a
+	ld de, $ffec
+	add hl, de
+	ld c, $c
+.asm_1705e8
+	ld a, $7c
+	ld [hl], a
+	add hl, de
+	dec c
+	jr nz, .asm_1705e8
+	ret
+; 1705f0
+
+Function1705f0: ; 1705f0
+	call Function17064b
+	call Function17065d
+	ld a, $50
+	ld [wcd4e], a
+	ld hl, $c608
+	ld a, [wcf64]
+	ld c, a
+	xor a
+	ld b, a
+	add hl, bc
+	push hl
+	pop bc
+	hlcoord 1, 6
+	ld a, $6
+.asm_17060c
+	push af
+	push hl
+	ld a, $3
+.asm_170610
+	push af
+	ld de, wcd49
+	ld a, [bc]
+	and a
+	jr z, .asm_170625
+	ld a, $5
+.asm_17061a
+	push af
+	ld a, [bc]
+	ld [de], a
+	inc bc
+	inc de
+	pop af
+	dec a
+	jr nz, .asm_17061a
+	jr .asm_170631
+
+.asm_170625
+	ld a, $5
+.asm_170627
+	push af
+	ld a, $e3
+	ld [de], a
+	inc de
+	inc bc
+	pop af
+	dec a
+	jr nz, .asm_170627
+
+.asm_170631
+	ld de, wcd49
+	push bc
+	call PlaceString
+	ld de, $0006
+	add hl, de
+	pop bc
+	pop af
+	dec a
+	jr nz, .asm_170610
+	pop hl
+	ld de, $0028
+	add hl, de
+	pop af
+	dec a
+	jr nz, .asm_17060c
+	ret
+; 17064b
+
+Function17064b: ; 17064b
+	hlcoord 1, 5
+	xor a
+	ld b, $c
+.asm_170651
+	ld c, $12
+.asm_170653
+	ld [hli], a
+	dec c
+	jr nz, .asm_170653
+	inc hl
+	inc hl
+	dec b
+	jr nz, .asm_170651
+	ret
+; 17065d
+
+Function17065d: ; 17065d
+	ld a, [wcf64]
+	and a
+	jr z, .asm_170669
+	hlcoord 18, 5
+	ld a, $61
+	ld [hl], a
+
+.asm_170669
+	ld a, [wcf64]
+	cp $3c
+	ret z
+	hlcoord 18, 16
+	ld a, $ee
+	ld [hl], a
+	ret
+; 170676
+
+String_170676: ; 170676
+	db "ルーム@"
+; 17067a
+
+String_17067a: ; 17067a
+	db "れきだいりーダーいちらん@"
+; 170687
+
+Function170687: ; 170687
+	ld a, [ScriptVar]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_170696
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 170696
+
+
+Jumptable_170696: ; 170696 (5c:4696)
+	dw Function17075f
+	dw Function170788
+	dw Function170778
+	dw Function170799
+	dw Function17079d
+	dw Function1707ac
+	dw Function1707f4
+	dw Function170868
+	dw Function170881
+	dw Function17089a
+	dw Function1708b1
+	dw Function1708b9
+	dw Function1708c8
+	dw Function1708f0
+	dw Function17093c
+	dw Function1709aa
+	dw Function1709bb
+	dw Function170a9c
+	dw Function170aa0
+	dw Function170aaf
+	dw Function170abe
+	dw Function170ad7
+	dw Function170807
+	dw Function17081d
+	dw Function170ae8
+	dw Function170b16
+	dw Function1706d6
+	dw Function1706ee
+	dw Function17071b
+	dw Function170729
+	dw Function17073e
+	dw Function170737
+
+
+Function1706d6: ; 1706d6 (5c:46d6)
+	ld a, $1
+	call GetSRAMBank
+	ld a, $ff
+	ld hl, $be48
+	ld bc, $7
+	call ByteFill
+	xor a
+	ld [$be46], a
+	call CloseSRAM
+	ret
+
+Function1706ee: ; 1706ee (5c:46ee)
+	ld a, $1
+	call GetSRAMBank
+	ld a, [$be50]
+	call CloseSRAM
+	ld [ScriptVar], a
+	ld hl, NumItems
+	ld a, [hli]
+	cp $14
+	ret c
+	ld b, $14
+	ld a, [ScriptVar]
+	ld c, a
+.asm_170709
+	ld a, [hli]
+	cp c
+	jr nz, .asm_170711
+	ld a, [hl]
+	cp $5f
+	ret c
+.asm_170711
+	inc hl
+	dec b
+	jr nz, .asm_170709
+	ld a, $12
+	ld [ScriptVar], a
+	ret
+
+Function17071b: ; 17071b (5c:471b)
+	ld a, $1
+	call GetSRAMBank
+	ld a, $3
+	ld [$be45], a
+	call CloseSRAM
+	ret
+
+Function170729: ; 170729 (5c:4729)
+	ld a, $1
+	call GetSRAMBank
+	ld a, $4
+	ld [$be45], a
+	call CloseSRAM
+	ret
+
+Function170737: ; 170737 (5c:4737)
+	callba Function14dbb
+	ret
+
+Function17073e: ; 17073e (5c:473e)
+	call Random
+	ld a, [hRandomAdd] ; $ff00+$e1
+	and $7
+	cp $6
+	jr c, .asm_17074b
+	sub $6
+.asm_17074b
+	add $1a
+	cp $1e
+	jr z, Function17073e
+	push af
+	ld a, $1
+	call GetSRAMBank
+	pop af
+	ld [$be50], a
+	call CloseSRAM
+	ret
+
+Function17075f: ; 17075f (5c:475f)
+	call Function17089a
+	ld a, [ScriptVar]
+	and a
+	ret z
+	ld a, $1
+	call GetSRAMBank
+	ld a, [$be4f]
+	and $2
+	ld [ScriptVar], a
+	call CloseSRAM
+	ret
+
+Function170778: ; 170778 (5c:4778)
+	ld hl, $be45
+	ld a, $1
+	call GetSRAMBank
+	ld a, [hl]
+	ld [ScriptVar], a
+	call CloseSRAM
+	ret
+
+Function170788: ; 170788 (5c:4788)
+	ld a, $1
+	call GetSRAMBank
+	ld a, [$be4f]
+	or $2
+	ld [$be4f], a
+	call CloseSRAM
+	ret
+
+Function170799: ; 170799 (5c:4799)
+	ld c, $1
+	jr asm_17079f
+
+Function17079d: ; 17079d (5c:479d)
+	ld c, $0
+asm_17079f: ; 17079f (5c:479f)
+	ld a, $1
+	call GetSRAMBank
+	ld a, c
+	ld [$be45], a
+	call CloseSRAM
+	ret
+
+Function1707ac: ; 1707ac (5c:47ac)
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$aa8c]
+	ld b, a
+	ld a, [$be46]
+	ld [ScriptVar], a
+	call CloseSRAM
+	and a
+	ret z
+	ld a, b
+	cp $2
+	jr nc, .asm_1707ef
+	push bc
+	call UpdateTime
+	pop bc
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$aa8b]
+	call CloseSRAM
+	ld c, a
+	ld a, [CurDay]
+	sub c
+	jr c, .asm_1707e5
+	cp $8
+	jr nc, .asm_1707ef
+	ld a, b
+	and a
+	jr nz, .asm_1707ef
+	ret
+.asm_1707e5
+	ld hl, CurDay
+	ld a, $8c
+	sub c
+	add [hl]
+	cp $8
+	ret c
+.asm_1707ef
+	ld a, $8
+	ld [ScriptVar], a
+
+Function1707f4: ; 1707f4 (5c:47f4)
+	ld a, $5
+	call GetSRAMBank
+	xor a
+	ld [$be46], a
+	ld [$aa8b], a
+	ld [$aa8c], a
+	call CloseSRAM
+	ret
+
+Function170807: ; 170807 (5c:4807)
+	call UpdateTime
+	ld a, $5
+	call GetSRAMBank
+	ld a, [CurDay]
+	ld [$b2f9], a
+	xor a
+	ld [$b2fa], a
+	call CloseSRAM
+	ret
+
+Function17081d: ; 17081d (5c:481d)
+	xor a
+	ld [ScriptVar], a
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$b2f9]
+	ld c, a
+	ld a, [$b2fa]
+	ld b, a
+	call CloseSRAM
+	cp $2
+	jr nc, .asm_170853
+	push bc
+	call UpdateTime
+	pop bc
+	ld a, [CurDay]
+	sub c
+	jr c, .asm_170849
+	cp $b
+	jr nc, .asm_170853
+	ld a, b
+	and a
+	jr nz, .asm_170853
+	ret
+.asm_170849
+	ld hl, CurDay
+	ld a, $8c
+	sub c
+	add [hl]
+	cp $b
+	ret c
+.asm_170853
+	ld a, $1
+	ld [ScriptVar], a
+	ld a, $5
+	call GetSRAMBank
+	xor a
+	ld [$b2f9], a
+	ld [$b2fa], a
+	call CloseSRAM
+	ret
+
+Function170868: ; 170868 (5c:4868)
+	ld a, $1
+	call GetSRAMBank
+	ld a, [rSVBK] ; $ff00+$70
+	push af
+	ld a, $3
+	ld [rSVBK], a ; $ff00+$70
+	ld a, [wd000 + $800]
+	ld [$be47], a
+	pop af
+	ld [rSVBK], a ; $ff00+$70
+	call CloseSRAM
+	ret
+
+Function170881: ; 170881 (5c:4881)
+	ld a, $1
+	call GetSRAMBank
+	ld a, [rSVBK] ; $ff00+$70
+	push af
+	ld a, $3
+	ld [rSVBK], a ; $ff00+$70
+	ld a, [$be47]
+	ld [wd000 + $800], a
+	pop af
+	ld [rSVBK], a ; $ff00+$70
+	call CloseSRAM
+	ret
+
+Function17089a: ; 17089a
+	ld a, [wcfcd]
+	and a
+	jr z, .asm_1708ad
+	callba Function14bcb
+	jr z, .asm_1708ab
+	xor a
+	jr .asm_1708ad
+
+.asm_1708ab
+	ld a, $1
+
+.asm_1708ad
+	ld [ScriptVar], a
+	ret
+; 1708b1
+
+
+Function1708b1: ; 1708b1 (5c:48b1)
+	xor a
+	ld [MusicFade], a
+	call MaxVolume
+	ret
+
+Function1708b9: ; 1708b9 (5c:48b9)
+	ld a, $1
+	call GetSRAMBank
+	ld a, [$be3c]
+	ld [ScriptVar], a
+	call CloseSRAM
+	ret
+
+Function1708c8: ; 1708c8 (5c:48c8)
+	call UpdateTime
+	ld a, $5
+	call GetSRAMBank
+	ld a, [CurDay]
+	ld [$aa8b], a
+	xor a
+	ld [$aa8c], a
+	ld a, [$aa5d]
+	cp $2
+	jr nc, .asm_1708ec
+	ld a, [CurDay]
+	ld [$aa48], a
+	ld a, $1
+	ld [$aa47], a
+.asm_1708ec
+	call CloseSRAM
+	ret
+
+Function1708f0: ; 1708f0 (5c:48f0)
+	xor a
+	ld [ScriptVar], a
+	call UpdateTime
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$aa48]
+	ld c, a
+	ld a, [$aa47]
+	call CloseSRAM
+	and a
+	ret z
+	ld hl, CurDay
+	ld a, c
+	cp [hl]
+	jr nz, Function170923
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$aa5d]
+	call CloseSRAM
+	cp $5
+	ret c
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+
+
+Function170923: ; 170923
+	ld a, $5
+	call GetSRAMBank
+	xor a
+	ld [$aa48], a
+	ld [$aa47], a
+	ld hl, $aa5d
+	ld bc, $0011
+	call ByteFill
+	call CloseSRAM
+	ret
+; 17093c
+
+
+Function17093c: ; 17093c (5c:493c)
+	xor a
+	ld [ScriptVar], a
+	ld a, EGG_TICKET
+	ld [CurItem], a
+	ld hl, NumItems
+	call CheckItem
+	ret nc
+	ld a, [PartyCount]
+	ld b, 0
+	ld c, a
+	ld hl, PartySpecies
+.asm_170955
+	ld a, [hli]
+	cp EGG
+	jr nz, .asm_17099f
+	push hl
+	ld hl, PartyMonOT ; wddff (aliases: PartyMonOT)
+	ld de, $6
+	ld a, b
+	and a
+	jr z, .asm_170969
+.asm_170965
+	add hl, de
+	dec a
+	jr nz, .asm_170965
+.asm_170969
+	ld de, String_1709a4
+	ld a, $6
+.asm_17096e
+	push af
+	ld a, [de]
+	inc de
+	cp [hl]
+	inc hl
+	jr nz, .asm_17099d
+	pop af
+	dec a
+	jr nz, .asm_17096e
+	dec hl
+	dec hl
+	dec hl
+	dec hl
+	ld a, $50
+	ld [hli], a
+	ld [hli], a
+	pop hl
+	ld a, EGG_TICKET
+	ld [CurItem], a
+	ld a, $1
+	ld [wd10c], a
+	ld a, $ff
+	ld [wd107], a
+	ld hl, NumItems
+	call TossItem
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+
+.asm_17099d
+	pop af
+	pop hl
+.asm_17099f
+	inc b
+	dec c
+	jr nz, .asm_170955
+	ret
+; 1709a4 (5c:49a4)
+
+String_1709a4: ; 1709a4
+	db "なぞナゾ@@"
+
+Function1709aa: ; 1709aa (5c:49aa)
+	ld a, [rSVBK] ; $ff00+$70
+	push af
+	ld a, $3
+	ld [rSVBK], a ; $ff00+$70
+	ld a, [StringBuffer2 + 10]
+	ld [ScriptVar], a
+	pop af
+	ld [rSVBK], a ; $ff00+$70
+	ret
+
+Function1709bb: ; 1709bb (5c:49bb)
+	xor a
+	ld [ScriptVar], a
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$a800]
+	call CloseSRAM
+	cp 6
+	jr nc, .asm_1709da
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_1709e7
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+.asm_1709da
+	ld a, $5
+	call GetSRAMBank
+	xor a
+	ld [$a800], a
+	call CloseSRAM
+	ret
+; 1709e7 (5c:49e7)
+
+Jumptable_1709e7: ; 1709e7
+	dw Function170a00
+	dw Function170a00
+	dw Function1709f3
+	dw Function1709f3
+	dw Function170a01
+	dw Function170a33
+; 1709f3
+
+Function1709f3: ; 1709f3
+	ld a, $5
+	call GetSRAMBank
+	ld a, $1
+	ld [$a800], a
+	call CloseSRAM
+
+Function170a00: ; 170a00
+	ret
+; 170a01
+
+Function170a01: ; 170a01
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $b023
+	ld de, $c608
+	ld bc, $0069
+	call CopyBytes
+	ld a, [$a825]
+	ld [wcd30], a
+	ld a, [$a826]
+	ld [wcd31], a
+	call CloseSRAM
+	callba Function11b6b4
+	callba Function17d0f3
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+; 170a33
+
+Function170a33: ; 170a33
+	ld a, $0
+	call GetSRAMBank
+	ld hl, wRTC
+	ld de, $c608
+	ld bc, $0004
+	call CopyBytes
+	call CloseSRAM
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $b08c
+	ld de, $c608
+	ld c, $4
+.asm_170a54
+	ld a, [de]
+	inc de
+	cp [hl]
+	jr nz, .asm_170a78
+	inc hl
+	dec c
+	jr nz, .asm_170a54
+	call CloseSRAM
+	ld a, [MapGroup]
+	ld b, a
+	ld a, [MapNumber]
+	ld c, a
+	call GetMapTrigger
+	ld a, d
+	or e
+	jr z, .asm_170a72
+	ld a, [de]
+	and a
+	ret nz
+
+.asm_170a72
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+
+.asm_170a78
+	call CloseSRAM
+	ld a, $5
+	call GetSRAMBank
+	xor a
+	ld [$a800], a
+	call CloseSRAM
+	ld [ScriptVar], a
+	ld a, [MapGroup]
+	ld b, a
+	ld a, [MapNumber]
+	ld c, a
+	call GetMapTrigger
+	ld a, d
+	or e
+	jr z, .asm_170a9b
+	xor a
+	ld [de], a
+
+.asm_170a9b
+	ret
+; 170a9c
+
+Function170a9c: ; 170a9c (5c:4a9c)
+	ld c, $0
+	jr asm_170aa2
+
+Function170aa0: ; 170aa0 (5c:4aa0)
+	ld c, $1
+asm_170aa2: ; 170aa2 (5c:4aa2)
+	ld a, $5
+	call GetSRAMBank
+	ld a, c
+	ld [$aa8d], a
+	call CloseSRAM
+	ret
+
+Function170aaf: ; 170aaf (5c:4aaf)
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$aa8d]
+	ld [ScriptVar], a
+	call CloseSRAM
+	ret
+
+Function170abe: ; 170abe (5c:4abe)
+	call Function17089a
+	ld a, [ScriptVar]
+	and a
+	ret z
+	ld a, $1
+	call GetSRAMBank
+	ld a, [$be4f]
+	and $1
+	ld [ScriptVar], a
+	call CloseSRAM
+	ret
+
+Function170ad7: ; 170ad7 (5c:4ad7)
+	ld a, $1
+	call GetSRAMBank
+	ld a, [$be4f]
+	or $1
+	ld [$be4f], a
+	call CloseSRAM
+	ret
+
+Function170ae8: ; 170ae8 (5c:4ae8)
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$b2fb]
+	call CloseSRAM
+	ld c, $a
+	call SimpleDivide
+	ld a, b
+	ld [wcd4f], a
+	xor a
+	ld [ScriptVar], a
+	callba Function119d93
+	ret nc
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$b2fb]
+	call CloseSRAM
+	ld [ScriptVar], a
+	ret
+
+Function170b16: ; 170b16 (5c:4b16)
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$b2fb]
+	call CloseSRAM
+	ld c, 10
+	call SimpleDivide
+	ld a, b
+	ld [wcd4f], a
+	xor a
+	ld [ScriptVar], a
+	callba Function119dd1
+	ret nc
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$b2fb]
+	call CloseSRAM
+	ld [ScriptVar], a
+	ret
+
+Function170b44: ; 170b44
+	callba Function1f8000
+	ld a, [rSVBK]
+	push af
+	ld a, $3
+	ld [rSVBK], a
+	ld hl, wd10a
+	ld a, [hl]
+	dec a
+	ld c, a
+	ld b, $0
+	pop af
+	ld [rSVBK], a
+	ld hl, Unknown_170b90
+	add hl, bc
+	ld a, [hl]
+	ld [wcd49], a
+	ld a, [ScriptVar]
+	dec a
+	sla a
+	ld e, a
+	sla a
+	sla a
+	sla a
+	ld c, a
+	ld b, $0
+	ld d, $0
+	ld hl, MapObjects
+	add hl, bc
+	inc hl
+	ld a, [wcd49]
+	ld [hl], a
+	ld hl, UsedSprites
+	add hl, de
+	ld [hli], a
+	ld [$ffbd], a
+	ld a, [hl]
+	ld [$ffbe], a
+	callba Function143c8
+	ret
+; 170b90
+
+Unknown_170b90:
+INCBIN "baserom.gbc",$170b90,$170bd2 - $170b90
+
+Function170bd2: ; 170bd2
+	ret
+; 170bd3
+
+Function170bd3: ; 170bd3
+	callba Function8b201
+	jr c, .asm_170bde
+	xor a
+	jr .asm_170be0
+
+.asm_170bde
+	ld a, $1
+
+.asm_170be0
+	ld [ScriptVar], a
+	ret
+; 170be4
+
+Function170be4: ; 170be4
+	ld a, $5
+	call GetSRAMBank
+	xor a
+	ld hl, $a894
+	ld bc, $0008
+	call ByteFill
+	call CloseSRAM
+	ret
+; 170bf7
+
+Function170bf7: ; 170bf7
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $a89a
+	xor a
+	ld [hli], a
+	ld [hl], a
+	call CloseSRAM
+	ret
+; 170c06
+
+Function170c06: ; 170c06
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $a894
+	ld a, [wd0ee]
+	and a
+	jr nz, .asm_170c15
+	inc [hl]
+
+.asm_170c15
+	inc hl
+	inc hl
+	ld a, [$a89b]
+	add [hl]
+	ld [hld], a
+	ld a, [$a89a]
+	adc [hl]
+	ld [hli], a
+	jr nc, .asm_170c27
+	ld a, $ff
+	ld [hld], a
+	ld [hli], a
+
+.asm_170c27
+	inc hl
+	push hl
+	ld de, 0
+	xor a
+	ld [wd265], a
+.asm_170c30
+	ld hl, PartyMon1HP
+	ld a, [wd265]
+	call GetPartyLocation
+	ld a, [hli]
+	ld b, a
+	ld c, [hl]
+	inc hl
+	inc hl
+	ld a, [hld]
+	sub c
+	ld c, a
+	ld a, [hl]
+	sbc b
+	ld b, a
+	push de
+	pop hl
+	add hl, bc
+	push hl
+	pop de
+	jr c, .asm_170c58
+	ld a, [wd265]
+	inc a
+	ld [wd265], a
+	cp $3
+	jr c, .asm_170c30
+	jr .asm_170c5b
+
+.asm_170c58
+	ld de, -1
+
+.asm_170c5b
+	pop hl
+	inc hl
+	ld a, e
+	add [hl]
+	ld [hld], a
+	ld a, d
+	adc [hl]
+	ld [hli], a
+	jr nc, .asm_170c69
+	ld a, $ff
+	ld [hld], a
+	ld [hli], a
+
+.asm_170c69
+	inc hl
+	push hl
+	ld b, $0
+	ld c, $0
+.asm_170c6f
+	ld hl, PartyMon1HP
+	ld a, b
+	push bc
+	call GetPartyLocation
+	pop bc
+	ld a, [hli]
+	or [hl]
+	jr nz, .asm_170c7d
+	inc c
+
+.asm_170c7d
+	inc b
+	ld a, b
+	cp $3
+	jr c, .asm_170c6f
+	pop hl
+	ld a, [hl]
+	add c
+	ld [hl], a
+	call CloseSRAM
+	ret
+; 170c8b
+
+Function170c8b: ; 170c8b
+	ld hl, LastPlayerCounterMove
+	ld b, $5
+.asm_170c90
+	ld a, [hl]
+	xor $ff
+	ld [hli], a
+	dec b
+	jr nz, .asm_170c90
+	ret
+; 170c98
+
+Function170c98: ; 170c98
+	ld c, $3
+	ld hl, $c608 + 13
+.asm_170c9d
+	push hl
+	ld a, [hl]
+	cp $fc
+	jr c, .asm_170ca6
+	ld a, $1
+	ld [hl], a
+
+.asm_170ca6
+	inc hl
+	ld b, $3
+.asm_170ca9
+	ld a, [hl]
+	and a
+	jr z, .asm_170cb1
+	cp $fc
+	jr c, .asm_170cb9
+
+.asm_170cb1
+	xor a
+	ld [hl], a
+	inc hl
+	dec b
+	jr nz, .asm_170cb1
+	jr .asm_170cbd
+
+.asm_170cb9
+	inc hl
+	dec b
+	jr nz, .asm_170ca9
+
+.asm_170cbd
+	pop hl
+	ld de, $003b
+	add hl, de
+	dec c
+	jr nz, .asm_170c9d
+	ret
+; 170cc6
+
+Function170cc6: ; 170cc6
+	ld a, [rSVBK]
+	push af
+	ld a, $6
+	ld [rSVBK], a
+	ld hl, LZ_170d16
+	ld de, wd000
+	call Decompress
+	ld a, $1
+	ld [rVBK], a
+	ld de, wd000
+	ld hl, VTiles0
+	lb bc, $6, $c1
+	call Get2bpp
+	xor a
+	ld [rVBK], a
+	ld hl, LZ_1715a4
+	ld de, wd000
+	call Decompress
+	ld de, Unkn1Pals
+	ld hl, VTiles0
+	lb bc, $6, $53
+	call Get2bpp
+	pop af
+	ld [rSVBK], a
+	ret
+; 170d02
+
+Function170d02: ; 170d02
+	ld a, $1
+	ld [rVBK], a
+	ld de, GFX_171848
+	ld hl, $8c10
+	lb bc, BANK(GFX_171848), $18
+	call Get2bpp
+	xor a
+	ld [rVBK], a
+	ret
+; 170d16
+
+LZ_170d16:
+INCBIN "gfx/unknown/170d16.2bpp.lz"
+
+LZ_1715a4:
+INCBIN "gfx/unknown/1715a4.2bpp.lz"
+
+GFX_171848:
+INCBIN "gfx/unknown/171848.2bpp"
+
+Function1719c8: ; 1719c8 (5c:59c8)
+	ld a, [$ffaa]
+	push af
+	ld a, $1
+	ld [$ffaa], a
+	call Function1719d6
+	pop af
+	ld [$ffaa], a
+	ret
+
+Function1719d6: ; 1719d6 (5c:59d6)
+	callba Function1183cb
+	call Function1719ed
+	ld a, [rSVBK] ; $ff00+$70
+	push af
+	ld a, $5
+	ld [rSVBK], a ; $ff00+$70
+	call Function171a11
+	pop af
+	ld [rSVBK], a ; $ff00+$70
+	ret
+
+Function1719ed: ; 1719ed (5c:59ed)
+	xor a
+	ld [wcd49], a
+	ld [wcd4a], a
+	dec a
+	ld [wcd4b], a
+	call WhiteBGMap
+	call ClearSprites
+	callba Function171d2b
+	callba Function104061
+	callba Function8cf53
+	ret
+
+Function171a11: ; 171a11 (5c:5a11)
+	call Functiona57
+	ld a, [wcd49]
+	bit 7, a
+	jr nz, .asm_171a2c
+	call Function171a36
+	callba Function8cf69
+	callba Function104061
+	jr Function171a11
+.asm_171a2c
+	callba Function8cf53
+	call ClearSprites
+	ret
+
+Function171a36: ; 171a36 (5c:5a36)
+	ld a, [wcd49]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_171a45
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+
+Jumptable_171a45: ; 171a45 (5c:5a45)
+	dw Function171a95
+	dw Function171ac9
+	dw Function171a5d
+	dw Function171ad7
+	dw Function171a5d
+	dw Function171aec
+	dw Function171b4b
+	dw Function171b85
+	dw Function171bcc
+	dw Function171c2c
+	dw Function171c39
+	dw Function171c41
+
+
+Function171a5d: ; 171a5d (5c:5a5d)
+	ld a, [wc821]
+	bit 1, a
+	jr nz, .asm_171a6a
+	bit 0, a
+	ret nz
+	jp Function171c66
+.asm_171a6a
+	ld a, $0
+	call Function3e32
+	ld [wc300], a
+	ld a, l
+	ld [wc301], a
+	ld a, h
+	ld [wc302], a
+	ld a, $a
+	call Function3e32
+	ld a, [rSVBK] ; $ff00+$70
+	push af
+	ld a, $1
+	ld [rSVBK], a ; $ff00+$70
+	callba Function118452
+	pop af
+	ld [rSVBK], a ; $ff00+$70
+	ld a, $a
+	ld [wcd49], a
+	ret
+
+Function171a95: ; 171a95 (5c:5a95)
+	callba Function171ccd
+	hlcoord 2, 8
+	ld de, String_171aa7
+	call PlaceString
+	jp Function171c66
+; 171aa7 (5c:5aa7)
+
+String_171aa7: ; 171aa7
+	db   "モバイルアダプタに"
+	next "せつぞく しています"
+	next "しばらく おまちください"
+	db   "@"
+; 171ac9
+
+Function171ac9: ; 171ac9 (5c:5ac9)
+	ld de, wcd81
+	ld hl, $5c
+	ld a, $2
+	call Function3e32
+	jp Function171c66
+
+Function171ad7: ; 171ad7 (5c:5ad7)
+	xor a
+	ld hl, $c608
+	ld bc, $66
+	call ByteFill
+	ld de, $c608
+	ld a, $c
+	call Function3e32
+	jp Function171c66
+
+Function171aec: ; 171aec (5c:5aec)
+	ld a, [rSVBK] ; $ff00+$70
+	push af
+	ld a, $1
+	ld [rSVBK], a ; $ff00+$70
+	callba Function118452
+	pop af
+	ld [rSVBK], a ; $ff00+$70
+	hlcoord 2, 6
+	ld a, $8
+.asm_171b01
+	push af
+	push hl
+	xor a
+	ld bc, $10
+	call ByteFill
+	pop hl
+	ld de, $14
+	add hl, de
+	pop af
+	dec a
+	jr nz, .asm_171b01
+	hlcoord 2, 7
+	ld a, $3
+	ld de, $c608
+.asm_171b1b
+	push af
+	push hl
+	ld a, [de]
+	and a
+	jr z, .asm_171b34
+	ld a, [wcd4b]
+	inc a
+	ld [wcd4b], a
+	push hl
+	call Function171b42
+	pop hl
+	ld bc, $ffec
+	add hl, bc
+	call Function171b42
+.asm_171b34
+	pop hl
+	ld bc, $14
+	add hl, bc
+	add hl, bc
+	add hl, bc
+	pop af
+	dec a
+	jr nz, .asm_171b1b
+	jp Function171c66
+
+Function171b42: ; 171b42 (5c:5b42)
+	ld a, [de]
+	inc de
+	and a
+	ret z
+	sub $20
+	ld [hli], a
+	jr Function171b42
+
+Function171b4b: ; 171b4b (5c:5b4b)
+	lb de, $40, $10
+	ld a, $1d
+	call Function3b2a
+	ld hl, $c
+	add hl, bc
+	ld a, $8
+	ld [hl], a
+	lb de, $40, $98
+	ld a, $1d
+	call Function3b2a
+	ld hl, $c
+	add hl, bc
+	ld a, $9
+	ld [hl], a
+	lb de, $8a, $70
+	ld a, $1d
+	call Function3b2a
+	ld hl, $c
+	add hl, bc
+	ld a, $a
+	ld [hl], a
+	ld a, $4
+	ld [wcd23], a
+	ld a, $8
+	ld [wcd24], a
+	jp Function171c66
+
+Function171b85: ; 171b85 (5c:5b85)
+	ld hl, hJoyPressed ; $ffa7
+	ld a, [hl]
+	and $2
+	jp nz, Function171b9f
+	ld a, [hl]
+	and $1
+	jp nz, Function171bbd
+	ld a, [hl]
+	and $40
+	jr nz, asm_171ba5
+	ld a, [hl]
+	and $80
+	jr nz, asm_171baf
+	ret
+
+Function171b9f: ; 171b9f (5c:5b9f)
+	ld a, $80
+	ld [wcd49], a
+	ret
+asm_171ba5: ; 171ba5 (5c:5ba5)
+	ld a, [wcd4a]
+	and a
+	ret z
+	dec a
+	ld [wcd4a], a
+	ret
+asm_171baf: ; 171baf (5c:5baf)
+	ld a, [wcd4b]
+	ld c, a
+	ld a, [wcd4a]
+	cp c
+	ret z
+	inc a
+	ld [wcd4a], a
+	ret
+
+Function171bbd: ; 171bbd (5c:5bbd)
+	call PlayClickSFX
+	ld a, $8
+	ld [wcd23], a
+	xor a
+	ld [wcd24], a
+	jp Function171c66
+
+Function171bcc: ; 171bcc (5c:5bcc)
+	ld hl, hJoyPressed ; $ffa7
+	ld a, [hl]
+	and $2
+	jp nz, Function171bdc
+	ld a, [hl]
+	and $1
+	jp nz, Function171beb
+	ret
+
+Function171bdc: ; 171bdc (5c:5bdc)
+	ld a, $4
+	ld [wcd23], a
+	ld a, $8
+	ld [wcd24], a
+	ld hl, wcd49
+	dec [hl]
+	ret
+
+Function171beb: ; 171beb (5c:5beb)
+	ld a, $5
+	call GetSRAMBank
+	ld a, [wcd4a]
+	ld [$aa4a], a
+	call CloseSRAM
+	ld hl, MenuDataHeader_171c6b
+	call LoadMenuDataHeader
+	call Function1cbb
+	call Function1cfd
+	callba Function104061
+	hlcoord 1, 14
+	ld de, String_171c73
+	call PlaceString
+	ld a, [wcd4a]
+	cp $2
+	jr z, .asm_171c1f
+	ld a, $8
+	jr .asm_171c21
+.asm_171c1f
+	ld a, $c
+.asm_171c21
+	ld [wcd24], a
+	ld a, $1e
+	ld [wcd4c], a
+	call Function171c66
+
+Function171c2c: ; 171c2c (5c:5c2c)
+	ld hl, wcd4c
+	dec [hl]
+	ret nz
+	call Function1c07
+	call WhiteBGMap
+	jr asm_171c60
+
+Function171c39: ; 171c39 (5c:5c39)
+	ld a, $28
+	ld [wcd4c], a
+	call Function171c66
+
+Function171c41: ; 171c41 (5c:5c41)
+	ld hl, wcd4c
+	dec [hl]
+	ret nz
+	call WhiteBGMap
+	callba Function106462
+	callba Function106464
+	ld a, $2
+	ld [wc303], a
+	callba Function17f555
+asm_171c60: ; 171c60 (5c:5c60)
+	ld a, $80
+	ld [wcd49], a
+	ret
+
+Function171c66: ; 171c66 (5c:5c66)
+	ld hl, wcd49
+	inc [hl]
+	ret
+; 171c6b (5c:5c6b)
+
+MenuDataHeader_171c6b: ; 171c6b
+	db $40 ; flags
+	db 12,  0 ; start coords
+	db 17, 19 ; end coords
+	dw NULL
+	db 0 ; default option
+; 171c73
+
+String_171c73: ; 171c73
+	db   "モバイルセンターを けってい"
+	next "しました@"
+; 171c87
+
+Function171c87: ; 171c87 (5c:5c87)
+	call DisableLCD
+	ld hl, GFX_171db1
+	ld de, $9000
+	ld bc, $6e0
+	call CopyBytes
+	ld hl, LZ_172abd
+	ld de, $8000
+	call Decompress
+	call EnableLCD
+	ld hl, Tilemap_172491
+	ld de, TileMap
+	ld bc, $168
+	call CopyBytes
+	ld hl, Attrmap_1727ed
+	ld de, AttrMap
+	ld bc, $168
+	call CopyBytes
+	hlcoord 3, 2
+	ld de, String_172e31
+	call PlaceString
+	hlcoord 3, 16
+	ld de, String_172e3f
+	call PlaceString
+	ret
+
+Function171ccd: ; 171ccd (5c:5ccd)
+	ld a, [rSVBK] ; $ff00+$70
+	push af
+	ld a, $5
+	ld [rSVBK], a ; $ff00+$70
+	ld hl, Palette_171d71
+	ld de, Unkn1Pals
+	ld bc, $40
+	call CopyBytes
+	ld hl, MovementAnimation
+	ld a, $ff
+	ld [hli], a
+	ld a, $7f
+	ld [hl], a
+	call Function32f9
+	pop af
+	ld [rSVBK], a ; $ff00+$70
+	ret
+
+Function171cf0: ; 171cf0 (5c:5cf0)
+	xor a
+	hlcoord 4, 15
+	ld [hli], a
+	ld [hli], a
+	ld a, [wcd4b]
+	xor $1
+	ld [wcd4b], a
+	and a
+	jr nz, .asm_171d16
+	ld hl, Tilemap_17251d
+	decoord 0, 7
+	ld bc, $8c
+	call CopyBytes
+	hlcoord 3, 16
+	ld de, String_172e3f
+	jp PlaceString
+.asm_171d16
+	ld hl, Tilemap_1725f9
+	decoord 0, 7
+	ld bc, $8c
+	call CopyBytes
+	hlcoord 3, 16
+	ld de, String_172e4e
+	jp PlaceString
+
+Function171d2b: ; 171d2b (5c:5d2b)
+	call DisableLCD
+	ld hl, GFX_171db1
+	ld de, $9000
+	ld bc, $6e0
+	call CopyBytes
+	ld hl, LZ_172abd
+	ld de, $8000
+	call Decompress
+	call EnableLCD
+	ld hl, Tilemap_172685
+	ld de, TileMap
+	ld bc, $168
+	call CopyBytes
+	ld hl, Attrmap_172955
+	ld de, AttrMap
+	ld bc, $168
+	call CopyBytes
+	hlcoord 2, 2
+	ld de, String_172e5d
+	call PlaceString
+	hlcoord 14, 16
+	ld de, String_172e58
+	call PlaceString
+	ret
+; 171d71 (5c:5d71)
+
+Palette_171d71:
+	RGB  0,  0,  0
+	RGB  3,  0,  0
+	RGB  5,  0,  0
+	RGB 31, 31, 29
+	RGB  0,  2, 10
+	RGB  2, 10, 21
+	RGB  0,  0,  0
+	RGB 10, 26, 31
+	RGB  0,  0,  0
+	RGB  0,  7,  8
+	RGB 31,  8,  0
+	RGB  1, 17, 15
+	RGB 31, 16,  0
+	RGB 31, 22,  0
+	RGB 31, 27,  0
+	RGB 31, 31,  0
+	RGB 31, 18,  6
+	RGB  0,  3,  0
+	RGB  0,  9,  0
+	RGB  0, 12,  0
+	RGB  0, 16,  0
+	RGB  0, 22,  0
+	RGB  0, 25,  0
+	RGB  0, 27,  0
+	RGB  5,  5, 16
+	RGB  8, 19, 28
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB 31, 31, 29
+	RGB 21, 21, 20
+	RGB 11, 11, 10
+	RGB  0,  0,  0
+GFX_171db1:
+INCBIN "gfx/unknown/171db1.2bpp"
+Tilemap_172491:
+INCBIN "gfx/unknown/172491.tilemap"
+Tilemap_17251d:
+INCBIN "gfx/unknown/17251d.tilemap"
+Tilemap_1725f9:
+INCBIN "gfx/unknown/1725f9.tilemap"
+Tilemap_172685:
+INCBIN "gfx/unknown/172685.tilemap"
+Attrmap_1727ed:
+INCBIN "gfx/unknown/1727ed.attrmap"
+Attrmap_172955:
+INCBIN "gfx/unknown/172955.attrmap"
+LZ_172abd:
+INCBIN "gfx/pokedex/slowpoke.2bpp.lz"
+
+String_172e31: ; 172e31
+	db "パスワード", $1f, "いれてください@"
+String_172e3f: ; 172e3f
+	db "きりかえ やめる  けってい@"
+String_172e4e: ; 172e4e
+	db "きりかえ やめる  "
+String_172e58:
+	db "けってい@"
+String_172e5d: ; 172e5d
+	db "せつぞくする モバイルセンターを"
+	next "えらんで ください@"
+; 172e78
+
+
+Function172e78: ; 172e78 (5c:6e78)
+	ld a, $7f
+	ld hl, TileMap
+	ld bc, $168
+	call ByteFill
+	ld a, $7
+	ld hl, AttrMap
+	ld bc, $168
+	call ByteFill
+	call DisableLCD
+	ld hl, GFX_172f1f
+	ld de, $9000
+	ld bc, $610
+	call CopyBytes
+	call EnableLCD
+	ld hl, Tilemap_1733af
+	ld de, TileMap
+	ld bc, $168
+	call CopyBytes
+	ld hl, Attrmap_173517
+	ld de, AttrMap
+	ld bc, $168
+	call CopyBytes
+	ret
+; 172eb9 (5c:6eb9)
+
+Function172eb9:
+	ld a, [rSVBK] ; $ff00+$70
+	push af
+	ld a, $5
+	ld [rSVBK], a ; $ff00+$70
+	ld hl, Palette_172edf
+	ld de, Unkn1Pals
+	ld bc, $40
+	call CopyBytes
+	ld hl, Palette_172edf
+	ld de, BGPals
+	ld bc, $40
+	call CopyBytes
+	call Function32f9
+	pop af
+	ld [rSVBK], a ; $ff00+$70
+	ret
+; 172edf (5c:6edf)
+
+Palette_172edf:
+	RGB  5, 12, 17
+	RGB 31, 31, 31
+	RGB 18, 25, 28
+	RGB 10, 17, 21
+	RGB  6, 13, 18
+	RGB 31, 31, 31
+	RGB 20, 26, 28
+	RGB 12, 19, 23
+	RGB  3, 10, 16
+	RGB 31, 31, 31
+	RGB  6, 13, 18
+	RGB 20, 26, 28
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  5,  5, 16
+	RGB  8, 19, 28
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+
+GFX_172f1f:
+INCBIN "gfx/unknown/172f1f.2bpp"
+
+Tilemap_1733af:
+INCBIN "gfx/unknown/1733af.tilemap"
+
+Attrmap_173517:
+INCBIN "gfx/unknown/173517.attrmap"
+
+
--- /dev/null
+++ b/misc/mobile_5f.asm
@@ -1,0 +1,5234 @@
+
+SECTION "bank5F", ROMX, BANK[$5F]
+
+Function17c000: ; 17c000
+
+	call DisableLCD
+
+	ld hl, VTiles2
+	ld bc, $310
+	xor a
+	call ByteFill
+
+	call Functione51
+	call Functione5f
+
+	ld hl, HaveWantMap
+	ld de, TileMap
+	ld bc, AttrMap
+
+	ld a, SCREEN_HEIGHT
+.y
+	push af
+	ld a, SCREEN_WIDTH
+
+	push hl
+.x
+	push af
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [bc], a
+	inc bc
+	pop af
+	dec a
+	jr nz, .x
+	pop hl
+
+	push bc
+	ld bc, BG_MAP_WIDTH * 2
+	add hl, bc
+	pop bc
+
+	pop af
+	dec a
+	jr nz, .y
+
+	ld a, [rSVBK]
+	push af
+
+	ld a, 5 ; BANK(Unkn1Pals)
+	ld [rSVBK], a
+
+	ld hl, HaveWantPals
+	ld de, Unkn1Pals
+	ld bc, $80
+	call CopyBytes
+
+	pop af
+	ld [rSVBK], a
+
+	ld hl, MobileSelectGFX
+	ld de, $8300
+	ld bc, $200
+	call CopyBytes
+
+	ld a, 1
+	ld [rVBK], a
+
+	ld hl, HaveWantGFX
+	ld de, VTiles2
+	ld bc, $800
+	call CopyBytes
+
+	ld hl, HaveWantGFX + $800
+	ld de, VTiles1
+	ld bc, $100
+	call CopyBytes
+
+	xor a
+	ld [rVBK], a
+
+	call EnableLCD
+	callba Function104061
+	ret
+; 17c083
+
+HaveWantGFX: ; 17c083
+INCBIN "gfx/mobile/havewant.2bpp"
+
+MobileSelectGFX: ; 17c983
+INCBIN "gfx/mobile/select.2bpp"
+
+HaveWantMap: ; 17cb83
+; Interleaved tile/palette map.
+INCBIN "baserom.gbc", $17cb83, $17cff3 - $17cb83
+
+HaveWantPals: ; 17cff3
+; BG and OBJ palettes.
+INCBIN "baserom.gbc", $17cff3, $17d073 - $17cff3
+
+
+Function17d073: ; 17d073
+.asm_17d073
+	ld a, [de]
+	inc de
+	and a
+	jr z, .asm_17d0ae
+	cp $60
+	jr nc, .asm_17d0ae
+	cp $4e
+	jr z, .asm_17d0ae
+	cp $50
+	jr z, .asm_17d0b1
+	cp $5
+	jr c, .asm_17d0ac
+	cp $14
+	jr c, .asm_17d0ae
+	cp $19
+	jr c, .asm_17d0ac
+	cp $1d
+	jr c, .asm_17d0ae
+	cp $26
+	jr c, .asm_17d0ac
+	cp $35
+	jr c, .asm_17d0ae
+	cp $3a
+	jr c, .asm_17d0ac
+	cp $3f
+	jr c, .asm_17d0ae
+	cp $40
+	jr c, .asm_17d0ac
+	cp $49
+	jr c, .asm_17d0ae
+
+.asm_17d0ac
+	scf
+	ret
+
+.asm_17d0ae
+	dec c
+	jr nz, .asm_17d073
+
+.asm_17d0b1
+	and a
+	ret
+; 17d0b3
+
+Function17d0b3: ; 17d0b3
+.asm_17d0b3
+	ld a, [de]
+	inc de
+	and a
+	jr z, .asm_17d0ee
+	cp $60
+	jr nc, .asm_17d0ee
+	cp $4e
+	jr z, .asm_17d0ee
+	cp $50
+	jr z, .asm_17d0ee
+	cp $5
+	jr c, .asm_17d0ec
+	cp $14
+	jr c, .asm_17d0ee
+	cp $19
+	jr c, .asm_17d0ec
+	cp $1d
+	jr c, .asm_17d0ee
+	cp $26
+	jr c, .asm_17d0ec
+	cp $35
+	jr c, .asm_17d0ee
+	cp $3a
+	jr c, .asm_17d0ec
+	cp $3f
+	jr c, .asm_17d0ee
+	cp $40
+	jr c, .asm_17d0ec
+	cp $49
+	jr c, .asm_17d0ee
+
+.asm_17d0ec
+	scf
+	ret
+
+.asm_17d0ee
+	dec c
+	jr nz, .asm_17d0b3
+	and a
+	ret
+; 17d0f3
+
+Function17d0f3: ; 17d0f3
+	ld a, [$c608 + 5]
+	ld [wc702], a
+	ld [CurPartySpecies], a
+	ld a, [wcd81]
+	ld [wc74e], a
+	ld hl, $c63d
+	ld de, wc724
+	ld bc, $0005
+	call CopyBytes
+	ld a, $50
+	ld [de], a
+	ld a, [$c608 + 11]
+	ld [wc731], a
+	ld a, [$c608 + 12]
+	ld [wc732], a
+	ld hl, $c608 + 26
+	ld a, [hli]
+	ld [wc72f], a
+	ld a, [hl]
+	ld [wc730], a
+	ld bc, $c608 + 5
+	callba GetCaughtGender
+	ld a, c
+	ld [wc733], a
+	call SpeechTextBox
+	call FadeToMenu
+	callba Function10804d
+	callba Function17d1f1
+	ld a, $1
+	ld [wd1e9], a
+	ld a, $2
+	ld [InLinkBattle], a
+	callba Function421d8
+	xor a
+	ld [InLinkBattle], a
+	callba Function14a58
+	ld a, $5
+	call GetSRAMBank
+	ld a, $5
+	ld [$a800], a
+	call CloseSRAM
+	ld a, [MapGroup]
+	ld b, a
+	ld a, [MapNumber]
+	ld c, a
+	call GetMapTrigger
+	ld a, d
+	or e
+	jr z, .asm_17d180
+	ld a, $1
+	ld [de], a
+
+.asm_17d180
+	call Function2b3c
+	call RestartMapMusic
+	ret
+; 17d187
+
+Function17d187: ; 17d187
+	ld hl, Unknown_17d194
+	ld de, $c63d
+	ld bc, $0005
+	call CopyBytes
+	ret
+; 17d194
+
+Unknown_17d194:
+INCBIN "baserom.gbc", $17d194, $17d199 - $17d194
+
+Function17d199: ; 17d199
+	ld hl, Unknown_17d1a6
+	ld de, $c642
+	ld bc, $0005
+	call CopyBytes
+	ret
+; 17d1a6
+
+Unknown_17d1a6:
+INCBIN "baserom.gbc", $17d1a6, $17d1ab - $17d1a6
+
+Function17d1ab: ; 17d1ab
+	ld a, $50
+	ld hl, $c647
+	ld bc, $0021
+	call ByteFill
+	ld hl, Unknown_17d1c3
+	ld de, $c647
+	ld bc, $0006
+	call CopyBytes
+	ret
+; 17d1c3
+
+Unknown_17d1c3:
+INCBIN "baserom.gbc", $17d1c3, $17d1c9 - $17d1c3
+
+Function17d1c9: ; 17d1c9
+	ld a, $50
+	ld de, $c668
+	ld bc, $0005
+	call ByteFill
+	ld hl, Unknown_17d194
+	ld de, $c668
+	ld bc, $0005
+	call CopyBytes
+	ret
+; 17d1e1
+
+Function17d1e1: ; 17d1e1
+.asm_17d1e1
+	ld a, [de]
+	inc de
+	cp $4e
+	jr nz, .asm_17d1ea
+	dec b
+	jr z, .asm_17d1ef
+
+.asm_17d1ea
+	dec c
+	jr nz, .asm_17d1e1
+	and a
+	ret
+
+.asm_17d1ef
+	scf
+	ret
+; 17d1f1
+
+Function17d1f1: ; 17d1f1
+	ld a, [CurPartySpecies]
+	dec a
+	call SetSeenAndCaughtMon
+
+	ld a, [CurPartySpecies]
+	cp UNOWN
+	jr nz, .asm_17d223
+
+	ld hl, PartyMon1DVs
+	ld a, [PartyCount]
+	dec a
+	ld bc, PartyMon2 - PartyMon1
+	call AddNTimes
+	predef GetUnownLetter
+	callab Functionfba18
+	ld a, [wdef4]
+	and a
+	jr nz, .asm_17d223
+
+	ld a, [UnownLetter]
+	ld [wdef4], a
+
+.asm_17d223
+	ret
+; 17d224
+
+Function17d224: ; 17d224
+	ld a, [ScriptVar]
+	and a
+	jr nz, .asm_17d234
+	ld a, $4
+	ld [ScriptVar], a
+	ld hl, MenuDataHeader_17d26a
+	jr .asm_17d23c
+
+.asm_17d234
+	ld a, $4
+	ld [ScriptVar], a
+	ld hl, MenuDataHeader_17d28f
+
+.asm_17d23c
+	call LoadMenuDataHeader
+	call Function17d246
+	call Function1c17
+	ret
+; 17d246
+
+Function17d246: ; 17d246
+	call Function1d81
+	jr c, .asm_17d264
+	ld a, [ScriptVar]
+	cp $5
+	jr nz, .asm_17d25d
+	ld a, [wcfa9]
+	cp $3
+	ret z
+	jr c, .asm_17d25d
+	dec a
+	jr .asm_17d260
+
+.asm_17d25d
+	ld a, [wcfa9]
+
+.asm_17d260
+	ld [ScriptVar], a
+	ret
+
+.asm_17d264
+	ld a, $4
+	ld [ScriptVar], a
+	ret
+; 17d26a
+
+MenuDataHeader_17d26a: ; 17d26a
+	db $40 ; flags
+	db  0,  0 ; start coords
+	db  9, 14 ; end coords
+	dw MenuData2_17d272
+	db 1 ; default option
+
+MenuData2_17d272: ; 17d272
+	db $a0 ; flags
+	db 4
+	db "ニュース", $1f, "よみこむ@"
+	db "ニュース", $1f, "みる@"
+	db "せつめい@"
+	db "やめる@"
+; 17d28f
+
+MenuDataHeader_17d28f: ; 17d28f
+	db $40 ; flags
+	db  0,  0 ; start coords
+	db  7, 14 ; end coords
+	dw MenuData2_17d297
+	db 1 ; default option
+
+MenuData2_17d297: ; 17d297
+	db $a0 ; flags
+	db 3
+	db "Challenge@"
+	db "Explanation@"
+	db "Cancel@"
+; 17d2b6
+
+Function17d2b6: ; 17d2b6
+	call Function17d2c0
+	callba Function1181da
+	ret
+; 17d2c0
+
+Function17d2c0: ; 17d2c0
+	xor a
+	ld [wcf63], a
+	ld [wcf64], a
+	ld [wcf65], a
+	ld [wcf66], a
+	ret
+; 17d2ce
+
+Function17d2ce: ; 17d2ce
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$aa72]
+	call CloseSRAM
+	and a
+	jr nz, .asm_17d2e2
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+
+.asm_17d2e2
+	call Function17d314
+	ret c
+	call SpeechTextBox
+	call FadeToMenu
+	ld a, [rSVBK]
+	push af
+	ld a, $4
+	ld [rSVBK], a
+	call Function17d370
+	call Function17d45a
+	pop af
+	ld [rSVBK], a
+	ld de, MUSIC_MOBILE_CENTER
+	ld a, e
+	ld [wMapMusic], a
+	ld [MusicFadeIDLo], a
+	ld a, d
+	ld [MusicFadeIDHi], a
+	call PlayMusic
+	call Function222a
+	call Function2b3c
+	ret
+; 17d314
+
+Function17d314: ; 17d314
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$b1b1]
+	call CloseSRAM
+	cp $21
+	jr nc, .asm_17d354
+	ld a, $6
+	call GetSRAMBank
+	ld l, $0
+	ld h, l
+	ld de, $a006
+	ld a, [$a004]
+	ld c, a
+	ld a, [$a005]
+	ld b, a
+.asm_17d336
+	push bc
+	ld a, [de]
+	inc de
+	ld c, a
+	ld b, $0
+	add hl, bc
+	pop bc
+	dec bc
+	ld a, b
+	or c
+	jr nz, .asm_17d336
+	ld a, [$a002]
+	cp l
+	jr nz, .asm_17d354
+	ld a, [$a003]
+	cp h
+	jr nz, .asm_17d354
+	call CloseSRAM
+	and a
+	ret
+
+.asm_17d354
+	call CloseSRAM
+	ld a, $5
+	call GetSRAMBank
+	xor a
+	ld hl, $aa73
+	ld bc, $000c
+	call ByteFill
+	call CloseSRAM
+	ld a, $2
+	ld [ScriptVar], a
+	scf
+	ret
+; 17d370
+
+Function17d370: ; 17d370
+	xor a
+	ld [wcd77], a
+	ld [wcd78], a
+	ld [wcd79], a
+	dec a
+	ld [wcd6c], a
+	call WhiteBGMap
+	call ClearSprites
+	call ClearScreen
+	callba Function104061
+	call DisableLCD
+	ld hl, $8ee0
+	ld de, $c608
+	ld bc, $0010
+	call CopyBytes
+	ld a, $1
+	ld [rVBK], a
+	ld hl, PokemonNewsGFX
+	ld de, VTiles1
+	ld bc, $0480
+	call CopyBytes
+	xor a
+	ld hl, $97f0
+	ld bc, $0010
+	call ByteFill
+	ld hl, $c608
+	ld de, $8ee0
+	ld bc, $0010
+	call CopyBytes
+	xor a
+	ld [rVBK], a
+	ld hl, GFX_17eb7e
+	ld de, $9600
+	ld bc, $0010
+	call CopyBytes
+	call EnableLCD
+	call Function17d60b
+	ld a, $0
+	ld [BGMapBuffer], a
+	ld a, $d0
+	ld [wcd21], a
+	ld a, $6
+	call GetSRAMBank
+	ld hl, $a006
+	ld de, Unkn1Pals
+	ld bc, $1000
+	call CopyBytes
+	call CloseSRAM
+	ret
+; 17d3f6
+
+Function17d3f6: ; 17d3f6
+	call WhiteBGMap
+	call ClearSprites
+	call ClearScreen
+	callba Function104061
+
+Function17d405:
+	call DisableLCD
+	ld hl, $8ee0
+	ld de, $c608
+	ld bc, $0010
+	call CopyBytes
+	ld a, $1
+	ld [rVBK], a
+	ld hl, PokemonNewsGFX
+	ld de, VTiles1
+	ld bc, $0480
+	call CopyBytes
+	xor a
+	ld hl, $97f0
+	ld bc, $0010
+	call ByteFill
+	ld hl, $c608
+	ld de, $8ee0
+	ld bc, $0010
+	call CopyBytes
+	xor a
+	ld [rVBK], a
+	call EnableLCD
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+	ld hl, Palette_17eff6
+	ld de, Unkn1Pals
+	ld bc, $0040
+	call CopyBytes
+	call Function32f9
+	pop af
+	ld [rSVBK], a
+	ret
+; 17d45a
+
+Function17d45a: ; 17d45a
+.asm_17d45a
+	call Functiona57
+	ld a, [wcd77]
+	bit 7, a
+	jr nz, .asm_17d46f
+	call Function17d474
+	callba Function104061
+	jr .asm_17d45a
+
+.asm_17d46f
+	xor a
+	ld [ScriptVar], a
+	ret
+; 17d474
+
+Function17d474: ; 17d474
+	ld a, [wcd77]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_17d483
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 17d483
+
+Jumptable_17d483: ; 17d483
+	dw Function17d48d
+	dw Function17d5be
+	dw Function17d5c4
+	dw Function17d6fd
+	dw Function17e427
+; 17d48d
+
+Function17d48d: ; 17d48d
+	ld hl, Palette_17eff6
+	ld de, $c608
+	ld bc, $0040
+	call CopyBytes
+	ld hl, TileAttrmap_17eb8e
+	ld de, TileMap
+	ld bc, AttrMap
+	ld a, $12
+.asm_17d4a4
+	push af
+	ld a, $14
+	push hl
+.asm_17d4a8
+	push af
+	ld a, [hli]
+	cp $7f
+	jr z, .asm_17d4b0
+	add $80
+
+.asm_17d4b0
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [bc], a
+	inc bc
+	pop af
+	dec a
+	jr nz, .asm_17d4a8
+	pop hl
+	push bc
+	ld bc, $0040
+	add hl, bc
+	pop bc
+	pop af
+	dec a
+	jr nz, .asm_17d4a4
+	ld a, [BGMapBuffer]
+	ld l, a
+	ld a, [wcd21]
+	ld h, a
+	ld a, [hli]
+	ld e, a
+	ld a, [wcd6c]
+	cp e
+	jr z, .asm_17d4e0
+	ld a, e
+	ld [wcd6c], a
+	ld [wc2c0], a
+	ld d, $0
+	call PlayMusic2
+
+.asm_17d4e0
+	ld a, [hli]
+	ld de, $c608
+	ld c, $8
+.asm_17d4e6
+	srl a
+	jr nc, .asm_17d4f6
+	ld b, $8
+	push af
+.asm_17d4ed
+	ld a, [hli]
+	ld [de], a
+	inc de
+	dec b
+	jr nz, .asm_17d4ed
+	pop af
+	jr .asm_17d4fc
+
+.asm_17d4f6
+	push af
+	ld a, e
+	add $8
+	ld e, a
+	pop af
+
+.asm_17d4fc
+	dec c
+	jr nz, .asm_17d4e6
+	push hl
+	call Function17d5f6
+	pop hl
+	ld a, [hli]
+	and a
+	jr z, .asm_17d539
+.asm_17d508
+	push af
+	ld a, [hli]
+	ld [wcd4f], a
+	ld a, [hli]
+	ld [wcd50], a
+	ld a, [hli]
+	ld [wcd51], a
+	ld a, [hli]
+	ld [wcd52], a
+	ld a, [hli]
+	sla a
+	sla a
+	sla a
+	add $98
+	ld [wcd53], a
+	ld de, wcd4f
+	call Function17e613
+	ld a, [hli]
+	ld [wcd53], a
+	ld de, wcd4f
+	call Function17e691
+	pop af
+	dec a
+	jr nz, .asm_17d508
+
+.asm_17d539
+	ld a, [hli]
+.asm_17d53a
+	push af
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	push hl
+	pop de
+	ld hl, TileMap
+	add hl, bc
+	call PlaceString
+	push de
+	pop hl
+	inc hl
+	pop af
+	dec a
+	jr nz, .asm_17d53a
+	ld de, CreditsTimer
+	ld bc, $000c
+	call CopyBytes
+	xor a
+	ld [wcd2e], a
+	ld [wcd2f], a
+	inc a
+	ld [wcd30], a
+	ld [wcd31], a
+	ld de, wcd32
+	ld bc, $0010
+	call CopyBytes
+	ld a, [hli]
+	ld [wcd42], a
+	ld a, [hli]
+	ld [wcd43], a
+	ld a, [hli]
+	ld [wcd44], a
+	ld a, [hli]
+	ld [wcd45], a
+	ld a, [hli]
+	ld [wcd46], a
+	ld a, [hli]
+	and a
+	jr z, .asm_17d58a
+	call Function17d6a1
+
+.asm_17d58a
+	ld a, l
+	ld [wcd49], a
+	ld a, h
+	ld [wcd4a], a
+	ld a, [wcd42]
+	ld c, a
+	ld b, $0
+	add hl, bc
+	add hl, bc
+	ld a, l
+	ld [wcd4b], a
+	ld a, h
+	ld [wcd4c], a
+	add hl, bc
+	add hl, bc
+	ld a, l
+	ld [wcd4d], a
+	ld a, h
+	ld [wcd4e], a
+	call Function17e451
+	call Function17e55b
+	call Function17e5af
+	callba Function104061
+	jp Function17e438
+; 17d5be
+
+Function17d5be: ; 17d5be
+	call Function32f9
+	call Function17e438
+
+Function17d5c4:
+	ld a, [hJoyPressed]
+	and a
+	ret z
+	ld c, $0
+	ld b, c
+	ld hl, wcd32
+.asm_17d5ce
+	srl a
+	jr c, .asm_17d5d6
+	inc c
+	inc c
+	jr .asm_17d5ce
+
+.asm_17d5d6
+	add hl, bc
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	and c
+	cp $ff
+	ret z
+	ld a, [BGMapBuffer]
+	ld l, a
+	ld a, [wcd21]
+	ld h, a
+	add hl, bc
+	ld a, l
+	ld [wcd78], a
+	ld a, h
+	ld [wcd79], a
+	ld a, $3
+	ld [wcd77], a
+	ret
+; 17d5f6
+
+Function17d5f6: ; 17d5f6
+	ld a, $5
+	ld [rSVBK], a
+	ld hl, $c608
+	ld de, Unkn1Pals
+	ld bc, $0040
+	call CopyBytes
+	ld a, $4
+	ld [rSVBK], a
+	ret
+; 17d60b
+
+Function17d60b: ; 17d60b
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $b1d3
+	ld de, $c608
+	ld bc, $0020
+	call CopyBytes
+	ld a, [$b1b1]
+	ld c, a
+	ld a, [$b1b2]
+	ld b, a
+	ld a, [$b1b3]
+	ld l, a
+	ld a, [$b1b4]
+	ld h, a
+	call CloseSRAM
+	ld a, $6
+	call GetSRAMBank
+	ld de, wc708
+	ld a, c
+	and a
+	jr z, .asm_17d684
+.asm_17d63b
+	push bc
+	ld a, l
+	ld [de], a
+	inc de
+	ld a, h
+	ld [de], a
+	inc de
+	ld bc, $000a
+	add hl, bc
+	pop bc
+	ld a, [hli]
+	ld [wcd4a], a
+	ld a, [hli]
+	ld [wcd49], a
+	push hl
+	push de
+	ld hl, $c608
+	ld e, b
+	ld d, $0
+	add hl, de
+	ld a, [hli]
+	ld [wcd4b], a
+	ld a, [hl]
+	ld [wcd4c], a
+	pop de
+	pop hl
+	inc b
+	inc b
+	dec c
+	dec c
+	jr z, .asm_17d684
+	push bc
+	push de
+	ld a, [wcd49]
+	ld c, a
+	ld a, [wcd4a]
+	ld b, a
+	ld a, [wcd4b]
+	ld e, a
+	ld a, [wcd4c]
+	ld d, a
+.asm_17d67a
+	add hl, de
+	dec bc
+	ld a, c
+	or b
+	jr nz, .asm_17d67a
+	pop de
+	pop bc
+	jr .asm_17d63b
+
+.asm_17d684
+	call CloseSRAM
+	ld a, $5
+	call GetSRAMBank
+	ld hl, wc708
+	ld de, $b1b3
+	ld a, [$b1b1]
+	ld c, a
+	ld a, [$b1b2]
+	ld b, a
+	call CopyBytes
+	call CloseSRAM
+	ret
+; 17d6a1
+
+
+Function17d6a1: ; 17d6a1
+	push hl
+	ld a, [wcd6e]
+	ld c, a
+	ld b, $0
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $b1d3
+	add hl, bc
+	add hl, bc
+	ld a, [hli]
+	ld [wcd47], a
+	ld a, [hl]
+	ld [BGMapPalBuffer], a
+	ld hl, $b1b3
+	add hl, bc
+	add hl, bc
+	ld a, [hli]
+	ld c, a
+	ld a, [hl]
+	ld h, a
+	ld l, c
+	call CloseSRAM
+	ld a, $6
+	call GetSRAMBank
+	ld a, l
+	ld [wcd5e], a
+	ld a, h
+	ld [wcd5f], a
+	ld de, wcd60
+	ld bc, $0004
+	call CopyBytes
+	inc hl
+	inc hl
+	ld de, wcd64
+	ld bc, $0004
+	call CopyBytes
+	ld a, [hli]
+	ld [wcd69], a
+	ld a, [hli]
+	ld [wcd68], a
+	ld a, l
+	ld [wcd6a], a
+	ld a, h
+	ld [wcd6b], a
+	call CloseSRAM
+	pop hl
+	ret
+; 17d6fd
+
+Function17d6fd: ; 17d6fd
+	ld a, [wcd77]
+	bit 7, a
+	jr nz, asm_17d721
+	ld a, [wcd78]
+	ld l, a
+	ld a, [wcd79]
+	ld h, a
+	ld a, [hl]
+	cp $ff
+	jr z, asm_17d721
+
+Function17d711:
+.asm_17d711
+	cp $31
+	jr nc, .asm_17d711
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_17d72a
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+
+asm_17d721
+	call Function17e5af
+	ld a, $2
+	ld [wcd77], a
+	ret
+; 17d72a
+
+Jumptable_17d72a: ; 17d72a
+	dw Function17d78c
+	dw Function17d78d
+	dw Function17d7b4
+	dw Function17d7c2
+	dw Function17d7d3
+	dw Function17d7e5
+	dw Function17d818
+	dw Function17d833
+	dw Function17d85d
+	dw Function17d902
+	dw Function17d93a
+	dw Function17d98b
+	dw Function17d9e3
+	dw Function17da31
+	dw Function17da9c
+	dw Function17dadc
+	dw Function17db2d
+	dw Function17db56
+	dw Function17db77
+	dw Function17dbe9
+	dw Function17dc1f
+	dw Function17dc9f
+	dw Function17dca9
+	dw Function17dccf
+	dw Function17dd13
+	dw Function17dd30
+	dw Function17dd49
+	dw Function17ddcd
+	dw Function17de32
+	dw Function17de91
+	dw Function17ded9
+	dw Function17e0fd
+	dw Function17e133
+	dw Function17e165
+	dw Function17e1a1
+	dw Function17e254
+	dw Function17e261
+	dw Function17e270
+	dw Function17e27f
+	dw Function17e293
+	dw Function17e2a7
+	dw Function17e367
+	dw Function17e37e
+	dw Function17e395
+	dw Function17e3ac
+	dw Function17e3c3
+	dw Function17e3e0
+	dw Function17e3f0
+	dw Function17e409
+; 17d78c
+
+Function17d78c: ; 17d78c
+	ret
+; 17d78d
+
+Function17d78d: ; 17d78d
+	call Function17e415
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	call Function17e41e
+	ld a, $6
+	call GetSRAMBank
+	ld hl, $a006
+	add hl, bc
+	ld de, Unkn1Pals
+	ld bc, $1000
+	call CopyBytes
+	call CloseSRAM
+	xor a
+	ld [wcd77], a
+	call WhiteBGMap
+	ret
+; 17d7b4
+
+Function17d7b4: ; 17d7b4
+	call Function17e415
+	ld a, [hli]
+	ld e, a
+	ld d, $0
+	call PlayMusic2
+	call Function17e41e
+	ret
+; 17d7c2
+
+Function17d7c2: ; 17d7c2
+	call Function17e415
+	ld a, [hli]
+	ld e, a
+	ld d, $0
+	call PlaySFX
+	call WaitSFX
+	call Function17e41e
+	ret
+; 17d7d3
+
+Function17d7d3: ; 17d7d3
+	call Function17e415
+	ld a, [hli]
+	dec a
+	ld e, a
+	ld d, $0
+	call PlayCryHeader
+	call WaitSFX
+	call Function17e41e
+	ret
+; 17d7e5
+
+Function17d7e5: ; 17d7e5
+	call Function17e415
+	ld a, [hli]
+	ld [wcd4f], a
+	ld a, [hli]
+	ld [wcd50], a
+	ld a, [hli]
+	ld [wcd51], a
+	ld a, [hli]
+	ld [wcd52], a
+	ld a, [hli]
+	sla a
+	sla a
+	sla a
+	add $98
+	ld [wcd53], a
+	ld de, wcd4f
+	call Function17e613
+	ld a, [hli]
+	ld [wcd53], a
+	ld de, wcd4f
+	call Function17e691
+	call Function17e41e
+	ret
+; 17d818
+
+Function17d818: ; 17d818
+	call Function17e415
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	call Function17e41e
+	call Function17e447
+	ld e, l
+	ld d, h
+	ld hl, TileMap
+	add hl, bc
+	call PlaceString
+	ret
+; 17d833
+
+Function17d833: ; 17d833
+	call Function17e415
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	call Function17e41e
+	push de
+	push bc
+	call Function17e32b
+	pop bc
+	pop de
+	call Function17e43d
+	ld c, l
+	ld b, h
+	ld hl, TileMap
+	add hl, de
+	ld e, l
+	ld d, h
+	callba Function11c08f
+	call Function17e349
+	ret
+; 17d85d
+
+Function17d85d: ; 17d85d
+	call Function17e415
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	push hl
+	ld hl, Unkn1Pals
+	add hl, de
+	ld de, wcc60
+.asm_17d86c
+	ld a, [hli]
+	ld [de], a
+	inc de
+	and a
+	jr nz, .asm_17d86c
+	pop hl
+	ld de, $c608
+	ld c, $0
+.asm_17d878
+	ld a, [hli]
+	cp $ff
+	jr z, .asm_17d8c7
+	ld [wcd4f], a
+	ld a, [hli]
+	ld [wcd50], a
+	ld a, [hli]
+	ld [wcd51], a
+	ld a, [hli]
+	ld [wcd52], a
+	ld a, [wcd51]
+	push af
+	cp $c0
+	jr c, .asm_17d89b
+	ld a, [wcd4f]
+	ld [rSVBK], a
+	jr .asm_17d8a1
+
+.asm_17d89b
+	ld a, [wcd4f]
+	call GetSRAMBank
+
+.asm_17d8a1
+	push hl
+	ld a, [wcd50]
+	ld l, a
+	ld a, [wcd51]
+	ld h, a
+	ld a, [wcd52]
+.asm_17d8ad
+	push af
+	ld a, [hli]
+	ld [de], a
+	inc de
+	inc c
+	pop af
+	dec a
+	jr nz, .asm_17d8ad
+	pop hl
+	pop af
+	cp $c0
+	jr c, .asm_17d8c2
+	ld a, $4
+	ld [rSVBK], a
+	jr .asm_17d878
+
+.asm_17d8c2
+	call CloseSRAM
+	jr .asm_17d878
+
+.asm_17d8c7
+	call Function17e41e
+	push bc
+	ld a, $3
+	ld [rSVBK], a
+	ld hl, $c608
+	ld de, Unkn1Pals
+	ld b, $0
+	call CopyBytes
+	ld a, $4
+	ld [rSVBK], a
+	call Function17e32b
+	pop bc
+	ld a, c
+	ld [wcd3b], a
+	xor a
+	ld [wcf66], a
+	callba Function118329
+	ld a, [wc300]
+	and a
+	jr z, .asm_17d8fe
+	cp $a
+	jr z, .asm_17d8fe
+	call Function17e309
+	ret
+
+.asm_17d8fe
+	call Function17e349
+	ret
+; 17d902
+
+Function17d902: ; 17d902
+	call Function17e415
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	push de
+	call Function17e41e
+	call Function17e32b
+	pop de
+	ld hl, Unkn1Pals
+	add hl, de
+	ld de, wcc60
+.asm_17d918
+	ld a, [hli]
+	ld [de], a
+	inc de
+	and a
+	jr nz, .asm_17d918
+	xor a
+	ld [wcf66], a
+	callba Function11837a
+	ld a, [wc300]
+	and a
+	jr z, .asm_17d936
+	cp $a
+	jr z, .asm_17d936
+	call Function17e309
+	ret
+
+.asm_17d936
+	call Function17e349
+	ret
+; 17d93a
+
+Function17d93a: ; 17d93a
+	call Function17e415
+	ld de, wc708
+	ld bc, $0005
+	call CopyBytes
+	call Function17e41e
+	call Function17e32b
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	ld a, [wc70c]
+	call Function17e6de
+	ld a, [wc70a]
+	ld [CurPartySpecies], a
+	ld a, [wc70c]
+	ld e, a
+	callba Function8bc6
+	call Function32f9
+	ld a, [wc708]
+	ld l, a
+	ld a, [wc709]
+	ld h, a
+	ld a, [wc70b]
+	ld c, a
+	ld de, TileMap
+	add hl, de
+	ld e, l
+	ld d, h
+	callba Functiond066e
+	pop af
+	ld [rSVBK], a
+	call Function17e349
+	ret
+; 17d98b
+
+Function17d98b: ; 17d98b
+	call Function17e415
+	ld de, wc708
+	ld bc, $0004
+	call CopyBytes
+	call Function17e41e
+	call Function17e32b
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	ld a, [wc70b]
+	call Function17e6de
+	ld a, [wc70a]
+	ld [TrainerClass], a
+	ld a, [wc70b]
+	ld e, a
+	callba Function8bbd
+	call Function32f9
+	ld a, [wc708]
+	ld e, a
+	ld a, [wc709]
+	ld d, a
+	push de
+	ld de, VTiles2
+	callba GetTrainerPic
+	pop hl
+	ld de, TileMap
+	add hl, de
+	ld bc, $0707
+	predef FillBox
+	pop af
+	ld [rSVBK], a
+	call Function17e349
+	ret
+; 17d9e3
+
+Function17d9e3: ; 17d9e3
+	call Function17e415
+	ld de, wc708
+	ld bc, $0007
+	call CopyBytes
+	call Function17e41e
+	ld a, [wc70b]
+	push af
+	cp $c0
+	jr c, .asm_17da01
+	ld a, [wc70c]
+	ld [rSVBK], a
+	jr .asm_17da07
+
+.asm_17da01
+	ld a, [wc70c]
+	call GetSRAMBank
+
+.asm_17da07
+	ld a, [wc708]
+	ld l, a
+	ld a, [wc709]
+	ld h, a
+	ld a, [wc70a]
+	ld e, a
+	ld a, [wc70b]
+	ld d, a
+	ld a, [wc70d]
+	ld c, a
+	ld a, [wc70e]
+	ld b, a
+	call CopyBytes
+	pop af
+	cp $c0
+	jr c, .asm_17da2d
+	ld a, $4
+	ld [rSVBK], a
+	jr .asm_17da30
+
+.asm_17da2d
+	call CloseSRAM
+
+.asm_17da30
+	ret
+; 17da31
+
+Function17da31: ; 17da31
+	call Function17e415
+	ld de, wc708
+	ld bc, $0004
+	call CopyBytes
+	call Function17e41e
+	ld a, [wc709]
+	push af
+	cp $c0
+	jr c, .asm_17da4f
+	ld a, [wc70a]
+	ld [rSVBK], a
+	jr .asm_17da55
+
+.asm_17da4f
+	ld a, [wc70a]
+	call GetSRAMBank
+
+.asm_17da55
+	ld a, [wc708]
+	ld e, a
+	ld a, [wc709]
+	ld d, a
+	ld a, [wc70b]
+	ld c, a
+	bit 7, c
+	jr nz, .asm_17da70
+	ld hl, Unknown_17da8c
+	ld b, $0
+	add hl, bc
+	ld a, [de]
+	or [hl]
+	ld [de], a
+	jr .asm_17da7d
+
+.asm_17da70
+	ld hl, Unknown_17da94
+	ld a, c
+	and $7f
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [de]
+	and [hl]
+	ld [de], a
+
+.asm_17da7d
+	pop af
+	cp $c0
+	jr c, .asm_17da88
+	ld a, $4
+	ld [rSVBK], a
+	jr .asm_17da8b
+
+.asm_17da88
+	call CloseSRAM
+
+.asm_17da8b
+	ret
+; 17da8c
+
+Unknown_17da8c:
+x = 0
+	rept 8
+	db 1 << x
+x = x + 1
+	endr
+
+Unknown_17da94:
+x = 0
+	rept 8
+	db (1 << x) ^ $ff
+x = x + 1
+	endr
+; 17da9c
+
+Function17da9c: ; 17da9c
+	ld a, [wcd31]
+	dec a
+	jr z, .asm_17dabd
+	push af
+	call Function17e566
+	pop af
+	ld [wcd31], a
+	ld hl, wcd24
+	ld a, [wcd2e]
+	sub [hl]
+	ld [wcd2e], a
+	call Function17e55b
+	call Function17e5af
+.asm_17daba
+	jp Function17e415
+
+.asm_17dabd
+	ld a, [wcd2f]
+	and a
+	jr z, .asm_17daba
+	ld hl, wcd24
+	sub [hl]
+	ld [wcd2f], a
+	ld a, [wcd2e]
+	sub [hl]
+	ld [wcd2e], a
+	call Function17e451
+	call Function17e55b
+	call Function17e5af
+	jr .asm_17daba
+; 17dadc
+
+Function17dadc: ; 17dadc
+	ld a, [wcd2e]
+	ld hl, wcd24
+	add [hl]
+	ld hl, wcd42
+	cp [hl]
+	jr z, .asm_17db0e
+	jr nc, .asm_17db0e
+	ld hl, wcd31
+	ld a, [wcd2b]
+	cp [hl]
+	jr z, .asm_17db11
+	call Function17e566
+	ld a, [wcd31]
+	inc a
+	ld [wcd31], a
+	ld hl, wcd24
+	ld a, [wcd2e]
+	add [hl]
+	ld [wcd2e], a
+	call Function17e55b
+	call Function17e5af
+
+.asm_17db0e
+	jp Function17e415
+
+.asm_17db11
+	ld hl, wcd24
+	ld a, [wcd2f]
+	add [hl]
+	ld [wcd2f], a
+	ld a, [wcd2e]
+	add [hl]
+	ld [wcd2e], a
+	call Function17e451
+	call Function17e55b
+	call Function17e5af
+	jr .asm_17db0e
+; 17db2d
+
+Function17db2d: ; 17db2d
+	ld a, [wcd30]
+	ld hl, wcd24
+	cp [hl]
+	jr z, .asm_17db53
+	ld hl, wcd42
+	ld a, [wcd2e]
+	inc a
+	cp [hl]
+	jr z, .asm_17db53
+	ld [wcd2e], a
+	call Function17e566
+	ld a, [wcd30]
+	inc a
+	ld [wcd30], a
+	call Function17e55b
+	call Function17e5af
+
+.asm_17db53
+	jp Function17e415
+; 17db56
+
+Function17db56: ; 17db56
+	ld a, [wcd30]
+	cp $1
+	jr z, .asm_17db74
+	call Function17e566
+	ld a, [wcd30]
+	dec a
+	ld [wcd30], a
+	ld a, [wcd2e]
+	dec a
+	ld [wcd2e], a
+	call Function17e55b
+	call Function17e5af
+
+.asm_17db74
+	jp Function17e415
+; 17db77
+
+Function17db77: ; 17db77
+	ld hl, wcd2d
+	ld a, [wcd2f]
+	add [hl]
+	ld hl, wcd42
+	cp [hl]
+	jr z, .asm_17dbae
+	jr nc, .asm_17dbae
+	call Function17e566
+	ld hl, wcd2d
+	ld a, [wcd2f]
+	add [hl]
+	ld [wcd2f], a
+	ld a, [wcd2e]
+	add [hl]
+	ld hl, wcd42
+	cp [hl]
+	jr c, .asm_17db9f
+	ld a, [hl]
+	dec a
+
+.asm_17db9f
+	ld [wcd2e], a
+	call Function17dbb1
+	call Function17e451
+	call Function17e55b
+	call Function17e5af
+
+.asm_17dbae
+	jp Function17e415
+; 17dbb1
+
+Function17dbb1: ; 17dbb1
+	ld hl, wcd2f
+	ld a, [wcd42]
+	sub [hl]
+	ld hl, wcd2d
+	cp [hl]
+	ret nc
+	ld a, $1
+	ld [wcd30], a
+	ld [wcd31], a
+	ld a, [wcd24]
+	ld c, a
+	ld a, [wcd24]
+	ld b, a
+	ld a, [wcd2e]
+	ld hl, wcd2f
+	sub [hl]
+.asm_17dbd4
+	and a
+	ret z
+	push af
+	ld hl, wcd30
+	ld a, b
+	cp [hl]
+	jr nz, .asm_17dbe4
+	ld a, $1
+	ld [hl], a
+	ld hl, wcd31
+
+.asm_17dbe4
+	inc [hl]
+	pop af
+	dec a
+	jr .asm_17dbd4
+; 17dbe9
+
+Function17dbe9: ; 17dbe9
+	ld hl, wcd2d
+	ld a, [wcd2f]
+	sub [hl]
+	bit 7, a
+	jr z, .asm_17dbf5
+	xor a
+
+.asm_17dbf5
+	ld [wcd2f], a
+	ld a, [wcd30]
+	dec a
+	ld c, a
+	ld a, [wcd31]
+	ld b, a
+	xor a
+	ld hl, wcd24
+.asm_17dc05
+	dec b
+	jr z, .asm_17dc0b
+	add [hl]
+	jr .asm_17dc05
+
+.asm_17dc0b
+	add c
+	ld hl, wcd2f
+	add [hl]
+	ld [wcd2e], a
+	call Function17e451
+	call Function17e55b
+	call Function17e5af
+	jp Function17e415
+; 17dc1f
+
+Function17dc1f: ; 17dc1f
+	call Function17e415
+	ld de, $c688
+	ld bc, $0006
+	call CopyBytes
+	call Function17e32b
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	ld hl, $c688
+	ld a, $40
+	ld [wc708], a
+	ld a, [hli]
+	ld [wc70a], a
+	add $5
+	ld [wc70c], a
+	ld a, [hli]
+	ld [wc709], a
+	add $4
+	ld [wc70b], a
+	ld a, $96
+	ld [wc70d], a
+	ld a, $5c
+	ld [wc70e], a
+	ld a, $1
+	ld [wc70f], a
+	ld hl, wc708
+	call LoadMenuDataHeader
+	call Function1d81
+	jr nc, .asm_17dc6e
+	ld a, $2
+	ld [wcfa9], a
+
+.asm_17dc6e
+	call Function1c17
+	pop af
+	ld [rSVBK], a
+	ld a, [wcfa9]
+	cp $1
+	jr nz, .asm_17dc85
+	ld a, [$c68a]
+	ld l, a
+	ld a, [$c68a + 1]
+	ld h, a
+	jr .asm_17dc8d
+
+.asm_17dc85
+	ld a, [$c68a + 2]
+	ld l, a
+	ld a, [$c68a + 3]
+	ld h, a
+
+.asm_17dc8d
+	push hl
+	call Function17e349
+	pop hl
+	call Function17e40f
+	ret
+; 17dc96
+
+MenuData2_17dc96:
+	db $e0 ; flags
+	db 2
+	db "はい@"
+	db "いいえ@"
+; 17dc9f
+
+Function17dc9f: ; 17dc9f
+	call Function17e415
+	call Function17e41e
+	call Function4dd
+	ret
+; 17dca9
+
+Function17dca9: ; 17dca9
+	call Function17e415
+	call Function17e41e
+
+Function17dcaf:
+	ld a, $5
+	ld [rSVBK], a
+	ld hl, Unkn1Pals
+	ld de, $0008
+	ld c, $8
+.asm_17dcbb
+	push hl
+	ld a, $ff
+	ld [hli], a
+	ld a, $7f
+	ld [hl], a
+	pop hl
+	add hl, de
+	dec c
+	jr nz, .asm_17dcbb
+	call Function4b6
+	ld a, $4
+	ld [rSVBK], a
+	ret
+; 17dccf
+
+Function17dccf: ; 17dccf
+	call Function17e415
+	push hl
+	ld a, [wcd4b]
+	ld l, a
+	ld a, [wcd4c]
+	ld h, a
+	ld a, [wcd2e]
+	ld c, a
+	ld b, $0
+	add hl, bc
+	add hl, bc
+	ld a, [hli]
+	ld c, a
+	ld a, [hl]
+	ld b, a
+	call Function17e43d
+	call Function17e41e
+.asm_17dced
+	ld a, [wcd78]
+	ld l, a
+	ld a, [wcd79]
+	ld h, a
+	ld a, [hl]
+	cp $ff
+	jr z, .asm_17dd0d
+.asm_17dcfa
+	cp $31
+	jr nc, .asm_17dcfa
+	call Function17d711
+	ld a, [wcd77]
+	bit 7, a
+	jr nz, .asm_17dd0d
+	and a
+	jr z, .asm_17dd11
+	jr .asm_17dced
+
+.asm_17dd0d
+	pop hl
+	jp Function17e41e
+
+.asm_17dd11
+	pop hl
+	ret
+; 17dd13
+
+Function17dd13: ; 17dd13
+	call Function17e415
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	call Function17e41e
+	call Function17e447
+	push hl
+	ld hl, TileMap
+	add hl, bc
+	push hl
+	pop bc
+	pop hl
+	call Function13e5
+	ret
+; 17dd30
+
+Function17dd30: ; 17dd30
+	call Function17e415
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld c, a
+	ld b, $0
+	ld a, [hli]
+	push af
+	call Function17e41e
+	pop af
+	ld hl, TileMap
+	add hl, de
+	call Function17e600
+	ret
+; 17dd49
+
+Function17dd49: ; 17dd49
+	call Function17e415
+	ld de, wc708
+	ld bc, $000a
+	call CopyBytes
+	ld a, [wc711]
+	ld c, a
+	ld b, $0
+	call CopyBytes
+	ld a, [wc70a]
+	cp $c0
+	jr c, .asm_17dd6c
+	ld a, [wc708]
+	ld [rSVBK], a
+	jr .asm_17dd72
+
+.asm_17dd6c
+	ld a, [wc708]
+	call GetSRAMBank
+
+.asm_17dd72
+	ld a, [wc709]
+	ld l, a
+	ld a, [wc70a]
+	ld h, a
+	ld de, $c688
+	ld a, [wc711]
+	ld c, a
+	ld b, $0
+	call CopyBytes
+	ld a, [wc70a]
+	cp $c0
+	jr c, .asm_17dd93
+	ld a, $4
+	ld [rSVBK], a
+	jr .asm_17dd96
+
+.asm_17dd93
+	call CloseSRAM
+
+.asm_17dd96
+	ld a, [wc711]
+	ld c, a
+	ld hl, wc712
+	ld de, $c688
+.asm_17dda0
+	ld a, [de]
+	inc de
+	cp [hl]
+	inc hl
+	jr z, .asm_17ddaa
+	jr c, .asm_17ddc1
+	jr .asm_17ddb7
+
+.asm_17ddaa
+	dec c
+	jr nz, .asm_17dda0
+	ld a, [wc70d]
+	ld l, a
+	ld a, [wc70e]
+	ld h, a
+	jr .asm_17ddc9
+
+.asm_17ddb7
+	ld a, [wc70f]
+	ld l, a
+	ld a, [wc710]
+	ld h, a
+	jr .asm_17ddc9
+
+.asm_17ddc1
+	ld a, [wc70b]
+	ld l, a
+	ld a, [wc70c]
+	ld h, a
+
+.asm_17ddc9
+	call Function17e40f
+	ret
+; 17ddcd
+
+Function17ddcd: ; 17ddcd
+	call Function17e415
+	ld de, wc708
+	ld bc, $0008
+	call CopyBytes
+	ld a, [wc70a]
+	cp $c0
+	jr c, .asm_17dde7
+	ld a, [wc708]
+	ld [rSVBK], a
+	jr .asm_17dded
+
+.asm_17dde7
+	ld a, [wc708]
+	call GetSRAMBank
+
+.asm_17dded
+	ld a, [wc709]
+	ld e, a
+	ld a, [wc70a]
+	ld d, a
+	ld a, [de]
+	ld [wc710], a
+	ld a, [wc70b]
+	ld c, a
+	ld b, $0
+	ld a, [wc70a]
+	cp $c0
+	jr c, .asm_17de0c
+	ld a, $4
+	ld [rSVBK], a
+	jr .asm_17de0f
+
+.asm_17de0c
+	call CloseSRAM
+
+.asm_17de0f
+	push hl
+	ld hl, Unknown_17da8c
+	add hl, bc
+	ld a, [hl]
+	ld hl, wc710
+	and [hl]
+	pop hl
+	jr nz, .asm_17de26
+	ld a, [wc70e]
+	ld l, a
+	ld a, [wc70f]
+	ld h, a
+	jr .asm_17de2e
+
+.asm_17de26
+	ld a, [wc70c]
+	ld l, a
+	ld a, [wc70d]
+	ld h, a
+
+.asm_17de2e
+	call Function17e40f
+	ret
+; 17de32
+
+Function17de32: ; 17de32
+	call Function17e415
+	ld de, wc708
+	ld bc, $0009
+	call CopyBytes
+	ld a, [wc710]
+	ld c, a
+	ld b, $0
+	call CopyBytes
+	ld a, $6
+	call GetSRAMBank
+	call Function17f4f6
+	ld a, [wc708]
+	ld e, a
+	ld a, [wc709]
+	ld d, a
+	add hl, de
+	ld e, l
+	ld d, h
+	ld a, [wc710]
+	ld c, a
+	ld hl, wc711
+.asm_17de61
+	ld a, [de]
+	inc de
+	cp [hl]
+	inc hl
+	jr z, .asm_17de6b
+	jr c, .asm_17de82
+	jr .asm_17de78
+
+.asm_17de6b
+	dec c
+	jr nz, .asm_17de61
+	ld a, [wc70c]
+	ld l, a
+	ld a, [wc70d]
+	ld h, a
+	jr .asm_17de8a
+
+.asm_17de78
+	ld a, [wc70e]
+	ld l, a
+	ld a, [wc70f]
+	ld h, a
+	jr .asm_17de8a
+
+.asm_17de82
+	ld a, [wc70a]
+	ld l, a
+	ld a, [wc70b]
+	ld h, a
+
+.asm_17de8a
+	call CloseSRAM
+	call Function17e40f
+	ret
+; 17de91
+
+Function17de91: ; 17de91
+	call Function17e415
+	ld de, wc708
+	ld bc, $0007
+	call CopyBytes
+	ld a, $6
+	call GetSRAMBank
+	call Function17f4f6
+	ld a, [wc708]
+	ld e, a
+	ld a, [wc709]
+	ld d, a
+	add hl, de
+	ld e, l
+	ld d, h
+	ld a, [wc70a]
+	ld c, a
+	ld b, $0
+	ld hl, Unknown_17da8c
+	add hl, bc
+	ld a, [hl]
+	ld l, e
+	ld h, d
+	and [hl]
+	jr nz, .asm_17deca
+	ld a, [wc70d]
+	ld l, a
+	ld a, [wc70e]
+	ld h, a
+	jr .asm_17ded2
+
+.asm_17deca
+	ld a, [wc70b]
+	ld l, a
+	ld a, [wc70c]
+	ld h, a
+
+.asm_17ded2
+	call CloseSRAM
+	call Function17e40f
+	ret
+; 17ded9
+
+Function17ded9: ; 17ded9
+	call Function17e415
+	ld de, wc708
+	ld bc, $001f
+	call CopyBytes
+	call Function17e32b
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	ld hl, wc708
+	ld a, [hli]
+	ld [CurPartySpecies], a
+	ld [TempEnemyMonSpecies], a
+	ld a, [hli]
+	ld [CurPartyLevel], a
+	ld a, [hli]
+	ld b, a
+	ld a, [PartyCount]
+	cp $6
+	jp nc, Function17e026
+	xor a
+	ld [MonType], a
+	push hl
+	push bc
+	predef Functiond88c
+	callba Function4db49
+	pop bc
+	pop hl
+	bit 1, b
+	jr z, .asm_17df33
+	push bc
+	push hl
+	ld a, [PartyCount]
+	dec a
+	ld hl, PartyMonNicknames
+	call SkipNames
+	ld d, h
+	ld e, l
+	pop hl
+	call CopyBytes
+	pop bc
+	jr .asm_17df37
+
+.asm_17df33
+	ld de, $0006
+	add hl, de
+
+.asm_17df37
+	bit 2, b
+	jr z, .asm_17df5a
+	push bc
+	push hl
+	ld a, [PartyCount]
+	dec a
+	ld hl, PartyMonOT
+	call SkipNames
+	ld d, h
+	ld e, l
+	pop hl
+	call CopyBytes
+	ld a, [hli]
+	ld b, a
+	push hl
+	callba Function4dba3
+	pop hl
+	pop bc
+	jr .asm_17df5e
+
+.asm_17df5a
+	ld de, $0007
+	add hl, de
+
+.asm_17df5e
+	bit 3, b
+	jr z, .asm_17df79
+	push bc
+	push hl
+	ld a, [PartyCount]
+	dec a
+	ld hl, PartyMon1ID
+	call GetPartyLocation
+	ld d, h
+	ld e, l
+	pop hl
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	pop bc
+	jr .asm_17df7b
+
+.asm_17df79
+	inc hl
+	inc hl
+
+.asm_17df7b
+	bit 4, b
+	jr z, .asm_17dfd0
+	push bc
+	push hl
+	ld a, [PartyCount]
+	dec a
+	ld hl, PartyMon1DVs
+	call GetPartyLocation
+	ld d, h
+	ld e, l
+	pop hl
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	push hl
+	ld a, [PartyCount]
+	dec a
+	ld hl, PartyMon1Species
+	call GetPartyLocation
+	ld a, [hl]
+	ld [CurSpecies], a
+	call GetBaseData
+	ld a, [PartyCount]
+	dec a
+	ld hl, PartyMon1MaxHP
+	call GetPartyLocation
+	ld d, h
+	ld e, l
+	push hl
+	ld b, $0
+	callba Functione167
+	ld a, [PartyCount]
+	dec a
+	ld hl, PartyMon1HP
+	call GetPartyLocation
+	ld d, h
+	ld e, l
+	pop hl
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hl]
+	ld [de], a
+	pop hl
+	pop bc
+	jr .asm_17dfd2
+
+.asm_17dfd0
+	inc hl
+	inc hl
+
+.asm_17dfd2
+	bit 5, b
+	jr z, .asm_17dfea
+	push bc
+	push hl
+	ld a, [PartyCount]
+	dec a
+	ld hl, PartyMon1Item
+	call GetPartyLocation
+	ld d, h
+	ld e, l
+	pop hl
+	ld a, [hli]
+	ld [de], a
+	pop bc
+	jr .asm_17dfeb
+
+.asm_17dfea
+	inc hl
+
+.asm_17dfeb
+	bit 6, b
+	jr z, .asm_17e01f
+	push bc
+	push hl
+	ld a, [PartyCount]
+	dec a
+	ld hl, PartyMon1Moves
+	call GetPartyLocation
+	ld d, h
+	ld e, l
+	pop hl
+	push de
+	ld bc, $0004
+	call CopyBytes
+	pop de
+	push hl
+	push de
+	ld a, [PartyCount]
+	dec a
+	ld hl, PartyMon1PP
+	call GetPartyLocation
+	ld d, h
+	ld e, l
+	pop hl
+	predef FillPP
+	pop hl
+	pop bc
+	jp asm_17e0ee
+
+.asm_17e01f
+	ld de, $0004
+	add hl, de
+	jp asm_17e0ee
+; 17e026
+
+Function17e026: ; 17e026
+	ld a, $1
+	call GetSRAMBank
+	ld a, [sBoxCount]
+	call CloseSRAM
+	cp $14
+	jp nc, .asm_17e0ea
+	bit 0, b
+	jp z, .asm_17e0ea
+	push bc
+	push hl
+	callba LoadEnemyMon
+	callba Functionde6e
+	callba Function4db83
+	pop hl
+	pop bc
+	ld a, $1
+	call GetSRAMBank
+	bit 1, b
+	jr z, .asm_17e067
+	push bc
+	ld bc, $000b
+	ld de, sBoxMonNicknames
+	call CopyBytes
+	pop bc
+	jr .asm_17e06b
+
+.asm_17e067
+	ld de, $0006
+	add hl, de
+
+.asm_17e06b
+	bit 2, b
+	jr z, .asm_17e08e
+	push bc
+	ld bc, $0006
+	ld de, sBoxMonOT
+	call CopyBytes
+	ld a, [hli]
+	ld b, a
+	push hl
+	call CloseSRAM
+	callba Function4db92
+	ld a, $1
+	call GetSRAMBank
+	pop hl
+	pop bc
+	jr .asm_17e092
+
+.asm_17e08e
+	ld de, $0007
+	add hl, de
+
+.asm_17e092
+	bit 3, b
+	jr z, .asm_17e0a2
+	push bc
+	ld de, sBoxMon1ID
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	pop bc
+	jr .asm_17e0a4
+
+.asm_17e0a2
+	inc hl
+	inc hl
+
+.asm_17e0a4
+	bit 4, b
+	jr z, .asm_17e0b4
+	push bc
+	ld de, sBoxMon1DVs
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	pop bc
+	jr .asm_17e0b6
+
+.asm_17e0b4
+	inc hl
+	inc hl
+
+.asm_17e0b6
+	bit 5, b
+	ld a, [hli]
+	jr z, .asm_17e0be
+	ld [sBoxMon1Item], a
+
+.asm_17e0be
+	bit 6, b
+	jr z, .asm_17e0e1
+	push bc
+	ld de, sBoxMon1Moves
+	ld bc, $0004
+	call CopyBytes
+	push hl
+	ld hl, sBoxMon1Moves
+	ld de, sBoxMon1PP
+	predef FillPP
+	call CloseSRAM
+	pop hl
+	pop bc
+	inc hl
+	inc hl
+	jr asm_17e0ee
+
+.asm_17e0e1
+	call CloseSRAM
+	ld de, $0006
+	add hl, de
+	jr asm_17e0ee
+
+.asm_17e0ea
+	ld bc, $001a
+	add hl, bc
+
+asm_17e0ee
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	pop af
+	ld [rSVBK], a
+	push hl
+	call Function17e349
+	pop hl
+	call Function17e40f
+	ret
+; 17e0fd
+
+Function17e0fd: ; 17e0fd
+	call Function17e415
+	ld de, wc708
+	ld bc, $0006
+	call CopyBytes
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	ld hl, wc708
+	ld a, [hli]
+	ld [CurItem], a
+	ld a, [hli]
+	ld [wd10c], a
+	push hl
+	ld hl, NumItems
+	call ReceiveItem
+	pop hl
+	jr c, .asm_17e127
+	inc hl
+	inc hl
+
+.asm_17e127
+	ld a, [hli]
+	ld b, a
+	ld a, [hl]
+	ld h, a
+	ld l, b
+	pop af
+	ld [rSVBK], a
+	call Function17e40f
+	ret
+; 17e133
+
+Function17e133: ; 17e133
+	call Function17e415
+	ld de, wc708
+	ld bc, $0005
+	call CopyBytes
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	ld hl, wc708
+	ld a, [hli]
+	ld [ScriptVar], a
+	push hl
+	callba Function4a843
+	pop hl
+	jr c, .asm_17e159
+	inc hl
+	inc hl
+
+.asm_17e159
+	ld a, [hli]
+	ld b, a
+	ld a, [hl]
+	ld h, a
+	ld l, b
+	pop af
+	ld [rSVBK], a
+	call Function17e40f
+	ret
+; 17e165
+
+Function17e165: ; 17e165
+	call Function17e415
+	ld de, wc708
+	ld bc, $0005
+	call CopyBytes
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	ld hl, wc708
+	ld a, [hli]
+	ld [CurItem], a
+	push hl
+	ld hl, NumItems
+	call CheckItem
+	pop hl
+	jr c, .asm_17e195
+	push hl
+	ld hl, PCItems
+	call CheckItem
+	pop hl
+	jr c, .asm_17e195
+	inc hl
+	inc hl
+
+.asm_17e195
+	ld a, [hli]
+	ld b, a
+	ld a, [hl]
+	ld h, a
+	ld l, b
+	pop af
+	ld [rSVBK], a
+	call Function17e40f
+	ret
+; 17e1a1
+
+Function17e1a1: ; 17e1a1
+	call Function17e415
+	ld de, wc708
+	ld bc, $000d
+	call CopyBytes
+	ld a, [wc70a]
+	cp $c0
+	jr c, .asm_17e1bb
+	ld a, [wc708]
+	ld [rSVBK], a
+	jr .asm_17e1c1
+
+.asm_17e1bb
+	ld a, [wc708]
+	call GetSRAMBank
+
+.asm_17e1c1
+	ld a, [wc709]
+	ld l, a
+	ld a, [wc70a]
+	ld h, a
+	ld de, $c608
+	ld a, [wc70b]
+	ld c, a
+	ld b, $0
+	call CopyBytes
+	ld a, [wc70a]
+	cp $c0
+	jr c, .asm_17e1e2
+	ld a, $4
+	ld [rSVBK], a
+	jr .asm_17e1e5
+
+.asm_17e1e2
+	call CloseSRAM
+
+.asm_17e1e5
+	ld a, [wc70e]
+	cp $c0
+	jr c, .asm_17e1f3
+	ld a, [wc70c]
+	ld [rSVBK], a
+	jr .asm_17e1f9
+
+.asm_17e1f3
+	ld a, [wc70c]
+	call GetSRAMBank
+
+.asm_17e1f9
+	ld a, [wc70d]
+	ld l, a
+	ld a, [wc70e]
+	ld h, a
+	ld de, $c688
+	ld a, [wc70b]
+	ld c, a
+	ld b, $0
+	call CopyBytes
+	ld a, [wc70e]
+	cp $c0
+	jr c, .asm_17e21a
+	ld a, $4
+	ld [rSVBK], a
+	jr .asm_17e21d
+
+.asm_17e21a
+	call CloseSRAM
+
+.asm_17e21d
+	ld a, [wc70b]
+	ld c, a
+	ld hl, $c688
+	ld de, $c608
+.asm_17e227
+	ld a, [de]
+	inc de
+	cp [hl]
+	inc hl
+	jr z, .asm_17e231
+	jr c, .asm_17e23e
+	jr .asm_17e248
+
+.asm_17e231
+	dec c
+	jr nz, .asm_17e227
+	ld a, [wc711]
+	ld l, a
+	ld a, [wc712]
+	ld h, a
+	jr .asm_17e250
+
+.asm_17e23e
+	ld a, [wc70f]
+	ld l, a
+	ld a, [wc710]
+	ld h, a
+	jr .asm_17e250
+
+.asm_17e248
+	ld a, [wc712 + 1]
+	ld l, a
+	ld a, [wc712 + 2]
+	ld h, a
+
+.asm_17e250
+	call Function17e40f
+	ret
+; 17e254
+
+Function17e254: ; 17e254
+	call Function17e415
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld [de], a
+	call Function17e41e
+	ret
+; 17e261
+
+Function17e261: ; 17e261
+	call Function17e415
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [de]
+	add [hl]
+	ld [de], a
+	inc hl
+	call Function17e41e
+	ret
+; 17e270
+
+Function17e270: ; 17e270
+	call Function17e415
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [de]
+	sub [hl]
+	ld [de], a
+	inc hl
+	call Function17e41e
+	ret
+; 17e27f
+
+Function17e27f: ; 17e27f
+	call Function17e415
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	call Function17e41e
+	ld l, c
+	ld h, b
+	ld a, [de]
+	add [hl]
+	ld [de], a
+	ret
+; 17e293
+
+Function17e293: ; 17e293
+	call Function17e415
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	call Function17e41e
+	ld l, c
+	ld h, b
+	ld a, [de]
+	sub [hl]
+	ld [de], a
+	ret
+; 17e2a7
+
+Function17e2a7: ; 17e2a7
+	call Function17e415
+	call Function17e41e
+	call Function17e32b
+	xor a
+	ld [wcf66], a
+	callba Function118233
+	ld de, GFX_17eb7e
+	ld hl, $9600
+	lb bc, BANK(GFX_17eb7e), 1
+	call Get2bpp
+	ld a, [wc300]
+	and a
+	jr z, .asm_17e2d8
+	cp $a
+	jr z, .asm_17e2f7
+	cp $b
+	jr z, .asm_17e300
+	call Function17e309
+	ret
+
+.asm_17e2d8
+	call Function17d60b
+	call Function17e349
+	xor a
+	ld [wcd7a], a
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $aa73
+	ld de, $aa7f
+	ld bc, $000c
+	call CopyBytes
+	call CloseSRAM
+	ret
+
+.asm_17e2f7
+	call Function17e349
+	ld a, $1
+	ld [wcd7a], a
+	ret
+
+.asm_17e300
+	call Function17e349
+	ld a, $2
+	ld [wcd7a], a
+	ret
+; 17e309
+
+Function17e309: ; 17e309
+	ld a, $2
+	ld [wc303], a
+	call Function17dcaf
+	call ClearScreen
+	call Function17e349
+	call Function17d5f6
+	callba Function17f555
+	call Function17e349
+	call Function17dcaf
+	xor a
+	ld [wcd77], a
+	ret
+; 17e32b
+
+Function17e32b: ; 17e32b
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $c608
+	ld de, $b0b1
+	ld bc, $0040
+	call CopyBytes
+	ld hl, BGMapBuffer
+	ld bc, $005b
+	call CopyBytes
+	call CloseSRAM
+	ret
+; 17e349
+
+Function17e349: ; 17e349
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $b0b1
+	ld de, $c608
+	ld bc, $0040
+	call CopyBytes
+	ld de, BGMapBuffer
+	ld bc, $005b
+	call CopyBytes
+	call CloseSRAM
+	ret
+; 17e367
+
+Function17e367: ; 17e367
+	call Function17e415
+	call Function17e41e
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	callba Function14c10
+	pop af
+	ld [rSVBK], a
+	ret
+; 17e37e
+
+Function17e37e: ; 17e37e
+	call Function17e415
+	call Function17e41e
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	callba Function14a58
+	pop af
+	ld [rSVBK], a
+	ret
+; 17e395
+
+Function17e395: ; 17e395
+	call Function17e415
+	call Function17e41e
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	callba Function14e0c
+	pop af
+	ld [rSVBK], a
+	ret
+; 17e3ac
+
+Function17e3ac: ; 17e3ac
+	call Function17e415
+	call Function17e41e
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	callba Function14e13
+	pop af
+	ld [rSVBK], a
+	ret
+; 17e3c3
+
+Function17e3c3: ; 17e3c3
+	call Function17e415
+	call Function17e41e
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	callba Function106155
+	callba Function106187
+	pop af
+	ld [rSVBK], a
+	ret
+; 17e3e0
+
+Function17e3e0: ; 17e3e0
+	call Function17e415
+	ld a, [hli]
+	ld c, a
+	call Function17e41e
+	ld a, $1
+	ld [hBGMapMode], a
+	call DelayFrames
+	ret
+; 17e3f0
+
+Function17e3f0: ; 17e3f0
+	call Function17e415
+	call Function17e41e
+.asm_17e3f6
+	call Functiona57
+	ld hl, hJoyPressed
+	ld a, [hl]
+	and $1
+	ret nz
+	ld a, [hl]
+	and $2
+	ret nz
+	call WaitBGMap
+	jr .asm_17e3f6
+; 17e409
+
+Function17e409: ; 17e409
+	ld hl, wcd77
+	set 7, [hl]
+	ret
+; 17e40f
+
+Function17e40f: ; 17e40f
+	ld de, Unkn1Pals
+	add hl, de
+	jr Function17e41e
+
+Function17e415:
+	ld a, [wcd78]
+	ld l, a
+	ld a, [wcd79]
+	ld h, a
+	inc hl
+
+Function17e41e:
+	ld a, l
+	ld [wcd78], a
+	ld a, h
+	ld [wcd79], a
+	ret
+; 17e427
+
+Function17e427: ; 17e427
+	ld hl, hJoyPressed
+	ld a, [hl]
+	and $1
+	jr nz, .asm_17e432
+	and $2
+	ret z
+
+.asm_17e432
+	ld a, $3
+	ld [wcd77], a
+	ret
+; 17e438
+
+Function17e438: ; 17e438
+	ld hl, wcd77
+	inc [hl]
+	ret
+; 17e43d
+
+Function17e43d: ; 17e43d
+	ld a, [BGMapBuffer]
+	ld l, a
+	ld a, [wcd21]
+	ld h, a
+	add hl, bc
+	ret
+; 17e447
+
+Function17e447: ; 17e447
+	ld a, [BGMapBuffer]
+	ld l, a
+	ld a, [wcd21]
+	ld h, a
+	add hl, de
+	ret
+; 17e451
+
+Function17e451: ; 17e451
+	ld a, [wcd42]
+	and a
+	ret z
+	call Function17e51b
+	call Function17e4dd
+	ld a, [wcd2e]
+	push af
+	ld a, [wcd49]
+	ld l, a
+	ld a, [wcd4a]
+	ld h, a
+	ld a, [wcd2f]
+	ld [wcd2e], a
+	ld c, a
+	ld b, $0
+	add hl, bc
+	add hl, bc
+	push hl
+	ld hl, TileMap
+	ld bc, $0014
+	ld a, [wcd23]
+	call AddNTimes
+	ld a, [CreditsTimer]
+	ld c, a
+	ld b, $0
+	add hl, bc
+	pop bc
+	ld a, [wcd25]
+.asm_17e48b
+	push af
+	push hl
+	ld a, [wcd24]
+.asm_17e490
+	push af
+	push hl
+	ld a, [bc]
+	inc bc
+	ld e, a
+	ld a, [bc]
+	inc bc
+	ld d, a
+	push bc
+	push hl
+	ld a, [BGMapBuffer]
+	ld l, a
+	ld a, [wcd21]
+	ld h, a
+	add hl, de
+	push hl
+	pop de
+	pop hl
+	call PlaceString
+	pop bc
+	pop hl
+	ld a, [wcd26]
+	ld e, a
+	ld d, $0
+	add hl, de
+	ld a, [wcd2e]
+	inc a
+	ld [wcd2e], a
+	ld e, a
+	ld a, [wcd42]
+	cp e
+	jr z, .asm_17e4d5
+	pop af
+	dec a
+	jr nz, .asm_17e490
+	pop hl
+	ld a, [wcd27]
+	ld de, $0014
+.asm_17e4cb
+	add hl, de
+	dec a
+	jr nz, .asm_17e4cb
+	pop af
+	dec a
+	jr nz, .asm_17e48b
+	jr .asm_17e4d8
+
+.asm_17e4d5
+	pop af
+	pop hl
+	pop af
+
+.asm_17e4d8
+	pop af
+	ld [wcd2e], a
+	ret
+; 17e4dd
+
+Function17e4dd: ; 17e4dd
+	ld a, [wcd2c]
+	and $1
+	ret z
+	ld a, [wcd29]
+	ld hl, TileMap
+	ld bc, $0014
+	call AddNTimes
+	ld a, [wcd28]
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [wcd2f]
+	and a
+	jr z, .asm_17e4ff
+	ld a, $61
+	ld [hl], a
+
+.asm_17e4ff
+	ld a, [wcd2a]
+	ld bc, $0014
+	call AddNTimes
+	ld a, [wcd42]
+	ld c, a
+	ld a, [wcd2e]
+	ld b, a
+	ld a, [wcd24]
+	add b
+	cp c
+	ret z
+	ret nc
+	ld a, $ee
+	ld [hl], a
+	ret
+; 17e51b
+
+Function17e51b: ; 17e51b
+	ld a, [wcd28]
+	ld hl, CreditsTimer
+	sub [hl]
+	inc a
+	ld [wcd4f], a
+	ld hl, TileMap
+	ld bc, $0014
+	ld a, [wcd23]
+	dec a
+	call AddNTimes
+	ld a, [CreditsTimer]
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [wcd25]
+	ld c, a
+	ld a, [wcd27]
+	call SimpleMultiply
+.asm_17e544
+	push af
+	push hl
+	ld a, [wcd4f]
+	ld c, a
+	ld b, $0
+	ld a, $7f
+	call ByteFill
+	pop hl
+	ld bc, $0014
+	add hl, bc
+	pop af
+	dec a
+	jr nz, .asm_17e544
+	ret
+; 17e55b
+
+Function17e55b: ; 17e55b
+	ld a, [wcd42]
+	and a
+	ret z
+	ld a, $ed
+	call Function17e571
+	ret
+; 17e566
+
+Function17e566: ; 17e566
+	ld a, [wcd42]
+	and a
+	ret z
+	ld a, $7f
+	call Function17e571
+	ret
+; 17e571
+
+Function17e571: ; 17e571
+	push af
+	ld hl, TileMap
+	ld bc, $0014
+	ld a, [wcd23]
+	call AddNTimes
+	ld a, [CreditsTimer]
+	ld c, a
+	ld b, $0
+	add hl, bc
+	dec hl
+	push hl
+	ld a, [wcd31]
+	dec a
+	ld c, a
+	ld a, [wcd27]
+	call SimpleMultiply
+	ld l, $0
+	ld h, l
+	ld bc, $0014
+	call AddNTimes
+	ld a, [wcd30]
+	dec a
+	ld c, a
+	ld a, [wcd26]
+	call SimpleMultiply
+	ld c, a
+	ld b, $0
+	add hl, bc
+	pop bc
+	add hl, bc
+	pop af
+	ld [hl], a
+	ret
+; 17e5af
+
+Function17e5af: ; 17e5af
+	ld a, [wcd2c]
+	and $2
+	ret z
+	ld a, [wcd43]
+	ld l, a
+	ld a, [wcd44]
+	ld h, a
+	ld bc, TileMap
+	add hl, bc
+	ld bc, $ffec
+	add hl, bc
+	ld a, [wcd45]
+	ld c, a
+	ld b, $0
+	ld a, [wcd46]
+	call Function17e600
+	ld a, [wcd2e]
+	ld c, a
+	ld b, $0
+	ld a, [wcd4d]
+	ld l, a
+	ld a, [wcd4e]
+	ld h, a
+	add hl, bc
+	add hl, bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [BGMapBuffer]
+	ld l, a
+	ld a, [wcd21]
+	ld h, a
+	add hl, de
+	push hl
+	pop de
+	ld a, [wcd43]
+	ld l, a
+	ld a, [wcd44]
+	ld h, a
+	ld bc, TileMap
+	add hl, bc
+	call PlaceString
+	ret
+; 17e600
+
+Function17e600: ; 17e600
+.asm_17e600
+	push af
+	push hl
+	push bc
+	ld a, $7f
+	call ByteFill
+	pop bc
+	pop hl
+	ld de, $0014
+	add hl, de
+	pop af
+	dec a
+	jr nz, .asm_17e600
+	ret
+; 17e613
+
+Function17e613: ; 17e613
+	push hl
+	ld hl, TileMap
+	ld bc, $0014
+	ld a, [de]
+	inc de
+	push af
+	ld a, [de]
+	inc de
+	and a
+.asm_17e620
+	jr z, .asm_17e626
+	add hl, bc
+	dec a
+	jr .asm_17e620
+
+.asm_17e626
+	pop af
+	ld c, a
+	ld b, $0
+	add hl, bc
+	push hl
+	ld a, [wcd53]
+	ld [hli], a
+	ld a, [de]
+	inc de
+	dec a
+	dec a
+	jr z, .asm_17e63f
+	ld c, a
+	ld a, [wcd53]
+	inc a
+.asm_17e63b
+	ld [hli], a
+	dec c
+	jr nz, .asm_17e63b
+
+.asm_17e63f
+	ld a, [wcd53]
+	add $2
+	ld [hl], a
+	pop hl
+	ld bc, $0014
+	add hl, bc
+	ld a, [de]
+	dec de
+	dec a
+	dec a
+	jr z, .asm_17e674
+	ld b, a
+.asm_17e651
+	push hl
+	ld a, [wcd53]
+	add $3
+	ld [hli], a
+	ld a, [de]
+	dec a
+	dec a
+	jr z, .asm_17e664
+	ld c, a
+	ld a, $7f
+.asm_17e660
+	ld [hli], a
+	dec c
+	jr nz, .asm_17e660
+
+.asm_17e664
+	ld a, [wcd53]
+	add $4
+	ld [hl], a
+	pop hl
+	push bc
+	ld bc, $0014
+	add hl, bc
+	pop bc
+	dec b
+	jr nz, .asm_17e651
+
+.asm_17e674
+	ld a, [wcd53]
+	add $5
+	ld [hli], a
+	ld a, [de]
+	dec a
+	dec a
+	jr z, .asm_17e689
+	ld c, a
+	ld a, [wcd53]
+	add $6
+.asm_17e685
+	ld [hli], a
+	dec c
+	jr nz, .asm_17e685
+
+.asm_17e689
+	ld a, [wcd53]
+	add $7
+	ld [hl], a
+	pop hl
+	ret
+; 17e691
+
+Function17e691: ; 17e691
+	push hl
+	ld hl, NULL
+	ld bc, $0014
+	ld a, [de]
+	inc de
+	push af
+	ld a, [de]
+	inc de
+	inc de
+	and a
+.asm_17e69f
+	jr z, .asm_17e6a5
+	add hl, bc
+	dec a
+	jr .asm_17e69f
+
+.asm_17e6a5
+	pop af
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [de]
+	dec de
+.asm_17e6ac
+	push af
+	push hl
+	ld a, [de]
+.asm_17e6af
+	push af
+	push hl
+	push hl
+	ld bc, TileMap
+	add hl, bc
+	ld a, [hl]
+	cp $7f
+	jr z, .asm_17e6c2
+	ld a, [wcd53]
+	add $8
+	jr .asm_17e6c7
+
+.asm_17e6c2
+	ld a, [wcd53]
+	jr .asm_17e6c7
+
+.asm_17e6c7
+	pop hl
+	ld bc, AttrMap
+	add hl, bc
+	ld [hl], a
+	pop hl
+	inc hl
+	pop af
+	dec a
+	jr nz, .asm_17e6af
+	pop hl
+	ld bc, $0014
+	add hl, bc
+	pop af
+	dec a
+	jr nz, .asm_17e6ac
+	pop hl
+	ret
+; 17e6de
+
+Function17e6de: ; 17e6de
+	push af
+	ld a, [wc708]
+	ld l, a
+	ld a, [wc709]
+	ld h, a
+	ld de, AttrMap
+	add hl, de
+	pop af
+	ld b, $7
+.asm_17e6ee
+	push hl
+	ld c, $7
+.asm_17e6f1
+	ld [hli], a
+	dec c
+	jr nz, .asm_17e6f1
+	pop hl
+	ld de, $0014
+	add hl, de
+	dec b
+	jr nz, .asm_17e6ee
+	ret
+; 17e6fe
+
+
+PokemonNewsGFX: ; 17e6fe
+INCBIN "gfx/mobile/pokemon_news.2bpp"
+
+GFX_17eb7e:
+INCBIN "gfx/unknown/17eb7e.2bpp"
+
+TileAttrmap_17eb8e:
+INCBIN "gfx/unknown/17eb8e.attrmap"
+
+Palette_17eff6:
+	RGB 24,  9,  8
+	RGB  4,  9, 18
+	RGB 18, 18, 12
+	RGB  0,  0,  0
+	RGB 24, 24, 18
+	RGB 18, 18, 12
+	RGB  4,  9, 18
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB 23, 11, 10
+	RGB 13,  6,  5
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB 15, 25,  5
+	RGB 10, 20,  0
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB 20, 28, 20
+	RGB 10, 18, 15
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB 22, 22, 12
+	RGB 17, 12,  5
+	RGB  0,  0,  0
+	RGB  5,  5, 16
+	RGB  8, 19, 28
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 27, 24,  0
+	RGB 24, 16,  3
+	RGB  0,  0,  0
+
+
+Function17f036:: ; 17f036
+	ld a, $6
+	call GetSRAMBank
+	inc de
+.asm_17f03c
+	call Function17f047
+	jr c, .asm_17f043
+	jr .asm_17f03c
+
+.asm_17f043
+	call CloseSRAM
+	ret
+; 17f047
+
+Function17f047: ; 17f047
+	ld a, [de]
+	inc de
+	cp $50
+	jr z, .asm_17f05f
+	cp $10
+	jr nc, .asm_17f05f
+	dec a
+	push de
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_17f061
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+
+.asm_17f05f
+	scf
+	ret
+; 17f061
+
+Jumptable_17f061: ; 17f061
+	dw Function17f081
+	dw Function17f0f8
+	dw Function17f154
+	dw Function17f181
+	dw Function17f1d0
+	dw Function17f220
+	dw Function17f27b
+	dw Function17f2cb
+	dw Function17f2ff
+	dw Function17f334
+	dw Function17f382
+	dw Function17f3c9
+	dw Function17f3f0
+	dw Function17f41d
+	dw Function17f44f
+	dw Function17f44f
+; 17f081
+
+Function17f081: ; 17f081
+	pop hl
+	call Function17f524
+	jr c, .asm_17f09f
+	ld de, $0004
+	add hl, de
+	ld a, [hli]
+	inc hl
+	inc hl
+	ld e, l
+	ld d, h
+	ld l, c
+	ld h, b
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [de]
+	cp $50
+	jr z, .asm_17f09d
+	and a
+	ret
+
+.asm_17f09d
+	scf
+	ret
+
+.asm_17f09f
+	push bc
+	ld de, wcd54
+	ld bc, $0007
+	call CopyBytes
+	pop bc
+	push hl
+	push bc
+	call Function17f4f6
+	pop bc
+	ld a, [wcd54]
+	ld e, a
+	ld a, [wcd55]
+	ld d, a
+	add hl, de
+	ld e, l
+	ld d, h
+	ld l, c
+	ld h, b
+	push hl
+	ld a, [wcd56]
+	ld b, a
+	ld a, [wcd57]
+	ld c, a
+	call Function31a4
+	ld a, l
+	ld [wcd52], a
+	ld a, h
+	ld [wcd53], a
+	ld a, [wcd59]
+	and a
+	jr z, .asm_17f0ee
+	ld c, a
+	ld a, [wcd57]
+	inc a
+	ld b, a
+	ld e, l
+	ld d, h
+	dec de
+.asm_17f0e0
+	ld a, c
+	cp b
+	jr z, .asm_17f0ea
+	ld a, [de]
+	dec de
+	ld [hld], a
+	dec b
+	jr .asm_17f0e0
+
+.asm_17f0ea
+	ld a, [wcd5a]
+	ld [hl], a
+
+.asm_17f0ee
+	pop hl
+	ld a, [wcd58]
+	call Function17f50f
+	pop de
+	and a
+	ret
+; 17f0f8
+
+Function17f0f8: ; 17f0f8
+	pop hl
+	call Function17f524
+	jr c, .asm_17f114
+	ld de, $0003
+	add hl, de
+	ld a, [hli]
+	ld e, l
+	ld d, h
+	ld l, c
+	ld h, b
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [de]
+	cp $50
+	jr z, .asm_17f112
+	and a
+	ret
+
+.asm_17f112
+	scf
+	ret
+
+.asm_17f114
+	push bc
+	ld de, wcd54
+	ld bc, $0004
+	call CopyBytes
+	pop bc
+	push hl
+	push bc
+	call Function17f4f6
+	ld a, [wcd54]
+	ld e, a
+	ld a, [wcd55]
+	ld d, a
+	add hl, de
+	ld de, $c608
+	ld a, [wcd56]
+	ld c, a
+	ld b, $0
+	call CopyBytes
+	ld a, $50
+	ld [de], a
+	pop hl
+	ld de, $c608
+	call PlaceString
+	ld a, c
+	ld [wcd52], a
+	ld a, b
+	ld [wcd53], a
+	ld a, [wcd57]
+	call Function17f50f
+	pop de
+	and a
+	ret
+; 17f154
+
+Function17f154: ; 17f154
+	pop hl
+	call Function17f524
+	jr c, .asm_17f167
+	inc hl
+	inc hl
+	ld e, l
+	ld d, h
+	ld a, [de]
+	cp $50
+	jr z, .asm_17f165
+	and a
+	ret
+
+.asm_17f165
+	scf
+	ret
+
+.asm_17f167
+	push bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	pop bc
+	push hl
+	push bc
+	call Function17f4f6
+	add hl, de
+	ld c, l
+	ld b, h
+	pop de
+	callba Function11c08f
+	ld c, l
+	ld b, h
+	pop de
+	and a
+	ret
+; 17f181
+
+Function17f181: ; 17f181
+	pop hl
+	call Function17f524
+	jr c, .asm_17f19d
+	ld de, $0002
+	add hl, de
+	ld a, [hli]
+	ld e, l
+	ld d, h
+	ld l, c
+	ld h, b
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [de]
+	cp $50
+	jr z, .asm_17f19b
+	and a
+	ret
+
+.asm_17f19b
+	scf
+	ret
+
+.asm_17f19d
+	push bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld [wcd54], a
+	pop bc
+	push hl
+	push bc
+	call Function17f4f6
+	add hl, de
+	ld a, [hl]
+	ld c, a
+	ld de, $c608
+	callba Function48c63
+	pop hl
+	ld de, $c608
+	call PlaceString
+	ld a, c
+	ld [wcd52], a
+	ld a, b
+	ld [wcd53], a
+	ld a, [wcd54]
+	call Function17f50f
+	pop de
+	and a
+	ret
+; 17f1d0
+
+Function17f1d0: ; 17f1d0
+	pop hl
+	call Function17f524
+	jr c, .asm_17f1ec
+	ld de, $0002
+	add hl, de
+	ld a, [hli]
+	ld e, l
+	ld d, h
+	ld l, c
+	ld h, b
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [de]
+	cp $50
+	jr z, .asm_17f1ea
+	and a
+	ret
+
+.asm_17f1ea
+	scf
+	ret
+
+.asm_17f1ec
+	push bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld [wcd54], a
+	pop bc
+	push hl
+	push bc
+	call Function17f4f6
+	add hl, de
+	ld a, [hl]
+	ld a, $1
+	ld [rSVBK], a
+	ld [wd265], a
+	call GetPokemonName
+	pop hl
+	call PlaceString
+	ld a, c
+	ld [wcd52], a
+	ld a, b
+	ld [wcd53], a
+	ld a, $4
+	ld [rSVBK], a
+	ld a, [wcd54]
+	call Function17f50f
+	pop de
+	and a
+	ret
+; 17f220
+
+Function17f220: ; 17f220
+	pop hl
+	call Function17f524
+	jr c, .asm_17f23c
+	ld de, $0002
+	add hl, de
+	ld a, [hli]
+	ld e, l
+	ld d, h
+	ld l, c
+	ld h, b
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [de]
+	cp $50
+	jr z, .asm_17f23a
+	and a
+	ret
+
+.asm_17f23a
+	scf
+	ret
+
+.asm_17f23c
+	push bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld [wcd54], a
+	pop bc
+	push hl
+	push bc
+	call Function17f4f6
+	add hl, de
+	ld a, [hl]
+	ld e, a
+	ld d, 0
+	ld hl, .Genders
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld e, a
+	ld a, [hl]
+	ld d, a
+	pop hl
+	call PlaceString
+	ld a, c
+	ld [wcd52], a
+	ld a, b
+	ld [wcd53], a
+	ld a, [wcd54]
+	call Function17f50f
+	pop de
+	and a
+	ret
+; 17f26e
+
+.Genders: dw .Boy, .Girl
+.Boy:     db "Boy@"
+.Girl:    db "Girl@"
+
+Function17f27b: ; 17f27b
+	pop hl
+	call Function17f524
+	jr c, .asm_17f297
+	ld de, $0002
+	add hl, de
+	ld a, [hli]
+	ld e, l
+	ld d, h
+	ld l, c
+	ld h, b
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [de]
+	cp $50
+	jr z, .asm_17f295
+	and a
+	ret
+
+.asm_17f295
+	scf
+	ret
+
+.asm_17f297
+	push bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld [wcd54], a
+	pop bc
+	push hl
+	push bc
+	call Function17f4f6
+	add hl, de
+	ld a, [hl]
+	ld a, $1
+	ld [rSVBK], a
+	ld [wd265], a
+	call GetItemName
+	pop hl
+	call PlaceString
+	ld a, c
+	ld [wcd52], a
+	ld a, b
+	ld [wcd53], a
+	ld a, $4
+	ld [rSVBK], a
+	ld a, [wcd54]
+	call Function17f50f
+	pop de
+	and a
+	ret
+; 17f2cb
+
+Function17f2cb: ; 17f2cb
+	pop hl
+	push bc
+	ld a, [hli]
+	ld [wcd54], a
+	ld a, [hli]
+	ld [wcd55], a
+	ld a, [wcd2e]
+	inc a
+	ld [wcd56], a
+	pop bc
+	push hl
+	ld l, c
+	ld h, b
+	push hl
+	ld de, wcd56
+	ld b, $1
+	ld a, [wcd54]
+	ld c, a
+	call Function31a4
+	ld a, l
+	ld [wcd52], a
+	ld a, h
+	ld [wcd53], a
+	pop hl
+	ld a, [wcd55]
+	call Function17f50f
+	pop de
+	and a
+	ret
+; 17f2ff
+
+Function17f2ff: ; 17f2ff
+	pop hl
+	push bc
+	ld a, [hli]
+	ld [wcd54], a
+	pop bc
+	push hl
+	push bc
+	ld a, $1
+	ld [rSVBK], a
+	ld hl, PlayerName
+	ld de, $c608
+	ld bc, $0006
+	call CopyBytes
+	ld a, $4
+	ld [rSVBK], a
+	pop hl
+	ld de, $c608
+	call PlaceString
+	ld a, c
+	ld [wcd52], a
+	ld a, b
+	ld [wcd53], a
+	ld a, [wcd54]
+	call Function17f50f
+	pop de
+	and a
+	ret
+; 17f334
+
+Function17f334: ; 17f334
+	pop hl
+	push bc
+	ld a, [hli]
+	ld [wcd55], a
+	and $f
+	ld [wcd54], a
+	pop bc
+	push hl
+	ld l, c
+	ld h, b
+	push hl
+	ld a, [wcd55]
+	bit 7, a
+	jr nz, .asm_17f355
+	ld a, $1
+	call GetSRAMBank
+	ld a, [$be3f]
+	jr .asm_17f35d
+
+.asm_17f355
+	ld a, $5
+	call GetSRAMBank
+	ld a, [$b2f3]
+
+.asm_17f35d
+	ld c, a
+	call CloseSRAM
+	ld de, $c608
+	callba Function48c63
+	pop hl
+	ld de, $c608
+	call PlaceString
+	ld a, c
+	ld [wcd52], a
+	ld a, b
+	ld [wcd53], a
+	ld a, [wcd54]
+	call Function17f50f
+	pop de
+	and a
+	ret
+; 17f382
+
+Function17f382: ; 17f382
+	pop hl
+	push bc
+	ld a, [hli]
+	ld [wcd55], a
+	and $f
+	ld [wcd54], a
+	pop bc
+	push hl
+	push bc
+	ld l, c
+	ld h, b
+	ld a, [wcd55]
+	bit 7, a
+	jr nz, .asm_17f3a3
+	ld a, $1
+	call GetSRAMBank
+	ld de, $be40
+	jr .asm_17f3ab
+
+.asm_17f3a3
+	ld a, $5
+	call GetSRAMBank
+	ld de, $b2f4
+
+.asm_17f3ab
+	ld a, $82
+	ld b, a
+	ld a, $3
+	ld c, a
+	call PrintNum
+	call CloseSRAM
+	ld a, l
+	ld [wcd52], a
+	ld a, h
+	ld [wcd53], a
+	pop hl
+	ld a, [wcd54]
+	call Function17f50f
+	pop de
+	and a
+	ret
+; 17f3c9
+
+Function17f3c9: ; 17f3c9
+	push bc
+	ld hl, wcd36
+	ld de, wc708
+	ld bc, $000c
+	call CopyBytes
+	pop de
+	ld c, $0
+	callba Function11c075
+	push hl
+	ld hl, wc708
+	ld de, wcd36
+	ld bc, $000c
+	call CopyBytes
+	pop bc
+	pop de
+	and a
+	ret
+; 17f3f0
+
+Function17f3f0: ; 17f3f0
+	pop hl
+	push hl
+	ld a, [hli]
+	push af
+	push bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [de]
+	ld c, a
+	ld b, $0
+	add hl, bc
+	add hl, bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld hl, Unkn1Pals
+	add hl, de
+	ld e, l
+	ld d, h
+	pop hl
+	call PlaceString
+	pop af
+	ld e, a
+	ld d, $0
+	pop hl
+	add hl, de
+	add hl, de
+	inc hl
+	inc hl
+	inc hl
+	ld e, l
+	ld d, h
+	ld l, c
+	ld h, b
+	scf
+	ret
+; 17f41d
+
+Function17f41d: ; 17f41d
+	pop hl
+	ld a, [hli]
+	push hl
+	push af
+	ld l, c
+	ld h, b
+	ld bc, -TileMap + $10000
+	add hl, bc
+	ld de, -SCREEN_WIDTH
+	ld c, $1
+.asm_17f42c
+	ld a, h
+	and a
+	jr nz, .asm_17f435
+	ld a, l
+	cp SCREEN_WIDTH
+	jr c, .asm_17f439
+
+.asm_17f435
+	add hl, de
+	inc c
+	jr .asm_17f42c
+
+.asm_17f439
+	ld hl, TileMap
+	ld de, SCREEN_WIDTH
+	ld a, c
+.asm_17f440
+	and a
+	jr z, .asm_17f447
+	add hl, de
+	dec a
+	jr .asm_17f440
+
+.asm_17f447
+	pop af
+	ld e, a
+	ld d, 0
+	add hl, de
+	pop de
+	and a
+	ret
+; 17f44f
+
+Function17f44f: ; 17f44f
+	pop hl
+	call Function17f524
+	jr c, .asm_17f46d
+	ld de, $0005
+	add hl, de
+	ld a, [hli]
+	inc hl
+	inc hl
+	ld e, l
+	ld d, h
+	ld l, c
+	ld h, b
+	ld c, a
+	ld b, 0
+	add hl, bc
+	ld a, [de]
+	cp $50
+	jr z, .asm_17f46b
+	and a
+	ret
+
+.asm_17f46b
+	scf
+	ret
+
+.asm_17f46d
+	push bc
+	ld de, wcd54
+	ld bc, $0008
+	call CopyBytes
+	pop bc
+	push hl
+	push bc
+	ld a, [wcd56]
+	cp $c0
+	jr c, .asm_17f488
+	ld a, [wcd54]
+	ld [rSVBK], a
+	jr .asm_17f48e
+
+.asm_17f488
+	ld a, [wcd54]
+	call GetSRAMBank
+
+.asm_17f48e
+	ld a, [wcd55]
+	ld l, a
+	ld a, [wcd56]
+	ld h, a
+	ld de, $c608
+	ld a, [wcd57]
+	ld c, a
+	ld b, $0
+	call CopyBytes
+	ld a, [wcd56]
+	cp $c0
+	jr c, .asm_17f4af
+	ld a, $4
+	ld [rSVBK], a
+	jr .asm_17f4b7
+
+.asm_17f4af
+	call CloseSRAM
+	ld a, $6
+	call GetSRAMBank
+
+.asm_17f4b7
+	ld de, $c608
+	pop hl
+	push hl
+	ld a, [wcd57]
+	ld b, a
+	ld a, [wcd58]
+	ld c, a
+	call Function31a4
+	ld a, l
+	ld [wcd52], a
+	ld a, h
+	ld [wcd53], a
+	ld a, [wcd5a]
+	and a
+	jr z, .asm_17f4ec
+	ld c, a
+	ld a, [wcd58]
+	inc a
+	ld b, a
+	ld e, l
+	ld d, h
+	dec de
+.asm_17f4de
+	ld a, c
+	cp b
+	jr z, .asm_17f4e8
+	ld a, [de]
+	dec de
+	ld [hld], a
+	dec b
+	jr .asm_17f4de
+
+.asm_17f4e8
+	ld a, [wcd5b]
+	ld [hl], a
+
+.asm_17f4ec
+	pop hl
+	ld a, [wcd59]
+	call Function17f50f
+	pop de
+	and a
+	ret
+; 17f4f6
+
+Function17f4f6: ; 17f4f6
+	ld a, [wcd6a]
+	ld l, a
+	ld a, [wcd6b]
+	ld h, a
+	ld a, [wcd47]
+	ld c, a
+	ld a, [BGMapPalBuffer]
+	ld b, a
+	ld a, [wcd2e]
+.asm_17f509
+	and a
+	ret z
+	dec a
+	add hl, bc
+	jr .asm_17f509
+; 17f50f
+
+Function17f50f: ; 17f50f
+	and a
+	jr z, .asm_17f519
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld c, l
+	ld b, h
+	ret
+
+.asm_17f519
+	ld a, [wcd52]
+	ld c, a
+	ld l, a
+	ld a, [wcd53]
+	ld b, a
+	ld h, a
+	ret
+; 17f524
+
+Function17f524: ; 17f524
+	push hl
+	push bc
+	push de
+	ld a, [wcd42]
+	dec a
+	ld b, a
+	ld a, [wcd2e]
+	cp b
+	jr z, .asm_17f53a
+	ld hl, wcd68
+	cp [hl]
+.asm_17f536
+	pop de
+	pop bc
+	pop hl
+	ret
+
+.asm_17f53a
+	scf
+	jr .asm_17f536
+; 17f53d
+
+Function17f53d: ; 17f53d
+	call FadeToMenu
+	xor a
+	ld [wc303], a
+	ld a, [rSVBK]
+	push af
+	ld a, $1
+	ld [rSVBK], a
+	call Function17f555
+	pop af
+	ld [rSVBK], a
+	call Function2b4d
+	ret
+; 17f555
+
+Function17f555: ; 17f555
+.asm_17f555
+	call Functiona57
+	call Function17f5ae
+	ld a, [wc303]
+	bit 7, a
+	jr nz, .asm_17f56a
+	callba Function104000
+	jr .asm_17f555
+
+.asm_17f56a
+	call Function17f56e
+	ret
+; 17f56e
+
+Function17f56e: ; 17f56e
+	ld a, [wc300]
+	cp $22
+	jr z, .asm_17f597
+	cp $31
+	jr z, .asm_17f58a
+	cp $33
+	ret nz
+	ld a, [wc301]
+	cp $1
+	ret nz
+	ld a, [wc302]
+	cp $2
+	ret nz
+	jr .asm_17f5a1
+
+.asm_17f58a
+	ld a, [wc301]
+	cp $3
+	ret nz
+	ld a, [wc302]
+	and a
+	ret nz
+	jr .asm_17f5a1
+
+.asm_17f597
+	ld a, [wc301]
+	and a
+	ret nz
+	ld a, [wc302]
+	and a
+	ret nz
+
+.asm_17f5a1
+	ld a, $5
+	call GetSRAMBank
+	xor a
+	ld [$aa4b], a
+	call CloseSRAM
+	ret
+; 17f5ae
+
+Function17f5ae: ; 17f5ae
+	ld a, [wc303]
+	ld e, a
+	ld d, 0
+	ld hl, Table17f5bd
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp [hl]
+; 17f5bd
+
+Table17f5bd: ; 17f5bd
+	dw Function17f5c3
+	dw Function17ff23
+	dw Function17f5d2
+; 17f5c3
+
+Function17f5c3: ; 17f5c3
+	call Function17f5e4
+	callba Function2b5c
+	ld a, $1
+	ld [wc303], a
+	ret
+; 17f5d2
+
+Function17f5d2: ; 17f5d2
+	call Function17f5e4
+	callba Function104000
+	call Function32f9
+	ld a, $1
+	ld [wc303], a
+	ret
+; 17f5e4
+
+Function17f5e4: ; 17f5e4
+	ld a, $8
+	ld [MusicFade], a
+	ld de, MUSIC_NONE
+	ld a, e
+	ld [MusicFadeIDLo], a
+	ld a, d
+	ld [MusicFadeIDHi], a
+	ld a, " "
+	ld hl, TileMap
+	ld bc, $0168
+	call ByteFill
+	ld a, $6
+	ld hl, AttrMap
+	ld bc, $0168
+	call ByteFill
+	hlcoord 2, 1
+	ld b, $1
+	ld c, $e
+	call Function3eea
+	hlcoord 1, 4
+	ld b, $c
+	ld c, $10
+	call Function3eea
+	hlcoord 3, 2
+	ld de, String_17f6dc
+	call PlaceString
+	call Function17ff3c
+	jr nc, .asm_17f632
+	hlcoord 11, 2
+	call Function17f6b7
+
+.asm_17f632
+	ld a, [wc300]
+	cp $d0
+	jr nc, .asm_17f684
+	cp $10
+	jr c, .asm_17f679
+	sub $10
+	cp $24
+	jr nc, .asm_17f679
+	ld e, a
+	ld d, $0
+	ld hl, Table_17f706
+	add hl, de
+	add hl, de
+	ld a, [wc301]
+	ld e, a
+	ld a, [wc302]
+	ld d, a
+	ld a, [hli]
+	ld c, a
+	ld a, [hl]
+	ld h, a
+	ld l, c
+	ld a, [hli]
+	and a
+	jr z, .asm_17f679
+	ld c, a
+.asm_17f65d
+	ld a, [hli]
+	ld b, a
+	ld a, [hli]
+	cp $ff
+	jr nz, .asm_17f667
+	cp b
+	jr z, .asm_17f66e
+
+.asm_17f667
+	xor d
+	jr nz, .asm_17f674
+	ld a, b
+	xor e
+	jr nz, .asm_17f674
+
+.asm_17f66e
+	ld a, [hli]
+	ld e, a
+	ld a, [hl]
+	ld d, a
+	jr .asm_17f67d
+
+.asm_17f674
+	inc hl
+	inc hl
+	dec c
+	jr nz, .asm_17f65d
+
+.asm_17f679
+	ld a, $d9
+	jr .asm_17f684
+
+.asm_17f67d
+	hlcoord 2, 6
+	call PlaceString
+	ret
+
+.asm_17f684
+	sub $d0
+	ld e, a
+	ld d, 0
+	ld hl, Table_17f699
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld e, a
+	ld a, [hl]
+	ld d, a
+	hlcoord 2, 6
+	call PlaceString
+	ret
+; 17f699
+
+Table_17f699: ; 17f699
+	dw String_17fedf
+	dw String_17fdd9
+	dw String_17fdd9
+	dw String_17fe03
+	dw String_17fd84
+	dw String_17fe63
+	dw String_17fdb2
+	dw String_17fe4b
+	dw String_17fe03
+	dw String_17fe03
+	dw String_17fe03
+; 17f6af
+
+Palette_17f6af: ; 17f6af
+	RGB  5,  5, 16
+	RGB  8, 19, 28
+	RGB  0,  0,  0
+	RGB 31, 31, 31
+; 17f6b7
+
+Function17f6b7: ; 17f6b7
+	ld a, [wc300]
+	call Function17f6cd
+	inc hl
+	ld a, [wc302]
+	and $f
+	call Function17f6d8
+	ld a, [wc301]
+	call Function17f6cd
+	ret
+; 17f6cd
+
+Function17f6cd: ; 17f6cd
+	ld c, a
+	and $f0
+	swap a
+	call Function17f6d8
+	ld a, c
+	and $f
+
+Function17f6d8: ; 17f6d8
+	add $f6
+	ld [hli], a
+	ret
+; 17f6dc
+
+String_17f6dc: ; 17f6dc
+	db "つうしんエラー   ー@"
+; 17f6e8
+
+String_17f6e8: ; 17f6e8
+	db   "みていぎ", $25, "エラーです"
+	next "プログラム", $1f
+	next "かくにん してください"
+	db   "@"
+; 17f706
+
+Table_17f706:
+	dw Unknown_17f74e
+	dw Unknown_17f753
+	dw Unknown_17f758
+	dw Unknown_17f75d
+	dw Unknown_17f762
+	dw Unknown_17f767
+	dw Unknown_17f778
+	dw Unknown_17f77d
+	dw Unknown_17f782
+	dw Unknown_17f782
+	dw Unknown_17f782
+	dw Unknown_17f782
+	dw Unknown_17f782
+	dw Unknown_17f782
+	dw Unknown_17f782
+	dw Unknown_17f782
+	dw Unknown_17f782
+	dw Unknown_17f787
+	dw Unknown_17f78c
+	dw Unknown_17f791
+	dw Unknown_17f796
+	dw Unknown_17f79b
+	dw Unknown_17f7a0
+	dw Unknown_17f7a5
+	dw Unknown_17f7a5
+	dw Unknown_17f7a5
+	dw Unknown_17f7a5
+	dw Unknown_17f7a5
+	dw Unknown_17f7a5
+	dw Unknown_17f7a5
+	dw Unknown_17f7a5
+	dw Unknown_17f7a5
+	dw Unknown_17f7a5
+	dw Unknown_17f7ea
+	dw Unknown_17f7ff
+	dw Unknown_17f844
+
+Unknown_17f74e: db 1
+	dbbw $0, $0, String_17f891
+
+Unknown_17f753: db 1
+	dbbw $0, $0, String_17f8d1
+
+Unknown_17f758: db 1
+	dbbw $0, $0, String_17f913
+
+Unknown_17f75d: db 1
+	dbbw $0, $0, String_17f8d1
+
+Unknown_17f762: db 1
+	dbbw $0, $0, String_17fa71
+
+Unknown_17f767: db 4
+	dbbw $0, $0, String_17f946
+	dbbw $1, $0, String_17f946
+	dbbw $2, $0, String_17f946
+	dbbw $3, $0, String_17f946
+
+Unknown_17f778: db 1
+	dbbw $0, $0, String_17f98e
+
+Unknown_17f77d: db 1
+	dbbw $0, $0, String_17f98e
+
+Unknown_17f782: db 1
+	dbbw $0, $0, String_17f98e
+
+Unknown_17f787: db 1
+	dbbw $0, $0, String_17f98e
+
+Unknown_17f78c: db 1
+	dbbw $0, $0, String_17f9d0
+
+Unknown_17f791: db 1
+	dbbw $0, $0, String_17fa14
+
+Unknown_17f796: db 1
+	dbbw $0, $0, String_17fcbf
+
+Unknown_17f79b: db 1
+	dbbw $0, $0, String_17fa71
+
+Unknown_17f7a0: db 1
+	dbbw $0, $0, String_17fbfe
+
+Unknown_17f7a5: db 17
+	dbbw $0, $0, String_17f98e
+	dbbw $21, $2, String_17fcbf
+	dbbw $21, $4, String_17fcbf
+	dbbw $50, $4, String_17faf9
+	dbbw $51, $4, String_17fcbf
+	dbbw $52, $4, String_17fcbf
+	dbbw $0, $5, String_17f98e
+	dbbw $1, $5, String_17f98e
+	dbbw $2, $5, String_17f98e
+	dbbw $3, $5, String_17f98e
+	dbbw $4, $5, String_17f98e
+	dbbw $50, $5, String_17faf9
+	dbbw $51, $5, String_17faf9
+	dbbw $52, $5, String_17fcbf
+	dbbw $53, $5, String_17faf9
+	dbbw $54, $5, String_17fcbf
+	dbbw $ff, $ff, String_17fcbf
+
+Unknown_17f7ea: db 5
+	dbbw $0, $0, String_17f98e
+	dbbw $2, $0, String_17fb2a
+	dbbw $3, $0, String_17fb6e
+	dbbw $4, $0, String_17f98e
+	dbbw $ff, $ff, String_17fcbf
+
+Unknown_17f7ff: db 17
+	dbbw $0, $0, String_17f98e
+	dbbw $1, $3, String_17f98e
+	dbbw $2, $3, String_17f98e
+	dbbw $0, $4, String_17f98e
+	dbbw $1, $4, String_17f98e
+	dbbw $3, $4, String_17fbb6
+	dbbw $4, $4, String_17fbb6
+	dbbw $5, $4, String_17f98e
+	dbbw $6, $4, String_17f98e
+	dbbw $7, $4, String_17f98e
+	dbbw $8, $4, String_17fbfe
+	dbbw $0, $5, String_17fa49
+	dbbw $1, $5, String_17f98e
+	dbbw $2, $5, String_17fa49
+	dbbw $3, $5, String_17fab0
+	dbbw $4, $5, String_17fa49
+	dbbw $ff, $ff, String_17fa49
+
+Unknown_17f844: db 19
+	dbbw $1, $1, String_17fc3e
+	dbbw $2, $1, String_17fc88
+	dbbw $3, $1, String_17fcff
+	dbbw $4, $1, String_17fd84
+	dbbw $5, $1, String_17fd84
+	dbbw $6, $1, String_17fd47
+	dbbw $1, $2, String_17fb6e
+	dbbw $2, $2, String_17f98e
+	dbbw $3, $2, String_17fd84
+	dbbw $4, $2, String_17f98e
+	dbbw $5, $2, String_17fa49
+	dbbw $6, $2, String_17fd84
+	dbbw $99, $2, String_17fc88
+	dbbw $1, $3, String_17fa49
+	dbbw $1, $4, String_17fa49
+	dbbw $2, $4, String_17fa49
+	dbbw $3, $4, String_17fa49
+	dbbw $4, $4, String_17fa49
+	dbbw $ff, $ff, String_17fa49
+
+String_17f891: ; 17f891
+	db   "モバイルアダプタが ただしく"
+	next "さしこまれていません"
+	next "とりあつかいせつめいしょを"
+	next "ごらんのうえ しっかりと"
+	next "さしこんで ください"
+	db   "@"
+
+String_17f8d1: ; 17f8d1
+	db   "でんわが うまく かけられないか"
+	next "でんわかいせんが こんでいるので"
+	next "つうしん できません"
+	next "しばらく まって"
+	next "かけなおして ください"
+	db   "@"
+
+String_17f913: ; 17f913
+	db   "でんわかいせんが こんでいるため"
+	next "でんわが かけられません"
+	next "しばらく まって"
+	next "かけなおして ください"
+	db   "@"
+
+String_17f946: ; 17f946
+	db   "モバイルアダプタの エラーです"
+	next "しばらく まって"
+	next "かけなおして ください"
+	next "なおらない ときは"
+	next "モバイルサポートセンターへ"
+	next "おといあわせください"
+	db   "@"
+
+String_17f98e: ; 17f98e
+	db   "つうしんエラーです"
+	next "しばらく まって"
+	next "かけなおして ください"
+	next "なおらない ときは"
+	next "モバイルサポートセンターへ"
+	next "おといあわせください"
+	db   "@"
+
+String_17f9d0: ; 17f9d0
+	db   "ログインパスワードか"
+	next "ログイン アイディーに"
+	next "まちがいがあります"
+	next "パスワードを かくにんして"
+	next "しばらく まって"
+	next "かけなおして ください"
+	db   "@"
+
+String_17fa14: ; 17fa14
+	db   "でんわが きれました"
+	next "とりあつかいせつめいしょを"
+	next "ごらんのうえ"
+	next "しばらく まって"
+	next "かけなおして ください"
+	db   "@"
+
+String_17fa49: ; 17fa49
+	db   "モバイルセンターの"
+	next "つうしんエラーです"
+	next "しばらくまって"
+	next "かけなおして ください"
+	db   "@"
+
+String_17fa71: ; 17fa71
+	db   "モバイルアダプタに"
+	next "とうろくされた じょうほうが"
+	next "ただしく ありません"
+	next "モバイルトレーナーで"
+	next "しょきとうろくを してください"
+	db   "@"
+
+String_17fab0: ; 17fab0
+	db   "モバイルセンターが"
+	next "こんでいて つながりません"
+	next "しばらくまって"
+	next "かけなおして ください"
+	next "くわしくは とりあつかい"
+	next "せつめいしょを ごらんください"
+	db   "@"
+
+String_17faf9: ; 17faf9
+	db   "あてさき メールアドレスに"
+	next "まちがいがあります"
+	next "ただしい メールアドレスを"
+	next "いれなおしてください"
+	db   "@"
+
+String_17fb2a: ; 17fb2a
+	db   "メールアドレスに"
+	next "まちがいが あります"
+	next "とりあつかいせつめいしょを"
+	next "ごらんのうえ"
+	next "モバイルトレーナーで"
+	next "しょきとうろくを してください"
+	db   "@"
+
+String_17fb6e: ; 17fb6e
+	db   "ログインパスワードに"
+	next "まちがいが あるか"
+	next "モバイルセンターの エラーです"
+	next "パスワードを かくにんして"
+	next "しばらく まって"
+	next "かけなおして ください"
+	db   "@"
+
+String_17fbb6: ; 17fbb6
+	db   "データの よみこみが できません"
+	next "しばらくまって"
+	next "かけなおして ください"
+	next "なおらない ときは"
+	next "モバイルサポートセンターへ"
+	next "おといあわせください"
+	db   "@"
+
+String_17fbfe: ; 17fbfe
+	db   "じかんぎれです"
+	next "でんわが きれました"
+	next "でんわを かけなおしてください"
+	next "くわしくは とりあつかい"
+	next "せつめいしょを ごらんください"
+	db   "@"
+
+String_17fc3e: ; 17fc3e
+	db   "ごりよう りょうきんの "
+	next "おしはらいが おくれたばあいには"
+	next "ごりようが できなくなります"
+	next "くわしくは とりあつかい"
+	next "せつめいしょを ごらんください"
+	db   "@"
+
+String_17fc88: ; 17fc88
+	db   "おきゃくさまの ごつごうにより"
+	next "ごりようできません"
+	next "くわしくは とりあつかい"
+	next "せつめいしょを ごらんください"
+	db   "@"
+
+String_17fcbf: ; 17fcbf
+	db   "でんわかいせんが こんでいるか"
+	next "モバイルセンターの エラーで"
+	next "つうしんが できません"
+	next "しばらく まって"
+	next "かけなおして ください"
+	db   "@"
+
+String_17fcff: ; 17fcff
+	db   "ごりよう りょうきんが"
+	next "じょうげんを こえているため"
+	next "こんげつは ごりようできません"
+	next "くわしくは とりあつかい"
+	next "せつめいしょを ごらんください"
+	db   "@"
+
+String_17fd47: ; 17fd47
+	db   "げんざい モバイルセンターの"
+	next "てんけんを しているので"
+	next "つうしんが できません"
+	next "しばらく まって"
+	next "かけなおして ください"
+	db   "@"
+
+String_17fd84: ; 17fd84
+	db   "データの よみこみが できません"
+	next "くわしくは とりあつかい"
+	next "せつめいしょを ごらんください"
+	db   "@"
+
+
+String_17fdb2: ; 17fdb2
+	db   "3ぷん いじょう なにも"
+	next "にゅうりょく しなかったので"
+	next "でんわが きれました"
+	db   "@"
+
+String_17fdd9: ; 17fdd9
+	db   "つうしんが うまく"
+	next "できませんでした"
+	next "もういちど はじめから"
+	next "やりなおしてください"
+	db   "@"
+
+String_17fe03: ; 17fe03
+	db   "データの よみこみが できません"
+	next "しばらくまって"
+	next "かけなおして ください"
+	next "なおらない ときは"
+	next "モバイルサポートセンターへ"
+	next "おといあわせください"
+	db   "@"
+
+String_17fe4b: ; 17fe4b
+	db   "まちじかんが ながいので"
+	next "でんわが きれました"
+	db   "@"
+
+String_17fe63: ; 17fe63
+	db   "あいての モバイルアダプタと"
+	next "タイプが ちがいます"
+	next "くわしくは とりあつかい"
+	next "せつめいしょを ごらんください"
+	db   "@"
+
+String_17fe9a: ; 17fe9a ; unreferenced
+	db   "ポケモンニュースが"
+	next "あたらしくなっているので"
+	next "レポートを おくれません"
+	next "あたらしい ポケモンニュースの"
+	next "よみこみを さきに してください"
+	db   "@"
+
+String_17fedf: ; 17fedf
+	db   "つうしんの じょうきょうが"
+	next "よくないか かけるあいてが"
+	next "まちがっています"
+	next "もういちど かくにんをして"
+	next "でんわを かけなおして ください"
+	db   "@"
+; 17ff23
+
+Function17ff23: ; 17ff23
+	ld a, [hJoyPressed]
+	and a
+	ret z
+	ld a, $8
+	ld [MusicFade], a
+	ld a, [wMapMusic]
+	ld [MusicFadeIDLo], a
+	xor a
+	ld [MusicFadeIDHi], a
+	ld hl, wc303
+	set 7, [hl]
+	ret
+; 17ff3c
+
+Function17ff3c: ; 17ff3c
+	nop
+	ld a, [wc300]
+	cp $d0
+	ret c
+	hlcoord 10, 2
+	ld de, String_17ff68
+	call PlaceString
+	ld a, [wc300]
+	push af
+	sub $d0
+	inc a
+	ld [wc300], a
+	hlcoord 14, 2
+	ld de, wc300
+	ld bc, $8103
+	call PrintNum
+	pop af
+	ld [wc300], a
+	and a
+	ret
+; 17ff68
+
+String_17ff68: ; 17ff68
+	db "101@"
+; 17ff6c
+
--- /dev/null
+++ b/misc/unused_title.asm
@@ -1,0 +1,559 @@
+
+SECTION "bank43", ROMX, BANK[$43]
+
+UnusedTitleScreen: ; 10c000
+
+	call WhiteBGMap
+	call ClearTileMap
+	call DisableLCD
+	xor a
+	ld [hBGMapMode], a
+
+	ld hl, wcf63
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hl], a
+
+	ld hl, UnusedTitleBG_GFX
+	ld de, VTiles2
+	ld bc, $800
+	call CopyBytes
+
+	ld hl, UnusedTitleBG_GFX + $800
+	ld de, VTiles1
+	ld bc, $800
+	call CopyBytes
+
+	ld hl, UnusedTitleFG_GFX
+	ld de, VTiles0
+	ld bc, $800
+	call CopyBytes
+
+	ld hl, UnusedTitleBG_Tilemap
+	ld de, VBGMap0
+	ld bc, 32 * 32
+.copy
+	ld a, 0
+	ld [rVBK], a
+	ld a, [hli]
+	ld [de], a
+	ld a, 1
+	ld [rVBK], a
+	ld a, [hli]
+	ld [de], a
+	inc de
+	dec bc
+	ld a, b
+	or c
+	jr nz, .copy
+
+	ld hl, UnusedTitleFG_OAM
+	ld de, Sprites
+	ld bc, $a0
+	call CopyBytes
+
+	call EnableLCD
+	ld a, [rLCDC]
+	set 1, a
+	set 2, a
+	ld [rLCDC], a
+
+	call DelayFrame
+
+	ld a, [rSVBK]
+	push af
+	ld a, $5
+	ld [rSVBK], a
+
+	ld hl, UnsuedTitleBG_Palettes
+	ld de, Unkn1Pals
+	ld bc, $40
+	call CopyBytes
+
+	ld hl, UnsuedTitleFG_Palettes
+	ld de, Unkn2Pals
+	ld bc, $40
+	call CopyBytes
+
+	ld hl, UnsuedTitleBG_Palettes
+	ld de, BGPals
+	ld bc, $40
+	call CopyBytes
+
+	ld hl, UnsuedTitleFG_Palettes
+	ld de, OBPals
+	ld bc, $40
+	call CopyBytes
+
+	pop af
+	ld [rSVBK], a
+
+	ld a, $1
+	ld [hCGBPalUpdate], a
+
+	ld de, MUSIC_TITLE
+	call PlayMusic
+
+	ret
+; 10c0b1
+
+UnusedTitleBG_GFX: ; 10c0b1
+INCBIN "gfx/title/old_bg.2bpp"
+; 10d0b1
+
+UnusedTitleBG_Tilemap: ; 10d0b1
+; 32x32 (tile, attributes)
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $01,$00, $02,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $03,$00, $04,$00, $05,$01, $06,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $07,$05, $08,$05, $09,$05, $0a,$05, $0b,$00, $0c,$00, $0d,$00, $0e,$00, $0f,$01, $10,$01, $11,$01, $12,$01, $13,$05, $14,$05, $15,$05, $16,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $17,$04, $18,$04, $19,$04, $1a,$04, $1b,$00, $1c,$00, $1d,$02, $1e,$02, $1f,$07, $20,$07, $21,$01, $22,$01, $23,$04, $24,$04, $25,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $27,$04, $28,$04, $29,$04, $2a,$04, $2b,$00, $2c,$00, $2d,$03, $2e,$01, $2f,$01, $30,$01, $31,$01, $32,$01, $33,$04, $34,$04, $35,$04, $36,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $37,$04, $38,$04, $39,$04, $3a,$04, $3b,$00, $3c,$00, $3d,$01, $00,$00, $00,$00, $3e,$07, $3f,$01, $40,$01, $41,$04, $42,$04, $43,$04, $44,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $45,$04, $46,$04, $47,$04, $48,$04, $49,$00, $3c,$00, $4a,$01, $00,$00, $00,$00, $4b,$07, $3f,$01, $4c,$01, $4d,$06, $4e,$06, $4f,$06, $50,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $51,$04, $52,$06, $53,$06, $54,$06, $55,$00, $3c,$00, $56,$01, $00,$00, $00,$00, $57,$07, $58,$01, $59,$01, $5a,$06, $5b,$06, $5c,$06, $5d,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $5e,$06, $5f,$06, $60,$06, $61,$06, $62,$00, $63,$00, $64,$03, $65,$01, $66,$01, $67,$07, $68,$01, $69,$01, $26,$04, $6a,$06, $26,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $6b,$00, $6c,$05, $6d,$05, $6e,$05, $6f,$00, $70,$02, $71,$02, $72,$01, $73,$00, $74,$02, $75,$01, $76,$01, $77,$05, $78,$05, $79,$05, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $7a,$00, $7b,$00, $7c,$00, $7d,$00, $0f,$01, $7e,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $a2,$00, $80,$00, $81,$00, $82,$00, $83,$00, $84,$07, $85,$01, $86,$01, $87,$01, $88,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $89,$00, $8a,$00, $8b,$00, $8c,$07, $8d,$01, $8e,$01, $8f,$01, $90,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $91,$01, $92,$01, $93,$01, $94,$01, $95,$01, $00,$00, $00,$00, $00,$00, $96,$05, $97,$05, $98,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $99,$05, $9a,$05, $9b,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9c,$05, $9d,$05, $9e,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9f,$05, $a0,$05, $a1,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+	db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+; 10d8b1
+
+UnsuedTitleBG_Palettes: ; 10d8b1
+	RGB 00, 00, 00
+	RGB 25, 15, 28
+	RGB 22, 11, 28
+	RGB 19, 08, 26
+
+	RGB 00, 00, 00
+	RGB 17, 07, 22
+	RGB 13, 07, 16
+	RGB 19, 08, 26
+
+	RGB 25, 15, 28
+	RGB 22, 11, 28
+	RGB 19, 08, 26
+	RGB 17, 07, 22
+
+	RGB 22, 11, 28
+	RGB 19, 08, 26
+	RGB 17, 07, 22
+	RGB 13, 07, 16
+
+	RGB 00, 00, 00
+	RGB 31, 31, 31
+	RGB 16, 16, 24
+	RGB 02, 13, 21
+
+	RGB 00, 00, 00
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 12, 12, 12
+
+	RGB 00, 00, 00
+	RGB 01, 11, 23
+	RGB 16, 16, 24
+	RGB 02, 13, 21
+
+	RGB 00, 00, 00
+	RGB 22, 10, 31
+	RGB 19, 08, 26
+	RGB 17, 07, 22
+
+
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+
+	RGB 31, 31, 31
+	RGB 20, 04, 20
+	RGB 16, 08, 16
+	RGB 24, 00, 24
+
+	rept 54
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	endr
+; 10dab1
+
+UnusedTitleFG_GFX: ; 10dab1
+INCBIN "gfx/title/old_fg.2bpp"
+; 10eab1
+
+UnsuedTitleFG_Palettes: ; 10eab1
+	RGB 00, 00, 00
+	RGB 31, 31, 31
+	RGB 16, 16, 24
+	RGB 02, 13, 21
+
+	RGB 00, 00, 00
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 12, 12, 12
+
+	RGB 00, 00, 00
+	RGB 01, 11, 23
+	RGB 16, 16, 24
+	RGB 02, 13, 21
+
+	RGB 00, 00, 00
+	RGB 31, 22, 00
+	RGB 31, 27, 00
+	RGB 31, 31, 00
+
+	RGB 00, 00, 00
+	RGB 31, 31, 31
+	RGB 16, 16, 24
+	RGB 02, 13, 21
+
+	RGB 00, 00, 00
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 12, 12, 12
+
+	RGB 00, 00, 00
+	RGB 01, 11, 23
+	RGB 16, 16, 24
+	RGB 02, 13, 21
+
+	RGB 16, 31, 00
+	RGB 22, 31, 00
+	RGB 27, 31, 00
+	RGB 31, 31, 00
+
+
+	RGB 31, 00, 18
+	RGB 31, 31, 31
+	RGB 16, 16, 24
+	RGB 02, 13, 21
+
+	RGB 00, 00, 00
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 12, 12, 12
+
+	RGB 00, 00, 00
+	RGB 01, 11, 23
+	RGB 16, 16, 24
+	RGB 02, 13, 21
+
+	RGB 16, 31, 00
+	RGB 22, 31, 00
+	RGB 27, 31, 00
+	RGB 31, 31, 00
+
+	RGB 24, 18, 31
+	RGB 31, 31, 00
+	RGB 31, 31, 01
+	RGB 31, 31, 03
+
+	RGB 31, 31, 05
+	RGB 31, 31, 08
+	RGB 31, 31, 10
+	RGB 31, 31, 12
+
+	RGB 31, 31, 14
+	RGB 31, 31, 16
+	RGB 31, 31, 18
+	RGB 31, 31, 20
+
+	RGB 31, 31, 22
+	RGB 31, 31, 25
+	RGB 31, 31, 27
+	RGB 31, 31, 29
+
+	RGB 24, 06, 06
+	RGB 01, 01, 01
+	RGB 03, 03, 03
+	RGB 05, 05, 05
+
+	RGB 08, 08, 08
+	RGB 10, 10, 10
+	RGB 12, 12, 12
+	RGB 14, 14, 14
+
+	RGB 16, 16, 16
+	RGB 18, 18, 18
+	RGB 20, 20, 20
+	RGB 22, 22, 22
+
+	RGB 25, 25, 25
+	RGB 27, 27, 27
+	RGB 29, 29, 29
+	RGB 31, 31, 31
+
+	RGB 18, 24, 18
+	RGB 31, 29, 01
+	RGB 31, 27, 03
+	RGB 31, 25, 05
+
+	RGB 31, 22, 08
+	RGB 31, 20, 10
+	RGB 31, 18, 12
+	RGB 31, 16, 14
+
+	RGB 31, 14, 16
+	RGB 31, 12, 18
+	RGB 31, 10, 20
+	RGB 31, 08, 22
+
+	RGB 31, 05, 25
+	RGB 31, 03, 27
+	RGB 31, 01, 29
+	RGB 31, 00, 31
+
+	RGB 18, 06, 31
+	RGB 00, 31, 31
+	RGB 00, 31, 29
+	RGB 00, 31, 27
+
+	RGB 00, 31, 25
+	RGB 00, 31, 22
+	RGB 00, 31, 20
+	RGB 00, 31, 18
+
+	RGB 00, 31, 16
+	RGB 00, 31, 14
+	RGB 00, 31, 12
+	RGB 00, 31, 10
+
+	RGB 00, 31, 08
+	RGB 00, 31, 05
+	RGB 00, 31, 03
+	RGB 00, 31, 01
+
+	RGB 12, 31, 06
+	RGB 00, 00, 31
+	RGB 00, 01, 31
+	RGB 00, 03, 31
+
+	RGB 00, 05, 31
+	RGB 00, 08, 31
+	RGB 00, 10, 31
+	RGB 00, 12, 31
+
+	RGB 00, 14, 31
+	RGB 00, 16, 31
+	RGB 00, 18, 31
+	RGB 00, 20, 31
+
+	RGB 00, 22, 31
+	RGB 00, 25, 31
+	RGB 00, 27, 31
+	RGB 00, 29, 31
+
+	RGB 00, 00, 00
+	RGB 06, 00, 04
+	RGB 19, 02, 09
+	RGB 28, 04, 11
+
+	RGB 31, 07, 16
+	RGB 31, 17, 23
+	RGB 31, 26, 30
+	RGB 07, 05, 10
+
+	RGB 14, 10, 18
+	RGB 20, 20, 25
+	RGB 25, 27, 31
+	RGB 09, 05, 06
+
+	RGB 23, 16, 13
+	RGB 30, 23, 22
+	RGB 31, 28, 28
+	RGB 31, 31, 31
+
+	RGB 06, 31, 31
+	RGB 04, 00, 04
+	RGB 11, 02, 04
+	RGB 17, 02, 04
+
+	RGB 24, 05, 04
+	RGB 28, 07, 04
+	RGB 31, 11, 04
+	RGB 02, 01, 15
+
+	RGB 04, 11, 22
+	RGB 12, 25, 25
+	RGB 20, 31, 31
+	RGB 09, 04, 03
+
+	RGB 22, 11, 08
+	RGB 27, 19, 16
+	RGB 30, 28, 26
+	RGB 31, 31, 31
+
+	RGB 06, 18, 06
+	RGB 04, 04, 02
+	RGB 07, 07, 02
+	RGB 18, 18, 04
+
+	RGB 24, 24, 06
+	RGB 27, 27, 11
+	RGB 31, 31, 20
+	RGB 02, 03, 10
+
+	RGB 04, 05, 13
+	RGB 06, 10, 25
+	RGB 08, 15, 31
+	RGB 04, 00, 06
+
+	RGB 11, 07, 14
+	RGB 21, 16, 23
+	RGB 29, 26, 31
+	RGB 31, 31, 31
+
+	RGB 06, 00, 18
+	RGB 00, 04, 03
+	RGB 02, 09, 05
+	RGB 11, 19, 07
+
+	RGB 16, 24, 08
+	RGB 22, 31, 09
+	RGB 24, 31, 18
+	RGB 03, 01, 03
+
+	RGB 10, 04, 10
+	RGB 20, 08, 20
+	RGB 31, 17, 31
+	RGB 01, 03, 06
+
+	RGB 05, 09, 10
+	RGB 15, 21, 21
+	RGB 23, 25, 25
+	RGB 31, 31, 31
+
+	RGB 00, 18, 31
+	RGB 00, 05, 07
+	RGB 00, 08, 13
+	RGB 00, 12, 17
+
+	RGB 01, 20, 24
+	RGB 04, 27, 31
+	RGB 14, 31, 31
+	RGB 04, 02, 02
+
+	RGB 15, 01, 03
+	RGB 26, 04, 07
+	RGB 31, 13, 16
+	RGB 00, 05, 02
+
+	RGB 01, 11, 03
+	RGB 06, 21, 06
+	RGB 13, 31, 16
+	RGB 31, 31, 31
+
+	RGB 00, 06, 06
+	RGB 00, 01, 08
+	RGB 00, 05, 14
+	RGB 00, 08, 19
+
+	RGB 02, 14, 26
+	RGB 04, 21, 31
+	RGB 06, 26, 31
+	RGB 13, 00, 00
+
+	RGB 27, 07, 00
+	RGB 31, 17, 05
+	RGB 31, 25, 16
+	RGB 02, 04, 00
+
+	RGB 07, 11, 03
+	RGB 17, 19, 05
+	RGB 27, 31, 16
+	RGB 31, 31, 31
+
+	RGB 02, 00, 00
+	RGB 04, 01, 06
+	RGB 11, 03, 14
+	RGB 16, 04, 19
+
+	RGB 20, 07, 22
+	RGB 26, 12, 27
+	RGB 26, 20, 31
+	RGB 04, 07, 00
+
+	RGB 16, 20, 07
+	RGB 24, 28, 15
+	RGB 29, 31, 24
+	RGB 05, 02, 02
+
+	RGB 15, 04, 02
+	RGB 24, 11, 10
+	RGB 31, 22, 20
+	RGB 31, 31, 31
+
+	RGB 00, 00, 14
+	RGB 12, 00, 00
+	RGB 27, 05, 00
+	RGB 31, 15, 05
+
+	RGB 31, 26, 13
+	RGB 31, 30, 21
+	RGB 05, 07, 16
+	RGB 04, 16, 20
+
+	RGB 04, 24, 26
+	RGB 08, 31, 31
+	RGB 23, 31, 31
+	RGB 00, 00, 00
+
+	RGB 05, 05, 05
+	RGB 17, 17, 15
+	RGB 28, 28, 24
+	RGB 31, 31, 31
+; 10ecb1
+
+UnusedTitleFG_OAM: ; 10ecb1
+	db $18, $38, $00, $01,  $18, $40, $02, $01,  $18, $48, $04, $01,  $18, $50, $06, $01
+	db $18, $58, $08, $01,  $18, $60, $0a, $01,  $18, $68, $0c, $01,  $18, $70, $0e, $01
+
+	db $28, $38, $10, $00,  $28, $40, $12, $00,  $28, $48, $14, $00,  $28, $50, $16, $00
+	db $28, $58, $18, $00,  $28, $60, $1a, $00,  $28, $68, $1c, $00,  $28, $70, $1e, $00
+
+	db $38, $38, $20, $00,  $38, $40, $22, $00,  $38, $48, $24, $00,  $38, $50, $26, $00
+	db $38, $58, $28, $00,  $38, $60, $2a, $00,  $38, $68, $2c, $00,  $38, $70, $2e, $00
+
+	db $48, $38, $30, $02,  $48, $40, $32, $02,  $48, $48, $34, $02,  $48, $50, $36, $02
+	db $48, $58, $38, $02,  $48, $60, $3a, $02,  $48, $68, $3c, $02,  $48, $70, $3e, $02
+
+	db $58, $38, $40, $01,  $58, $40, $42, $01,  $58, $48, $44, $01,  $58, $50, $46, $01
+	db $58, $58, $48, $01,  $58, $60, $4a, $01,  $58, $68, $4c, $01,  $58, $70, $4e, $01
+; 10ed51
+
+
+Function10ed51: ; 10ed51
+	call _TitleScreen
+.loop
+	call Functiona57
+	ld a, [$ffa9]
+	ld b, a
+	and 1
+	jr nz, .done
+	call Function10eea7
+	call DelayFrame
+	jr .loop
+.done
+	ret
+; 10ed67
--- a/wram.asm
+++ b/wram.asm
@@ -4,7 +4,7 @@
 	ds ((\1) + 7) / 8
 ENDM
 
-box_struct_length EQU 32
+box_struct_length EQU 24 + NUM_MOVES * 2
 box_struct: MACRO
 \1Species::        db
 \1Item::           db
@@ -801,7 +801,7 @@
 PlayerUsedMoves:: ; c712
 ; add a move that has been used once by the player
 ; added in order of use
-	ds 4
+	ds NUM_MOVES
 
 wc716:: ds 1
 wc717:: ds 1
--