summaryrefslogtreecommitdiff
path: root/mobile/mobile_46.asm
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/mobile_46.asm')
-rwxr-xr-xmobile/mobile_46.asm7986
1 files changed, 7986 insertions, 0 deletions
diff --git a/mobile/mobile_46.asm b/mobile/mobile_46.asm
new file mode 100755
index 000000000..48fed0f33
--- /dev/null
+++ b/mobile/mobile_46.asm
@@ -0,0 +1,7986 @@
+SECTION "bank46", ROMX
+
+Function118000: ; 118000
+ ld a, $1
+ ld [wcd38], a
+ jr asm_11800b
+
+Function118007: ; 118007
+ xor a
+ ld [wcd38], a
+
+asm_11800b
+ call BattleTowerRoomMenu_InitRAM
+ ld a, $18
+ ld [wcd33], a
+ ld a, $19
+ ld [wcd34], a
+ ld a, $4
+ ld [wc3f0], a
+ ld a, [rSVBK]
+ push af
+ ld a, $3
+ ld [rSVBK], a
+.loop
+ call JoyTextDelay
+ call Function118473
+ ld a, [wcf66]
+ cp $1b
+ jr c, .skip
+ ld a, [wcd34]
+ ld [wcf66], a
+
+.skip
+ call Function1184a5
+ call BattleTowerRoomMenu_WriteMessage
+ callba Function115dd3
+ callba Function11619d
+ call DelayFrame
+ ld a, [wcf66]
+ ld hl, wcd33
+ cp [hl]
+ jr nz, .loop
+ pop af
+ ld [rSVBK], a
+ call BattleTowerRoomMenu_Cleanup
+ call ReturnToMapFromSubmenu
+BattleTowerRoomMenu_DoNothing: ; 11805e (46:405e)
+ ret
+; 11805f
+
+Function11805f: ; 11805f
+ ld a, $1
+ ld [wcd38], a
+ call BattleTowerRoomMenu_InitRAM
+ ld a, $18
+ ld [wcd33], a
+ ld a, $19
+ ld [wcd34], a
+ ld a, $4
+ ld [wc3f0], a
+ ld a, [rSVBK]
+ push af
+ ld a, $3
+ ld [rSVBK], a
+.asm_11807d
+ call JoyTextDelay
+ call Function118473
+ ld a, [wcf66]
+ cp $1b
+ jr c, .asm_118090
+ ld a, [wcd34]
+ ld [wcf66], a
+
+.asm_118090
+ call Function11857c
+ call BattleTowerRoomMenu_WriteMessage
+ callba Function115dd3
+ callba Function11619d
+ call DelayFrame
+ ld a, [wcf66]
+ ld hl, wcd33
+ cp [hl]
+ jr nz, .asm_11807d
+ pop af
+ ld [rSVBK], a
+ call BattleTowerRoomMenu_Cleanup
+ call ReturnToMapFromSubmenu
+ ret
+; 1180b8
+
+Function1180b8: ; 1180b8
+ call BattleTowerRoomMenu_InitRAM
+ ld a, $22
+ ld [wcd33], a
+ ld a, $23
+ ld [wcd34], a
+ ld a, $4
+ ld [wc3f0], a
+ ld a, [rSVBK]
+ push af
+ ld a, $3
+ ld [rSVBK], a
+.asm_1180d1
+ call JoyTextDelay
+ call Function118473
+ ld a, [wcf66]
+ cp $28
+ jr c, .asm_1180e4
+ ld a, [wcd34]
+ ld [wcf66], a
+
+.asm_1180e4
+ ld a, [wcf66]
+ cp $10
+ jr c, .asm_1180f2
+ cp $16
+ jr nc, .asm_1180f2
+ call Function11884c
+
+.asm_1180f2
+ call Function1184ec
+ call BattleTowerRoomMenu_WriteMessage
+ callba Function115dd3
+ callba Function11619d
+ call DelayFrame
+ ld a, [wcf66]
+ ld hl, wcd33
+ cp [hl]
+ jr nz, .asm_1180d1
+ pop af
+ ld [rSVBK], a
+ call BattleTowerRoomMenu_Cleanup
+ call ReturnToMapFromSubmenu
+ ret
+; 11811a
+
+Function11811a: ; 11811a
+ ld a, 1
+ ld [wcd38], a
+ jr Function118125
+
+_BattleTowerRoomMenu: ; 118121
+ xor a
+ ld [wcd38], a
+Function118125: ; 118125
+ call BattleTowerRoomMenu_InitRAM
+ ld a, $3
+ ld [wcd33], a
+ ld a, $d
+ ld [wcd34], a
+ ld a, $4
+ ld [wc3f0], a
+ ld a, [rSVBK]
+ push af
+ ld a, $3
+ ld [rSVBK], a
+.loop
+ call JoyTextDelay
+ call Function118473
+ ld a, [wcf66]
+ cp $f
+ jr c, .skip
+ ld a, [wcd34]
+ ld [wcf66], a
+.skip
+ call BattleTowerRoomMenu_Jumptable
+ call BattleTowerRoomMenu_WriteMessage
+ callba Function115dd3
+ callba Function11619d
+ call DelayFrame
+ ld a, [wcf66]
+ ld hl, wcd33
+ cp [hl]
+ jr nz, .loop
+ xor a
+ ld [w3_d000], a
+ pop af
+ ld [rSVBK], a
+ call BattleTowerRoomMenu_Cleanup
+ call Function118180
+ call ReturnToMapFromSubmenu
+ ret
+; 118180
+
+Function118180: ; 118180
+ ld a, [ScriptVar]
+ and a
+ ret nz
+ ld a, [wcd38]
+ and a
+ ret z
+ ld a, $5
+ call GetSRAMBank
+ ld hl, wcd69
+ ld de, $a89c
+ ld bc, $0016
+ call CopyBytes
+
+ ld a, [rSVBK]
+ push af
+ ld a, $3
+ ld [rSVBK], a
+
+ ld de, w3_d202
+ ld c, $96
+ callba CheckStringForErrors_IgnoreTerminator
+ jr c, .return_d3
+
+ ld de, w3_d202
+ lb bc, 1, $96
+ callba CheckStringContainsLessThanBNextCharacters
+ jr c, .return_d3
+
+ ld hl, w3_d202
+ ld de, $a8b2
+ ld bc, $0096
+ call CopyBytes
+.reset_banks
+ pop af
+ ld [rSVBK], a
+ call CloseSRAM
+ ret
+
+.return_d3
+ ld a, $d3
+ ld [wc300], a
+ ld [ScriptVar], a
+ jr .reset_banks
+; 1181da
+
+Function1181da: ; 1181da
+ call BattleTowerRoomMenu_InitRAM
+ ld a, $2
+ ld [wcd38], a
+ ld a, $21
+ ld [wcd33], a
+ ld a, $22
+ ld [wcd34], a
+ ld a, $4
+ ld [wc3f0], a
+ ld a, [rSVBK]
+ push af
+ ld a, $3
+ ld [rSVBK], a
+.asm_1181f8
+ call JoyTextDelay
+ call Function118473
+ ld a, [wcf66]
+ cp $28
+ jr c, .asm_11820b
+ ld a, [wcd34]
+ ld [wcf66], a
+
+.asm_11820b
+ call Function1185c3
+ call BattleTowerRoomMenu_WriteMessage
+ callba Function115dd3
+ callba Function11619d
+ call DelayFrame
+ ld a, [wcf66]
+ ld hl, wcd33
+ cp [hl]
+ jr nz, .asm_1181f8
+ pop af
+ ld [rSVBK], a
+ call BattleTowerRoomMenu_Cleanup
+ call ReturnToMapFromSubmenu
+ ret
+; 118233
+
+Function118233: ; 118233
+ call BattleTowerRoomMenu_InitRAM
+ ld a, $1b
+ ld [wcd33], a
+ ld a, $1c
+ ld [wcd34], a
+ ld a, $6
+ ld [wc3f0], a
+ ld a, [rSVBK]
+ push af
+ ld a, $3
+ ld [rSVBK], a
+.asm_11824c
+ call JoyTextDelay
+ call Function118473
+ ld a, [wcf66]
+ cp $1e
+ jr c, .asm_11825f
+ ld a, [wcd34]
+ ld [wcf66], a
+
+.asm_11825f
+ call Function118624
+ call BattleTowerRoomMenu_WriteMessage
+ callba Function115dd3
+ callba Function11619d
+ call DelayFrame
+ ld a, [wcf66]
+ ld hl, wcd33
+ cp [hl]
+ jr nz, .asm_11824c
+ pop af
+ ld [rSVBK], a
+ call BattleTowerRoomMenu_Cleanup
+ ret
+; 118284
+
+Function118284: ; 118284
+ call BattleTowerRoomMenu_InitRAM
+ ld a, $19
+ ld [wcd33], a
+ ld a, $1e
+ ld [wcd34], a
+ ld a, $5
+ ld [wc3f0], a
+ ld a, [rSVBK]
+ push af
+ ld a, $3
+ ld [rSVBK], a
+.asm_11829d
+ call JoyTextDelay
+ call Function118473
+ ld a, [wcf66]
+ cp $20
+ jr c, .asm_1182b0
+ ld a, [wcd34]
+ ld [wcf66], a
+.asm_1182b0
+ call Function1186f5
+ call BattleTowerRoomMenu_WriteMessage
+ callba Function115dd3
+ callba Function11619d
+ call DelayFrame
+ ld a, [wcf66]
+ ld hl, wcd33
+ cp [hl]
+ jr nz, .asm_11829d
+ pop af
+ ld [rSVBK], a
+ call BattleTowerRoomMenu_Cleanup
+ ret
+; 1182d5 (46:42d5)
+
+
+Function1182d5: ; 1182d5
+ call BattleTowerRoomMenu_InitRAM
+ ld a, $18
+ ld [wcd33], a
+ ld a, $19
+ ld [wcd34], a
+ ld a, $4
+ ld [wc3f0], a
+ ld a, [rSVBK]
+ push af
+ ld a, $3
+ ld [rSVBK], a
+.asm_1182ee
+ call JoyTextDelay
+ call Function118473
+ ld a, [wcf66]
+ cp $1b
+ jr c, .asm_118301
+ ld a, [wcd34]
+ ld [wcf66], a
+
+.asm_118301
+ call Function118746
+ call BattleTowerRoomMenu_WriteMessage
+ callba Function115dd3
+ callba Function11619d
+ call DelayFrame
+ ld a, [wcf66]
+ ld hl, wcd33
+ cp [hl]
+ jr nz, .asm_1182ee
+ pop af
+ ld [rSVBK], a
+ call BattleTowerRoomMenu_Cleanup
+ call ReturnToMapFromSubmenu
+ ret
+; 118329
+
+Function118329: ; 118329
+ call BattleTowerRoomMenu_InitRAM
+ ld a, $15
+ ld [wcd33], a
+ ld a, $16
+ ld [wcd34], a
+ ld a, $6
+ ld [wc3f0], a
+ ld a, [rSVBK]
+ push af
+ ld a, $3
+ ld [rSVBK], a
+.asm_118342
+ call JoyTextDelay
+ call Function118473
+ ld a, [wcf66]
+ cp $18
+ jr c, .asm_118355
+ ld a, [wcd34]
+ ld [wcf66], a
+
+.asm_118355
+ call Function118671
+ call BattleTowerRoomMenu_WriteMessage
+ callba Function115dd3
+ callba Function11619d
+ call DelayFrame
+ ld a, [wcf66]
+ ld hl, wcd33
+ cp [hl]
+ jr nz, .asm_118342
+ pop af
+ ld [rSVBK], a
+ call BattleTowerRoomMenu_Cleanup
+ ret
+; 11837a
+
+Function11837a: ; 11837a
+ call BattleTowerRoomMenu_InitRAM
+ ld a, $16
+ ld [wcd33], a
+ ld a, $17
+ ld [wcd34], a
+ ld a, $6
+ ld [wc3f0], a
+ ld a, [rSVBK]
+ push af
+ ld a, $3
+ ld [rSVBK], a
+.asm_118393
+ call JoyTextDelay
+ call Function118473
+ ld a, [wcf66]
+ cp $19
+ jr c, .asm_1183a6
+ ld a, [wcd34]
+ ld [wcf66], a
+
+.asm_1183a6
+ call Function1186b2
+ call BattleTowerRoomMenu_WriteMessage
+ callba Function115dd3
+ callba Function11619d
+ call DelayFrame
+ ld a, [wcf66]
+ ld hl, wcd33
+ cp [hl]
+ jr nz, .asm_118393
+ pop af
+ ld [rSVBK], a
+ call BattleTowerRoomMenu_Cleanup
+ ret
+; 1183cb
+
+BattleTowerRoomMenu_InitRAM: ; 1183cb
+ di
+ ld a, [rIE]
+ ld [wcd32], a
+ call DoubleSpeed
+ xor a
+ ld [rIF], a
+ ld [wc300], a
+ ld [wc301], a
+ ld [wc302], a
+ ld [wcd80], a
+ ld [wcd65], a
+ ld [wcd66], a
+ ld [wcd67], a
+ ld [wcd68], a
+ ld [$c31a], a
+ ld [wcd89], a
+ ld [wcd8a], a
+ ld [wcd8b], a
+ ld [wc3ec], a
+ ld [wc3ed], a
+ ld [wc3ee], a
+ ld [wc3ef], a
+ ld hl, VramState
+ ld a, [hl]
+ ld [wcd7f], a
+ set 1, [hl]
+ ld a, $f
+ ld [rIE], a
+ ld a, $1
+ ld [hMobileReceive], a
+ ld [hMobile], a
+ ei
+ callba MobileFunc_106462
+ callba Function106464
+ callba Function115d99
+ callba Function11615a
+ ld a, $5
+ call GetSRAMBank
+ xor a
+ ld [$bfff], a
+ call CloseSRAM
+ ret
+; 118440
+
+Function118440: ; 118440
+ push af
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$bfff]
+ inc a
+ ld [$bfff], a
+ call CloseSRAM
+ pop af
+ ret
+; 118452
+
+BattleTowerRoomMenu_Cleanup: ; 118452
+ di
+ xor a
+ ld [hMobileReceive], a
+ ld [hMobile], a
+ ld [hVBlank], a
+ call NormalSpeed
+ xor a
+ ld [rIF], a
+ ld a, [wcd32]
+ ld [rIE], a
+ ei
+ ld a, [wcd7f]
+ ld [VramState], a
+ ld a, [wc300]
+ ld [ScriptVar], a
+ ret
+; 118473
+
+Function118473: ; 118473
+ ld a, [wcd65]
+ and a
+ ret z
+ ld a, [wcd66]
+ inc a
+ ld [wcd66], a
+ cp 60
+ ret nz
+ xor a
+ ld [wcd66], a
+ ld a, [wcd67]
+ inc a
+ ld [wcd67], a
+ cp 60
+ ret nz
+ ld a, [wcd68]
+ inc a
+ ld [wcd68], a
+ cp 99
+ jr z, .ninety_nine
+ xor a
+ ld [wcd67], a
+ ret
+
+.ninety_nine
+ xor a
+ ld [wcd65], a
+ ret
+; 1184a5
+
+Function1184a5: ; 1184a5
+ jumptable .Jumptable, wcf66
+; 1184b4
+
+.Jumptable: ; 1184b4
+ dw Function11886e
+ dw Function118880
+ dw Function11878d
+ dw Function1188b0
+ dw Function11878d
+ dw Function1188b8
+ dw Function11878d
+ dw Function1188c0
+ dw Function11878d
+ dw Function1188c8
+ dw Function11878d
+ dw Function118903
+ dw Function118a8f
+ dw Function11878d
+ dw Function118d80
+ dw Function118d9b
+ dw Function11878d
+ dw Function118ded
+ dw Function118e6d
+ dw Function11878d
+ dw Function11984e
+ dw Function118e76
+ dw Function118e7e
+ dw Function11878d
+ dw BattleTowerRoomMenu_DoNothing
+ dw Function118e76
+ dw BattleTowerRoomMenu_CallRoomMenu2
+ dw Function118e76
+; 1184ec
+
+Function1184ec: ; 1184ec
+ jumptable .Jumptable, wcf66
+; 1184fb
+
+.Jumptable: ; 1184fb
+ dw Function11886e
+ dw Function118880
+ dw Function11878d
+ dw Function1188b0
+ dw Function11878d
+ dw Function1188b8
+ dw Function11878d
+ dw Function1188c0
+ dw Function11878d
+ dw Function1188c8
+ dw Function11878d
+ dw Function118903
+ dw Function119954
+ dw Function11878d
+ dw Function119973
+ dw Function11878d
+ dw Function119987
+ dw Function11878d
+ dw Function1199b4
+ dw Function1199ca
+ dw Function11878d
+ dw Function1199e2
+ dw Function119b0d
+ dw Function11878d
+ dw Function119b6b
+ dw Function119b3b
+ dw Function11878d
+ dw Function119b52
+ dw Function11878d
+ dw Function118e6d
+ dw Function11878d
+ dw Function118e76
+ dw Function118e7e
+ dw Function11878d
+ dw BattleTowerRoomMenu_DoNothing
+ dw Function118e76
+ dw BattleTowerRoomMenu_CallRoomMenu2
+ dw Function119b45
+ dw Function11878d
+ dw Function119ac9
+ dw Function118e76
+; 11854d
+
+BattleTowerRoomMenu_Jumptable: ; 11854d
+ jumptable .Jumptable, wcf66
+; 11855c
+
+.Jumptable: ; 11855c
+ dw BattleTowerRoomMenu_PickLevelMessage
+ dw BattleTowerRoomMenu_PlacePickLevelMenu
+ dw BattleTowerRoomMenu_UpdatePickLevelMenu
+ dw BattleTowerRoomMenu_DoNothing
+ dw BattleTowerRoomMenu_PartyMonTopsThisLevelMessage
+ dw BattleTowerRoomMenu_WaitForMessage
+ dw BattleTowerRoomMenu_DelayRestartMenu
+ dw BattleTowerRoomMenu_QuitMessage
+ dw BattleTowerRoomMenu_PlaceYesNoMenu
+ dw BattleTowerRoomMenu_UpdateYesNoMenu
+ dw BattleTowerRoomMenu_UberRestrictionMessage
+ dw BattleTowerRoomMenu_WaitForMessage
+ dw BattleTowerRoomMenu_DelayRestartMenu
+ dw Function118e76 ; mobile
+ dw BattleTowerRoomMenu_CallRoomMenu2 ; mobile
+ dw Function118e76 ; mobile
+; 11857c
+
+Function11857c: ; 11857c
+ jumptable .Jumptable, wcf66
+; 11858b
+
+.Jumptable: ; 11858b
+ dw Function11886e
+ dw Function118880
+ dw Function11878d
+ dw Function1188b0
+ dw Function11878d
+ dw Function1188b8
+ dw Function11878d
+ dw Function1188c0
+ dw Function11878d
+ dw Function1188c8
+ dw Function11878d
+ dw Function118903
+ dw Function118a7a
+ dw Function11878d
+ dw Function11891c
+ dw Function1198ee
+ dw Function1198f7
+ dw Function11878d
+ dw Function119937
+ dw Function118e6d
+ dw Function11878d
+ dw Function118e76
+ dw Function118e7e
+ dw Function11878d
+ dw BattleTowerRoomMenu_DoNothing
+ dw Function118e76
+ dw BattleTowerRoomMenu_CallRoomMenu2
+ dw Function118e76
+; 1185c3
+
+Function1185c3: ; 1185c3
+ jumptable .Jumptable, wcf66
+; 1185d2
+
+.Jumptable: ; 1185d2
+ dw Function11886e
+ dw Function118880
+ dw Function11878d
+ dw Function1188b0
+ dw Function11878d
+ dw Function1188b8
+ dw Function11878d
+ dw Function1188c0
+ dw Function11878d
+ dw Function1188c8
+ dw Function11878d
+ dw Function118903
+ dw Function118aa4
+ dw Function11878d
+ dw Function118e92
+ dw Function11878d
+ dw Function118eb0
+ dw Function118ec6
+ dw Function118f0d
+ dw Function118f14
+ dw Function118f5e
+ dw Function11878d
+ dw Function118fc0
+ dw Function11878d
+ dw Function119054
+ dw Function1190d0
+ dw Function11878d
+ dw Function1190ec
+ dw Function118e6d
+ dw Function11878d
+ dw Function118e76
+ dw Function118e7e
+ dw Function11878d
+ dw BattleTowerRoomMenu_DoNothing
+ dw Function118e76
+ dw BattleTowerRoomMenu_CallRoomMenu2
+ dw BattleTowerRoomMenu_QuitMessage
+ dw BattleTowerRoomMenu_PlaceYesNoMenu
+ dw BattleTowerRoomMenu_UpdateYesNoMenu
+ dw Function11914e
+ dw Function118e76
+; 118624
+
+Function118624: ; 118624
+ jumptable .Jumptable, wcf66
+; 118633
+
+.Jumptable: ; 118633
+ dw Function118866
+ dw Function118880
+ dw Function11878d
+ dw Function1188b0
+ dw Function11878d
+ dw Function1188b8
+ dw Function11878d
+ dw Function1188c0
+ dw Function11878d
+ dw Function1188c8
+ dw Function11878d
+ dw Function118903
+ dw Function118aa4
+ dw Function11878d
+ dw Function118e92
+ dw Function11878d
+ dw Function11915d
+ dw Function118f68
+ dw Function11878d
+ dw Function119009
+ dw Function11878d
+ dw Function119054
+ dw Function118e6d
+ dw Function11878d
+ dw Function118e76
+ dw Function118e7e
+ dw Function11878d
+ dw BattleTowerRoomMenu_DoNothing
+ dw Function118e76
+ dw BattleTowerRoomMenu_CallRoomMenu2
+ dw Function118e76
+; 118671
+
+Function118671: ; 118671
+ jumptable .Jumptable, wcf66
+; 118680
+
+.Jumptable: ; 118680
+ dw Function118866
+ dw Function118880
+ dw Function11878d
+ dw Function1188b0
+ dw Function11878d
+ dw Function1188b8
+ dw Function11878d
+ dw Function1188c0
+ dw Function11878d
+ dw Function1188c8
+ dw Function11878d
+ dw Function118903
+ dw Function119380
+ dw Function119388
+ dw Function1193a0
+ dw Function11878d
+ dw Function118e6d
+ dw Function11878d
+ dw Function118e76
+ dw Function118e7e
+ dw Function11878d
+ dw BattleTowerRoomMenu_DoNothing
+ dw Function118e76
+ dw BattleTowerRoomMenu_CallRoomMenu2
+ dw Function118e76
+; 1186b2
+
+Function1186b2: ; 1186b2
+ jumptable .Jumptable, wcf66
+; 1186c1
+
+.Jumptable: ; 1186c1
+ dw Function118866
+ dw Function118880
+ dw Function11878d
+ dw Function1188b0
+ dw Function11878d
+ dw Function1188b8
+ dw Function11878d
+ dw Function1188c0
+ dw Function11878d
+ dw Function1188c8
+ dw Function11878d
+ dw Function118903
+ dw Function119380
+ dw Function1193e3
+ dw Function1193fb
+ dw Function11878d
+ dw Function119413
+ dw Function118e6d
+ dw Function11878d
+ dw Function118e76
+ dw Function118e7e
+ dw Function11878d
+ dw BattleTowerRoomMenu_DoNothing
+ dw Function118e76
+ dw BattleTowerRoomMenu_CallRoomMenu2
+ dw Function118e76
+; 1186f5
+
+Function1186f5: ; 1186f5 (46:46f5)
+ jumptable .Jumptable, wcf66
+; 118704 (46:4704)
+
+.Jumptable: ; 118704 (46:4704)
+ dw Function11886a
+ dw Function118880
+ dw Function11878d
+ dw Function1188b0
+ dw Function11878d
+ dw Function1188b8
+ dw Function11878d
+ dw Function1188c0
+ dw Function11878d
+ dw Function1188c8
+ dw Function11878d
+ dw Function118903
+ dw Function118abc
+ dw Function11878d
+ dw Function119451
+ dw Function1195f8
+ dw Function119612
+ dw Function119629
+ dw Function119648
+ dw Function11878d
+ dw Function118e6d
+ dw Function11878d
+ dw Function118e76
+ dw Function118e7e
+ dw Function11878d
+ dw BattleTowerRoomMenu_DoNothing
+ dw Function11967d
+ dw Function119685
+ dw Function119665
+ dw Function11966d
+ dw Function118e76
+ dw BattleTowerRoomMenu_CallRoomMenu2
+ dw Function118e76
+; 118746 (46:4746)
+
+Function118746: ; 118746
+ jumptable .Jumptable, wcf66
+; 118755
+
+.Jumptable: ; 118755
+ dw Function11886e
+ dw Function118880
+ dw Function11878d
+ dw Function1188b0
+ dw Function11878d
+ dw Function1188b8
+ dw Function11878d
+ dw Function1188c0
+ dw Function11878d
+ dw Function1188c8
+ dw Function11878d
+ dw Function118903
+ dw Function118ad0
+ dw Function11878d
+ dw Function1196f2
+ dw Function1197c9
+ dw Function1197dc
+ dw Function11878d
+ dw Function118e6d
+ dw Function11878d
+ dw Function119800
+ dw Function118e76
+ dw Function118e7e
+ dw Function11878d
+ dw BattleTowerRoomMenu_DoNothing
+ dw Function118e76
+ dw BattleTowerRoomMenu_CallRoomMenu2
+ dw Function118e76
+; 11878d
+
+Function11878d: ; 11878d (46:478d)
+ ld a, [wc821]
+ bit 1, a
+ jr nz, .asm_1187af
+ bit 2, a
+ jr nz, .asm_1187d1
+ bit 0, a
+ jr nz, .asm_1187aa
+ ld a, [wcd89]
+ and $1
+ jr z, .asm_1187a7
+ ld a, $3
+ ld [rSVBK], a
+.asm_1187a7
+ jp BattleTowerRoomMenu_IncrementJumptable
+.asm_1187aa
+ call Function118821
+ ret c
+ ret
+.asm_1187af
+ ld a, $0
+ call Function3e32
+ ld [wc300], a
+ ld a, l
+ ld [wc301], a
+ ld a, h
+ ld [wc302], a
+ ld a, $a
+ call Function3e32
+ ld a, [wc3f0]
+ ld [$c319], a
+ ld a, [wcd34]
+ ld [wcf66], a
+ ret
+.asm_1187d1
+ ld hl, wcd89
+ bit 0, [hl]
+ jr nz, .asm_118803
+ set 0, [hl]
+ ld a, $6
+ ld [rSVBK], a
+ ld de, w3_d000
+ ld bc, $1000
+ ld a, [hl]
+ sla a
+ jr c, .asm_1187f9
+ sla a
+ jr c, .asm_1187fd
+ sla a
+ jr c, .asm_1187f5
+ ld a, $24
+ jr .asm_1187ff
+.asm_1187f5
+ ld a, $28
+ jr .asm_1187ff
+.asm_1187f9
+ ld a, $2a
+ jr .asm_1187ff
+.asm_1187fd
+ ld a, $2c
+.asm_1187ff
+ call Function3e32
+ ret
+.asm_118803
+ ld a, $d3
+
+Function118805: ; 118805 (46:4805)
+ ld [wc300], a
+ xor a
+ ld [wc301], a
+ ld [wc302], a
+ ld a, $a
+ call Function3e32
+ ld a, [wc3f0]
+ ld [$c319], a
+ ld a, [wcd34]
+ ld [wcf66], a
+ ret
+
+Function118821: ; 118821 (46:4821)
+ ld a, [$c319]
+ cp $3
+ jr c, .asm_11884a
+ cp $4
+ jr z, .asm_11884a
+ ld a, [hJoyDown]
+ cp $5
+ jr nz, .asm_11884a
+ ld a, $a
+ call Function3e32
+ ld a, $a
+ ld [wc300], a
+ ld a, [wc3f0]
+ ld [$c319], a
+ ld a, [wcd34]
+ ld [wcf66], a
+ scf
+ ret
+.asm_11884a
+ and a
+ ret
+; 11884c (46:484c)
+
+Function11884c: ; 11884c
+ ld a, [hJoyDown]
+ cp $5
+ jr nz, .asm_118864
+ ld a, $a
+ call Function3e32
+ ld a, $a
+ ld [wc300], a
+ ld a, [wcd34]
+ ld [wcf66], a
+ scf
+ ret
+
+.asm_118864
+ and a
+ ret
+; 118866
+
+Function118866:
+ ld a, 2
+ jr asm_11886f
+
+Function11886a: ; 11886a (46:486a)
+ ld a, 1
+ jr asm_11886f
+; 11886e (46:486e)
+
+Function11886e:
+ xor a
+
+asm_11886f
+ ld [BGMapPalBuffer], a
+ ld a, $0
+ ld [wcd3c], a
+ call BattleTowerRoomMenu_IncrementJumptable
+ ld a, [wcd33]
+ ld [wMobileInactivityTimerSeconds], a
+
+Function118880: ; 118880 (46:4880)
+ call BattleTowerRoomMenu2
+ ret c
+ xor a
+ ld [wcf64], a
+ ld [wc807], a
+ ld de, wcd81
+ ld hl, $46
+ ld a, $2
+ jp Function119e2b
+; 118896 (46:4896)
+
+Function118896: ; 118896
+ ld a, [wc821]
+ bit 1, a
+ jr nz, .asm_1188a5
+ bit 2, a
+ jr nz, .asm_1188a5
+ bit 0, a
+ jr z, .asm_1188aa
+
+.asm_1188a5
+ ld a, $34
+ jp Function119e2b
+
+.asm_1188aa
+ call BattleTowerRoomMenu_IncrementJumptable
+ jp BattleTowerRoomMenu_IncrementJumptable
+; 1188b0
+
+Function1188b0: ; 1188b0 (46:48b0)
+ ld de, $c346
+ ld a, $c
+ jp Function119e2b
+
+Function1188b8: ; 1188b8 (46:48b8)
+ ld de, wc3ac
+ ld a, $e
+ jp Function119e2b
+
+Function1188c0: ; 1188c0 (46:48c0)
+ ld de, wc3cd
+ ld a, $10
+ jp Function119e2b
+
+Function1188c8: ; 1188c8 (46:48c8)
+ ld a, $1
+ ld [wcd65], a
+ call Function1188e7
+ ld hl, $c708
+.asm_1188d3
+ ld a, [de]
+ inc de
+ ld [hli], a
+ and a
+ jr nz, .asm_1188d3
+ call Function119eb4
+ call Function119ec2
+ ld hl, $c708
+ ld a, $6
+ jp Function119e2b
+
+Function1188e7: ; 1188e7 (46:48e7)
+ ld de, $c346
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$aa4a]
+ call CloseSRAM
+ and a
+ ret z
+ sla a
+ ld c, a
+.asm_1188fa
+ ld a, [de]
+ inc de
+ and a
+ jr nz, .asm_1188fa
+ dec c
+ jr nz, .asm_1188fa
+ ret
+
+Function118903: ; 118903 (46:4903)
+ ld a, [wc3f0]
+ ld [$c319], a
+ ld c, $1
+ callba Function115e18
+ ld a, $8
+ ld [wcd3c], a
+ call BattleTowerRoomMenu2
+ jp BattleTowerRoomMenu_IncrementJumptable
+
+
+Function11891c: ; 11891c
+ call Function118b42
+ jp BattleTowerRoomMenu_IncrementJumptable
+
+
+BattleTowerRoomMenu_PickLevelMessage: ; 118922
+ ld a, [wcd38]
+ and a
+ jr nz, .asm_11892d
+ ld hl, Text_WhatLevelDoYouWantToChallenge
+ jr .asm_118930
+
+.asm_11892d
+ ld hl, Text_CheckBattleRoomListByMaxLevel
+
+.asm_118930
+ call BattleTowerRoomMenu_SetMessage
+ call BattleTowerRoomMenu_IncrementJumptable
+
+BattleTowerRoomMenu_PlacePickLevelMenu:
+ ld a, [$c31a]
+ and a
+ ret nz
+ ld hl, MenuDataHeader_119cf7
+ call LoadMenuDataHeader
+ call MenuBox
+ call MenuBoxCoord2Tile
+ call ApplyTilemap
+ hlcoord 16, 8, AttrMap
+ ld a, $40
+ or [hl]
+ ld [hl], a
+ call WaitBGMap2
+ ld a, $1
+ ld [wcd4f], a
+ ld a, $1
+ ld [rSVBK], a
+ ld a, [StatusFlags]
+ bit 6, a ; Hall Of Fame
+ jr nz, .asm_11896b
+ ld hl, Strings_Ll0ToL40 ; Address to list of strings with the choosable levels
+ ld a, 5 ; 4 levels to choose from, including 'Cancel'-option
+ jr .asm_118970
+
+.asm_11896b
+ ld hl, Strings_L10ToL100 ; Address to list of strings with the choosable levels
+ ld a, 11 ; 10 levels to choose from, including 'Cancel'-option
+
+.asm_118970
+ ld [wcd4a], a
+ ld a, l
+ ld [wcd4b], a
+ ld a, h
+ ld [wcd4c], a
+ ld a, $3
+ ld [rSVBK], a
+ call BattleTowerRoomMenu_IncrementJumptable
+
+BattleTowerRoomMenu_UpdatePickLevelMenu:
+ hlcoord 13, 8
+ ld de, String_119d07
+ call PlaceString
+ hlcoord 13, 10
+ ld de, String_119d07
+ call PlaceString
+ ld a, [wcd4b]
+ ld l, a
+ ld a, [wcd4c]
+ ld h, a
+ ld d, $0
+ ld a, [wcd4f]
+ dec a
+ rlca
+ rlca
+ rlca
+ ld e, a
+ add hl, de
+ ld a, l
+ ld e, a
+ ld a, h
+ ld d, a
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ ld bc, StringBuffer3
+.asm_1189b5
+ ld a, [hli]
+ cp $50
+ jr z, .asm_1189c4
+ cp $7f
+ jr z, .asm_1189c2
+ ld [bc], a
+ inc bc
+ jr .asm_1189b5
+
+.asm_1189c2
+ ld a, $50
+
+.asm_1189c4
+ ld [bc], a
+ pop af
+ ld [rSVBK], a
+ hlcoord 13, 9
+ call PlaceString
+ ld hl, hJoyPressed
+ ld a, [hl]
+ and B_BUTTON
+ jr nz, .b_button
+ ld a, [hl]
+ and A_BUTTON
+ jr nz, .a_button
+ ld a, [hl]
+ and D_DOWN
+ jr nz, .d_down
+ ld a, [hl]
+ and D_UP
+ jr nz, .d_up
+.asm_1189e5
+ ret
+
+.d_down
+ ld hl, wcd4f
+ dec [hl]
+ jr nz, .asm_1189e5
+ ld a, [wcd4a]
+ ld [hl], a
+ jr .asm_1189e5
+
+.d_up
+ ld a, [wcd4a]
+ ld hl, wcd4f
+ inc [hl]
+ cp [hl]
+ jr nc, .asm_1189e5
+ ld a, $1
+ ld [hl], a
+ jr .asm_1189e5
+
+.a_button
+ call PlayClickSFX
+ ld a, [wcd4f]
+ ld hl, wcd4a
+ cp [hl]
+ jr z, .asm_118a3c
+ dec a
+ and $fe
+ srl a
+ ld [wcf65], a
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ call CloseWindow
+ pop af
+ ld [rSVBK], a
+ ld a, [wcd38]
+ and a
+ jr nz, .asm_118a30
+ call BattleTower_LevelCheck
+ ret c
+ call BattleTower_UbersCheck
+ ret c
+
+.asm_118a30
+ ld a, [wcd4f]
+ ld [w3_d800], a
+ jp BattleTowerRoomMenu_IncrementJumptable
+
+.b_button
+ call PlayClickSFX
+
+.asm_118a3c
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ call CloseWindow
+ pop af
+ ld [rSVBK], a
+ ld a, $7
+ ld [wcf66], a
+ ld a, $0
+ ld [wMobileInactivityTimerFrames], a
+ ret
+
+
+
+Function118a54: ; 118a54
+ ld a, [wcd55]
+ ld l, a
+ ld a, [wcd56]
+ ld h, a
+ ld de, wc3ec
+ ld bc, $0004
+ jp Function118ae4
+; 118a65
+
+Function118a65: ; 118a65
+ ld hl, BattleDownloadURL
+ ld de, wcc60
+ ld bc, $80
+ call CopyBytes
+ ld de, w3_d000
+ ld bc, $1000
+ jp Function118b10
+; 118a7a
+
+Function118a7a: ; 118a7a
+ ld hl, BattleDownloadURL
+ ld de, wcc60
+ ld bc, $80
+ call CopyBytes
+ ld de, w3_d000
+ ld bc, $1000
+ jp Function118b10
+; 118a8f
+
+Function118a8f: ; 118a8f
+ ld hl, ExchangeDownloadURL
+ ld de, wcc60
+ ld bc, $80
+ call CopyBytes
+ ld de, w3_d000
+ ld bc, $1000
+ jp Function118b10
+; 118aa4
+
+Function118aa4: ; 118aa4
+ ld hl, NewsDownloadURL
+ ld de, wcc60
+ ld bc, $80
+ call CopyBytes
+ ld a, $5
+ ld [rSVBK], a
+ ld de, w3_d100
+ ld bc, $e00
+ jr Function118b10
+; 118abc
+
+Function118abc: ; 118abc (46:4abc)
+ ld hl, MenuDownloadURL
+ ld de, wcc60
+ ld bc, $80
+ call CopyBytes
+ ld de, w3_d000
+ ld bc, $1000
+ jr Function118b10
+; 118ad0 (46:4ad0)
+
+Function118ad0:
+ ld hl, IndexDownloadURL
+ ld de, wcc60
+ ld bc, $80
+ call CopyBytes
+ ld de, w3_d000
+ ld bc, $1000
+ jr Function118b10
+
+Function118ae4:
+ push bc
+ push de
+ push hl
+ ld a, $8
+ ld [wcd3c], a
+ call BattleTowerRoomMenu2
+ pop hl
+ ld c, $0
+ ld de, wcc60
+.asm_118af5
+ ld a, [hli]
+ ld [de], a
+ inc de
+ and a
+ jr z, .asm_118b06
+ inc c
+ ld a, c
+ cp $a6
+ jr c, .asm_118af5
+ ld a, $da
+ jp Function118805
+
+.asm_118b06
+ call Function118b24
+ pop de
+ pop bc
+ ld a, $2a
+ jp Function119e2b
+; 118b10
+
+Function118b10:
+ push de
+ push bc
+ ld a, $8
+ ld [wcd3c], a
+ call BattleTowerRoomMenu2
+ call Function118b24
+ pop bc
+ pop de
+ ld a, $2a
+ jp Function119e2b
+
+Function118b24: ; 118b24 (46:4b24)
+ ld hl, $c346
+ ld a, $8
+ ld [hli], a
+ ld a, $c7
+ ld [hli], a
+ ld a, $60
+ ld [hli], a
+ ld a, $cc
+ ld [hli], a
+ call Function119eb4
+ call Function119ec2
+ ld a, $80
+ ld [wcd89], a
+ ld hl, $c346
+ ret
+; 118b42 (46:4b42)
+
+Function118b42: ; 118b42
+ ld hl, wd002
+ ld a, l
+ ld [wcd51], a
+ ld a, h
+ ld [wcd52], a
+ call Function118b8c
+ ld a, l
+ ld [wcd55], a
+ ld [wcd59], a
+ ld a, h
+ ld [wcd56], a
+ ld [wcd5a], a
+ call Function118b8c
+ ld a, l
+ ld [wcd53], a
+ ld [wcd5d], a
+ ld a, h
+ ld [wcd54], a
+ ld [wcd5e], a
+ call Function118b8c
+ ld a, l
+ ld [wcd57], a
+ ld [wcd5b], a
+ ld a, h
+ ld [wcd58], a
+ ld [wcd5c], a
+ call Function118b8c
+ ld a, l
+ ld [wcd5f], a
+ ld a, h
+ ld [wcd60], a
+ ret
+; 118b8c
+
+Function118b8c: ; 118b8c
+.asm_118b8c
+ call Function118b9a
+ ret nc
+ ld a, [hli]
+ cp $d
+ jr nz, .asm_118b8c
+ dec hl
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ret
+; 118b9a
+
+Function118b9a: ; 118b9a
+ ld a, h
+ cp $e0
+ ret c
+ ld a, $d3
+ call Function118805
+ and a
+ ret
+; 118ba5
+
+
+ charmap " ", $20 ; revert to ascii
+
+ExchangeDownloadURL: ; 0x118ba5
+ db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/exchange/index.txt", 0
+
+BattleDownloadURL: ; 0x118bf7
+ db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/battle/index.txt", 0
+
+NewsDownloadURL: ; 0x118c47
+ db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/news/index.txt", 0
+
+MenuDownloadURL: ; 0x118c95
+ db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/POKESTA/menu.cgb", 0
+
+IndexDownloadURL: ; 0x118ce5
+ db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/tamago/index.txt", 0
+
+
+Function118d35: ; 118d35
+; unreferenced
+ ld hl, $d200
+ ld a, [wcd38]
+ and a
+ jr nz, .asm_118d6e
+ ld a, [hli]
+ cp $94
+ jr nz, .asm_118d7b
+ ld a, [hl]
+ cp $5
+ jr nz, .asm_118d7b
+ ld a, [wcd4f]
+ sla a
+ ld b, a
+ sla a
+ sla a
+ add b
+ ld b, a
+ ld a, $5
+ call GetSRAMBank
+ ld a, b
+ ld [$b2fb], a
+ call CloseSRAM
+ callba Function170be4
+ callba Function1700c4
+ jr .asm_118d78
+
+.asm_118d6e
+ ld a, [hli]
+ cp $96
+ jr nz, .asm_118d7b
+ ld a, [hl]
+ cp $0
+ jr nz, .asm_118d7b
+
+.asm_118d78
+ jp BattleTowerRoomMenu_IncrementJumptable
+
+.asm_118d7b
+ ld a, $d3
+ jp Function118805
+; 118d80
+
+Function118d80: ; 118d80
+ call Function118e06
+ ld a, [wcd38]
+ and a
+ jr z, .asm_118d8e
+ call BattleTowerRoomMenu_IncrementJumptable
+ jr asm_118d9f
+
+.asm_118d8e
+ ld a, $9
+ ld [wcd3c], a
+ ld a, $12
+ ld [wMobileInactivityTimerSeconds], a
+ call BattleTowerRoomMenu_IncrementJumptable
+
+Function118d9b:
+ call BattleTowerRoomMenu2
+ ret c
+
+asm_118d9f
+ ld hl, $c608
+ call Function119940
+ ld a, [wcd38]
+ and a
+ jr nz, .asm_118db2
+ ld a, $8f
+ ld [wcd3b], a
+ jr .asm_118db7
+
+.asm_118db2
+ ld a, $26
+ ld [wcd3b], a
+
+.asm_118db7
+ ld hl, w3_d800
+ ld a, $8
+ ld [hli], a
+ ld a, $c6
+ ld [hli], a
+ ld a, [wcd3b]
+ ld [hli], a
+ xor a
+ ld [hli], a
+ ld a, $8
+ ld [hli], a
+ ld a, $c7
+ ld [hli], a
+ ld a, [wcd39]
+ ld [hli], a
+ ld a, [wcd3a]
+ ld [hli], a
+ call Function119eb4
+ call Function119ec2
+ ld a, $40
+ ld [wcd89], a
+ ld hl, w3_d800
+ ld de, $de00
+ ld bc, $0200
+ ld a, $2c
+ jp Function119e2b
+; 118ded
+
+Function118ded: ; 118ded
+ ld a, [wcd38]
+ and a
+ jr z, .asm_118e03
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ callba Function11b93b
+ pop af
+ ld [rSVBK], a
+
+.asm_118e03
+ jp BattleTowerRoomMenu_IncrementJumptable
+; 118e06
+
+Function118e06: ; 118e06
+ ld hl, wd002
+ ld a, [wcd38]
+ and a
+ jr z, .asm_118e1d
+.asm_118e0f
+ call Function118b9a
+ ret nc
+ ld a, [hli]
+ cp $d
+ jr nz, .asm_118e0f
+ ld a, [hli]
+ cp $a
+ jr nz, .asm_118e0f
+
+.asm_118e1d
+ ld a, l
+ ld [wcd39], a
+ ld a, h
+ ld [wcd3a], a
+.asm_118e25
+ call Function118b9a
+ ret nc
+ ld a, [hli]
+ cp $d
+ jr nz, .asm_118e25
+ ld a, [hli]
+ cp $a
+ jr nz, .asm_118e25
+ dec hl
+ xor a
+ ld [hld], a
+ ld [hl], a
+ jr asm_118e3e
+
+Function118e39: ; 118e39 (46:4e39)
+.asm_118e39
+ ld a, [hli]
+ and a
+ jr nz, .asm_118e39
+ dec hl
+asm_118e3e
+.asm_118e3e
+ ld a, [hld]
+ cp $2f
+ jr nz, .asm_118e3e
+ inc hl
+ inc hl
+ ld de, wcd85
+ ld c, $4
+.asm_118e4a
+ ld a, [hli]
+ cp $2e
+ jr z, .asm_118e63
+ cp $30
+ jr c, .asm_118e67
+ cp $3a
+ jr nc, .asm_118e67
+ sub $30
+ add $f6
+ ld [de], a
+ inc de
+ dec c
+ jr nz, .asm_118e4a
+ ld de, wcd85
+.asm_118e63
+ ld a, $50
+ ld [de], a
+ ret
+.asm_118e67
+ ld a, $f3
+ ld [de], a
+ inc de
+ jr .asm_118e63
+
+Function118e6d: ; 118e6d (46:4e6d)
+ xor a
+ ld [wcd65], a
+ ld a, $a
+ jp Function119e2b
+
+Function118e76: ; 118e76 (46:4e76)
+ ; Call $c in BattleTowerRoomMenu2
+ ld a, $c
+ ld [wcd3c], a
+ jp BattleTowerRoomMenu_IncrementJumptable
+
+Function118e7e: ; 118e7e (46:4e7e)
+ call BattleTowerRoomMenu2
+ ret c
+ ld a, $36
+ jp Function119e2b
+
+BattleTowerRoomMenu_CallRoomMenu2: ; 118e87 (46:4e87)
+ call BattleTowerRoomMenu2
+ ret c
+ ld a, [wcd33]
+ ld [wcf66], a
+ ret
+; 118e92 (46:4e92)
+
+Function118e92: ; 118e92
+ call Function118440
+ call Function1191d3
+ ld a, [wcd53]
+ ld l, a
+ ld a, [wcd54]
+ ld h, a
+ ld de, wcc60
+ call Function1191ad
+ ret c
+ ld de, w3_d800
+ ld bc, $0800
+ jp Function118b10
+; 118eb0
+
+Function118eb0: ; 118eb0
+ call Function118440
+ ld hl, $d802
+ ld de, BGMapBuffer
+ ld bc, $000c
+ call CopyBytes
+ call Function1192cc
+ ret c
+ jp BattleTowerRoomMenu_IncrementJumptable
+; 118ec6
+
+Function118ec6: ; 118ec6
+ call Function118440
+ call SpeechTextBox
+ ld hl, $d80e
+ ld de, $c320
+ ld bc, $0026
+ call CopyBytes
+ xor a
+ ld [$c31f], a
+ ld a, $20
+ ld [$c31b], a
+ ld a, $c3
+ ld [$c31c], a
+ hlcoord 1, 14
+ ld a, l
+ ld [$c31d], a
+ ld a, h
+ ld [$c31e], a
+ ld a, $2
+ ld [$c31a], a
+ ld a, $1d
+ ld [wcd3c], a
+ ld a, $24
+ ld [wMobileInactivityTimerSeconds], a
+ ld a, $11
+ ld [wMobileInactivityTimerFrames], a
+ ld a, $1c
+ ld [wcd47], a
+ jp BattleTowerRoomMenu_IncrementJumptable
+; 118f0d
+
+Function118f0d: ; 118f0d
+ call BattleTowerRoomMenu2
+ ret c
+ call Function118440
+
+Function118f14:
+ call Function118440
+ ld a, [wcd51]
+ ld l, a
+ ld a, [wcd52]
+ ld h, a
+ ld de, wcc60
+ call Function1191ad
+ ret c
+ ld a, [wcc60]
+ and a
+ jr z, .DontSendSaveFile
+ ld hl, Text_SaveFileWillBeSent
+ call BattleTowerRoomMenu_SetMessage
+
+.DontSendSaveFile:
+ ld a, [wcd57]
+ ld l, a
+ ld a, [wcd58]
+ ld h, a
+ ld de, wcc60
+ call Function1191ad
+ ret c
+ ld hl, wcc60
+ call Function118e39
+ ld a, $9
+ ld [wcd3c], a
+ ld a, $24
+ ld [wMobileInactivityTimerSeconds], a
+ ld a, $13
+ ld [wMobileInactivityTimerFrames], a
+ ld a, $1c
+ ld [wcd47], a
+ jp BattleTowerRoomMenu_IncrementJumptable
+; 118f5e
+
+Function118f5e: ; 118f5e
+ call BattleTowerRoomMenu2
+ ret c
+ call Function118440
+ call DelayFrame
+
+Function118f68:
+ call Function119223
+ ret c
+ call Function118440
+ ld a, [wcd51]
+ ld l, a
+ ld a, [wcd52]
+ ld h, a
+ ld de, wcc60
+ call Function1191ad
+ ret c
+ ld a, [wcc60]
+ and a
+ jr z, .asm_118fba
+ ld hl, $c346
+ ld a, $c608 % $100
+ ld [hli], a
+ ld a, $c608 / $100
+ ld [hli], a
+ ld a, [wcd4b]
+ ld [hli], a
+ ld a, [wcd4c]
+ ld [hli], a
+ ld a, $c708 % $100
+ ld [hli], a
+ ld a, $c708 / $100
+ ld [hli], a
+ ld a, $60
+ ld [hli], a
+ ld a, $cc
+ ld [hli], a
+ call Function119eb4
+ call Function119ec2
+ ld a, $40
+ ld [wcd89], a
+ ld hl, $c346
+ ld de, $de00
+ ld bc, $0200
+ ld a, $2c
+ jp Function119e2b
+
+.asm_118fba
+ call BattleTowerRoomMenu_IncrementJumptable
+ jp BattleTowerRoomMenu_IncrementJumptable
+; 118fc0
+
+Function118fc0: ; 118fc0
+ call Function118440
+ ld a, [wcd55]
+ ld l, a
+ ld a, [wcd56]
+ ld h, a
+ ld de, wcc60
+ call Function1191ad
+ ret c
+ ld a, [wcc60]
+ and a
+ jr z, .asm_118ffa
+ ld a, [wcd51]
+ ld l, a
+ ld a, [wcd52]
+ ld h, a
+ ld de, wcc60
+ call Function1191ad
+ ret c
+ ld a, [wcc60]
+ and a
+ jr z, .asm_118ff2
+ ld hl, Text_SentSaveFileReadingNews
+ jr .asm_118ff5
+
+.asm_118ff2
+ ld hl, Text_ReadingNews
+
+.asm_118ff5
+ call BattleTowerRoomMenu_SetMessage
+ jr Function119009
+
+.asm_118ffa
+ ld hl, Text_ReadingNews
+ call BattleTowerRoomMenu_SetMessage
+ call BattleTowerRoomMenu_IncrementJumptable
+ call BattleTowerRoomMenu_IncrementJumptable
+ jp BattleTowerRoomMenu_IncrementJumptable
+
+Function119009:
+ call Function118440
+ call Function119300
+ ld a, [wcd55]
+ ld l, a
+ ld a, [wcd56]
+ ld h, a
+ ld de, wcc60
+ call Function1191ad
+ ret c
+ ld hl, $c346
+ ld a, $8
+ ld [hli], a
+ ld a, $c6
+ ld [hli], a
+ ld a, [wcd4b]
+ ld [hli], a
+ ld a, [wcd4c]
+ ld [hli], a
+ ld a, $8
+ ld [hli], a
+ ld a, $c7
+ ld [hli], a
+ ld a, $60
+ ld [hli], a
+ ld a, $cc
+ ld [hli], a
+ call Function119eb4
+ call Function119ec2
+ ld a, $40
+ ld [wcd89], a
+ ld hl, $c346
+ ld de, w3_d000
+ ld bc, $1000
+ ld a, $2c
+ jp Function119e2b
+; 119054
+
+Function119054: ; 119054
+ ld a, $6
+ call GetSRAMBank
+ ld hl, wd002
+ ld a, [wcd4f]
+ ld e, a
+ ld a, [wcd50]
+ ld d, a
+ ld a, [w3_d000]
+ ld c, a
+ ld a, [w3_d000 + 1]
+ ld b, a
+ call Function119192
+ ret c
+ ld a, [wcd89]
+ and $1
+ jr z, .asm_11908a
+ ld a, $6
+ ld [rSVBK], a
+ ld hl, wd002
+ ld a, [w3_d000]
+ ld c, a
+ ld a, [w3_d000 + 1]
+ ld b, a
+ call Function119192
+ ret c
+
+.asm_11908a
+ call CloseSRAM
+ ld a, $3
+ ld [rSVBK], a
+ ld a, $5
+ call GetSRAMBank
+ ld a, [wcd4f]
+ ld [$b1b3], a
+ ld a, [wcd50]
+ ld [$b1b4], a
+ ld hl, BGMapBuffer
+ ld de, $aa7f
+ ld bc, $000c
+ call CopyBytes
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ ld a, [wd474]
+ ld [$b2f3], a
+ ld hl, wd475
+ ld de, $b2f4
+ ld bc, $0004
+ call CopyBytes
+ pop af
+ ld [rSVBK], a
+ call CloseSRAM
+ jp BattleTowerRoomMenu_IncrementJumptable
+; 1190d0
+
+Function1190d0: ; 1190d0
+ ld a, $3
+ ld [rSVBK], a
+ ld a, [wcd57]
+ ld l, a
+ ld a, [wcd58]
+ ld h, a
+ ld de, wcc60
+ call Function1191ad
+ ret c
+ ld de, w3_d000
+ ld bc, $1000
+ jp Function118b10
+; 1190ec
+
+Function1190ec: ; 1190ec
+ ld a, $5
+ call GetSRAMBank
+ ld hl, BGMapBuffer
+ ld de, $aa73
+ ld bc, $000c
+ call CopyBytes
+ call CloseSRAM
+ ld a, $5
+ call GetSRAMBank
+ ld a, $1
+ ld [$aa72], a
+ call CloseSRAM
+ ld a, $6
+ call GetSRAMBank
+ ld a, [w3_d000]
+ ld c, a
+ ld a, [w3_d000 + 1]
+ ld b, a
+ ld hl, wd002
+ ld de, $a000
+ call Function119192
+ ret c
+ ld a, [wcd89]
+ and $1
+ jr z, .asm_11913e
+ ld a, $6
+ ld [rSVBK], a
+ ld a, [w3_d000]
+ ld c, a
+ ld a, [w3_d000 + 1]
+ ld b, a
+ ld hl, wd002
+ call Function119192
+ ret c
+
+.asm_11913e
+ ld a, $3
+ ld [rSVBK], a
+ call CloseSRAM
+ ld hl, Text_ReceivedNews
+ call BattleTowerRoomMenu_SetMessage
+ jp BattleTowerRoomMenu_IncrementJumptable
+; 11914e
+
+Function11914e: ; 11914e
+ call BattleTowerRoomMenu2
+ ret c
+ ld a, $1c
+ ld [wcf66], a
+ ld a, $a
+ ld [wc300], a
+ ret
+; 11915d
+
+Function11915d: ; 11915d
+ ld hl, $d802
+ ld de, BGMapBuffer
+ ld bc, $000c
+ call CopyBytes
+ ld a, $5
+ call GetSRAMBank
+ ld hl, BGMapBuffer
+ ld de, $aa7f
+ ld c, $c
+.asm_119176
+ ld a, [de]
+ inc de
+ cp [hl]
+ jr nz, .asm_119184
+ inc hl
+ dec c
+ jr nz, .asm_119176
+ call BattleTowerRoomMenu_IncrementJumptable
+ jr .asm_11918e
+
+.asm_119184
+ ld a, $16
+ ld [wcf66], a
+ ld a, $b
+ ld [wc300], a
+
+.asm_11918e
+ call CloseSRAM
+ ret
+; 119192
+
+Function119192: ; 119192
+ inc b
+ inc c
+ jr .asm_11919e
+
+.asm_119196
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, $bf
+ cp d
+ jr c, .asm_1191a6
+
+.asm_11919e
+ dec c
+ jr nz, .asm_119196
+ dec b
+ jr nz, .asm_119196
+ and a
+ ret
+
+.asm_1191a6
+ ld a, $d3
+ call Function118805
+ scf
+ ret
+; 1191ad
+
+Function1191ad: ; 1191ad
+ push bc
+ ld c, $0
+ ld a, $5
+ ld [rSVBK], a
+.asm_1191b4
+ ld a, [hli]
+ ld [de], a
+ inc de
+ and a
+ jr z, .asm_1191cc
+ inc c
+ ld a, c
+ cp $a6
+ jr c, .asm_1191b4
+ ld a, $da
+ call Function118805
+ ld a, $3
+ ld [rSVBK], a
+ pop bc
+ scf
+ ret
+
+.asm_1191cc
+ ld a, $3
+ ld [rSVBK], a
+ pop bc
+ and a
+ ret
+; 1191d3
+
+Function1191d3: ; 1191d3
+ ld hl, w3_d100 + 2
+ ld a, l
+ ld [wcd53], a
+ ld a, h
+ ld [wcd54], a
+ call Function11920f
+ ld a, l
+ ld [wcd51], a
+ ld a, [wcd4a]
+ ld a, h
+ ld [wcd52], a
+ call Function11920f
+ ld a, l
+ ld [wcd55], a
+ ld a, [wcd4a]
+ ld a, h
+ ld [wcd56], a
+ call Function11920f
+ ld a, [wcd49]
+ ld a, l
+ ld [wcd57], a
+ ld a, [wcd4a]
+ ld a, h
+ ld [wcd58], a
+ call Function11920f
+ ret
+; 11920f
+
+Function11920f: ; 11920f
+.asm_11920f
+ call Function118b9a
+ ret nc
+ ld a, [hli]
+ cp $d
+ jr nz, .asm_11920f
+ ld a, [hli]
+ cp $a
+ jr nz, .asm_11920f
+ dec hl
+ xor a
+ ld [hld], a
+ ld [hli], a
+ inc hl
+ ret
+; 119223
+
+Function119223: ; 119223
+ xor a
+ ld [wcd4b], a
+ ld [wcd4c], a
+ ld a, $5
+ call GetSRAMBank
+ ld hl, wc3cd
+ ld de, $b092
+ ld bc, $001f
+ call CopyBytes
+ dec de
+ xor a
+ ld [de], a
+ ld hl, $d810
+.asm_119241
+ ld a, [hli]
+ cp $50
+ jr nz, .asm_119241
+ ld a, [hli]
+ ld [wcd4f], a
+ ld a, [hli]
+ ld [wcd50], a
+ ld a, [hli]
+ ld [$b1b1], a
+ ld c, a
+ ld a, [hli]
+ ld [$b1b2], a
+ ld b, a
+ ld de, $b1d3
+ call CopyBytes
+ call CloseSRAM
+ ld e, l
+ ld d, h
+ ld hl, $c608
+.asm_119266
+ ld a, [de]
+ inc de
+ cp $ff
+ jr z, .asm_1192c2
+ cp $fe
+ jr z, .asm_1192a5
+ call GetSRAMBank
+ ld a, [de]
+ inc de
+ ld c, a
+ ld a, [de]
+ inc de
+ ld b, a
+ ld a, [de]
+ inc de
+ push de
+ push af
+ ld a, [wcd4b]
+ ld e, a
+ ld a, [wcd4c]
+ ld d, a
+ pop af
+.asm_119286
+ push af
+ ld a, [bc]
+ inc bc
+ ld [hli], a
+ inc de
+ pop af
+ dec a
+ jr nz, .asm_119286
+ call CloseSRAM
+ ld a, e
+ ld [wcd4b], a
+ ld a, d
+ ld [wcd4c], a
+ pop de
+.asm_11929b
+ and a
+ jr z, .asm_119266
+ ld a, $d3
+ call Function118805
+ scf
+ ret
+
+.asm_1192a5
+ ld a, [wcd4b]
+ ld c, a
+ ld a, [wcd4c]
+ ld b, a
+ ld a, [de]
+ inc de
+.asm_1192af
+ push af
+ ld a, [de]
+ inc de
+ ld [hli], a
+ inc bc
+ pop af
+ dec a
+ jr nz, .asm_1192af
+ ld a, c
+ ld [wcd4b], a
+ ld a, b
+ ld [wcd4c], a
+ jr .asm_11929b
+
+.asm_1192c2
+ ld a, e
+ ld [wcd4d], a
+ ld a, d
+ ld [wcd4e], a
+ and a
+ ret
+; 1192cc
+
+Function1192cc: ; 1192cc
+ ld a, $5
+ call GetSRAMBank
+ ld hl, $aa73
+ ld de, $c608
+ ld bc, $000c
+ call CopyBytes
+ call CloseSRAM
+ ld hl, $c608
+ ld de, BGMapBuffer
+ ld c, $c
+.asm_1192e8
+ ld a, [de]
+ inc de
+ ld b, a
+ ld a, [hli]
+ cp b
+ jr nz, .asm_1192fe
+ dec c
+ jr nz, .asm_1192e8
+ ld a, $1f
+ ld [wcd3c], a
+ ld a, $27
+ ld [wcf66], a
+ scf
+ ret
+
+.asm_1192fe
+ and a
+ ret
+; 119300
+
+Function119300: ; 119300
+ xor a
+ ld [wcd4b], a
+ ld [wcd4c], a
+ ld a, [wcd4d]
+ ld e, a
+ ld a, [wcd4e]
+ ld d, a
+ ld hl, $c608
+ ld a, [wcd4b]
+ ld c, a
+ ld a, [wcd4c]
+ ld b, a
+.asm_11931a
+ ld a, [de]
+ inc de
+ cp $50
+ jr z, .asm_119324
+ ld [hli], a
+ inc bc
+ jr .asm_11931a
+
+.asm_119324
+ ld a, $3d
+ ld [hli], a
+ inc bc
+ ld a, c
+ ld [wcd4b], a
+ ld a, b
+ ld [wcd4c], a
+ ld a, [de]
+ inc de
+ call GetSRAMBank
+ ld a, [de]
+ inc de
+ ld c, a
+ ld a, [de]
+ inc de
+ ld b, a
+ ld a, [de]
+ inc de
+ push de
+ push af
+ ld a, [wcd4b]
+ ld e, a
+ ld a, [wcd4c]
+ ld d, a
+ pop af
+.asm_119348
+ push af
+ ld a, [bc]
+ and $f0
+ swap a
+ call Function1197bf
+ ld [hli], a
+ inc de
+ ld a, [bc]
+ inc bc
+ and $f
+ call Function1197bf
+ ld [hli], a
+ inc de
+ pop af
+ dec a
+ jr nz, .asm_119348
+ call CloseSRAM
+ ld a, e
+ ld [wcd4b], a
+ ld a, d
+ ld [wcd4c], a
+ pop de
+ ld a, [de]
+ cp $50
+ jr z, .asm_11937f
+ ld a, [wcd4b]
+ ld c, a
+ ld a, [wcd4c]
+ ld b, a
+ ld a, $26
+ ld [hli], a
+ inc bc
+ jr .asm_11931a
+
+.asm_11937f
+ ret
+; 119380
+
+Function119380: ; 119380
+ ld a, $80
+ ld [wcd49], a
+ jp BattleTowerRoomMenu_IncrementJumptable
+; 119388
+
+Function119388: ; 119388
+ ld hl, wcd49
+ dec [hl]
+ ret nz
+ ld hl, wcc60
+ call Function118e39
+ ld a, $9
+ ld [wcd3c], a
+ ld a, $10
+ ld [wMobileInactivityTimerSeconds], a
+ call BattleTowerRoomMenu_IncrementJumptable
+
+Function1193a0:
+ call BattleTowerRoomMenu2
+ ret c
+ call DelayFrame
+ ld a, $8
+ ld [wcd3c], a
+ call BattleTowerRoomMenu2
+ ld hl, $c346
+ ld a, wd000 % $100
+ ld [hli], a
+ ld a, wd000 / $100
+ ld [hli], a
+ ld a, [wcd3b]
+ ld [hli], a
+ xor a
+ ld [hli], a
+ ld a, $c708 % $100
+ ld [hli], a
+ ld a, $c708 / $100
+ ld [hli], a
+ ld a, $60
+ ld [hli], a
+ ld a, $cc
+ ld [hli], a
+ call Function119eb4
+ call Function119ec2
+ ld a, $40
+ ld [wcd89], a
+ ld hl, $c346
+ ld de, $de00
+ ld bc, $0200
+ ld a, $2c
+ jp Function119e2b
+; 1193e3
+
+Function1193e3: ; 1193e3
+ ld hl, wcd49
+ dec [hl]
+ ret nz
+ ld hl, wcc60
+ call Function118e39
+ ld a, $9
+ ld [wcd3c], a
+ ld a, $11
+ ld [wMobileInactivityTimerSeconds], a
+ call BattleTowerRoomMenu_IncrementJumptable
+
+Function1193fb:
+ call BattleTowerRoomMenu2
+ ret c
+ call DelayFrame
+ ld a, $8
+ ld [wcd3c], a
+ call BattleTowerRoomMenu2
+ ld de, w3_d000
+ ld bc, $1000
+ jp Function118b10
+; 119413
+
+Function119413: ; 119413
+ ld a, $6
+ call GetSRAMBank
+ ld a, [w3_d000]
+ ld c, a
+ ld a, [w3_d000 + 1]
+ ld b, a
+ dec bc
+ dec bc
+ ld hl, wd002
+ ld a, [hli]
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ call Function119192
+ ret c
+ ld a, [wcd89]
+ and $1
+ jr z, .asm_119447
+ ld a, $6
+ ld [rSVBK], a
+ ld a, [wd000]
+ ld c, a
+ ld a, [w3_d000 + 1]
+ ld b, a
+ ld hl, wd002
+ call Function119192
+ ret c
+
+.asm_119447
+ ld a, $3
+ ld [rSVBK], a
+ call CloseSRAM
+ jp BattleTowerRoomMenu_IncrementJumptable
+; 119451
+
+Function119451: ; 119451 (46:5451)
+ ld a, [wcd89]
+ and $1
+ jr z, .asm_11945d
+ ld a, $d3
+ jp Function118805
+.asm_11945d
+ xor a
+ ld [wcd50], a
+ call Function119694
+ ld a, b
+ ld [wcd49], a
+ call Function1196cd
+ ld a, [wd002]
+ ld hl, wd003
+
+Function119471: ; 119471 (46:5471)
+ push af
+ ld a, [hli]
+ ld [$c608], a
+ ld a, [hli]
+ ld [$c608 + 3], a
+ ld a, [hli]
+ ld [$c608 + 1], a
+ ld a, [hli]
+ ld [$c608 + 2], a
+ ld a, [hli]
+ ld [$c608 + 4], a
+ ld a, [hli]
+ ld [$c608 + 5], a ; $c608 + 5
+ push hl
+ ld a, [$c608]
+ cp $ff
+ jr z, .asm_1194a7
+ ld a, [$c608 + 2]
+ cp $ff
+ jr z, .asm_1194a7
+ ld a, [$c608 + 1]
+ cp $ff
+ jr nz, .asm_1194a7
+ call Function119584
+ jr c, .asm_11950c
+ jr .asm_1194f0
+.asm_1194a7
+ ld hl, $c608
+ ld de, $c608 + 3
+ ld c, $3
+.asm_1194af
+ ld a, [de]
+ inc de
+ cp [hl]
+ inc hl
+ jr c, .asm_1194f3
+ jr z, .asm_1194b9
+ jr nc, .asm_1194bc
+.asm_1194b9
+ dec c
+ jr nz, .asm_1194af
+.asm_1194bc
+ ld c, $3
+ ld hl, wcd49
+ ld de, $c608
+.asm_1194c4
+ ld a, [de]
+ inc de
+ cp $ff
+ jr z, .asm_1194d1
+ cp [hl]
+ jr z, .asm_1194d1
+ jr c, .asm_1194d5
+ jr nc, .asm_1194f0
+.asm_1194d1
+ inc hl
+ dec c
+ jr nz, .asm_1194c4
+.asm_1194d5
+ ld c, $3
+ ld hl, wcd49
+ ld de, $c608 + 3
+.asm_1194dd
+ ld a, [de]
+ inc de
+ cp $ff
+ jr z, .asm_1194ea
+ cp [hl]
+ jr c, .asm_1194f0
+ jr z, .asm_1194ea
+ jr nc, .asm_11950c
+.asm_1194ea
+ inc hl
+ dec c
+ jr nz, .asm_1194dd
+ jr .asm_11950c
+.asm_1194f0
+ pop hl
+ jr .asm_119557
+.asm_1194f3
+ ld c, $3
+ ld hl, wcd49
+ ld de, $c608
+.asm_1194fb
+ ld a, [de]
+ inc de
+ cp $ff
+ jr z, .asm_119508
+ cp [hl]
+ jr c, .asm_11950c
+ jr z, .asm_119508
+ jr nc, .asm_1194d5
+.asm_119508
+ inc hl
+ dec c
+ jr nz, .asm_1194fb
+.asm_11950c
+ pop hl
+ ld a, $1
+ ld [wcd50], a
+ ld a, l
+ ld [$c608], a
+ ld a, h
+ ld [$c608 + 1], a
+ ld de, wcd69
+ ld c, $10
+ ld b, $0
+.asm_119521
+ ld a, [de]
+ inc de
+ cp [hl]
+ inc hl
+ jr nz, .asm_119528
+ inc b
+.asm_119528
+ dec c
+ jr nz, .asm_119521
+ ld a, $10
+ cp b
+ jr z, .asm_119536
+rept 4
+ inc hl
+endr
+ jr .asm_11957a
+.asm_119536
+ ld a, [hli]
+ cp $50
+ jr nz, .asm_119552
+ ld a, [hli]
+ cp $33
+ jr nz, .asm_119553
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld b, a
+ ld a, [wcd83]
+ cp c
+ jr nz, .asm_119576
+ ld a, [wcd84]
+ cp b
+ jr nz, .asm_119576
+ jr .asm_11955b
+.asm_119552
+ inc hl
+.asm_119553
+ inc hl
+ inc hl
+ jr .asm_11955b
+.asm_119557
+ ld de, $14
+ add hl, de
+.asm_11955b
+ ld a, [hli]
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ add hl, de
+ pop af
+ dec a
+ jp nz, Function119471
+ ld a, [wcd50]
+ and a
+ jr z, .asm_119571
+ ld a, $1a
+ ld [wcf66], a
+ ret
+.asm_119571
+ ld a, $d8
+ jp Function118805
+.asm_119576
+ ld a, $10
+ jr .asm_11957c
+.asm_11957a
+ ld a, $f
+.asm_11957c
+ ld [wcf66], a
+ pop af
+ call Function1195c4
+ ret
+
+Function119584: ; 119584 (46:5584)
+ ld a, [$c608]
+ ld b, a
+ ld a, [$c608 + 3]
+ ld c, a
+ cp b
+ jr c, .asm_11959c
+ ld a, [wcd49]
+ cp b
+ jr c, .asm_1195c2
+.asm_119595
+ cp c
+ jr c, .asm_1195a2
+ jr z, .asm_1195a2
+ jr .asm_1195c2
+.asm_11959c
+ ld a, [wcd49]
+ cp b
+ jr c, .asm_119595
+.asm_1195a2
+ ld a, [$c608 + 2]
+ ld b, a
+ ld a, [$c608 + 5] ; $c608 + 5
+ ld c, a
+ cp b
+ jr c, .asm_1195ba
+ ld a, [wcd4b]
+ cp b
+ jr c, .asm_1195c2
+.asm_1195b3
+ cp c
+ jr c, .asm_1195c0
+ jr z, .asm_1195c0
+ jr .asm_1195c2
+.asm_1195ba
+ ld a, [wcd4b]
+ cp b
+ jr c, .asm_1195b3
+.asm_1195c0
+ scf
+ ret
+.asm_1195c2
+ and a
+ ret
+
+Function1195c4: ; 1195c4 (46:55c4)
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld b, a
+ ld de, $a5
+ ld a, b
+ cp d
+ jr c, .asm_1195d9
+ jr z, .asm_1195d3
+ jr nc, .asm_1195f3
+.asm_1195d3
+ ld a, c
+ cp e
+ jr z, .asm_1195d9
+ jr nc, .asm_1195f3
+.asm_1195d9
+ ld de, wcc60
+ call CopyBytes
+ xor a
+ ld [de], a
+ ld a, [$c608]
+ ld l, a
+ ld a, [$c608 + 1]
+ ld h, a
+ ld de, wcd69
+ ld bc, $10
+ call CopyBytes
+ ret
+.asm_1195f3
+ ld a, $d8
+ jp Function118805
+
+Function1195f8: ; 1195f8 (46:55f8)
+ ld a, $11
+ ld [wcd3c], a
+ ld a, $1c
+ ld [wMobileInactivityTimerSeconds], a
+ ld a, $f
+ ld [wMobileInactivityTimerFrames], a
+ ld a, $14
+ ld [wcd47], a
+ call BattleTowerRoomMenu_IncrementJumptable
+ jp BattleTowerRoomMenu_IncrementJumptable
+
+Function119612: ; 119612 (46:5612)
+ ld a, $14
+ ld [wcd3c], a
+ ld a, $1c
+ ld [wMobileInactivityTimerSeconds], a
+ ld a, $10
+ ld [wMobileInactivityTimerFrames], a
+ ld a, $14
+ ld [wcd47], a
+ jp BattleTowerRoomMenu_IncrementJumptable
+
+Function119629: ; 119629 (46:5629)
+ call BattleTowerRoomMenu2
+ ret c
+ ld a, $60
+ ld l, a
+ ld a, $cc
+ ld h, a
+ call Function118e39
+ ld a, $9
+ ld [wcd3c], a
+ ld a, $1c
+ ld [wMobileInactivityTimerSeconds], a
+ ld a, $14
+ ld [wcd47], a
+ call BattleTowerRoomMenu_IncrementJumptable
+
+Function119648: ; 119648 (46:5648)
+ call BattleTowerRoomMenu2
+ ret c
+ call DelayFrame
+ ld a, $8
+ ld [wcd3c], a
+ call BattleTowerRoomMenu2
+ call Function118b24
+ ld de, w3_d000
+ ld bc, $1000
+ ld a, $2a
+ jp Function119e2b
+
+Function119665: ; 119665 (46:5665)
+ ld a, $1a
+ ld [wcd3c], a
+ call BattleTowerRoomMenu_IncrementJumptable
+
+Function11966d: ; 11966d (46:566d)
+ call BattleTowerRoomMenu2
+ ret c
+ ld a, [wcd47]
+ ld [wcf66], a
+ ld a, $a
+ ld [wc300], a
+ ret
+
+Function11967d: ; 11967d (46:567d)
+ ld a, $18
+ ld [wcd3c], a
+ call BattleTowerRoomMenu_IncrementJumptable
+
+Function119685: ; 119685 (46:5685)
+ call BattleTowerRoomMenu2
+ ret c
+ ld a, $14
+ ld [wcf66], a
+ ld a, $a
+ ld [wc300], a
+ ret
+
+Function119694: ; 119694 (46:5694)
+ ld b, 0
+ ld hl, Unknown_1196b8
+.asm_119699
+ ld de, $c708
+ ld a, [de]
+ inc de
+ cp [hl]
+ inc hl
+ jr nz, .asm_1196af
+ ld a, [de]
+ inc de
+ cp [hl]
+ inc hl
+ jr nz, .asm_1196b0
+ ld a, [de]
+ inc de
+ cp [hl]
+ inc hl
+ jr nz, .asm_1196b1
+ ret
+.asm_1196af
+ inc hl
+.asm_1196b0
+ inc hl
+.asm_1196b1
+ inc b
+ ld a, b
+ cp $7
+ jr nz, .asm_119699
+ ret
+; 1196b8 (46:56b8)
+
+Unknown_1196b8: ; 1196b8
+ db "Mon"
+ db "Tue"
+ db "Wed"
+ db "Thu"
+ db "Fri"
+ db "Sat"
+ db "Sun"
+; 1196cd
+
+SECTION "bank46_2", ROMX
+; A hack to use ascii above.
+
+Function1196cd: ; 1196cd (46:56cd)
+ ld de, $c719
+ call Function1196de
+ ld [wcd4a], a
+ inc de
+ call Function1196de
+ ld [wcd4b], a
+ ret
+
+Function1196de: ; 1196de (46:56de)
+ ld a, [de]
+ inc de
+ ; b = ([de] - 48) * 2
+ ; c = ([de] - 48) * 10
+ sub $30
+ sla a
+ ld b, a
+ sla a
+ sla a
+ add b
+ ld c, a
+ add hl, bc
+ ld a, [de]
+ inc de
+ sub $30
+ add c
+ ret
+; 1196f2 (46:56f2)
+
+Function1196f2: ; 1196f2
+ ld hl, wd002
+.asm_1196f5
+ call Function118b9a
+ ret nc
+ ld a, [hli]
+ cp $d
+ jr nz, .asm_1196f5
+ ld a, [hl]
+ cp $a
+ jr nz, .asm_1196f5
+ xor a
+ ld [hld], a
+ ld [hli], a
+ ld a, l
+ ld [wcd5b], a
+ ld a, h
+ ld [wcd5c], a
+ inc hl
+ ld e, l
+ ld d, h
+ ld a, [de]
+ inc de
+ cp $d
+ jr nz, .asm_119722
+ ld a, [de]
+ inc de
+ cp $a
+ jr nz, .asm_119722
+ ld a, $b
+ jp Function118805
+
+.asm_119722
+ call Random
+ ld c, $0
+ ld b, c
+.asm_119728
+ call Function119798
+ ld a, d
+ cp $ff
+ jr nz, .asm_119735
+ ld a, e
+ cp $ff
+ jr z, .asm_11974c
+
+.asm_119735
+ ld a, [hRandomSub]
+ cp d
+ jr c, .asm_11974c
+ jr z, .asm_11973e
+ jr .asm_119745
+
+.asm_11973e
+ ld a, [hRandomAdd]
+ cp e
+ jr c, .asm_11974c
+ jr z, .asm_11974c
+
+.asm_119745
+ inc bc
+ ld a, c
+ or b
+ jr z, .asm_119770
+ jr .asm_119728
+
+.asm_11974c
+ ld a, [wcd5b]
+ ld l, a
+ ld a, [wcd5c]
+ ld h, a
+.asm_119754
+ ld a, [hld]
+ cp $58
+ jr nz, .asm_119754
+ ld d, $0
+.asm_11975b
+ inc d
+ ld a, [hld]
+ cp $58
+ jr z, .asm_11975b
+ inc hl
+ inc hl
+ ld a, d
+ dec a
+ jr z, .asm_11978e
+ dec a
+ jr z, .asm_119785
+ dec a
+ jr z, .asm_11977e
+ dec a
+ jr z, .asm_119775
+
+.asm_119770
+ ld a, $d3
+ jp Function118805
+
+.asm_119775
+ ld a, b
+ and $f0
+ swap a
+ call Function1197bf
+ ld [hli], a
+
+.asm_11977e
+ ld a, b
+ and $f
+ call Function1197bf
+ ld [hli], a
+
+.asm_119785
+ ld a, c
+ and $f0
+ swap a
+ call Function1197bf
+ ld [hli], a
+
+.asm_11978e
+ ld a, c
+ and $f
+ call Function1197bf
+ ld [hli], a
+ jp BattleTowerRoomMenu_IncrementJumptable
+; 119798
+
+Function119798: ; 119798
+ ld d, $0
+ ld e, d
+ call Function1197b4
+ swap a
+ or d
+ ld d, a
+ call Function1197b4
+ or d
+ ld d, a
+ call Function1197b4
+ swap a
+ or e
+ ld e, a
+ call Function1197b4
+ or e
+ ld e, a
+ ret
+; 1197b4
+
+Function1197b4: ; 1197b4
+ ld a, [hli]
+ cp $61
+ jr nc, .asm_1197bc
+ sub $30
+ ret
+
+.asm_1197bc
+ sub $57
+ ret
+; 1197bf
+
+Function1197bf: ; 1197bf
+ cp $a
+ jr nc, .asm_1197c6
+ add $30
+ ret
+
+.asm_1197c6
+ add $57
+ ret
+; 1197c9
+
+Function1197c9: ; 1197c9
+ ld hl, wd002
+ call Function118e39
+ ld a, $9
+ ld [wcd3c], a
+ ld a, $12
+ ld [wMobileInactivityTimerSeconds], a
+ call BattleTowerRoomMenu_IncrementJumptable
+
+Function1197dc:
+ call BattleTowerRoomMenu2
+ ret c
+ call DelayFrame
+ ld hl, wd002
+ ld de, wcc60
+ ld bc, $0080
+ call CopyBytes
+ dec de
+ xor a
+ ld [de], a
+ call Function118b24
+ ld de, w3_d000
+ ld bc, $1000
+ ld a, $2a
+ jp Function119e2b
+; 119800
+
+Function119800: ; 119800
+ ld a, $fd
+ ld [$c6d0], a
+ ld [wOTTrademonSpecies], a
+ ld a, [wcd81]
+ ld [wc74e], a
+ ld a, [wJumptableIndex]
+ push af
+ ld a, [wcf64]
+ push af
+ ld a, [wcf65]
+ push af
+ ld a, [wcf66]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ call FadeToMenu
+ callba Function10803d
+ call Function11a9ce
+ call RestartMapMusic
+ ld a, $3
+ ld [rSVBK], a
+ pop af
+ ld [wcf66], a
+ pop af
+ ld [wcf65], a
+ pop af
+ ld [wcf64], a
+ pop af
+ ld [wJumptableIndex], a
+ callba Function115dc3
+ jp BattleTowerRoomMenu_IncrementJumptable
+; 11984e
+
+Function11984e: ; 11984e
+ ld a, [wcd80]
+ and a
+ jr nz, .asm_1198a0
+ ld a, [wcd38]
+ and a
+ jr nz, .asm_1198a8
+ callba Function170000
+ ld a, [wJumptableIndex]
+ push af
+ ld a, [wcf64]
+ push af
+ ld a, [wcf65]
+ push af
+ ld a, [wcf66]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ call FadeToMenu
+ callba MobileTradeAnimation_SendGivemonToGTS
+ call Function11a9ce
+ call RestartMapMusic
+ ld a, $3
+ ld [rSVBK], a
+ pop af
+ ld [wcf66], a
+ pop af
+ ld [wcf65], a
+ pop af
+ ld [wcf64], a
+ pop af
+ ld [wJumptableIndex], a
+ callba Function115dc3
+ jp BattleTowerRoomMenu_IncrementJumptable
+
+.asm_1198a0
+ ld a, $a
+ ld [wc300], a
+ jp BattleTowerRoomMenu_IncrementJumptable
+
+.asm_1198a8
+ callba Function17005a
+ ld a, [wJumptableIndex]
+ push af
+ ld a, [wcf64]
+ push af
+ ld a, [wcf65]
+ push af
+ ld a, [wcf66]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ call FadeToMenu
+ callba MobileTradeAnimation_RetrieveGivemonFromGTS
+ call Function11a9ce
+ call RestartMapMusic
+ ld a, $3
+ ld [rSVBK], a
+ pop af
+ ld [wcf66], a
+ pop af
+ ld [wcf65], a
+ pop af
+ ld [wcf64], a
+ pop af
+ ld [wJumptableIndex], a
+ callba Function115dc3
+ jp BattleTowerRoomMenu_IncrementJumptable
+; 1198ee
+
+Function1198ee: ; 1198ee
+ ld hl, Text_RegisteringRecord
+ call BattleTowerRoomMenu_SetMessage
+ call BattleTowerRoomMenu_IncrementJumptable
+
+Function1198f7:
+ ld a, [$c31a]
+ and a
+ ret nz
+ ld hl, $c608 + 2
+ call Function119940
+ ld hl, w3_d800
+ ld a, $c608 % $100
+ ld [hli], a
+ ld a, $c608 / $100
+ ld [hli], a
+ ld a, $f6
+ ld [hli], a
+ xor a
+ ld [hli], a
+ ld a, $c708 % $100
+ ld [hli], a
+ ld a, $c708 / $100
+ ld [hli], a
+ ld a, [wcd51]
+ ld [hli], a
+ ld a, [wcd52]
+ ld [hli], a
+ call Function119eb4
+ call Function119ec2
+ ld a, $40
+ ld [wcd89], a
+ ld hl, w3_d800
+ ld de, $de00
+ ld bc, $0200
+ ld a, $2c
+ jp Function119e2b
+; 119937
+
+Function119937: ; 119937
+ callba Function1707f4
+ jp BattleTowerRoomMenu_IncrementJumptable
+; 119940
+
+Function119940: ; 119940
+ ld de, wc3cd
+ ld c, $1e
+.asm_119945
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec c
+ jr z, .asm_119953
+ and a
+ jr nz, .asm_119945
+ xor a
+.asm_11994f
+ ld [hli], a
+ dec c
+ jr nz, .asm_11994f
+
+.asm_119953
+ ret
+; 119954
+
+Function119954: ; 119954
+ ld a, $1c
+ ld [wcd3c], a
+ call BattleTowerRoomMenu2
+ ld hl, $c608
+ ld de, wc3cd
+.asm_119962
+ ld a, [de]
+ inc de
+ ld [hli], a
+ and a
+ jr nz, .asm_119962
+ call Function119ec2
+ ld hl, $c608
+ ld a, $1e
+ jp Function119e2b
+; 119973
+
+Function119973: ; 119973
+ ld a, $1
+ ld [wcf64], a
+ xor a
+ ld [wcf65], a
+ ld [w3_d090], a
+ ld de, w3_d000
+ ld a, $20
+ jp Function119e2b
+; 119987
+
+Function119987: ; 119987
+ ld hl, w3_d000 + 1
+ ld a, [w3_d000]
+ or [hl]
+ jr z, .asm_1199a0
+ ld a, [wcf64]
+ ld l, a
+ ld a, [wcf65]
+ ld h, a
+ ld de, BGPals
+ ld a, $22
+ jp Function119e2b
+
+.asm_1199a0
+ ld a, [w3_d090]
+ and a
+ jr z, .asm_1199ae
+ ld a, $16
+ ld [wcf66], a
+ jp Function119b0d
+
+.asm_1199ae
+ ld a, $1b
+ ld [wcf66], a
+ ret
+; 1199b4
+
+Function1199b4: ; 1199b4
+ ld a, [wd000 + 130]
+ and a
+ jr nz, .asm_1199c7
+ ld a, [wd000 + 129]
+ cp $7
+ jr nc, .asm_1199c7
+ call BattleTowerRoomMenu_IncrementJumptable
+ jp Function1199ca
+
+.asm_1199c7
+ jp Function119ac9
+; 1199ca
+
+Function1199ca: ; 1199ca
+ ld a, $20
+ ld [wcd89], a
+ ld a, [wcf64]
+ ld l, a
+ ld a, [wcf65]
+ ld h, a
+ ld de, w3_d100
+ ld bc, $0700
+ ld a, $28
+ jp Function119e2b
+; 1199e2
+
+Function1199e2: ; 1199e2
+ ld c, $c
+ ld de, XGameCodePrefix
+ call Function119e4f
+ jp c, Function119ac9
+ ld a, c
+ cp $1
+ jp nz, Function119ac9
+ ld hl, w3_d880
+ ld bc, XGameCode
+.loop
+ ld a, [bc]
+ and a
+ jr z, .game_result_prefix
+ cp [hl]
+ jp nz, Function119ac9
+ inc bc
+ inc hl
+ jr .loop
+
+.game_result_prefix
+ ld c, $17
+ ld de, XGameResultPrefix
+ call Function119e4f
+ jp c, .asm_119aa7
+ ld a, c
+ cp $1
+ jp nz, .asm_119aa7
+ ld a, [w3_d880]
+ cp $31
+ jp nz, .asm_119aa7
+ ld a, [w3_d881]
+ cp $20
+ jp nz, .asm_119aa7
+ ld a, [w3_d88a]
+ cp $20
+ jp nz, .asm_119aa7
+ ld a, [w3_d894]
+ cp $20
+ jp nz, .asm_119aa7
+ xor a
+ ld [w3_d8a0], a
+ ld [w3_d8a1], a
+ ld [w3_d8a2], a
+ ld [w3_d8a3], a
+ ld hl, $d8a0
+ ld bc, $d889
+ call Function119e98
+ call Function119e98
+ ld hl, $d8a0
+ ld a, [wcd2d]
+ cp [hl]
+ jr nz, Function119ac9
+ inc hl
+ ld a, [wcd2c]
+ cp [hl]
+ jr nz, Function119ac9
+ inc hl
+ ld a, [wcd2b]
+ cp [hl]
+ jr nz, Function119ac9
+ inc hl
+ ld a, [wcd2a]
+ cp [hl]
+ jr nz, Function119ac9
+ xor a
+ ld [w3_d8a0], a
+ ld [w3_d8a1], a
+ ld [w3_d8a2], a
+ ld [w3_d8a3], a
+ ld hl, $d8a0
+ ld bc, $d88e
+ call Function119e98
+ ld bc, $d893
+ call Function119e98
+ ld hl, $d8a0
+ ld a, [wcd2f]
+ cp [hl]
+ jr nz, .asm_119aa7
+ inc hl
+ ld a, [wcd2e]
+ cp [hl]
+ jr nz, .asm_119aa7
+ inc hl
+ ld a, [wcd31]
+ cp [hl]
+ jr nz, .asm_119aa7
+ inc hl
+ ld a, [wcd30]
+ cp [hl]
+ jr z, .asm_119aaf
+
+.asm_119aa7
+ ld a, $25
+ ld [wcf66], a
+ jp Function119b45
+
+.asm_119aaf
+ ld a, [w3_d090]
+ and a
+ jr nz, .asm_119aa7
+ ld a, [w3_d895]
+ sub $30
+ ld [w3_d090], a
+ ld a, [wcf64]
+ ld [w3_d090 + 1], a
+ ld a, [wcf65]
+ ld [w3_d090 + 2], a
+
+Function119ac9:
+ ld a, [w3_d000]
+ ld l, a
+ ld a, [w3_d000 + 1]
+ ld h, a
+ dec hl
+ ld a, l
+ ld [w3_d000], a
+ ld a, h
+ ld [w3_d000 + 1], a
+ ld a, [wcf64]
+ ld l, a
+ ld a, [wcf65]
+ ld h, a
+ inc hl
+ ld a, l
+ ld [wcf64], a
+ ld a, h
+ ld [wcf65], a
+ ld a, $10
+ ld [wcf66], a
+ ret
+; 119af1
+
+XGameCode:
+INCBIN "data/mobile/x-game-code.txt"
+XGameResult:
+INCBIN "data/mobile/x-game-result.txt"
+; 119b0d
+
+Function119b0d: ; 119b0d
+ ld a, $8
+ ld [wcd3c], a
+ call BattleTowerRoomMenu2
+ ld a, [w3_d090]
+ cp $1
+ jr z, .asm_119b23
+ ld a, $19
+ ld [wcf66], a
+ jr Function119b3b
+
+.asm_119b23
+ ld a, $10
+ ld [wcd89], a
+ ld a, [w3_d090 + 1]
+ ld l, a
+ ld a, [w3_d090 + 2]
+ ld h, a
+ ld de, w3_d100
+ ld bc, $0700
+ ld a, $24
+ jp Function119e2b
+
+Function119b3b:
+ ld a, [w3_d090 + 1]
+ ld l, a
+ ld a, [w3_d090 + 2]
+ ld h, a
+ jr asm_119b4d
+
+Function119b45:
+ ld a, [wcf64]
+ ld l, a
+ ld a, [wcf65]
+ ld h, a
+
+asm_119b4d
+ ld a, $26
+ jp Function119e2b
+; 119b52
+
+Function119b52: ; 119b52
+ ld a, [w3_d090]
+ cp $1
+ jr nz, .asm_119b66
+ ld a, $5
+ call GetSRAMBank
+ ld a, $4
+ ld [$a800], a
+ call CloseSRAM
+
+.asm_119b66
+ ld a, $1c
+ jp Function119e2b
+; 119b6b
+
+Function119b6b: ; 119b6b
+ ld a, [w3_d090]
+ cp $1
+ jr z, .asm_119b75
+ jp BattleTowerRoomMenu_IncrementJumptable
+
+.asm_119b75
+ ld a, [w3_d100]
+ ld b, a
+ ld a, [w3_d100 + 1]
+ or b
+ jr z, .asm_119be3
+ ld hl, w3_d800
+ ld de, w3_d100 + 2
+.asm_119b85
+ ld a, [de]
+ inc de
+ cp $d
+ jr nz, .asm_119b85
+ inc de
+ ld a, [de]
+ cp $d
+ jr nz, .asm_119b85
+ inc de
+ inc de
+.asm_119b93
+ ld a, [de]
+ inc de
+ cp $d
+ jr z, .asm_119bfa
+ call Function119c3e
+ ret c
+ ld [hli], a
+ ld a, [de]
+ inc de
+ call Function119c3e
+ ret c
+ ld [hli], a
+ ld a, [de]
+ inc de
+ call Function119c3e
+ ret c
+ ld [hli], a
+ ld a, [de]
+ inc de
+ call Function119c3e
+ ret c
+ ld [hl], a
+ push de
+ ld d, [hl]
+ dec hl
+ ld c, [hl]
+ dec hl
+ ld b, [hl]
+ dec hl
+ ld a, [hl]
+ sla b
+ sla b
+ sla b
+ rla
+ sla b
+ rla
+ ld [hli], a
+ ld [hl], b
+ inc hl
+ rrc c
+ rrc c
+ ld [hl], c
+ dec hl
+ ld a, $f
+ and c
+ or [hl]
+ ld [hli], a
+ ld a, [hli]
+ and $c0
+ or [hl]
+ dec hl
+ ld [hld], a
+ dec hl
+ pop de
+ inc hl
+ inc hl
+ inc hl
+ ld a, h
+ cp $e0
+ jr c, .asm_119b93
+
+.asm_119be3
+ ld a, $19
+ ld [wcf66], a
+ ld a, $5
+ call GetSRAMBank
+ ld a, $1
+ ld [$a800], a
+ call CloseSRAM
+ xor a
+ ld [w3_d090], a
+ ret
+
+.asm_119bfa
+ inc de
+ ld a, [de]
+ cp $d
+ jr nz, .asm_119b93
+ ld a, l
+ cp (w3_d869) % $100
+ jr nz, .asm_119be3
+ ld a, h
+ cp (w3_d869) / $100
+ jr nz, .asm_119be3
+ ld a, $5
+ call GetSRAMBank
+ ld a, [wcf64]
+ ld [$b090], a
+ ld a, [wcf65]
+ ld [$b091], a
+ ld hl, w3_d800
+ ld de, $b023
+ ld bc, $0069
+ call CopyBytes
+ ld a, $3
+ ld [$a800], a
+ call CloseSRAM
+ ld hl, w3_d800
+ ld de, $c608
+ ld bc, $0069
+ call CopyBytes
+ jp BattleTowerRoomMenu_IncrementJumptable
+; 119c3e
+
+Function119c3e: ; 119c3e
+ cp $2b
+ jr c, .asm_119c68
+ jr z, .asm_119c80
+ cp $2f
+ jr c, .asm_119c68
+ jr z, .asm_119c84
+ cp $30
+ jr c, .asm_119c68
+ cp $3a
+ jr c, .asm_119c88
+ cp $3d
+ jr c, .asm_119c68
+ jr z, .asm_119c8c
+ cp $41
+ jr c, .asm_119c68
+ cp $5b
+ jr c, .asm_119c8f
+ cp $61
+ jr c, .asm_119c68
+ cp $7b
+ jr c, .asm_119c93
+
+.asm_119c68
+ ld a, $19
+ ld [wcf66], a
+ ld a, $5
+ call GetSRAMBank
+ ld a, $1
+ ld [$a800], a
+ call CloseSRAM
+ xor a
+ ld [w3_d090], a
+ scf
+ ret
+
+.asm_119c80
+ ld a, $3e
+ and a
+ ret
+
+.asm_119c84
+ ld a, $3f
+ and a
+ ret
+
+.asm_119c88
+ add $4
+ and a
+ ret
+
+.asm_119c8c
+ xor a
+ and a
+ ret
+
+.asm_119c8f
+ sub $41
+ and a
+ ret
+
+.asm_119c93
+ sub $47
+ and a
+ ret
+; 119c97
+
+BattleTowerRoomMenu_UberRestrictionMessage: ; 119c97
+ ld hl, Text_UberRestriction
+ call BattleTowerRoomMenu_SetMessage
+ call BattleTowerRoomMenu_IncrementJumptable
+ jr BattleTowerRoomMenu_WaitForMessage
+
+BattleTowerRoomMenu_PartyMonTopsThisLevelMessage:
+ ld hl, Text_PartyMonTopsThisLevel
+ call BattleTowerRoomMenu_SetMessage
+ call BattleTowerRoomMenu_IncrementJumptable
+
+BattleTowerRoomMenu_WaitForMessage:
+ ld a, [$c31a]
+ and a
+ ret nz
+ ld a, $80
+ ld [wcd50], a
+ call BattleTowerRoomMenu_IncrementJumptable
+
+BattleTowerRoomMenu_DelayRestartMenu:
+ ; Loops while (--[wcd50] != 0),
+ ; to create some sort of "delay" after the message is written on the screen,
+ ; before starting the menu again.
+ ld hl, wcd50
+ dec [hl]
+ ret nz
+ ld a, $0
+ ld [wcf66], a
+ ret
+; 119cc3
+
+BattleTowerRoomMenu_QuitMessage: ; 119cc3
+ ld a, [wcd38]
+ and a
+ jr z, .asm_119cd1
+ dec a
+ jr z, .asm_119cd6
+ ld hl, Text_QuitReadingNews
+ jr .asm_119cd9
+
+.asm_119cd1
+ ld hl, Text_CancelBattleRoomChallenge
+ jr .asm_119cd9
+
+.asm_119cd6
+ ld hl, Text_ExitGymLeaderHonorRoll
+
+.asm_119cd9
+ call BattleTowerRoomMenu_SetMessage
+ call BattleTowerRoomMenu_IncrementJumptable
+
+BattleTowerRoomMenu_PlaceYesNoMenu:
+ ld a, [$c31a]
+ and a
+ ret nz
+ ld a, $f
+ ld [wcd3c], a
+ call BattleTowerRoomMenu_IncrementJumptable
+
+BattleTowerRoomMenu_UpdateYesNoMenu:
+ ; Only ever called when [wcd3c] is $10
+ call BattleTowerRoomMenu2
+ ret c
+ ld a, [wMobileInactivityTimerFrames]
+ ld [wcf66], a
+ ret
+; 119cf7
+
+MenuDataHeader_119cf7: ; 119cf7
+ db $40 ; flags
+ db 7, 12 ; start coords
+ db 11, 19 ; end coords
+ dw NULL
+ db 0 ; default option
+; 119cff
+
+MenuData_119cff: ; 119cff
+ db $40 ; flags
+ db 7, 15 ; start coords
+ db 11, 19 ; end coords
+ dw NULL
+ db 0 ; default option
+; 119d07
+
+String_119d07:
+ db " ▼@"
+
+Strings_L10ToL100: ; 119d0c
+ db " L:10 @@"
+ db " L:20 @@"
+ db " L:30 @@"
+ db " L:40 @@"
+ db " L:50 @@"
+ db " L:60 @@"
+ db " L:70 @@"
+ db " L:80 @@"
+ db " L:90 @@"
+ db " L:100@@"
+ db "CANCEL@@"
+
+Strings_Ll0ToL40: ; 119d64
+ db " L:10 @@"
+ db " L:20 @@"
+ db " L:30 @@"
+ db " L:40 @@"
+ db "CANCEL@@"
+
+String_119d8c:
+ db "CANCEL@"
+; 119d93
+
+BattleTower_LevelCheck: ; 119d93 (46:5d93)
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ ld a, [wcd4f]
+ ld c, 10
+ call SimpleMultiply
+ ld hl, wcd50
+ ld [hl], a
+ ld bc, PARTYMON_STRUCT_LENGTH
+ ld de, PartyMon1Level
+ ld a, [PartyCount]
+.party_loop
+ push af
+ ld a, [de]
+ push hl
+ push de
+ pop hl
+ add hl, bc
+ push hl
+ pop de
+ pop hl
+ cp [hl]
+ jr z, .equal
+ jr nc, .exceeds
+.equal
+ pop af
+ dec a
+ jr nz, .party_loop
+ pop af
+ ld [rSVBK], a
+ and a
+ ret
+
+.exceeds
+ pop af
+ ld a, $4
+ ld [wcf66], a
+ pop af
+ ld [rSVBK], a
+ scf
+ ret
+
+BattleTower_UbersCheck: ; 119dd1 (46:5dd1)
+ ld a, [rSVBK]
+ push af
+ ld a, [wcd4f]
+ cp 70 / 10
+ jr nc, .level_70_or_more
+ ld a, $1
+ ld [rSVBK], a
+ ld hl, PartyMon1Level
+ ld bc, PARTYMON_STRUCT_LENGTH
+ ld de, PartySpecies
+ ld a, [PartyCount]
+.loop
+ push af
+ ld a, [de]
+ cp MEWTWO
+ jr z, .uber
+ cp MEW
+ jr z, .uber
+ cp LUGIA
+ jr c, .next
+ cp NUM_POKEMON + 1
+ jr nc, .next
+.uber
+ ld a, [hl]
+ cp 70
+ jr c, .uber_under_70
+.next
+ add hl, bc
+ inc de
+ pop af
+ dec a
+ jr nz, .loop
+.level_70_or_more
+ pop af
+ ld [rSVBK], a
+ and a
+ ret
+
+.uber_under_70
+ pop af
+ ld a, [de]
+ ld [wd265], a
+ call GetPokemonName
+ ld hl, StringBuffer1
+ ld de, wcd49
+ ld bc, PKMN_NAME_LENGTH
+ call CopyBytes
+ ld a, $a
+ ld [wcf66], a
+ pop af
+ ld [rSVBK], a
+ scf
+ ret
+; 119e2b (46:5e2b)
+
+Function119e2b: ; 119e2b (46:5e2b)
+ call Function3e32
+
+BattleTowerRoomMenu_IncrementJumptable: ; 119e2e (46:5e2e)
+ ld hl, wcf66
+ inc [hl]
+ ret
+; 119e33 (46:5e33)
+
+XGameCodePrefix: ; 119e33
+INCBIN "data/mobile/x-game-code-prefix.txt"
+XGameCodePrefixEnd:
+;119e40
+
+XGameResultPrefix: ; 119e40
+INCBIN "data/mobile/x-game-result-prefix.txt"
+XGameResultPrefixEnd:
+; 119e4f
+
+Function119e4f: ; 119e4f
+ push bc
+ ld hl, w3_d100
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld b, a
+.loop
+ ld a, [de]
+ cp [hl]
+ jr z, .found_equality
+.next
+ inc hl
+ dec bc
+ ld a, b
+ or c
+ jr nz, .loop
+.return_carry
+ pop bc
+ scf
+ ret
+
+.found_equality
+ push de
+.loop2
+ ld a, [de]
+ inc de
+ cp "\n"
+ jr z, .newline
+ cp [hl]
+ jr nz, .unequal
+ inc hl
+ dec bc
+ ld a, b
+ or c
+ jr nz, .loop2
+ pop de
+ jr .return_carry
+
+.unequal
+ pop de
+ jr .next
+
+.newline
+ pop de
+ pop bc
+ inc hl
+ ld de, w3_d880
+.loop3
+ ld a, [hli]
+ ld [de], a
+ inc de
+ cp $d
+ jr z, .finish
+ dec c
+ jr nz, .loop3
+ scf
+ ret
+
+.finish
+ and a
+ ret
+; 119e8e
+
+Function119e8e: ; 119e8e
+ cp $60
+ jr c, .less_than_0x60
+ sub $57
+ ret
+
+.less_than_0x60
+ sub $30
+ ret
+; 119e98
+
+Function119e98: ; 119e98
+ ld a, $2
+.loop
+ push af
+ ld a, [bc]
+ dec bc
+ call Function119e8e
+ or [hl]
+ ld [hl], a
+ ld a, [bc]
+ dec bc
+ call Function119e8e
+ rlca
+ rlca
+ rlca
+ rlca
+ or [hl]
+ ld [hl], a
+ inc hl
+ pop af
+ dec a
+ and a
+ jr nz, .loop
+ ret
+; 119eb4
+
+Function119eb4: ; 119eb4 (46:5eb4)
+ xor a
+ ld [wc3cc], a
+ ld de, wc3ac
+.loop
+ ld a, [de]
+ inc de
+ ld [hli], a
+ and a
+ jr nz, .loop
+ ret
+
+Function119ec2: ; 119ec2 (46:5ec2)
+ ld a, BANK(sMobileLoginPassword)
+ call GetSRAMBank
+ xor a
+ ld [sMobileLoginPassword + MOBILE_LOGIN_PASSWORD_LENGTH], a
+ ld de, sMobileLoginPassword + 1
+.loop
+ ld a, [de]
+ inc de
+ ld [hli], a
+ and a
+ jr nz, .loop
+ call CloseSRAM
+ ret
+
+BattleTowerRoomMenu2: ; 119ed8 (46:5ed8)
+ ld a, [rSVBK]
+ ld [wcd8c], a
+ ld a, $1
+ ld [rSVBK], a
+
+ call .RunJumptable
+
+ ld a, [wcd8c]
+ ld [rSVBK], a
+ ld a, $1
+ ld [hBGMapMode], a
+ ret
+
+.RunJumptable:
+ jumptable .Jumptable, wcd3c
+
+.Jumptable:
+ dw Function119f3f
+ dw Function119f45
+ dw Function119f56
+ dw Function119f76
+ dw Function119f98
+ dw Function11a113
+ dw Function11a129
+ dw Function11a131
+ dw Function11a13d
+ dw Function11a14b
+ dw Function11a16d
+ dw Function11a192
+ dw Function11a2e6
+ dw Function11a302
+ dw Function11a33a
+ dw BattleTowerRoomMenu2_PlaceYesNoMenu
+ dw BattleTowerRoomMenu2_UpdateYesNoMenu
+ dw Function11a357
+ dw Function11a36b
+ dw Function11a38d
+ dw Function11a3c5
+ dw Function11a3d9
+ dw Function11a3f9
+ dw Function11a41b
+ dw Function11a452
+ dw Function11a47a
+ dw Function11a488
+ dw Function11a49e
+ dw Function11a4db
+ dw Function11a4e8
+ dw Function11a4fe
+ dw Function11a466
+ dw Function11a47a
+; 119f3f
+
+Function119f3f: ; 119f3f
+ call Function11a5b9
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 119f45
+
+Function119f45: ; 119f45
+ hlcoord 4, 2
+ ld de, String_11a661
+ call PlaceString
+ ld a, $80
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 119f56
+
+Function119f56: ; 119f56
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr z, .asm_119f62
+ dec a
+ ld [wMobileInactivityTimerMinutes], a
+ scf
+ ret
+
+.asm_119f62
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a6aa
+ call PlaceString
+ ld a, $80
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 119f76
+
+Function119f76: ; 119f76
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr z, .asm_119f82
+ dec a
+ ld [wMobileInactivityTimerMinutes], a
+ scf
+ ret
+
+.asm_119f82
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a679
+ call PlaceString
+ call Function11a5f5
+ xor a
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 119f98
+
+Function119f98: ; 119f98
+ call Function11a536
+ ret c
+ call PlayClickSFX
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr nz, .asm_119fef
+ call ExitMenu
+ call Function11a63c
+ xor a
+ ld [ScriptVar], a
+ call Function11a00e
+ ld a, [ScriptVar]
+ and a
+ jr z, .asm_119fd4
+ call ExitMenu
+ callba ReloadMapPart
+ callba Function115dc3
+ ld a, [wcd33]
+ ld [wcf66], a
+ ld a, $a
+ ld [wc300], a
+ scf
+ ret
+
+.asm_119fd4
+ hlcoord 4, 2
+ ld de, String_11a692
+ call PlaceString
+ ld a, $1
+ ld [wc30d], a
+ ld a, $1
+ ld [wc314], a
+ callba ReloadMapPart
+ and a
+ ret
+
+.asm_119fef
+ call ExitMenu
+ call ExitMenu
+ callba ReloadMapPart
+ ld a, [wMobileInactivityTimerSeconds]
+ ld [wcf66], a
+ callba Function115dc3
+ ld a, $a
+ ld [wc300], a
+ scf
+ ret
+; 11a00e
+
+Function11a00e: ; 11a00e
+ ld a, BANK(sMobileLoginPassword)
+ call GetSRAMBank
+ ld a, [sMobileLoginPassword]
+ and a
+ jr z, .asm_11a02a
+ ld a, [sMobileLoginPassword + 1]
+ call CloseSRAM
+ and a
+ ret nz
+ ld a, BANK(sMobileLoginPassword)
+ call GetSRAMBank
+ xor a
+ ld [sMobileLoginPassword], a
+
+.asm_11a02a
+ call CloseSRAM
+ ld a, [BGMapPalBuffer]
+ and a
+ jr z, .asm_11a039
+ dec a
+ jr z, .asm_11a081
+ jp Function11a0ca
+
+.asm_11a039
+ ld a, $3
+ ld [rSVBK], a
+ ld hl, $c608
+ ld de, w3_d800
+ ld bc, $00f6
+ call CopyBytes
+ ld a, $1
+ ld [rSVBK], a
+ call FadeToMenu
+ callba Function11765d
+ call Function11a9ce
+ ld a, $3
+ ld [rSVBK], a
+ ld hl, w3_d800
+ ld de, $c608
+ ld bc, $00f6
+ call CopyBytes
+ ld a, $1
+ ld [rSVBK], a
+ callba Function115d99
+ ld c, $0
+ callba Function115e18
+ ld a, $1
+ ld [wc305], a
+ ret
+
+.asm_11a081
+ xor a
+ ld [wMenuBorderLeftCoord], a
+ ld [wMenuBorderTopCoord], a
+ ld a, $13
+ ld [wMenuBorderRightCoord], a
+ ld a, $5
+ ld [wMenuBorderBottomCoord], a
+ call PushWindow
+ callba Function11765d
+ callba Function117ab4
+ callba MobileFunc_106462
+ callba Function106464
+ call ExitMenu
+ callba ReloadMapPart
+ callba Function115d99
+ ld c, $0
+ callba Function115e18
+ ld a, $1
+ ld [wc305], a
+ ret
+; 11a0ca
+
+Function11a0ca: ; 11a0ca
+ xor a
+ ld [wMenuBorderLeftCoord], a
+ ld [wMenuBorderTopCoord], a
+ ld a, $13
+ ld [wMenuBorderRightCoord], a
+ ld a, $11
+ ld [wMenuBorderBottomCoord], a
+ call PushWindow
+ callba Function11765d
+ callba Function17d3f6
+ callba MobileFunc_106462
+ callba Function106464
+ call ExitMenu
+ callba ReloadMapPart
+ callba Function115d99
+ ld c, $0
+ callba Function115e18
+ ld a, $1
+ ld [wc305], a
+ ret
+; 11a113
+
+Function11a113: ; 11a113
+ call Function11a63c
+ ld c, $1
+ callba Function115e18
+ hlcoord 4, 2
+ ld de, String_11a6c8
+ call PlaceString
+ and a
+ ret
+; 11a129
+
+Function11a129: ; 11a129
+ ld a, $80
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 11a131
+
+Function11a131: ; 11a131
+ ld hl, wMobileInactivityTimerMinutes
+ dec [hl]
+ ret nz
+ ld a, [wcd3c]
+ inc a
+ ld [wcd3c], a
+
+Function11a13d:
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a6d2
+ call PlaceString
+ and a
+ ret
+; 11a14b
+
+Function11a14b: ; 11a14b
+ ld hl, wcd85
+ ld a, [hl]
+ cp $f3
+ jr nz, .asm_11a155
+ and a
+ ret
+
+.asm_11a155
+ call Function11a1d6
+ ret c
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a6f1
+ call PlaceString
+ ld a, $80
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 11a16d
+
+Function11a16d: ; 11a16d
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr z, .asm_11a179
+ dec a
+ ld [wMobileInactivityTimerMinutes], a
+ scf
+ ret
+
+.asm_11a179
+ call Function11a63c
+ call Function11a1e6
+ hlcoord 4, 2
+ ld de, $c346
+ call PlaceString
+ call Function11a5f5
+ xor a
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 11a192
+
+Function11a192: ; 11a192
+ call Function11a536
+ ret c
+ call PlayClickSFX
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr nz, .asm_11a1b6
+ call ExitMenu
+ callba ReloadMapPart
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a6d2
+ call PlaceString
+ and a
+ ret
+
+.asm_11a1b6
+ call ExitMenu
+ callba ReloadMapPart
+ ld a, [wMobileInactivityTimerSeconds]
+ ld [wcf66], a
+ ld [wcd80], a
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a6d2
+ call PlaceString
+ scf
+ ret
+; 11a1d6
+
+Function11a1d6: ; 11a1d6
+ ld a, [wcd85]
+ cp $50
+ jr nz, .asm_11a1e4
+ ld a, $d3
+ call Function118805
+ scf
+ ret
+
+.asm_11a1e4
+ and a
+ ret
+; 11a1e6
+
+Function11a1e6: ; 11a1e6
+ ld hl, String_11a706
+ ld de, $c346
+ call Function11a1ff
+ ld hl, wcd85
+ call Function11a1ff
+ ld hl, String_11a70b
+ call Function11a1ff
+ ld a, $50
+ ld [de], a
+ ret
+; 11a1ff
+
+Function11a1ff: ; 11a1ff
+.asm_11a1ff
+ ld a, [hli]
+ cp $50
+ ret z
+ ld [de], a
+ inc de
+ jr .asm_11a1ff
+; 11a207
+
+BattleTowerRoomMenu2_PlaceYesNoMenu: ; 11a207
+ ld hl, MenuDataHeader_11a2de
+ call LoadMenuDataHeader
+ call MenuBox
+ call MenuBoxCoord2Tile
+ call ApplyTilemap
+ hlcoord 16, 8
+ ld de, String_11a2cf
+ call PlaceString
+ hlcoord 16, 10
+ ld de, String_11a2d3
+ call PlaceString
+ hlcoord 15, 8
+ ld a, $ed
+ ld [hl], a
+ xor a
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 11a235
+
+BattleTowerRoomMenu2_UpdateYesNoMenu: ; 11a235
+ ld hl, hJoyPressed
+ ld a, [hl]
+ and A_BUTTON
+ jr nz, .a_button
+ ld a, [hl]
+ and B_BUTTON
+ jr nz, .b_button
+ ld a, [hl]
+ and D_UP
+ jr nz, .d_up
+ ld a, [hl]
+ and D_DOWN
+ jr nz, .d_down
+.asm_11a24c
+ call Function11a9f0
+ scf
+ ret
+
+.d_up
+ xor a
+ ld [wcd8a], a
+ ld [wcd8b], a
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr z, .asm_11a24c
+ xor a
+ ld [wMobileInactivityTimerMinutes], a
+ hlcoord 15, 8
+ ld a, $ed
+ ld [hl], a
+ hlcoord 15, 10
+ ld a, $7f
+ ld [hl], a
+ jr .asm_11a24c
+
+.d_down
+ xor a
+ ld [wcd8a], a
+ ld [wcd8b], a
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr nz, .asm_11a24c
+ inc a
+ ld [wMobileInactivityTimerMinutes], a
+ hlcoord 15, 8
+ ld a, $7f
+ ld [hl], a
+ hlcoord 15, 10
+ ld a, $ed
+ ld [hl], a
+ jr .asm_11a24c
+
+.a_button
+ xor a
+ ld [wcd8a], a
+ ld [wcd8b], a
+ call PlayClickSFX
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr nz, .exit_no_carry
+ call ExitMenu
+ callba ReloadMapPart
+ ld a, [wMobileInactivityTimerFrames]
+ cp $0
+ jr z, .asm_11a2b4
+ ld a, [wcd47]
+ jr .exit_carry
+
+.asm_11a2b4
+ ld a, [wcd33]
+
+.exit_carry
+ ld [wcf66], a
+ ld a, $a
+ ld [wc300], a
+ scf
+ ret
+
+.b_button
+ call PlayClickSFX
+
+.exit_no_carry
+ call ExitMenu
+ callba ReloadMapPart
+ and a
+ ret
+; 11a2cf
+
+String_11a2cf: ; 11a2cf
+ db "YES@"
+; 11a2d3
+
+String_11a2d3: ; 11a2d3
+ db "NO@"
+; 11a2d6
+
+MenuDataHeader_11a2d6: ; 11a2d6
+ db $40 ; flags
+ db 6, 14 ; start coords
+ db 10, 19 ; end coords
+ dw NULL
+ db 0 ; default option
+; 11a2de
+
+MenuDataHeader_11a2de: ; 11a2de
+ db $40 ; flags
+ db 7, 14 ; start coords
+ db 11, 19 ; end coords
+ dw NULL
+ db 0 ; default option
+; 11a2e6
+
+Function11a2e6: ; 11a2e6
+ call Function11a63c
+ ld c, $2
+ callba Function115e18
+ hlcoord 4, 2
+ ld de, String_11a71e
+ call PlaceString
+ ld a, $80
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 11a302
+
+Function11a302: ; 11a302
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr z, .asm_11a30e
+ dec a
+ ld [wMobileInactivityTimerMinutes], a
+ scf
+ ret
+
+.asm_11a30e
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a72a
+ call PlaceString
+ hlcoord 9, 4
+ ld de, wcd68
+ lb bc, PRINTNUM_LEADINGZEROS | 1, 2
+ call PrintNum
+ hlcoord 14, 4
+ ld de, wcd67
+ lb bc, PRINTNUM_LEADINGZEROS | 1, 2
+ call PrintNum
+ ld a, $80
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 11a33a
+
+Function11a33a: ; 11a33a
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr z, .asm_11a346
+ dec a
+ ld [wMobileInactivityTimerMinutes], a
+ scf
+ ret
+
+.asm_11a346
+ call ExitMenu
+ callba ReloadMapPart
+ callba Function115dc3
+ and a
+ ret
+; 11a357
+
+Function11a357: ; 11a357
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a743
+ call PlaceString
+ ld a, $80
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 11a36b
+
+Function11a36b: ; 11a36b
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr z, .asm_11a377
+ dec a
+ ld [wMobileInactivityTimerMinutes], a
+ scf
+ ret
+
+.asm_11a377
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a755
+ call PlaceString
+ call Function11a5f5
+ xor a
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 11a38d
+
+Function11a38d: ; 11a38d
+ call Function11a536
+ ret c
+ call PlayClickSFX
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr nz, .asm_11a3b1
+ call ExitMenu
+ callba ReloadMapPart
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a6d2
+ call PlaceString
+ and a
+ ret
+
+.asm_11a3b1
+ call ExitMenu
+ callba ReloadMapPart
+ ld a, [wMobileInactivityTimerSeconds]
+ ld [wcf66], a
+ ld [wcd80], a
+ scf
+ ret
+; 11a3c5
+
+Function11a3c5: ; 11a3c5
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a762
+ call PlaceString
+ ld a, $80
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 11a3d9
+
+Function11a3d9: ; 11a3d9
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr z, .asm_11a3e5
+ dec a
+ ld [wMobileInactivityTimerMinutes], a
+ scf
+ ret
+
+.asm_11a3e5
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a779
+ call PlaceString
+ ld a, $80
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 11a3f9
+
+Function11a3f9: ; 11a3f9
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr z, .asm_11a405
+ dec a
+ ld [wMobileInactivityTimerMinutes], a
+ scf
+ ret
+
+.asm_11a405
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a755
+ call PlaceString
+ call Function11a5f5
+ xor a
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 11a41b
+
+Function11a41b: ; 11a41b
+ call Function11a536
+ ret c
+ call PlayClickSFX
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr nz, .asm_11a43f
+ call ExitMenu
+ callba ReloadMapPart
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a6d2
+ call PlaceString
+ and a
+ ret
+
+.asm_11a43f
+ call ExitMenu
+ callba ReloadMapPart
+ ld a, $1c
+ ld [wcf66], a
+ ld [wcd80], a
+ scf
+ ret
+; 11a452
+
+Function11a452: ; 11a452
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a791
+ call PlaceString
+ ld a, $80
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 11a466
+
+Function11a466: ; 11a466
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a7c1
+ call PlaceString
+ ld a, $80
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 11a47a
+
+Function11a47a: ; 11a47a
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr z, .asm_11a486
+ dec a
+ ld [wMobileInactivityTimerMinutes], a
+ scf
+ ret
+
+.asm_11a486
+ and a
+ ret
+; 11a488
+
+Function11a488: ; 11a488
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a7ac
+ call PlaceString
+ call Function11a5f5
+ xor a
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 11a49e
+
+Function11a49e: ; 11a49e
+ call Function11a536
+ ret c
+ call PlayClickSFX
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr nz, .asm_11a4c7
+ call ExitMenu
+ callba ReloadMapPart
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a6d2
+ call PlaceString
+ ld a, $14
+ ld [wcf66], a
+ and a
+ ret
+
+.asm_11a4c7
+ call ExitMenu
+ callba ReloadMapPart
+ ld a, [wMobileInactivityTimerFrames]
+ ld [wcf66], a
+ ld [wcd80], a
+ scf
+ ret
+; 11a4db
+
+Function11a4db: ; 11a4db
+ call Function11a63c
+ ld de, String_11a6db
+ hlcoord 4, 2
+ call PlaceString
+ ret
+; 11a4e8
+
+Function11a4e8: ; 11a4e8
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a7d7
+ call PlaceString
+ call Function11a5f5
+ xor a
+ ld [wMobileInactivityTimerMinutes], a
+ jp BattleTowerRoomMenu2_IncrementJumptable
+; 11a4fe
+
+Function11a4fe: ; 11a4fe
+ call Function11a536
+ ret c
+ call PlayClickSFX
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr nz, .asm_11a522
+ call ExitMenu
+ callba ReloadMapPart
+ call Function11a63c
+ hlcoord 4, 2
+ ld de, String_11a6d2
+ call PlaceString
+ and a
+ ret
+
+.asm_11a522
+ call ExitMenu
+ callba ReloadMapPart
+ ld a, [wMobileInactivityTimerSeconds]
+ ld [wcf66], a
+ ld [wcd80], a
+ scf
+ ret
+; 11a536
+
+Function11a536: ; 11a536
+ ld hl, hJoyPressed
+ ld a, [hl]
+ and $1
+ jr nz, .asm_11a5a7
+ ld a, [hl]
+ and $2
+ jr nz, .asm_11a5a2
+ ld a, [hl]
+ and $40
+ jr nz, .asm_11a564
+ ld a, [hl]
+ and $80
+ jr nz, .asm_11a583
+.asm_11a54d
+ ld a, [wcd3c]
+ cp $4
+ jr z, .asm_11a562
+ call Function11a9f0
+ jr nz, .asm_11a562
+ call ExitMenu
+ callba ReloadMapPart
+
+.asm_11a562
+ scf
+ ret
+
+.asm_11a564
+ xor a
+ ld [wcd8a], a
+ ld [wcd8b], a
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr z, .asm_11a54d
+ xor a
+ ld [wMobileInactivityTimerMinutes], a
+ hlcoord 15, 7
+ ld a, $ed
+ ld [hl], a
+ hlcoord 15, 9
+ ld a, $7f
+ ld [hl], a
+ jr .asm_11a54d
+
+.asm_11a583
+ xor a
+ ld [wcd8a], a
+ ld [wcd8b], a
+ ld a, [wMobileInactivityTimerMinutes]
+ and a
+ jr nz, .asm_11a54d
+ inc a
+ ld [wMobileInactivityTimerMinutes], a
+ hlcoord 15, 7
+ ld a, $7f
+ ld [hl], a
+ hlcoord 15, 9
+ ld a, $ed
+ ld [hl], a
+ jr .asm_11a54d
+
+.asm_11a5a2
+ ld a, $1
+ ld [wMobileInactivityTimerMinutes], a
+
+.asm_11a5a7
+ xor a
+ ld [wcd8a], a
+ ld [wcd8b], a
+ and a
+ ret
+; 11a5b0
+
+BattleTowerRoomMenu2_IncrementJumptable: ; 11a5b0
+ ld a, [wcd3c]
+ inc a
+ ld [wcd3c], a
+ scf
+ ret
+; 11a5b9
+
+Function11a5b9: ; 11a5b9
+ xor a
+ ld [wMenuBorderLeftCoord], a
+ ld [wMenuBorderTopCoord], a
+ ld a, $13
+ ld [wMenuBorderRightCoord], a
+ ld a, $5
+ ld [wMenuBorderBottomCoord], a
+ call PushWindow
+ hlcoord 0, 0, AttrMap
+ ld b, $6
+ ld c, $14
+ hlcoord 0, 0
+ ld b, $4
+ ld c, $12
+ call Function3eea
+ callba ReloadMapPart
+ call UpdateSprites
+ ld c, $0
+ callba Function115e18
+ ld a, $1
+ ld [wc305], a
+ ret
+; 11a5f5
+
+Function11a5f5: ; 11a5f5
+ ld a, $e
+ ld [wMenuBorderLeftCoord], a
+ ld a, $13
+ ld [wMenuBorderRightCoord], a
+ ld a, $6
+ ld [wMenuBorderTopCoord], a
+ ld a, $a
+ ld [wMenuBorderBottomCoord], a
+ call PushWindow
+ hlcoord 14, 6, AttrMap
+ ld b, $5
+ ld c, $6
+ hlcoord 14, 6
+ ld b, $3
+ ld c, $4
+ call Function3eea
+ hlcoord 16, 7
+ ld de, String_11a2cf
+ call PlaceString
+ hlcoord 16, 9
+ ld de, String_11a2d3
+ call PlaceString
+ hlcoord 15, 7
+ ld a, $ed
+ ld [hl], a
+ callba ReloadMapPart
+ ret
+; 11a63c
+
+Function11a63c: ; 11a63c
+ hlcoord 4, 1
+ ld de, String_11a7f4
+ call PlaceString
+ hlcoord 4, 2
+ ld de, String_11a7f4
+ call PlaceString
+ hlcoord 4, 3
+ ld de, String_11a7f4
+ call PlaceString
+ hlcoord 4, 4
+ ld de, String_11a7f4
+ call PlaceString
+ ret
+; 11a661
+
+String_11a661: ; 11a661
+ db "これから モバイルセンターに"
+ next "でんわ", $1f, "かけます@"
+; 11a679
+
+String_11a679: ; 11a679
+ db "モバイルアダプタ", $25, "じゅんびは"
+ next "できて いますか?@"
+; 11a692
+
+String_11a692: ; 11a692
+ db "でんわ", $1f, "かけています"
+ next "しばらく おまちください@"
+; 11a6aa
+
+String_11a6aa: ; 11a6aa
+ db "でんわをかけると つうわりょう"
+ next "せつぞくりょう", $4a, "かかります@"
+; 11a6c8
+
+String_11a6c8: ; 11a6c8
+ db "せつぞく しました@"
+; 11a6d2
+
+String_11a6d2: ; 11a6d2
+ db "つうしん ちゅう@"
+; 11a6db
+
+String_11a6db: ; 11a6db
+ db "つうしん ちゅう"
+ next "セレクト エーでちゅうし@"
+; 11a6f1
+
+String_11a6f1: ; 11a6f1
+ db "この サービスには"
+ next "つうわりょう", $25, "ほかに@"
+; 11a706
+
+String_11a706: ; 11a706
+ db "おかね", $4a, "@"
+; 11a70b
+
+String_11a70b: ; 11a70b
+ db "えん"
+ next "かかります よろしい ですか?@"
+; 11a71e
+
+String_11a71e: ; 11a71e
+ db "つうしん しゅうりょう@"
+; 11a72a
+
+String_11a72a: ; 11a72a
+ db "つないだ じかん"
+ next " やく ふん びょう@"
+; 11a743
+
+String_11a743: ; 11a743
+ db "もっていない データが"
+ next "あります!@"
+; 11a755
+
+String_11a755: ; 11a755
+ db "データ", $1f, "よみこみますか?@"
+; 11a762
+
+String_11a762: ; 11a762
+ db "おなじ データ", $1f, "よみこんだ"
+ next "こと", $4a, "ありますが@"
+; 11a779
+
+String_11a779: ; 11a779
+ db "そのデータ", $24, "なくなっているか"
+ next "こわれて います@"
+; 11a791
+
+String_11a791: ; 11a791
+ db "もっている データと"
+ next "おなじデータしか ありません!@"
+; 11a7ac
+
+String_11a7ac: ; 11a7ac
+ db "データ", $25, "よみこみを"
+ next "ちゅうし しますか?@"
+; 11a7c1
+
+String_11a7c1: ; 11a7c1 ; new news?
+ db "あたらしい ニュースは"
+ next "ありません でした@"
+; 11a7d7
+
+String_11a7d7: ; 11a7d7
+ db "あたらしいニュース", $4a, "あります"
+ next "ニュース", $1f, "よみこみますか?@"
+; 11a7f4
+
+String_11a7f4: ; 11a7f4
+ db " @"
+; 11a804
+
+MenuDataHeader_11a804: ; 11a804
+ db $40 ; flags
+ db 0, 0 ; start coords
+ db 5, 19 ; end coords
+ dw NULL
+ db 0 ; default option
+; 11a80c
+
+Function11a80c: ; 11a80c
+ ld de, hDivisor
+ ld bc, hDividend
+ ld hl, Unknown_11a89a
+ call Function11a88c
+ ld bc, hQuotient
+ ld hl, Unknown_11a8ba
+ call Function11a88c
+ ld bc, hPrintNum3
+ ld hl, Unknown_11a8da
+ call Function11a88c
+ xor a
+ ld b, a
+ ld a, [hDivisor]
+ and $f
+ ld e, a
+ ld a, [hPrintNum7]
+ and $f
+ call Function11a884
+ ld e, a
+ ld a, [hPrintNum9]
+ and $f
+ call Function11a884
+ ld [wcd62], a
+ ld e, b
+ xor a
+ ld b, a
+ ld a, [hDivisor]
+ and $f0
+ swap a
+ call Function11a884
+ ld e, a
+ ld a, [hPrintNum7]
+ and $f0
+ swap a
+ call Function11a884
+ ld e, a
+ ld a, [hPrintNum9]
+ and $f0
+ swap a
+ call Function11a884
+ ld [wcd63], a
+ ld e, b
+ xor a
+ ld b, a
+ ld a, [hMathBuffer]
+ and $f
+ call Function11a884
+ ld e, a
+ ld a, [hPrintNum8]
+ and $f
+ call Function11a884
+ ld e, a
+ ld a, [hPrintNum10]
+ and $f
+ call Function11a884
+ ld [wcd64], a
+ ret
+; 11a884
+
+Function11a884: ; 11a884
+ add e
+ cp $a
+ ret c
+ sub $a
+ inc b
+ ret
+; 11a88c
+
+Function11a88c: ; 11a88c
+ ld a, [bc]
+ sla a
+ ld c, a
+ xor a
+ ld b, a
+ add hl, bc
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ inc de
+ ret
+; 11a89a
+
+Unknown_11a89a: ; 11a89a
+x = 0
+rept 16
+ bcd x % 100, x / 100
+x = x + 1
+endr
+
+Unknown_11a8ba: ; 11a8ba
+x = 0
+rept 16
+ bcd x % 100, x / 100
+x = x + 16
+endr
+
+Unknown_11a8da: ; 11a8da
+x = 0
+rept 16
+ bcd x % 100, x / 100
+x = x + 256
+endr
+; 11a8fa
+
+BattleTowerRoomMenu_WriteMessage: ; 11a8fa
+ jumptable .Jumptable, $c31a
+; 11a909
+
+.Jumptable: ; 11a909
+ dw BattleTowerRoomMenu_WriteMessage_DoNothing
+ dw Function11a90f
+ dw Function11a971
+; 11a90f
+
+Function11a90f: ; 11a90f
+ ld a, $1
+ ld [rSVBK], a
+ call SpeechTextBox
+ ld a, $50
+ ld hl, $c320
+ ld bc, $008c
+ call ByteFill
+ ld a, [$c31b]
+ ld l, a
+ ld a, [$c31c]
+ ld h, a
+ ld de, $c320
+.asm_11a92c
+ ld a, [hli]
+ cp $57
+ jr z, .asm_11a94f
+ cp $0
+ jr z, .asm_11a92c
+ cp $50
+ jr z, .asm_11a92c
+ cp $1
+ jr z, .asm_11a941
+ ld [de], a
+ inc de
+ jr .asm_11a92c
+
+.asm_11a941
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld b, a
+.asm_11a945
+ ld a, [bc]
+ inc bc
+ cp $50
+ jr z, .asm_11a92c
+ ld [de], a
+ inc de
+ jr .asm_11a945
+
+.asm_11a94f
+ xor a
+ ld [$c31f], a
+ ld a, $c320 % $100
+ ld [$c31b], a
+ ld a, $c320 / $100
+ ld [$c31c], a
+ hlcoord 1, 14
+ ld a, l
+ ld [$c31d], a
+ ld a, h
+ ld [$c31e], a
+ ld hl, $c31a
+ inc [hl]
+ ld a, $3
+ ld [rSVBK], a
+
+BattleTowerRoomMenu_WriteMessage_DoNothing:
+ ret
+; 11a971
+
+Function11a971: ; 11a971
+ ld hl, $c31f
+ ld a, [hJoyDown]
+ and a
+ jr nz, .asm_11a97f
+ ld a, [hl]
+ and a
+ jr z, .asm_11a97f
+ dec [hl]
+ ret
+
+.asm_11a97f
+ ld a, [Options]
+ and $7
+ ld [hl], a
+ ld hl, wcd8d
+ ld a, [$c31b]
+ ld e, a
+ ld a, [$c31c]
+ ld d, a
+ ld a, [de]
+ inc de
+ ld [hli], a
+ ld a, e
+ ld [$c31b], a
+ ld a, d
+ ld [$c31c], a
+ ld a, $50
+ ld [hl], a
+ ld a, [$c31d]
+ ld l, a
+ ld a, [$c31e]
+ ld h, a
+ ld de, wcd8d
+ call PlaceString
+ ld a, c
+ ld [$c31d], a
+ ld a, b
+ ld [$c31e], a
+ ld a, [wcd8d]
+ cp $50
+ jr nz, .asm_11a9bf
+ xor a
+ ld [$c31a], a
+
+.asm_11a9bf
+ ret
+; 11a9c0
+
+BattleTowerRoomMenu_SetMessage: ; 11a9c0
+ ld a, l
+ ld [$c31b], a
+ ld a, h
+ ld [$c31c], a
+ ld a, $1
+ ld [$c31a], a
+ ret
+; 11a9ce
+
+Function11a9ce: ; 11a9ce
+ call ClearBGPalettes
+ call ReloadTilesetAndPalettes
+ call Call_ExitMenu
+ callba MobileFunc_106462
+ callba Function106464
+ call ret_d90
+ callba FinishExitMenu
+ call UpdateSprites
+ ret
+; 11a9f0
+
+Function11a9f0: ; 11a9f0
+ ld a, $1
+ and a
+ ret
+; 11a9f4
+
+Function11a9f4: ; 11a9f4
+ ld a, [wcd8a]
+ ld l, a
+ ld a, [wcd8b]
+ ld h, a
+ inc hl
+ ld a, l
+ ld [wcd8a], a
+ ld a, h
+ ld [wcd8b], a
+ ld de, $d5d0
+ add hl, de
+ bit 7, h
+ ret nz
+ ld a, $d6
+ call Function118805
+ and a
+ ret
+; 11aa13
+
+Text_SaveFileWillBeSent: ; 0x11aa13
+ text "SAVE FILE will be"
+ line "sent."
+ done
+; 0x11aa2c
+
+Text_SentSaveFileReadingNews: ; 0x11aa2c
+ text "Sent SAVE FILE."
+ line "Reading NEWS…"
+ done
+; 0x11aa4b
+
+Text_ReadingNews: ; 0x11aa4b
+ text "Reading NEWS…"
+ done
+; 0x11aa5a
+
+Text_ReceivedNews: ; 0x11aa5a
+ text "Received NEWS!"
+ done
+; 0x11aa6a
+
+Text_QuitReadingNews: ; 0x11aa6a
+ text "Quit reading NEWS?"
+ done
+; 0x11aa7e
+
+Text_CanceledSendingSaveFile: ; 0x11aa7e
+ text "Canceled sending"
+ line "SAVE FILE."
+ done
+; 0x11aa9b
+
+Text_ReceivedOddEgg: ; 0x11aa9b
+ text "ODD EGG"
+ line "was received!"
+ done
+; 0x11aab2
+
+Text_RegisteringRecord: ; 0x11aab2
+ text "Registering your"
+ line "record…"
+ done
+; 0x11aacc
+
+Text_BattleRoomVisitLimit: ; 0x11aacc
+ text "One visit per day"
+ line "per BATTLE ROOM!"
+ done
+; 0x11aaf0
+
+Text_PartyMonTopsThisLevel: ; 0x11aaf0
+ text "A party #MON"
+ line "tops this level."
+ done
+; 0x11ab0f
+
+Text_UberRestriction: ; 0x11ab0f
+ text_from_ram wcd49
+ text " may go"
+ line "only to BATTLE"
+
+ para "ROOMS that are"
+ line "Lv.70 or higher."
+ done
+; 0x11ab4a
+
+Text_CancelBattleRoomChallenge: ; 0x11ab4a
+ text "Cancel your BATTLE"
+ line "ROOM challenge?"
+ done
+; 0x11ab6e
+
+Text_ExitGymLeaderHonorRoll: ; 0x11ab6e
+ text "Exit GYM LEADER"
+ line "HONOR ROLL?"
+ done
+; 0x11ab8b
+
+Text_LinkingWithCenter: ; 0x11ab8b
+ text "Linking with the"
+ line "CENTER…"
+ done
+; 0x11aba5
+
+Text_WhatLevelDoYouWantToChallenge: ; 0x11aba5
+ text "What level do you"
+ line "want to challenge?"
+ done
+; 0x11abcb
+
+Text_CheckBattleRoomListByMaxLevel: ; 0x11abcb
+ text "Check BATTLE ROOM"
+ line "list by max level?"
+ done
+; 0x11abf1
+
+Text_EnterWhichBattleRoom: ; 0x11abf1
+ text "Enter which"
+ line "BATTLE ROOM?"
+ done
+; 0x11ac0b
+
+Text_WhichBattleRoom: ; 0x11ac0b
+ text "Which BATTLE ROOM?"
+ done
+; 0x11ac1f
+
+Text_ThisBattleRoomPleaseWait: ; 0x11ac1f
+ text_from_ram StringBuffer3
+ text "'s ROOM"
+ line "@"
+ text_from_ram StringBuffer4
+ text "?"
+ cont "Please wait…"
+ done
+; 0x11ac3e
+
+Function11ac3e: ; 11ac3e
+ call SpeechTextBox
+ call FadeToMenu
+ callab ClearSpriteAnims2
+ call Function11ac51
+ call CloseSubmenu
+ ret
+; 11ac51
+
+Function11ac51: ; 11ac51
+ xor a
+ ld [hBGMapMode], a
+ ld hl, Options
+ ld a, [hl]
+ push af
+ set 4, [hl]
+ ld a, [VramState]
+ push af
+ xor a
+ ld [VramState], a
+ ld a, [hInMenu]
+ push af
+ ld a, $1
+ ld [hInMenu], a
+ xor a
+ ld [hMapAnims], a
+ ld [wcd49], a
+ ld [wcd4a], a
+ ld [wcd4c], a
+ ld [wcd4d], a
+ ld [wcd4e], a
+ call Function11ad1b
+ call DelayFrame
+.loop
+ call JoyTextDelay
+ ld a, [wJumptableIndex]
+ bit 7, a
+ jr nz, .asm_11aca8
+ call Function11b314
+ call Function11acb7
+ call Function11ad6e
+ ld a, 30 * 4
+ ld [wCurrSpriteOAMAddr], a
+ callba DoNextFrameForAllSprites
+ callba ReloadMapPart
+ jr .loop
+
+.asm_11aca8
+ call ClearSprites
+ pop af
+ ld [hInMenu], a
+ pop af
+ ld [VramState], a
+ pop af
+ ld [Options], a
+ ret
+; 11acb7
+
+Function11acb7: ; 11acb7
+ ld hl, TilemapPack_11ba44
+ ld a, [wcd49]
+ ld c, a
+ ld b, $0
+ sla c
+ rl b
+ sla c
+ rl b
+ sla c
+ rl b
+ add hl, bc
+ decoord 6, 6
+ ld a, [hli]
+ ld [de], a
+ decoord 0, 7
+ ld bc, 7
+ call CopyBytes
+ ld a, [wcd49]
+ inc a
+ ld [wcd49], a
+ ld a, [hl]
+ cp $ff
+ jr nz, .get_the_other
+ xor a
+ ld [wcd49], a
+.get_the_other
+ ld hl, TilemapPack_11bb7d
+ ld a, [wcd4a]
+ ld c, a
+ ld b, $0
+ sla c
+ rl b
+ sla c
+ rl b
+ sla c
+ rl b
+ add hl, bc
+ decoord 3, 9
+ ld bc, 7
+ call CopyBytes
+ ld a, [wcd4a]
+ inc a
+ ld [wcd4a], a
+ inc hl
+ ld a, [hl]
+ cp $ff
+ ret nz
+ xor a
+ ld [wcd4a], a
+ ret
+; 11ad1b
+
+Function11ad1b: ; 11ad1b
+ call ClearBGPalettes
+ call ClearSprites
+ call ClearTileMap
+ callba Function17c000
+ ld a, [wMenuCursorY]
+ ld [wcd82], a
+ dec a
+ ld [hObjectStructIndexBuffer], a
+ ld a, $10
+ ld [wCurIconTile], a
+ ld hl, LoadMenuMonIcon
+ ld a, BANK(LoadMenuMonIcon)
+ ld e, $4
+ rst FarCall
+ ld hl, LoadMenuMonIcon
+ ld a, BANK(LoadMenuMonIcon)
+ ld e, $5
+ rst FarCall
+ ld hl, $c6d0
+ ld bc, $0115
+ xor a
+ call ByteFill
+ xor a
+ ld [wJumptableIndex], a
+ ld [wcf64], a
+ ld [wcf65], a
+ ld [wcf66], a
+ ld [wcd30], a
+ ld a, $2
+ ld [wc7d4], a
+ callba Pokedex_OrderMonsByMode
+ ret
+; 11ad6e
+
+Function11ad6e: ; 11ad6e
+ ld a, [wJumptableIndex]
+ ld hl, Jumptable_11ad78
+ call Function11b239
+ jp hl
+; 11ad78
+
+Jumptable_11ad78: ; 11ad78
+ dw Function11b082
+ dw Function11b0ff
+ dw Function11ad95
+ dw Function11adc4
+ dw Function11ae4e
+ dw Function11ae98
+ dw Function11ad8f
+ dw Function11af04
+ dw Function11af4e
+; 11ad8a
+
+Function11ad8a: ; 11ad8a
+ ld hl, wJumptableIndex
+ inc [hl]
+ ret
+; 11ad8f
+
+Function11ad8f: ; 11ad8f
+ ld hl, wJumptableIndex
+ set 7, [hl]
+ ret
+; 11ad95
+
+Function11ad95: ; 11ad95
+ ld hl, MenuDataHeader_11ae38
+ call LoadMenuDataHeader
+ call MenuBox
+ hlcoord 12, 12
+ ld de, String_11ae40
+ call PlaceString
+ hlcoord 10, 10, AttrMap
+ lb bc, 8, 8
+ call Function11afd6
+ callba ReloadMapPart
+ call Function11ad8a
+ ld a, $1
+ ld [wMenuCursorY], a
+ ld hl, Unknown_11afcc
+ call Function11afb7
+
+Function11adc4:
+ ld hl, hJoyPressed
+ ld a, [hl]
+ and a
+ ret z
+ ld a, [hl]
+ and $40
+ jr nz, .asm_11ade6
+ ld a, [hl]
+ and $80
+ jr nz, .asm_11aded
+ ld a, [hl]
+ and $1
+ jr nz, .asm_11ae06
+ ld a, [hl]
+ and $2
+ ret z
+ call PlayClickSFX
+ xor a
+ ld [wJumptableIndex], a
+ jr .asm_11ae2e
+
+.asm_11ade6
+ ld a, [wMenuCursorY]
+ dec a
+ ret z
+ jr .asm_11adf4
+
+.asm_11aded
+ ld a, [wMenuCursorY]
+ inc a
+ cp $4
+ ret z
+
+.asm_11adf4
+ push af
+ ld hl, Unknown_11afcc
+ call Function11afbb
+ pop af
+ ld [wMenuCursorY], a
+ ld hl, Unknown_11afcc
+ call Function11afb7
+ ret
+
+.asm_11ae06
+ call PlayClickSFX
+ ld a, [wMenuCursorY]
+ dec a
+ ld hl, wcd30
+ ld [hl], a
+ and a
+ jr z, .asm_11ae28
+ hlcoord 2, 14
+ ld a, [wMenuCursorY]
+ cp $2
+ jr z, .asm_11ae23
+ call Function11b272
+ jr .asm_11ae2b
+
+.asm_11ae23
+ call Function11b267
+ jr .asm_11ae2b
+
+.asm_11ae28
+ ld a, $3
+ ld [hl], a
+
+.asm_11ae2b
+ call Function11ad8a
+
+.asm_11ae2e
+ call ExitMenu
+ callba ReloadMapPart
+ ret
+; 11ae38
+
+MenuDataHeader_11ae38: ; 11ae38
+ db $40 ; flags
+ db 10, 10 ; start coords
+ db 17, 17 ; end coords
+ dw NULL
+ db 0 ; default option
+; 11ae40
+
+String_11ae40: ; 11ae40
+ db "どちらでも"
+ next "♂ォス"
+ next "♀メス"
+ db "@"
+; 11ae4e
+
+Function11ae4e: ; 11ae4e
+ ld hl, MenuDataHeader_11afe8
+ call LoadMenuDataHeader
+ call MenuBox
+ hlcoord 10, 14
+ ld de, String_11aff0
+ call PlaceString
+ ld hl, MenuDataHeader_11b013
+ call LoadMenuDataHeader
+ call MenuBox
+ hlcoord 16, 8
+ ld de, String_11b01b
+ call PlaceString
+ hlcoord 14, 7, AttrMap
+ lb bc, 5, 6
+ call Function11afd6
+ hlcoord 9, 12, AttrMap
+ lb bc, 6, 11
+ call Function11afd6
+ callba ReloadMapPart
+ call Function11ad8a
+ ld a, $1
+ ld [wMenuCursorY], a
+ ld hl, Unknown_11afd2
+ call Function11afb7
+
+Function11ae98:
+ ld hl, hJoyPressed
+ ld a, [hl]
+ and a
+ ret z
+ ld a, [hl]
+ and D_UP
+ jr nz, .asm_11aec1
+ ld a, [hl]
+ and D_DOWN
+ jr nz, .asm_11aec8
+ ld a, [hl]
+ and A_BUTTON
+ jr nz, .asm_11aee1
+ ld a, [hl]
+ and B_BUTTON
+ ret z
+ call PlayClickSFX
+.asm_11aeb4
+ hlcoord 2, 14
+ ld a, $7f
+ ld [hl], a
+ ld a, $1
+ ld [wJumptableIndex], a
+ jr .asm_11aef7
+
+.asm_11aec1
+ ld a, [wMenuCursorY]
+ dec a
+ ret z
+ jr .asm_11aecf
+
+.asm_11aec8
+ ld a, [wMenuCursorY]
+ inc a
+ cp $3
+ ret z
+
+.asm_11aecf
+ push af
+ ld hl, Unknown_11afd2
+ call Function11afbb
+ pop af
+ ld [wMenuCursorY], a
+ ld hl, Unknown_11afd2
+ call Function11afb7
+ ret
+
+.asm_11aee1
+ call PlayClickSFX
+ ld a, [wMenuCursorY]
+ cp $2
+ jr z, .asm_11aeb4
+ ld a, [wcd4b]
+ ld [ScriptVar], a
+ call Function11b022
+ call Function11ad8a
+
+.asm_11aef7
+ call ExitMenu
+ call ExitMenu
+ callba ReloadMapPart
+ ret
+; 11af04
+
+Function11af04: ; 11af04
+ ld hl, MenuDataHeader_11afe8
+ call LoadMenuDataHeader
+ call MenuBox
+ hlcoord 10, 14
+ ld de, String_11b003
+ call PlaceString
+ ld hl, MenuDataHeader_11b013
+ call LoadMenuDataHeader
+ call MenuBox
+ hlcoord 16, 8
+ ld de, String_11b01b
+ call PlaceString
+ hlcoord 14, 7, AttrMap
+ lb bc, 5, 6
+ call Function11afd6
+ hlcoord 9, 12, AttrMap
+ lb bc, 6, 11
+ call Function11afd6
+ callba ReloadMapPart
+ call Function11ad8a
+ ld a, $2
+ ld [wMenuCursorY], a
+ ld hl, Unknown_11afd2
+ call Function11afb7
+
+Function11af4e:
+ ld hl, hJoyPressed
+ ld a, [hl]
+ and a
+ ret z
+ ld a, [hl]
+ and D_UP
+ jr nz, .asm_11af77
+ ld a, [hl]
+ and D_DOWN
+ jr nz, .asm_11af7e
+ ld a, [hl]
+ and A_BUTTON
+ jr nz, .asm_11af97
+ ld a, [hl]
+ and B_BUTTON
+ ret z
+ call PlayClickSFX
+.asm_11af6a
+ hlcoord 2, 14
+ ld a, $7f
+ ld [hl], a
+ ld a, $1
+ ld [wJumptableIndex], a
+ jr .asm_11afaa
+
+.asm_11af77
+ ld a, [wMenuCursorY]
+ dec a
+ ret z
+ jr .asm_11af85
+
+.asm_11af7e
+ ld a, [wMenuCursorY]
+ inc a
+ cp $3
+ ret z
+
+.asm_11af85
+ push af
+ ld hl, Unknown_11afd2
+ call Function11afbb
+ pop af
+ ld [wMenuCursorY], a
+ ld hl, Unknown_11afd2
+ call Function11afb7
+ ret
+
+.asm_11af97
+ call PlayClickSFX
+ ld a, [wMenuCursorY]
+ cp $2
+ jr z, .asm_11af6a
+ ld a, $6
+ ld [wJumptableIndex], a
+ xor a
+ ld [ScriptVar], a
+
+.asm_11afaa
+ call ExitMenu
+ call ExitMenu
+ callba ReloadMapPart
+ ret
+; 11afb7
+
+Function11afb7: ; 11afb7
+ ld e, $ed
+ jr asm_11afbd
+
+Function11afbb:
+ ld e, $7f
+
+asm_11afbd:
+ ld a, [wMenuCursorY]
+ dec a
+ ld c, a
+ ld b, 0
+ add hl, bc
+ add hl, bc
+ ld a, e
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld [de], a
+ ret
+; 11afcc
+
+Unknown_11afcc:
+ dwcoord 11, 12
+ dwcoord 11, 14
+ dwcoord 11, 16
+
+Unknown_11afd2:
+ dwcoord 15, 8
+ dwcoord 15, 10
+; 11afd6
+
+Function11afd6: ; 11afd6
+ ld de, SCREEN_WIDTH
+ ld a, $3
+.row
+ push bc
+ push hl
+.col
+ ld [hli], a
+ dec c
+ jr nz, .col
+ pop hl
+ add hl, de
+ pop bc
+ dec b
+ jr nz, .row
+ ret
+; 11afe8
+
+MenuDataHeader_11afe8: ; 11afe8
+ db $40 ; flags
+ db 12, 9 ; start coords
+ db 17, 19 ; end coords
+ dw NULL
+ db 0 ; default option
+; 11aff0
+
+String_11aff0: ; 11aff0
+ db "この じょうけんで"
+ next "よろしいですか?@"
+; 11b003
+
+String_11b003: ; 11b003
+ db "こうかんを"
+ next "ちゅうししますか?@"
+; 11b013
+
+MenuDataHeader_11b013: ; 11b013
+ db $40 ; flags
+ db 7, 14 ; start coords
+ db 11, 19 ; end coords
+ dw NULL
+ db 1 ; default option
+; 11b01b
+
+String_11b01b:
+ db "はい"
+ next "いいえ@"
+; 11b022
+
+Function11b022: ; 11b022
+ ld a, [wcd2e]
+ and a
+ jr z, .asm_11b02e
+ ld hl, StringBuffer3
+ call Function11b03d
+
+.asm_11b02e
+ ld a, [wcd30]
+ and a
+ ret z
+ cp $3
+ ret z
+ ld hl, StringBuffer4
+ call Function11b03d
+ ret
+; 11b03d
+
+Function11b03d: ; 11b03d
+ push hl
+ push af
+ ld c, $1
+.loop
+ ld a, [hli]
+ cp "♂"
+ jr z, .gender
+ cp "♀"
+ jr z, .gender
+ cp "@"
+ jr z, .done
+ inc c
+ jr .loop
+
+.gender
+ dec hl
+ ld a, "@"
+ ld [hli], a
+
+.done
+ dec hl
+ push hl
+ ld e, 4
+ ld d, 0
+ add hl, de
+ ld e, l
+ ld d, h
+ pop hl
+.loop2
+ ld a, [hld]
+ ld [de], a
+ dec de
+ dec c
+ jr nz, .loop2
+ pop af
+ pop de
+ cp $1
+ jr nz, .female
+ ld hl, .MaleString
+ jr .got_string
+
+.female
+ ld hl, .FemaleString
+
+.got_string
+ ld bc, 4 ; string length
+ call CopyBytes
+ ret
+; 11b07a
+
+.MaleString: db "ォスの "
+.FemaleString: db "メスの "
+
+Function11b082: ; 11b082
+ call Function11b242
+ ld a, $7
+ ld [wc7d3], a
+ call Function11b099
+ call Function11b295
+ call Function11b275
+ call SetPalettes
+ jp Function11ad8a
+; 11b099
+
+Function11b099: ; 11b099
+ ld c, $6
+ hlcoord 11, 1
+ ld a, [wc7d3]
+ add a
+ ld b, a
+ xor a
+ call Function11b236
+ ld a, [wc7d0]
+ ld e, a
+ ld d, $0
+ ld hl, wc6d0
+ add hl, de
+ ld e, l
+ ld d, h
+ hlcoord 11, 2
+ ld a, [wc7d3]
+.loop
+ push af
+ ld a, [de]
+ ld [wd265], a
+ push de
+ push hl
+ call .PlaceMonNameOrPlaceholderString
+ pop hl
+ ld de, 2 * SCREEN_WIDTH
+ add hl, de
+ pop de
+ inc de
+ pop af
+ dec a
+ jr nz, .loop
+ ret
+; 11b0cf
+
+.PlaceMonNameOrPlaceholderString: ; 11b0cf
+ and a
+ ret z
+
+ call .CheckSeenFlag
+ ret c
+
+ call .SetCaughtFlag
+ push hl
+ call GetPokemonName
+ pop hl
+ call PlaceString
+ ret
+; 11b0e1
+
+.SetCaughtFlag: ; 11b0e1
+ call CheckCaughtMemMon
+ jr nz, .okay
+ inc hl
+ ret
+
+.okay
+ ld a, $1
+ ld [hli], a
+ ret
+; 11b0ec
+
+.CheckSeenFlag: ; 11b0ec
+ call CheckSeenMemMon
+ ret nz
+
+ inc hl
+ ld de, .EmptySlot
+ call PlaceString
+ scf
+ ret
+; 11b0f9
+
+.EmptySlot: ; 11b0f9
+ db "ーーーーー@"
+; 11b0ff
+
+Function11b0ff: ; 11b0ff
+ ld hl, hJoyPressed
+ ld a, [hl]
+ and $2
+ jr nz, .asm_11b141
+ ld a, [hl]
+ and $1
+ jr nz, .asm_11b131
+ call Function11b175
+ jr nc, .asm_11b125
+ ld a, [wcd4c]
+ inc a
+ and $3
+ ld [wcd4c], a
+ xor a
+ ld [hBGMapMode], a
+ call Function11b099
+ ld a, $1
+ ld [hBGMapMode], a
+ ret
+
+.asm_11b125
+ ld a, [wcd4c]
+ and a
+ ret z
+ inc a
+ and $3
+ ld [wcd4c], a
+ ret
+
+.asm_11b131
+ call Function11b20b
+ call CheckSeenMemMon
+ jr z, .asm_11b13d
+ ld a, $1
+ jr .asm_11b148
+
+.asm_11b13d
+ ld a, $2
+ jr .asm_11b148
+
+.asm_11b141
+ ld hl, wJumptableIndex
+ ld a, $7
+ ld [hl], a
+ ret
+
+.asm_11b148
+ call PlayClickSFX
+ ld [wcd4b], a
+ and a
+ jr z, .asm_11b16c
+ ld a, [wcf65]
+ cp $0
+ jr z, .asm_11b163
+ cp $fe
+ jr z, .asm_11b167
+ cp $ff
+ jr z, .asm_11b16b
+ jp Function11ad8a
+
+.asm_11b163
+ ld a, $1
+ jr .asm_11b16c
+
+.asm_11b167
+ ld a, $2
+ jr .asm_11b16c
+
+.asm_11b16b
+ xor a
+
+.asm_11b16c
+ ld [wcd30], a
+ ld a, $4
+ ld [wJumptableIndex], a
+ ret
+; 11b175
+
+Function11b175: ; 11b175
+ ld a, [wc7d3]
+ ld d, a
+ ld a, [wc7d2]
+ ld e, a
+ ld hl, hJoyLast
+ ld a, [hl]
+ and $40
+ jr nz, .asm_11b19a
+ ld a, [hl]
+ and $80
+ jr nz, .asm_11b1ae
+ ld a, d
+ cp e
+ jr nc, .asm_11b1ed
+ ld a, [hl]
+ and $20
+ jr nz, .asm_11b1c6
+ ld a, [hl]
+ and $10
+ jr nz, .asm_11b1d8
+ jr .asm_11b1ed
+
+.asm_11b19a
+ ld hl, wc7d1
+ ld a, [hl]
+ and a
+ jr z, .asm_11b1a4
+ dec [hl]
+ jr .asm_11b1ef
+
+.asm_11b1a4
+ ld hl, wc7d0
+ ld a, [hl]
+ and a
+ jr z, .asm_11b1ed
+ dec [hl]
+ jr .asm_11b1ef
+
+.asm_11b1ae
+ ld hl, wc7d1
+ ld a, [hl]
+ inc a
+ cp e
+ jr nc, .asm_11b1ed
+ cp d
+ jr nc, .asm_11b1bc
+ inc [hl]
+ jr .asm_11b1ef
+
+.asm_11b1bc
+ ld hl, wc7d0
+ add [hl]
+ cp e
+ jr nc, .asm_11b1ed
+ inc [hl]
+ jr .asm_11b1ef
+
+.asm_11b1c6
+ ld hl, wc7d0
+ ld a, [hl]
+ and a
+ jr z, .asm_11b1ed
+ cp d
+ jr nc, .asm_11b1d4
+ xor a
+ ld [hl], a
+ jr .asm_11b1ef
+
+.asm_11b1d4
+ sub d
+ ld [hl], a
+ jr .asm_11b1ef
+
+.asm_11b1d8
+ ld hl, wc7d0
+ ld a, d
+ add a
+ add [hl]
+ jr c, .asm_11b1e3
+ cp e
+ jr c, .asm_11b1e8
+
+.asm_11b1e3
+ ld a, e
+ sub d
+ ld [hl], a
+ jr .asm_11b1ef
+
+.asm_11b1e8
+ ld a, [hl]
+ add d
+ ld [hl], a
+ jr .asm_11b1ef
+
+.asm_11b1ed
+ and a
+ ret
+
+.asm_11b1ef
+ call Function11b295
+ call Function11b275
+ scf
+ ret
+; 11b1f7
+
+Function11b1f7: ; 11b1f7
+ hlcoord 0, 0
+ ld a, $32
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
+ call ByteFill
+ ret
+; 11b203
+
+Function11b203: ; 11b203
+.asm_11b203
+ ld a, [de]
+ cp $ff
+ ret z
+ inc de
+ ld [hli], a
+ jr .asm_11b203
+; 11b20b
+
+Function11b20b: ; 11b20b
+ ld a, [wc7d1]
+ ld hl, wc7d0
+ add [hl]
+ ld e, a
+ ld d, $0
+ ld hl, $c6d0
+ add hl, de
+ ld a, [hl]
+ ld [wd265], a
+ ret
+; 11b21e
+
+CheckCaughtMemMon: ; 11b21e
+ push de
+ push hl
+ ld a, [wd265]
+ dec a
+ call CheckCaughtMon
+ pop hl
+ pop de
+ ret
+; 11b22a
+
+CheckSeenMemMon: ; 11b22a
+ push de
+ push hl
+ ld a, [wd265]
+ dec a
+ call CheckSeenMon
+ pop hl
+ pop de
+ ret
+; 11b236
+
+Function11b236: ; 11b236
+ jp FillBoxWithByte
+; 11b239
+
+Function11b239: ; 11b239
+ ld e, a
+ ld d, 0
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ret
+; 11b242
+
+Function11b242: ; 11b242
+ hlcoord 3, 4
+ ld de, StringBuffer3
+ call PlaceString
+ xor a
+ ld [MonType], a
+ callba GetGender
+ hlcoord 1, 4
+ ld a, [CurPartySpecies]
+ ld bc, wcd2f
+ ld [bc], a
+ dec bc
+ jr c, asm_11b26a
+ jr z, asm_11b26f
+ ld a, $1
+ ld [bc], a
+
+Function11b267:
+ ld [hl], $ef
+ ret
+
+asm_11b26a
+ xor a
+ ld [bc], a
+ ld [hl], $7f
+ ret
+
+asm_11b26f
+ ld a, $2
+ ld [bc], a
+
+Function11b272:
+ ld [hl], $f5
+ ret
+; 11b275
+
+Function11b275: ; 11b275
+ call Function11b279
+ ret
+; 11b279
+
+Function11b279: ; 11b279
+ ld a, [wd265]
+ ld [CurSpecies], a
+ call CheckSeenMemMon
+ jr z, .asm_11b28f
+ call GetBaseData
+ ld a, [BaseGender]
+ ld [wcf65], a
+ jr .asm_11b294
+
+.asm_11b28f
+ ld a, $ff
+ ld [wcf65], a
+
+.asm_11b294
+ ret
+; 11b295
+
+Function11b295: ; 11b295
+ hlcoord 4, 13
+ ld de, String_11b308
+ call PlaceString
+ hlcoord 4, 14
+ ld de, String_11b308
+ call PlaceString
+ call Function11b20b
+ call CheckSeenMemMon
+ jr z, .asm_11b2d1
+ ld a, [$c608]
+ ld c, a
+ ld a, [$c608 + 1]
+ ld b, a
+ ld hl, $0007
+ add hl, bc
+ xor a
+ ld [hl], a
+ ld hl, $0003
+ add hl, bc
+ ld e, [hl]
+ callba FlyFunction_GetMonIcon
+ hlcoord 4, 14
+ push hl
+ call GetPokemonName
+ jr .asm_11b2e7
+
+.asm_11b2d1
+ ld a, [$c608]
+ ld c, a
+ ld a, [$c608 + 1]
+ ld b, a
+ ld hl, $0007
+ add hl, bc
+ ld a, $50
+ ld [hl], a
+ hlcoord 4, 13
+ push hl
+ ld de, String_11b30e
+
+.asm_11b2e7
+ ld a, $6
+ ld bc, StringBuffer4
+.asm_11b2ec
+ push af
+ ld a, [de]
+ ld [bc], a
+ inc de
+ inc bc
+ pop af
+ dec a
+ and a
+ jr nz, .asm_11b2ec
+ pop hl
+ ld de, StringBuffer4
+ call PlaceString
+ ret
+; 11b2fe
+
+String_11b2fe: ; 11b2fe
+ db "あげる#@"
+; 11b303
+
+String_11b303: ; 11b303
+ db "ほしい#@"
+; 11b308
+
+String_11b308: ; 11b308
+ db " @"
+; 11b30e
+
+String_11b30e: ; 11b30e
+ db "みはっけん@"
+; 11b314
+
+Function11b314: ; 11b314
+ call Function11b31b
+ call Function11b3d9
+ ret
+; 11b31b
+
+Function11b31b: ; 11b31b
+ ld hl, .Coords
+ ld a, [wJumptableIndex]
+ cp 2
+ jr c, .tilemap_1
+ ld a, [wc7d1]
+ cp 4
+ jr nc, .tilemap_3
+ cp 3
+ jr c, .tilemap_1
+ ld a, [wJumptableIndex]
+ cp 2
+ jr z, .tilemap_1
+ cp 3
+ jr z, .tilemap_1
+ cp 6
+ jr z, .tilemap_1
+
+ ld bc, .Tilemap2
+ jr .load_sprites
+
+.tilemap_3
+ ld bc, .Tilemap3
+ jr .load_sprites
+
+.tilemap_1
+ ld bc, .Tilemap1
+
+.load_sprites
+ call Function11b397
+ ret
+; 11b350
+
+.Coords:
+ dbpixel 3, 11, 2, 6 ; 0
+ dbpixel 3, 12, 2, 6 ; 1
+ dbpixel 3, 13, 2, 6 ; 2
+ dbpixel 3, 14, 2, 6 ; 3
+ dbpixel 3, 15, 2, 6 ; 4
+ dbpixel 3, 16, 2, 6 ; 5
+ dbpixel 3, 17, 2, 6 ; 6
+ dbpixel 4, 11, 2, 6 ; 7
+ dbpixel 4, 12, 2, 6 ; 8
+ dbpixel 4, 13, 2, 6 ; 9
+ dbpixel 4, 14, 2, 6 ; 10
+ dbpixel 4, 15, 2, 6 ; 11
+ dbpixel 4, 16, 2, 6 ; 12
+ dbpixel 4, 17, 2, 6 ; 13
+ db -1
+
+.Tilemap1: ; vtiles
+ db $30 ; 0
+ db $31 ; 1
+ db $31 ; 2
+ db $31 ; 3
+ db $31 ; 4
+ db $31 ; 5
+ db $32 ; 6
+ db $40 ; 7
+ db $41 ; 8
+ db $41 ; 9
+ db $41 ; 10
+ db $41 ; 11
+ db $41 ; 12
+ db $42 ; 13
+
+.Tilemap2: ; vtiles
+ db $30 ; 0
+ db $31 ; 1
+ db $31 ; 2
+ db $39 ; 3
+ db $39 ; 4
+ db $39 ; 5
+ db $39 ; 6
+ db $40 ; 7
+ db $41 ; 8
+ db $41 ; 9
+ db $39 ; 10
+ db $39 ; 11
+ db $39 ; 12
+ db $39 ; 13
+
+.Tilemap3: ; vtiles
+ db $39 ; 0
+ db $39 ; 1
+ db $39 ; 2
+ db $39 ; 3
+ db $39 ; 4
+ db $39 ; 5
+ db $39 ; 6
+ db $39 ; 7
+ db $39 ; 8
+ db $39 ; 9
+ db $39 ; 10
+ db $39 ; 11
+ db $39 ; 12
+ db $39 ; 13
+
+Function11b397: ; 11b397
+ ld de, Sprites
+.loop
+ ld a, [hl]
+ cp $ff
+ ret z
+ ld a, [wc7d1]
+ and $7
+ swap a
+ add [hl]
+ inc hl ; 1
+ ld [de], a
+ inc de
+
+ ld a, [hli] ; 2
+ ld [de], a
+ inc de
+
+ ld a, [bc]
+ inc bc
+ ld [de], a
+ inc de
+ ld a, $5 ; OBPal 5
+ ld [de], a
+ inc de
+ jr .loop
+; 11b3b6
+
+Function11b3b6: ; 11b3b6
+; unreferenced
+.loop
+ ld a, [hl]
+ cp -1
+ ret z
+ ld a, [wcd4d]
+ and $7
+ swap a
+ add [hl]
+ inc hl
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ push hl
+ ld l, c
+ ld h, b
+ ld a, [wcd4e]
+ add [hl]
+ inc bc
+ ld [de], a
+ inc de
+ pop hl
+ ld a, $5
+ ld [de], a
+ inc de
+ jr .loop
+; 11b3d9
+
+Function11b3d9: ; 11b3d9
+ ld de, Sprites + 28 * 4
+ push de
+ ld a, [wc7d2]
+ dec a
+ ld e, a
+ ld a, [wc7d1]
+ ld hl, wc7d0
+ add [hl]
+ cp e
+ jr z, .skip
+ ld hl, 0
+ ld bc, $70
+ call AddNTimes
+ ld e, l
+ ld d, h
+ ld b, 0
+ ld a, d
+ or e
+ jr z, .load_sprites
+ ld a, [wc7d2]
+ ld c, a
+.loop1
+ ld a, e
+ sub c
+ ld e, a
+ ld a, d
+ sbc $0
+ ld d, a
+ jr c, .load_sprites
+ inc b
+ jr .loop1
+
+.skip
+ ld b, 14 * 8
+
+.load_sprites
+ ld a, 2 * 8 + 5
+ add b
+ pop hl
+ ld [hli], a
+ cp $41
+ jr c, .version1
+ ld a, [wJumptableIndex]
+ cp 4
+ jr z, .version2
+ cp 5
+ jr z, .version2
+ cp 7
+ jr z, .version2
+ cp 8
+ jr z, .version2
+
+.version1
+ ld a, 19 * 8 + 3
+ ld [hli], a
+ ld a, [wcd4c]
+ add $3c
+ ld [hli], a
+ ld a, [wcd4c]
+ add $1
+ ld [hl], a
+ ret
+
+.version2
+ ld a, 19 * 8 + 3
+ ld [hli], a
+ ld a, $39
+ ld [hli], a
+ xor a
+ ld [hl], a
+ ret
+; 11b444
+
+Function11b444: ; 11b444
+; special
+ call Mobile46_InitJumptable
+ call Mobile46_RunJumptable
+ ret
+; 11b44b
+
+Mobile46_InitJumptable: ; 11b44b
+ xor a
+ ld [wJumptableIndex], a
+ ld [wcf64], a
+ ld [wcf65], a
+ ld [wcf66], a
+ call UpdateTime
+ ret
+; 11b45c
+
+Mobile46_RunJumptable: ; 11b45c
+.loop
+ call .IterateJumptable
+ call DelayFrame
+ ld a, [wJumptableIndex]
+ cp 4
+ jr nz, .loop
+ ret
+; 11b46a
+
+.IterateJumptable: ; 11b46a
+ jumptable .Jumptable, wJumptableIndex
+
+.Jumptable:
+ dw Function11b483
+ dw Function11b570
+ dw Function11b5c0
+ dw Function11b5e0
+ dw Function11b5e7 ; unused
+; 11b483
+
+Function11b483: ; 11b483
+ call .InitRAM
+ ld hl, PlayerName
+ ld a, $5 ; Japanese Name Length
+.loop1
+ push af
+ ld a, [hli]
+ ld [bc], a
+ inc bc
+ pop af
+ dec a
+ and a
+ jr nz, .loop1
+
+ ld de, PARTYMON_STRUCT_LENGTH
+ ld hl, PartyMon1Species
+ ld a, [wcd82]
+ dec a
+ push af
+.loop2
+ and a
+ jr z, .okay
+ add hl, de
+ dec a
+ jr .loop2
+
+.okay
+ push bc
+ ld a, PARTYMON_STRUCT_LENGTH
+.loop3
+ push af
+ ld a, [hli]
+ ld [bc], a
+ inc bc
+ pop af
+ dec a
+ and a
+ jr nz, .loop3
+
+ pop de
+ push bc
+ ld a, [de]
+ ld [CurSpecies], a
+ call GetBaseData
+ ld hl, MON_LEVEL
+ add hl, de
+ ld a, [hl]
+ ld [CurPartyLevel], a
+ ld hl, MON_MAXHP
+ add hl, de
+ push hl
+ ld hl, MON_STAT_EXP - 1
+ add hl, de
+ pop de
+ push de
+ ld b, OTPARTYMON
+ predef CalcPkmnStats
+ pop de
+ ld h, d
+ ld l, e
+ dec hl
+ dec hl
+ ld a, [de]
+ ld [hli], a
+ inc de
+ ld a, [de]
+ ld [hl], a
+ pop bc
+ ld de, NAME_LENGTH
+ ld hl, PartyMonOT
+ pop af
+ push af
+.loop4
+ and a
+ jr z, .okay2
+ add hl, de
+ dec a
+ jr .loop4
+
+.okay2
+ ld a, NAME_LENGTH - 1
+.loop5
+ push af
+ ld a, [hli]
+ ld [bc], a
+ inc bc
+ pop af
+ dec a
+ and a
+ jr nz, .loop5
+ ld de, NAME_LENGTH
+ ld hl, PartyMonNicknames
+ pop af
+ push af
+.loop6
+ and a
+ jr z, .okay3
+ add hl, de
+ dec a
+ jr .loop6
+
+.okay3
+ ld a, NAME_LENGTH - 1
+.loop7
+ push af
+ ld a, [hli]
+ ld [bc], a
+ inc bc
+ pop af
+ dec a
+ and a
+ jr nz, .loop7
+ ld de, MAIL_STRUCT_LENGTH
+ ld hl, sPartyMail
+ pop af
+.loop8
+ and a
+ jr z, .okay4
+ add hl, de
+ dec a
+ jr .loop8
+
+.okay4
+ ld a, $0 ; BANK(sPartyMail)
+ call GetSRAMBank
+ ld a, MAIL_STRUCT_LENGTH
+.loop9
+ push af
+ ld a, [hli]
+ ld [bc], a
+ inc bc
+ pop af
+ dec a
+ and a
+ jr nz, .loop9
+ call CloseSRAM
+ jp Function11ad8a
+
+.InitRAM:
+ ld bc, $c626
+ ld a, [PlayerID]
+ ld [wcd2a], a
+ ld [bc], a
+ inc bc
+
+ ld a, [PlayerID + 1]
+ ld [wcd2b], a
+ ld [bc], a
+ inc bc
+
+ ld a, [wSecretID]
+ ld [wcd2c], a
+ ld [bc], a
+ inc bc
+
+ ld a, [wSecretID + 1]
+ ld [wcd2d], a
+ ld [bc], a
+ inc bc
+
+ ld a, [wcd2e]
+ ld [bc], a
+ inc bc
+
+ ld a, [wcd2f]
+ ld [bc], a
+ inc bc
+
+ ld a, [wcd30]
+ ld [bc], a
+ inc bc
+
+ ld a, [wd265]
+ ld [bc], a
+ inc bc
+ ret
+; 11b570
+
+Function11b570: ; 11b570
+ call Function118007
+ ld a, [ScriptVar]
+ and a
+ jr nz, .exit
+ call .SaveData
+ jp Function11ad8a
+
+.exit
+ ld a, $4
+ ld [wJumptableIndex], a
+ ret
+
+.SaveData:
+ ld a, $3
+ ld [rSVBK], a
+
+ ld hl, w3_d800
+ ld de, $c608
+ ld bc, w3_d88f - w3_d800
+ call CopyBytes
+
+ ld a, $1
+ ld [rSVBK], a
+ ld a, $5
+ call GetSRAMBank
+
+ ld de, $a800
+ ld a, $1
+ ld [de], a
+ inc de
+ ld hl, $c608
+ ld bc, w3_d88f - w3_d800
+ call CopyBytes
+
+ push de
+ pop hl
+
+ ld a, [hRTCMinutes]
+ ld [hli], a
+ ld a, [hRTCHours]
+ ld [hli], a
+ ld a, [hRTCDayLo]
+ ld [hli], a
+ ld a, [hRTCDayHi]
+ ld [hl], a
+
+ call CloseSRAM
+ ret
+; 11b5c0
+
+Function11b5c0: ; 11b5c0
+ ld a, [wcd82]
+ dec a
+ ld [CurPartyMon], a
+ xor a
+ ld [wPokemonWithdrawDepositParameter], a
+ callba RemoveMonFromPartyOrBox
+ callba Function170807
+ callba SaveAfterLinkTrade
+ jp Function11ad8a
+; 11b5e0
+
+Function11b5e0: ; 11b5e0
+ xor a
+ ld [ScriptVar], a
+ jp Function11ad8a
+; 11b5e7
+
+Function11b5e7: ; 11b5e7
+ ret
+; 11b5e8
+
+Function11b5e8: ; 11b5e8
+ ld a, $0
+ call GetSRAMBank
+ ld hl, wRTC
+ ld de, $c608
+ ld bc, 4
+ call CopyBytes
+ call CloseSRAM
+ ld a, $5
+ call GetSRAMBank
+ ld hl, $c608
+ ld de, $b08c
+ ld bc, 4
+ call CopyBytes
+ ld a, $2
+ ld [$a800], a
+ ld a, [$a81f]
+ ld [wcd2a], a
+ ld a, [$a820]
+ ld [wcd2b], a
+ ld a, [$a821]
+ ld [wcd2c], a
+ ld a, [$a822]
+ ld [wcd2d], a
+ ld a, [$a823]
+ ld [wcd2e], a
+ ld a, [$a824]
+ ld [wcd2f], a
+ ld a, [$a825]
+ ld [wcd30], a
+ ld a, [$a826]
+ ld [wcd31], a
+ call CloseSRAM
+ call Mobile46_InitJumptable
+ call .loop
+ ret
+
+.loop
+ call .RunJumptable
+ call DelayFrame
+ ld a, [wJumptableIndex]
+ cp $1
+ jr nz, .loop
+ ret
+
+.RunJumptable:
+ jumptable .Jumptable, wJumptableIndex
+.Jumptable:
+ dw Function11b66d
+ dw Function11b6b3
+; 11b66d
+
+Function11b66d: ; 11b66d
+ call Function1180b8
+ ld a, [ScriptVar]
+ and a
+ jr nz, .asm_11b6b0
+ ld a, [rSVBK]
+ push af
+ ld a, $3
+ ld [rSVBK], a
+ ld a, [w3_d090]
+ ld b, a
+ pop af
+ ld [rSVBK], a
+ ld a, b
+ and a
+ jr z, .asm_11b691
+ cp $1
+ jr nz, .asm_11b6b0
+ call Function11b6b4
+ jr .asm_11b6b0
+
+.asm_11b691
+ callba Function17081d
+ ld a, [ScriptVar]
+ and a
+ jr z, .asm_11b6b0
+ xor a
+ ld [ScriptVar], a
+ ld a, [rSVBK]
+ push af
+ ld a, $3
+ ld [rSVBK], a
+ ld a, $2
+ ld [w3_d090], a
+ pop af
+ ld [rSVBK], a
+
+.asm_11b6b0
+ jp Function11ad8a
+; 11b6b3
+
+Function11b6b3: ; 11b6b3
+ ret
+; 11b6b4
+
+Function11b6b4: ; 11b6b4
+ ld a, $5
+ call GetSRAMBank
+ ld a, [wcd30]
+ ld [$c708], a
+ ld a, [wcd31]
+ ld [$c709], a
+
+ ld a, $c708 % $100
+ ld [wMobileMonSpeciesPointerBuffer], a
+ ld a, $c708 / $100
+ ld [wMobileMonSpeciesPointerBuffer + 1], a
+
+ ld a, $c60d % $100 ; Partymon Struct
+ ld [wMobileMonStructurePointerBuffer], a
+ ld a, $c60d / $100
+ ld [wMobileMonStructurePointerBuffer + 1], a
+
+ ld a, $c63d % $100 ; OT
+ ld [wMobileMonOTNamePointerBuffer], a
+ ld a, $c63d / $100
+ ld [wMobileMonOTNamePointerBuffer + 1], a
+
+ ld a, $c642 % $100 ; Nickname
+ ld [wMobileMonNicknamePointerBuffer], a
+ ld a, $c642 / $100
+ ld [wMobileMonNicknamePointerBuffer + 1], a
+
+ ld a, $c647 % $100 ; ???
+ ld [wMobileMonMailPointerBuffer], a
+ ld a, $c647 / $100
+ ld [wMobileMonMailPointerBuffer + 1], a
+
+ ld a, $46
+ ld [$c628], a
+
+ ld de, $c63d
+ ld c, 5
+ callba CheckStringForErrors
+ jr nc, .length_check_OT
+ callba Mobile_CopyDefaultOTName
+
+.length_check_OT
+ ld de, $c63d
+ lb bc, 1, 5
+ callba CheckStringContainsLessThanBNextCharacters
+ jr nc, .error_check_nick
+ callba Mobile_CopyDefaultOTName
+
+.error_check_nick
+ ld de, $c642
+ ld c, 5
+ callba CheckStringForErrors
+ jr nc, .length_check_nick
+ callba Mobile_CopyDefaultNickname
+
+.length_check_nick
+ ld de, $c642
+ lb bc, 1, 5
+ callba CheckStringContainsLessThanBNextCharacters
+ jr nc, .error_check_mail
+ callba Mobile_CopyDefaultNickname
+
+.error_check_mail
+ ld de, $c647
+ ld c, MAIL_MSG_LENGTH + 1
+ callba CheckStringForErrors
+ jr nc, .length_check_mail
+ callba Mobile_CopyDefaultMail
+
+.length_check_mail
+ ld de, $c647
+ lb bc, 2, MAIL_MSG_LENGTH + 1
+ callba CheckStringContainsLessThanBNextCharacters
+ jr c, .fix_mail
+ ld a, b
+ cp $2
+ jr nz, .mail_ok
+
+.fix_mail
+ callba Mobile_CopyDefaultMail
+
+.mail_ok
+ ld de, $c668
+ ld c, $5
+ callba CheckStringForErrors
+ jr nc, .length_check_author
+ callba Mobile_CopyDefaultMailAuthor
+
+.length_check_author
+ ld de, $c668
+ lb bc, 1, 5
+ callba CheckStringContainsLessThanBNextCharacters
+ jr nc, .author_okay
+ callba Mobile_CopyDefaultMailAuthor
+
+.author_okay
+ ld a, [$c60e]
+ cp -1
+ jr nz, .item_okay
+ xor a
+ ld [$c60e], a
+
+.item_okay
+ ld a, [wcd31]
+ ld [$c60d], a
+ ld [CurSpecies], a
+ call GetBaseData
+
+ ld hl, $c60d + MON_LEVEL
+ ld a, [hl]
+ cp MIN_LEVEL
+ ld a, MIN_LEVEL
+ jr c, .replace_level
+ ld a, [hl]
+ cp MAX_LEVEL
+ jr c, .done_level
+ ld a, MAX_LEVEL
+.replace_level
+ ld [hl], a
+.done_level
+ ld [CurPartyLevel], a
+
+ ld hl, $c60d + MON_STAT_EXP - 1
+ ld de, $c60d + MON_MAXHP
+ ld b, $1
+ predef CalcPkmnStats
+ ld de, $c60d + MON_MAXHP
+ ld hl, $c60d + MON_HP
+ ld a, [de]
+ ld [hli], a
+ inc de
+ ld a, [de]
+ ld [hl], a
+ call AddMobileMonToParty
+ ret
+; 11b7e5
+
+Function11b7e5: ; 11b7e5
+ ld a, [$c60d] ; species
+ ld [wOTTrademonSpecies], a
+ ld [CurPartySpecies], a
+ ld a, [wcd81]
+ ld [wc74e], a
+ ld hl, $c63d ; OT
+ ld de, wOTTrademonOTName
+ ld bc, 5
+ call CopyBytes
+ ld a, "@"
+ ld [de], a
+ ld a, [$c60d + MON_ID] ; id
+ ld [wOTTrademonID], a
+ ld a, [$c60d + MON_ID + 1]
+ ld [wOTTrademonID + 1], a
+ ld hl, $c60d + MON_DVS ; dvs
+ ld a, [hli]
+ ld [wOTTrademonDVs], a
+ ld a, [hl]
+ ld [wOTTrademonDVs + 1], a
+ ld bc, $c60d ; pokemon_data_start
+ callba GetCaughtGender
+ ld a, c
+ ld [wOTTrademonCaughtData], a
+ call SpeechTextBox
+ call FadeToMenu
+ callba MobileTradeAnimation_ReceiveGetmonFromGTS
+ callba Function17d1f1
+ ld a, $1
+ ld [wForceEvolution], a
+ ld a, $2
+ ld [wLinkMode], a
+ callba EvolvePokemon
+ xor a
+ ld [wLinkMode], a
+ callba SaveAfterLinkTrade
+ ld a, $5
+ call GetSRAMBank
+ ld a, $5
+ ld [$a800], a
+ call CloseSRAM
+ ld a, [MapGroup]
+ ld b, a
+ ld a, [MapNumber]
+ ld c, a
+ call GetMapTrigger
+ ld a, d
+ or e
+ jr z, .asm_11b872
+ ld a, $1
+ ld [de], a
+
+.asm_11b872
+ call CloseSubmenu
+ call RestartMapMusic
+ ret
+; 11b879
+
+Function11b879: ; 11b879
+ callba BattleTower_CheckSaveFileExistsAndIsYours
+ ld a, [ScriptVar]
+ and a
+ ret z
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$a800]
+ ld [ScriptVar], a
+ ld a, [$a890]
+ ld [wcd49], a
+ ld a, [$a891]
+ ld [wcd4a], a
+ ld a, [$a892]
+ ld [wcd4b], a
+ ld a, [$a893]
+ ld [wcd4c], a
+ call CloseSRAM
+ ld a, [ScriptVar]
+ and a
+ ret z
+ ld hl, wcd4c
+ ld a, [hRTCDayHi]
+ cp [hl]
+ ret nz
+ dec hl
+ ld a, [hRTCDayLo]
+ cp [hl]
+ ret nz
+ ld hl, wcd4a
+ ld a, [hRTCHours]
+ cp [hl]
+ jr nc, .asm_11b8d8
+ ld a, $18
+ sub [hl]
+ ld hl, hRTCHours
+ add [hl]
+ ld [wcd4c], a
+ ld a, [hRTCMinutes]
+ ld [wcd4b], a
+ xor a
+ ld [wcd4a], a
+ jr .asm_11b8e2
+
+.asm_11b8d8
+ ld a, [hRTCMinutes]
+ ld [wcd4b], a
+ ld a, [hRTCHours]
+ ld [wcd4c], a
+
+.asm_11b8e2
+ xor a
+ ld l, a
+ ld h, a
+ ld b, a
+ ld d, a
+ ld a, [wcd4b]
+ ld e, a
+ ld a, [wcd4c]
+ ld c, $3c
+ call AddNTimes
+ add hl, de
+ push hl
+ xor a
+ ld l, a
+ ld h, a
+ ld b, a
+ ld d, a
+ ld a, [wcd49]
+ ld e, a
+ ld a, [wcd4a]
+ ld c, $3c
+ call AddNTimes
+ add hl, de
+ ld a, l
+ cpl
+ add $1
+ ld e, a
+ ld a, h
+ cpl
+ adc $0
+ ld d, a
+ pop hl
+ add hl, de
+ ld de, $ff88
+ add hl, de
+ bit 7, h
+ ret z
+ ld a, $2
+ ld [ScriptVar], a
+ ret
+; 11b920
+
+Function11b920: ; 11b920
+ call Mobile46_InitJumptable
+ ld a, $5
+ call GetSRAMBank
+ ld hl, $a81f
+ ld de, $c626
+ ld bc, 8
+ call CopyBytes
+ call CloseSRAM
+ call Function118000
+ ret
+; 11b93b
+
+Function11b93b: ; 11b93b
+ ld a, $5
+ call GetSRAMBank
+ xor a
+ ld [$a800], a
+ ld hl, $a823
+ ld de, $c608
+ ld bc, $008f
+ call CopyBytes
+ call CloseSRAM
+
+ ld a, $c608 % $100
+ ld [wMobileMonSpeciesPointerBuffer], a
+ ld a, $c608 / $100
+ ld [wMobileMonSpeciesPointerBuffer + 1], a
+
+ ld a, $c611 % $100
+ ld [wMobileMonStructurePointerBuffer], a
+ ld a, $c611 / $100
+ ld [wMobileMonStructurePointerBuffer + 1], a
+
+ ld a, $c641 % $100
+ ld [wMobileMonOTNamePointerBuffer], a
+ ld a, $c641 / $100
+ ld [wMobileMonOTNamePointerBuffer + 1], a
+
+ ld a, $c646 % $100
+ ld [wMobileMonNicknamePointerBuffer], a
+ ld a, $c646 / $100
+ ld [wMobileMonNicknamePointerBuffer + 1], a
+
+ ld a, $c64b % $100
+ ld [wMobileMonMailPointerBuffer], a
+ ld a, $c64b / $100
+ ld [wMobileMonMailPointerBuffer + 1], a
+ call AddMobileMonToParty
+ callba SaveAfterLinkTrade
+ ret
+; 11b98f
+
+AddMobileMonToParty: ; 11b98f
+ ld hl, PartyCount
+ ld a, [hl]
+ ld e, a
+ inc [hl]
+
+ ld a, [wMobileMonSpeciesPointerBuffer]
+ ld l, a
+ ld a, [wMobileMonSpeciesPointerBuffer + 1]
+ ld h, a
+ inc hl
+ ld bc, PartySpecies
+ ld d, e
+.loop1
+ inc bc
+ dec d
+ jr nz, .loop1
+ ld a, e
+ ld [CurPartyMon], a
+ ld a, [hl]
+ ld [bc], a
+ inc bc
+ ld a, -1
+ ld [bc], a
+
+ ld hl, PartyMon1Species
+ ld bc, PARTYMON_STRUCT_LENGTH
+ ld a, e
+ ld [wMobileMonSpeciesBuffer], a
+.loop2
+ add hl, bc
+ dec a
+ and a
+ jr nz, .loop2
+ ld e, l
+ ld d, h
+ ld a, [wMobileMonStructurePointerBuffer]
+ ld l, a
+ ld a, [wMobileMonStructurePointerBuffer + 1]
+ ld h, a
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call CopyBytes
+
+ ld hl, PartyMonOT
+ ld bc, NAME_LENGTH
+ ld a, [wMobileMonSpeciesBuffer]
+.loop3
+ add hl, bc
+ dec a
+ and a
+ jr nz, .loop3
+ ld e, l
+ ld d, h
+ ld a, [wMobileMonOTNamePointerBuffer]
+ ld l, a
+ ld a, [wMobileMonOTNamePointerBuffer + 1]
+ ld h, a
+ ld bc, PKMN_NAME_LENGTH - 1
+ call CopyBytes
+ ld a, "@"
+ ld [de], a
+
+ ld hl, PartyMonNicknames
+ ld bc, PKMN_NAME_LENGTH
+ ld a, [wMobileMonSpeciesBuffer]
+.loop4
+ add hl, bc
+ dec a
+ and a
+ jr nz, .loop4
+ ld e, l
+ ld d, h
+ ld a, [wMobileMonNicknamePointerBuffer]
+ ld l, a
+ ld a, [wMobileMonNicknamePointerBuffer + 1]
+ ld h, a
+ ld bc, PKMN_NAME_LENGTH - 1
+ call CopyBytes
+ ld a, "@"
+ ld [de], a
+
+ ld hl, sPartyMail
+ ld bc, MAIL_STRUCT_LENGTH
+ ld a, [wMobileMonSpeciesBuffer]
+.loop5
+ add hl, bc
+ dec a
+ and a
+ jr nz, .loop5
+ ld a, BANK(sPartyMail)
+ call GetSRAMBank
+ ld e, l
+ ld d, h
+ ld a, [wMobileMonMailPointerBuffer]
+ ld l, a
+ ld a, [wMobileMonMailPointerBuffer + 1]
+ ld h, a
+ ld bc, MAIL_STRUCT_LENGTH
+ call CopyBytes
+
+ call CloseSRAM
+ ret
+; 11ba38
+
+Function11ba38: ; 11ba38
+ callba CheckCurPartyMonFainted
+ ret c
+ xor a
+ ld [ScriptVar], a
+ ret
+; 11ba44
+
+TilemapPack_11ba44:
+ db $47, $30, $0a, $0a, $0a, $0a, $0a, $56 ; 00
+ db $46, $2f, $0a, $0a, $0a, $0a, $0a, $55 ; 01
+ db $45, $3d, $0a, $0a, $0a, $0a, $0a, $54 ; 02
+ db $44, $30, $0a, $0a, $0a, $0a, $0a, $53 ; 03
+ db $43, $2f, $0a, $0a, $0a, $0a, $0a, $52 ; 04
+ db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $51 ; 05
+ db $4a, $30, $0a, $0a, $0a, $0a, $0a, $50 ; 06
+ db $4a, $2f, $0a, $0a, $0a, $0a, $0a, $4f ; 07
+ db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $4e ; 08
+ db $4a, $30, $0a, $0a, $0a, $0a, $4d, $42 ; 09
+ db $4a, $2f, $0a, $0a, $0a, $0a, $6b, $58 ; 0a
+ db $4a, $3d, $0a, $0a, $0a, $0a, $6a, $58 ; 0b
+ db $4a, $30, $0a, $0a, $0a, $0a, $69, $58 ; 0c
+ db $4a, $2f, $0a, $0a, $0a, $0a, $68, $58 ; 0d
+ db $4a, $3d, $0a, $0a, $0a, $66, $67, $58 ; 0e
+ db $4a, $30, $0a, $0a, $0a, $65, $0a, $58 ; 0f
+ db $4a, $2f, $0a, $0a, $0a, $64, $0a, $58 ; 10
+ db $4a, $3d, $0a, $0a, $0a, $63, $0a, $58 ; 11
+ db $4a, $30, $0a, $0a, $61, $62, $0a, $58 ; 12
+ db $4a, $2f, $0a, $0a, $5f, $60, $0a, $58 ; 13
+ db $4a, $3d, $0a, $61, $62, $0a, $0a, $58 ; 14
+ db $4a, $30, $0a, $63, $0a, $0a, $0a, $58 ; 15
+ db $4a, $2f, $69, $0a, $0a, $0a, $0a, $58 ; 16
+ db $4a, $3d, $81, $0a, $0a, $0a, $0a, $58 ; 17
+ db $4a, $30, $80, $0a, $0a, $0a, $0a, $58 ; 18
+ db $4a, $2f, $7f, $0a, $0a, $0a, $0a, $58 ; 19
+ db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $58 ; 1a
+ db $4a, $30, $0a, $0a, $0a, $0a, $0a, $58 ; 1b
+ db $4a, $2f, $68, $87, $88, $89, $0a, $58 ; 1c
+ db $4a, $3d, $6e, $6f, $70, $75, $76, $58 ; 1d
+ db $4a, $30, $75, $76, $5c, $5d, $5e, $58 ; 1e
+ db $4a, $2f, $71, $72, $73, $74, $6d, $58 ; 1f
+ db $4a, $3d, $75, $76, $77, $8a, $8b, $58 ; 20
+ db $4a, $30, $66, $67, $65, $0a, $6a, $58 ; 21
+ db $4a, $2f, $83, $84, $0a, $83, $84, $58 ; 22
+ db $4a, $3d, $0a, $85, $82, $84, $0a, $58 ; 23
+ db $4a, $30, $41, $80, $40, $0a, $0a, $58 ; 24
+ db $4a, $2f, $83, $0a, $0a, $0a, $0a, $58 ; 25
+ db $4a, $3d, $40, $0a, $0a, $0a, $0a, $58 ; 26
+ db -1
+
+TilemapPack_11bb7d:
+ db $0a, $0a, $0a, $0a, $0a, $0a, $16, $00 ; 00
+ db $78, $0a, $0a, $0a, $0a, $0a, $8c, $00 ; 01
+ db $79, $0a, $0a, $0a, $0a, $0a, $8d, $00 ; 02
+ db $7a, $0a, $0a, $0a, $0a, $0a, $8e, $00 ; 03
+ db $7b, $0a, $0a, $0a, $0a, $0a, $8c, $00 ; 04
+ db $7c, $0a, $0a, $0a, $0a, $0a, $8d, $00 ; 05
+ db $7d, $0a, $0a, $0a, $0a, $0a, $8e, $00 ; 06
+ db $2e, $7e, $0a, $0a, $0a, $0a, $8c, $00 ; 07
+ db $2e, $80, $0a, $0a, $0a, $0a, $8d, $00 ; 08
+ db $2e, $81, $0a, $0a, $0a, $0a, $8e, $00 ; 09
+ db $2e, $82, $0a, $0a, $0a, $0a, $8c, $00 ; 0a
+ db $2e, $69, $0a, $0a, $0a, $0a, $8d, $00 ; 0b
+ db $2e, $6a, $0a, $0a, $0a, $0a, $8e, $00 ; 0c
+ db $2e, $6b, $0a, $0a, $0a, $0a, $8c, $00 ; 0d
+ db $2e, $0a, $68, $0a, $0a, $0a, $8d, $00 ; 0e
+ db $2e, $0a, $69, $0a, $0a, $0a, $8e, $00 ; 0f
+ db $2e, $0a, $0a, $6a, $0a, $0a, $8c, $00 ; 10
+ db $2e, $0a, $0a, $6b, $0a, $0a, $8d, $00 ; 11
+ db $2e, $0a, $0a, $0a, $80, $0a, $8e, $00 ; 12
+ db $2e, $0a, $0a, $0a, $82, $0a, $8c, $00 ; 13
+ db $2e, $0a, $0a, $0a, $6c, $0a, $8d, $00 ; 14
+ db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00 ; 15
+ db $2e, $0a, $6b, $0a, $0a, $0a, $8c, $00 ; 16
+ db $2e, $0a, $0a, $69, $0a, $0a, $8d, $00 ; 17
+ db $2e, $0a, $0a, $6a, $0a, $0a, $8e, $00 ; 18
+ db $2e, $0a, $0a, $0a, $68, $0a, $8c, $00 ; 19
+ db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00 ; 1a
+ db $2e, $0a, $0a, $61, $62, $0a, $8e, $00 ; 1b
+ db $2e, $0a, $0a, $0a, $5f, $60, $8c, $00 ; 1c
+ db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00 ; 1d
+ db $2e, $0a, $0a, $0a, $0a, $69, $8c, $00 ; 1e
+ db $2e, $0a, $0a, $0a, $0a, $6b, $8d, $00 ; 1f
+ db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00 ; 20
+ db $2e, $0a, $0a, $0a, $0a, $86, $8c, $00 ; 21
+ db $2e, $0a, $85, $0a, $0a, $0a, $8d, $00 ; 22
+ db $2e, $0a, $0a, $84, $0a, $0a, $8e, $00 ; 23
+ db -1
+
+