Zeld's Idea:
B401 Push r0 
2087 mov r0, #0x87 
0500 lsl r0, r0 #0x14 
1c40 add r0, r0, #0x1 
4687 mov pc, r0 
-Jumps to 08700000

BC01 - Pop r1
Original Day updater routine
0000
4a03 ldr r2, [$080176b8] (=$03004080)
8811 ldrh r1, [r2, 0x0]
4803 ldr r0, [$080176bc] (=$000003e6)
4281 cmp r1, r0
d801 bhi $080176b6
1c48 add r0, r1, 0x1
8010 strh r0, [r2, 0x0]4770 bx lr

1000 0111 (87)

2087

Updated Day Updater routine
0000
bc01 pop r0
4a26 ldr r2 [087000A0] (=$03004080)
8811 ldrh r1, [r2, 0x0]
4826 ldr r0, [087000A4] (=$3e8)
4281 cmp r1, r0
d801 bhi $080176b6
1c48 add r0, r1, 0x1
8010 strh r0, [r2, 0x0]
4770 bx lr

Updated Day Updater routine, Super Adder added
0000
bc01 pop r0
4a26 ldr r2 [087000A0] (=$03004080)
8811 ldrh r1, [r2, 0x0]
4826 ldr r0, [087000A4] (=$3e8)
4281 cmp r1, r0
d801 bhi $080176b6
1c48 add r0, r1, 0x1
8010 strh r0, [r2, 0x0]
//New Code
B4C8	push r3, r6, r7
4b24	ldre r3, 0x??
0846	lsr r6, r0 //Creates D2D Boost
1987	add r7, r0, r6 //Creates SCOP boost
300A	add r0, 0xA //Adds default boost to COP
370A	add r7, 0xA //Adds default boost to SCOP
801E	strh r6 [r3, 0x0] //Stores updated D2D
8118	strh r0 [r3, 0x8] //Stores updated COP
821F	strh r7 [r3, 0x10] //Stores updated SCOP
2601	mov r6, 0x1 //Adds movement boost for COP
2702	mov r7 0x2 //For SCOP
819E	strh r6 [r3, 0xC]
829F	strh r7 [r3, 0x14]
380A	sub r0, 0xA
BCC8	pop r3, r6, r7
4770 	bx lr

D2D at 03007E00
COP at 03007E08
SCOP at 03007E10

replace 08025e74 (Runs once - init variables)
b4FF	Push r0, r1, r2, r3, r4, r5, r6, r7 
2087 mov r0, #0x87 
0500 lsl r0, r0 #0x14 
3041	add r0, r0, #0x41 
4687 mov pc, r0 

Jump to 0x08700040
str 8818

new function:
0000	nop
4b1A	ldr r3, 0x18 //Load base offset
2000	mov r0, 0x0 //Set D2D, D1
210A	mov r1 0xA //Set COP D1
220A	mov r2 0xA //Set SCOP D1
8018	strh r0, [r3 0x0] //Save D2D
8119	strh r1, [r3 0x8] //Save COP
821A	strh r2, [r3 0x10] //Save SCOP
2001	mov r0, 0x1 //Set COP Move
8198	strh r0, [r3 0xC] //Save it
2002 	mov r0, 0x2 //Set SCOP Move
8298	strh r0, [r3 0x14] //Save it
BCFF	pop {all} //Restore registers
//Old Function here
b510
4c08
2300
2200
21ff
6820
1810
7003
320C
3901
2900
DAF8
2100
4803
8001
bc10
bc01
4700

Fog Sonja function
3 Parts

Original Setting stored at 0x03007E20
P1 Set Fog: 0x03007E21
p2: 22
p3: 23
p4: 24
Incrementer: 0x03007E26

Part 1: Copy original game settings at startup.
B407	push {r0, r1, r2}
4910	ldre r1, 0x?? (Fog Option Address)
4A10	ldre r2, 0x?? (Store Init. Variable Address)
7808	ldrb r0, [r1, 0x0]
7010	strb r0, [r2, 0x0]
2000	mov r0, 0x0
7050	strb r0, [r2, 0x1] //Initialise all four at 00
7090 strb 0x2
70D0 strb 0x3
6050 str 0x1
BC07	pop {r0, r1, r2} 

Part 2: Turn Fog of War On, Increment value (08619300)
B40F	push {r0, r1, r2, r3}
2000	mov r0, 0x0
490A	ldre r1, 0x?? (Initialised options address)
7808	ldrb r0, [r1, 0x0] //Loads init game settings)
2801	cmp r0, 0x1
D00B	beq 0xB //Compares and skips if FoW is already on by default.
	//Jump Start
490A	ldre r1, 0x?? (Fog Option Address)
4A09	ldre r2, 0x?? (Incrementer Address)
7810	ldrb r0, [r2, 0x0] //Loads current increment)
1C43	add r3, r0, 0x1 (Adds 1 to the incremented value)
7013	strb r3, [r2, 0x0] //Stores updated increment
4A06	ldre r2, 0x?? //Loads 'This COP set Fog for this player' Flag address
2001	mov r0, 0x1
4B??	ldre r3, 0x?? //Load Address of current player turn
781B	ldrb r3, [r3, 0x0]
18D2	add r2, r2, r3 //Adds to the address of the current player turn, get new address to store byte
7008	strb r0, [r1, 0x0] //Stores Fog = True at address
7010	strb r0, [r2, 0x0] //Stores 'This player's power set FoW, yah?	
	//Jump point if Fog is already on
BC0F	pop {r0, r1, r2, r3}
	//Do the rest of the COP, including one of those fancy screen redraws
