summaryrefslogtreecommitdiff
path: root/battle
diff options
context:
space:
mode:
Diffstat (limited to 'battle')
-rw-r--r--battle/anim_commands.asm1549
-rw-r--r--battle/anim_objects.asm5037
-rw-r--r--battle/anims.asm3
-rw-r--r--battle/bg_effects.asm2938
4 files changed, 9527 insertions, 0 deletions
diff --git a/battle/anim_commands.asm b/battle/anim_commands.asm
new file mode 100644
index 000000000..c8077b710
--- /dev/null
+++ b/battle/anim_commands.asm
@@ -0,0 +1,1549 @@
+; Battle animation command interpreter.
+
+
+PlayBattleAnim: ; cc0d6
+
+ ld a, [rSVBK]
+ push af
+
+ ld a, 5
+ ld [rSVBK], a
+
+ call _PlayBattleAnim
+
+ pop af
+ ld [rSVBK], a
+ ret
+; cc0e4
+
+_PlayBattleAnim: ; cc0e4
+
+ ld c, 6
+.wait
+ call BattleAnimDelayFrame
+ dec c
+ jr nz, .wait
+
+ call BattleAnimAssignPals
+ call BattleAnimRequestPals
+ call BattleAnimDelayFrame
+
+ ld c, 1
+ ld a, [rKEY1]
+ bit 7, a
+ jr nz, .asm_cc0ff
+ ld c, 3
+
+.asm_cc0ff
+ ld hl, $ff9e
+ ld a, [hl]
+ push af
+
+ ld [hl], c
+ call Functioncc11c
+
+ pop af
+ ld [$ff9e], a
+
+ ld a, $1
+ ld [hBGMapMode], a
+
+ call BattleAnimDelayFrame
+ call BattleAnimDelayFrame
+ call BattleAnimDelayFrame
+ call WaitSFX
+ ret
+; cc11c
+
+Functioncc11c: ; cc11c
+
+ ld a, [FXAnimIDHi]
+ and a
+ jr nz, .asm_cc156
+
+ callba CheckBattleScene
+ jr c, .asm_cc141
+
+ call BattleAnimClearHud
+ call Functioncc163
+
+ call BattleAnimAssignPals
+ call BattleAnimRequestPals
+
+ xor a
+ ld [hSCX], a
+ ld [hSCY], a
+ call BattleAnimDelayFrame
+ call BattleAnimRestoreHuds
+
+.asm_cc141
+ ld a, [$cfca]
+ and a
+ jr z, .asm_cc15f
+
+ ld l, a
+ ld h, 0
+ ld de, $10e
+ add hl, de
+ ld a, l
+ ld [FXAnimIDLo], a
+ ld a, h
+ ld [FXAnimIDHi], a
+
+.asm_cc156
+ call WaitSFX
+ call Functioncc881
+ call Functioncc163
+
+.asm_cc15f
+ call Functioncc8f6
+ ret
+; cc163
+
+Functioncc163: ; cc163
+
+ call Functioncc8d3
+
+.playframe
+ call Functioncc25f
+ call Functionccb48
+ call Functioncc96e
+ call Function3b0c
+ call BattleAnimRequestPals
+
+; Speed up Rollout's animation.
+ ld a, [FXAnimIDHi]
+ or a
+ jr nz, .asm_cc193
+
+ ld a, [FXAnimIDLo]
+ cp ROLLOUT
+ jr nz, .asm_cc193
+
+ ld a, $2e
+ ld b, 5
+ ld de, 4
+ ld hl, ActiveBGEffects
+.asm_cc18c
+ cp [hl]
+ jr z, .asm_cc196
+ add hl, de
+ dec b
+ jr nz, .asm_cc18c
+
+.asm_cc193
+ call BattleAnimDelayFrame
+
+.asm_cc196
+ ld a, [$d40f]
+ bit 0, a
+ jr z, .playframe
+
+ call Functioncc23d
+ ret
+; cc1a1
+
+BattleAnimClearHud: ; cc1a1
+
+ call BattleAnimDelayFrame
+ call WaitTop
+ call ClearActorHud
+ ld a, $1
+ ld [hBGMapMode], a
+ call BattleAnimDelayFrame
+ call BattleAnimDelayFrame
+ call BattleAnimDelayFrame
+ call WaitTop
+ ret
+; cc1bb
+
+BattleAnimRestoreHuds: ; cc1bb
+
+ call BattleAnimDelayFrame
+ call WaitTop
+
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+
+ ld hl, UpdateBattleHuds
+ ld a, $f
+ rst FarCall
+
+ pop af
+ ld [rSVBK], a
+
+ ld a, $1
+ ld [hBGMapMode], a
+ call BattleAnimDelayFrame
+ call BattleAnimDelayFrame
+ call BattleAnimDelayFrame
+ call WaitTop
+ ret
+; cc1e2
+
+BattleAnimRequestPals: ; cc1e2
+
+ ld a, [hCGB]
+ and a
+ ret z
+
+ ld a, [rBGP]
+ ld b, a
+ ld a, [$cfc7]
+ cp b
+ call nz, Functioncc91a
+
+ ld a, [rOBP0]
+ ld b, a
+ ld a, [$cfc8]
+ cp b
+ call nz, Functioncc94b
+ ret
+; cc1fb
+
+BattleAnimDelayFrame: ; cc1fb
+; Like DelayFrame but wastes battery life.
+
+ ld a, 1
+ ld [VBlankOccurred], a
+.wait
+ ld a, [VBlankOccurred]
+ and a
+ jr nz, .wait
+ ret
+; cc207
+
+ClearActorHud: ; cc207
+
+ ld a, [hBattleTurn]
+ and a
+ jr z, .player
+
+ hlcoord 1, 0
+ lb bc, 4, 10
+ call ClearBox
+ ret
+
+.player
+ hlcoord 9, 7
+ lb bc, 5, 11
+ call ClearBox
+ ret
+; cc220
+
+INCBIN "baserom.gbc",$cc220,$cc23d - $cc220
+
+
+Functioncc23d: ; cc23d
+
+ ld a, [$d40f]
+ bit 3, a
+ jr z, .asm_cc254
+
+ ld hl, Sprites + 3
+ ld c, (SpritesEnd - Sprites) / 4
+.asm_cc249
+ ld a, [hl]
+ and $f0
+ ld [hli], a
+ inc hl
+ inc hl
+ inc hl
+ dec c
+ jr nz, .asm_cc249
+ ret
+
+.asm_cc254
+ ld hl, Sprites
+ ld c, SpritesEnd - Sprites
+ xor a
+.asm_cc25a
+ ld [hli], a
+ dec c
+ jr nz, .asm_cc25a
+ ret
+; cc25f
+
+Functioncc25f: ; cc25f
+ call Functioncc267
+ ret nc
+ call Functioncc275
+ ret
+; cc267
+
+Functioncc267: ; cc267
+ ld a, [$d412]
+ and a
+ jr z, .asm_cc273
+
+ dec a
+ ld [$d412], a
+ and a
+ ret
+
+.asm_cc273
+ scf
+ ret
+; cc275
+
+Functioncc275: ; cc275
+
+ call GetBattleAnimByte
+
+ cp $ff
+ jr nz, .asm_cc286
+
+; Return from a subroutine.
+ ld hl, $d40f
+ bit 1, [hl]
+ jr nz, .asm_cc28e
+
+ set 0, [hl]
+ ret
+
+.asm_cc286
+ cp $d0
+ jr nc, .asm_cc28e
+
+ ld [$d412], a
+ ret
+
+.asm_cc28e
+ call Functioncc293
+
+ jr Functioncc275
+; cc293
+
+Functioncc293: ; cc293
+; Execute battle animation command in [$d417].
+ ld a, [$d417]
+ sub $d0
+
+ ld e, a
+ ld d, 0
+ ld hl, BattleAnimCommands
+ add hl, de
+ add hl, de
+
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+; cc2a4
+
+
+; no known jump sources
+BattleAnimCommands: ; cc2a4 (33:42a4)
+ dw BattleAnimCmd_D0
+ dw BattleAnimCmd_D1
+ dw BattleAnimCmd_D2
+ dw BattleAnimCmd_D3
+ dw BattleAnimCmd_D4
+ dw BattleAnimCmd_D5
+ dw BattleAnimCmd_D6
+ dw BattleAnimCmd_D7
+ dw BattleAnimCmd_D8
+ dw BattleAnimCmd_D9
+ dw BattleAnimCmd_DA
+ dw BattleAnimCmd_DB
+ dw BattleAnimCmd_DC
+ dw BattleAnimCmd_DD
+ dw BattleAnimCmd_DE
+ dw BattleAnimCmd_DF
+ dw BattleAnimCmd_E0
+ dw BattleAnimCmd_E1
+ dw BattleAnimCmd_E2
+ dw BattleAnimCmd_E3
+ dw BattleAnimCmd_E4
+ dw BattleAnimCmd_E5
+ dw BattleAnimCmd_E6
+ dw BattleAnimCmd_E7
+ dw BattleAnimCmd_E8
+ dw BattleAnimCmd_E9
+ dw BattleAnimCmd_EA
+ dw BattleAnimCmd_EB
+ dw BattleAnimCmd_EC
+ dw BattleAnimCmd_ED
+ dw BattleAnimCmd_EE
+ dw BattleAnimCmd_EF
+ dw BattleAnimCmd_F0
+ dw BattleAnimCmd_F1
+ dw BattleAnimCmd_F2
+ dw BattleAnimCmd_F3
+ dw BattleAnimCmd_F4
+ dw BattleAnimCmd_F5
+ dw BattleAnimCmd_F6
+ dw BattleAnimCmd_F7
+ dw BattleAnimCmd_F8
+ dw BattleAnimCmd_F9
+ dw BattleAnimCmd_FA
+ dw BattleAnimCmd_FB
+ dw BattleAnimCmd_FC
+ dw BattleAnimCmd_FD
+ dw BattleAnimCmd_FE
+ dw BattleAnimCmd_FF
+
+
+; no known jump sources
+BattleAnimCmd_EA:
+BattleAnimCmd_EB:
+BattleAnimCmd_EC:
+BattleAnimCmd_ED: ; cc304 (33:4304)
+ ret
+
+; no known jump sources
+BattleAnimCmd_FF: ; cc305 (33:4305)
+ ld hl, $d40f
+ res 1, [hl]
+ ld hl, $d413
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+; no known jump sources
+BattleAnimCmd_FE: ; cc317 (33:4317)
+ call GetBattleAnimByte
+ ld e, a
+ call GetBattleAnimByte
+ ld d, a
+ push de
+ ld hl, $d410
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $d413
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ pop de
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ld hl, $d40f
+ set 1, [hl]
+ ret
+
+; no known jump sources
+BattleAnimCmd_FC: ; cc339 (33:4339)
+ call GetBattleAnimByte
+ ld e, a
+ call GetBattleAnimByte
+ ld d, a
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+; no known jump sources
+BattleAnimCmd_FD: ; cc348 (33:4348)
+ call GetBattleAnimByte
+ ld hl, $d40f
+ bit 2, [hl]
+ jr nz, .asm_cc35b
+ and a
+ jr z, .asm_cc363
+ dec a
+ set 2, [hl]
+ ld [$d415], a
+.asm_cc35b
+ ld hl, $d415
+ ld a, [hl]
+ and a
+ jr z, .asm_cc372
+ dec [hl]
+.asm_cc363
+ call GetBattleAnimByte
+ ld e, a
+ call GetBattleAnimByte
+ ld d, a
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+.asm_cc372
+ ld hl, $d40f
+ res 2, [hl]
+ ld hl, $d410
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ inc de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ret
+
+; no known jump sources
+BattleAnimCmd_EF: ; cc383 (33:4383)
+ ld hl, $c689
+ ld a, [hl]
+ and a
+ jr z, .asm_cc39a
+
+ dec [hl]
+ call GetBattleAnimByte
+ ld e, a
+ call GetBattleAnimByte
+ ld d, a
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+.asm_cc39a
+ ld hl, $d410
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ inc de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ret
+
+; no known jump sources
+BattleAnimCmd_F9: ; cc3a6 (33:43a6)
+ call GetBattleAnimByte
+ ld [$d416], a
+ ret
+
+; no known jump sources
+BattleAnimCmd_FA: ; cc3ad (33:43ad)
+ ld hl, $d416
+ inc [hl]
+ ret
+
+; no known jump sources
+BattleAnimCmd_FB: ; cc3b2 (33:43b2)
+ call GetBattleAnimByte
+ ld hl, $d416
+ cp [hl]
+ jr z, .jump
+
+ ld hl, $d410
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ inc de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ret
+
+.jump
+ call GetBattleAnimByte
+ ld e, a
+ call GetBattleAnimByte
+ ld d, a
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+; no known jump sources
+BattleAnimCmd_F8: ; cc3d6 (33:43d6)
+ call GetBattleAnimByte
+ ld hl, $c689
+ cp [hl]
+ jr z, .jump
+
+ ld hl, $d410
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ inc de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ret
+
+.jump
+ call GetBattleAnimByte
+ ld e, a
+ call GetBattleAnimByte
+ ld d, a
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+; no known jump sources
+BattleAnimCmd_EE: ; cc3fa (33:43fa)
+ call GetBattleAnimByte
+ ld e, a
+ ld a, [$c689]
+ and e
+ jr nz, .jump
+
+ ld hl, $d410
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ inc de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ret
+.jump
+ call GetBattleAnimByte
+ ld e, a
+ call GetBattleAnimByte
+ ld d, a
+ ld hl, $d410
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+; no known jump sources
+BattleAnimCmd_D0: ; cc41f (33:441f)
+ call GetBattleAnimByte
+ ld [$d419], a
+ call GetBattleAnimByte
+ ld [$d41a], a
+ call GetBattleAnimByte
+ ld [$d41b], a
+ call GetBattleAnimByte
+ ld [$d41c], a
+ call Functioncc9a1
+ ret
+
+; no known jump sources
+BattleAnimCmd_F0: ; cc43b (33:443b)
+ call GetBattleAnimByte
+ ld [$d419], a
+ call GetBattleAnimByte
+ ld [$d41a], a
+ call GetBattleAnimByte
+ ld [$d41b], a
+ call GetBattleAnimByte
+ ld [$d41c], a
+ call Functionccb4f
+ ret
+
+; no known jump sources
+BattleAnimCmd_F1: ; cc457 (33:4457)
+ call GetBattleAnimByte
+ ld [$cfc7], a
+ ret
+
+; no known jump sources
+BattleAnimCmd_F2: ; cc45e (33:445e)
+ call GetBattleAnimByte
+ ld [$cfc8], a
+ ret
+
+; no known jump sources
+BattleAnimCmd_F3: ; cc465 (33:4465)
+ call GetBattleAnimByte
+ ld [$cfc9], a
+ ret
+
+; no known jump sources
+BattleAnimCmd_DF: ; cc46c (33:446c)
+ ld a, [hSGB] ; $ff00+$e7
+ and a
+ ld a, $e0
+ jr z, .asm_cc475
+ ld a, $f0
+.asm_cc475
+ ld [$cfc8], a
+ ret
+
+; no known jump sources
+BattleAnimCmd_E5: ; cc479 (33:4479)
+ ld hl, $d30a
+ ld a, $a0
+.asm_cc47e
+ ld [hl], $0
+ inc hl
+ dec a
+ jr nz, .asm_cc47e
+ ret
+
+; no known jump sources
+BattleAnimCmd_D1:
+BattleAnimCmd_D2:
+BattleAnimCmd_D3:
+BattleAnimCmd_D4:
+BattleAnimCmd_D5: ; cc485 (33:4485)
+ ld a, [$d417]
+ and $f
+ ld c, a
+ ld hl, $d300
+ xor a
+ ld [$d419], a
+.asm_cc492
+ ld a, [$d419]
+ cp $4f
+ ret nc
+ call GetBattleAnimByte
+ ld [hli], a
+ ld a, [$d419]
+ ld [hli], a
+ push bc
+ push hl
+ ld l, a
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ add hl, hl
+ add hl, hl
+ ld de, $8310
+ add hl, de
+ ld a, [$d417]
+ call Functionce846
+ ld a, [$d419]
+ add c
+ ld [$d419], a
+ pop hl
+ pop bc
+ dec c
+ jr nz, .asm_cc492
+ ret
+
+; no known jump sources
+BattleAnimCmd_D6: ; cc4c0 (33:44c0)
+ call GetBattleAnimByte
+ ld e, $a
+ ld bc, $d30a
+.asm_cc4c8
+ ld hl, $0
+ add hl, bc
+ ld d, [hl]
+ ld a, [$d417]
+ cp d
+ jr z, .asm_cc4dd
+ ld hl, $18
+ add hl, bc
+ ld c, l
+ ld b, h
+ dec e
+ jr nz, .asm_cc4c8
+ ret
+.asm_cc4dd
+ ld hl, $e
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+BattleAnimCmd_D8: ; cc4e3 (33:44e3)
+ call GetBattleAnimByte
+ ld e, $5
+ ld bc, $d3fa
+.asm_cc4eb
+ ld hl, $0
+ add hl, bc
+ ld d, [hl]
+ ld a, [$d417]
+ cp d
+ jr z, .asm_cc500
+ ld hl, $4
+ add hl, bc
+ ld c, l
+ ld b, h
+ dec e
+ jr nz, .asm_cc4eb
+ ret
+.asm_cc500
+ ld hl, $1
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+BattleAnimCmd_D7: ; cc506 (33:4506)
+ call GetBattleAnimByte
+ ld e, $a
+ ld bc, $d30a
+.asm_cc50e
+ ld hl, $0
+ add hl, bc
+ ld d, [hl]
+ ld a, [$d417]
+ cp d
+ jr z, .asm_cc523
+ ld hl, $18
+ add hl, bc
+ ld c, l
+ ld b, h
+ dec e
+ jr nz, .asm_cc50e
+ ret
+.asm_cc523
+ call GetBattleAnimByte
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+BattleAnimCmd_D9: ; cc52c (33:452c)
+
+ ld hl, $d300
+.asm_cc52f
+ ld a, [hl]
+ and a
+ jr z, .asm_cc537
+ inc hl
+ inc hl
+ jr .asm_cc52f
+
+.asm_cc537
+ ld a, $28
+ ld [hli], a
+ ld a, $42
+ ld [hli], a
+ ld a, $29
+ ld [hli], a
+ ld a, $49
+ ld [hl], a
+
+ ld hl, $8730
+ ld de, $9060
+ ld a, $70
+ ld [$d419], a
+ ld a, $7
+ call Functioncc561
+ ld de, $9310
+ ld a, $60
+ ld [$d419], a
+ ld a, $6
+ call Functioncc561
+ ret
+
+; known jump sources: cc550 (33:4550), cc55d (33:455d), cc57b (33:457b)
+Functioncc561: ; cc561 (33:4561)
+ push af
+ push hl
+ push de
+ ld bc, $3301
+ call Request2bpp
+ pop de
+ ld a, [$d419]
+ ld l, a
+ ld h, $0
+ add hl, de
+ ld e, l
+ ld d, h
+ pop hl
+ ld bc, $10
+ add hl, bc
+ pop af
+ dec a
+ jr nz, Functioncc561
+ ret
+
+; no known jump sources
+BattleAnimCmd_DA: ; cc57e (33:457e)
+
+ ld hl, $d300
+.asm_cc581
+ ld a, [hl]
+ and a
+ jr z, .asm_cc589
+ inc hl
+ inc hl
+ jr .asm_cc581
+
+.asm_cc589
+ ld a, $28
+ ld [hli], a
+ ld a, $35
+ ld [hli], a
+ ld a, $29
+ ld [hli], a
+ ld a, $43
+ ld [hl], a
+
+ ld hl, $8660
+ ld de, $9050
+ ld a, $70
+ ld [$d419], a
+ ld a, $7
+ call Functioncc5b3
+ ld de, $9310
+ ld a, $60
+ ld [$d419], a
+ ld a, $6
+ call Functioncc5b3
+ ret
+
+; known jump sources: cc5a2 (33:45a2), cc5af (33:45af), cc5cd (33:45cd)
+Functioncc5b3: ; cc5b3 (33:45b3)
+ push af
+ push hl
+ push de
+ ld bc, $3302
+ call Request2bpp
+ pop de
+ ld a, [$d419]
+ ld l, a
+ ld h, $0
+ add hl, de
+ ld e, l
+ ld d, h
+ pop hl
+ ld bc, $20
+ add hl, bc
+ pop af
+ dec a
+ jr nz, Functioncc5b3
+ ret
+
+; no known jump sources
+BattleAnimCmd_DB: ; cc5d0 (33:45d0)
+ callab GetPokeBallWobble
+ ld a, c
+ ld [$d416], a
+ ret
+
+; no known jump sources
+BattleAnimCmd_E7: ; cc5db (33:45db)
+ ret
+
+; no known jump sources
+BattleAnimCmd_DC: ; cc5dc (33:45dc)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, 1
+ ld [rSVBK], a ; $ff00+$70
+ ld a, [CurPartySpecies] ; $d108
+ push af
+
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .player
+
+ ld a, [TempBattleMonSpecies] ; $d205
+ ld [CurPartySpecies], a ; $d108
+ ld hl, BattleMonDVs ; $c632
+ ld a, PREDEF_GET_UNOWN_LETTER
+ call Predef
+ ld de, $8000
+ ld a, $3c
+ call Predef
+ jr .done
+
+.player
+ ld a, [TempEnemyMonSpecies] ; $d204
+ ld [CurPartySpecies], a ; $d108
+ ld hl, EnemyMonDVs ; $d20c
+ ld a, PREDEF_GET_UNOWN_LETTER
+ call Predef
+ ld de, $8000
+ ld a, $3d
+ call Predef
+
+.done
+ pop af
+ ld [CurPartySpecies], a ; $d108
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; no known jump sources
+BattleAnimCmd_E8: ; cc622 (33:4622)
+
+ ld de, $8000
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .player
+
+ ld hl, $9000
+ ld b, 0
+ ld c, $31
+ call Request2bpp
+ ret
+
+.player
+ ld hl, $9310
+ ld b, 0
+ ld c, $24
+ call Request2bpp
+ ret
+
+; no known jump sources
+BattleAnimCmd_DD: ; cc640 (33:4640)
+
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, 1
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ call GetSRAMBank
+
+GetSubstitutePic: ; cc64c
+
+ ld hl, $a000
+ ld bc, $310
+.loop
+ xor a
+ ld [hli], a
+ dec bc
+ ld a, c
+ or b
+ jr nz, .loop
+
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .player
+
+ ld hl, MonsterSpriteGFX
+ ld de, $a000 + $130
+ call CopyMonsterSpriteTile
+ ld hl, MonsterSpriteGFX + $10
+ ld de, $a000 + $1a0
+ call CopyMonsterSpriteTile
+ ld hl, MonsterSpriteGFX + $20
+ ld de, $a000 + $140
+ call CopyMonsterSpriteTile
+ ld hl, MonsterSpriteGFX + $30
+ ld de, $a000 + $1b0
+ call CopyMonsterSpriteTile
+
+ ld hl, $9000
+ ld de, $a000
+ lb bc, BANK(GetSubstitutePic), 7 * 7
+ call Request2bpp
+ jr .done
+
+.player
+ ld hl, MonsterSpriteGFX + $40
+ ld de, $a000 + $100
+ call CopyMonsterSpriteTile
+ ld hl, MonsterSpriteGFX + $50
+ ld de, $a000 + $160
+ call CopyMonsterSpriteTile
+ ld hl, MonsterSpriteGFX + $60
+ ld de, $a000 + $110
+ call CopyMonsterSpriteTile
+ ld hl, MonsterSpriteGFX + $70
+ ld de, $a000 + $170
+ call CopyMonsterSpriteTile
+
+ ld hl, $9310
+ ld de, $a000
+ lb bc, BANK(GetSubstitutePic), 6 * 6
+ call Request2bpp
+
+.done
+ call CloseSRAM
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; known jump sources: cc663 (33:4663), cc66c (33:466c), cc675 (33:4675), cc67e (33:467e), cc695 (33:4695), cc69e (33:469e), cc6a7 (33:46a7), cc6b0 (33:46b0)
+CopyMonsterSpriteTile: ; cc6c6 (33:46c6)
+ ld bc, $10
+ ld a, BANK(MonsterSpriteGFX)
+ call FarCopyBytes
+ ret
+
+; no known jump sources
+BattleAnimCmd_E2: ; cc6cf (33:46cf)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ call GetSRAMBank
+ call GetMinimizePic
+ call Request2bpp
+ call CloseSRAM
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; known jump sources: cc6da (33:46da), cc740 (33:4740)
+GetMinimizePic: ; cc6e7 (33:46e7)
+ ld hl, $a000
+ ld bc, $310
+.loop
+ xor a
+ ld [hli], a
+ dec bc
+ ld a, c
+ or b
+ jr nz, .loop
+
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .player
+
+ ld de, $a1a0
+ call CopyMinimizePic
+ ld hl, $9000
+ ld de, $a000
+ lb bc, BANK(GetMinimizePic), $31
+ ret
+
+.player
+ ld de, $a160
+ call CopyMinimizePic
+ ld hl, $9310
+ ld de, $a000
+ lb bc, BANK(GetMinimizePic), $24
+ ret
+
+; known jump sources: cc6fc (33:46fc), cc70c (33:470c)
+CopyMinimizePic: ; cc719 (33:4719)
+ ld hl, MinimizePic
+ ld bc, $10
+ ld a, BANK(MinimizePic)
+ call FarCopyBytes
+ ret
+; cc725 (33:4725)
+
+MinimizePic: ; cc725
+INCBIN "gfx/battle/minimize.2bpp"
+; cc735
+
+; no known jump sources
+BattleAnimCmd_E9: ; cc735 (33:4735)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ xor a
+ call GetSRAMBank
+ call GetMinimizePic
+ ld hl, $8000
+ call Request2bpp
+ call CloseSRAM
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; no known jump sources
+BattleAnimCmd_DE: ; cc750 (33:4750)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+
+ ld a, [CurPartySpecies] ; $d108
+ push af
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .player
+
+ callab Function3f486
+ jr .done
+
+.player
+ callab Function3f447
+
+.done
+ pop af
+ ld [CurPartySpecies], a ; $d108
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; no known jump sources
+BattleAnimCmd_E6: ; cc776 (33:4776)
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ ld a, [CurPartySpecies] ; $d108
+ push af
+
+ ld a, [$c689]
+ ld [CurPartySpecies], a ; $d108
+
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .player
+
+ ld hl, BattleMonDVs ; $c632
+ ld a, PREDEF_GET_UNOWN_LETTER
+ call Predef
+ ld de, $9000
+ ld a, $3c
+ call Predef
+ jr .done
+
+.player
+ ld hl, EnemyMonDVs ; $d20c
+ ld a, PREDEF_GET_UNOWN_LETTER
+ call Predef
+ ld de, $9310
+ ld a, $3d
+ call Predef
+
+.done
+ pop af
+ ld [CurPartySpecies], a ; $d108
+ ld b, $1
+ call GetSGBLayout
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+
+; no known jump sources
+BattleAnimCmd_E3: ; cc7bb (33:47bb)
+ xor a
+ ld [hOAMUpdate], a ; $ff00+$d8
+ ret
+
+; no known jump sources
+BattleAnimCmd_E4: ; cc7bf (33:47bf)
+ ld a, $1
+ ld [hOAMUpdate], a ; $ff00+$d8
+ ret
+
+; no known jump sources
+BattleAnimCmd_F4: ; cc7c4 (33:47c4)
+ ld hl, $d40f
+ set 3, [hl]
+ ret
+
+; no known jump sources
+BattleAnimCmd_F5: ; cc7ca (33:47ca)
+ ret
+
+; no known jump sources
+BattleAnimCmd_F6: ; cc7cb (33:47cb)
+ ret
+
+; no known jump sources
+BattleAnimCmd_F7: ; cc7cc (33:47cc)
+ ret
+
+; no known jump sources
+BattleAnimCmd_E0: ; cc7cd (33:47cd)
+ call GetBattleAnimByte
+ ld e, a
+ srl a
+ srl a
+ ld [$c2be], a
+ call Functioncc7fc
+ and 3
+ ld [CryTracks], a ; $c2bd
+
+ ld e, a
+ ld d, 0
+ ld hl, Datacc7f8
+ add hl, de
+ ld a, [hl]
+ ld [$c2bc], a
+
+ call GetBattleAnimByte
+ ld e, a
+ ld d, 0
+ callab PlayStereoSFX
+
+ ret
+; cc7f8 (33:47f8)
+
+Datacc7f8: ; cc7f8
+ db $f0, $0f, $f0, $0f
+; cc7fc
+
+; known jump sources: cc7d8 (33:47d8)
+Functioncc7fc: ; cc7fc (33:47fc)
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr nz, .enemy
+
+ ld a, e
+ ret
+
+.enemy
+ ld a, e
+ xor 1
+ ret
+
+; no known jump sources
+BattleAnimCmd_E1: ; cc807 (33:4807)
+ call GetBattleAnimByte
+ and 3
+ ld e, a
+ ld d, 0
+ ld hl, Datacc871
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, 1
+ ld [rSVBK], a ; $ff00+$70
+
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr nz, .enemy
+
+ ld a, $f0
+ ld [CryTracks], a ; $c2bd
+ ld a, [BattleMonSpecies] ; $c62c
+ jr .asm_cc834
+
+.enemy
+ ld a, $0f
+ ld [CryTracks], a ; $c2bd
+ ld a, [EnemyMonSpecies] ; $d206
+
+.asm_cc834
+ push hl
+ call Function37f3
+ pop hl
+ jr c, .done
+
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld b, a
+
+ push hl
+ ld hl, CryPitch ; $c2b0
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ add hl, bc
+ ld a, l
+ ld [CryPitch], a ; $c2b0
+ ld a, h
+ ld [CryEcho], a ; $c2b1
+ pop hl
+
+ ld a, [hli]
+ ld c, a
+ ld b, [hl]
+ ld hl, CryLength ; $c2b2
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ add hl, bc
+
+ ld a, l
+ ld [CryLength], a ; $c2b2
+ ld a, h
+ ld [CryLength + 1], a
+ ld a, 1
+ ld [$c2bc], a
+
+ callab PlayCry
+
+.done
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ret
+; cc871 (33:4871)
+
+Datacc871: ; cc871
+; +pitch, +echo, +length
+ db $00, $00, $c0, $00
+ db $00, $00, $40, $00
+ db $00, $00, $00, $00
+ db $00, $00, $00, $00
+; cc881
+
+
+Functioncc881: ; cc881
+ ld a, [$cfca]
+ cp $1
+ jr z, .asm_cc88b
+ cp $4
+ ret nz
+
+.asm_cc88b
+ ld a, [TypeModifier]
+ and $7f
+ ret z
+
+ cp 10
+ ld de, SFX_DAMAGE
+ jr z, .play
+
+ ld de, SFX_SUPER_EFFECTIVE
+ jr nc, .play
+
+ ld de, SFX_NOT_VERY_EFFECTIVE
+
+.play
+ call PlaySFX
+ ret
+; cc8a4
+
+BattleAnimAssignPals: ; cc8a4
+ ld a, [hCGB]
+ and a
+ jr nz, .asm_cc8be
+ ld a, [hSGB]
+ and a
+ ld a, $e0
+ jr z, .asm_cc8b2
+ ld a, $f0
+
+.asm_cc8b2
+ ld [$cfc8], a
+ ld a, $e4
+ ld [$cfc7], a
+ ld [$cfc9], a
+ ret
+
+.asm_cc8be
+ ld a, $e4
+ ld [$cfc7], a
+ ld [$cfc8], a
+ ld [$cfc9], a
+ call DmgToCgbBGPals
+ ld de, $e4e4
+ call DmgToCgbObjPals
+ ret
+; cc8d3
+
+Functioncc8d3: ; cc8d3
+ ld hl, LYOverrides
+ ld bc, $0354
+.asm_cc8d9
+ ld [hl], $0
+ inc hl
+ dec bc
+ ld a, c
+ or b
+ jr nz, .asm_cc8d9
+ ld hl, FXAnimIDLo
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $506f
+ add hl, de
+ add hl, de
+ call Function3ae1
+ call BattleAnimAssignPals
+ call BattleAnimDelayFrame
+ ret
+; cc8f6
+
+Functioncc8f6: ; cc8f6
+ call WaitTop
+ ld a, $e4
+ ld [$cfc7], a
+ ld [$cfc8], a
+ ld [$cfc9], a
+ call DmgToCgbBGPals
+ ld de, $e4e4
+ call DmgToCgbObjPals
+ xor a
+ ld [hSCX], a
+ ld [hSCY], a
+ call BattleAnimDelayFrame
+ ld a, $1
+ ld [hBGMapMode], a
+ ret
+; cc91a
+
+Functioncc91a: ; cc91a
+ ld [rBGP], a
+ ld a, [hCGB]
+ and a
+ ret z
+ ld a, [rSVBK]
+ push af
+ ld a, $5
+ ld [rSVBK], a
+ ld hl, $d080
+ ld de, $d000
+ ld a, [rBGP]
+ ld b, a
+ ld c, $7
+ call CopyPals
+ ld hl, $d0c0
+ ld de, MartPointer
+ ld a, [rBGP]
+ ld b, a
+ ld c, $2
+ call CopyPals
+ pop af
+ ld [rSVBK], a
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; cc94b
+
+Functioncc94b: ; cc94b
+ ld [rOBP0], a
+ ld a, [hCGB]
+ and a
+ ret z
+ ld a, [rSVBK]
+ push af
+ ld a, $5
+ ld [rSVBK], a
+ ld hl, $d0d0
+ ld de, $d050
+ ld a, [rOBP0]
+ ld b, a
+ ld c, $2
+ call CopyPals
+ pop af
+ ld [rSVBK], a
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; cc96e
+
+Functioncc96e: ; cc96e
+ ld a, $0
+ ld [$d418], a
+ ld hl, $d30a
+ ld e, $a
+.asm_cc978
+ ld a, [hl]
+ and a
+ jr z, .asm_cc98a
+ ld c, l
+ ld b, h
+ push hl
+ push de
+ call Functionccfbe
+ call Functioncca09
+ pop de
+ pop hl
+ jr c, .asm_cc9a0
+
+.asm_cc98a
+ ld bc, $0018
+ add hl, bc
+ dec e
+ jr nz, .asm_cc978
+ ld a, [$d418]
+ ld l, a
+ ld h, $c4
+.asm_cc997
+ ld a, l
+ cp $a0
+ jr nc, .asm_cc9a0
+ xor a
+ ld [hli], a
+ jr .asm_cc997
+
+.asm_cc9a0
+ ret
+; cc9a1
+
+
diff --git a/battle/anim_objects.asm b/battle/anim_objects.asm
new file mode 100644
index 000000000..09cfb0102
--- /dev/null
+++ b/battle/anim_objects.asm
@@ -0,0 +1,5037 @@
+; Objects used in battle animations.
+
+
+; known jump sources: cc437 (33:4437)
+Functioncc9a1: ; cc9a1 (33:49a1)
+ ld hl, $d30a
+ ld e, $a
+.asm_cc9a6
+ ld a, [hl]
+ and a
+ jr z, .asm_cc9b3
+ ld bc, $18
+ add hl, bc
+ dec e
+ jr nz, .asm_cc9a6
+ scf
+ ret
+.asm_cc9b3
+ ld c, l
+ ld b, h
+ ld hl, $d40e
+ inc [hl]
+ call Functioncc9c4
+ ret
+
+
+Functioncc9bd: ; cc9bd
+ ld hl, $0000
+ add hl, bc
+ ld [hl], $0
+ ret
+; cc9c4
+
+
+; known jump sources: cc9b9 (33:49b9)
+Functioncc9c4: ; cc9c4 (33:49c4)
+ ld a, [$d419]
+ ld e, a
+ ld d, $0
+ ld hl, $4b56
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $0
+ add hl, bc
+ ld a, [$d40e]
+ ld [hli], a
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, [de]
+ call Functionccb31
+ ld [hli], a
+ ld a, [$d41a]
+ ld [hli], a
+ ld a, [$d41b]
+ ld [hli], a
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld a, [$d41c]
+ ld [hli], a
+ xor a
+ ld [hli], a
+ dec a
+ ld [hli], a
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+ ret
+
+
+Functioncca09: ; cca09
+ call Functionccaaa
+ call Functionce7d1
+ cp EGG
+ jp z, .asm_ccaa5
+ cp NUM_POKEMON + 1
+ jp z, .asm_ccaa2
+ push af
+ ld hl, $d419
+ ld a, [$d420]
+ xor [hl]
+ and $e0
+ ld [hl], a
+ pop af
+ push bc
+ call Functionce83c
+ ld a, [$d41b]
+ add [hl]
+ ld [$d41b], a
+ inc hl
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [$d418]
+ ld e, a
+ ld d, $c4
+.asm_cca3c
+ ld a, [$d41d]
+ ld b, a
+ ld a, [$d41f]
+ add b
+ ld b, a
+ push hl
+ ld a, [hl]
+ ld hl, $d419
+ bit 6, [hl]
+ jr z, .asm_cca53
+ add $8
+ xor $ff
+ inc a
+
+.asm_cca53
+ pop hl
+ add b
+ ld [de], a
+ inc hl
+ inc de
+ ld a, [$d41c]
+ ld b, a
+ ld a, [$d41e]
+ add b
+ ld b, a
+ push hl
+ ld a, [hl]
+ ld hl, $d419
+ bit 5, [hl]
+ jr z, .asm_cca6f
+ add $8
+ xor $ff
+ inc a
+
+.asm_cca6f
+ pop hl
+ add b
+ ld [de], a
+ inc hl
+ inc de
+ ld a, [$d41b]
+ add $31
+ add [hl]
+ ld [de], a
+ inc hl
+ inc de
+ ld a, [$d419]
+ ld b, a
+ ld a, [hl]
+ xor b
+ and $e0
+ ld b, a
+ ld a, [hl]
+ and $10
+ or b
+ ld b, a
+ ld a, [OTPartyMon6Nickname]
+ and $f
+ or b
+ ld [de], a
+ inc hl
+ inc de
+ ld a, e
+ ld [$d418], a
+ cp $a0
+ jr nc, .asm_ccaa7
+ dec c
+ jr nz, .asm_cca3c
+ pop bc
+ jr .asm_ccaa5
+
+.asm_ccaa2
+ call Functioncc9bd
+
+.asm_ccaa5
+ and a
+ ret
+
+.asm_ccaa7
+ pop bc
+ scf
+ ret
+; ccaaa
+
+Functionccaaa: ; ccaaa
+ ld hl, $0001
+ add hl, bc
+ ld a, [hl]
+ and $80
+ ld [$d419], a
+ xor a
+ ld [$d420], a
+ ld hl, $0005
+ add hl, bc
+ ld a, [hl]
+ ld [OTPartyMon6Nickname], a
+ ld hl, $0002
+ add hl, bc
+ ld a, [hl]
+ ld [$d41a], a
+ ld hl, $0006
+ add hl, bc
+ ld a, [hli]
+ ld [$d41b], a
+ ld a, [hli]
+ ld [$d41c], a
+ ld a, [hli]
+ ld [$d41d], a
+ ld a, [hli]
+ ld [$d41e], a
+ ld a, [hli]
+ ld [$d41f], a
+ ld a, [hBattleTurn]
+ and a
+ ret z
+ ld hl, $0001
+ add hl, bc
+ ld a, [hl]
+ ld [$d419], a
+ bit 0, [hl]
+ ret z
+ ld hl, $0007
+ add hl, bc
+ ld a, [hli]
+ ld d, a
+ ld a, $b4
+ sub d
+ ld [$d41c], a
+ ld a, [hli]
+ ld d, a
+ ld a, [$d41a]
+ cp $ff
+ jr nz, .asm_ccb09
+ ld a, $28
+ add d
+ jr .asm_ccb26
+
+.asm_ccb09
+ sub d
+ push af
+ ld a, [FXAnimIDHi]
+ or a
+ jr nz, .asm_ccb25
+ ld a, [FXAnimIDLo]
+ cp $86
+ jr z, .asm_ccb20
+ cp $87
+ jr z, .asm_ccb20
+ cp $d0
+ jr nz, .asm_ccb25
+
+.asm_ccb20
+ pop af
+ sub $8
+ jr .asm_ccb26
+
+.asm_ccb25
+ pop af
+
+.asm_ccb26
+ ld [$d41d], a
+ ld a, [hli]
+ xor $ff
+ inc a
+ ld [$d41e], a
+ ret
+; ccb31
+
+
+; known jump sources: cc9ed (33:49ed)
+Functionccb31: ; ccb31 (33:4b31)
+ push hl
+ push bc
+ ld hl, $d300
+ ld b, a
+ ld c, $5
+.asm_ccb39
+ ld a, [hli]
+ cp b
+ jr z, .asm_ccb44
+ inc hl
+ dec c
+ jr nz, .asm_ccb39
+ xor a
+ jr .asm_ccb45
+.asm_ccb44
+ ld a, [hl]
+.asm_ccb45
+ pop bc
+ pop hl
+ ret
+
+
+Functionccb48: ; ccb48
+ callab Functionc8000
+ ret
+; ccb4f
+
+
+; known jump sources: cc453 (33:4453)
+Functionccb4f: ; ccb4f (33:4b4f)
+ callab Functionc801a
+ ret
+; ccb56 (33:4b56)
+
+INCBIN "baserom.gbc",$ccb56,$ccfbe - $ccb56
+
+
+Functionccfbe: ; ccfbe
+ ld hl, $0004
+ add hl, bc
+ ld e, [hl]
+ ld d, $0
+ ld hl, $4fce
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+; ccfce
+
+
+; no known jump sources
+Jumptable_ccfce: ; ccfce (33:4fce)
+ dw Functioncd06e
+ dw Functioncd12a
+ dw Functioncd146
+ dw Functioncd0e3
+ dw Functioncd0a6
+ dw Functioncd081
+ dw Functioncd079
+ dw Functioncd2be
+ dw Functioncd306
+ dw Functioncd3ae
+ dw Functioncd3f2
+ dw Functioncd478
+ dw Functioncd5e9
+ dw Functioncd66a
+ dw Functioncd6e3
+ dw Functioncd71a
+ dw Functioncd284
+ dw Functioncd777
+ dw Functioncd15c
+ dw Functioncd212
+ dw Functioncd7a4
+ dw Functioncd80c
+ dw Functioncd824
+ dw Functioncd89a
+ dw Functioncd900
+ dw Functioncd954
+ dw Functioncdafa
+ dw Functioncdb06
+ dw Functioncda0a
+ dw Functioncdb80
+ dw Functioncdca6
+ dw Functioncda31
+ dw Functioncda4d
+ dw Functioncdcc3
+ dw Functioncdd2a
+ dw Functioncdd90
+ dw Functioncddf9
+ dw Functioncde28
+ dw Functioncde54
+ dw Functioncde6b
+ dw Functioncde89
+ dw Functioncdedd
+ dw Functioncdf59
+ dw Functionce063
+ dw Functionce0c5
+ dw Functioncdf1b
+ dw Functionce10e
+ dw Functionce15c
+ dw Functionce1e7
+ dw Functionce226
+ dw Functionce255
+ dw Functionce2cc
+ dw Functioncdf8c
+ dw Functionce00b
+ dw Functionce2fd
+ dw Functionce35f
+ dw Functionce389
+ dw Functionce3b4
+ dw Functionce3d2
+ dw Functionce3ff
+ dw Functioncdfcb
+ dw Functionce416
+ dw Functionce43a
+ dw Functioncdad6
+ dw Functionce49c
+ dw Functionce4dc
+ dw Functionce1b0
+ dw Functionce508
+ dw Functionce532
+ dw Functionce55b
+ dw Functionce593
+ dw Functionce5b4
+ dw Functionce5dc
+ dw Functionce5ee
+ dw Functionce62f
+ dw Functionce688
+ dw Functionce6b3
+ dw Functionce6d2
+ dw Functioncd58a
+ dw Functionce6bf
+
+
+; no known jump sources
+Functioncd06e: ; cd06e (33:506e)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd071: ; cd071 (33:5071)
+ dw Functioncd078
+ dw Functioncd075
+
+
+; no known jump sources
+Functioncd075: ; cd075 (33:5075)
+ call Functioncc9bd
+
+; no known jump sources
+Functioncd078: ; cd078 (33:5078)
+ ret
+
+; no known jump sources
+Functioncd079: ; cd079 (33:5079)
+ call Functioncd081
+ ret c
+ call Functioncc9bd
+ ret
+
+; known jump sources: cd079 (33:5079), cd17e (33:517e), cd22b (33:522b)
+Functioncd081: ; cd081 (33:5081)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ ret nc
+ add $2
+ ld [hl], a
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld hl, $b
+ add hl, bc
+ ld d, [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ scf
+ ret
+
+; no known jump sources
+Functioncd0a6: ; cd0a6 (33:50a6)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr c, .asm_cd0b3
+ call Functioncc9bd
+ ret
+.asm_cd0b3
+ add $2
+ ld [hl], a
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $10
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ sra a
+ sra a
+ sra a
+ sra a
+ ld [hl], a
+ ret
+
+; known jump sources: cdafa (33:5afa)
+Functioncd0e3: ; cd0e3 (33:50e3)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd0e6: ; cd0e6 (33:50e6)
+ dw Functioncd0ea
+ dw Functioncd106
+
+
+; no known jump sources
+Functioncd0ea: ; cd0ea (33:50ea)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ bit 7, [hl]
+ ld a, $0
+ jr z, .asm_cd0f9
+ ld a, $20
+.asm_cd0f9
+ ld hl, $f
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+
+; no known jump sources
+Functioncd106: ; cd106 (33:5106)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld hl, $b
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functioncd12a: ; cd12a (33:512a)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd12d: ; cd12d (33:512d)
+ dw Functioncd135
+ dw Functioncd131
+
+
+; no known jump sources
+Functioncd131: ; cd131 (33:5131)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd135: ; cd135 (33:5135)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ ret nc
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+; no known jump sources
+Functioncd146: ; cd146 (33:5146)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr nc, .asm_cd158
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+.asm_cd158
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd15c: ; cd15c (33:515c)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd15f: ; cd15f (33:515f)
+ dw Functioncd177
+ dw Functioncd17e
+ dw Functioncd1dc
+ dw Functioncd196
+ dw Functioncd1a7
+ dw Functioncd1dc
+ dw Functioncd1d2
+ dw Functioncd1dd
+ dw Functioncd1ee
+ dw Functioncd1dc
+ dw Functioncd1ee
+ dw Functioncd20e
+
+
+; no known jump sources
+Functioncd177: ; cd177 (33:5177)
+ call Functioncd249
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd17e: ; cd17e (33:517e)
+ call Functioncd081
+ ret c
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ ld hl, $8
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ld a, $b
+ call Functionce7bf
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd196: ; cd196 (33:5196)
+ call Functionce72c
+ ld a, $9
+ call Functionce7bf
+ ld hl, $f
+ add hl, bc
+ ld [hl], $0
+ inc hl
+ ld [hl], $10
+
+; no known jump sources
+Functioncd1a7: ; cd1a7 (33:51a7)
+ ld hl, $f
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec a
+ ld [hl], a
+ and $1f
+ ret nz
+ ld [hl], a
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ sub $4
+ ld [hl], a
+ ret nz
+ ld a, $c
+ call Functionce7bf
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd1d2: ; cd1d2 (33:51d2)
+ ld a, $d
+ call Functionce7bf
+ ld hl, $e
+ add hl, bc
+ dec [hl]
+
+; no known jump sources
+Functioncd1dc: ; cd1dc (33:51dc)
+ ret
+
+; no known jump sources
+Functioncd1dd: ; cd1dd (33:51dd)
+ call Functioncd249
+ ld a, $a
+ call Functionce7bf
+ call Functionce72c
+ ld hl, $10
+ add hl, bc
+ ld [hl], $20
+
+; no known jump sources
+Functioncd1ee: ; cd1ee (33:51ee)
+ ld hl, $f
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec a
+ ld [hl], a
+ and $1f
+ jr z, Functioncd20e
+ and $f
+ ret nz
+ call Functionce72c
+ ret
+
+; known jump sources: cd205 (33:5205)
+Functioncd20e: ; cd20e (33:520e)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd212: ; cd212 (33:5212)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd215: ; cd215 (33:5215)
+ dw Functioncd21b
+ dw Functioncd222
+ dw Functioncd232
+
+
+; no known jump sources
+Functioncd21b: ; cd21b (33:521b)
+ call Functioncd249
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd222: ; cd222 (33:5222)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $70
+ jr nc, .asm_cd22f
+ call Functioncd081
+ ret
+.asm_cd22f
+ call Functionce72c
+
+; no known jump sources
+Functioncd232: ; cd232 (33:5232)
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .asm_cd245
+ add $4
+ ld [hl], a
+ ld hl, $7
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ ret
+.asm_cd245
+ call Functioncc9bd
+ ret
+
+; known jump sources: cd177 (33:5177), cd1dd (33:51dd), cd21b (33:521b)
+Functioncd249: ; cd249 (33:5249)
+ ld hl, $526c
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $1
+ ld [rSVBK], a ; $ff00+$70
+ ld a, [CurItem] ; $d106
+ ld e, a
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+.asm_cd25a
+ ld a, [hli]
+ cp $ff
+ jr z, .asm_cd265
+ cp e
+ jr z, .asm_cd265
+ inc hl
+ jr .asm_cd25a
+.asm_cd265
+ ld a, [hl]
+ ld hl, $5
+ add hl, bc
+ ld [hl], a
+ ret
+; cd26c (33:526c)
+
+INCBIN "baserom.gbc",$cd26c,$cd284 - $cd26c
+
+; no known jump sources
+Functioncd284: ; cd284 (33:5284)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd287: ; cd287 (33:5287)
+ dw Functioncd291
+ dw Functioncd2a0
+ dw Functioncd2b1
+ dw Functioncd2b5
+ dw Functioncd2bd
+
+
+; no known jump sources
+Functioncd291: ; cd291 (33:5291)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ swap a
+ and $f
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncd2a0: ; cd2a0 (33:52a0)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ ret nc
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+; no known jump sources
+Functioncd2b1: ; cd2b1 (33:52b1)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd2b5: ; cd2b5 (33:52b5)
+ call Functionce72c
+ ld a, $f
+ call Functionce7bf
+
+; no known jump sources
+Functioncd2bd: ; cd2bd (33:52bd)
+ ret
+
+; no known jump sources
+Functioncd2be: ; cd2be (33:52be)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd2c1: ; cd2c1 (33:52c1)
+ dw Functioncd2c5
+ dw Functioncd2d1
+
+
+; no known jump sources
+Functioncd2c5: ; cd2c5 (33:52c5)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $30
+ inc hl
+ ld [hl], $48
+
+; no known jump sources
+Functioncd2d1: ; cd2d1 (33:52d1)
+ ld hl, $f
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+ ld hl, $f
+ add hl, bc
+ ld [hl], $20
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ ld hl, $b
+ add hl, bc
+ sub [hl]
+ jr z, .asm_cd302
+ jr c, .asm_cd302
+ ld hl, $10
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_cd302
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd306: ; cd306 (33:5306)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd309: ; cd309 (33:5309)
+ dw Functioncd311
+ dw Functioncd321
+ dw Functioncd32a
+ dw Functioncd37d
+
+
+; no known jump sources
+Functioncd311: ; cd311 (33:5311)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .asm_cd31e
+ call Functioncd38e
+ ret
+.asm_cd31e
+ call Functionce72c
+
+; no known jump sources
+Functioncd321: ; cd321 (33:5321)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $0
+
+; no known jump sources
+Functioncd32a: ; cd32a (33:532a)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, .asm_cd363
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ call Functionce732
+ sub $18
+ sra a
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ call Functionce734
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, $f
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+.asm_cd363
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ jr z, .asm_cd37a
+ sub $10
+ ld d, a
+ ld a, [hl]
+ and $f
+ or d
+ ld [hl], a
+ ld hl, $e
+ add hl, bc
+ dec [hl]
+ ret
+.asm_cd37a
+ call Functionce72c
+
+; no known jump sources
+Functioncd37d: ; cd37d (33:537d)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $b0
+ jr c, .asm_cd38a
+ call Functioncc9bd
+ ret
+.asm_cd38a
+ call Functioncd38e
+ ret
+
+; known jump sources: cd31a (33:531a), cd38a (33:538a)
+Functioncd38e: ; cd38e (33:538e)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, $7
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld e, a
+ srl e
+ ld hl, $8
+ add hl, bc
+.asm_cd3a9
+ dec [hl]
+ dec e
+ jr nz, .asm_cd3a9
+ ret
+
+; no known jump sources
+Functioncd3ae: ; cd3ae (33:53ae)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd3b1: ; cd3b1 (33:53b1)
+ dw Functioncd3b7
+ dw Functioncd3cc
+ dw Functioncd3ee
+
+
+; no known jump sources
+Functioncd3b7: ; cd3b7 (33:53b7)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $0
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+
+; no known jump sources
+Functioncd3cc: ; cd3cc (33:53cc)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd3d6
+ dec [hl]
+ ret
+.asm_cd3d6
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ swap a
+ and $f
+ ld hl, $f
+ add hl, bc
+ ld [hl], a
+ ld hl, $9
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncd3ee: ; cd3ee (33:53ee)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd3f2: ; cd3f2 (33:53f2)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd3f5: ; cd3f5 (33:53f5)
+ dw Functioncd409
+ dw Functioncd45c
+ dw Functioncd467
+ dw Functioncd472
+ dw Functioncd462
+ dw Functioncd46d
+ dw Functioncd477
+ dw Functioncd41d
+ dw Functioncd437
+ dw Functioncd458
+
+
+; no known jump sources
+Functioncd409: ; cd409 (33:5409)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ cp $7
+ jr z, Functioncd41d
+ ld a, $11
+ call Functionce7bf
+ ret
+
+; known jump sources: cd415 (33:5415)
+Functioncd41d: ; cd41d (33:541d)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr nc, .asm_cd42f
+ add $2
+ ld [hl], a
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+ ret
+.asm_cd42f
+ call Functionce72c
+ ld a, $10
+ call Functionce7bf
+
+; no known jump sources
+Functioncd437: ; cd437 (33:5437)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functioncd458: ; cd458 (33:5458)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd45c: ; cd45c (33:545c)
+ ld hl, $a
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functioncd462: ; cd462 (33:5462)
+ ld hl, $a
+ add hl, bc
+ inc [hl]
+
+; no known jump sources
+Functioncd467: ; cd467 (33:5467)
+ ld hl, $9
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functioncd46d: ; cd46d (33:546d)
+ ld hl, $a
+ add hl, bc
+ inc [hl]
+
+; no known jump sources
+Functioncd472: ; cd472 (33:5472)
+ ld hl, $9
+ add hl, bc
+ inc [hl]
+
+; no known jump sources
+Functioncd477: ; cd477 (33:5477)
+ ret
+
+; no known jump sources
+Functioncd478: ; cd478 (33:5478)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd47b: ; cd47b (33:547b)
+ dw Functioncd48d
+ dw Functioncd496
+ dw Functioncd4ee
+ dw Functioncd53a
+ dw Functioncd545
+ dw Functioncd545
+ dw Functioncd545
+ dw Functioncd545
+ dw Functioncd549
+
+
+; no known jump sources
+Functioncd48d: ; cd48d (33:548d)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $40
+
+; no known jump sources
+Functioncd496: ; cd496 (33:5496)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr nc, .asm_cd4bc
+ call Functionce72c
+ xor a
+ ld hl, $f
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ ld a, $17
+ call Functionce7bf
+ ld hl, $b
+ add hl, bc
+ bit 6, [hl]
+ ret z
+ ld hl, $d
+ add hl, bc
+ ld [hl], $5
+ ret
+.asm_cd4bc
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld d, a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ call Functioncd557
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ ld hl, $7
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $7
+ add hl, bc
+ ld [hl], d
+ ld hl, $10
+ add hl, bc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functioncd4ee: ; cd4ee (33:54ee)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr nz, .asm_cd4fb
+ call Functioncc9bd
+ ret
+.asm_cd4fb
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call Functionce734
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ bit 6, [hl]
+ jr nz, .asm_cd519
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ jr .asm_cd51e
+.asm_cd519
+ ld hl, $f
+ add hl, bc
+ dec [hl]
+.asm_cd51e
+ ld de, $80
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ ld hl, $a
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $a
+ add hl, bc
+ ld [hl], d
+ ld hl, $10
+ add hl, bc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functioncd53a: ; cd53a (33:553a)
+ ld a, $16
+ call Functionce7bf
+ ld hl, $1
+ add hl, bc
+ res 5, [hl]
+
+; no known jump sources
+Functioncd545: ; cd545 (33:5545)
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd549: ; cd549 (33:5549)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $c0
+ ret nc
+ ld a, $8
+ call Functionce70a
+ ret
+
+; known jump sources: cd4d2 (33:54d2), cd5cd (33:55cd)
+Functioncd557: ; cd557 (33:5557)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ bit 7, a
+ jr nz, .asm_cd574
+ cp $20
+ jr nc, .asm_cd570
+ cp $18
+ jr nc, .asm_cd56c
+ ld de, $200
+ ret
+.asm_cd56c
+ ld de, $180
+ ret
+.asm_cd570
+ ld de, $100
+ ret
+.asm_cd574
+ and $3f
+ cp $20
+ jr nc, .asm_cd586
+ cp $18
+ jr nc, .asm_cd582
+ ld de, $fe00
+ ret
+.asm_cd582
+ ld de, $fe80
+ ret
+.asm_cd586
+ ld de, rJOYP ; $ff00
+ ret
+
+; no known jump sources
+Functioncd58a: ; cd58a (33:558a)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd58d: ; cd58d (33:558d)
+ dw Functioncd591
+ dw Functioncd5aa
+
+
+; no known jump sources
+Functioncd591: ; cd591 (33:5591)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $40
+ rlca
+ rlca
+ add $19
+ ld hl, $3
+ add hl, bc
+ ld [hl], a
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $40
+
+; no known jump sources
+Functioncd5aa: ; cd5aa (33:55aa)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr nc, .asm_cd5b7
+ call Functioncc9bd
+ ret
+.asm_cd5b7
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld d, a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ call Functioncd557
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ ld hl, $7
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $7
+ add hl, bc
+ ld [hl], d
+ ld hl, $10
+ add hl, bc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functioncd5e9: ; cd5e9 (33:55e9)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd5ec: ; cd5ec (33:55ec)
+ dw Functioncd5f2
+ dw Functioncd5fb
+ dw Functioncd61b
+
+
+; no known jump sources
+Functioncd5f2: ; cd5f2 (33:55f2)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $c
+
+; no known jump sources
+Functioncd5fb: ; cd5fb (33:55fb)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd60d
+ dec [hl]
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+.asm_cd60d
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $0
+ ld a, $22
+ call Functionce7bf
+
+; no known jump sources
+Functioncd61b: ; cd61b (33:561b)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $98
+ jr nc, .asm_cd63f
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld hl, $7
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ ld de, $60
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $f
+ add hl, bc
+ ld [hl], e
+ ld hl, $7
+ add hl, bc
+ ld [hl], d
+.asm_cd63f
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ ret c
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ ld e, a
+ ld d, $ff
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ ld hl, $8
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $10
+ add hl, bc
+ ld [hl], e
+ ld hl, $8
+ add hl, bc
+ ld [hl], d
+ ret
+
+; no known jump sources
+Functioncd66a: ; cd66a (33:566a)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd66d: ; cd66d (33:566d)
+ dw Functioncd677
+ dw Functioncd687
+ dw Functioncd6c5
+ dw Functioncd6c6
+ dw Functioncd6d6
+
+
+; no known jump sources
+Functioncd677: ; cd677 (33:5677)
+ call Functionce72c
+ ld a, $42
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ ld a, $58
+ ld [$FF00+$c7], a
+ ld a, $5e
+ ld [$FF00+$c8], a
+ ret
+
+; no known jump sources
+Functioncd687: ; cd687 (33:5687)
+ ld hl, $b
+ add hl, bc
+ ld e, [hl]
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ cp e
+ jr nc, .asm_cd69b
+ call Functionce72c
+ xor a
+ ld [$FF00+$c7], a
+ ret
+.asm_cd69b
+ dec a
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $8
+ add hl, bc
+ add [hl]
+ sub $10
+ ret c
+ ld [$FF00+$c7], a
+ ld hl, $9
+ add hl, bc
+ ld a, [hl]
+ inc a
+ and $7
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ inc [hl]
+
+; no known jump sources
+Functioncd6c5: ; cd6c5 (33:56c5)
+ ret
+
+; no known jump sources
+Functioncd6c6: ; cd6c6 (33:56c6)
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ cp $70
+ jr c, asm_cd6da
+ xor a
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ ld [$FF00+$c7], a
+ ld [$FF00+$c8], a
+
+; no known jump sources
+Functioncd6d6: ; cd6d6 (33:56d6)
+ call Functioncc9bd
+ ret
+asm_cd6da: ; cd6da (33:56da)
+ inc a
+ inc a
+ ld [hl], a
+ sub $10
+ ret c
+ ld [$FF00+$c7], a
+ ret
+
+; no known jump sources
+Functioncd6e3: ; cd6e3 (33:56e3)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd6e6: ; cd6e6 (33:56e6)
+ dw Functioncd6ea
+ dw Functioncd6f7
+
+
+; no known jump sources
+Functioncd6ea: ; cd6ea (33:56ea)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, $24
+ add [hl]
+ call Functionce7bf
+
+; no known jump sources
+Functioncd6f7: ; cd6f7 (33:56f7)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $b8
+ jr c, .asm_cd704
+ call Functioncc9bd
+ ret
+.asm_cd704
+ ld a, $2
+ call Functionce70a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld d, $8
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncd71a: ; cd71a (33:571a)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd71d: ; cd71d (33:571d)
+ dw Functioncd725
+ dw Functioncd728
+ dw Functioncd763
+ dw Functioncd776
+
+
+; no known jump sources
+Functioncd725: ; cd725 (33:5725)
+ call Functionce72c
+
+; no known jump sources
+Functioncd728: ; cd728 (33:5728)
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_cd747
+ ld a, $2
+ call Functionce70a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld d, $8
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_cd747
+ call Functionce72c
+ ld a, $28
+ call Functionce7bf
+ ld hl, $a
+ add hl, bc
+ ld [hl], $0
+ ld hl, $8
+ add hl, bc
+ ld [hl], $30
+ ld hl, $1
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ld [hl], a
+
+; no known jump sources
+Functioncd763: ; cd763 (33:5763)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $18
+ jr nc, .asm_cd76e
+ inc [hl]
+ ret
+.asm_cd76e
+ call Functionce72c
+ ld a, $29
+ call Functionce7bf
+
+; no known jump sources
+Functioncd776: ; cd776 (33:5776)
+ ret
+
+; no known jump sources
+Functioncd777: ; cd777 (33:5777)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $38
+ jr c, .asm_cd784
+ call Functioncc9bd
+ ret
+.asm_cd784
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ ld l, [hl]
+ ld h, a
+ ld de, $80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $f
+ add hl, bc
+ ld [hl], e
+ ld hl, $a
+ add hl, bc
+ ld [hl], d
+ ld hl, $9
+ add hl, bc
+ ld a, [hl]
+ xor $10
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncd7a4: ; cd7a4 (33:57a4)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd7a7: ; cd7a7 (33:57a7)
+ dw Functioncd7ab
+ dw Functioncd7d2
+
+
+; no known jump sources
+Functioncd7ab: ; cd7ab (33:57ab)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ ld hl, $10
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f
+ sla a
+ sla a
+ sla a
+ ld hl, $f
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld [hl], $1
+
+; no known jump sources
+Functioncd7d2: ; cd7d2 (33:57d2)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_cd7de
+ call Functioncc9bd
+ ret
+.asm_cd7de
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld hl, $10
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ xor $1
+ ld [hl], a
+ ret z
+ ld hl, $10
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functioncd80c: ; cd80c (33:580c)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd80f: ; cd80f (33:580f)
+ dw Functioncd81f
+ dw Functioncd817
+ dw Functioncd81f
+ dw Functioncd820
+
+
+; no known jump sources
+Functioncd817: ; cd817 (33:5817)
+ call Functionce72c
+ ld a, $35
+ call Functionce7bf
+
+; no known jump sources
+Functioncd81f: ; cd81f (33:581f)
+ ret
+
+; no known jump sources
+Functioncd820: ; cd820 (33:5820)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd824: ; cd824 (33:5824)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd827: ; cd827 (33:5827)
+ dw Functioncd835
+ dw Functioncd860
+ dw Functioncd88f
+ dw Functioncd88f
+ dw Functioncd88f
+ dw Functioncd88f
+ dw Functioncd893
+
+
+; no known jump sources
+Functioncd835: ; cd835 (33:5835)
+ call Functionce72c
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld hl, $10
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .asm_cd852
+ ld hl, $f
+ add hl, bc
+ ld [hl], $10
+ jr .asm_cd858
+.asm_cd852
+ ld hl, $f
+ add hl, bc
+ ld [hl], $30
+.asm_cd858
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+
+; no known jump sources
+Functioncd860: ; cd860 (33:5860)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld hl, $b
+ add hl, bc
+ ld d, [hl]
+ call Functionce734
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ bit 7, a
+ jr nz, .asm_cd87e
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ inc a
+ jr .asm_cd883
+.asm_cd87e
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+.asm_cd883
+ call Functionce7bf
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $1f
+ ret nz
+
+; no known jump sources
+Functioncd88f: ; cd88f (33:588f)
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd893: ; cd893 (33:5893)
+ ld hl, $e
+ add hl, bc
+ ld [hl], $1
+ ret
+
+; no known jump sources
+Functioncd89a: ; cd89a (33:589a)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd89d: ; cd89d (33:589d)
+ dw Functioncd8ab
+ dw Functioncd8cc
+ dw Functioncd8f5
+ dw Functioncd8f5
+ dw Functioncd8f5
+ dw Functioncd8f5
+ dw Functioncd8f9
+
+
+; no known jump sources
+Functioncd8ab: ; cd8ab (33:58ab)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .asm_cd8be
+ ld hl, $f
+ add hl, bc
+ ld [hl], $10
+ jr .asm_cd8c4
+.asm_cd8be
+ ld hl, $f
+ add hl, bc
+ ld [hl], $30
+.asm_cd8c4
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+
+; no known jump sources
+Functioncd8cc: ; cd8cc (33:58cc)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld hl, $b
+ add hl, bc
+ ld d, [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ bit 7, a
+ jr nz, .asm_cd8e6
+ ld a, $3d
+ jr .asm_cd8e8
+.asm_cd8e6
+ ld a, $3c
+.asm_cd8e8
+ call Functionce7bf
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld a, [hl]
+ and $1f
+ ret nz
+
+; no known jump sources
+Functioncd8f5: ; cd8f5 (33:58f5)
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd8f9: ; cd8f9 (33:58f9)
+ ld hl, $e
+ add hl, bc
+ ld [hl], $1
+ ret
+
+; no known jump sources
+Functioncd900: ; cd900 (33:5900)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd903: ; cd903 (33:5903)
+ dw Functioncd907
+ dw Functioncd913
+
+
+; no known jump sources
+Functioncd907: ; cd907 (33:5907)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $28
+ inc hl
+ ld [hl], $0
+
+; no known jump sources
+Functioncd913: ; cd913 (33:5913)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd950
+ ld d, a
+ ld hl, $10
+ add hl, bc
+ ld e, [hl]
+ ld hl, hPushOAM ; $ff80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $10
+ add hl, bc
+ ld [hl], e
+ ld hl, $f
+ add hl, bc
+ ld [hl], d
+ ret
+.asm_cd950
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncd954: ; cd954 (33:5954)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cd957: ; cd957 (33:5957)
+ dw Functioncd961
+ dw Functioncd96a
+ dw Functioncd96e
+ dw Functioncd96a
+ dw Functioncd97b
+
+
+; no known jump sources
+Functioncd961: ; cd961 (33:5961)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld [hl], $0
+
+; no known jump sources
+Functioncd96a: ; cd96a (33:596a)
+ call Functioncd99a
+ ret
+
+; no known jump sources
+Functioncd96e: ; cd96e (33:596e)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr c, asm_cd988
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncd97b: ; cd97b (33:597b)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $b8
+ jr c, asm_cd988
+ call Functioncc9bd
+ ret
+
+; known jump sources: cd975 (33:5975), cd982 (33:5982)
+asm_cd988: ; cd988 (33:5988)
+ call Functioncd99a
+ ld hl, $7
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+ ret
+
+; known jump sources: cd96a (33:596a), cd988 (33:5988)
+Functioncd99a: ; cd99a (33:599a)
+ call Functioncd9f4
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ sra a
+ sra a
+ ld hl, $b
+ add hl, bc
+ add [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ sub $8
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd9d7
+ cp $c2
+ jr c, .asm_cd9e2
+.asm_cd9d7
+ dec a
+ ld [hl], a
+ and $7
+ ret nz
+ ld hl, $10
+ add hl, bc
+ inc [hl]
+ ret
+.asm_cd9e2
+ xor a
+ ld hl, $10
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld [hl], a
+ ld hl, $9
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ ret
+
+; known jump sources: cd99a (33:599a)
+Functioncd9f4: ; cd9f4 (33:59f4)
+ ld hl, $10
+ add hl, bc
+ ld e, [hl]
+ ld d, $0
+ ld hl, $5a01
+ add hl, de
+ ld d, [hl]
+ ret
+; cda01 (33:5a01)
+
+INCBIN "baserom.gbc",$cda01,$cda0a - $cda01
+
+; no known jump sources
+Functioncda0a: ; cda0a (33:5a0a)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr nc, .asm_cda17
+ call Functioncc9bd
+ ret
+.asm_cda17
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld e, a
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ sub e
+ ld [hl], a
+ srl e
+ ld hl, $8
+ add hl, bc
+.asm_cda2c
+ inc [hl]
+ dec e
+ jr nz, .asm_cda2c
+ ret
+
+; no known jump sources
+Functioncda31: ; cda31 (33:5a31)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cda34: ; cda34 (33:5a34)
+ dw Functioncda4c
+ dw Functioncda3a
+ dw Functioncda4c
+
+
+; no known jump sources
+Functioncda3a: ; cda3a (33:5a3a)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ inc a
+ call Functionce7bf
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $8
+
+; no known jump sources
+Functioncda4c: ; cda4c (33:5a4c)
+ ret
+
+; no known jump sources
+Functioncda4d: ; cda4d (33:5a4d)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cda50: ; cda50 (33:5a50)
+ dw Functioncda58
+ dw Functioncda62
+ dw Functioncda7a
+ dw Functioncda8c
+
+
+; no known jump sources
+Functioncda58: ; cda58 (33:5a58)
+ call Functionce72c
+ ld hl, $10
+ add hl, bc
+ ld [hl], $40
+ ret
+
+; no known jump sources
+Functioncda62: ; cda62 (33:5a62)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, .asm_cda6f
+ call Functioncda8d
+ ret
+.asm_cda6f
+ ld [hl], $40
+ ld a, $57
+ call Functionce7bf
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncda7a: ; cda7a (33:5a7a)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cda84
+ dec [hl]
+ ret
+.asm_cda84
+ call Functionce72c
+ ld a, $58
+ call Functionce7bf
+
+; no known jump sources
+Functioncda8c: ; cda8c (33:5a8c)
+ ret
+
+; known jump sources: cda6b (33:5a6b), cdaf2 (33:5af2)
+Functioncda8d: ; cda8d (33:5a8d)
+ dec [hl]
+ ld d, $20
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld e, [hl]
+ ld hl, $7
+ add hl, bc
+ ld d, [hl]
+ ld hl, $b
+ add hl, bc
+ ld h, [hl]
+ ld a, h
+ and $f
+ swap a
+ ld l, a
+ ld a, h
+ and $f0
+ swap a
+ ld h, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $f
+ add hl, bc
+ ld [hl], e
+ ld hl, $7
+ add hl, bc
+ ld [hl], d
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functioncdad6: ; cdad6 (33:5ad6)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cdad9: ; cdad9 (33:5ad9)
+ dw Functioncdadf
+ dw Functioncdae9
+ dw Functioncdaf9
+
+
+; no known jump sources
+Functioncdadf: ; cdadf (33:5adf)
+ call Functionce72c
+ ld hl, $10
+ add hl, bc
+ ld [hl], $40
+ ret
+
+; no known jump sources
+Functioncdae9: ; cdae9 (33:5ae9)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, .asm_cdaf6
+ call Functioncda8d
+ ret
+.asm_cdaf6
+ call Functionce72c
+
+; no known jump sources
+Functioncdaf9: ; cdaf9 (33:5af9)
+ ret
+
+; no known jump sources
+Functioncdafa: ; cdafa (33:5afa)
+ call Functioncd0e3
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ add $f
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdb06: ; cdb06 (33:5b06)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cdb09: ; cdb09 (33:5b09)
+ dw Functioncdb13
+ dw Functioncdb14
+ dw Functioncdb28
+ dw Functioncdb50
+ dw Functioncdb65
+
+
+; no known jump sources
+Functioncdb13: ; cdb13 (33:5b13)
+ ret
+
+; no known jump sources
+Functioncdb14: ; cdb14 (33:5b14)
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_cdb24
+ ld hl, $e
+ add hl, bc
+ ld [hl], $0
+ ret
+.asm_cdb24
+ add $4
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdb28: ; cdb28 (33:5b28)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $98
+ ret nc
+ inc [hl]
+ inc [hl]
+ ld hl, $1
+ add hl, bc
+ set 0, [hl]
+ ld hl, $2
+ add hl, bc
+ ld [hl], $90
+ ld hl, $d
+ add hl, bc
+ ld [hl], $0
+ ld hl, $c
+ add hl, bc
+ ld [hl], $2
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functioncdb50: ; cdb50 (33:5b50)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $2c
+ ld hl, $d
+ add hl, bc
+ ld [hl], $0
+ ld hl, $c
+ add hl, bc
+ ld [hl], $80
+
+; no known jump sources
+Functioncdb65: ; cdb65 (33:5b65)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $98
+ ret nc
+ inc [hl]
+ inc [hl]
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $8
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdb80: ; cdb80 (33:5b80)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cdb83: ; cdb83 (33:5b83)
+ dw Functioncdb9f
+ dw Functioncdbb3
+ dw Functioncdbcf
+ dw Functioncdbeb
+ dw Functioncdc74
+ dw Functioncdc1a
+ dw Functioncdbc1
+ dw Functioncdc1e
+ dw Functioncdc27
+ dw Functioncdc39
+ dw Functioncdc74
+ dw Functioncdc48
+ dw Functioncdc57
+ dw Functioncdc74
+
+
+; no known jump sources
+Functioncdb9f: ; cdb9f (33:5b9f)
+ ld hl, $f
+ add hl, bc
+ ld [hl], $28
+ inc hl
+ ld [hl], $10
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdbb3: ; cdbb3 (33:5bb3)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, .asm_cdbbd
+ inc [hl]
+.asm_cdbbd
+ call Functioncdc75
+ ret
+
+; no known jump sources
+Functioncdbc1: ; cdbc1 (33:5bc1)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $4b
+ jr nc, .asm_cdbcb
+ inc [hl]
+.asm_cdbcb
+ call Functioncdc75
+ ret
+
+; no known jump sources
+Functioncdbcf: ; cdbcf (33:5bcf)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr nc, .asm_cdbe6
+ and $f
+ jr nz, asm_cdbfa
+ ld hl, $10
+ add hl, bc
+ ld [hl], $10
+ call Functionce72c
+ ret
+.asm_cdbe6
+ call Functionce72c
+ inc [hl]
+ ret
+
+; no known jump sources
+Functioncdbeb: ; cdbeb (33:5beb)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdbf5
+ dec [hl]
+ ret
+.asm_cdbf5
+ ld hl, $e
+ add hl, bc
+ dec [hl]
+asm_cdbfa: ; cdbfa (33:5bfa)
+ ld hl, $7
+ add hl, bc
+ inc [hl]
+ ld hl, $8
+ add hl, bc
+ ld d, [hl]
+ ld hl, $f
+ add hl, bc
+ ld e, [hl]
+ ld hl, hPushOAM ; $ff80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $8
+ add hl, bc
+ ld [hl], d
+ ld hl, $f
+ add hl, bc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functioncdc1a: ; cdc1a (33:5c1a)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncdc1e: ; cdc1e (33:5c1e)
+ ld a, $4e
+ call Functionce7bf
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncdc27: ; cdc27 (33:5c27)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $2
+ call Functionce734
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdc39: ; cdc39 (33:5c39)
+ ld a, $50
+ call Functionce7bf
+ ld hl, $a
+ add hl, bc
+ ld [hl], $4
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncdc48: ; cdc48 (33:5c48)
+ ld a, $4f
+ call Functionce7bf
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $40
+ ret
+
+; no known jump sources
+Functioncdc57: ; cdc57 (33:5c57)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $20
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_cdc71
+ dec [hl]
+ ret
+.asm_cdc71
+ call Functionce72c
+
+; no known jump sources
+Functioncdc74: ; cdc74 (33:5c74)
+ ret
+
+; known jump sources: cdbbd (33:5bbd), cdbcb (33:5bcb)
+Functioncdc75: ; cdc75 (33:5c75)
+ ld hl, $f
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+ ld hl, $f
+ add hl, bc
+ ld [hl], $20
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ sub $8
+ ld [hl], a
+ ret nz
+ xor a
+ ld hl, $f
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncdca6: ; cdca6 (33:5ca6)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdcb6
+ cp $d8
+ jr nc, .asm_cdcb6
+ call Functioncc9bd
+ ret
+.asm_cdcb6
+ ld hl, $b
+ add hl, bc
+ ld d, [hl]
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ sub d
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdcc3: ; cdcc3 (33:5cc3)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cdcc6: ; cdcc6 (33:5cc6)
+ dw Functioncdcca
+ dw Functioncdced
+
+
+; no known jump sources
+Functioncdcca: ; cdcca (33:5cca)
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr z, .asm_cdcd9
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ add $3
+ ld [hl], a
+.asm_cdcd9
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $8
+ ld hl, $b
+ add hl, bc
+ ld a, $59
+ add [hl]
+ call Functionce7bf
+ ret
+
+; no known jump sources
+Functioncdced: ; cdced (33:5ced)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdcfa
+ dec [hl]
+ call Functioncdcfe
+ ret
+.asm_cdcfa
+ call Functioncc9bd
+ ret
+
+; known jump sources: cdcf6 (33:5cf6)
+Functioncdcfe: ; cdcfe (33:5cfe)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $10
+ call Functionce734
+ ld d, a
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdd20
+ dec a
+ ret z
+ ld hl, $a
+ add hl, bc
+ ld [hl], d
+ ret
+.asm_cdd20
+ ld hl, $a
+ add hl, bc
+ ld a, d
+ xor $ff
+ inc a
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdd2a: ; cdd2a (33:5d2a)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cdd2d: ; cdd2d (33:5d2d)
+ dw Functioncdd31
+ dw Functioncdd4f
+
+
+; no known jump sources
+Functioncdd31: ; cdd31 (33:5d31)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld hl, $10
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $80
+ rlca
+ ld [hl], a
+ add $5d
+ call Functionce7bf
+ ret
+
+; no known jump sources
+Functioncdd4f: ; cdd4f (33:5d4f)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ swap a
+ ld d, a
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ ret nc
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ and $3
+ jr nz, .asm_cdd87
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+.asm_cdd87
+ and $1
+ ret nz
+ ld hl, $7
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functioncdd90: ; cdd90 (33:5d90)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cdd93: ; cdd93 (33:5d93)
+ dw Functioncdd97
+ dw Functioncddbc
+
+
+; no known jump sources
+Functioncdd97: ; cdd97 (33:5d97)
+ call Functionce72c
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $80
+ rlca
+ ld hl, $f
+ add hl, bc
+ add [hl]
+ call Functionce7bf
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+
+; no known jump sources
+Functioncddbc: ; cddbc (33:5dbc)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ and $3f
+ jr z, .asm_cddf0
+ and $1f
+ ret nz
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc a
+ jr .asm_cddf5
+.asm_cddf0
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+.asm_cddf5
+ call Functionce7bf
+ ret
+
+; no known jump sources
+Functioncddf9: ; cddf9 (33:5df9)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cddfc: ; cddfc (33:5dfc)
+ dw Functioncde02
+ dw Functioncde20
+ dw Functioncde21
+
+
+; no known jump sources
+Functioncde02: ; cde02 (33:5e02)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ add $63
+ call Functionce7bf
+ ld hl, $b
+ add hl, bc
+ ld e, [hl]
+ ld d, $0
+ ld hl, $5e25
+ add hl, de
+ ld a, [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+
+; no known jump sources
+Functioncde20: ; cde20 (33:5e20)
+ ret
+
+; no known jump sources
+Functioncde21: ; cde21 (33:5e21)
+ call Functioncc9bd
+ ret
+; cde25 (33:5e25)
+
+INCBIN "baserom.gbc",$cde25,$cde28 - $cde25
+
+; no known jump sources
+Functioncde28: ; cde28 (33:5e28)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $4
+ call Functionce734
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $a
+ add hl, bc
+ ld d, [hl]
+ ld hl, $10
+ add hl, bc
+ ld e, [hl]
+ ld hl, $ffa0
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $a
+ add hl, bc
+ ld [hl], d
+ ld hl, $10
+ add hl, bc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functioncde54: ; cde54 (33:5e54)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ dec [hl]
+ ld d, $10
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $7
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functioncde6b: ; cde6b (33:5e6b)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cde6e: ; cde6e (33:5e6e)
+ dw Functioncde72
+ dw Functioncde88
+
+
+; no known jump sources
+Functioncde72: ; cde72 (33:5e72)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_cde83
+ ld hl, $1
+ add hl, bc
+ set 6, [hl]
+.asm_cde83
+ add $6a
+ call Functionce7bf
+
+; no known jump sources
+Functioncde88: ; cde88 (33:5e88)
+ ret
+
+; no known jump sources
+Functioncde89: ; cde89 (33:5e89)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cde8c: ; cde8c (33:5e8c)
+ dw Functioncde90
+ dw Functioncdebf
+
+
+; no known jump sources
+Functioncde90: ; cde90 (33:5e90)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $0
+ ld hl, $b
+ add hl, bc
+ ld e, [hl]
+ ld a, e
+ and $70
+ swap a
+ ld [hl], a
+ ld hl, $9
+ add hl, bc
+ ld a, e
+ and $80
+ jr nz, .asm_cdeb2
+ ld a, e
+ and $f
+ ld [hl], a
+ ret
+.asm_cdeb2
+ ld a, e
+ and $f
+ xor $ff
+ inc a
+ ld [hl], a
+ ld a, $6e
+ call Functionce7bf
+ ret
+
+; no known jump sources
+Functioncdebf: ; cdebf (33:5ebf)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdec9
+ dec [hl]
+ ret
+.asm_cdec9
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ ld [hl], a
+ ld hl, $9
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functioncdedd: ; cdedd (33:5edd)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ sra a
+ ld hl, $10
+ add hl, bc
+ add [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $7
+ ret nz
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ cp $28
+ jr nc, .asm_cdf17
+ inc [hl]
+ ret
+.asm_cdf17
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncdf1b: ; cdf1b (33:5f1b)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ sra a
+ ld hl, $10
+ add hl, bc
+ add [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3
+ ret nz
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ cp $28
+ jr nc, .asm_cdf55
+ inc [hl]
+ ret
+.asm_cdf55
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncdf59: ; cdf59 (33:5f59)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_cdf5c: ; cdf5c (33:5f5c)
+ dw Functioncdf60
+ dw Functioncdedd
+
+
+; no known jump sources
+Functioncdf60: ; cdf60 (33:5f60)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr nc, .asm_cdf88
+ inc [hl]
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $18
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, $8
+ add hl, bc
+ dec [hl]
+ ret
+.asm_cdf88
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functioncdf8c: ; cdf8c (33:5f8c)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ sra a
+ ld hl, $10
+ add hl, bc
+ add [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld a, [hl]
+ and $7
+ ret nz
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ cp $e8
+ jr z, .asm_cdfc7
+ dec [hl]
+ ret
+.asm_cdfc7
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functioncdfcb: ; cdfcb (33:5fcb)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ sra a
+ ld hl, $10
+ add hl, bc
+ add [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld a, [hl]
+ and $3
+ ret nz
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ cp $d0
+ jr z, .asm_ce007
+ dec [hl]
+ dec [hl]
+ ret
+.asm_ce007
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce00b: ; ce00b (33:600b)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce00e: ; ce00e (33:600e)
+ dw Functionce014
+ dw Functionce023
+ dw Functionce05f
+
+
+; no known jump sources
+Functionce014: ; ce014 (33:6014)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $34
+ ld hl, $10
+ add hl, bc
+ ld [hl], $10
+
+; no known jump sources
+Functionce023: ; ce023 (33:6023)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $6c
+ jr c, .asm_ce02d
+ ret
+.asm_ce02d
+ ld a, $2
+ call Functionce70a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld hl, $10
+ add hl, bc
+ ld d, [hl]
+ call Functionce734
+ bit 7, a
+ jr nz, .asm_ce046
+ xor $ff
+ inc a
+.asm_ce046
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ sub $4
+ ld [hl], a
+ and $1f
+ cp $20
+ ret nz
+ ld hl, $10
+ add hl, bc
+ srl [hl]
+ ret
+
+; no known jump sources
+Functionce05f: ; ce05f (33:605f)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce063: ; ce063 (33:6063)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce066: ; ce066 (33:6066)
+ dw Functionce06e
+ dw Functionce083
+ dw Functionce091
+ dw Functionce09e
+
+
+; no known jump sources
+Functionce06e: ; ce06e (33:606e)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce083: ; ce083 (33:6083)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $58
+ ret nc
+ ld a, $2
+ call Functionce70a
+ ret
+
+; no known jump sources
+Functionce091: ; ce091 (33:6091)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, Functionce09e
+ call Functioncc9bd
+ ret
+
+; known jump sources: ce098 (33:6098)
+Functionce09e: ; ce09e (33:609e)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ ld d, $8
+ call Functionce734
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ sra a
+ xor $ff
+ inc a
+ ld hl, $f
+ add hl, bc
+ add [hl]
+ ld hl, $8
+ add hl, bc
+ ld [hl], a
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce0c5: ; ce0c5 (33:60c5)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce0c8: ; ce0c8 (33:60c8)
+ dw Functionce0ce
+ dw Functionce0f8
+ dw Functionce0dd
+
+
+; no known jump sources
+Functionce0ce: ; ce0ce (33:60ce)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ swap a
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce0dd: ; ce0dd (33:60dd)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ bit 7, a
+ jr z, .asm_ce0f0
+ ld [hl], a
+.asm_ce0f0
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ sub $4
+ ld [hl], a
+
+; no known jump sources
+Functionce0f8: ; ce0f8 (33:60f8)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr c, .asm_ce105
+ call Functioncc9bd
+ ret
+.asm_ce105
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+; no known jump sources
+Functionce10e: ; ce10e (33:610e)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce111: ; ce111 (33:6111)
+ dw Functionce115
+ dw Functionce12a
+
+
+; no known jump sources
+Functionce115: ; ce115 (33:6115)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $28
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ sub $28
+ ld hl, $10
+ add hl, bc
+ ld [hl], a
+
+; no known jump sources
+Functionce12a: ; ce12a (33:612a)
+ ld hl, $f
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ ld hl, $b
+ add hl, bc
+ and [hl]
+ jr nz, .asm_ce149
+ ld hl, $7
+ add hl, bc
+ dec [hl]
+.asm_ce149
+ ld hl, $f
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+ ld hl, $f
+ add hl, bc
+ ld [hl], $20
+ inc hl
+ srl [hl]
+ ret
+
+; no known jump sources
+Functionce15c: ; ce15c (33:615c)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $1
+ jr nz, .asm_ce189
+ ld hl, $7
+ add hl, bc
+ dec [hl]
+.asm_ce189
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $3
+ jr nz, .asm_ce197
+ ld hl, $8
+ add hl, bc
+ inc [hl]
+.asm_ce197
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ cp $5a
+ jr nc, .asm_ce1aa
+ ld a, [hl]
+ and a
+ jr z, .asm_ce1ac
+ dec [hl]
+ ret
+.asm_ce1aa
+ inc [hl]
+ ret
+.asm_ce1ac
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce1b0: ; ce1b0 (33:61b0)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld hl, $f
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld hl, $f
+ add hl, bc
+ cp $40
+ jr nc, .asm_ce1df
+ inc [hl]
+ ret
+.asm_ce1df
+ ld a, [hl]
+ dec [hl]
+ and a
+ ret nz
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce1e7: ; ce1e7 (33:61e7)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce1ea: ; ce1ea (33:61ea)
+ dw Functionce1ee
+ dw Functionce1fb
+
+
+; no known jump sources
+Functionce1ee: ; ce1ee (33:61ee)
+ call Functionce72c
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ ld hl, $10
+ add hl, bc
+ ld [hl], a
+
+; no known jump sources
+Functionce1fb: ; ce1fb (33:61fb)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $30
+ call Functionce734
+ ld hl, $10
+ add hl, bc
+ add [hl]
+ ld hl, $8
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld d, $30
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functionce226: ; ce226 (33:6226)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce229: ; ce229 (33:6229)
+ dw Functionce22d
+ dw Functionce254
+
+
+; no known jump sources
+Functionce22d: ; ce22d (33:622d)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $10
+ add hl, bc
+ ld [hl], $f
+
+; no known jump sources
+Functionce254: ; ce254 (33:6254)
+ ret
+
+; no known jump sources
+Functionce255: ; ce255 (33:6255)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce258: ; ce258 (33:6258)
+ dw Functionce260
+ dw Functionce274
+ dw Functionce278
+ dw Functionce289
+
+
+; no known jump sources
+Functionce260: ; ce260 (33:6260)
+ call Functionce72c
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and a
+ jr nz, .asm_ce26c
+ ld a, $f0
+ jr .asm_ce26e
+.asm_ce26c
+ ld a, $cc
+.asm_ce26e
+ ld hl, $f
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce274: ; ce274 (33:6274)
+ call Functionce29f
+ ret
+
+; no known jump sources
+Functionce278: ; ce278 (33:6278)
+ call Functionce29f
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ ret nc
+ ld a, $4
+ call Functionce70a
+ ret
+
+; no known jump sources
+Functionce289: ; ce289 (33:6289)
+ call Functionce29f
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $d0
+ jr nc, .asm_ce29b
+ ld a, $4
+ call Functionce70a
+ ret
+.asm_ce29b
+ call Functioncc9bd
+ ret
+
+; known jump sources: ce274 (33:6274), ce278 (33:6278), ce289 (33:6289)
+Functionce29f: ; ce29f (33:629f)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ and $7
+ inc [hl]
+ srl a
+ ld e, a
+ ld d, $0
+ ld a, [hSGB] ; $ff00+$e7
+ and a
+ jr nz, .asm_ce2b6
+ ld hl, $62c4
+ jr .asm_ce2b9
+.asm_ce2b6
+ ld hl, $62c8
+.asm_ce2b9
+ add hl, de
+ ld a, [hl]
+ ld hl, $f
+ add hl, bc
+ and [hl]
+ ld [$cfc8], a
+ ret
+; ce2c4 (33:62c4)
+
+INCBIN "baserom.gbc",$ce2c4,$ce2cc - $ce2c4
+
+; no known jump sources
+Functionce2cc: ; ce2cc (33:62cc)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ call Functionce734
+ sra a
+ sra a
+ sra a
+ ld hl, $10
+ add hl, bc
+ add [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $18
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $10
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionce2fd: ; ce2fd (33:62fd)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce300: ; ce300 (33:6300)
+ dw Functionce306
+ dw Functionce330
+ dw Functionce34c
+
+
+; no known jump sources
+Functionce306: ; ce306 (33:6306)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $e0
+ jr nz, .asm_ce319
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $2
+ ret
+.asm_ce319
+ ld d, a
+ ld hl, $f
+ add hl, bc
+ ld e, [hl]
+ ld hl, hPushOAM ; $ff80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $a
+ add hl, bc
+ ld [hl], d
+ ld hl, $f
+ add hl, bc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functionce330: ; ce330 (33:6330)
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_ce33a
+ dec [hl]
+ ret
+.asm_ce33a
+ ld [hl], $4
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ld hl, $a
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce34c: ; ce34c (33:634c)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr nc, .asm_ce35b
+ ld a, $4
+ call Functionce70a
+ ret
+.asm_ce35b
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce35f: ; ce35f (33:635f)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce362: ; ce362 (33:6362)
+ dw Functionce366
+ dw Functionce375
+
+
+; no known jump sources
+Functionce366: ; ce366 (33:6366)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ add $81
+ call Functionce7bf
+
+; no known jump sources
+Functionce375: ; ce375 (33:6375)
+ ld hl, $b
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .asm_ce383
+ ld hl, $9
+ add hl, bc
+ inc [hl]
+ ret
+.asm_ce383
+ ld hl, $9
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionce389: ; ce389 (33:6389)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce38c: ; ce38c (33:638c)
+ dw Functionce392
+ dw Functionce39c
+ dw Functionce3ae
+
+
+; no known jump sources
+Functionce392: ; ce392 (33:6392)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $c
+ ret
+
+; no known jump sources
+Functionce39c: ; ce39c (33:639c)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_ce3a6
+ dec [hl]
+ ret
+.asm_ce3a6
+ call Functionce72c
+ ld a, $20
+ call Functionce7bf
+
+; no known jump sources
+Functionce3ae: ; ce3ae (33:63ae)
+ ld hl, $a
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionce3b4: ; ce3b4 (33:63b4)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ push af
+ ld d, $2
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop af
+ ld d, $8
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce3d2: ; ce3d2 (33:63d2)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, .asm_ce3df
+ call Functioncc9bd
+ ret
+.asm_ce3df
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $8
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ and $7
+ ret nz
+ ld hl, $a
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functionce3ff: ; ce3ff (33:63ff)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce402: ; ce402 (33:6402)
+ dw Functionce406
+ dw Functionce412
+
+
+; no known jump sources
+Functionce406: ; ce406 (33:6406)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $7
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce412: ; ce412 (33:6412)
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce416: ; ce416 (33:6416)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ sra a
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ret
+
+; no known jump sources
+Functionce43a: ; ce43a (33:643a)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce43d: ; ce43d (33:643d)
+ dw Functionce443
+ dw Functionce465
+ dw Functionce490
+
+
+; no known jump sources
+Functionce443: ; ce443 (33:6443)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $28
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, $3
+ add hl, bc
+ add [hl]
+ call Functionce7bf
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ or $8
+ ld [hl], a
+
+; no known jump sources
+Functionce465: ; ce465 (33:6465)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_ce48b
+ dec [hl]
+ add $8
+ ld d, a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_ce48b
+ ld [hl], $10
+ call Functionce72c
+
+; no known jump sources
+Functionce490: ; ce490 (33:6490)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ and a
+ ret nz
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce49c: ; ce49c (33:649c)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce49f: ; ce49f (33:649f)
+ dw Functionce4a3
+ dw Functionce4b0
+
+
+; no known jump sources
+Functionce4a3: ; ce4a3 (33:64a3)
+ call Functionce72c
+ ld hl, $b
+ add hl, bc
+ ld a, $24
+ add [hl]
+ call Functionce7bf
+
+; no known jump sources
+Functionce4b0: ; ce4b0 (33:64b0)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $38
+ jr nc, .asm_ce4d8
+ inc [hl]
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $18
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ld hl, $8
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, $7
+ add hl, bc
+ dec [hl]
+ ret
+.asm_ce4d8
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce4dc: ; ce4dc (33:64dc)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and a
+ ret z
+ ld d, a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call Functionce734
+ bit 7, a
+ jr nz, .asm_ce4f4
+ xor $ff
+ inc a
+.asm_ce4f4
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ and $1f
+ ret nz
+ ld hl, $b
+ add hl, bc
+ srl [hl]
+ ret
+
+; no known jump sources
+Functionce508: ; ce508 (33:6508)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ cp $10
+ jr nc, .asm_ce52e
+ inc [hl]
+ inc [hl]
+ ld d, a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_ce52e
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce532: ; ce532 (33:6532)
+ ld hl, $b
+ add hl, bc
+ ld e, [hl]
+ ld hl, $f
+ add hl, bc
+ ld d, [hl]
+ ld a, e
+ and $c0
+ rlca
+ rlca
+ add [hl]
+ ld [hl], a
+ ld a, e
+ and $3f
+ push af
+ push de
+ call Functionce734
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce55b: ; ce55b (33:655b)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce55e: ; ce55e (33:655e)
+ dw Functionce564
+ dw Functionce56e
+ dw Functionce577
+
+
+; no known jump sources
+Functionce564: ; ce564 (33:6564)
+ ld d, $18
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ jr asm_ce58f
+
+; no known jump sources
+Functionce56e: ; ce56e (33:656e)
+ call Functionce72c
+ ld hl, $f
+ add hl, bc
+ ld [hl], $18
+
+; no known jump sources
+Functionce577: ; ce577 (33:6577)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .asm_ce58b
+ ld d, a
+ add $8
+ ld [hl], a
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ jr asm_ce58f
+.asm_ce58b
+ call Functioncc9bd
+ ret
+asm_ce58f: ; ce58f (33:658f)
+ call Functionce6f1
+ ret
+
+; no known jump sources
+Functionce593: ; ce593 (33:6593)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce596: ; ce596 (33:6596)
+ dw Functionce5b3
+ dw Functionce59a
+
+
+; no known jump sources
+Functionce59a: ; ce59a (33:659a)
+ ld hl, $7
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_ce5b0
+ ld hl, $7
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ ld hl, $8
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+.asm_ce5b0
+ call Functioncc9bd
+
+; no known jump sources
+Functionce5b3: ; ce5b3 (33:65b3)
+ ret
+
+; no known jump sources
+Functionce5b4: ; ce5b4 (33:65b4)
+ ld d, $50
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ ld hl, $f
+ add hl, bc
+ add [hl]
+ inc [hl]
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce5dc: ; ce5dc (33:65dc)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $d0
+ jr z, .asm_ce5ea
+ dec [hl]
+ dec [hl]
+ dec [hl]
+ dec [hl]
+ ret
+.asm_ce5ea
+ call Functioncc9bd
+ ret
+
+; no known jump sources
+Functionce5ee: ; ce5ee (33:65ee)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce5f1: ; ce5f1 (33:65f1)
+ dw Functionce5f9
+ dw Functionce60a
+ dw Functionce622
+ dw Functionce618
+
+
+; no known jump sources
+Functionce5f9: ; ce5f9 (33:65f9)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, asm_ce61c
+ call Functionce72c
+ ld hl, $a
+ add hl, bc
+ ld [hl], $ec
+
+; no known jump sources
+Functionce60a: ; ce60a (33:660a)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $4
+ jr z, Functionce618
+ inc [hl]
+ inc [hl]
+ inc [hl]
+ inc [hl]
+ ret
+
+; known jump sources: ce611 (33:6611)
+Functionce618: ; ce618 (33:6618)
+ call Functioncc9bd
+ ret
+asm_ce61c: ; ce61c (33:661c)
+ call Functionce72c
+ call Functionce72c
+
+; no known jump sources
+Functionce622: ; ce622 (33:6622)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ cp $d8
+ ret z
+ dec [hl]
+ dec [hl]
+ dec [hl]
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionce62f: ; ce62f (33:662f)
+ call Functionce71e ; ; ; call does not return
+
+; no known jump sources
+Jumptable_ce632: ; ce632 (33:6632)
+ dw Functionce63a
+ dw Functionce648
+ dw Functionce65c
+ dw Functionce672
+
+
+; no known jump sources
+Functionce63a: ; ce63a (33:663a)
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld hl, $e
+ add hl, bc
+ ld [hl], a
+ call Functionce72c
+ ret
+
+; no known jump sources
+Functionce648: ; ce648 (33:6648)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ add $4
+ cp $70
+ jr c, .asm_ce654
+ xor a
+.asm_ce654
+ ld [hl], a
+ ld hl, $9
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+
+; no known jump sources
+Functionce65c: ; ce65c (33:665c)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ add $4
+ cp $70
+ jr c, .asm_ce668
+ xor a
+.asm_ce668
+ ld [hl], a
+ ld hl, $9
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce672: ; ce672 (33:6672)
+ ld hl, $a
+ add hl, bc
+ ld a, [hl]
+ add $4
+ cp $70
+ jr c, .asm_ce67e
+ xor a
+.asm_ce67e
+ ld [hl], a
+ ld hl, $9
+ add hl, bc
+ ld a, [hl]
+ add $4
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionce688: ; ce688 (33:6688)
+ ld hl, $7
+ add hl, bc
+ ld d, [hl]
+ ld hl, $f
+ add hl, bc
+ ld e, [hl]
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ ld l, a
+ and $f0
+ ld h, a
+ swap a
+ or h
+ ld h, a
+ ld a, l
+ and $f
+ swap a
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, $7
+ add hl, bc
+ ld [hl], d
+ ld hl, $f
+ add hl, bc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functionce6b3: ; ce6b3 (33:66b3)
+ ld d, $18
+ ld hl, $b
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call Functionce6f1
+ ret
+
+; no known jump sources
+Functionce6bf: ; ce6bf (33:66bf)
+ ld d, $18
+ ld hl, $10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ srl a
+ ld hl, $b
+ add hl, bc
+ add [hl]
+ call Functionce6f1
+ ret
+
+; no known jump sources
+Functionce6d2: ; ce6d2 (33:66d2)
+ ld hl, $f
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr nc, .asm_ce6ed
+ inc [hl]
+ ld hl, $b
+ add hl, bc
+ ld d, [hl]
+ call Functionce734
+ xor $ff
+ inc a
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ ret
+.asm_ce6ed
+ call Functioncc9bd
+ ret
+
+; known jump sources: ce58f (33:658f), ce6bb (33:66bb), ce6ce (33:66ce)
+Functionce6f1: ; ce6f1 (33:66f1)
+ push af
+ push de
+ call Functionce734
+ sra a
+ sra a
+ ld hl, $a
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call Functionce732
+ ld hl, $9
+ add hl, bc
+ ld [hl], a
+ ret
+
+; known jump sources: cd142 (33:5142), cd154 (33:5154), cd2ad (33:52ad), cd553 (33:5553), cd609 (33:5609), cd706 (33:5706), cd733 (33:5733), ce02f (33:602f), ce08d (33:608d), ce10a (33:610a), ce285 (33:6285), ce297 (33:6297), ce357 (33:6357)
+Functionce70a: ; ce70a (33:670a)
+ and $f
+ ld e, a
+ ld hl, $7
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ srl e
+ ld hl, $8
+ add hl, bc
+.asm_ce719
+ dec [hl]
+ dec e
+ jr nz, .asm_ce719
+ ret
+
+; known jump sources: cd06e (33:506e), cd0e3 (33:50e3), cd12a (33:512a), cd15c (33:515c), cd212 (33:5212), cd284 (33:5284), cd2be (33:52be), cd306 (33:5306), cd3ae (33:53ae), cd3f2 (33:53f2), cd478 (33:5478), cd58a (33:558a), cd5e9 (33:55e9), cd66a (33:566a), cd6e3 (33:56e3), cd71a (33:571a), cd7a4 (33:57a4), cd80c (33:580c), cd824 (33:5824), cd89a (33:589a), cd900 (33:5900), cd954 (33:5954), cda31 (33:5a31), cda4d (33:5a4d), cdad6 (33:5ad6), cdb06 (33:5b06), cdb80 (33:5b80), cdcc3 (33:5cc3), cdd2a (33:5d2a), cdd90 (33:5d90), cddf9 (33:5df9), cde6b (33:5e6b), cde89 (33:5e89), cdf59 (33:5f59), ce00b (33:600b), ce063 (33:6063), ce0c5 (33:60c5), ce10e (33:610e), ce1e7 (33:61e7), ce226 (33:6226), ce255 (33:6255), ce2fd (33:62fd), ce35f (33:635f), ce389 (33:6389), ce3ff (33:63ff), ce43a (33:643a), ce49c (33:649c), ce55b (33:655b), ce593 (33:6593), ce5ee (33:65ee), ce62f (33:662f)
+Functionce71e: ; ce71e (33:671e)
+ pop de
+ ld hl, $e
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, hl
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; known jump sources: cd0ea (33:50ea), cd17a (33:517a), cd192 (33:5192), cd196 (33:5196), cd1ce (33:51ce), cd1e5 (33:51e5), cd20a (33:520a), cd21e (33:521e), cd22f (33:522f), cd2b5 (33:52b5), cd2c5 (33:52c5), cd31e (33:531e), cd321 (33:5321), cd37a (33:537a), cd3b7 (33:53b7), cd42f (33:542f), cd48d (33:548d), cd49f (33:549f), cd545 (33:5545), cd5a1 (33:55a1), cd5f2 (33:55f2), cd60d (33:560d), cd677 (33:5677), cd694 (33:5694), cd6ea (33:56ea), cd725 (33:5725), cd747 (33:5747), cd76e (33:576e), cd7ab (33:57ab), cd817 (33:5817), cd835 (33:5835), cd88f (33:588f), cd8ab (33:58ab), cd8f5 (33:58f5), cd907 (33:5907), cd961 (33:5961), cd977 (33:5977), cda43 (33:5a43), cda58 (33:5a58), cda76 (33:5a76), cda84 (33:5a84), cdadf (33:5adf), cdaf6 (33:5af6), cdb50 (33:5b50), cdbe2 (33:5be2), cdbe6 (33:5be6), cdc23 (33:5c23), cdc44 (33:5c44), cdc4d (33:5c4d), cdc71 (33:5c71), cdca2 (33:5ca2), cdcd9 (33:5cd9), cdd31 (33:5d31), cdd97 (33:5d97), cde02 (33:5e02), cde72 (33:5e72), cde90 (33:5e90), cdf88 (33:5f88), ce014 (33:6014), ce115 (33:6115), ce1ee (33:61ee), ce22d (33:622d), ce260 (33:6260), ce30f (33:630f), ce366 (33:6366), ce392 (33:6392), ce3a6 (33:63a6), ce443 (33:6443), ce48d (33:648d), ce4a3 (33:64a3), ce56e (33:656e), ce601 (33:6601), ce61c (33:661c), ce61f (33:661f), ce644 (33:6644)
+Functionce72c: ; ce72c (33:672c)
+ ld hl, $e
+ add hl, bc
+ inc [hl]
+ ret
+
+; known jump sources: cd0d2 (33:50d2), cd11c (33:511c), cd33a (33:533a), cd44a (33:544a), cd7f5 (33:57f5), cd929 (33:5929), cd9bb (33:59bb), cdd69 (33:5d69), cddd3 (33:5dd3), cdefb (33:5efb), cdf39 (33:5f39), cdf72 (33:5f72), cdfaa (33:5faa), cdfe9 (33:5fe9), ce172 (33:6172), ce1c7 (33:61c7), ce218 (33:6218), ce246 (33:6246), ce2ee (33:62ee), ce3c9 (33:63c9), ce3e6 (33:63e6), ce429 (33:6429), ce482 (33:6482), ce4c2 (33:64c2), ce525 (33:6525), ce552 (33:6552), ce5d3 (33:65d3), ce701 (33:6701), ce76c (33:676c)
+Functionce732: ; ce732 (33:6732)
+ add $10
+
+; known jump sources: cd09c (33:509c), cd0c8 (33:50c8), cd112 (33:5112), cd1ad (33:51ad), cd1f4 (33:51f4), cd2d7 (33:52d7), cd34d (33:534d), cd440 (33:5440), cd4ca (33:54ca), cd502 (33:5502), cd5c5 (33:55c5), cd6a4 (33:56a4), cd711 (33:5711), cd73e (33:573e), cd7eb (33:57eb), cd86a (33:586a), cd8d6 (33:58d6), cd91f (33:591f), cd9a4 (33:59a4), cda90 (33:5a90), cdb77 (33:5b77), cdc30 (33:5c30), cdc5e (33:5c5e), cdc7b (33:5c7b), cdd07 (33:5d07), cdd5f (33:5d5f), cddc5 (33:5dc5), cde31 (33:5e31), cde5d (33:5e5d), cdee6 (33:5ee6), cdf24 (33:5f24), cdf95 (33:5f95), cdfd4 (33:5fd4), ce03c (33:603c), ce0a5 (33:60a5), ce0e4 (33:60e4), ce130 (33:6130), ce168 (33:6168), ce1bd (33:61bd), ce202 (33:6202), ce237 (33:6237), ce2d3 (33:62d3), ce3be (33:63be), ce41f (33:641f), ce478 (33:6478), ce4ea (33:64ea), ce51b (33:651b), ce548 (33:6548), ce5bf (33:65bf), ce6e1 (33:66e1), ce6f3 (33:66f3), ce766 (33:6766)
+Functionce734: ; ce734 (33:6734)
+ and $3f
+ cp $20
+ jr nc, .asm_ce73f
+ call Functionce749
+ ld a, h
+ ret
+.asm_ce73f
+ and $1f
+ call Functionce749
+ ld a, h
+ xor $ff
+ inc a
+ ret
+
+; known jump sources: ce73a (33:673a), ce741 (33:6741)
+Functionce749: ; ce749 (33:6749)
+ ld e, a
+ ld a, d
+ ld d, $0
+ ld hl, $677f
+ add hl, de
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $0
+.asm_ce758
+ srl a
+ jr nc, .asm_ce75d
+ add hl, de
+.asm_ce75d
+ sla e
+ rl d
+ and a
+ jr nz, .asm_ce758
+ ret
+
+; no known jump sources
+Functionce765: ; ce765 (33:6765)
+ ld a, e
+ call Functionce734
+ ld e, a
+ ret
+
+; no known jump sources
+Functionce76b: ; ce76b (33:676b)
+ ld a, e
+ call Functionce732
+ ld e, a
+ ret
+; ce771 (33:6771)
+
+INCBIN "baserom.gbc",$ce771,$ce7bf - $ce771
+
+; known jump sources: cd18f (33:518f), cd19b (33:519b), cd1cb (33:51cb), cd1d4 (33:51d4), cd1e2 (33:51e2), cd2ba (33:52ba), cd419 (33:5419), cd434 (33:5434), cd4ab (33:54ab), cd53c (33:553c), cd618 (33:5618), cd6f4 (33:56f4), cd74c (33:574c), cd773 (33:5773), cd81c (33:581c), cd883 (33:5883), cd8e8 (33:58e8), cda40 (33:5a40), cda73 (33:5a73), cda89 (33:5a89), cdc20 (33:5c20), cdc3b (33:5c3b), cdc4a (33:5c4a), cdce9 (33:5ce9), cdd4b (33:5d4b), cddb1 (33:5db1), cddf5 (33:5df5), cde0c (33:5e0c), cde85 (33:5e85), cdebb (33:5ebb), ce372 (33:6372), ce3ab (33:63ab), ce458 (33:6458), ce4ad (33:64ad)
+Functionce7bf: ; ce7bf (33:67bf)
+ ld hl, $3
+ add hl, bc
+ ld [hl], a
+ ld hl, $c
+ add hl, bc
+ ld [hl], $0
+ ld hl, $d
+ add hl, bc
+ ld [hl], $ff
+ ret
+
+
+Functionce7d1: ; ce7d1
+.asm_ce7d1
+ ld hl, $000c
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_ce7e1
+ dec [hl]
+ call Functionce823
+ ld a, [hli]
+ push af
+ jr .asm_ce7fd
+
+.asm_ce7e1
+ ld hl, $000d
+ add hl, bc
+ inc [hl]
+ call Functionce823
+ ld a, [hli]
+ cp $fe
+ jr z, .asm_ce815
+ cp $ff
+ jr z, .asm_ce807
+ push af
+ ld a, [hl]
+ push hl
+ and $3f
+ ld hl, $000c
+ add hl, bc
+ ld [hl], a
+ pop hl
+
+.asm_ce7fd
+ ld a, [hl]
+ and $c0
+ srl a
+ ld [$d420], a
+ pop af
+ ret
+
+.asm_ce807
+ xor a
+ ld hl, $000c
+ add hl, bc
+ ld [hl], a
+ ld hl, $000d
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ jr .asm_ce7d1
+
+.asm_ce815
+ xor a
+ ld hl, $000c
+ add hl, bc
+ ld [hl], a
+ dec a
+ ld hl, $000d
+ add hl, bc
+ ld [hl], a
+ jr .asm_ce7d1
+; ce823
+
+Functionce823: ; ce823
+ ld hl, $0003
+ add hl, bc
+ ld e, [hl]
+ ld d, $0
+ ld hl, $685e
+ add hl, de
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $000d
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, hl
+ add hl, de
+ ret
+; ce83c
+
+Functionce83c: ; ce83c
+ ld l, a
+ ld h, $0
+ ld de, $6eae
+ add hl, hl
+ add hl, hl
+ add hl, de
+ ret
+; ce846
+
+
+; known jump sources: cc4b0 (33:44b0)
+Functionce846: ; ce846 (33:6846)
+ push hl
+ ld l, a
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ ld de, $7cf6
+ add hl, de
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+ inc hl
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ pop de
+ push bc
+ call Functione73
+ pop bc
+ ret
+; ce85e (33:685e)
+
+INCBIN "baserom.gbc",$ce85e,$cfd9e - $ce85e
+
diff --git a/battle/anims.asm b/battle/anims.asm
new file mode 100644
index 000000000..1a5e28d40
--- /dev/null
+++ b/battle/anims.asm
@@ -0,0 +1,3 @@
+BattleAnimations: ; c906f
+INCBIN "baserom.gbc",$c906f,$cbcdd - $c906f
+
diff --git a/battle/bg_effects.asm b/battle/bg_effects.asm
new file mode 100644
index 000000000..d2af6af6b
--- /dev/null
+++ b/battle/bg_effects.asm
@@ -0,0 +1,2938 @@
+; BG effects for use in battle animations.
+
+; no known jump sources
+Functionc8000: ; c8000 (32:4000)
+ ld hl, $d3fa
+ ld e, $5
+.asm_c8005
+ ld a, [hl]
+ and a
+ jr z, .asm_c8012
+ ld c, l
+ ld b, h
+ push hl
+ push de
+ call Functionc804a
+ pop de
+ pop hl
+.asm_c8012
+ ld bc, $4
+ add hl, bc
+ dec e
+ jr nz, .asm_c8005
+ ret
+
+; no known jump sources
+Functionc801a: ; c801a (32:401a)
+ ld hl, $d3fa
+ ld e, $5
+.asm_c801f
+ ld a, [hl]
+ and a
+ jr z, .asm_c802c
+ ld bc, $4
+ add hl, bc
+ dec e
+ jr nz, .asm_c801f
+ scf
+ ret
+.asm_c802c
+ ld c, l
+ ld b, h
+ ld hl, $0
+ add hl, bc
+ ld a, [$d419]
+ ld [hli], a
+ ld a, [$d41a]
+ ld [hli], a
+ ld a, [$d41b]
+ ld [hli], a
+ ld a, [$d41c]
+ ld [hl], a
+ ret
+
+; known jump sources: c80c6 (32:40c6), c811c (32:411c), c8139 (32:4139), c814d (32:414d), c8164 (32:4164), c81e6 (32:41e6), c81ef (32:41ef), c822c (32:422c), c827d (32:427d), c8299 (32:4299), c82ea (32:42ea), c8377 (32:4377), c8437 (32:4437), c85ca (32:45ca), c85ff (32:45ff), c8d13 (32:4d13), c8dd0 (32:4dd0), c8e26 (32:4e26), c8e4e (32:4e4e), c8f15 (32:4f15)
+EndBattleBGEffect: ; c8043 (32:4043)
+ ld hl, 0
+ add hl, bc
+ ld [hl], 0
+ ret
+
+; known jump sources: c800d (32:400d)
+Functionc804a: ; c804a (32:404a)
+ ld hl, 0
+ add hl, bc
+ ld e, [hl]
+ ld d, 0
+ ld hl, BattleBGEffects
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; no known jump sources
+BattleBGEffects: ; c805a (32:405a)
+ dw BattleBGEffect_0
+ dw Functionc80eb
+ dw Functionc80f3
+ dw Functionc812d
+ dw Functionc8141
+ dw Functionc8155
+ dw Functionc8171
+ dw Functionc818b
+ dw Functionc81a5
+ dw Functionc81b3
+ dw Functionc81ea
+ dw Functionc837b
+ dw Functionc83a8
+ dw Functionc8545
+ dw Functionc8599
+ dw Functionc863f
+ dw Functionc8662
+ dw Functionc8214
+ dw Functionc8281
+ dw Functionc8689
+ dw Functionc8709
+ dw Functionc8be8
+ dw Functionc8bf2
+ dw Functionc8bfd
+ dw Functionc8c08
+ dw Functionc8c14
+ dw Functionc8c20
+ dw Functionc8c30
+ dw Functionc8b00
+ dw Functionc8c3c
+ dw Functionc8c55
+ dw Functionc8cf9
+ dw Functionc8d02
+ dw Functionc8761
+ dw Functionc89ee
+ dw Functionc87a7
+ dw Functionc8805
+ dw Functionc8837
+ dw Functionc892a
+ dw Functionc82f5
+ dw Functionc89b5
+ dw Functionc8607
+ dw Functionc8a3a
+ dw Functionc8acc
+ dw Functionc8964
+ dw Functionc88e7
+ dw Functionc8ce1
+ dw Functionc8919
+ dw Functionc85c2
+ dw Functionc85ce
+ dw Functionc8603
+ dw Functionc8c61
+ dw Functionc8ca2
+ dw Functionc8d3a
+
+
+; no known jump sources
+BattleBGEffect_0: ; c80c6 (32:40c6)
+ call EndBattleBGEffect
+ ret
+
+; known jump sources: c8b7d (32:4b7d), c8d80 (32:4d80), c8dd8 (32:4dd8)
+Functionc80ca: ; c80ca (32:40ca)
+ ld hl, $1
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, hl
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ret
+
+; known jump sources: c81b3 (32:41b3), c8214 (32:4214), c8281 (32:4281), c82f5 (32:42f5), c83ed (32:43ed), c8545 (32:4545), c8599 (32:4599), c8607 (32:4607), c863f (32:463f), c8662 (32:4662), c8689 (32:4689), c8709 (32:4709), c8761 (32:4761), c87a7 (32:47a7), c8805 (32:4805), c8837 (32:4837), c88e7 (32:48e7), c8919 (32:4919), c892a (32:492a), c8964 (32:4964), c89b5 (32:49b5), c89ee (32:49ee), c8a3a (32:4a3a), c8acc (32:4acc), c8b05 (32:4b05), c8c61 (32:4c61), c8ca2 (32:4ca2)
+Functionc80d7: ; c80d7 (32:40d7)
+ pop de
+ ld hl, $1
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, hl
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+; known jump sources: c81c0 (32:41c0), c8230 (32:4230), c825a (32:425a), c829d (32:429d), c82c7 (32:42c7), c8302 (32:4302), c835c (32:435c), c841d (32:441d), c854e (32:454e), c85a2 (32:45a2), c8610 (32:4610), c8648 (32:4648), c866b (32:466b), c8698 (32:4698), c86cb (32:46cb), c8712 (32:4712), c876a (32:476a), c87b2 (32:47b2), c87db (32:47db), c8810 (32:4810), c8842 (32:4842), c8876 (32:4876), c8890 (32:4890), c88f6 (32:48f6), c8933 (32:4933), c896d (32:496d), c89be (32:49be), c89f7 (32:49f7), c8a49 (32:4a49), c8a84 (32:4a84), c8a96 (32:4a96), c8ad3 (32:4ad3), c8b0e (32:4b0e), c8c68 (32:4c68), c8cab (32:4cab), c8d8b (32:4d8b), c8dec (32:4dec), c8def (32:4def), c8df2 (32:4df2)
+Functionc80e5: ; c80e5 (32:40e5)
+ ld hl, $1
+ add hl, bc
+ inc [hl]
+ ret
+
+; no known jump sources
+Functionc80eb: ; c80eb (32:40eb)
+ ld de, .inverted
+ jp Functionc80fb
+; c80f1 (32:40f1)
+
+.inverted
+ db %11100100 ; 3210
+ db %00011011 ; 0123
+; c80f3
+
+; no known jump sources
+Functionc80f3: ; c80f3 (32:40f3)
+ ld de, .white
+ jp Functionc80fb
+; c80f9 (32:40f9)
+
+.white
+ db %11100100 ; 3210
+ db %00000000 ; 0000
+; c80fb
+
+; known jump sources: c80ee (32:40ee), c80f6 (32:40f6)
+Functionc80fb: ; c80fb (32:40fb)
+ ld a, $1
+ ld [$d419], a
+ ld hl, $1
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c810a
+ dec [hl]
+ ret
+
+.asm_c810a
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ ld hl, $1
+ add hl, bc
+ ld [hl], a
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_c8120
+ call EndBattleBGEffect
+ ret
+
+.asm_c8120
+ dec a
+ ld [hl], a
+ and 1
+ ld l, a
+ ld h, 0
+ add hl, de
+ ld a, [hl]
+ ld [$cfc7], a
+ ret
+
+; no known jump sources
+Functionc812d: ; c812d (32:412d)
+ ld de, $413d
+ call Functionc8d57
+ jr c, .asm_c8139
+ ld [$cfc7], a
+ ret
+.asm_c8139
+ call EndBattleBGEffect
+ ret
+; c813d (32:413d)
+
+INCBIN "baserom.gbc",$c813d,$c8141 - $c813d
+
+; no known jump sources
+Functionc8141: ; c8141 (32:4141)
+ ld de, $4151
+ call Functionc8d57
+ jr c, .asm_c814d
+ ld [$cfc7], a
+ ret
+.asm_c814d
+ call EndBattleBGEffect
+ ret
+; c8151 (32:4151)
+
+INCBIN "baserom.gbc",$c8151,$c8155 - $c8151
+
+; no known jump sources
+Functionc8155: ; c8155 (32:4155)
+ ld de, $4168
+ call Functionc8d57
+ jr c, .asm_c8164
+ ld [$cfc7], a
+ ld [$cfc9], a
+ ret
+.asm_c8164
+ call EndBattleBGEffect
+ ret
+; c8168 (32:4168)
+
+INCBIN "baserom.gbc",$c8168,$c8171 - $c8168
+
+; no known jump sources
+Functionc8171: ; c8171 (32:4171)
+ call Functionc9059
+ jr nz, .asm_c817b
+ ld de, $4185
+ jr .asm_c817e
+.asm_c817b
+ ld de, $4188
+.asm_c817e
+ call Functionc8d57
+ ld [$cfc8], a
+ ret
+; c8185 (32:4185)
+
+INCBIN "baserom.gbc",$c8185,$c818b - $c8185
+
+; no known jump sources
+Functionc818b: ; c818b (32:418b)
+ call Functionc9059
+ jr nz, .asm_c8195
+ ld de, $419f
+ jr .asm_c8198
+.asm_c8195
+ ld de, $41a2
+.asm_c8198
+ call Functionc8d57
+ ld [$cfc8], a
+ ret
+; c819f (32:419f)
+
+INCBIN "baserom.gbc",$c819f,$c81a5 - $c819f
+
+; no known jump sources
+Functionc81a5: ; c81a5 (32:41a5)
+ ld de, $41af
+ call Functionc8d57
+ ld [$cfc7], a
+ ret
+; c81af (32:41af)
+
+INCBIN "baserom.gbc",$c81af,$c81b3 - $c81af
+
+; no known jump sources
+Functionc81b3: ; c81b3 (32:41b3)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c81b6: ; c81b6 (32:41b6)
+ dw Functionc81c0
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc81e3
+
+
+; no known jump sources
+Functionc81c0: ; c81c0 (32:41c0)
+ call Functionc80e5
+ push bc
+ call Functionc9038
+ jr nz, .asm_c81d1
+ ld hl, $c4ac
+ ld bc, $707
+ jr .asm_c81d7
+.asm_c81d1
+ ld hl, $c51a
+ ld bc, $606
+.asm_c81d7
+ call ClearBox
+ pop bc
+ xor a
+ ld [hBGMapThird], a ; $ff00+$d5
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+
+; no known jump sources
+Functionc81e3: ; c81e3 (32:41e3)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call EndBattleBGEffect
+ ret
+
+; no known jump sources
+Functionc81ea: ; c81ea (32:41ea)
+ call Functionc9042
+ jr z, .asm_c81f3
+ call EndBattleBGEffect
+ ret
+.asm_c81f3
+ call Functionc9038
+ jr nz, .asm_c81fd
+ ld de, $4210
+ jr .asm_c8200
+.asm_c81fd
+ ld de, $420c
+.asm_c8200
+ ld a, e
+ ld [$d41a], a
+ ld a, d
+ ld [$d41b], a
+ call Functionc83ed
+ ret
+; c820c (32:420c)
+
+INCBIN "baserom.gbc",$c820c,$c8214 - $c820c
+
+; no known jump sources
+Functionc8214: ; c8214 (32:4214)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8217: ; c8217 (32:4217)
+ dw Functionc8223
+ dw Functionc825a
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc827a
+
+
+; no known jump sources
+Functionc8223: ; c8223 (32:4223)
+ call Functionc9042
+ jr z, .asm_c8230
+ ld hl, $d40e
+ inc [hl]
+ call EndBattleBGEffect
+ ret
+.asm_c8230
+ call Functionc80e5
+ push bc
+ call Functionc9038
+ jr nz, .asm_c8242
+ ld a, $b8
+ ld [$d419], a
+ ld a, $84
+ jr .asm_c8249
+.asm_c8242
+ ld a, $b9
+ ld [$d419], a
+ ld a, $30
+.asm_c8249
+ ld [$d41a], a
+ ld a, $40
+ ld [$d41b], a
+ xor a
+ ld [$d41c], a
+ call Functionc82ee
+ pop bc
+ ret
+
+; no known jump sources
+Functionc825a: ; c825a (32:425a)
+ call Functionc80e5
+ push bc
+ call Functionc9038
+ jr nz, .asm_c826b
+ ld hl, $c524
+ ld bc, $107
+ jr .asm_c8271
+.asm_c826b
+ ld hl, $c51a
+ ld bc, $106
+.asm_c8271
+ call ClearBox
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ pop bc
+ ret
+
+; no known jump sources
+Functionc827a: ; c827a (32:427a)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call EndBattleBGEffect
+ ret
+
+; no known jump sources
+Functionc8281: ; c8281 (32:4281)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8284: ; c8284 (32:4284)
+ dw Functionc8290
+ dw Functionc82c7
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc82e7
+
+
+; no known jump sources
+Functionc8290: ; c8290 (32:4290)
+ call Functionc9042
+ jr z, .asm_c829d
+ ld hl, $d40e
+ inc [hl]
+ call EndBattleBGEffect
+ ret
+.asm_c829d
+ call Functionc80e5
+ push bc
+ call Functionc9038
+ jr nz, .asm_c82af
+ ld a, $ba
+ ld [$d419], a
+ ld a, $84
+ jr .asm_c82b6
+.asm_c82af
+ ld a, $bb
+ ld [$d419], a
+ ld a, $30
+.asm_c82b6
+ ld [$d41a], a
+ ld a, $40
+ ld [$d41b], a
+ xor a
+ ld [$d41c], a
+ call Functionc82ee
+ pop bc
+ ret
+
+; no known jump sources
+Functionc82c7: ; c82c7 (32:42c7)
+ call Functionc80e5
+ push bc
+ call Functionc9038
+ jr nz, .asm_c82d8
+ ld hl, $c510
+ ld bc, $207
+ jr .asm_c82de
+.asm_c82d8
+ ld hl, $c51a
+ ld bc, $206
+.asm_c82de
+ call ClearBox
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ pop bc
+ ret
+
+; no known jump sources
+Functionc82e7: ; c82e7 (32:42e7)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call EndBattleBGEffect
+ ret
+
+; known jump sources: c8255 (32:4255), c82c2 (32:42c2)
+Functionc82ee: ; c82ee (32:42ee)
+ callab Functioncc9a1
+ ret
+
+; no known jump sources
+Functionc82f5: ; c82f5 (32:42f5)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c82f8: ; c82f8 (32:42f8)
+ dw Functionc8302
+ dw Functionc831d
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc8365
+
+
+; no known jump sources
+Functionc8302: ; c8302 (32:4302)
+ call Functionc80e5
+ call Functionc9038
+ ld [hl], a
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c8315
+ ld a, $9
+ jr .asm_c8317
+.asm_c8315
+ ld a, $8
+.asm_c8317
+ ld hl, $3
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc831d: ; c831d (32:431d)
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c833e
+ ld hl, $c518
+ ld de, $806
+.asm_c832b
+ push de
+ push hl
+.asm_c832d
+ inc hl
+ ld a, [hld]
+ ld [hli], a
+ dec d
+ jr nz, .asm_c832d
+ pop hl
+ ld de, $14
+ add hl, de
+ pop de
+ dec e
+ jr nz, .asm_c832b
+ jr .asm_c8355
+.asm_c833e
+ ld hl, $c4b3
+ ld de, $807
+.asm_c8344
+ push de
+ push hl
+.asm_c8346
+ dec hl
+ ld a, [hli]
+ ld [hld], a
+ dec d
+ jr nz, .asm_c8346
+ pop hl
+ ld de, $14
+ add hl, de
+ pop de
+ dec e
+ jr nz, .asm_c8344
+.asm_c8355
+ xor a
+ ld [hBGMapThird], a ; $ff00+$d5
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ call Functionc80e5
+ ld hl, $3
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionc8365: ; c8365 (32:4365)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c8377
+ ld hl, $1
+ add hl, bc
+ ld [hl], $1
+ ret
+.asm_c8377
+ call EndBattleBGEffect
+ ret
+
+; no known jump sources
+Functionc837b: ; c837b (32:437b)
+ call Functionc9038
+ jr nz, .asm_c8385
+ ld de, $439e
+ jr .asm_c8388
+.asm_c8385
+ ld de, $4394
+.asm_c8388
+ ld a, e
+ ld [$d41a], a
+ ld a, d
+ ld [$d41b], a
+ call Functionc83ed
+ ret
+; c8394 (32:4394)
+
+INCBIN "baserom.gbc",$c8394,$c83a8 - $c8394
+
+; no known jump sources
+Functionc83a8: ; c83a8 (32:43a8)
+ call Functionc9038
+ jr nz, .asm_c83b2
+ ld de, $43d7
+ jr .asm_c83b5
+.asm_c83b2
+ ld de, $43c1
+.asm_c83b5
+ ld a, e
+ ld [$d41a], a
+ ld a, d
+ ld [$d41b], a
+ call Functionc83ed
+ ret
+; c83c1 (32:43c1)
+
+INCBIN "baserom.gbc",$c83c1,$c83ed - $c83c1
+
+; known jump sources: c8208 (32:4208), c8390 (32:4390), c83bd (32:43bd)
+Functionc83ed: ; c83ed (32:43ed)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c83f0: ; c83f0 (32:43f0)
+ dw Functionc83fa
+ dw Functionc80e5
+ dw Functionc80e5
+ dw Functionc842a
+ dw Functionc8434
+
+
+; known jump sources: c8428 (32:4428)
+Functionc83fa: ; c83fa (32:43fa)
+ ld hl, $3
+ add hl, bc
+ ld e, [hl]
+ ld d, $0
+ inc [hl]
+ ld a, [$d41a]
+ ld l, a
+ ld a, [$d41b]
+ ld h, a
+ add hl, de
+ add hl, de
+ add hl, de
+ ld a, [hl]
+ cp $ff
+ jr z, Functionc8434
+ cp $fe
+ jr z, .asm_c8425
+ cp $fd
+ jr z, .asm_c841d
+ call Functionc8458
+.asm_c841d
+ call Functionc80e5
+ ld a, $1
+ ld [hBGMapMode], a ; $ff00+$d4
+ ret
+.asm_c8425
+ call Functionc843b
+ jr Functionc83fa
+
+; no known jump sources
+Functionc842a: ; c842a (32:442a)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ ld hl, $1
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; known jump sources: c8410 (32:4410)
+Functionc8434: ; c8434 (32:4434)
+ xor a
+ ld [hBGMapMode], a ; $ff00+$d4
+ call EndBattleBGEffect
+ ret
+
+; known jump sources: c8425 (32:4425)
+Functionc843b: ; c843b (32:443b)
+ push bc
+ inc hl
+ ld a, [hli]
+ ld b, a
+ and $f
+ ld c, a
+ ld a, b
+ swap a
+ and $f
+ ld b, a
+ ld e, [hl]
+ ld d, $0
+ ld hl, $449c
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call ClearBox
+ pop bc
+ ret
+
+; known jump sources: c841a (32:441a)
+Functionc8458: ; c8458 (32:4458)
+ push bc
+ push hl
+ ld e, [hl]
+ ld d, $0
+ ld hl, $44a8
+ add hl, de
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld b, a
+ and $f
+ ld c, a
+ ld a, b
+ swap a
+ and $f
+ ld b, a
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ pop hl
+ inc hl
+ ld a, [hli]
+ ld [$d419], a
+ push de
+ ld e, [hl]
+ ld d, $0
+ ld hl, $449c
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ pop de
+.asm_c8484
+ push bc
+ push hl
+ ld a, [$d419]
+ ld b, a
+.asm_c848a
+ ld a, [de]
+ add b
+ ld [hli], a
+ inc de
+ dec c
+ jr nz, .asm_c848a
+ pop hl
+ ld bc, $14
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .asm_c8484
+ pop bc
+ ret
+; c849c (32:449c)
+
+INCBIN "baserom.gbc",$c849c,$c8545 - $c849c
+
+; no known jump sources
+Functionc8545: ; c8545 (32:4545)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8548: ; c8548 (32:4548)
+ dw Functionc854e
+ dw Functionc8557
+ dw Functionc8561
+
+
+; no known jump sources
+Functionc854e: ; c854e (32:454e)
+ call Functionc80e5
+ ld de, $202
+ call Functionc8f69
+
+; no known jump sources
+Functionc8557: ; c8557 (32:4557)
+ ld a, [hLCDStatCustom] ; $ff00+$c6
+ and a
+ ret z
+ push bc
+ call Functionc8565
+ pop bc
+ ret
+
+; no known jump sources
+Functionc8561: ; c8561 (32:4561)
+ call Functionc8f0a
+ ret
+
+; known jump sources: c855c (32:455c)
+Functionc8565: ; c8565 (32:4565)
+ ld hl, $d422
+ ld de, $d423
+ ld c, $3f
+ ld a, [hl]
+ push af
+.asm_c856f
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec c
+ jr nz, .asm_c856f
+ pop af
+ ld [hl], a
+ ld de, $d200
+ ld hl, $d422
+ ld bc, $0
+.asm_c8580
+ ld a, [$FF00+$c7]
+ cp e
+ jr nc, .asm_c858b
+ push hl
+ add hl, bc
+ ld a, [hl]
+ pop hl
+ jr .asm_c858c
+.asm_c858b
+ xor a
+.asm_c858c
+ ld [de], a
+ ld a, c
+ inc a
+ and $3f
+ ld c, a
+ inc de
+ ld a, e
+ cp $5f
+ jr c, .asm_c8580
+ ret
+
+; no known jump sources
+Functionc8599: ; c8599 (32:4599)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c859c: ; c859c (32:459c)
+ dw Functionc85a2
+ dw Functionc85ba
+ dw Functionc85be
+
+
+; no known jump sources
+Functionc85a2: ; c85a2 (32:45a2)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $42
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ xor a
+ ld [$FF00+$c7], a
+ ld a, $5e
+ ld [$FF00+$c8], a
+ ld de, $202
+ call Functionc8f2e
+ ret
+
+; no known jump sources
+Functionc85ba: ; c85ba (32:45ba)
+ call Functionc8fef
+ ret
+
+; no known jump sources
+Functionc85be: ; c85be (32:45be)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc85c2: ; c85c2 (32:45c2)
+ call Functionc8eca
+ ld a, $42
+ call Functionc8ede
+ call EndBattleBGEffect
+ ret
+
+; no known jump sources
+Functionc85ce: ; c85ce (32:45ce)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld e, a
+ add $4
+ ld [hl], a
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ swap a
+ xor $ff
+ add $4
+ ld d, a
+ ld hl, $1
+ add hl, bc
+ ld a, [hl]
+ ld [$d419], a
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr nc, .asm_c85fc
+ inc [hl]
+ inc [hl]
+ call Functionc8f9a
+ ret
+.asm_c85fc
+ call Functionc8eca
+ call EndBattleBGEffect
+ ret
+
+; no known jump sources
+Functionc8603: ; c8603 (32:4603)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8607: ; c8607 (32:4607)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c860a: ; c860a (32:460a)
+ dw Functionc8610
+ dw Functionc862e
+ dw Functionc863b
+
+
+; no known jump sources
+Functionc8610: ; c8610 (32:4610)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ xor a
+ ld [$FF00+$c7], a
+ ld a, $5f
+ ld [$FF00+$c8], a
+ ld de, $605
+ call Functionc8f2e
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Functionc862e: ; c862e (32:462e)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ and $3
+ ret nz
+ call Functionc8fef
+ ret
+
+; no known jump sources
+Functionc863b: ; c863b (32:463b)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc863f: ; c863f (32:463f)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8642: ; c8642 (32:4642)
+ dw Functionc8648
+ dw Functionc865a
+ dw Functionc865e
+
+
+; no known jump sources
+Functionc8648: ; c8648 (32:4648)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld de, $605
+ call Functionc8f2e
+ ret
+
+; no known jump sources
+Functionc865a: ; c865a (32:465a)
+ call Functionc8fef
+ ret
+
+; no known jump sources
+Functionc865e: ; c865e (32:465e)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8662: ; c8662 (32:4662)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8665: ; c8665 (32:4665)
+ dw Functionc866b
+ dw Functionc8681
+ dw Functionc8685
+
+
+; no known jump sources
+Functionc866b: ; c866b (32:466b)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $42
+ call Functionc8ede
+ ld hl, $3
+ add hl, bc
+ ld e, [hl]
+ ld d, $2
+ call Functionc8f2e
+ ret
+
+; no known jump sources
+Functionc8681: ; c8681 (32:4681)
+ call Functionc8fef
+ ret
+
+; no known jump sources
+Functionc8685: ; c8685 (32:4685)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8689: ; c8689 (32:4689)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c868c: ; c868c (32:468c)
+ dw Functionc8698
+ dw Functionc86af
+ dw Functionc86cf
+ dw Functionc86bd
+ dw Functionc86e9
+ dw Functionc8705
+
+
+; no known jump sources
+Functionc8698: ; c8698 (32:4698)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $2
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Functionc86af: ; c86af (32:46af)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ cp $10
+ jr nc, asm_c86cb
+ inc [hl]
+ call Functionc86ea
+ ret
+
+; no known jump sources
+Functionc86bd: ; c86bd (32:46bd)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ cp $ff
+ jr z, asm_c86cb
+ dec [hl]
+ call Functionc86ea
+ ret
+asm_c86cb: ; c86cb (32:46cb)
+ call Functionc80e5
+ ret
+
+; no known jump sources
+Functionc86cf: ; c86cf (32:46cf)
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ ld d, $2
+ call Functionc905d
+ ld hl, $3
+ add hl, bc
+ add [hl]
+ call Functionc86ea
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ add $4
+ ld [hl], a
+
+; no known jump sources
+Functionc86e9: ; c86e9 (32:46e9)
+ ret
+
+; known jump sources: c86b9 (32:46b9), c86c7 (32:46c7), c86de (32:46de)
+Functionc86ea: ; c86ea (32:46ea)
+ ld e, a
+ xor $ff
+ inc a
+ ld d, a
+ ld h, $d2
+ ld a, [$FF00+$c7]
+ ld l, a
+ ld a, [$FF00+$c8]
+ sub l
+ srl a
+ push af
+.asm_c86fa
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ inc hl
+ dec a
+ jr nz, .asm_c86fa
+ pop af
+ ret nc
+ ld [hl], e
+ ret
+
+; no known jump sources
+Functionc8705: ; c8705 (32:4705)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8709: ; c8709 (32:4709)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c870c: ; c870c (32:470c)
+ dw Functionc8712
+ dw Functionc8732
+ dw Functionc875d
+
+
+; no known jump sources
+Functionc8712: ; c8712 (32:4712)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $42
+ call Functionc8ede
+ ld hl, $3
+ add hl, bc
+ ld e, [hl]
+ ld d, $2
+ call Functionc8f2e
+ ld h, $d2
+ ld a, [$FF00+$c8]
+ ld l, a
+ ld [hl], $0
+ dec l
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Functionc8732: ; c8732 (32:4732)
+ ld a, [$FF00+$c8]
+ ld l, a
+ ld h, $d2
+ ld e, l
+ ld d, h
+ dec de
+.asm_c873a
+ ld a, [de]
+ dec de
+ ld [hld], a
+ ld a, [$FF00+$c7]
+ cp l
+ jr nz, .asm_c873a
+ ld [hl], $90
+ ld a, [$FF00+$c8]
+ ld l, a
+ ld a, [hl]
+ cp $1
+ jr c, .asm_c8752
+ cp $90
+ jr z, .asm_c8752
+ ld [hl], $0
+.asm_c8752
+ dec l
+ ld a, [hl]
+ cp $2
+ ret c
+ cp $90
+ ret z
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Functionc875d: ; c875d (32:475d)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8761: ; c8761 (32:4761)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8764: ; c8764 (32:4764)
+ dw Functionc876a
+ dw Functionc8781
+ dw Functionc87a3
+
+
+; no known jump sources
+Functionc876a: ; c876a (32:476a)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $42
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $2
+ add hl, bc
+ ld [hl], $1
+ ret
+
+; no known jump sources
+Functionc8781: ; c8781 (32:4781)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld d, a
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ cp d
+ ret nc
+ call Functionc901b
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ rlca
+ rlca
+ and $3
+ ld hl, $2
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc87a3: ; c87a3 (32:47a3)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc87a7: ; c87a7 (32:47a7)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c87aa: ; c87aa (32:47aa)
+ dw Functionc87b2
+ dw Functionc87cf
+ dw Functionc87de
+ dw Functionc8801
+
+
+; no known jump sources
+Functionc87b2: ; c87b2 (32:47b2)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $42
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $2
+ add hl, bc
+ ld [hl], $2
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Functionc87cf: ; c87cf (32:47cf)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c87d9
+ dec [hl]
+ ret
+.asm_c87d9
+ ld [hl], $10
+ call Functionc80e5
+
+; no known jump sources
+Functionc87de: ; c87de (32:47de)
+ ld a, [$FF00+$c7]
+ ld l, a
+ ld a, [$FF00+$c8]
+ sub l
+ dec a
+ ld hl, $2
+ add hl, bc
+ cp [hl]
+ ret c
+ ld a, [hl]
+ push af
+ and $7
+ jr nz, .asm_c87f6
+ ld hl, $1
+ add hl, bc
+ dec [hl]
+.asm_c87f6
+ pop af
+ call Functionc901b
+ ld hl, $2
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+
+; no known jump sources
+Functionc8801: ; c8801 (32:4801)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8805: ; c8805 (32:4805)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8808: ; c8808 (32:4808)
+ dw Functionc8810
+ dw Functionc8869
+ dw Functionc8888
+ dw Functionc8833
+
+
+; no known jump sources
+Functionc8810: ; c8810 (32:4810)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ call Functionc9038
+ jr nz, .asm_c882f
+ ld a, $2
+ jr .asm_c8831
+.asm_c882f
+ ld a, $fe
+.asm_c8831
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8833: ; c8833 (32:4833)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8837: ; c8837 (32:4837)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c883a: ; c883a (32:483a)
+ dw Functionc8842
+ dw Functionc8869
+ dw Functionc8888
+ dw Functionc8865
+
+
+; no known jump sources
+Functionc8842: ; c8842 (32:4842)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ef4
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ call Functionc9038
+ jr nz, .asm_c8861
+ ld a, $2
+ jr .asm_c8863
+.asm_c8861
+ ld a, $fe
+.asm_c8863
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8865: ; c8865 (32:4865)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8869: ; c8869 (32:4869)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ cp $f8
+ jr z, .asm_c8876
+ cp $8
+ jr nz, .asm_c8879
+.asm_c8876
+ call Functionc80e5
+.asm_c8879
+ call Functionc88a5
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ ld hl, $3
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8888: ; c8888 (32:4888)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_c8893
+ call Functionc80e5
+.asm_c8893
+ call Functionc88a5
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld hl, $3
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+; known jump sources: c8879 (32:4879), c8893 (32:4893)
+Functionc88a5: ; c88a5 (32:48a5)
+ push af
+ ld a, [FXAnimIDHi] ; $cfc3
+ or a
+ jr nz, .asm_c88b3
+ ld a, [FXAnimIDLo] ; $cfc2
+ cp $cd
+ jr z, .asm_c88b7
+.asm_c88b3
+ pop af
+ jp Functionc900b
+.asm_c88b7
+ ld a, [$FF00+$c7]
+ ld d, a
+ ld a, [$FF00+$c8]
+ sub d
+ ld d, a
+ ld h, $d2
+ ld a, [hSCY] ; $ff00+$d0
+ or a
+ jr nz, .asm_c88d0
+ ld a, [$FF00+$c7]
+ or a
+ jr z, .asm_c88d6
+ dec a
+ ld l, a
+ ld [hl], $0
+ jr .asm_c88d6
+.asm_c88d0
+ ld a, [$FF00+$c8]
+ dec a
+ ld l, a
+ ld [hl], $0
+.asm_c88d6
+ ld a, [hSCY] ; $ff00+$d0
+ ld l, a
+ ld a, [$FF00+$c7]
+ sub l
+ jr nc, .asm_c88e0
+ xor a
+ dec d
+.asm_c88e0
+ ld l, a
+ pop af
+.asm_c88e2
+ ld [hli], a
+ dec d
+ jr nz, .asm_c88e2
+ ret
+
+; no known jump sources
+Functionc88e7: ; c88e7 (32:48e7)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c88ea: ; c88ea (32:48ea)
+ dw Functionc88f6
+ dw Functionc8869
+ dw Functionc8888
+ dw Functionc88f2
+
+
+; no known jump sources
+Functionc88f2: ; c88f2 (32:48f2)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc88f6: ; c88f6 (32:48f6)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ call Functionc9038
+ jr nz, .asm_c8915
+ ld a, $fe
+ jr .asm_c8917
+.asm_c8915
+ ld a, $2
+.asm_c8917
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8919: ; c8919 (32:4919)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c891c: ; c891c (32:491c)
+ dw Functionc88f6
+ dw Functionc8869
+ dw Functionc8929
+ dw Functionc8888
+ dw Functionc8926
+
+
+; no known jump sources
+Functionc8926: ; c8926 (32:4926)
+ call Functionc8f0a
+
+; no known jump sources
+Functionc8929: ; c8929 (32:4929)
+ ret
+
+; no known jump sources
+Functionc892a: ; c892a (32:492a)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c892d: ; c892d (32:492d)
+ dw Functionc8933
+ dw Functionc894a
+ dw Functionc8960
+
+
+; no known jump sources
+Functionc8933: ; c8933 (32:4933)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Functionc894a: ; c894a (32:494a)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld d, $8
+ call Functionc905d
+ call Functionc900b
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ add $4
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8960: ; c8960 (32:4960)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8964: ; c8964 (32:4964)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8967: ; c8967 (32:4967)
+ dw Functionc896d
+ dw Functionc8985
+ dw Functionc89b1
+
+
+; no known jump sources
+Functionc896d: ; c896d (32:496d)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ xor a
+ ld hl, $2
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8985: ; c8985 (32:4985)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld d, $6
+ call Functionc905d
+ push af
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ ld d, $2
+ call Functionc905d
+ ld e, a
+ pop af
+ add e
+ call Functionc900b
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld [hl], a
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc89b1: ; c89b1 (32:49b1)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc89b5: ; c89b5 (32:49b5)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c89b8: ; c89b8 (32:49b8)
+ dw Functionc89be
+ dw Functionc89ca
+ dw Functionc89da
+
+
+; no known jump sources
+Functionc89be: ; c89be (32:49be)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ret
+
+; no known jump sources
+Functionc89ca: ; c89ca (32:49ca)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ ret nc
+ inc [hl]
+ ld d, a
+ ld e, $4
+ call Functionc8f2e
+ ret
+
+; no known jump sources
+Functionc89da: ; c89da (32:49da)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c89ea
+ dec [hl]
+ ld d, a
+ ld e, $4
+ call Functionc8f2e
+ ret
+.asm_c89ea
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc89ee: ; c89ee (32:49ee)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c89f1: ; c89f1 (32:49f1)
+ dw Functionc89f7
+ dw Functionc8a14
+ dw Functionc8a36
+
+
+; no known jump sources
+Functionc89f7: ; c89f7 (32:49f7)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $42
+ call Functionc8ef4
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $2
+ add hl, bc
+ ld [hl], $1
+ ld hl, $3
+ add hl, bc
+ ld [hl], $20
+ ret
+
+; no known jump sources
+Functionc8a14: ; c8a14 (32:4a14)
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ cp $38
+ ret nc
+ push af
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call Functionc9066
+ add $10
+ ld d, a
+ pop af
+ add d
+ call Functionc901b
+ ld hl, $3
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+
+; no known jump sources
+Functionc8a36: ; c8a36 (32:4a36)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8a3a: ; c8a3a (32:4a3a)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8a3d: ; c8a3d (32:4a3d)
+ dw Functionc8a49
+ dw Functionc8a6f
+ dw Functionc8a70
+ dw Functionc8a88
+ dw Functionc8a6f
+ dw Functionc8aac
+
+
+; no known jump sources
+Functionc8a49: ; c8a49 (32:4a49)
+ call Functionc80e5
+ ld a, $e4
+ call Functionc8ecb
+ ld a, $47
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld a, [$FF00+$c7]
+ ld l, a
+ ld h, $d2
+.asm_c8a60
+ ld a, [$FF00+$c8]
+ cp l
+ jr z, .asm_c8a69
+ xor a
+ ld [hli], a
+ jr .asm_c8a60
+.asm_c8a69
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+
+; no known jump sources
+Functionc8a6f: ; c8a6f (32:4a6f)
+ ret
+
+; no known jump sources
+Functionc8a70: ; c8a70 (32:4a70)
+ call Functionc8ab0
+ jr nc, .asm_c8a79
+ call Functionc8a9a
+ ret
+.asm_c8a79
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ ld a, [$FF00+$c7]
+ inc a
+ ld [$FF00+$c7], a
+ call Functionc80e5
+ ret
+
+; no known jump sources
+Functionc8a88: ; c8a88 (32:4a88)
+ call Functionc8ab0
+ jr nc, .asm_c8a96
+ call Functionc8a9a
+ ld a, [$FF00+$c8]
+ dec a
+ ld l, a
+ ld [hl], e
+ ret
+.asm_c8a96
+ call Functionc80e5
+ ret
+
+; known jump sources: c8a75 (32:4a75), c8a8d (32:4a8d)
+Functionc8a9a: ; c8a9a (32:4a9a)
+ ld e, a
+ ld a, [$FF00+$c7]
+ ld l, a
+ ld a, [$FF00+$c8]
+ sub l
+ srl a
+ ld h, $d2
+.asm_c8aa5
+ ld [hl], e
+ inc hl
+ inc hl
+ dec a
+ jr nz, .asm_c8aa5
+ ret
+
+; no known jump sources
+Functionc8aac: ; c8aac (32:4aac)
+ call Functionc8f19
+ ret
+
+; known jump sources: c8a70 (32:4a70), c8a88 (32:4a88)
+Functionc8ab0: ; c8ab0 (32:4ab0)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ srl a
+ srl a
+ srl a
+ ld e, a
+ ld d, $0
+ ld hl, $4ac7
+ add hl, de
+ ld a, [hl]
+ cp $ff
+ ret
+; c8ac7 (32:4ac7)
+
+INCBIN "baserom.gbc",$c8ac7,$c8acc - $c8ac7
+
+; no known jump sources
+Functionc8acc: ; c8acc (32:4acc)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8acf: ; c8acf (32:4acf)
+ dw Functionc8ad3
+ dw Functionc8ae5
+
+
+; no known jump sources
+Functionc8ad3: ; c8ad3 (32:4ad3)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld hl, $2
+ add hl, bc
+ ld [hl], $40
+ ret
+
+; no known jump sources
+Functionc8ae5: ; c8ae5 (32:4ae5)
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c8afc
+ dec [hl]
+ srl a
+ srl a
+ srl a
+ and $f
+ ld d, a
+ ld e, a
+ call Functionc8f2e
+ ret
+.asm_c8afc
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8b00: ; c8b00 (32:4b00)
+ ld a, [hCGB] ; $ff00+$e6
+ and a
+ jr nz, asm_c8b7a
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8b08: ; c8b08 (32:4b08)
+ dw Functionc8b0e
+ dw Functionc8b22
+ dw Functionc8b60
+
+
+; no known jump sources
+Functionc8b0e: ; c8b0e (32:4b0e)
+ call Functionc80e5
+ ld a, $e4
+ call Functionc8ecb
+ ld a, $47
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ xor a
+ ld [$FF00+$c7], a
+ ld a, $60
+ ld [$FF00+$c8], a
+ ret
+
+; no known jump sources
+Functionc8b22: ; c8b22 (32:4b22)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld e, a
+ and $7
+ ret nz
+ ld a, e
+ and $18
+ sla a
+ swap a
+ sla a
+ ld e, a
+ ld d, $0
+ push bc
+ call Functionc9038
+ jr nz, .asm_c8b4d
+ ld hl, $4bd8
+ add hl, de
+ ld a, [hli]
+ ld [$cfc9], a
+ ld d, a
+ ld e, [hl]
+ ld bc, $2f30
+ jr .asm_c8b5b
+.asm_c8b4d
+ ld hl, $4be0
+ add hl, de
+ ld d, [hl]
+ inc hl
+ ld a, [hl]
+ ld [$cfc9], a
+ ld e, a
+ ld bc, $3728
+.asm_c8b5b
+ call Functionc8b6c
+ pop bc
+ ret
+
+; no known jump sources
+Functionc8b60: ; c8b60 (32:4b60)
+ call Functionc8f19
+ ld a, $e4
+ ld [$cfc7], a
+ ld [$cfc9], a
+ ret
+
+; known jump sources: c8b5b (32:4b5b)
+Functionc8b6c: ; c8b6c (32:4b6c)
+ ld hl, $d200
+.asm_c8b6f
+ ld [hl], d
+ inc hl
+ dec b
+ jr nz, .asm_c8b6f
+.asm_c8b74
+ ld [hl], e
+ inc hl
+ dec c
+ jr nz, .asm_c8b74
+ ret
+asm_c8b7a: ; c8b7a (32:4b7a)
+ ld de, $4b81
+ call Functionc80ca
+ jp [hl]
+; c8b81 (32:4b81)
+
+INCBIN "baserom.gbc",$c8b81,$c8be8 - $c8b81
+
+; no known jump sources
+Functionc8be8: ; c8be8 (32:4be8)
+ ld de, $4bef
+ call Functionc8d77
+ ret
+; c8bef (32:4bef)
+
+INCBIN "baserom.gbc",$c8bef,$c8bf2 - $c8bef
+
+; no known jump sources
+Functionc8bf2: ; c8bf2 (32:4bf2)
+ ld de, $4bf9
+ call Functionc8d77
+ ret
+; c8bf9 (32:4bf9)
+
+INCBIN "baserom.gbc",$c8bf9,$c8bfd - $c8bf9
+
+; no known jump sources
+Functionc8bfd: ; c8bfd (32:4bfd)
+ ld de, $4c04
+ call Functionc8d77
+ ret
+; c8c04 (32:4c04)
+
+INCBIN "baserom.gbc",$c8c04,$c8c08 - $c8c04
+
+; no known jump sources
+Functionc8c08: ; c8c08 (32:4c08)
+ ld de, $4c0f
+ call Functionc8d77
+ ret
+; c8c0f (32:4c0f)
+
+INCBIN "baserom.gbc",$c8c0f,$c8c14 - $c8c0f
+
+; no known jump sources
+Functionc8c14: ; c8c14 (32:4c14)
+ ld de, $4c1b
+ call Functionc8d77
+ ret
+; c8c1b (32:4c1b)
+
+INCBIN "baserom.gbc",$c8c1b,$c8c20 - $c8c1b
+
+; no known jump sources
+Functionc8c20: ; c8c20 (32:4c20)
+ ld de, $4c27
+ call Functionc8d77
+ ret
+; c8c27 (32:4c27)
+
+INCBIN "baserom.gbc",$c8c27,$c8c30 - $c8c27
+
+; no known jump sources
+Functionc8c30: ; c8c30 (32:4c30)
+ ld de, $4c37
+ call Functionc8d77
+ ret
+; c8c37 (32:4c37)
+
+INCBIN "baserom.gbc",$c8c37,$c8c3c - $c8c37
+
+; no known jump sources
+Functionc8c3c: ; c8c3c (32:4c3c)
+ ld de, $4c43
+ call Functionc8d77
+ ret
+; c8c43 (32:4c43)
+
+INCBIN "baserom.gbc",$c8c43,$c8c55 - $c8c43
+
+; no known jump sources
+Functionc8c55: ; c8c55 (32:4c55)
+ ld de, $4c5c
+ call Functionc8d77
+ ret
+; c8c5c (32:4c5c)
+
+INCBIN "baserom.gbc",$c8c5c,$c8c61 - $c8c5c
+
+; no known jump sources
+Functionc8c61: ; c8c61 (32:4c61)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8c64: ; c8c64 (32:4c64)
+ dw Functionc8c68
+ dw Functionc8c85
+
+
+; no known jump sources
+Functionc8c68: ; c8c68 (32:4c68)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $2
+ add hl, bc
+ ld [hl], $1
+ ld hl, $3
+ add hl, bc
+ ld [hl], $20
+ ret
+
+; no known jump sources
+Functionc8c85: ; c8c85 (32:4c85)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c8c9e
+ dec [hl]
+ and $1
+ ret nz
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ call Functionc900b
+ ret
+.asm_c8c9e
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8ca2: ; c8ca2 (32:4ca2)
+ call Functionc80d7 ; ; ; call does not return
+
+; no known jump sources
+Jumptable_c8ca5: ; c8ca5 (32:4ca5)
+ dw Functionc8cab
+ dw Functionc8cc3
+ dw Functionc8cdd
+
+
+; no known jump sources
+Functionc8cab: ; c8cab (32:4cab)
+ call Functionc80e5
+ call Functionc8eca
+ ld a, $43
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ xor a
+ ld [$FF00+$c7], a
+ ld a, $37
+ ld [$FF00+$c8], a
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; no known jump sources
+Functionc8cc3: ; c8cc3 (32:4cc3)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, Functionc8cdd
+ ld d, $6
+ call Functionc905d
+ call Functionc900b
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ ret
+
+; known jump sources: c8cca (32:4cca)
+Functionc8cdd: ; c8cdd (32:4cdd)
+ call Functionc8f0a
+ ret
+
+; no known jump sources
+Functionc8ce1: ; c8ce1 (32:4ce1)
+ call Functionc8d0b
+ jr c, .asm_c8cea
+ bit 7, a
+ jr z, .asm_c8ceb
+.asm_c8cea
+ xor a
+.asm_c8ceb
+ push af
+ call DelayFrame
+ pop af
+ ld [hSCY], a ; $ff00+$d0
+ xor $ff
+ inc a
+ ld [$d314], a
+ ret
+
+; no known jump sources
+Functionc8cf9: ; c8cf9 (32:4cf9)
+ call Functionc8d0b
+ jr nc, .asm_c8cff
+ xor a
+.asm_c8cff
+ ld [hSCX], a ; $ff00+$cf
+ ret
+
+; no known jump sources
+Functionc8d02: ; c8d02 (32:4d02)
+ call Functionc8d0b
+ jr nc, .asm_c8d08
+ xor a
+.asm_c8d08
+ ld [hSCY], a ; $ff00+$d0
+ ret
+
+; known jump sources: c8ce1 (32:4ce1), c8cf9 (32:4cf9), c8d02 (32:4d02)
+Functionc8d0b: ; c8d0b (32:4d0b)
+ ld hl, $1
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_c8d18
+ call EndBattleBGEffect
+ scf
+ ret
+.asm_c8d18
+ dec [hl]
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ and $f
+ jr z, .asm_c8d2a
+ dec [hl]
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and a
+ ret
+.asm_c8d2a
+ ld a, [hl]
+ swap a
+ or [hl]
+ ld [hl], a
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ and a
+ ret
+
+; no known jump sources
+Functionc8d3a: ; c8d3a (32:4d3a)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, .asm_c8d53
+ ld d, $6
+ call Functionc905d
+ ld [hSCX], a ; $ff00+$cf
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ ret
+.asm_c8d53
+ xor a
+ ld [hSCX], a ; $ff00+$cf
+ ret
+
+; known jump sources: c8130 (32:4130), c8144 (32:4144), c8158 (32:4158), c817e (32:417e), c8198 (32:4198), c81a8 (32:41a8)
+Functionc8d57: ; c8d57 (32:4d57)
+ ld hl, $1
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_c8d69
+
+ dec [hl]
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ call Functionc8eb2
+ ret
+
+.asm_c8d69
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ ld hl, $1
+ add hl, bc
+ ld [hl], a
+ call Functionc8eac
+ ret
+
+; known jump sources: c8beb (32:4beb), c8bf5 (32:4bf5), c8c00 (32:4c00), c8c0b (32:4c0b), c8c17 (32:4c17), c8c23 (32:4c23), c8c33 (32:4c33), c8c3f (32:4c3f), c8c58 (32:4c58)
+Functionc8d77: ; c8d77 (32:4d77)
+ ld a, [hCGB] ; $ff00+$e6
+ and a
+ jr nz, asm_c8dd4
+ push de
+ ld de, Jumptable_c8d85
+ call Functionc80ca
+ pop de
+ jp [hl]
+
+; no known jump sources
+Jumptable_c8d85: ; c8d85 (32:4d85)
+ dw Functionc8d8b
+ dw Functionc8daa
+ dw Functionc8dc9
+
+
+; no known jump sources
+Functionc8d8b: ; c8d8b (32:4d8b)
+ call Functionc80e5
+ ld a, $e4
+ call Functionc8ecb
+ ld a, $47
+ call Functionc8ede
+ ld a, [$FF00+$c8]
+ inc a
+ ld [$FF00+$c8], a
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld [hl], $0
+ ld hl, $2
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8daa: ; c8daa (32:4daa)
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and $f
+ jr z, .asm_c8db5
+ dec [hl]
+ ret
+.asm_c8db5
+ ld a, [hl]
+ swap a
+ or [hl]
+ ld [hl], a
+ call Functionc8eac
+ jr c, .asm_c8dc3
+ call Functionc900b
+ ret
+.asm_c8dc3
+ ld hl, $3
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionc8dc9: ; c8dc9 (32:4dc9)
+ call Functionc8f19
+ ld a, $e4
+ ld [rBGP], a ; $ff00+$47
+ call EndBattleBGEffect
+ ret
+asm_c8dd4: ; c8dd4 (32:4dd4)
+ push de
+ ld de, Jumptable_c8ddd
+ call Functionc80ca
+ pop de
+ jp [hl]
+
+; no known jump sources
+Jumptable_c8ddd: ; c8ddd (32:4ddd)
+ dw Functionc8de7
+ dw Functionc8e02
+ dw Functionc8e21
+ dw Functionc8e2a
+ dw Functionc8e49
+
+
+; no known jump sources
+Functionc8de7: ; c8de7 (32:4de7)
+ call Functionc9038
+ jr nz, .asm_c8df2
+ call Functionc80e5
+ call Functionc80e5
+.asm_c8df2
+ call Functionc80e5
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ ld [hl], $0
+ ld hl, $2
+ add hl, bc
+ ld [hl], a
+ ret
+
+; no known jump sources
+Functionc8e02: ; c8e02 (32:4e02)
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and $f
+ jr z, .asm_c8e0d
+ dec [hl]
+ ret
+.asm_c8e0d
+ ld a, [hl]
+ swap a
+ or [hl]
+ ld [hl], a
+ call Functionc8eac
+ jr c, .asm_c8e1b
+ call Functionc8e52
+ ret
+.asm_c8e1b
+ ld hl, $3
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionc8e21: ; c8e21 (32:4e21)
+ ld a, $e4
+ call Functionc8e52
+ call EndBattleBGEffect
+ ret
+
+; no known jump sources
+Functionc8e2a: ; c8e2a (32:4e2a)
+ ld hl, $2
+ add hl, bc
+ ld a, [hl]
+ and $f
+ jr z, .asm_c8e35
+ dec [hl]
+ ret
+.asm_c8e35
+ ld a, [hl]
+ swap a
+ or [hl]
+ ld [hl], a
+ call Functionc8eac
+ jr c, .asm_c8e43
+ call Functionc8e7f
+ ret
+.asm_c8e43
+ ld hl, $3
+ add hl, bc
+ dec [hl]
+ ret
+
+; no known jump sources
+Functionc8e49: ; c8e49 (32:4e49)
+ ld a, $e4
+ call Functionc8e7f
+ call EndBattleBGEffect
+ ret
+
+; known jump sources: c8e17 (32:4e17), c8e23 (32:4e23)
+Functionc8e52: ; c8e52 (32:4e52)
+ ld h, a
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld a, h
+ push bc
+ push af
+ ld hl, BGPals ; $d080
+ ld de, Unkn1Pals ; $d000
+ ld b, a
+ ld c, $1
+ call CopyPals
+ ld hl, $d0c8
+ ld de, $d048
+ pop af
+ ld b, a
+ ld c, $1
+ call CopyPals
+ pop bc
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ld a, $1
+ ld [hCGBPalUpdate], a ; $ff00+$e5
+ ret
+
+; known jump sources: c8e3f (32:4e3f), c8e4b (32:4e4b)
+Functionc8e7f: ; c8e7f (32:4e7f)
+ ld h, a
+ ld a, [rSVBK] ; $ff00+$70
+ push af
+ ld a, $5
+ ld [rSVBK], a ; $ff00+$70
+ ld a, h
+ push bc
+ push af
+ ld hl, $d088
+ ld de, $d008
+ ld b, a
+ ld c, $1
+ call CopyPals
+ ld hl, OBPals ; $d0c0
+ ld de, MartPointer ; $d040 (aliases: Unkn2Pals)
+ pop af
+ ld b, a
+ ld c, $1
+ call CopyPals
+ pop bc
+ pop af
+ ld [rSVBK], a ; $ff00+$70
+ ld a, $1
+ ld [hCGBPalUpdate], a ; $ff00+$e5
+ ret
+
+; known jump sources: c8d73 (32:4d73), c8dba (32:4dba), c8e12 (32:4e12), c8e3a (32:4e3a)
+Functionc8eac: ; c8eac (32:4eac)
+ ld hl, $3
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+
+; known jump sources: c8d65 (32:4d65)
+Functionc8eb2: ; c8eb2 (32:4eb2)
+ ld l, a
+ ld h, $0
+ add hl, de
+ ld a, [hl]
+ cp $ff
+ jr z, .asm_c8ec8
+ cp $fe
+ jr nz, .asm_c8ec6
+ ld a, [de]
+ ld hl, $3
+ add hl, bc
+ ld [hl], $0
+.asm_c8ec6
+ and a
+ ret
+.asm_c8ec8
+ scf
+ ret
+
+; known jump sources: c85a5 (32:45a5), c85c2 (32:45c2), c85fc (32:45fc), c8613 (32:4613), c864b (32:464b), c866e (32:466e), c869b (32:469b), c8715 (32:4715), c876d (32:476d), c87b5 (32:47b5), c8813 (32:4813), c8845 (32:4845), c88f9 (32:48f9), c8936 (32:4936), c8970 (32:4970), c89c1 (32:49c1), c89fa (32:49fa), c8ad6 (32:4ad6), c8c6b (32:4c6b), c8cae (32:4cae), c8f0f (32:4f0f), c8f2a (32:4f2a)
+Functionc8eca: ; c8eca (32:4eca)
+ xor a
+
+; known jump sources: c8a4e (32:4a4e), c8b13 (32:4b13), c8d90 (32:4d90)
+Functionc8ecb: ; c8ecb (32:4ecb)
+ ld hl, CurMartEnd ; $d100 (aliases: LYOverrides)
+ ld e, $99
+.asm_c8ed0
+ ld [hli], a
+ dec e
+ jr nz, .asm_c8ed0
+ ld hl, $d200
+ ld e, $91
+.asm_c8ed9
+ ld [hli], a
+ dec e
+ jr nz, .asm_c8ed9
+ ret
+
+; known jump sources: c85c7 (32:45c7), c8650 (32:4650), c8673 (32:4673), c86a0 (32:46a0), c871a (32:471a), c8772 (32:4772), c87ba (32:47ba), c8818 (32:4818), c88fe (32:48fe), c893b (32:493b), c8975 (32:4975), c89c6 (32:49c6), c8a53 (32:4a53), c8adb (32:4adb), c8c70 (32:4c70), c8d95 (32:4d95)
+Functionc8ede: ; c8ede (32:4ede)
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ call Functionc9038
+ jr nz, .asm_c8eea
+ ld de, $36
+ jr .asm_c8eed
+.asm_c8eea
+ ld de, $2f5e
+.asm_c8eed
+ ld a, d
+ ld [$FF00+$c7], a
+ ld a, e
+ ld [$FF00+$c8], a
+ ret
+
+; known jump sources: c884a (32:484a), c89ff (32:49ff)
+Functionc8ef4: ; c8ef4 (32:4ef4)
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ call Functionc9038
+ jr nz, .asm_c8f00
+ ld de, $36
+ jr .asm_c8f03
+.asm_c8f00
+ ld de, $2d5e
+.asm_c8f03
+ ld a, d
+ ld [$FF00+$c7], a
+ ld a, e
+ ld [$FF00+$c8], a
+ ret
+
+; known jump sources: c8561 (32:4561), c85be (32:45be), c8603 (32:4603), c863b (32:463b), c865e (32:465e), c8685 (32:4685), c8705 (32:4705), c875d (32:475d), c87a3 (32:47a3), c8801 (32:4801), c8833 (32:4833), c8865 (32:4865), c88f2 (32:48f2), c8926 (32:4926), c8960 (32:4960), c89b1 (32:49b1), c89ea (32:49ea), c8a36 (32:4a36), c8afc (32:4afc), c8c9e (32:4c9e), c8cdd (32:4cdd)
+Functionc8f0a: ; c8f0a (32:4f0a)
+ xor a
+ ld [$FF00+$c7], a
+ ld [$FF00+$c8], a
+ call Functionc8eca
+ xor a
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ call EndBattleBGEffect
+ ret
+
+; known jump sources: c8aac (32:4aac), c8b60 (32:4b60), c8dc9 (32:4dc9)
+Functionc8f19: ; c8f19 (32:4f19)
+ xor a
+ ld [hLCDStatCustom], a ; $ff00+$c6
+ ld a, $e4
+ ld [rBGP], a ; $ff00+$47
+ ld [$cfc7], a
+ ld [$cfc9], a
+ ld [$FF00+$c7], a
+ ld [$FF00+$c8], a
+ call Functionc8eca
+ ret
+
+; known jump sources: c85b6 (32:45b6), c8624 (32:4624), c8656 (32:4656), c867d (32:467d), c8724 (32:4724), c89d6 (32:49d6), c89e6 (32:49e6), c8af8 (32:4af8)
+Functionc8f2e: ; c8f2e (32:4f2e)
+ push bc
+ xor a
+ ld [$d419], a
+ ld a, e
+ ld [$d41a], a
+ ld a, d
+ ld [$d41b], a
+ ld a, $80
+ ld [$d41c], a
+ ld bc, $d200
+.asm_c8f43
+ ld a, [$FF00+$c7]
+ cp c
+ jr nc, .asm_c8f58
+ ld a, [$FF00+$c8]
+ cp c
+ jr c, .asm_c8f58
+ ld a, [$d41b]
+ ld d, a
+ ld a, [$d419]
+ call Functionc905d
+ ld [bc], a
+.asm_c8f58
+ inc bc
+ ld a, [$d41a]
+ ld hl, $d419
+ add [hl]
+ ld [hl], a
+ ld hl, $d41c
+ dec [hl]
+ jr nz, .asm_c8f43
+ pop bc
+ ret
+
+; known jump sources: c8554 (32:4554)
+Functionc8f69: ; c8f69 (32:4f69)
+ push bc
+ xor a
+ ld [$d419], a
+ ld a, e
+ ld [$d41a], a
+ ld a, d
+ ld [$d41b], a
+ ld a, $40
+ ld [$d41c], a
+ ld bc, $d422
+.asm_c8f7e
+ ld a, [$d41b]
+ ld d, a
+ ld a, [$d419]
+ call Functionc905d
+ ld [bc], a
+ inc bc
+ ld a, [$d41a]
+ ld hl, $d419
+ add [hl]
+ ld [hl], a
+ ld hl, $d41c
+ dec [hl]
+ jr nz, .asm_c8f7e
+ pop bc
+ ret
+
+; known jump sources: c85f8 (32:45f8)
+Functionc8f9a: ; c8f9a (32:4f9a)
+ push bc
+ ld [$d41c], a
+ ld a, e
+ ld [$d41a], a
+ ld a, d
+ ld [$d41b], a
+ call Functionc8fe4
+ ld hl, $d200
+ add hl, de
+ ld c, l
+ ld b, h
+.asm_c8faf
+ ld a, [$d41c]
+ and a
+ jr z, .asm_c8fe1
+ dec a
+ ld [$d41c], a
+ push af
+ ld a, [$d41b]
+ ld d, a
+ ld a, [$d41a]
+ push hl
+ call Functionc905d
+ ld e, a
+ pop hl
+ ld a, [$FF00+$c8]
+ cp c
+ jr c, .asm_c8fcf
+ ld a, e
+ ld [bc], a
+ inc bc
+.asm_c8fcf
+ ld a, [$FF00+$c7]
+ cp l
+ jr nc, .asm_c8fd6
+ ld [hl], e
+ dec hl
+.asm_c8fd6
+ ld a, [$d41a]
+ add $4
+ ld [$d41a], a
+ pop af
+ jr .asm_c8faf
+.asm_c8fe1
+ pop bc
+ and a
+ ret
+
+; known jump sources: c8fa6 (32:4fa6)
+Functionc8fe4: ; c8fe4 (32:4fe4)
+ ld a, [$FF00+$c7]
+ ld e, a
+ ld a, [$d419]
+ add e
+ ld e, a
+ ld d, $0
+ ret
+
+; known jump sources: c85ba (32:45ba), c8637 (32:4637), c865a (32:465a), c8681 (32:4681)
+Functionc8fef: ; c8fef (32:4fef)
+ push bc
+ ld a, [$FF00+$c7]
+ ld l, a
+ inc a
+ ld e, a
+ ld h, $d2
+ ld d, h
+ ld a, [$FF00+$c8]
+ sub l
+ and a
+ jr z, .asm_c9009
+ ld c, a
+ ld a, [hl]
+ push af
+.asm_c9001
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec c
+ jr nz, .asm_c9001
+ pop af
+ ld [hl], a
+.asm_c9009
+ pop bc
+ ret
+
+; known jump sources: c88b4 (32:48b4), c8954 (32:4954), c899d (32:499d), c8c9a (32:4c9a), c8cd1 (32:4cd1), c8dbf (32:4dbf)
+Functionc900b: ; c900b (32:500b)
+ push af
+ ld h, $d2
+ ld a, [$FF00+$c7]
+ ld l, a
+ ld a, [$FF00+$c8]
+ sub l
+ ld d, a
+ pop af
+.asm_c9016
+ ld [hli], a
+ dec d
+ jr nz, .asm_c9016
+ ret
+
+; known jump sources: c8790 (32:4790), c87f7 (32:47f7), c8a2c (32:4a2c)
+Functionc901b: ; c901b (32:501b)
+ push af
+ ld e, a
+ ld a, [$FF00+$c7]
+ ld l, a
+ ld a, [$FF00+$c8]
+ sub l
+ sub e
+ ld d, a
+ ld h, $d2
+ ld a, [$FF00+$c7]
+ ld l, a
+ ld a, $90
+.asm_c902c
+ ld [hli], a
+ dec e
+ jr nz, .asm_c902c
+ pop af
+ xor $ff
+.asm_c9033
+ ld [hli], a
+ dec d
+ jr nz, .asm_c9033
+ ret
+
+; known jump sources: c81c4 (32:41c4), c81f3 (32:41f3), c8234 (32:4234), c825e (32:425e), c82a1 (32:42a1), c82cb (32:42cb), c8305 (32:4305), c837b (32:437b), c83a8 (32:43a8), c8826 (32:4826), c8858 (32:4858), c890c (32:490c), c8b39 (32:4b39), c8de7 (32:4de7), c8ee0 (32:4ee0), c8ef6 (32:4ef6)
+Functionc9038: ; c9038 (32:5038)
+ ld hl, $2
+ add hl, bc
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and $1
+ xor [hl]
+ ret
+
+; known jump sources: c81ea (32:41ea), c8223 (32:4223), c8290 (32:4290)
+Functionc9042: ; c9042 (32:5042)
+ ld hl, $2
+ add hl, bc
+ ld a, [hBattleTurn] ; $ff00+$e4
+ and $1
+ xor [hl]
+ jr nz, .asm_c9053
+ ld a, [EnemySubStatus3] ; $c66f
+ and $60
+ ret
+.asm_c9053
+ ld a, [PlayerSubStatus3] ; $c66a
+ and $60
+ ret
+
+; known jump sources: c8171 (32:4171), c818b (32:418b)
+Functionc9059: ; c9059 (32:5059)
+ ld a, [hSGB] ; $ff00+$e7
+ and a
+ ret
+
+; known jump sources: c86d6 (32:46d6), c8951 (32:4951), c898c (32:498c), c8997 (32:4997), c8cce (32:4cce), c8d45 (32:4d45), c8f54 (32:4f54), c8f85 (32:4f85), c8fc2 (32:4fc2)
+Functionc905d: ; c905d (32:505d)
+ ld e, a
+ callab Functionce765
+ ld a, e
+ ret
+
+; known jump sources: c8a24 (32:4a24)
+Functionc9066: ; c9066 (32:5066)
+ ld e, a
+ callab Functionce76b
+ ld a, e
+ ret
+; c906f (32:506f)
+
+