#pragma mapfile "utils/th11.eclm" meta {} void BossCard2_00B() { stackAlloc(@nargs=1, @blob="08000000"); lifeSet(@nargs=1, @blob="44160000"); setInterrupt( @nargs=4, @blob="00000000 a00f0000 b80b0000 10000000 426f7373 43617264 335f3030 42000000", ); lifeMarker(@nargs=3, @blob="00000000 0020b245 ff8080ff"); lifeMarker(@nargs=3, @blob="01000000 00007a45 ff4040ff"); lifeMarker(@nargs=3, @blob="02000000 0080bb44 c00000ff"); spell( @nargs=4, @blob="3a000000 b80b0000 20a10700 14000000 e6041ef2 724f1d33 e6b40366 78380bc0 e61885ac", ); movePosTime(@nargs=4, @blob="3c000000 00000000 00000000 00000043"); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); +60: // 60 nop(@blob=""); moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008042"); diffI( @mask=0b1, @nargs=5, @blob="04000000 46000000 46000000 46000000 14000000", ); jmp(@nargs=2, @blob="d8010000 3c000000"); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 325f3030 42617400"); callAsync( @nargs=1, @blob="14000000 426f7373 43617264 325f3030 42617432 00000000", ); callAsync( @nargs=1, @blob="14000000 426f7373 43617264 325f3030 42617433 00000000", ); diffWait(@nargs=4, @blob="64000000 64000000 32000000 32000000"); anmPlay(@nargs=2, @blob="00000000 83000000"); playSound(@nargs=1, @blob="29000000"); diffWait(@nargs=4, @blob="3c000000 3c000000 32000000 32000000"); playSound(@nargs=1, @blob="0f000000"); moveRand(@mask=0b1, @nargs=3, @blob="04000000 00000000 00000040"); wait(@mask=0b1, @nargs=1, @blob="04000000"); pushi(@mask=0b1, @nargs=1, @blob="04000000"); pushi(@nargs=1, @blob="14000000"); greateri(@blob=""); jmpEq(@nargs=2, @blob="64000000 3c000000"); pushi(@mask=0b1, @nargs=1, @blob="04000000"); pushi(@nargs=1, @blob="05000000"); subi(@blob=""); seti(@mask=0b1, @nargs=1, @blob="04000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="2cfeffff 3c000000"); ret(@blob=""); } void BossCard2_00Bat() { stackAlloc(@nargs=1, @blob="10000000"); anmPlay(@nargs=2, @blob="00000000 83000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@nargs=3, @blob="00000000 01000000 08000000"); etCount(@nargs=3, @blob="00000000 01000000 01000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 cdcccc3f 0000803f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 01000000 00000000 00040000 78000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 03000000 00000000 00000004 c1bdf0ff c1bdf0ff 00000000 00000000", ); diffI( @mask=0b1, @nargs=5, @blob="00000000 28000000 50000000 28000000 28000000", ); diffI( @mask=0b1, @nargs=5, @blob="04000000 5a000000 5a000000 32000000 32000000", ); jmp(@nargs=2, @blob="80050000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); circlePos( @mask=0b1111, @nargs=4, @blob="00000041 00004041 00381cc6 000080bf", ); pushf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushf(@nargs=1, @blob="00000000"); subf(@blob=""); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); etOffsetAbs(@mask=0b110, @nargs=3, @blob="00000000 00000041 00004041"); pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); pushi(@nargs=1, @blob="01000000"); leqi(@blob=""); jmpEq(@nargs=2, @blob="60000000 00000000"); etEx( @mask=0b11000000, @nargs=8, @blob="00000000 02000000 00000000 00000002 3c000000 04000000 00000041 00004041", ); jmp(@nargs=2, @blob="48000000 00000000"); etEx( @mask=0b11000000, @nargs=8, @blob="00000000 02000000 00000000 00000002 28000000 04000000 00000041 00004041", ); etEx( @mask=0b10000, @nargs=8, @blob="00000000 04000000 00000000 00100000 04000000 c1bdf0ff f02374c9 f02374c9", ); pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="18010000 00000000"); pushf(@nargs=1, @blob="00008040"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushf(@nargs=1, @blob="0000c03f"); mulf(@blob=""); addf(@blob=""); pushi(@nargs=1, @blob="e7030000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="70000000"); divf(@blob=""); addf(@blob=""); etEx( @mask=0b11000000, @nargs=8, @blob="00000000 05000000 00000000 00000004 c1bdf0ff c1bdf0ff 000080bf 000080bf", ); jmp(@nargs=2, @blob="00010000 00000000"); pushf(@nargs=1, @blob="00008040"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushf(@nargs=1, @blob="00006040"); mulf(@blob=""); addf(@blob=""); pushi(@nargs=1, @blob="e7030000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); pushi(@nargs=1, @blob="18000000"); divf(@blob=""); addf(@blob=""); etEx( @mask=0b11000000, @nargs=8, @blob="00000000 05000000 00000000 00000004 c1bdf0ff c1bdf0ff 000080bf 000080bf", ); etDist(@nargs=2, @blob="00000000 00004043"); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); etOn(@nargs=1, @blob="00000000"); wait(@nargs=1, @blob="01000000"); {"04567"}: wait(@nargs=1, @blob="01000000"); pushi(@mask=0b1, @nargs=1, @blob="04000000"); pushi(@nargs=1, @blob="01000000"); subi(@blob=""); seti(@mask=0b1, @nargs=1, @blob="04000000"); {"04567"}: pushi(@mask=0b1, @nargs=1, @blob="04000000"); {"04567"}: pushi(@nargs=1, @blob="01000000"); {"04567"}: subi(@blob=""); {"04567"}: seti(@mask=0b1, @nargs=1, @blob="04000000"); deci(@mask=0b1, @nargs=1, @blob="00000000"); jmpNeq(@nargs=2, @blob="84faffff 00000000"); ret(@blob=""); } void BossCard2_00Bat2() { stackAlloc(@nargs=1, @blob="14000000"); anmPlay(@nargs=2, @blob="00000000 83000000"); etNew(@nargs=1, @blob="01000000"); etAim(@nargs=2, @blob="01000000 03000000"); etSprite(@nargs=3, @blob="01000000 11000000 01000000"); etCount(@nargs=3, @blob="01000000 01000000 01000000"); etAngle(@nargs=3, @blob="01000000 00000000 00000000"); etSpeed(@nargs=3, @blob="01000000 cdcccc3f 0000803f"); etEx( @nargs=8, @blob="01000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="01000000 01000000 00000000 00040000 78000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="01000000 03000000 00000000 00000004 c1bdf0ff c1bdf0ff 00000000 00000000", ); diffI( @mask=0b1, @nargs=5, @blob="00000000 0a000000 14000000 14000000 14000000", ); diffI( @mask=0b1, @nargs=5, @blob="04000000 5a000000 5a000000 32000000 32000000", ); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00008041"); jmp(@nargs=2, @blob="f0050000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); circlePos( @mask=0b1111, @nargs=4, @blob="00000041 00004041 00381cc6 000080bf", ); pushf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushf(@nargs=1, @blob="00000000"); subf(@blob=""); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); etOffsetAbs(@mask=0b110, @nargs=3, @blob="01000000 00000041 00004041"); pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); pushi(@nargs=1, @blob="01000000"); leqi(@blob=""); jmpEq(@nargs=2, @blob="60000000 00000000"); etEx( @mask=0b11000000, @nargs=8, @blob="01000000 02000000 00000000 00000002 3c000000 04000000 00000041 00004041", ); jmp(@nargs=2, @blob="48000000 00000000"); etEx( @mask=0b11000000, @nargs=8, @blob="01000000 02000000 00000000 00000002 28000000 04000000 00000041 00004041", ); etEx( @mask=0b10000, @nargs=8, @blob="01000000 04000000 00000000 00100000 04000000 c1bdf0ff f02374c9 f02374c9", ); pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="bc000000 00000000"); pushf(@nargs=1, @blob="0000803f"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="0000803f"); mulf(@blob=""); addf(@blob=""); etEx( @mask=0b11000000, @nargs=8, @blob="01000000 05000000 00000000 00000004 c1bdf0ff c1bdf0ff 00008041 000080bf", ); jmp(@nargs=2, @blob="a4000000 00000000"); pushf(@nargs=1, @blob="0000803f"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00004040"); mulf(@blob=""); addf(@blob=""); etEx( @mask=0b11000000, @nargs=8, @blob="01000000 05000000 00000000 00000004 c1bdf0ff c1bdf0ff 00008041 000080bf", ); pushf(@mask=0b1, @nargs=1, @blob="00008041"); pushf(@nargs=1, @blob="73d9a03e"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00008041"); {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00008041"); {"04567"}: pushf(@nargs=1, @blob="94d9a03d"); {"04567"}: addf(@blob=""); {"04567"}: setf(@mask=0b1, @nargs=1, @blob="00008041"); etDist(@nargs=2, @blob="01000000 00002043"); etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000"); etOn(@nargs=1, @blob="01000000"); diffWait(@nargs=4, @blob="04000000 04000000 02000000 02000000"); {"04567"}: pushi(@mask=0b1, @nargs=1, @blob="04000000"); {"04567"}: pushi(@nargs=1, @blob="08000000"); {"04567"}: subi(@blob=""); {"04567"}: seti(@mask=0b1, @nargs=1, @blob="04000000"); {"14567"}: pushi(@mask=0b1, @nargs=1, @blob="04000000"); {"14567"}: pushi(@nargs=1, @blob="04000000"); {"14567"}: subi(@blob=""); {"14567"}: seti(@mask=0b1, @nargs=1, @blob="04000000"); {"24567"}: pushi(@mask=0b1, @nargs=1, @blob="04000000"); {"24567"}: pushi(@nargs=1, @blob="02000000"); {"24567"}: subi(@blob=""); {"24567"}: seti(@mask=0b1, @nargs=1, @blob="04000000"); {"34567"}: pushi(@mask=0b1, @nargs=1, @blob="04000000"); {"34567"}: pushi(@nargs=1, @blob="02000000"); {"34567"}: subi(@blob=""); {"34567"}: seti(@mask=0b1, @nargs=1, @blob="04000000"); deci(@mask=0b1, @nargs=1, @blob="00000000"); jmpNeq(@nargs=2, @blob="14faffff 00000000"); ret(@blob=""); } void BossCard2_00Bat3() { stackAlloc(@nargs=1, @blob="14000000"); anmPlay(@nargs=2, @blob="00000000 83000000"); etNew(@nargs=1, @blob="02000000"); etAim(@nargs=2, @blob="02000000 03000000"); etSprite(@nargs=3, @blob="02000000 0c000000 04000000"); etCount(@nargs=3, @blob="02000000 01000000 01000000"); etAngle(@nargs=3, @blob="02000000 00000000 00000000"); etSpeed(@nargs=3, @blob="02000000 cdcccc3f 0000803f"); etEx( @nargs=8, @blob="02000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="02000000 01000000 00000000 00040000 78000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="02000000 03000000 00000000 00000004 c1bdf0ff c1bdf0ff 00000000 00000000", ); diffI( @mask=0b1, @nargs=5, @blob="00000000 28000000 50000000 50000000 50000000", ); diffI( @mask=0b1, @nargs=5, @blob="04000000 5a000000 5a000000 32000000 32000000", ); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00008041"); jmp(@nargs=2, @blob="60050000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushi(@nargs=1, @blob="20000000"); mulf(@blob=""); circlePos( @mask=0b1111, @nargs=4, @blob="00000041 00004041 00381cc6 000080bf", ); pushf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00341cc6"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000041"); pushf(@mask=0b1, @nargs=1, @blob="00004041"); pushf(@mask=0b1, @nargs=1, @blob="00301cc6"); pushf(@nargs=1, @blob="00000000"); subf(@blob=""); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00004041"); etOffsetAbs(@mask=0b110, @nargs=3, @blob="02000000 00000041 00004041"); pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); pushi(@nargs=1, @blob="01000000"); leqi(@blob=""); jmpEq(@nargs=2, @blob="60000000 00000000"); etEx( @mask=0b11000000, @nargs=8, @blob="02000000 02000000 00000000 00000002 3c000000 04000000 00000041 00004041", ); jmp(@nargs=2, @blob="48000000 00000000"); etEx( @mask=0b11000000, @nargs=8, @blob="02000000 02000000 00000000 00000002 28000000 04000000 00000041 00004041", ); etEx( @mask=0b10000, @nargs=8, @blob="02000000 04000000 00000000 00100000 04000000 c1bdf0ff f02374c9 f02374c9", ); pushi(@mask=0b1, @nargs=1, @blob="19d9ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="bc000000 00000000"); pushf(@nargs=1, @blob="0000803f"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="0000803f"); mulf(@blob=""); addf(@blob=""); etEx( @mask=0b11000000, @nargs=8, @blob="02000000 05000000 00000000 00000004 c1bdf0ff c1bdf0ff 00008041 000080bf", ); jmp(@nargs=2, @blob="a4000000 00000000"); pushf(@nargs=1, @blob="0000803f"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00004040"); mulf(@blob=""); addf(@blob=""); etEx( @mask=0b11000000, @nargs=8, @blob="02000000 05000000 00000000 00000004 c1bdf0ff c1bdf0ff 00008041 000080bf", ); pushf(@mask=0b1, @nargs=1, @blob="00008041"); pushf(@nargs=1, @blob="94d9a03d"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00008041"); {"04567"}: pushf(@mask=0b1, @nargs=1, @blob="00008041"); {"04567"}: pushf(@nargs=1, @blob="94d9a03d"); {"04567"}: addf(@blob=""); {"04567"}: setf(@mask=0b1, @nargs=1, @blob="00008041"); etDist(@nargs=2, @blob="02000000 00002043"); etAngle(@mask=0b10, @nargs=3, @blob="02000000 00381cc6 00000000"); etOn(@nargs=1, @blob="02000000"); wait(@nargs=1, @blob="01000000"); {"04567"}: wait(@nargs=1, @blob="01000000"); pushi(@mask=0b1, @nargs=1, @blob="04000000"); pushi(@nargs=1, @blob="01000000"); subi(@blob=""); seti(@mask=0b1, @nargs=1, @blob="04000000"); {"04567"}: pushi(@mask=0b1, @nargs=1, @blob="04000000"); {"04567"}: pushi(@nargs=1, @blob="01000000"); {"04567"}: subi(@blob=""); {"04567"}: seti(@mask=0b1, @nargs=1, @blob="04000000"); deci(@mask=0b1, @nargs=1, @blob="00000000"); jmpNeq(@nargs=2, @blob="a4faffff 00000000"); ret(@blob=""); } void BossCard3_00B() { stackAlloc(@nargs=1, @blob="08000000"); setInvuln(@nargs=1, @blob="64000000"); enmKillAll(@blob=""); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="44000000 00000000"); etCancel(@nargs=1, @blob="00002044"); jmp(@nargs=2, @blob="2c000000 00000000"); etClear(@nargs=1, @blob="00002044"); spellEnd(@blob=""); killAllAsync(@blob=""); funcSet(@nargs=1, @blob="00000000"); laserCancel(@blob=""); setInterrupt( @nargs=4, @blob="00000000 dc050000 b80b0000 10000000 426f7373 43617264 345f3030 42000000", ); setChapter(@nargs=1, @blob="2d000000"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="d8000000 00000000"); dropClear(@blob=""); pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="2c000000 00000000"); dropMain(@nargs=1, @blob="05000000"); call(@nargs=1, @blob="10000000 426f7373 43617264 4974656d 00000000"); dropArea(@nargs=2, @blob="00004042 00004042"); dropItems(@blob=""); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); playSound(@nargs=1, @blob="0f000000"); wait(@nargs=1, @blob="5a000000"); spell( @nargs=4, @blob="3e000000 b80b0000 20a10700 14000000 e6041ef2 724f04ab f96a0667 7d5b0403 e61885ac", ); +60: // 60 nop(@blob=""); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 335f3030 42617400"); callAsync( @nargs=1, @blob="14000000 426f7373 43617264 335f3030 42617432 00000000", ); callAsync( @nargs=1, @blob="14000000 426f7373 43617264 335f3030 42617433 00000000", ); callAsync( @nargs=1, @blob="14000000 426f7373 43617264 335f3030 42617434 00000000", ); {"234567"}: callAsync( @nargs=1, @blob="14000000 426f7373 43617264 335f3030 42617435 00000000", ); {"34567"}: callAsync( @nargs=1, @blob="14000000 426f7373 43617264 335f3030 42617436 00000000", ); jmp(@nargs=2, @blob="34000000 a0000000"); +100: // 160 moveRand(@nargs=3, @blob="1e000000 00000000 0000803f"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="d0ffffff 3c000000"); ret(@blob=""); } void BossCard3_00Bat() { stackAlloc(@nargs=1, @blob="04000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 03000000"); etSprite(@nargs=3, @blob="00000000 13000000 03000000"); etCount(@nargs=3, @blob="00000000 03000000 01000000"); etAngle(@nargs=3, @blob="00000000 00000000 00000000"); etSpeed(@nargs=3, @blob="00000000 0000803f 0000803f"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); jmp(@nargs=2, @blob="a4030000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00008041"); mulf(@blob=""); etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf"); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00008041"); mulf(@blob=""); etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf"); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00008041"); mulf(@blob=""); etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf"); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00008041"); mulf(@blob=""); etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf"); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00008041"); mulf(@blob=""); etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf"); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00008041"); mulf(@blob=""); etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf"); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000"); etOn(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="73d9a03e"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); validRad(@mask=0b1, @nargs=1, @blob="00000000"); wait(@nargs=1, @blob="18000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="60fcffff 00000000"); ret(@blob=""); } void BossCard3_00Bat2() { stackAlloc(@nargs=1, @blob="00000000"); +90: // 90 pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); etNew(@nargs=1, @blob="01000000"); etAim(@nargs=2, @blob="01000000 02000000"); etSprite(@nargs=3, @blob="01000000 0c000000 03000000"); etCountD( @nargs=9, @blob="01000000 10000000 20000000 20000000 20000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="01000000 00000000 00000000"); etSpeed(@nargs=3, @blob="01000000 0000803f 0000803f"); etEx( @nargs=8, @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); etDist(@nargs=2, @blob="01000000 00000042"); jmp(@nargs=2, @blob="40000000 5a000000"); etOn(@nargs=1, @blob="01000000"); wait(@nargs=1, @blob="3c000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="c4ffffff 5a000000"); ret(@blob=""); } void BossCard3_00Bat3() { stackAlloc(@nargs=1, @blob="00000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); etNew(@nargs=1, @blob="02000000"); etAim(@nargs=2, @blob="02000000 05000000"); etSprite(@nargs=3, @blob="02000000 03000000 06000000"); etCountD( @nargs=9, @blob="02000000 08000000 20000000 20000000 20000000 01000000 01000000 01000000 01000000", ); etAngle(@nargs=3, @blob="02000000 00000000 00000000"); etSpeed(@nargs=3, @blob="02000000 00000040 0000803f"); etEx( @nargs=8, @blob="02000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); jmp(@nargs=2, @blob="40000000 00000000"); etOn(@nargs=1, @blob="02000000"); wait(@nargs=1, @blob="1e000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="c4ffffff 00000000"); ret(@blob=""); } void BossCard3_00Bat4() { stackAlloc(@nargs=1, @blob="04000000"); pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00000000"); etNew(@nargs=1, @blob="03000000"); etAim(@nargs=2, @blob="03000000 03000000"); etSprite(@nargs=3, @blob="03000000 13000000 01000000"); etCount(@nargs=3, @blob="03000000 03000000 01000000"); etAngle(@nargs=3, @blob="03000000 00000000 00000000"); etSpeed(@nargs=3, @blob="03000000 00000040 0000803f"); etEx( @nargs=8, @blob="03000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); jmp(@nargs=2, @blob="a4030000 00000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00008041"); mulf(@blob=""); etOffsetRad(@mask=0b110, @nargs=3, @blob="03000000 00381cc6 000080bf"); etAngle(@mask=0b10, @nargs=3, @blob="03000000 00000000 00000000"); etOn(@nargs=1, @blob="03000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00008041"); mulf(@blob=""); etOffsetRad(@mask=0b110, @nargs=3, @blob="03000000 00381cc6 000080bf"); etAngle(@mask=0b10, @nargs=3, @blob="03000000 00000000 00000000"); etOn(@nargs=1, @blob="03000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00008041"); mulf(@blob=""); etOffsetRad(@mask=0b110, @nargs=3, @blob="03000000 00381cc6 000080bf"); etAngle(@mask=0b10, @nargs=3, @blob="03000000 00000000 00000000"); etOn(@nargs=1, @blob="03000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00008041"); mulf(@blob=""); etOffsetRad(@mask=0b110, @nargs=3, @blob="03000000 00381cc6 000080bf"); etAngle(@mask=0b10, @nargs=3, @blob="03000000 00000000 00000000"); etOn(@nargs=1, @blob="03000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00008041"); mulf(@blob=""); etOffsetRad(@mask=0b110, @nargs=3, @blob="03000000 00381cc6 000080bf"); etAngle(@mask=0b10, @nargs=3, @blob="03000000 00000000 00000000"); etOn(@nargs=1, @blob="03000000"); pushf(@mask=0b1, @nargs=1, @blob="003c1cc6"); pushf(@nargs=1, @blob="00008041"); mulf(@blob=""); etOffsetRad(@mask=0b110, @nargs=3, @blob="03000000 00381cc6 000080bf"); etAngle(@mask=0b10, @nargs=3, @blob="03000000 00000000 00000000"); etOn(@nargs=1, @blob="03000000"); pushf(@mask=0b1, @nargs=1, @blob="00000000"); pushf(@nargs=1, @blob="73d9a03e"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00000000"); validRad(@mask=0b1, @nargs=1, @blob="00000000"); wait(@nargs=1, @blob="18000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="60fcffff 00000000"); ret(@blob=""); } void BossCard3_00Bat5() { stackAlloc(@nargs=1, @blob="00000000"); +10: // 10 pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); etNew(@nargs=1, @blob="04000000"); etAim(@nargs=2, @blob="04000000 05000000"); etSprite(@nargs=3, @blob="04000000 01000000 02000000"); etCount(@nargs=3, @blob="04000000 20000000 01000000"); etAngle(@nargs=3, @blob="04000000 00000000 00000000"); etSpeed(@nargs=3, @blob="04000000 00000040 0000803f"); etEx( @nargs=8, @blob="04000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", ); jmp(@nargs=2, @blob="40000000 0a000000"); etOn(@nargs=1, @blob="04000000"); wait(@nargs=1, @blob="14000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="c4ffffff 0a000000"); ret(@blob=""); } void BossCard3_00Bat6() { stackAlloc(@nargs=1, @blob="00000000"); +120: // 120 pushf(@mask=0b1, @nargs=1, @blob="00381cc6"); setf(@mask=0b1, @nargs=1, @blob="00f41bc6"); etNew(@nargs=1, @blob="05000000"); etAim(@nargs=2, @blob="05000000 02000000"); etSprite(@nargs=3, @blob="05000000 0c000000 01000000"); etCount(@nargs=3, @blob="05000000 20000000 01000000"); etAngle(@nargs=3, @blob="05000000 00000000 00000000"); etSpeed(@nargs=3, @blob="05000000 00000040 0000803f"); etEx( @nargs=8, @blob="05000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="05000000 01000000 00000000 00000010 01000000 c1bdf0ff f02374c9 f02374c9", ); jmp(@nargs=2, @blob="40000000 78000000"); etOn(@nargs=1, @blob="05000000"); wait(@nargs=1, @blob="3c000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="c4ffffff 78000000"); ret(@blob=""); } void BossCard4_00B() { stackAlloc(@nargs=1, @blob="10000000"); setInvuln(@nargs=1, @blob="64000000"); enmKillAll(@blob=""); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="44000000 00000000"); etCancel(@nargs=1, @blob="00002044"); jmp(@nargs=2, @blob="2c000000 00000000"); etClear(@nargs=1, @blob="00002044"); spellEnd(@blob=""); killAllAsync(@blob=""); funcSet(@nargs=1, @blob="00000000"); laserCancel(@blob=""); setInterrupt( @nargs=4, @blob="00000000 00000000 68100000 0c000000 426f7373 44656164 00000000", ); setChapter(@nargs=1, @blob="2e000000"); pushi(@mask=0b1, @nargs=1, @blob="fed8ffff"); pushi(@nargs=1, @blob="00000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="d8000000 00000000"); dropClear(@blob=""); pushi(@mask=0b1, @nargs=1, @blob="25d9ffff"); pushi(@nargs=1, @blob="01000000"); eqi(@blob=""); jmpEq(@nargs=2, @blob="2c000000 00000000"); dropMain(@nargs=1, @blob="05000000"); call(@nargs=1, @blob="10000000 426f7373 43617264 4974656d 00000000"); dropArea(@nargs=2, @blob="00004042 00004042"); dropItems(@blob=""); playSound(@nargs=1, @blob="0f000000"); pushi(@nargs=1, @blob="01000000"); seti(@mask=0b1, @nargs=1, @blob="25d9ffff"); movePosTime(@nargs=4, @blob="5a000000 04000000 00000000 00000043"); moveLimitReset(@blob=""); wait(@nargs=1, @blob="5a000000"); spell( @nargs=4, @blob="42000000 68100000 20a10700 14000000 e6041ef2 724f7199 eeae1bf4 7d040806 676e85ac", ); flagSet(@nargs=1, @blob="0c000000"); playSound(@nargs=1, @blob="29000000"); anmPlay(@nargs=2, @blob="02000000 13000000"); +60: // 60 nop(@blob=""); anmSelect(@nargs=1, @blob="02000000"); anmReset(@blob=""); anmSetSprite(@nargs=2, @blob="00000000 11000000"); anmSetSprite(@nargs=2, @blob="02000000 ffffffff"); wait(@nargs=1, @blob="3c000000"); callAsync(@nargs=1, @blob="10000000 426f7373 43617264 345f3030 42617400"); diffF( @mask=0b1, @nargs=5, @blob="00008040 00000040 00000040 00004040 66666640", ); jmp(@nargs=2, @blob="1c010000 3c000000"); moveVelTime( @mask=0b1100, @nargs=4, @blob="28000000 03000000 00141cc6 00008040", ); wait(@nargs=1, @blob="28000000"); moveVelTime( @mask=0b100, @nargs=4, @blob="28000000 03000000 00141cc6 0000803f", ); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushf(@nargs=1, @blob="66666640"); lessf(@blob=""); jmpEq(@nargs=2, @blob="64000000 3c000000"); pushf(@mask=0b1, @nargs=1, @blob="00008040"); pushf(@nargs=1, @blob="cdcc4c3e"); addf(@blob=""); setf(@mask=0b1, @nargs=1, @blob="00008040"); wait(@nargs=1, @blob="28000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="e8feffff 3c000000"); ret(@blob=""); } void BossCard4_00Bat() { stackAlloc(@nargs=1, @blob="04000000"); etNew(@nargs=1, @blob="00000000"); etAim(@nargs=2, @blob="00000000 05000000"); etSprite(@nargs=3, @blob="00000000 03000000 06000000"); etCount(@nargs=3, @blob="00000000 01000000 01000000"); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 db0fc93d"); etSpeed(@nargs=3, @blob="00000000 cdcc4c3d 00000040"); etEx( @nargs=8, @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9", ); diffI( @mask=0b1, @nargs=5, @blob="00000000 2c010000 20030000 20030000 14050000", ); etEx( @mask=0b10000, @nargs=8, @blob="00000000 01000000 00000000 00100000 00000000 c1bdf0ff f02374c9 f02374c9", ); etEx( @nargs=8, @blob="00000000 02000000 00000000 00200000 c1bdf0ff c1bdf0ff f02374c9 f02374c9", ); {"234567"}: etSpeed(@nargs=3, @blob="00000000 cdcc4c3e 00000000"); jmp(@nargs=2, @blob="bc000000 00000000"); etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000"); pushf(@mask=0b1, @nargs=1, @blob="000c1cc6"); pushf(@nargs=1, @blob="00008042"); mulf(@blob=""); etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00381cc6 000080bf"); etOn(@nargs=1, @blob="00000000"); diffWait(@nargs=4, @blob="03000000 03000000 03000000 03000000"); pushi(@nargs=1, @blob="01000000"); jmpNeq(@nargs=2, @blob="48ffffff 00000000"); ret(@blob=""); }