ref: 355aeb0a2f4c4c3a26ee76bc51fd258156873f63
parent: 7b87e67a8939eb6e11e114c485443ca18528bfea
author: yenatch <yenatch@gmail.com>
date: Thu Jan 1 16:29:23 EST 2015
Tripped over a mobile jumptable.
--- a/main.asm
+++ b/main.asm
@@ -103179,15 +103179,15 @@
Function101225: ; 101225
ld d, 1
- ld e, BANK(Unknown_101297)
- ld bc, Unknown_101297
+ ld e, BANK(Jumptable_101297)
+ ld bc, Jumptable_101297
call Function100000
jr Function10123d
Function101231: ; 101231
ld d, 2
- ld e, BANK(Unknown_101297)
- ld bc, Unknown_101297
+ ld e, BANK(Jumptable_101297)
+ ld bc, Jumptable_101297
call Function100000
jr Function10123d
@@ -103261,9 +103261,155 @@
ret
; 101297
-Unknown_101297: ; 101297
-INCBIN "baserom.gbc",$101297,$1013aa - $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, [$cd2f]
+ and a
+ jr z, .asm_10139f
+ inc c
+
+.asm_10139f
+ sla c
+ ld a, [$cd21]
+ cp $1
+ jr z, .asm_1013a9
+ inc c
+
+.asm_1013a9
+ ret
+; 1013aa
+
Function1013aa: ; 1013aa
call WhiteBGMap
call Function1d7d
@@ -103274,7 +103420,13 @@
ret
; 1013c0
-INCBIN "baserom.gbc",$1013c0,$1013d6 - $1013c0
+Function1013c0: ; 1013c0
+ callba Function8000
+ callba Function106462
+ callba Function106464
+ call Function2b5c
+ ret
+; 1013d6
Function1013d6: ; 1013d6
callba Function104000
@@ -103281,8 +103433,66 @@
ret
; 1013dd
-INCBIN "baserom.gbc",$1013dd,$10142c - $1013dd
+Function1013dd: ; 1013dd
+ call Function3238
+ ret
+; 1013e1
+INCBIN "baserom.gbc", $1013e1, $1013f5 - $1013e1
+
+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
+
+INCBIN "baserom.gbc", $101400, $101406 - $101400
+
+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 $5
+ cp $5
+ jr z, .asm_101425
+ xor a
+ ret
+
+.asm_101425
+ ld a, $f7
+ ld [$cd2b], a
+ scf
+ ret
+; 10142c
+
Function10142c: ; 10142c
ld a, $1
ld [$c305], a
@@ -103290,8 +103500,1518 @@
ret
; 101438
-INCBIN "baserom.gbc",$101438,$101ee4 - $101438
+Function101438: ; 101438
+ ld hl, $cd29
+ set 6, [hl]
+ ld a, [$cd26]
+ ld hl, Jumptable_101457
+ rst JumpTable
+ ld a, [$cd26]
+ bit 7, a
+ ret z
+ ld a, $0
+ ld [$cd26], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101457
+Jumptable_101457: ; 101457
+ dw Function10145b
+ dw Function101467
+; 10145b
+
+Function10145b: ; 10145b
+ ld a, $3c
+ ld [$cd42], a
+ ld a, [$cd26]
+ inc a
+ ld [$cd26], a
+
+Function101467: ; 101467
+ ld hl, $cd42
+ dec [hl]
+ ret nz
+ ld a, [$cd26]
+ set 7, a
+ ld [$cd26], a
+ ret
+; 101475
+
+Function101475: ; 101475
+ ld hl, $cd29
+ set 6, [hl]
+ ld a, [$cd26]
+ ld hl, Jumptable_101494
+ rst JumpTable
+ ld a, [$cd26]
+ bit 7, a
+ ret z
+ ld a, $0
+ ld [$cd26], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101494
+
+Jumptable_101494: ; 101494
+ dw Function10149a
+ dw Function1014a6
+ dw Function1014b7
+; 10149a
+
+Function10149a: ; 10149a
+ ld a, $28
+ ld [$cd42], a
+ ld a, [$cd26]
+ inc a
+ ld [$cd26], a
+
+Function1014a6: ; 1014a6
+ ld hl, $cd42
+ dec [hl]
+ ret nz
+ ld a, $50
+ ld [$cd42], a
+ ld a, [$cd26]
+ inc a
+ ld [$cd26], a
+
+Function1014b7: ; 1014b7
+ call GetJoypad
+ ld a, [hJoyPressed]
+ and $3
+ jr nz, .asm_1014c5
+ ld hl, $cd42
+ dec [hl]
+ ret nz
+
+.asm_1014c5
+ ld a, [$cd26]
+ set 7, a
+ ld [$cd26], a
+ ret
+; 1014ce
+
+Function1014ce: ; 1014ce
+ callba Function100720
+ callba Function100641
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 1014e2
+
+Function1014e2: ; 1014e2
+ ld hl, $cd29
+ set 6, [hl]
+ ld a, $0
+ ld [$cd26], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 1014f4
+
+Function1014f4: ; 1014f4
+ callba Function100082
+ ld hl, $cd29
+ set 6, [hl]
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101507
+
+Function101507: ; 101507
+ ld de, $cd30
+ ld hl, $0040
+ ld bc, $0040
+ ld a, $2
+ call Function3e32
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 10151d
+
+INCBIN "baserom.gbc", $10151d, $10152a - $10151d
+
+Function10152a: ; 10152a
+ ld a, $36
+ call Function3e32
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101537
+
+Function101537: ; 101537
+ ld a, $a
+ call Function3e32
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101544
+
+Function101544: ; 101544
+ callba Function100641
+ ld a, $12
+ call Function3e32
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101557
+
+Function101557: ; 101557
+ callba Function100641
+ ld hl, $cd53
+ ld a, $8
+ call Function3e32
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], 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 [$cd2b], a
+ ret
+
+.asm_101582
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 10158a
+
+Function10158a: ; 10158a
+ callba Function10064c
+ ld a, [$cd44]
+ cp $a
+ jr c, Function10156d
+ ld a, $fb
+ ld [$cd2b], 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 [$cd26], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], 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 [$cd26], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], 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 [$cd26], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], 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, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 10161f
+
+Function10161f: ; 10161f
+ call Function101649
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 10162a
+
+Function10162a: ; 10162a
+ call Function101663
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], 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, $da00
+ call Function10163f
+ ret
+; 10165a
+
+Function10165a: ; 10165a
+ ld a, $5
+ ld hl, $da00
+ call Function101635
+ ret
+; 101663
+
+Function101663: ; 101663
+ ld a, $5
+ ld hl, $d800
+ call Function101635
+ ld a, $5
+ ld de, $dc00
+ call Function10163f
+ ret
+; 101674
+
+INCBIN "baserom.gbc", $101674, $10167d - $101674
+
+Function10167d: ; 10167d
+ ld a, $0
+ ld [$cd26], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], 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, [$cd26]
+ ld hl, Jumptable_1016c3
+ rst JumpTable
+ ld hl, $cd29
+ set 6, [hl]
+ ld a, [$cd26]
+ bit 7, a
+ ret z
+ ld a, $0
+ ld [$cd26], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 1016c3
+
+Jumptable_1016c3: ; 1016c3
+ dw Function1016cf
+ dw Function1016de
+ dw Function1016f8
+ dw Function101705
+ dw Function101719
+ dw Function101724
+; 1016cf
+
+Function1016cf: ; 1016cf
+ ld hl, $cd3a
+ inc [hl]
+ call Function10176f
+ ld a, [$cd26]
+ inc a
+ ld [$cd26], a
+ ret
+; 1016de
+
+Function1016de: ; 1016de
+ call Function10177b
+ jr nc, .asm_1016eb
+ ld a, [$cd26]
+ inc a
+ ld [$cd26], a
+ ret
+
+.asm_1016eb
+ ld a, $ff
+ ld [$cd39], a
+ ld a, [$cd26]
+ inc a
+ ld [$cd26], a
+ ret
+; 1016f8
+
+Function1016f8: ; 1016f8
+ ld a, $0
+ ld [$cd27], a
+ ld a, [$cd26]
+ inc a
+ ld [$cd26], a
+ ret
+; 101705
+
+Function101705: ; 101705
+ callba Function100382
+ ld a, [$cd27]
+ bit 7, a
+ ret z
+ ld a, [$cd26]
+ inc a
+ ld [$cd26], a
+ ret
+; 101719
+
+Function101719: ; 101719
+ call Function1017c7
+ ld a, [$cd26]
+ inc a
+ ld [$cd26], a
+ ret
+; 101724
+
+Function101724: ; 101724
+ ld a, [$cd39]
+ cp $ff
+ jr z, .asm_101731
+ ld a, $0
+ ld [$cd26], a
+ ret
+
+.asm_101731
+ ld a, [$cd26]
+ set 7, a
+ ld [$cd26], a
+ ret
+; 10173a
+
+INCBIN "baserom.gbc", $10173a, $10173b - $10173a
+
+Function10173b: ; 10173b
+ push bc
+ push af
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [$573a]
+ ld c, a
+ ld b, $0
+ pop af
+ call AddNTimes
+ pop bc
+ ret
+; 10174c
+
+Function10174c: ; 10174c
+ ld [$cd3d], a
+ ld a, l
+ ld [$cd3e], a
+ ld a, h
+ ld [$cd3f], a
+ ld a, e
+ ld [$cd3b], a
+ ld a, d
+ ld [$cd3c], a
+ ld a, c
+ ld [$cd40], a
+ ld a, b
+ ld [$cd41], a
+ xor a
+ ld [$cd39], a
+ ld [$cd3a], a
+ ret
+; 10176f
+
+Function10176f: ; 10176f
+ ld hl, $ccb4
+ ld bc, $0054
+ ld a, $11
+ call ByteFill
+ ret
+; 10177b
+
+Function10177b: ; 10177b
+ ld a, [$573a]
+ ld c, a
+ ld b, $0
+ ld a, [$cd3a]
+ ld hl, NULL
+ call AddNTimes
+ ld e, l
+ ld d, h
+ ld hl, $cd40
+ 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 [$cd39], 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 [$ccb4], a
+ push bc
+ ld a, [$cd3a]
+ dec a
+ ld hl, $cd3b
+ call Function10173b
+ pop bc
+ ld de, $ccb5
+ call CopyBytes
+ ret
+; 1017c7
+
+Function1017c7: ; 1017c7
+ ld a, [$cc60]
+ ld c, a
+ ld b, $0
+ ld a, [$cd3a]
+ dec a
+ ld hl, $cd3e
+ call Function10173b
+ ld e, l
+ ld d, h
+ ld hl, $cc61
+ ld a, [$cd3d]
+ call FarCopyWRAM
+ and a
+ ret
+; 1017e4
+
+Function1017e4: ; 1017e4
+ ld a, $0
+ ld [$cd27], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], 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, [$cd27]
+ bit 7, a
+ jr nz, .asm_10181e
+ ld hl, $cd29
+ set 6, [hl]
+ ret
+
+.asm_10181e
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101826
+
+Function101826: ; 101826
+ ld a, [$cd21]
+ cp $2
+ jr z, .asm_101833
+ cp $1
+ jr z, .asm_101844
+ jr .asm_101869
+
+.asm_101833
+ ld hl, $586f
+ ld de, $ccb4
+ call Function1013f5
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+
+.asm_101844
+ callba Function103654
+ ld a, c
+ ld hl, $5882
+ cp $1
+ jr z, .asm_10185b
+ ld hl, $5895
+ cp $2
+ jr z, .asm_10185b
+ jr .asm_101869
+
+.asm_10185b
+ ld de, $ccb4
+ call Function1013f5
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+
+.asm_101869
+ ld a, $fe
+ ld [$cd2b], a
+ ret
+; 10186f
+
+INCBIN "baserom.gbc", $10186f, $1018a8 - $10186f
+
+Function1018a8: ; 1018a8
+ ld hl, $ccb5
+ ld de, $cc61
+ ld a, $4
+ call Function101406
+ jr c, .asm_1018d0
+ ld hl, $ccb9
+ ld de, $cc65
+ ld a, $6
+ call Function101406
+ jr c, .asm_1018ca
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+
+.asm_1018ca
+ ld a, $f6
+ ld [$cd2b], a
+ ret
+
+.asm_1018d0
+ ld a, $f5
+ ld [$cd2b], a
+ ret
+; 1018d6
+
+Function1018d6: ; 1018d6
+ call Function1018ec
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 1018e1
+
+Function1018e1: ; 1018e1
+ call Function1018fb
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 1018ec
+
+Function1018ec: ; 1018ec
+ ld a, $a
+ ld hl, $ccb4
+ 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, [$cd2f]
+ and a
+ jr z, .asm_101906
+ ld hl, $cc61
+ jr .asm_101909
+
+.asm_101906
+ ld hl, $ccb5
+
+.asm_101909
+ ld de, LinkBattleRNs
+ ld bc, $000a
+ call CopyBytes
+ ret
+; 101913
+
+Function101913: ; 101913
+ ld hl, $cd2a
+ set 0, [hl]
+ xor a
+ ld [$c30d], a
+ ld hl, $cd29
+ res 4, [hl]
+ xor a
+ ld [$c305], a
+ ld hl, $cd29
+ res 7, [hl]
+ ld a, $90
+ ld [hWY], a
+ ld a, [$cd21]
+ cp $1
+ jr z, .asm_10193f
+ cp $2
+ jr z, .asm_101945
+ ld a, $71
+ ld [$cd25], a
+ ret
+
+.asm_10193f
+ ld a, $66
+ ld [$cd25], a
+ ret
+
+.asm_101945
+ ld a, $65
+ ld [$cd25], a
+ ret
+; 10194b
+
+Function10194b: ; 10194b
+ call Function2ed3
+ call ClearSprites
+ callba Function1021f9
+ ld hl, $cd29
+ bit 3, [hl]
+ jr nz, .asm_101967
+ call Function1013c0
+ ld a, $71
+ ld [$cd25], a
+ ret
+
+.asm_101967
+ ld a, $60
+ ld [$cd25], a
+ ret
+; 10196d
+
+Function10196d: ; 10196d
+ callba Function8000
+ callba Function10060d
+ ld hl, $cd29
+ set 5, [hl]
+ ld hl, $cd2a
+ set 6, [hl]
+ ld a, $6
+ ld [$ccb4], a
+ ld hl, $dc5c
+ ld de, $ccb5
+ ld bc, $0003
+ call CopyBytes
+ ld hl, $cd6c
+ ld a, [hli]
+ ld [$ccb8], a
+ ld a, [hli]
+ ld [$ccb9], a
+ ld a, [hl]
+ ld [$ccba], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 1019ab
+
+Function1019ab: ; 1019ab
+ call Function101a75
+ callba Function100754
+ xor a
+ ld [$dc5f], a
+ ld [$dc60], a
+ callba Function8000
+ call SpeechTextBox
+ callba Function100846
+ ld c, $78
+ call DelayFrames
+ callba ClearTileMap
+ call Function1019ee
+ call Function101a21
+ ld a, [$cd2b]
+ cp $fc
+ jr nz, .asm_1019e6
+ xor a
+ ld [$cd2b], a
+
+.asm_1019e6
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 1019ee
+
+Function1019ee: ; 1019ee
+ ld a, [rSVBK]
+ push af
+ ld a, $5
+ ld [rSVBK], a
+ ld bc, $dc0d
+ ld de, Plant
+ callba Function4e929
+ pop af
+ ld [rSVBK], a
+ ld a, c
+ ld [OtherTrainerClass], a
+ ld hl, $d26b
+ ld de, $c656
+ ld bc, $000b
+ call CopyBytes
+ ld a, [$cd2f]
+ 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 [$c2d7], a
+ callba Function3f4dd
+ callba BattleCore
+ callba Function3f759
+ xor a
+ ld [$c2d7], a
+ ld a, $ff
+ ld [$ffcb], a
+ pop af
+ ld [Options], a
+ ret
+; 101a4f
+
+Function101a4f: ; 101a4f
+ ld a, $1
+ ld [$c2d7], a
+ callba Function3f77c
+ xor a
+ ld [$c2d7], a
+ callba Function3f6d0
+ callba Function1500c
+ call Function1013c0
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101a75
+
+Function101a75: ; 101a75
+ ld hl, $cc61
+ ld de, $cd75
+ ld bc, $0003
+ call CopyBytes
+ ld de, $cc64
+ callba Function100772
+ callba Function101050
+ callba Function1010f2
+ ret
+; 101a97
+
+Function101a97: ; 101a97
+ callba Function115d99
+ ld hl, $cd29
+ set 7, [hl]
+ ld c, $2
+ call Function10142c
+ ld hl, $cd29
+ set 6, [hl]
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101ab4
+
+Function101ab4: ; 101ab4
+ ld e, $1
+ call Function101ee4
+ ld hl, $cd29
+ set 5, [hl]
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101ac6
+
+Function101ac6: ; 101ac6
+ callba Function115d99
+ ld hl, $cd29
+ set 7, [hl]
+ ld c, $2
+ call Function10142c
+ ld hl, $cd29
+ set 6, [hl]
+ xor a
+ ld [$cd2f], a
+ ld de, $dc42
+ call Function102068
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101aed
+
+Function101aed: ; 101aed
+ callba Function115d99
+ ld hl, $cd29
+ set 7, [hl]
+ ld c, $2
+ call Function10142c
+ ld hl, $cd29
+ set 6, [hl]
+ ld a, $1
+ ld [$cd2f], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101b0f
+
+Function101b0f: ; 101b0f
+ ld c, $0
+ call Function10142c
+ ld e, $3
+ call Function101ee4
+ ld hl, $cd29
+ set 5, [hl]
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ld a, $0
+ ld [$cd26], a
+ ret
+; 101b2b
+
+Function101b2b: ; 101b2b
+ callba Function100579
+ ld hl, $cd29
+ set 2, [hl]
+ ld a, [$cd26]
+ bit 7, a
+ ret z
+ call Function1013dd
+ ld a, $0
+ ld [$cd26], a
+ ld a, [$cfa9]
+ cp $1
+ jr z, .asm_101b51
+ ld a, $2
+ ld [$cd2b], a
+ ret
+
+.asm_101b51
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101b59
+
+Function101b59: ; 101b59
+ ld c, $2
+ call Function10142c
+ ld e, $2
+ call Function101ee4
+ ld hl, $cd29
+ set 5, [hl]
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101b70
+
+Function101b70: ; 101b70
+ ld c, $2
+ call Function10142c
+ ld e, $4
+ call Function101ee4
+ ld hl, $cd29
+ set 5, [hl]
+ call Function1ad2
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ld a, $0
+ ld [$cd26], a
+ ret
+; 101b8f
+
+Function101b8f: ; 101b8f
+ callba Function1005c3
+ ld hl, $cd29
+ set 2, [hl]
+ ld a, [$cd26]
+ bit 7, a
+ ret z
+ call Function1013dd
+ ld a, $0
+ ld [$cd26], a
+ ld a, [$cfa9]
+ cp $1
+ jr z, .asm_101bbc
+ ld a, $1
+ ld [$cd2f], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+
+.asm_101bbc
+ xor a
+ ld [$cd2f], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101bc8
+
+Function101bc8: ; 101bc8
+ ld c, $2
+ call Function10142c
+ ld e, $8
+ call Function101ee4
+ call Function102048
+ call Function1013dd
+ ld a, $0
+ ld [$cd26], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101be5
+
+Function101be5: ; 101be5
+ callba Function100579
+ ld hl, $cd29
+ set 2, [hl]
+ ld a, [$cd26]
+ bit 7, a
+ ret z
+ call Function1013dd
+ ld a, $0
+ ld [$cd26], a
+ ld a, [$cfa9]
+ cp $1
+ jr nz, .asm_101c0b
+ ld a, $2a
+ ld [$cd25], a
+ ret
+
+.asm_101c0b
+ ld a, $2
+ ld [$cd2b], a
+ ret
+; 101c11
+
+Function101c11: ; 101c11
+ ld a, $1
+ ld [$dc5f], a
+ ld e, $9
+ call Function101ee4
+ call Function102048
+ ld hl, $cd29
+ set 5, [hl]
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101c2b
+
+Function101c2b: ; 101c2b
+ ld a, $2
+ ld [$dc5f], a
+ ld e, $7
+ call Function101ee4
+ ld hl, $cd29
+ set 5, [hl]
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101c42
+
+Function101c42: ; 101c42
+ ld hl, $cd2a
+ set 1, [hl]
+ call Function100665
+ ld a, $47
+ ld [$cd25], a
+ ret
+; 101c50
+
+Function101c50: ; 101c50
+ ld e, $a
+ call Function101ee4
+ ld hl, $cd29
+ set 2, [hl]
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101c62
+
+Function101c62: ; 101c62
+ callba Function115d99
+ ld hl, $cd29
+ set 7, [hl]
+ ld c, $1
+ call Function10142c
+ xor a
+ ld [$c30d], a
+ ld hl, $cd29
+ res 4, [hl]
+ ld e, $b
+ call Function101ee4
+ ld hl, $cd29
+ set 5, [hl]
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ld a, $0
+ ld [$cd26], a
+ ret
+; 101c92
+
+Function101c92: ; 101c92
+ callba Function100675
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101ca0
+
+Function101ca0: ; 101ca0
+ ld c, $2
+ call Function10142c
+ ld e, $c
+ call Function101ee4
+ ld hl, $cd29
+ set 5, [hl]
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ld a, $0
+ ld [$cd26], a
+ ret
+; 101cbc
+
+Function101cbc: ; 101cbc
+ ld a, $1
+ ld [$cd2b], a
+ ret
+; 101cc2
+
+INCBIN "baserom.gbc", $101cc2, $101cc8 - $101cc2
+
+Function101cc8: ; 101cc8
+ ld a, $1
+ ld [$c314], a
+ ld a, $1
+ ld [$c30d], a
+ ld hl, $cd29
+ set 4, [hl]
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101cdf
+
+Function101cdf: ; 101cdf
+ ld a, $6
+ ld [$c314], a
+ ld a, $1
+ ld [$c30d], a
+ ld hl, $cd29
+ set 4, [hl]
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101cf6
+
+Function101cf6: ; 101cf6
+ ld a, $b
+ ld [$c315], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101d03
+
+Function101d03: ; 101d03
+ ld a, $e
+ ld [$c315], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101d10
+
+Function101d10: ; 101d10
+ ld c, $1
+ call Function10142c
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ jr Function101d2a
+
+Function101d1e: ; 101d1e
+ ld c, $3
+ call Function10142c
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+
+Function101d2a: ; 101d2a
+ call Function101418
+ ret c
+ ld hl, $cd29
+ set 6, [hl]
+ ld a, [$cd26]
+ ld hl, Jumptable_101d4d
+ rst JumpTable
+ ld a, [$cd26]
+ bit 7, a
+ ret z
+ ld a, $0
+ ld [$cd26], a
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+; 101d4d
+
+Jumptable_101d4d: ; 101d4d
+ dw Function101d51
+ dw Function101d5d
+; 101d51
+
+Function101d51: ; 101d51
+ ld a, $3c
+ ld [$cd42], a
+ ld a, [$cd26]
+ inc a
+ ld [$cd26], a
+
+Function101d5d: ; 101d5d
+ ld hl, $cd42
+ dec [hl]
+ ret nz
+ ld a, [$cd26]
+ set 7, a
+ ld [$cd26], a
+ ret
+; 101d6b
+
+Function101d6b: ; 101d6b
+ ld a, [$c30d]
+ and a
+ ret nz
+ ld hl, $cd29
+ res 4, [hl]
+ ld a, $64
+ ld [$cd25], a
+ ret
+; 101d7b
+
+Function101d7b: ; 101d7b
+ callba Function10138b
+ ld b, $0
+ ld hl, $5d8d
+ add hl, bc
+ ld c, [hl]
+ ld a, c
+ ld [$cd25], a
+ ret
+; 101d8d
+
+INCBIN "baserom.gbc", $101d8d, $101d95 - $101d8d
+
+Function101d95: ; 101d95
+ call Function101ee2
+ call Function1d6e
+ ld e, $e
+ call Function101ee4
+ ld hl, $cd29
+ set 5, [hl]
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ld a, $0
+ ld [$cd26], a
+ ret
+; 101db2
+
+Function101db2: ; 101db2
+ callba Function103302
+ call Function1c07
+ ld hl, $cd29
+ set 5, [hl]
+ jr c, .asm_101dca
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+
+.asm_101dca
+ ld a, $2
+ ld [$cd2b], a
+ ret
+; 101dd0
+
+Function101dd0: ; 101dd0
+ ld hl, $dc41
+ bit 1, [hl]
+ jr nz, .asm_101ddd
+ ld a, $19
+ ld [$cd25], a
+ ret
+
+.asm_101ddd
+ ld a, $1b
+ ld [$cd25], a
+ ret
+; 101de3
+
+Function101de3: ; 101de3
+ call Function101ecc
+ call Function101ead
+ jr c, .asm_101df3
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+
+.asm_101df3
+ call Function101e98
+ jr c, .asm_101e00
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+
+.asm_101e00
+ call Function101ed3
+ ld a, $2
+ ld [$cd2b], a
+ ret
+; 101e09
+
+Function101e09: ; 101e09
+ call Function101ead
+ jr c, .asm_101e16
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+
+.asm_101e16
+ call Function101ecc
+ call Function101e98
+ push af
+ call Function101ed3
+ pop af
+ jr c, .asm_101e2b
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ret
+
+.asm_101e2b
+ ld a, $2
+ ld [$cd2b], a
+ ret
+; 101e31
+
+Function101e31: ; 101e31
+ ld a, $3a
+ ld [$cd25], a
+ jp Function101c2b
+; 101e39
+
+Function101e39: ; 101e39
+ call Function1020bf
+ push af
+ call Function101ed3
+ pop af
+ jr c, .asm_101e49
+ ld a, $2a
+ ld [$cd25], a
+ ret
+
+.asm_101e49
+ ld a, $2
+ ld [$cd2b], a
+ ret
+; 101e4f
+
+Function101e4f: ; 101e4f
+ ld e, $6
+ call Function101ee4
+ call Function1013d6
+ ld a, [$cd25]
+ inc a
+ ld [$cd25], a
+ ld a, $0
+ ld [$cd26], a
+ ret
+; 101e64
+
+Function101e64: ; 101e64
+ call Function101ecc
+ call Function1020a8
+ push af
+ call Function101ed3
+ pop af
+ jr c, .asm_101e77
+ ld a, $24
+ ld [$cd25], a
+ ret
+
+.asm_101e77
+ ld hl, $cd29
+ set 5, [hl]
+ ld a, $2
+ ld [$cd2b], a
+ ret
+; 101e82
+
+INCBIN "baserom.gbc", $101e82, $101e98 - $101e82
+
+Function101e98: ; 101e98
+ call ClearSprites
+ callba Function8adb3
+ ret c
+ ld hl, GameTimerPause
+ set 7, [hl]
+ ld hl, $dc41
+ set 4, [hl]
+ ret
+; 101ead
+
+Function101ead: ; 101ead
+ ld hl, GameTimerPause
+ bit 7, [hl]
+ jr nz, .asm_101ec8
+ ld hl, $dc41
+ bit 2, [hl]
+ jr z, .asm_101eca
+ ld a, [$cd2f]
+ and a
+ jr nz, .asm_101ec8
+ ld hl, $dc41
+ 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, $cd29
+ set 7, [hl]
+ ret
+; 101ee2
+
+Function101ee2: ; 101ee2
+ ld e, $0
+
Function101ee4: ; 101ee4
ld d, $0
ld hl, $5ef5
@@ -103319,8 +105039,77 @@
ret
; 102048
-INCBIN "baserom.gbc",$102048,$10209c - $102048
+Function102048: ; 102048
+ call Function10204c
+ ret
+; 10204c
+Function10204c: ; 10204c
+ ld hl, $c4cb
+ ld c, $10
+ ld de, $cd53
+.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, $cd53
+ 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, $dc42
+ ld bc, $0008
+ call CopyBytes
+ pop de
+ ret
+; 10209c
+
Function10209c: ; 10209c
ld a, $ff
ld hl, $dc42
@@ -103329,8 +105118,43 @@
ret
; 1020a8
-INCBIN "baserom.gbc",$1020a8,$1020ea - $1020a8
+Function1020a8: ; 1020a8
+ call Function10209c
+ ld c, $1
+ ld de, $dc42
+ 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, $dc41
bit 4, [hl]
@@ -103471,9 +105295,2386 @@
ret
; 1021ea
-INCBIN "baserom.gbc",$1021ea,$103612 - $1021ea
+INCBIN "baserom.gbc", $1021ea, $1021f9 - $1021ea
-Function103612: ; 103612
+Function1021f9: ; 1021f9
+ call Function102233
+ ld a, $0
+ ld [$cd49], a
+ ld hl, $cd29
+ bit 3, [hl]
+ res 3, [hl]
+ jr z, .asm_10220f
+ ld a, $1
+ ld [$cd49], a
+
+.asm_10220f
+ call Function1022ca
+ ld a, [$cd49]
+ ld hl, Jumptable_1022f5
+ rst JumpTable
+ call Function102241
+ call Function1022d0
+ jr c, .asm_102231
+ ld a, [$cd49]
+ bit 7, a
+ jr z, .asm_10220f
+ xor a
+ ld hl, $cd29
+ bit 3, [hl]
+ ret z
+ scf
+ ret
+
+.asm_102231
+ xor a
+ ret
+; 102233
+
+Function102233: ; 102233
+ ld hl, $cd49
+ 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, $cd4b
+ 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, $cd4b
+ bit 0, [hl]
+ ret z
+ call Function10305d
+ ret
+; 102274
+
+Function102274: ; 102274
+ ld hl, $cd4b
+ 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, $cd4b
+ set 0, [hl]
+ ret
+; 10228e
+
+Function10228e: ; 10228e
+ xor a
+ ld [AttrMapEnd], a
+ ld hl, $cd4b
+ res 0, [hl]
+ ret
+; 102298
+
+Function102298: ; 102298
+ ld a, e
+ cp $2
+ ret nz
+ ld hl, $cd4b
+ bit 6, [hl]
+ jr z, .asm_1022b6
+ ld hl, $cd4b
+ bit 7, [hl]
+ ld hl, $cd4b
+ set 7, [hl]
+ ret nz
+ ld de, $0027
+ call PlaySFX
+ jr .asm_1022c1
+
+.asm_1022b6
+ ld hl, $cd4b
+ bit 7, [hl]
+ ld hl, $cd4b
+ res 7, [hl]
+ ret z
+
+.asm_1022c1
+ call Function10304f
+ ld a, $1
+ ld [AttrMapEnd], a
+ ret
+; 1022ca
+
+Function1022ca: ; 1022ca
+ ld a, $1e
+ ld [OverworldDelay], a
+ ret
+; 1022d0
+
+Function1022d0: ; 1022d0
+ callba Function10032e
+ ld a, [$cd2b]
+ and a
+ jr nz, .asm_1022f3
+ call Function102298
+ ld a, [OverworldDelay]
+ ld c, a
+ ld a, $1e
+ 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, $cd4b
+ set 1, [hl]
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 102361
+
+Function102361: ; 102361
+ ld a, $cc
+ call Function1028e8
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 10236e
+
+Function10236e: ; 10236e
+ call Function1028fc
+ ret nc
+ ld a, [$cd51]
+ cp $cc
+ jr z, .asm_10237f
+ ld a, $f2
+ ld [$cd2b], a
+ ret
+
+.asm_10237f
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 102387
+
+Function102387: ; 102387
+ ld hl, $cd4b
+ set 6, [hl]
+ xor a
+ ld [$dc5f], a
+ ld de, MUSIC_ROUTE_30
+ call PlayMusic
+ call Function102d9a
+ call Function102dd3
+ ld a, $1
+ ld [$cfa9], a
+
+Function1023a1: ; 1023a1
+ call Function102283
+ call Function102db7
+ call Function102dec
+ ld hl, $cd4b
+ set 1, [hl]
+ ld a, $1d
+ ld [$cd49], a
+ ret
+; 1023b5
+
+Function1023b5: ; 1023b5
+ call Function10228e
+ call Function102a3b
+ call Function102b12
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 1023c6
+
+Function1023c6: ; 1023c6
+ call Function102c48
+ call Function102c87
+ ld a, [$cd4c]
+ dec a
+ ld [CurPartyMon], a
+ xor a
+ ld [$d10b], 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 [$cd4c], a
+ call Function102c07
+ call Function102d48
+ call Function102b32
+ call Function102f50
+ ld hl, $cd4b
+ set 1, [hl]
+ ld a, $14
+ ld [$cd4e], a
+ ld a, $0
+ ld [$cd4f], a
+ ld a, $0
+ ld [$cd4a], a
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 102416
+
+Function102416: ; 102416
+ ld a, $aa
+ call Function1028e8
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 102423
+
+Function102423: ; 102423
+ call Function102921
+ ret nc
+ callba Function14a58
+ callba Function1060af
+ callba Function106187
+ ld hl, $cd4b
+ set 1, [hl]
+ ld a, $0
+ ld [$cd4a], a
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 10244b
+
+Function10244b: ; 10244b
+ call Function102f32
+ ld hl, $cd4b
+ set 1, [hl]
+ ld a, $19
+ ld [$cd4e], a
+ ld a, $0
+ ld [$cd4f], a
+ ld a, $0
+ ld [$cd4a], a
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 10246a
+
+Function10246a: ; 10246a
+ call Function102d9a
+ ld hl, $cd29
+ set 3, [hl]
+ call Function102e07
+ ld hl, $cd4b
+ set 1, [hl]
+ ld a, $2a
+ ld [$cd49], a
+ ret
+; 102480
+
+INCBIN "baserom.gbc", $102480, $10248d - $102480
+
+Function10248d: ; 10248d
+ ld a, [$cd49]
+ set 7, a
+ ld [$cd49], a
+ ret
+; 102496
+
+INCBIN "baserom.gbc", $102496, $1024a8 - $102496
+
+Function1024a8: ; 1024a8
+ callba Function1009f3
+ ret c
+
+Function1024af: ; 1024af
+ call GetJoypad
+ ld a, [$cd4a]
+ ld hl, Jumptable_1024ba
+ rst JumpTable
+ ret
+; 1024ba
+
+Jumptable_1024ba: ; 1024ba
+ dw Function1024c0
+ dw Function1024cb
+ dw Function1024de
+; 1024c0
+
+Function1024c0: ; 1024c0
+ ld hl, $cd4e
+ inc [hl]
+ ld a, [$cd4a]
+ inc a
+ ld [$cd4a], a
+
+Function1024cb: ; 1024cb
+ ld hl, $cd4e
+ dec [hl]
+ ret nz
+ ld a, [$cd4f]
+ inc a
+ ld [$cd4e], a
+ ld a, [$cd4a]
+ inc a
+ ld [$cd4a], a
+
+Function1024de: ; 1024de
+ ld hl, $cd4e
+ dec [hl]
+ jr z, .asm_1024e9
+ ld a, [hJoyPressed]
+ and $3
+ ret z
+
+.asm_1024e9
+ ld a, $0
+ ld [$cd4a], a
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 1024f6
+
+Function1024f6: ; 1024f6
+ call Function1bee
+ ld hl, $cd4b
+ set 1, [hl]
+ ld a, [$cd4c]
+ call Function1028e8
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 10250c
+
+Function10250c: ; 10250c
+ call Function1028fc
+ ret nc
+ ld a, [$cd51]
+ 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 [$cd4d], a
+ dec a
+ ld [$d003], a
+ ld a, [$cd4c]
+ dec a
+ ld [DefaultFlypoint], a
+ call Function102b9c
+ call Function102bdc
+ jr c, .asm_10256d
+ callba Functionfb5dd
+ jr c, .asm_102568
+ ld hl, $cd4b
+ set 1, [hl]
+ ld a, $e
+ ld [$cd49], a
+ ret
+
+.asm_10254b
+ call Function103021
+ ld hl, $cd4b
+ set 1, [hl]
+ ld a, $0
+ ld [$cd4a], a
+ ld a, $1e
+ ld [$cd4e], a
+ ld a, $1e
+ ld [$cd4f], a
+ ld a, $29
+ ld [$cd49], 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, $cd4b
+ set 1, [hl]
+ ld a, $0
+ ld [$cd4a], a
+ ld a, $1e
+ ld [$cd4e], a
+ ld a, $3c
+ ld [$cd4f], a
+ ld a, $9
+ ld [$cd49], a
+ ret
+; 102591
+
+Function102591: ; 102591
+ call Function102ee7
+ ld hl, $cd4b
+ set 1, [hl]
+ ld a, $0
+ ld [$cd4a], a
+ ld a, $1e
+ ld [$cd4e], a
+ ld a, $3c
+ ld [$cd4f], a
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 1025b0
+
+Function1025b0: ; 1025b0
+ ld a, $9
+ call Function1028e8
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 1025bd
+
+Function1025bd: ; 1025bd
+ call Function1028fc
+ ret nc
+ ld a, $4
+ ld [$cd49], a
+ ret
+; 1025c7
+
+Function1025c7: ; 1025c7
+ call Function102f6d
+ ld hl, $cd4b
+ set 1, [hl]
+ ld a, $f
+ call Function1028e8
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 1025dc
+
+Function1025dc: ; 1025dc
+ call Function1028fc
+ ret nc
+ ld a, [$cd49]
+ set 7, a
+ ld [$cd49], a
+ ret
+; 1025e9
+
+Function1025e9: ; 1025e9
+ nop
+ ld hl, $cd4b
+ set 6, [hl]
+ call Function102b4e
+ ld hl, $cd4b
+ set 1, [hl]
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 1025ff
+
+Function1025ff: ; 1025ff
+ ld hl, $cd4b
+ set 2, [hl]
+ callba Function1009f3
+ ret c
+ callba Function241ba
+ ld a, [$cfa8]
+ 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, $cd4b
+ set 3, [hl]
+ ld a, $27
+ ld [$cd49], a
+ ret
+
+.asm_10262e
+ ld a, [$cfa9]
+ ld b, a
+ ld a, [OTPartyCount]
+ cp b
+ ret nz
+ call Function1bf7
+ ld a, [PartyCount]
+ ld [$cfa9], a
+ ld a, $1d
+ ld [$cd49], a
+ ret
+
+.asm_102646
+ ld a, [$cfa9]
+ cp $1
+ ret nz
+ ld a, $23
+ ld [$cd49], a
+ ret
+; 102652
+
+Function102652: ; 102652
+ nop
+ ld hl, $cd4b
+ set 6, [hl]
+ nop
+ call Function102b7b
+ nop
+ ld hl, $cd4b
+ set 1, [hl]
+ nop
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 10266b
+
+Function10266b: ; 10266b
+ ld hl, $cd4b
+ set 2, [hl]
+ callba Function1009f3
+ ret c
+ callba Function241ba
+ ld a, [$cfa8]
+ 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, $cd4b
+ set 3, [hl]
+ ld a, $21
+ ld [$cd49], a
+ ret
+
+.asm_10269a
+ ld a, [$cfa9]
+ dec a
+ ret nz
+ call Function1bf7
+ ld a, $1f
+ ld [$cd49], a
+ ret
+
+.asm_1026a8
+ ld a, [$cfa9]
+ ld b, a
+ ld a, [PartyCount]
+ cp b
+ ret nz
+ ld a, $23
+ ld [$cd49], a
+ ret
+; 1026b7
+
+Function1026b7: ; 1026b7
+ ld hl, $cd4b
+ set 6, [hl]
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ld a, $0
+ ld [$cd4a], a
+
+Function1026c8: ; 1026c8
+ call GetJoypad
+ callba Function1009f3
+ ret c
+ ld a, [$cd4a]
+ ld hl, Jumptable_1026da
+ rst JumpTable
+ ret
+; 1026da
+
+Jumptable_1026da: ; 1026da
+ dw Function1026de
+ dw Function1026f3
+; 1026de
+
+Function1026de: ; 1026de
+ call Function1bf7
+ ld hl, $c5fd
+ ld [hl], $ed
+ ld a, [$cd4a]
+ inc a
+ ld [$cd4a], a
+ ld hl, $cd4b
+ 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
+ ld hl, $c5fd
+ ld [hl], $7f
+ ld a, $1
+ ld [$cfa9], a
+ ld a, $1d
+ ld [$cd49], a
+ ret
+
+.asm_102712
+ ld hl, $c5fd
+ ld [hl], $7f
+ ld a, [OTPartyCount]
+ ld [$cfa9], a
+ ld a, $1f
+ ld [$cd49], a
+ ret
+
+.asm_102723
+ ld hl, $c5fd
+ ld [hl], $ec
+ ld hl, $cd4b
+ set 3, [hl]
+ ld hl, $cd4b
+ set 2, [hl]
+ ld a, $5
+ ld [$cd49], a
+ ret
+; 102738
+
+Function102738: ; 102738
+ ld hl, $cd4b
+ set 6, [hl]
+ call Function1bee
+ call Function1027eb
+ ld hl, $cd4b
+ set 1, [hl]
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ld a, $0
+ ld [$cd4a], a
+
+Function102754: ; 102754
+ call GetJoypad
+ callba Function1009f3
+ ret c
+ ld a, [$cd4a]
+ 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 [$cd4a], a
+
+Function102775: ; 102775
+ ld hl, $c5e1
+ ld [hl], $ed
+ ld hl, $c5eb
+ ld [hl], $7f
+ ld hl, $cd4b
+ set 2, [hl]
+ ld a, [$cd4a]
+ inc a
+ ld [$cd4a], 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 [$cd4a], a
+
+Function1027a0: ; 1027a0
+ ld hl, $c5e1
+ ld [hl], $7f
+ ld hl, $c5eb
+ ld [hl], $ed
+ ld hl, $cd4b
+ set 2, [hl]
+ ld a, [$cd4a]
+ inc a
+ ld [$cd4a], 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, $cd4b
+ set 3, [hl]
+ ld a, $25
+ ld [$cd49], a
+ ret
+
+asm_1027d1:
+ ld hl, $cd4b
+ set 3, [hl]
+ ld a, [$cfa9]
+ ld [$cd4c], a
+ ld a, $7
+ ld [$cd49], a
+ ret
+
+asm_1027e2:
+ call Function102db7
+ ld a, $1d
+ ld [$cd49], a
+ ret
+; 1027eb
+
+Function1027eb: ; 1027eb
+ ld hl, $c5b8
+ ld b, $2
+ ld c, $12
+ ld d, h
+ ld e, l
+ callba Function16d61d
+ ld de, $6804
+ ld hl, $c5e2
+ call PlaceString
+ ret
+; 102804
+
+INCBIN "baserom.gbc", $102804, $102814 - $102804
+
+Function102814: ; 102814
+ ld a, [$cfa9]
+ ld [$cd52], a
+ ld a, [$cd4c]
+ dec a
+ ld [DefaultFlypoint], a
+ ld a, [$cd4d]
+ dec a
+ ld [$d003], a
+ call Function102ea8
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ld a, $0
+ ld [$cd4a], a
+ ld hl, $cd4b
+ set 1, [hl]
+
+Function10283c: ; 10283c
+ ld hl, $cd4b
+ set 2, [hl]
+ call Function1029c3
+ ret z
+ jr c, .asm_102852
+ ld a, $10
+ ld [$cd49], a
+ ld hl, $cd4b
+ set 1, [hl]
+ ret
+
+.asm_102852
+ ld a, $14
+ ld [$cd49], a
+ ld hl, $cd4b
+ set 3, [hl]
+ ld hl, $cd4b
+ set 1, [hl]
+ ret
+; 102862
+
+Function102862: ; 102862
+ ld a, $8
+ call Function1028e8
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 10286f
+
+Function10286f: ; 10286f
+ call Function1028fc
+ ret nc
+ ld a, [$cd52]
+ ld [$cfa9], a
+ ld a, [$cd51]
+ cp $8
+ jr nz, .asm_102886
+ ld a, $15
+ ld [$cd49], a
+ ret
+
+.asm_102886
+ call Function102ee7
+ ld hl, $cd4b
+ set 1, [hl]
+ ld a, $1e
+ ld [$cd4e], a
+ ld a, $3c
+ ld [$cd4f], a
+ ld a, $0
+ ld [$cd4a], a
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+ ret
+; 1028a5
+
+Function1028a5: ; 1028a5
+ ld a, $4
+ ld [$cd49], a
+ ret
+; 1028ab
+
+Function1028ab: ; 1028ab
+ ld a, [$cd52]
+ ld [$cfa9], a
+ call Function102f15
+ ld hl, $cd4b
+ set 1, [hl]
+ ld a, $c
+ ld [$cd49], a
+ ret
+; 1028bf
+
+Function1028bf: ; 1028bf
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+
+Function1028c6: ; 1028c6
+ xor a
+ ld [MonType], a
+ call Function102bac
+ ld a, $1d
+ ld [$cd49], a
+ ret
+; 1028d3
+
+Function1028d3: ; 1028d3
+ ld a, [$cd49]
+ inc a
+ ld [$cd49], a
+
+Function1028da: ; 1028da
+ ld a, $1
+ ld [MonType], a
+ call Function102bac
+ ld a, $1f
+ ld [$cd49], a
+ ret
+; 1028e8
+
+Function1028e8: ; 1028e8
+ ld hl, $cd4b
+ res 6, [hl]
+ ld [$cd50], a
+ callba Function100641
+ ld a, $0
+ ld [$cd4a], a
+ ret
+; 1028fc
+
+Function1028fc: ; 1028fc
+ call GetJoypad
+ callba Function1009f3
+ jr nc, .asm_102909
+ and a
+ ret
+
+.asm_102909
+ ld a, [$cd4a]
+ ld hl, Jumptable_102917
+ rst JumpTable
+ ret nc
+ ld a, $0
+ ld [$cd4a], a
+ ret
+; 102917
+
+Jumptable_102917: ; 102917
+ dw Function102933
+ dw Function10294f
+ dw Function10295d
+ dw Function10296e
+ dw Function102996
+; 102921
+
+Function102921: ; 102921
+ ld a, [$cd4a]
+ ld hl, Jumptable_10292f
+ rst JumpTable
+ ret nc
+ ld a, $0
+ ld [$cd4a], a
+ ret
+; 10292f
+
+Jumptable_10292f: ; 10292f
+ dw Function10295d
+ dw Function102984
+; 102933
+
+Function102933: ; 102933
+ ld hl, $69bb
+ call LoadMenuDataHeader
+ call Function102e07
+ ld a, $32
+ ld [TextDelayFrames], a
+ ld hl, $cd4b
+ set 1, [hl]
+ ld a, [$cd4a]
+ inc a
+ ld [$cd4a], a
+ and a
+ ret
+; 10294f
+
+Function10294f: ; 10294f
+ ld a, [TextDelayFrames]
+ and a
+ ret nz
+ ld a, [$cd4a]
+ inc a
+ ld [$cd4a], a
+ and a
+ ret
+; 10295d
+
+Function10295d: ; 10295d
+ call Function10299e
+ ld a, $0
+ ld [$cd27], a
+ ld a, [$cd4a]
+ inc a
+ ld [$cd4a], a
+ and a
+ ret
+; 10296e
+
+Function10296e: ; 10296e
+ callba Function100382
+ and a
+ ld a, [$cd27]
+ bit 7, a
+ ret z
+ ld a, [$cd4a]
+ inc a
+ ld [$cd4a], a
+ and a
+ ret
+; 102984
+
+Function102984: ; 102984
+ callba Function100382
+ and a
+ ld a, [$cd27]
+ 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 [$ccb4], a
+ ld a, [$cd50]
+ ld [$ccb5], a
+ ld a, $aa
+ ld [$cd51], a
+ ret
+; 1029af
+
+Function1029af: ; 1029af
+ ld hl, $cd4b
+ res 7, [hl]
+ ld a, [$cc61]
+ ld [$cd51], a
+ ret
+; 1029bb
+
+INCBIN "baserom.gbc", $1029bb, $1029c3 - $1029bb
+
+Function1029c3: ; 1029c3
+ ld a, [$cd4a]
+ ld hl, Jumptable_1029cb
+ rst JumpTable
+ ret
+; 1029cb
+
+Jumptable_1029cb: ; 1029cb
+ dw Function1029cf
+ dw Function1029fe
+; 1029cf
+
+Function1029cf: ; 1029cf
+ call Function1d6e
+ ld hl, $c536
+ ld b, $3
+ ld c, $8
+ ld d, h
+ ld e, l
+ callba Function16d61d
+ ld de, $6a26
+ ld hl, $c54c
+ call PlaceString
+ ld hl, $cd4b
+ set 1, [hl]
+ ld de, $6a33
+ call Function1bb1
+ ld a, [$cd4a]
+ inc a
+ ld [$cd4a], a
+ xor a
+ ret
+; 1029fe
+
+Function1029fe: ; 1029fe
+ callba Function1009f3
+ ret c
+ callba Function241ba
+ ld a, c
+ ld hl, $cfa8
+ and [hl]
+ ret z
+ push af
+ call Function1c07
+ pop af
+ ld a, [$cfa9]
+ cp $1
+ jr nz, .asm_102a21
+ ld a, $1
+ and a
+ ret
+
+.asm_102a21
+ ld a, $1
+ and a
+ scf
+ ret
+; 102a26
+
+INCBIN "baserom.gbc", $102a26, $102a3b - $102a26
+
+Function102a3b: ; 102a3b
+ ld a, [$cd30]
+ ld [$c74e], a
+ ld hl, PlayerName
+ ld de, $c6e7
+ ld bc, $000b
+ call CopyBytes
+ ld a, [$cd4c]
+ dec a
+ ld c, a
+ ld b, $0
+ ld hl, PartySpecies
+ add hl, bc
+ ld a, [hl]
+ ld [$c6d0], a
+ ld a, [$cd4c]
+ dec a
+ ld hl, PartyMonOT
+ call SkipNames
+ ld de, $c6f2
+ ld bc, $000b
+ call CopyBytes
+ ld a, [$cd4c]
+ dec a
+ ld hl, PartyMon1ID
+ call GetPartyLocation
+ ld a, [hli]
+ ld [$c6ff], a
+ ld a, [hl]
+ ld [$c700], a
+ ld a, [$cd4c]
+ dec a
+ ld hl, PartyMon1DVs
+ call GetPartyLocation
+ ld a, [hli]
+ ld [$c6fd], a
+ ld a, [hl]
+ ld [$c6fe], a
+ ld a, [$cd4c]
+ dec a
+ ld hl, PartyMon1Species
+ call GetPartyLocation
+ ld b, h
+ ld c, l
+ callba GetCaughtGender
+ ld a, c
+ ld [$c701], a
+ ld hl, $d26b
+ ld de, $c719
+ ld bc, $000b
+ call CopyBytes
+ ld a, [$cd4d]
+ dec a
+ ld c, a
+ ld b, $0
+ ld hl, OTPartySpecies
+ add hl, bc
+ ld a, [hl]
+ ld [$c702], a
+ ld a, [$cd4d]
+ dec a
+ ld hl, OTPartyMonOT
+ call SkipNames
+ ld de, $c724
+ ld bc, $000b
+ call CopyBytes
+ ld a, [$cd4d]
+ dec a
+ ld hl, OTPartyMon1ID
+ call GetPartyLocation
+ ld a, [hli]
+ ld [$c731], a
+ ld a, [hl]
+ ld [$c732], a
+ ld a, [$cd4d]
+ dec a
+ ld hl, OTPartyMon1DVs
+ call GetPartyLocation
+ ld a, [hli]
+ ld [$c72f], a
+ ld a, [hl]
+ ld [$c730], a
+ ld a, [$cd4d]
+ dec a
+ ld hl, OTPartyMon1Species
+ call GetPartyLocation
+ ld b, h
+ ld c, l
+ callba GetCaughtGender
+ ld a, c
+ ld [$c733], a
+ ret
+; 102b12
+
+Function102b12: ; 102b12
+ ld c, $64
+ call DelayFrames
+ call Function102d9a
+ call Functione58
+ ld a, [$cd2f]
+ and a
+ jr nz, .asm_102b2b
+ callba Function108026
+ jr .asm_102b31
+
+.asm_102b2b
+ callba Function10802a
+
+.asm_102b31
+ ret
+; 102b32
+
+Function102b32: ; 102b32
+ ld a, [$cd4c]
+ dec a
+ ld [CurPartyMon], a
+ ld a, $1
+ ld [$d1e9], a
+ callba Function421d8
+ call Function102d9a
+ call Function102dd3
+ call Function102dec
+ ret
+; 102b4e
+
+Function102b4e: ; 102b4e
+ ld a, $1
+ ld [MonType], a
+ ld a, [$cfa9]
+ push af
+ ld de, $6b73
+ call Function1bb1
+ pop af
+ ld [$cfa9], a
+ ld a, [OTPartyCount]
+ ld [$cfa3], a
+ ret
+; 102b68
+
+INCBIN "baserom.gbc", $102b68, $102b7b - $102b68
+
+Function102b7b: ; 102b7b
+ xor a
+ ld [MonType], a
+ ld a, [$cfa9]
+ push af
+ ld de, $6b94
+ call Function1bb1
+ pop af
+ ld [$cfa9], a
+ ld a, [PartyCount]
+ ld [$cfa3], a
+ ret
+; 102b94
+
+INCBIN "baserom.gbc", $102b94, $102b9c - $102b94
+
+Function102b9c: ; 102b9c
+ ld a, [$cd4d]
+ dec a
+ ld hl, $c55a
+ ld bc, $0014
+ call AddNTimes
+ ld [hl], $ec
+ ret
+; 102bac
+
+Function102bac: ; 102bac
+ ld a, [$cfa9]
+ dec a
+ ld [CurPartyMon], a
+ call LowVolume
+ call ClearSprites
+ callba Function4dc8f
+ ld a, [CurPartyMon]
+ inc a
+ ld [$cfa9], a
+ call Function102d9a
+ call ClearPalettes
+ call DelayFrame
+ call MaxVolume
+ call Function102dd3
+ call Function102dec
+ call Function102db7
+ ret
+; 102bdc
+
+Function102bdc: ; 102bdc
+ ld a, [$cd4d]
+ dec a
+ ld hl, OTPartyMon1Species
+ call GetPartyLocation
+ push hl
+ ld a, [$cd4d]
+ ld c, a
+ ld b, $0
+ ld hl, OTPartyCount
+ add hl, bc
+ ld a, [hl]
+ pop hl
+ cp $fd
+ jr z, .asm_102bfa
+ cp [hl]
+ jr nz, .asm_102c05
+
+.asm_102bfa
+ ld bc, $001f
+ add hl, bc
+ ld a, [hl]
+ cp $65
+ 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, PartyMon1Species
+ ld de, OTPartyMon1Species
+ 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, $da00
+ ld bc, $01e0
+ ld a, $5
+ call FarCopyWRAM
+ ret
+; 102c71
+
+Function102c71: ; 102c71
+ ld a, [$cd4c]
+ dec a
+ call AddNTimes
+ push hl
+ ld h, d
+ ld l, e
+ ld a, [$cd4d]
+ dec a
+ call AddNTimes
+ pop de
+ call SwapBytes
+ ret
+; 102c87
+
+Function102c87: ; 102c87
+ ld a, [$cf63]
+ push af
+ ld a, [$cf64]
+ push af
+ ld a, [$cd4c]
+ ld [$cf63], a
+ ld a, [PartyCount]
+ ld [$cf64], 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, [$cd4d]
+ ld [$cf63], a
+ ld a, [OTPartyCount]
+ ld [$cf64], a
+ ld a, $5
+ ld hl, $da00
+ ld de, $c608
+ ld bc, $011a
+ call FarCopyWRAM
+ call Function102cee
+ ld a, $5
+ ld hl, $c608
+ ld de, $da00
+ ld bc, $011a
+ call FarCopyWRAM
+ pop af
+ ld [$cf64], a
+ pop af
+ ld [$cf63], a
+ ret
+; 102cee
+
+Function102cee: ; 102cee
+ ld a, [$cf63]
+ dec a
+ call Function102d34
+ ld de, DefaultFlypoint
+ ld bc, $002f
+ call CopyBytes
+ ld a, [$cf63]
+ ld c, a
+ ld a, $6
+ sub c
+ ret z
+ ld bc, $002f
+ ld hl, NULL
+ call AddNTimes
+ push hl
+ ld a, [$cf63]
+ dec a
+ call Function102d34
+ ld d, h
+ ld e, l
+ ld hl, $002f
+ add hl, de
+ pop bc
+ call CopyBytes
+ ld a, [$cf64]
+ 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, [$cd4c]
+ ld e, a
+ ld d, $0
+ ld hl, PartyCount
+ add hl, de
+ ld a, [hl]
+ ld [$d265], a
+ cp $fd
+ jr z, .asm_102d6d
+ dec a
+ call SetSeenAndCaughtMon
+ ld a, [$cd4c]
+ dec a
+ ld bc, $0030
+ ld hl, PartyMon1Happiness
+ call AddNTimes
+ ld [hl], $46
+
+.asm_102d6d
+ ld a, [$d265]
+ cp $c9
+ jr nz, .asm_102d98
+ ld a, [$cd4c]
+ dec a
+ ld bc, $0030
+ ld hl, PartyMon1DVs
+ call AddNTimes
+ ld a, $2d
+ call Predef
+ callba Functionfba18
+ ld a, [$def4]
+ and a
+ jr nz, .asm_102d98
+ ld a, [UnownLetter]
+ ld [$def4], 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, $cd4b
+ set 1, [hl]
+ ret
+; 102dc3
+
+Function102dc3: ; 102dc3
+ ld hl, $c590
+ ld b, $4
+ ld c, $12
+ ld d, h
+ ld e, l
+ callba Function16d61d
+ ret
+; 102dd3
+
+Function102dd3: ; 102dd3
+ call DisableLCD
+ ld de, $72a2
+ ld hl, VTiles0
+ ld bc, $4004
+ call Get2bpp
+ callba Function16d421
+ call EnableLCD
+ ret
+; 102dec
+
+Function102dec: ; 102dec
+ ld hl, $72e2
+ ld de, Unkn2Pals
+ ld bc, $0020
+ ld a, $5
+ call FarCopyWRAM
+ callba Function49742
+ call Function32f9
+ call DelayFrame
+ ret
+; 102e07
+
+Function102e07: ; 102e07
+ ld hl, $c56b
+ ld b, $1
+ ld c, $b
+ ld a, [IsInBattle]
+ and a
+ jr z, .asm_102e19
+ call TextBox
+ jr .asm_102e28
+
+.asm_102e19
+ ld hl, $c56b
+ ld b, $1
+ ld c, $b
+ ld d, h
+ ld e, l
+ callba Function16d61d
+
+.asm_102e28
+ ld de, $6e32
+ ld hl, $c580
+ call PlaceString
+ ret
+; 102e32
+
+INCBIN "baserom.gbc", $102e32, $102e3e - $102e32
+
+Function102e3e: ; 102e3e
+ ld de, $6e48
+ ld hl, $c5fe
+ call PlaceString
+ ret
+; 102e48
+
+INCBIN "baserom.gbc", $102e48, $102e4f - $102e48
+
+Function102e4f: ; 102e4f
+ callba Function16d42e
+ callba Function49797
+ ld de, PlayerName
+ ld hl, $c4a4
+ call PlaceString
+ ld a, $14
+ ld [bc], a
+ ld de, $d26b
+ ld hl, $c544
+ call PlaceString
+ ld a, $14
+ ld [bc], a
+ ld hl, $c4bb
+ ld de, PartySpecies
+ call Function102e86
+ ld hl, $c55b
+ ld de, OTPartySpecies
+ call Function102e86
+ ret
+; 102e86
+
+Function102e86: ; 102e86
+ ld c, $0
+.asm_102e88
+ ld a, [de]
+ cp $ff
+ ret z
+ ld [$d265], 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, [$cd4c]
+ dec a
+ ld c, a
+ ld b, $0
+ ld hl, PartySpecies
+ add hl, bc
+ ld a, [hl]
+ ld [$d265], a
+ call GetPokemonName
+ ld hl, StringBuffer1
+ ld de, StringBuffer2
+ ld bc, $000b
+ call CopyBytes
+ ld a, [$cd4d]
+ dec a
+ ld c, a
+ ld b, $0
+ ld hl, OTPartySpecies
+ add hl, bc
+ ld a, [hl]
+ ld [$d265], a
+ call GetPokemonName
+ ld hl, $6ee2
+ call PrintTextBoxText
+ ret
+; 102ee2
+
+INCBIN "baserom.gbc", $102ee2, $102ee7 - $102ee2
+
+Function102ee7: ; 102ee7
+ call Function102dc3
+ ld de, $6ef4
+ ld hl, $c5b9
+ call PlaceString
+ ret
+; 102ef4
+
+INCBIN "baserom.gbc", $102ef4, $102f15 - $102ef4
+
+Function102f15: ; 102f15
+ call Function102dc3
+ ld de, $6f22
+ ld hl, $c5b9
+ call PlaceString
+ ret
+; 102f22
+
+INCBIN "baserom.gbc", $102f22, $102f32 - $102f22
+
+Function102f32: ; 102f32
+ call Function102dc3
+ ld de, $6f3f
+ ld hl, $c5b9
+ call PlaceString
+ ret
+; 102f3f
+
+INCBIN "baserom.gbc", $102f3f, $102f50 - $102f3f
+
+Function102f50: ; 102f50
+ call Function102dc3
+ ld de, $6f5d
+ ld hl, $c5b9
+ call PlaceString
+ ret
+; 102f5d
+
+INCBIN "baserom.gbc", $102f5d, $102f6d - $102f5d
+
+Function102f6d: ; 102f6d
+ call Function102dc3
+ ld de, $6f7a
+ ld hl, $c5b9
+ call PlaceString
+ ret
+; 102f7a
+
+INCBIN "baserom.gbc", $102f7a, $102f85 - $102f7a
+
+Function102f85: ; 102f85
+ ld a, [$d003]
+ ld c, a
+ ld b, $0
+ ld hl, OTPartySpecies
+ add hl, bc
+ ld a, [hl]
+ ld [$d265], a
+ call GetPokemonName
+ call Function102dc3
+ ld de, $6fb2
+ ld hl, $c5b9
+ call PlaceString
+ ld de, StringBuffer1
+ ld hl, $c5c5
+ call PlaceString
+ ld de, $6fcc
+ call PlaceString
+ ret
+; 102fb2
+
+INCBIN "baserom.gbc", $102fb2, $102fce - $102fb2
+
+Function102fce: ; 102fce
+ call Function102dc3
+ ld de, $6fdb
+ ld hl, $c5b9
+ call PlaceString
+ ret
+; 102fdb
+
+INCBIN "baserom.gbc", $102fdb, $102ff5 - $102fdb
+
+Function102ff5: ; 102ff5
+ call Function102dc3
+ ld de, $7002
+ ld hl, $c5b9
+ call PlaceString
+ ret
+; 103002
+
+INCBIN "baserom.gbc", $103002, $103021 - $103002
+
+Function103021: ; 103021
+ call Function102dc3
+ ld de, $702e
+ ld hl, $c5b9
+ call PlaceString
+ ret
+; 10302e
+
+INCBIN "baserom.gbc", $10302e, $10304f - $10302e
+
+Function10304f: ; 10304f
+ xor a
+ ld [AttrMapEnd], a
+ ld [$cf42], a
+ ld [$cf44], a
+ ld [$cf45], 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, $cd4b
+ bit 7, [hl]
+ jr z, .asm_10308a
+ ld c, $1
+
+.asm_10308a
+ ld hl, $cf45
+ inc [hl]
+ ld a, [hl]
+ cp c
+ ret c
+ xor a
+ ld [hl], a
+ ret
+; 103094
+
+Function103094: ; 103094
+ ld hl, $cd4b
+ bit 7, [hl]
+ jr nz, .asm_1030c0
+ ld a, [$cf42]
+ bit 7, a
+ jr nz, .asm_1030b2
+ ld a, [$cf44]
+ inc a
+ ld [$cf44], a
+ cp $2c
+ ret nz
+ ld hl, $cf42
+ set 7, [hl]
+ ret
+
+.asm_1030b2
+ ld a, [$cf44]
+ dec a
+ ld [$cf44], a
+ ret nz
+ ld hl, $cf42
+ res 7, [hl]
+ ret
+
+.asm_1030c0
+ ld hl, $cf44
+ 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, [$cf44]
+ ld l, a
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ add hl, hl
+ ld bc, $7112
+ add hl, bc
+ ld b, $30
+ ld c, $8
+.asm_1030de
+ push hl
+ ld hl, $cd4b
+ 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 $7a
+ ld l, a
+ ld a, $72
+ 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
+
+INCBIN "baserom.gbc", $103112, $103302 - $103112
+
+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, [$dc41]
+ 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 [$d1ef], a
+ ld a, [hli]
+ ld [$d1ec], a
+ ld a, [hli]
+ ld [$d1ed], a
+ ld h, d
+ ld l, e
+ call Function3eea
+ ld hl, $d1ec
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [hl]
+ ld [$d1ee], a
+ call Function1034be
+ call Function1ad2
+ callba Function104000
+ ld a, $1
+ ld [$d1f0], a
+ call Function10339a
+ ret
+; 103362
+
+Function103362: ; 103362
+.asm_103362
+ ld a, [$d1f0]
+ ld [$d1f1], 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 [$dc41], a
+ call CloseSRAM
+ xor a
+ ret
+
+.asm_103398
+ scf
+ ret
+; 10339a
+
+Function10339a: ; 10339a
+ ld a, [$d1f0]
+ ld [$d1f2], a
+ ld c, a
+ ld b, $0
+ ld hl, $d1ec
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ add hl, bc
+ ld a, [hl]
+ ld [$d1f3], a
+ ret
+; 1033af
+
+Function1033af: ; 1033af
+ call GetJoypad
+ ld a, [hJoyPressed]
+ bit 5, a
+ jr nz, .asm_103412
+ bit 4, a
+ jr nz, .asm_103412
+ bit 1, a
+ jr nz, .asm_1033f1
+ bit 0, a
+ jr nz, .asm_1033fa
+ bit 6, a
+ jr nz, .asm_1033cd
+ bit 7, a
+ jr nz, .asm_1033de
+ ret
+
+.asm_1033cd
+ ld a, [$d1f0]
+ dec a
+ ld [$d1f0], a
+ cp $1
+ ret nc
+ ld a, [$d1ee]
+ ld [$d1f0], a
+ ret
+
+.asm_1033de
+ ld a, [$d1f0]
+ inc a
+ ld [$d1f0], a
+ ld c, a
+ ld a, [$d1ee]
+ cp c
+ ret nc
+ ld a, $1
+ ld [$d1f0], a
+ ret
+
+.asm_1033f1
+ call PlayClickSFX
+ ld hl, Buffer2
+ set 7, [hl]
+ ret
+
+.asm_1033fa
+ ld a, [$d1f3]
+ cp $3
+ jr nz, .asm_103412
+ ld de, $0022
+ call PlaySFX
+ ld hl, Buffer2
+ set 7, [hl]
+ ld hl, Buffer2
+ set 6, [hl]
+ ret
+
+.asm_103412
+ ld a, [$d1f3]
+ cp $3
+ ret z
+ ld de, $0011
+ call PlaySFX
+ ld bc, $0008
+ call Function10350f
+ ld a, [Buffer1]
+ xor e
+ ld [Buffer1], a
+ ret
+; 10342c
+
+Function10342c: ; 10342c
+ ld a, [$d1f0]
+ ld [$d1f2], a
+ call Function103490
+ call Function10343c
+ call Function1034a7
+ ret
+; 10343c
+
+Function10343c: ; 10343c
+ ld a, [$d1f3]
+ 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, NULL
+ 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
+ ld hl, $c5cc
+ ld c, $14
+ ld b, $3
+ call Function1034e0
+ ld bc, $0006
+ call Function10350f
+ ld hl, $c5e1
+ call PlaceString
+ ret
+; 1034a7
+
+Function1034a7: ; 1034a7
+ ld a, [$d1f1]
+ ld [$d1f2], 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 [$d1f2], a
+ ld hl, $d1ec
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [hli]
+.asm_1034ca
+ push af
+ ld a, [hli]
+ push hl
+ ld [$d1f3], a
+ call Function10343c
+ ld hl, $d1f2
+ 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, $0939
+ add hl, bc
+ pop bc
+ ld a, $6
+ call Functionfb8
+ ret
+; 1034f1
+
+Function1034f1: ; 1034f1
+ ld a, [$d1f0]
+ ld [$d1f2], a
+
+Function1034f7: ; 10134f7
+ ld hl, SpritesEnd
+ add hl, bc
+ ld a, [$d1ef]
+ ld bc, $0014
+ call AddNTimes
+ ld a, [$d1f2]
+ dec a
+ ld bc, $0028
+ call AddNTimes
+ ret
+; 10350f
+
+Function10350f: ; 10350f
+ ld a, [$d1f3]
+ push bc
+ ld hl, $7522
+ ld bc, $0009
+ call AddNTimes
+ pop bc
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ ld e, a
+ ret
+; 103522
+
+INCBIN "baserom.gbc", $103522, $1035c6 - $103522
+
+Function1035c6: ; 1035c6
+ callba Function10138b
+ ld b, $0
+ ld hl, $75d7
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ret
+; 1035d7
+
+INCBIN "baserom.gbc", $1035d7, $103612 - $1035d7
+
+Function103612: ; 103612
ld hl, $7640
call LoadMenuDataHeader
ld a, [$dc40]
@@ -103500,8 +107701,24 @@
ret
; 103640
-INCBIN "baserom.gbc",$103640,$10366e - $103640
+INCBIN "baserom.gbc", $103640, $103654 - $103640
+Function103654: ; 103654
+ callba Function10632f
+ bit 7, c
+ jr nz, .asm_103666
+ ld hl, $cd2a
+ res 5, [hl]
+ ld c, $2
+ ret
+
+.asm_103666
+ ld hl, $cd2a
+ set 5, [hl]
+ ld c, $1
+ ret
+; 10366e
+
Function10366e: ; 10366e
callba Function10632f
bit 7, c
@@ -107669,8 +111886,23 @@
jp Function108089
; 108021
-INCBIN "baserom.gbc", $108021, $10804d - $108021
+INCBIN "baserom.gbc", $108021, $108026 - $108021
+Function108026: ; 108026
+ ld a, $0
+ jr asm_10802c
+
+Function10802a: ; 10802a
+ ld a, $1
+
+asm_10802c:
+ ld [$cf65], a
+ ld de, $4035
+ jp Function10805b
+; 108035
+
+INCBIN "baserom.gbc", $108035, $10804d - $108035
+
Function10804d: ; 10804d
ld a, $0
ld [$cf65], a
@@ -107678,8 +111910,38 @@
jp Function108089
; 108058
-INCBIN "baserom.gbc", $108058, $108089 - $108058
+INCBIN "baserom.gbc", $108058, $10805b - $108058
+Function10805b: ; 10805b
+ ld hl, $c734
+ 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
@@ -107710,7 +111972,68 @@
ret
; 1080b7
-INCBIN "baserom.gbc",$1080b7,$108157 - $1080b7
+Function1080b7: ; 1080b7
+ xor a
+ ld [$cf63], 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, $4da7
+ ld de, VTiles2
+ call Decompress
+ ld a, $0
+ ld [rVBK], a
+ ld hl, $4d27
+ 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, $5adb
+ ld hl, VTiles0
+ ld bc, $0a06
+ call Request2bpp
+ ld de, $5b3b
+ ld hl, $8060
+ ld bc, $0a0c
+ call Request2bpp
+ xor a
+ ld hl, $c300
+ ld [hli], a
+ ld [hl], $0
+ ld a, [$c6d0]
+ ld hl, $c6fd
+ ld de, $8300
+ call Function1081e9
+ ld a, [$c702]
+ ld hl, $c72f
+ ld de, $9310
+ call Function1081e9
+ ld a, [$c6d0]
+ ld de, $c6d1
+ call Function108239
+ ld a, [$c702]
+ ld de, $c703
+ call Function108239
+ xor a
+ call Function108b98
+ call Function108af4
+ ret
+; 108157
Function108157: ; 108157
xor a
@@ -107781,7 +112104,22 @@
ret
; 1081e9
-INCBIN "baserom.gbc",$1081e9,$108239 - $1081e9
+Function1081e9: ; 1081e9
+ push de
+ push af
+ ld a, $2d
+ call Predef
+ pop af
+ ld [CurPartySpecies], a
+ ld [CurSpecies], a
+ call GetBaseData
+ pop de
+ ld a, $3c
+ call Predef
+ ret
+; 108201
+
+INCBIN "baserom.gbc", $108201, $108239 - $108201
Function108239: ; 108239
push de