4E	ldre r6 (0x??) //Loads Sonja's COP Flash animation thingy.
B440	push r6
2600	mov r6, 0x0
BD00	pop pc

Part 3: Deactivate (0x0804418E)
	//Let original routine complete (mostly). Append to end via jump.
B41F	push {r0, r1, r2, r3}
	//Jump
	ldre r0, 0x?? (08619360)
4687	mov pc, r0
	//deactivation routine starts
4813	ldre r1 0x13 (Initialised FoW setting)
7808	ldrb r0, [r1, 0x0] //Loads initial FoW Setting
2801	cmp r0, 0x1
D012	beq 0x12
	//Jump if FoW is on by default
4A12	ldre r2 0x12 //Loads 'Current Player turn' address
4911	ldre r1 0x11 //Loads 'This player's power set FoW address (03007e20)
7812	ldrb r2, [r2, 0x0]
1889	add r1, r2, r1
7808	ldrb r0, [r1, 0x0] //Loads the 'This player set FoW last turn byte into r0
2801	cmp r0, 0x1
D111	bne 0x11 //2 Jump ahead if didn't set FoW
4A10	ldre r2, 0x10 (Load incrementer address)
7810	ldrb r0, [r2, 0x0] //Load incrementer
3801	sub r0, 0x1 //Reduces increment
7010	strb r0, [r2, 0x0] //Stores now decremented incrementer
2800	cmp r0, 0x0 //If incrementer reached 0, deactivate FoW
D10B	bne 0xB 
	//2 Jump ahead if incrementer didn't reach zero
	ldre r2, 0x?? //Load F0W address
2000	mov r0, 0x0
7010	strb r0 [r2, 0x0]
E004	b 0x8 //Leaves space to load that nifty redraw routine when I figure it out.
	//
	//This is where we do that cool screen redraw thing and make a sound!!11 <- This needs to be worked out.
	//
	//2 Jump to point
2000	mov r0, 0x0
7008	strb r0 [r1, 0x0] //Sets 'Set FoW' to False now
	//Jump to Point
BC1F	pop {r0, r1, r2, r3}
	//Now we finish off the original routine
84CA
850A
BC10
BC01
4700
	//End of original routine

Balance Lash?

	push r0
	ldre r0 0x??
	mov pc, r0
	...

	
Lightning Drive/Strike
B41F	Push r0, r1, r2, r3
480B	Ldre r0 0x28 (Current Turn address)
7800	Ldrb r0, 0x0
21C0	mov r1 0xC0
0089	lsl r1, 0x2
4348	Mul r0, r1, r0
	//creates offset of units address in r0.
6C49	Ldre r1, 0x22 (Unit address - whatever)
1840	Add r0, r1, r0
2200	mov r2 0x0
	//Jump Point 1
3201	Add r2, 0x1
2A33	cmp r2, 0x33
DA06	bge, 0xEnd
300C	Add r0, r0, 0xC
7801	Ldr r1, r0, 0x0
2902	cmp r1, 0x2
DDF8	ble, 0x-C
2100	mov r1 0x0
7041	stb r0, r1, 0x1
E7F5	b -0x12
BC1F	pop r0, r1, r2, r3
4E0A	ldre r6 (0x??) //Loads Sonja's COP Flash animation thingy.
B440	push r6
2600	mov r6, 0x0
BD00	pop pc
030033EC //Current Player Turn
202242C //-0x300, -0xC from P1's Units
080443D9 //Start of Default COP Animation

Grit's Mega-Snipe
(Set not wait)
	push r0 - r4
	ldre r1, 0x?? (030005d0) //Load what the current player's turn is)
	ldrb r1, r1, 0x0
	ldre r2, 0x?? (020232A1) //P1 CO minus 3c
	mul r1, r1, 0x3c
	add r2, r1, r2 //Creates address to check what CO a player has
	ldrb r1, r2, 0x0 //loads current CO
	ldrb r3, r2, 0x1 //Loads current power mode
	ldre r2, 0x?? (0x104) //Loads multiplier for CO data length
	mul r1, r2, r1 // Creates length of CO address
	ldre r0, 0x?? (085d3e10) //Loads start of CO data @ Bitfield
	mul r3, 0x44
	add r0, r0, r1
	add r0, r3, r0 //Creates where the CO Skills bitfield is.
	ldr r1, r0, 0x0 //loads bitfield word
	and 0x10 //Mask to see if bit 0x10 is set
	cmp r1, 0x10
	bne 0x?? (Jump and continue regular routine)
	//New Routine
	pop r0 - r4
	push r0 - r4
	ldr r0, r2 0x0
	cmp r0, 0x0A
	beq
	cmp r0, 0x0B
	beq
	cmp r0, 0x0F
	beq
	cmp r0, 0x15
	beq (Don't set wait)
	pop r0 - r4
	(Waiting Code in here)
	pop r0 - r4
2101
4308
7050
	b 0x?? //Jump past ignore wait code.
	pop r0 - r4
2101	mov r1, 0x1
4308 orr r0, r1
	//original code beyond here
6822
7851
2008
4008
2800
d002
2002
4308
7050
f7e3
6820
f031
f7d7
bc10
bc01
4700

New damage formula (Divide by Terrain Defence, Divide by Inherent Defence) (This is the actual damage formula...not the display formula)
	08024D0E
1809 -> 0001	lsl r0, r1, 0x0 (Creates Terrain defence at +0x6 and inherent defence at +0xe)

	080249FE
2810 -> 2800 (Allows Air units to get Terrain Bonuses...only to be taken away later! Nyahaha!)

Jump Code for routine.
4801	ldre r0, 0x?? [08700000]
b401	push r0
bd00	pop pc
0000
08700000 //Address to jump to

	//r6 = Defender
	//r4 = Attacker
89F1	ldrh r1, [r6, 0xe] //Loads inherent defence total
	ldrh r0, [r4, 0xC] //Loads formulated attack damage
2364	mov r3, 0x64
0000	no op
4358	mul r0, r3
df06	swi $06 (Divide r0 by r1)
0007	mov r7, r0 //safely stores current damage in r7, away from nasty SWI opcode!
	//Start Terrain division, icky plane stuff too!
89B0	ldrh r0, [r6, 0x6]
6831	ldr r1, r6, 0x0 //loads defending unit's address
780A	ldrb r2, r1 0x0 //loads unit ID
2A10	cmp r2, 0x10
DB03	blt 0x?? //If <0x10, skip
2A14	cmp r2, 0x14
DC01	bgt 0x?? //if >0x14, Skip
	//code for Air Units
2000	mov r0, 0x0
e006	b (final)
	//code for other units
7908	ldrb r0, r1, 0x4//loads unit's HP
0640	lsl r0, r0, 0x19
0E40	lsr r0, r0, 0x19 //cuts off fuel bit
3801	sub r0, 0x1 //prepares the HP for correct divison
210A	mov r1, 0xa
df06	swi $06
3001	add r0, 0x1 //current disp. HP in r0 now
0002	mov r2, r0
79b0	ldrb r0, r6, 0x6 //Loads terrain defence before HP mod.
4350	mul r0, r2
210A	mov r1, 0xA
df06	swi $06 //defence bonus x HP / 10
	//finally, actually do the terrain division!
0001	mov r1, r0
0038	mov r0, r7
2764	mov r7, 0x64
4378	mul r0, r7
19c9	add r1, r7
df06	swi $06
	//returns finalised value. Phew
8270	strh r0,  [r6, 0x12] //Stores the value in it's rightful spot.
	//original IS Routine from here!
6831
7909
0649
0e49
1a09
8131
bcf0
bc01
4700

	//New Damage Display code! (Should be easy after that ruddy regular damage formula!)
	Old code loads damage
	Saves r6, 
89F1	ldrh r1, [r6, 0xe] //Loads inherent defence total
8AA0	ldrh r0, [r4, 0x14] //Loads formulated attack damage
2364	mov r3, 0x64
0000	no op
4358	mul r0, r3
df06	swi $06 (Divide r0 by r1)
0007	mov r7, r0 //safely stores current damage in r7, away from nasty SWI opcode!
	//Start Terrain division, icky plane stuff too!
89B0	ldrh r0, [r6, 0x6]
6831	ldr r1, r6, 0x0 //loads defending unit's address
780A	ldrb r2, r1 0x0 //loads unit ID
2A10	cmp r2, 0x10
DB03	blt 0x?? //If <0x10, skip
2A14	cmp r2, 0x14
DC01	bgt 0x?? //if >0x14, Skip
	//code for Air Units
2000	mov r0, 0x0
e006	b (final)
	//code for other units
7908	ldrb r0, r1, 0x4//loads unit's HP
0640	lsl r0, r0, 0x19
0E40	lsr r0, r0, 0x19 //cuts off fuel bit
3801	sub r0, 0x1 //prepares the HP for correct divison
210A	mov r1, 0xa
df06	swi $06
3001	add r0, 0x1 //current disp. HP in r0 now
0002	mov r2, r0
79b0	ldrb r0, r6, 0x6 //Loads terrain defence before HP mod.
4350	mul r0, r2
210A	mov r1, 0xA
df06	swi $06 //defence bonus x HP / 10
	//finally, actually do the terrain division!
0001	mov r1, r0
0038	mov r0, r7
2764	mov r7, 0x64
4378	mul r0, r7
19c9	add r1, r7
df06	swi $06
82a0	strh r0 [r4, 0x14]
	//Somehow now jump back to 080241e
4801	ldre r2, 0x?? [08024e16]
b402	push r2
bd00	pop pc

	New Pricing code - Progressive deduction
380A	sub r0, 0xA
8801	ldrh r1, r0, 0x0
07c9	lsl r1, 0x1f
0Fc9	lsr r1, 0x1f
300A	add r0, 0xA
2901	cmp r1, 0x1
D10A	bne (regular pricing)
4908	ldre r1, 0x?? [03004080]
8809	ldrh r1, r1, 0x0 //Load current day into here
3901	sub r1, 0x1 //So you get full price here on D1
0049	lsl r1, 0x1 //Doubles it so you drop 2% a day
2400	mov r4, 0x0
5F00	ldsh r0, [r0, 0xr4] //Load pricemod
42C1	cpn r1, r0
DC03	bgt //If more days have passed, then use the minimum cost!
2000	mov r0, 0x0
1A40	sub r0, r1
E002	b +0x3
	//BNE code or not set code
	(Just use the standard code here)
2100
5e40
bc10 //End of Custom Code jump point
bc02
4708

	//Weather Code! Joy!
	//First just jump. 08044180
	//Original AW2 Code
1a09
0089
18cb
2200
779a
6820
1809
84ca
850a	//Custom code start
	ldre r0, 0x?? [03003FEC]
	ldrb r0, r0, 0x0
	cmp r0, 0x0 //current weather in r0
	beq +0x?? (Jump to finishing routine)
	push r4,5,6,7
	ldre r4 0x?? [030005d0] //loads current player turn
	ldrb r4, r4, 0x0 //Loads player turn into r4
	ldre r5, 0x?? (020232A1) //P1 CO minus 3c
	mov r6, 0x3c
	mul r4, r6
	add r5, r4, r5 //creates address to load from for CO ID in register 5
	ldrb r4, r5, 0x0 //loads current CO into r4
	mov r6, 0x82
	lsl r6, r6, 0x1
	mul r4, r6 //creates length of base CO address to go from
	ldre r6, 0x?? [085d3dd9] //Loads start of CO data -1 from target.
	add r
	//Jump Back here.
bc10
bc01
4700

...Screw it.

Venom Adder SCOP

08044546
84C1 - 0000 (No-ops the Blanker on COPs. Is blanked at the start of the day anyhow!)

b407	push r0, r1, r2
4807	ldre r0, 0x? [030033EC]
4907	ldre r1, 0x? [020232AA]
7800	ldrb r0, r0, 0x0
223C	mov r2, 0x3C
4350	mul r0, r2 //Length is in r0
1841	add r1, r0, r1 //Location of Firepower bonus is in r1
4806	ldre r0 [03004080]
7800	ldrb r0, r0, 0x0
300A	add r0, 0xA
8008	strh r0, r1, 0x0
BC07	pop r0, r1, r2
4F04	ldre r7, 0x?? [08....]
b480	push r7
bd00	pop pc
030033EC
020232AA
03004080
080443D9

		Get Tsunami and Typhoon to Halve Ammo as well!
Lightning Drive/Strike
B41F	Push r0, r1, r2, r3
490E	Ldre r1 0x (Current Turn address)
7809	Ldrb r1, 0x0
20PN	mov r0, 0xPN (Player Number for P1 - P4)
4288	cmp r0, r1
D011	beq 0x?? //Jump to end
21C0	mov r1 0xC0
0089	lsl r1, 0x2
4348	Mul r0, r1, r0
	//creates offset of units address in r0.
490B	Ldre r1, 0x22 (Unit address - whatever)
1840	Add r0, r1, r0
2200	mov r2 0x0
	//Jump Point 1
3201	Add r2, 0x1
2A33	cmp r2, 0x33
DA08	bge, 0xEnd
300C	Add r0, r0, 0xC
7801	Ldr r1, r0, 0x0 //Loads HP Byte
0649	lsl r1, r1 0x19
0E49	lsr r1, r1 0x19 //Removes Ammo Byte
7801	strb r1, r0, 0x0 //Stores ammoless HP
7041	Ldrb r1, r0, 0x1 //Loads Ammo amount
0849	lsr r1, r1 0x1 //Halves Ammo
7041	strb r1, r0, 0x1 //Stores halved ammo
E7F1	b -0x Jump2
BC1F	pop r0, r1, r2, r3 //Jump to here if beq
4E04	ldre r6 (0x??) //Loads Sonja's COP Flash animation thingy.
B440	push r6
2600	mov r6, 0x0
BD00	pop pc
030033EC //Current Player Turn
2022394 //-0x300, -0xC from P1's Units
08?????? //Start of Default COP Animation

	//Changing Lash to 5% per terrain star:
08024d2c 	1836 -> 0840 lsl r0, 0x1
2e		444e -> 1836
30		210c ->  444e
32		5e68 (ldsh r0, r5 r1) -> 89A8q ldrh r0, r5, 0xc

	Grit's Mega-Snipe (Lazy version)

	Jump //Insert at 08042534
B4A0 Push r5, r7
2587	mov r5, 0x87
052D	lsl r5, r5, 0x14
3DFF	sub r5, 0xFF
46AF	mov pc, r5 //Jumps to 086FFF00

4308
7815	ldrb r5, r2, 0x0 //Loads unit ID
2D0A	cmp r5, 0xA (Is Artillery?)
D004	beq
2D0B	cmp r5 0xB (Is Rocket?)
D003	beq
2D0F	cmp r5 0xF (Is Missile?)
D002	beq
2D15	cmp r5 0x15 (Is Battleship?)
D001	beq
E015	b end (16 opcodes) //Not an indirect? Go ahead, set wait.
b40B	push r0, r1, r3 	//beq target
48??	ldre r0, 0x?? (current player's turn address)
7800	ldrb r0, 0x0 //loads current player turn
49??	ldre r1, 0x??  (020232A1) //P1 CO minus 3c
233C	mov r3, 0x3C
4358	mul r0, r3
1840	add r0, r0, r1 //creates address in r0.
7801	ldrb r1, [r0, 0x0]
29??	cmp r1, 0x? //Is the CO Grit?
D105	bne //Not Grit? Jump to end. Don't forget to pop!
7041	ldrb r1, [r0, 0x1]
2902	cmp r1, 0x2 //Is the SCOP on?
D1??	bne //Not SCOP?
7a95	ldrb r5, r2, 0xa //loads one of the empty bytes
3501	add r5, 0x1
7295	strb r5, 0xa
2d04	cmp r5, 0x4
DA??	bge 0x?? //Jump if it's shot more than 4 times.
bc0B	pop r0, r1, r3
2000	mov r0, 0x0
E001	b +0x2 //Skip the next pop..stack mismatches = instafail.
bc0B	pop r0, r1, r3 //Not Grit/SCOP jump to here.
7050	strb r0, [r2, 0x1]	//Set wait jumps to here
6822
7851
2008
4008
4F??	ldre r7, 0x?? (0804253E) //Where we're jumping back to!
BC20	pop r5
B480 push r7
2700	mov r7, 0x0
bd00	pop pc //return to your regularly scheduled gaming
030005d0
20232A1
0804253E

//The routine that sets un-wait at the start of the turn also needs to set the count back to 0.
08025 ECE/ED0 //Nop
ED0 ->	72C8	//Strb r1, 0xB?

Improvements and Bugfixes for Balance Hack 2.0

Sonja's Fog of War Bugs:
03003FD0 - seems to be saved, but unused - Transport Sonja's FoW stuff here.

Lightning Drive Bugs (No longer applicable)

End of turn bugs/Grit's Mega-snipe

08025EBA //Copy to 08700220
6838
1901
7808
2800
D007//Insert new code here

780A
2A0A
D005
2A0B
D003
2A15
D001
2A0F
D101
2200
7282

784A
1C28
4010
2800
D103
20FE
4010
7048
340C
3301
8830
3033
4283
DBEC
BCF0
BC01
4700

08025EBA
4A01
b404
bd00
08700220

08024CDE - no
08041B8C - no
08043344 - no Collects terrain defence for Display?

Design Maps Jukebox

Code that sets up upon design maps launch
08000FDA 4801     ldr     r0,=#0x861DB01                               ;9
08000FDC 4700     bx      r0                                           ;8
08000FDE 0000     lsl     r0,r0,#0x0                                   ;2
08000FE0 DB01     blt     #0x8000FE6                                   ;8
08000FE2 0861     lsr     r1,r4,#0x1                                   ;2

Code that runs for button input when menu is open
08019C18 4900     ldr     r1,=#0x861DB31                               ;9
08019C1A 4708     bx      r1                                           ;8
08019C1C DB31     blt     #0x8019C82                                   ;8
08019C1E 0861     lsr     r1,r4,#0x1                                   ;2

Setup Code (0x3007E00, Table position, Song ID)
0861DB00 2000     mov     r0,#0x0                                      ;2
0861DB02 4906     ldr     r1,=#0x3007E00                               ;9
0861DB04 8008     strh    r0,[r1]                                      ;5
0861DB06 20D8     mov     r0,#0xD8                                     ;2
0861DB08 8048     strh    r0,[r1,#0x2]                                 ;5
0861DB0A F000F809 bl      #0x861DB20                                   ;10
0861DB0E BC38     pop     {r3-r5}                                      ;17
0861DB10 4698     mov     r8,r3                                        ;2
0861DB12 46A1     mov     r9,r4                                        ;2
0861DB14 46AA     mov     r10,r5                                       ;2
0861DB16 BCF0     pop     {r4-r7}                                      ;21
0861DB18 BC01     pop     {r0}                                         ;9
0861DB1A 4700     bx      r0                                           ;8
0861DB1C 7E00     ldrb    r0,[r0,#0x18]                                ;4
0861DB1E 0300     lsl     r0,r0,#0xC                                   ;2
0861DB20 4900     ldr     r1,=#0x803B525                               ;9
0861DB22 4708     bx      r1                                           ;8
0861DB24 B525     push    {r0,r2,r5,r14}                               ;8
0861DB26 0803     lsr     r3,r0,#0x20                                  ;2
0861DB28 4900     ldr     r1,=#0x80129E1                               ;9
0861DB2A 4708     bx      r1                                           ;8
0861DB2C 29E1     cmp     r1,#0xE1                                     ;2
0861DB2E 0801     lsr     r1,r0,#0x20                                  ;2

Code for Song Changer
0861DB30 B407     push    {r0-r2}                                      ;7
0861DB32 8860     ldrh    r0,[r4,#0x2]                                 ;4
0861DB34 2180     mov     r1,#0x80                                     ;2
0861DB36 0049     lsl     r1,r1,#0x1                                   ;2
0861DB38 4001     and     r1,r0                                        ;2
0861DB3A 2900     cmp     r1,#0x0                                      ;2
0861DB3C D013     beq     #0x861DB66                                   ;8
0861DB3E 4281     cmp     r1,r0                                        ;2
0861DB40 D111     bne     #0x861DB66                                   ;8
0861DB42 F7FFFFF1 bl      #0x861DB28                                   ;10
0861DB46 4931     ldr     r1,=#0x4                                     ;9
0861DB48 DF06     swi     #0x6    ;Div                                 ;8
0861DB4A 1C0A     mov     r2,r1                                        ;2
0861DB4C 4B30     ldr     r3,=#0x861DC20                               ;9
0861DB4E 0049     lsl     r1,r1,#0x1                                   ;2
0861DB50 18CB     add     r3,r1,r3                                     ;2
0861DB52 881B     ldrh    r3,[r3]                                      ;4
0861DB54 492F     ldr     r1,=#0x3007E00                               ;9
0861DB56 8848     ldrh    r0,[r1,#0x2]                                 ;4
0861DB58 4298     cmp     r0,r3                                        ;2
0861DB5A D0F2     beq     #0x861DB42                                   ;8
0861DB5C 800A     strh    r2,[r1]                                      ;5
0861DB5E 804B     strh    r3,[r1,#0x2]                                 ;5
0861DB60 1C18     mov     r0,r3                                        ;2
0861DB62 F000F801 bl      #0x861DB68                                   ;10
0861DB66 E003     b       #0x861DB70                                   ;8
0861DB68 4900     ldr     r1,=#0x803B48D                               ;9
0861DB6A 4708     bx      r1                                           ;8
0861DB6C B48D     push    {r0,r2,r3,r7}                                ;8
0861DB6E 0803     lsr     r3,r0,#0x20                                  ;2
0861DB70 8860     ldrh    r0,[r4,#0x2]                                 ;4
0861DB72 2110     mov     r1,#0x10                                     ;2
0861DB74 4001     and     r1,r0                                        ;2
0861DB76 2900     cmp     r1,#0x0                                      ;2
0861DB78 D012     beq     #0x861DBA0                                   ;8
0861DB7A 4281     cmp     r1,r0                                        ;2
0861DB7C D110     bne     #0x861DBA0                                   ;8
0861DB7E 4825     ldr     r0,=#0x3007E00                               ;9
0861DB80 4B22     ldr     r3,=#0x4                                     ;9
0861DB82 8801     ldrh    r1,[r0]                                      ;4
0861DB84 3101     add     r1,#0x1                                      ;2
0861DB86 4299     cmp     r1,r3                                        ;2
0861DB88 DB00     blt     #0x861DB8C                                   ;8
0861DB8A 2100     mov     r1,#0x0                                      ;2
0861DB8C 1C0A     mov     r2,r1                                        ;2
0861DB8E 0049     lsl     r1,r1,#0x1                                   ;2
0861DB90 4B1F     ldr     r3,=#0x861DC20                               ;9
0861DB92 18C9     add     r1,r1,r3                                     ;2
0861DB94 8809     ldrh    r1,[r1]                                      ;4
0861DB96 8002     strh    r2,[r0]                                      ;5
0861DB98 8041     strh    r1,[r0,#0x2]                                 ;5
0861DB9A 1C08     mov     r0,r1                                        ;2
0861DB9C F7FFFFE4 bl      #0x861DB68                                   ;10
0861DBA0 8860     ldrh    r0,[r4,#0x2]                                 ;4
0861DBA2 2120     mov     r1,#0x20                                     ;2
0861DBA4 4001     and     r1,r0                                        ;2
0861DBA6 2900     cmp     r1,#0x0                                      ;2
0861DBA8 D012     beq     #0x861DBD0                                   ;8
0861DBAA 4281     cmp     r1,r0                                        ;2
0861DBAC D110     bne     #0x861DBD0                                   ;8
0861DBAE 4819     ldr     r0,=#0x3007E00                               ;9
0861DBB0 4B16     ldr     r3,=#0x4                                     ;9
0861DBB2 8801     ldrh    r1,[r0]                                      ;4
0861DBB4 3901     sub     r1,#0x1                                      ;2
0861DBB6 2900     cmp     r1,#0x0                                      ;2
0861DBB8 DA00     bge     #0x861DBBC                                   ;8
0861DBBA 1E59     sub     r1,r3, 0x1                                   ;2
0861DBBC 1C0A     mov     r2,r1                                        ;2
0861DBBE 0049     lsl     r1,r1,#0x1                                   ;2
0861DBC0 4B13     ldr     r3,=#0x861DC20                               ;9
0861DBC2 18C9     add     r1,r1,r3                                     ;2
0861DBC4 8809     ldrh    r1,[r1]                                      ;4
0861DBC6 8002     strh    r2,[r0]                                      ;5
0861DBC8 8041     strh    r1,[r0,#0x2]                                 ;5
0861DBCA 1C08     mov     r0,r1                                        ;2
0861DBCC F7FFFFCC bl      #0x861DB68                                   ;10
0861DBD0 8860     ldrh    r0,[r4,#0x2]                                 ;4
0861DBD2 2108     mov     r1,#0x8                                      ;2
0861DBD4 4001     and     r1,r0                                        ;2
0861DBD6 2900     cmp     r1,#0x0                                      ;2
0861DBD8 D004     beq     #0x861DBE4                                   ;8
0861DBDA 4281     cmp     r1,r0                                        ;2
0861DBDC D102     bne     #0x861DBE4                                   ;8
0861DBDE 2000     mov     r0,#0x0                                      ;2
0861DBE0 F7FFFFC2 bl      #0x861DB68                                   ;10
0861DBE4 E004     b       #0x861DBF0                                   ;8
0861DBE6 0000     lsl     r0,r0,#0x0                                   ;2
0861DBE8 4900     ldr     r1,=#0x801C95D                               ;9
0861DBEA 4708     bx      r1                                           ;8
0861DBEC C95D     ldmia   r1!,{r0,r2-r4,r6}                            ;8
0861DBEE 0801     lsr     r1,r0,#0x20                                  ;2
0861DBF0 4668     mov     r0,r13                                       ;2
0861DBF2 3008     add     r0,#0x8                                      ;2
0861DBF4 6800     ldr     r0,[r0]                                      ;4
0861DBF6 4290     cmp     r0,r2                                        ;2
0861DBF8 D002     beq     #0x861DC00                                   ;8
0861DBFA 2066     mov     r0,#0x66                                     ;2
0861DBFC F7FFFFB4 bl      #0x861DB68                                   ;10
0861DC00 BC07     pop     {r0-r2}                                      ;17
0861DC02 BC08     pop     {r3}                                         ;9
0861DC04 4698     mov     r8,r3                                        ;2
0861DC06 BCF0     pop     {r4-r7}                                      ;21
0861DC08 BC02     pop     {r1}                                         ;9
0861DC0A 4708     bx      r1                                           ;8
0861DC0C 0004     lsl     r4,r0,#0x0                                   ;2
0861DC0E 0000     lsl     r0,r0,#0x0                                   ;2
0861DC10 DC20     bgt     #0x861DC54                                   ;8
0861DC12 0861     lsr     r1,r4,#0x1                                   ;2
0861DC14 7E00     ldrb    r0,[r0,#0x18]                                ;4
0861DC16 0300     lsl     r0,r0,#0xC                                   ;2
0861DC18 FFFFFFFF ????                                                 ;10
0861DC1A FFFFFFFF ????                                                 ;10
0861DC1C FFFFFFFF ????                                                 ;10
0861DC1E FFFF00D1 ????                                                 ;10

Song Table
0861DC20 00D1     lsl     r1,r2,#0x3                                   ;2
0861DC22 00D2     lsl     r2,r2,#0x3                                   ;2
0861DC24 00D3     lsl     r3,r2,#0x3                                   ;2
0861DC26 00D4     lsl     r4,r2,#0x3                                   ;2
0861DC28 00D7     lsl     r7,r2,#0x3                                   ;2
0861DC2A 00D8     lsl     r0,r3,#0x3                                   ;2
0861DC2C 00D9     lsl     r1,r3,#0x3                                   ;2
0861DC2E 00DA     lsl     r2,r3,#0x3                                   ;2

Modular Mass Damage
08700000 B570     push    {r4-r6,r14}                                  ;22
08700002 B085     add     sp,-#0x14                                    ;2
08700004 4E0A     ldr     r6,=#0x84A0994                               ;9
08700006 490B     ldr     r1,=#0x8112F00                               ;9
08700008 4A0B     ldr     r2,=#0x8113BC0                               ;9
0870000A 4B0C     ldr     r3,=#0x30033EC                               ;9
0870000C 881B     ldrh    r3,[r3]                                      ;6
0870000E 2402     mov     r4,#0x2                                      ;2
08700010 9400     str     r4,[sp]                                      ;5
08700012 2401     mov     r4,#0x1                                      ;2
08700014 9401     str     r4,[sp,#0x4]                                 ;5
08700016 2402     mov     r4,#0x2                                      ;2
08700018 3C01     sub     r4,#0x1                                      ;2
0870001A 9402     str     r4,[sp,#0x8]                                 ;5
0870001C 2401     mov     r4,#0x1                                      ;2
0870001E 9403     str     r4,[sp,#0xC]                                 ;5
08700020 9004     str     r0,[sp,#0x10]                                ;5
08700022 1C30     mov     r0,r6                                        ;2
08700024 F000F80C bl      #0x8700040                                   ;10
08700028 B005     add     sp,#0x14                                     ;2
0870002A BC70     pop     {r4-r6}                                      ;17
0870002C BC01     pop     {r0}                                         ;9
0870002E 4700     bx      r0                                           ;8
08700030 0994     lsr     r4,r2,#0x6                                   ;2
08700032 084A     lsr     r2,r1,#0x1                                   ;2
08700034 2F00     cmp     r7,#0x0                                      ;2
08700036 0811     lsr     r1,r2,#0x20                                  ;2
08700038 3BC0     sub     r3,#0xC0                                     ;2
0870003A 0811     lsr     r1,r2,#0x20                                  ;2
0870003C 33EC     add     r3,#0xEC                                     ;2
0870003E 0300     lsl     r0,r0,#0xC                                   ;2
08700040 4C00     ldr     r4,=#0x8044D71                               ;9
08700042 4720     bx      r4                                           ;8
08700044 4D71     ldr     r5,=#0xFFFFFFFF                              ;9
08700046 0804     lsr     r4,r0,#0x20                                  ;2

Display Patch for Fifth Custom Panel

080850EE 2805     cmp r0, #0x5

08084C3A 2805     cmp r0, #0x5

08084C4C  0x0861C600

08084D12 2804     cmp     r0,#0x4

08084F2A DB06     blt     #0x08084F3A

0861C600 4C64     ldr     r4,=#0xFFFFFFFF                              ;9
0861C602 0808     lsr     r0,r1,#0x20                                  ;2
0861C604 4C64     ldr     r4,=#0xFFFFFFFF                              ;9
0861C606 0808     lsr     r0,r1,#0x20                                  ;2
0861C608 4C6C     ldr     r4,=#0xFFFFFFFF                              ;9
0861C60A 0808     lsr     r0,r1,#0x20                                  ;2
0861C60C 4C74     ldr     r4,=#0xFFFFFFFF                              ;9
0861C60E 0808     lsr     r0,r1,#0x20                                  ;2
0861C610 4C7C     ldr     r4,=#0xFFFFFFFF                              ;9
0861C612 0808     lsr     r0,r1,#0x20                                  ;2
0861C614 C621     stmia   r6!,{r0,r5}                                  ;6
0861C616 0861     lsr     r1,r4,#0x1                                   ;2
0861C618 FFFFFFFF ????                                                 ;10
0861C61A FFFFFFFF ????                                                 ;10
0861C61C FFFFFFFF ????                                                 ;10
0861C61E FFFF1C38 ????                                                 ;10
0861C620 1C38     mov     r0,r7                                        ;2
0861C622 F000F86D bl      #0x861C700                                   ;10
0861C626 4801     ldr     r0,=#0x8084C83                               ;9
0861C628 4700     bx      r0                                           ;8
0861C62A 0000     lsl     r0,r0,#0x0                                   ;2
0861C62C 4C83     ldr     r4,=#0xFFFFFFFF                              ;9
0861C62E 0808     lsr     r0,r1,#0x20                                  ;2
0861C630 4D00     ldr     r5,=#0x801F34D                               ;9
0861C632 4728     bx      r5                                           ;8
0861C634 F34D0801 ????                                                 ;10
0861C636 0801     lsr     r1,r0,#0x20                                  ;2
0861C638 4770     bx      r14                                          ;8
0861C63A 4700     bx      r0                                           ;8
0861C63C 5709     ldsb    r1,[r1,r4]                                   ;4
0861C63E 0808     lsr     r0,r1,#0x20                                  ;2
0861C640 4900     ldr     r1,=#0x80853B1                               ;9
0861C642 4708     bx      r1                                           ;8
0861C644 53B1     strh    r1,[r6,r6]                                   ;5
0861C646 0808     lsr     r0,r1,#0x20                                  ;2
0861C648 4C00     ldr     r4,=#0x8043B61                               ;9
0861C64A 4720     bx      r4                                           ;8
0861C64C 3B61     sub     r3,#0x61                                     ;2
0861C64E 0804     lsr     r4,r0,#0x20                                  ;2
0861C650 4C00     ldr     r4,=#0x804402D                               ;9
0861C652 4720     bx      r4                                           ;8
0861C654 402D     and     r5,r5                                        ;2
0861C656 0804     lsr     r4,r0,#0x20                                  ;2

0861C600 64 4C 08 08 64 4C 08 08 6C 4C 08 08 74 4C 08 08  dL..dL..lL..tL.. 
0861C610 7C 4C 08 08 21 C6 61 08 FF FF FF FF FF FF FF FF  |L..!.a......... 
0861C620 38 1C 00 F0 6D F8 01 48 00 47 00 00 83 4C 08 08  8...m..H.G...L.. 
0861C630 00 4D 28 47 4D F3 01 08 70 47 00 47 09 57 08 08  .M(GM...pG.G.W.. 
0861C640 00 49 08 47 B1 53 08 08 00 4C 20 47 61 3B 04 08  .I.G.S...L Ga;.. 
0861C650 00 4C 20 47 2D 40 04 08 FF FF FF FF FF FF FF FF  .L G-@.......... 

0861C700 B510     push    {r4,r14}                                     ;14
0861C702 B081     add     sp,-#0x4                                     ;2
0861C704 1C04     mov     r4,r0                                        ;2
0861C706 2001     mov     r0,#0x1                                      ;2
0861C708 9000     str     r0,[sp]                                      ;5
0861C70A 2067     mov     r0,#0x67                                     ;2
0861C70C 21BD     mov     r1,#0xBD                                     ;2
0861C70E 2298     mov     r2,#0x98                                     ;2
0861C710 2300     mov     r3,#0x0                                      ;2
0861C712 F7FFFF8D bl      #0x861C630                                   ;10
0861C716 1C20     mov     r0,r4                                        ;2
0861C718 3066     add     r0,#0x66                                     ;2
0861C71A 2200     mov     r2,#0x0                                      ;2
0861C71C 5E81     ldsh    r1,[r0,r2]                                   ;4
0861C71E 1C20     mov     r0,r4                                        ;2
0861C720 F7FFFF8A bl      #0x861C638                                   ;10
0861C724 F7FFFF8C bl      #0x861C640                                   ;10
0861C728 0000     lsl     r0,r0,#0x0                                   ;2
0861C72A 0000     lsl     r0,r0,#0x0                                   ;2
0861C72C 0000     lsl     r0,r0,#0x0                                   ;2
0861C72E 0000     lsl     r0,r0,#0x0                                   ;2
0861C730 4A0A     ldr     r2,=#0x82AC                                  ;9
0861C732 2078     mov     r0,#0x78                                     ;2
0861C734 2108     mov     r1,#0x8                                      ;2
0861C736 2303     mov     r3,#0x3                                      ;2
0861C738 F7FFFF86 bl      #0x861C648                                   ;10
0861C73C B001     add     sp,#0x4                                      ;2
0861C73E 4805     ldr     r0,=#0x10D0                                  ;9
0861C740 4A05     ldr     r2,=#0x62B8                                  ;9
0861C742 2118     mov     r1,#0x18                                     ;2
0861C744 2305     mov     r3,#0x5                                      ;2
0861C746 F7FFFF83 bl      #0x861C650                                   ;10
0861C74A 46C0     nop                                                  ;2
0861C74C BC10     pop     {r4}                                         ;9
0861C74E BC01     pop     {r0}                                         ;9
0861C750 4700     bx      r0                                           ;8
0861C752 0000     lsl     r0,r0,#0x0                                   ;2
0861C754 10D0     asr     r0,r2,#0x3                                   ;2
0861C756 0000     lsl     r0,r0,#0x0                                   ;2
0861C758 62B8     str     r0,[r7,#0x28]                                ;5
0861C75A 0000     lsl     r0,r0,#0x0                                   ;2
0861C75C 82AC     strh    r4,[r5,#0x14]                                ;8
0861C75E 0000     lsl     r0,r0,#0x0                                   ;2

0861C700 10 B5 81 B0 04 1C 01 20 00 90 67 20 BD 21 98 22  ....... ..g .!." 
0861C710 00 23 FF F7 8D FF 20 1C 66 30 00 22 81 5E 20 1C  .#.... .f0.".^ . 
0861C720 FF F7 8A FF FF F7 8C FF 00 00 00 00 00 00 00 00  ................ 
0861C730 0A 4A 78 20 08 21 03 23 FF F7 86 FF 01 B0 05 48  .Jx .!.#.......H 
0861C740 05 4A 18 21 05 23 FF F7 83 FF C0 46 10 BC 01 BC  .J.!.#.....F.... 
0861C750 00 47 00 00 D0 10 00 00 B8 62 00 00 AC 82 00 00  .G.......b......