touhou-reimpl/research/stage4c00c.tecl

972 lines
35 KiB
Plaintext

#pragma mapfile "utils/th11.eclm"
meta {}
void BossCard2_00C() {
stackAlloc(@nargs=1, @blob="10000000");
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
pushi(@nargs=1, @blob="03000000");
lessi(@blob="");
jmpEq(@nargs=2, @blob="c8000000 00000000");
lifeSet(@nargs=1, @blob="9c180000");
setInterrupt(
@nargs=4,
@blob="00000000 30110000 b80b0000 10000000 426f7373 43617264 335f3030 43000000",
);
lifeMarker(@nargs=3, @blob="00000000 00e0c445 ff8080ff");
lifeMarker(@nargs=3, @blob="01000000 00808945 ff4040ff");
lifeMarker(@nargs=3, @blob="02000000 00401c45 c00000ff");
jmp(@nargs=2, @blob="b0000000 00000000");
lifeSet(@nargs=1, @blob="581b0000");
setInterrupt(
@nargs=4,
@blob="00000000 ec130000 b80b0000 10000000 426f7373 43617264 335f3030 43000000",
);
lifeMarker(@nargs=3, @blob="00000000 00c0da45 ff8080ff");
lifeMarker(@nargs=3, @blob="01000000 00609f45 ff4040ff");
lifeMarker(@nargs=3, @blob="02000000 00004845 c00000ff");
spell(
@nargs=4,
@blob="46000000 b80b0000 20a10700 18000000 e6041ef2 724f046f ffa91bec 697e1e04 ee2c0746 625c81e8",
);
movePosTime(@nargs=4, @blob="3c000000 00000000 00000000 00000043");
pushi(@nargs=1, @blob="01000000");
seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
setChapter(@nargs=1, @blob="2c000000");
playSound(@nargs=1, @blob="29000000");
+60: // 60
nop(@blob="");
diffI(
@mask=0b1,
@nargs=5,
@blob="08000000 0a000000 10000000 10000000 10000000",
);
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 03000000");
etSprite(@nargs=3, @blob="00000000 03000000 0a000000");
etCount(@mask=0b10, @nargs=3, @blob="00000000 08000000 01000000");
etAngle(@nargs=3, @blob="00000000 db0fc9bf 920a063e");
etSpeed(@nargs=3, @blob="00000000 0000c040 0000803f");
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 01000000 00000000 08000000 78000000 c1bdf0ff cdccccbc 5077563d",
);
etEx(
@nargs=8,
@blob="00000000 02000000 00000000 00040000 78000000 c1bdf0ff f02374c9 f02374c9",
);
etCopy(@nargs=2, @blob="01000000 00000000");
etEx(
@nargs=8,
@blob="01000000 01000000 00000000 08000000 78000000 c1bdf0ff cdccccbc fdad80bd",
);
{"014567"}: etSprite(@nargs=3, @blob="01000000 03000000 09000000");
{"234567"}: etSprite(@nargs=3, @blob="01000000 03000000 08000000");
{"34567"}: etSprite(@nargs=3, @blob="01000000 03000000 06000000");
jmp(@nargs=2, @blob="64050000 7c000000");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000");
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000");
pushi(@nargs=1, @blob="1e000000");
seti(@mask=0b1, @nargs=1, @blob="0c000000");
pushi(@nargs=1, @blob="00000000");
setf(@mask=0b1, @nargs=1, @blob="00000000");
jmp(@nargs=2, @blob="5c040000 40000000");
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
pushi(@nargs=1, @blob="03000000");
lessi(@blob="");
jmpEq(@nargs=2, @blob="90010000 3c000000");
pushf(@nargs=1, @blob="db0f4940");
pushi(@nargs=1, @blob="3c000000");
divf(@blob="");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
pushf(@mask=0b1, @nargs=1, @blob="00000000");
mulf(@blob="");
addf(@blob="");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 01000000 00000000 08000000 78000000 c1bdf0ff 9a9919bd 000080bf",
);
pushf(@nargs=1, @blob="db0f49c0");
pushi(@nargs=1, @blob="3c000000");
divf(@blob="");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
pushf(@mask=0b1, @nargs=1, @blob="00000000");
mulf(@blob="");
addf(@blob="");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="01000000 01000000 00000000 08000000 78000000 c1bdf0ff 9a9919bd 000080bf",
);
jmp(@nargs=2, @blob="78010000 3c000000");
pushf(@nargs=1, @blob="db0f4940");
pushi(@nargs=1, @blob="3c000000");
divf(@blob="");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
pushf(@mask=0b1, @nargs=1, @blob="00000000");
mulf(@blob="");
addf(@blob="");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 01000000 00000000 08000000 78000000 c1bdf0ff efeeeebc 000080bf",
);
pushf(@nargs=1, @blob="db0f49c0");
pushi(@nargs=1, @blob="3c000000");
divf(@blob="");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
pushf(@mask=0b1, @nargs=1, @blob="00000000");
mulf(@blob="");
addf(@blob="");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="01000000 01000000 00000000 08000000 78000000 c1bdf0ff efeeeebc 000080bf",
);
etOn(@nargs=1, @blob="00000000");
etOn(@nargs=1, @blob="01000000");
+4: // 64
nop(@blob="");
pushf(@mask=0b1, @nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="acc5a737");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000000");
{"24567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000");
{"24567"}: pushf(@nargs=1, @blob="acc52737");
{"24567"}: addf(@blob="");
{"24567"}: setf(@mask=0b1, @nargs=1, @blob="00000000");
{"34567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000");
{"34567"}: pushf(@nargs=1, @blob="acc52737");
{"34567"}: addf(@blob="");
{"34567"}: setf(@mask=0b1, @nargs=1, @blob="00000000");
deci(@mask=0b1, @nargs=1, @blob="0c000000");
jmpNeq(@nargs=2, @blob="a8fbffff 3c000000");
+60: // 124
playSound(@nargs=1, @blob="29000000");
{"0124567"}: wait(@nargs=1, @blob="3c000000");
{"34567"}: wait(@nargs=1, @blob="28000000");
pushi(@nargs=1, @blob="01000000");
jmpNeq(@nargs=2, @blob="a0faffff 3c000000");
ret(@blob="");
}
void BossCard2_00Cat() {
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",
);
pushi(@nargs=1, @blob="50000000");
seti(@mask=0b1, @nargs=1, @blob="00000000");
pushi(@nargs=1, @blob="5a000000");
seti(@mask=0b1, @nargs=1, @blob="04000000");
jmp(@nargs=2, @blob="38030000 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");
etEx(
@mask=0b11000000,
@nargs=8,
@blob="00000000 02000000 00000000 00000002 3c000000 04000000 00000041 00004041",
);
etEx(
@mask=0b10000,
@nargs=8,
@blob="00000000 04000000 00000000 00100000 04000000 c1bdf0ff f02374c9 f02374c9",
);
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");
pushi(@mask=0b1, @nargs=1, @blob="04000000");
pushi(@nargs=1, @blob="01000000");
subi(@blob="");
seti(@mask=0b1, @nargs=1, @blob="04000000");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="ccfcffff 00000000");
ret(@blob="");
}
void BossCard2_00Cat2() {
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",
);
pushi(@nargs=1, @blob="14000000");
seti(@mask=0b1, @nargs=1, @blob="00000000");
pushi(@nargs=1, @blob="5a000000");
seti(@mask=0b1, @nargs=1, @blob="04000000");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
setf(@mask=0b1, @nargs=1, @blob="00008041");
jmp(@nargs=2, @blob="28030000 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");
etEx(
@mask=0b11000000,
@nargs=8,
@blob="01000000 02000000 00000000 00000002 3c000000 04000000 00000041 00004041",
);
etEx(
@mask=0b10000,
@nargs=8,
@blob="01000000 04000000 00000000 00100000 04000000 c1bdf0ff f02374c9 f02374c9",
);
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");
etDist(@nargs=2, @blob="01000000 00002043");
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 00000000");
etOn(@nargs=1, @blob="01000000");
wait(@nargs=1, @blob="04000000");
pushi(@mask=0b1, @nargs=1, @blob="04000000");
pushi(@nargs=1, @blob="04000000");
subi(@blob="");
seti(@mask=0b1, @nargs=1, @blob="04000000");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="dcfcffff 00000000");
ret(@blob="");
}
void BossCard2_00Cat3() {
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",
);
pushi(@nargs=1, @blob="50000000");
seti(@mask=0b1, @nargs=1, @blob="00000000");
pushi(@nargs=1, @blob="5a000000");
seti(@mask=0b1, @nargs=1, @blob="04000000");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
setf(@mask=0b1, @nargs=1, @blob="00008041");
jmp(@nargs=2, @blob="28030000 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");
etEx(
@mask=0b11000000,
@nargs=8,
@blob="02000000 02000000 00000000 00000002 3c000000 04000000 00000041 00004041",
);
etEx(
@mask=0b10000,
@nargs=8,
@blob="02000000 04000000 00000000 00100000 04000000 c1bdf0ff f02374c9 f02374c9",
);
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");
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");
pushi(@mask=0b1, @nargs=1, @blob="04000000");
pushi(@nargs=1, @blob="01000000");
subi(@blob="");
seti(@mask=0b1, @nargs=1, @blob="04000000");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="dcfcffff 00000000");
ret(@blob="");
}
void BossCard3_00C() {
stackAlloc(@nargs=1, @blob="0c000000");
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="");
{"0124567"}: setInterrupt(
@nargs=4,
@blob="00000000 c4090000 b80b0000 10000000 426f7373 43617264 345f3030 43000000",
);
{"34567"}: setInterrupt(
@nargs=4,
@blob="00000000 800c0000 b80b0000 10000000 426f7373 43617264 345f3030 43000000",
);
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="4a000000 b80b0000 20a10700 20000000 e6041ef2 724f02ae e4110ff8 68cf0a3e e4e306c3 627102b0 dc81fc52 dba27960",
);
playSound(@nargs=1, @blob="29000000");
+60: // 60
nop(@blob="");
callAsync(
@nargs=1,
@blob="14000000 426f7373 43617264 335f3030 43617432 00000000",
);
jmp(@nargs=2, @blob="34000000 a0000000");
+100: // 160
moveRand(@nargs=3, @blob="3c000000 00000000 0000803f");
pushi(@nargs=1, @blob="01000000");
jmpNeq(@nargs=2, @blob="d0ffffff 3c000000");
ret(@blob="");
}
void BossCard3_00Cat() {
stackAlloc(@nargs=1, @blob="20000000");
flagSet(@nargs=1, @blob="20010000");
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 03000000");
etSprite(@mask=0b100, @nargs=3, @blob="00000000 07000000 ffd8ffff");
etCount(@nargs=3, @blob="00000000 01000000 01000000");
etAngle(@nargs=3, @blob="00000000 00000000 00000000");
etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00f01bc6 0000803f");
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 01000000 00000000 00040000 3c000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 02000000 00000000 00010000 10000000 0c000000 f02374c9 f02374c9",
);
pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
setf(@mask=0b1, @nargs=1, @blob="00008040");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000000");
etOffset(@nargs=3, @blob="00000000 00000000 00000000");
etOn(@nargs=1, @blob="00000000");
wait(@nargs=1, @blob="03000000");
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="d80fc93f");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="db0f4940");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008041");
validRad(@mask=0b1, @nargs=1, @blob="00008040");
validRad(@mask=0b1, @nargs=1, @blob="00008041");
pushi(@nargs=1, @blob="06000000");
setf(@mask=0b1, @nargs=1, @blob="0000c041");
pushf(@mask=0b1, @nargs=1, @blob="0000c041");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
pushi(@nargs=1, @blob="08000000");
seti(@mask=0b1, @nargs=1, @blob="1c000000");
jmp(@nargs=2, @blob="78010000 00000000");
circlePos(
@mask=0b1111,
@nargs=4,
@blob="00000041 00004041 00008040 0000a041",
);
etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000041 00004041");
etOn(@nargs=1, @blob="00000000");
circlePos(
@mask=0b1111,
@nargs=4,
@blob="00000041 00004041 00008041 0000a041",
);
etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000041 00004041");
etOn(@nargs=1, @blob="00000000");
pushf(@mask=0b1, @nargs=1, @blob="0000c041");
pushf(@nargs=1, @blob="3333333f");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="0000c041");
pushf(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@mask=0b1, @nargs=1, @blob="0000c041");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
validRad(@mask=0b1, @nargs=1, @blob="00008040");
wait(@nargs=1, @blob="03000000");
deci(@mask=0b1, @nargs=1, @blob="1c000000");
jmpNeq(@nargs=2, @blob="8cfeffff 00000000");
delete(@blob="");
delete(@blob="");
}
void BossCard3_00Cat2() {
stackAlloc(@nargs=1, @blob="00000000");
diffF(
@mask=0b1,
@nargs=5,
@blob="00f01bc6 00009040 00009040 0000a040 0000a040",
);
jmp(@nargs=2, @blob="e4070000 00000000");
pushf(@nargs=1, @blob="db0f493f");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
pushi(@nargs=1, @blob="10000000");
divf(@blob="");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
pushi(@nargs=1, @blob="0a000000");
seti(@mask=0b1, @nargs=1, @blob="ffd8ffff");
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
negf(@blob="");
pushi(@nargs=1, @blob="50000000");
mulf(@blob="");
pushi(@nargs=1, @blob="64000000");
subf(@blob="");
enmCreateA(
@mask=0b10,
@nargs=6,
@blob="10000000 426f7373 43617264 335f3030 43617400 000080bf 000080c2 c8000000 e8030000 00000000",
);
diffWait(@nargs=4, @blob="28000000 14000000 11000000 0f000000");
pushf(@nargs=1, @blob="e4cb1640");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
pushi(@nargs=1, @blob="10000000");
divf(@blob="");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
pushi(@nargs=1, @blob="08000000");
seti(@mask=0b1, @nargs=1, @blob="ffd8ffff");
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
pushi(@nargs=1, @blob="50000000");
mulf(@blob="");
pushi(@nargs=1, @blob="64000000");
addf(@blob="");
enmCreateA(
@mask=0b10,
@nargs=6,
@blob="10000000 426f7373 43617264 335f3030 43617400 000080bf 000080c2 c8000000 e8030000 00000000",
);
diffWait(@nargs=4, @blob="28000000 14000000 11000000 0f000000");
pushf(@nargs=1, @blob="db0fc93f");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
pushi(@nargs=1, @blob="18000000");
divf(@blob="");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
pushi(@nargs=1, @blob="0a000000");
seti(@mask=0b1, @nargs=1, @blob="ffd8ffff");
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
negf(@blob="");
pushi(@nargs=1, @blob="50000000");
mulf(@blob="");
pushi(@nargs=1, @blob="00000000");
subf(@blob="");
enmCreateA(
@mask=0b10,
@nargs=6,
@blob="10000000 426f7373 43617264 335f3030 43617400 000080bf 000080c2 c8000000 e8030000 00000000",
);
diffWait(@nargs=4, @blob="28000000 14000000 11000000 0f000000");
pushf(@nargs=1, @blob="e4cb1640");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
pushi(@nargs=1, @blob="10000000");
divf(@blob="");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
pushi(@nargs=1, @blob="08000000");
seti(@mask=0b1, @nargs=1, @blob="ffd8ffff");
pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
pushi(@nargs=1, @blob="50000000");
mulf(@blob="");
pushi(@nargs=1, @blob="00000000");
addf(@blob="");
enmCreateA(
@mask=0b10,
@nargs=6,
@blob="10000000 426f7373 43617264 335f3030 43617400 000080bf 000080c2 c8000000 e8030000 00000000",
);
diffWait(@nargs=4, @blob="28000000 14000000 11000000 0f000000");
pushf(@nargs=1, @blob="db0f493f");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
pushi(@nargs=1, @blob="10000000");
divf(@blob="");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
pushi(@nargs=1, @blob="0a000000");
seti(@mask=0b1, @nargs=1, @blob="ffd8ffff");
enmCreateA(
@mask=0b10,
@nargs=6,
@blob="10000000 426f7373 43617264 335f3030 43617400 00b41bc6 000080c2 c8000000 e8030000 00000000",
);
diffWait(@nargs=4, @blob="28000000 14000000 11000000 0f000000");
pushf(@nargs=1, @blob="db0fc93f");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
pushi(@nargs=1, @blob="18000000");
divf(@blob="");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
pushi(@nargs=1, @blob="08000000");
seti(@mask=0b1, @nargs=1, @blob="ffd8ffff");
enmCreateA(
@mask=0b10,
@nargs=6,
@blob="10000000 426f7373 43617264 335f3030 43617400 00b41bc6 000080c2 c8000000 e8030000 00000000",
);
diffWait(@nargs=4, @blob="28000000 14000000 11000000 0f000000");
pushf(@mask=0b1, @nargs=1, @blob="00f01bc6");
pushf(@nargs=1, @blob="0000c040");
lessf(@blob="");
jmpEq(@nargs=2, @blob="64000000 00000000");
pushf(@mask=0b1, @nargs=1, @blob="00f01bc6");
pushf(@nargs=1, @blob="0000803e");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
pushi(@nargs=1, @blob="01000000");
jmpNeq(@nargs=2, @blob="20f8ffff 00000000");
ret(@blob="");
}
void BossCard4_00C() {
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");
pushi(@mask=0b1, @nargs=1, @blob="fed8ffff");
pushi(@nargs=1, @blob="00000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="64000000 00000000");
enmCreate(
@nargs=6,
@blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000",
);
jmp(@nargs=2, @blob="50000000 00000000");
enmCreate(
@nargs=6,
@blob="10000000 45636c5f 45744272 65616b5f 6e690000 00000000 00000000 0f270000 00000000 00000000",
);
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="4e000000 68100000 20a10700 18000000 e6041ef2 724f0341 e4790ff6 696c0bc6 f2f904da e32a81e8",
);
flagSet(@nargs=1, @blob="0c000000");
playSound(@nargs=1, @blob="29000000");
+60: // 60
nop(@blob="");
anmSelect(@nargs=1, @blob="02000000");
wait(@nargs=1, @blob="3c000000");
pushf(@nargs=1, @blob="00000040");
setf(@mask=0b1, @nargs=1, @blob="00008040");
callAsync(
@nargs=3,
@blob="10000000 426f7373 43617264 345f3030 43617400 69660000 60000000 69660000 00000000",
);
callAsync(
@nargs=3,
@blob="14000000 426f7373 43617264 345f3030 43617432 00000000 69660000 a0ffffff 69660000 00000000",
);
moveRand(@nargs=3, @blob="28000000 00000000 0000803f");
diffWait(@nargs=4, @blob="2c010000 b4000000 6e000000 3c000000");
callAsync(
@nargs=3,
@blob="14000000 426f7373 43617264 345f3030 43617432 00000000 69660000 40000000 69660000 00000000",
);
callAsync(
@nargs=3,
@blob="10000000 426f7373 43617264 345f3030 43617400 69660000 c0ffffff 69660000 00000000",
);
moveRand(@nargs=3, @blob="28000000 00000000 0000803f");
diffWait(@nargs=4, @blob="2c010000 b4000000 6e000000 3c000000");
jmp(@nargs=2, @blob="d8020000 3c000000");
pushi(@nargs=1, @blob="70000000");
pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
pushi(@nargs=1, @blob="38000000");
mulf(@blob="");
addf(@blob="");
callAsync(
@mask=0b10,
@nargs=3,
@blob="10000000 426f7373 43617264 345f3030 43617400 66660000 000080bf 69660000 00000000",
);
pushi(@nargs=1, @blob="90ffffff");
pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
pushi(@nargs=1, @blob="38000000");
mulf(@blob="");
addf(@blob="");
callAsync(
@mask=0b10,
@nargs=3,
@blob="14000000 426f7373 43617264 345f3030 43617432 00000000 66660000 000080bf 69660000 00000000",
);
moveRand(@nargs=3, @blob="28000000 00000000 0000803f");
diffWait(@nargs=4, @blob="2c010000 b4000000 6e000000 3c000000");
pushi(@nargs=1, @blob="40000000");
pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
pushi(@nargs=1, @blob="38000000");
mulf(@blob="");
addf(@blob="");
callAsync(
@mask=0b10,
@nargs=3,
@blob="14000000 426f7373 43617264 345f3030 43617432 00000000 66660000 000080bf 69660000 00000000",
);
pushi(@nargs=1, @blob="c0ffffff");
pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
pushi(@nargs=1, @blob="38000000");
mulf(@blob="");
addf(@blob="");
callAsync(
@mask=0b10,
@nargs=3,
@blob="10000000 426f7373 43617264 345f3030 43617400 66660000 000080bf 69660000 00000000",
);
moveRand(@nargs=3, @blob="28000000 00000000 0000803f");
diffWait(@nargs=4, @blob="2c010000 b4000000 6e000000 3c000000");
pushi(@nargs=1, @blob="01000000");
jmpNeq(@nargs=2, @blob="2cfdffff 3c000000");
ret(@blob="");
}
void BossCard4_00Cat() {
stackAlloc(@nargs=1, @blob="18000000");
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 05000000");
etSprite(@nargs=3, @blob="00000000 07000000 06000000");
etCount(@nargs=3, @blob="00000000 01000000 01000000");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 db0fc93d");
etSpeed(@nargs=3, @blob="00000000 0000803f 00000040");
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 01000000 00000000 00040000 c8000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 02000000 01000000 08000000 70170000 c1bdf0ff 00000000 5077563d",
);
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
pushi(@nargs=1, @blob="01000000");
leqi(@blob="");
jmpEq(@nargs=2, @blob="60000000 00000000");
etEx(
@nargs=8,
@blob="00000000 03000000 01000000 00000008 70170000 c1bdf0ff db0fc93f 0000803f",
);
jmp(@nargs=2, @blob="e0000000 00000000");
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
pushi(@nargs=1, @blob="02000000");
leqi(@blob="");
jmpEq(@nargs=2, @blob="60000000 00000000");
etEx(
@nargs=8,
@blob="00000000 03000000 01000000 00000008 70170000 c1bdf0ff db0fc93f 3333b33f",
);
jmp(@nargs=2, @blob="48000000 00000000");
etEx(
@nargs=8,
@blob="00000000 03000000 01000000 00000008 70170000 c1bdf0ff db0fc93f 00000040",
);
etOffsetAbs(@nargs=3, @blob="00000000 00000000 00000000");
etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000000 00008040");
diffI(
@mask=0b1,
@nargs=5,
@blob="14000000 5a000000 5a000000 5a000000 5a000000",
);
pushf(@nargs=1, @blob="7077563d");
setf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="0000003f");
setf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
setf(@mask=0b1, @nargs=1, @blob="00008041");
jmp(@nargs=2, @blob="78010000 00000000");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008041 00000000");
etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00004041 00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 01000000 08000000 70170000 c1bdf0ff 00000000 00000041",
);
etOn(@nargs=1, @blob="00000000");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="b6867840");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="3f357e3f");
mulf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@nargs=1, @blob="a69b443c");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
deci(@mask=0b1, @nargs=1, @blob="14000000");
jmpNeq(@nargs=2, @blob="8cfeffff 00000000");
ret(@blob="");
}
void BossCard4_00Cat2() {
stackAlloc(@nargs=1, @blob="18000000");
etNew(@nargs=1, @blob="01000000");
etAim(@nargs=2, @blob="01000000 05000000");
etSprite(@nargs=3, @blob="01000000 07000000 06000000");
etCount(@nargs=3, @blob="01000000 01000000 01000000");
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00381cc6 db0fc93d");
etSpeed(@nargs=3, @blob="01000000 0000803f 00000040");
etEx(
@nargs=8,
@blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="01000000 01000000 00000000 00040000 c8000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="01000000 02000000 01000000 08000000 70170000 c1bdf0ff 00000000 5077563d",
);
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
pushi(@nargs=1, @blob="01000000");
leqi(@blob="");
jmpEq(@nargs=2, @blob="60000000 00000000");
etEx(
@nargs=8,
@blob="01000000 03000000 01000000 00000008 70170000 c1bdf0ff db0fc93f 0000803f",
);
jmp(@nargs=2, @blob="e0000000 00000000");
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
pushi(@nargs=1, @blob="02000000");
leqi(@blob="");
jmpEq(@nargs=2, @blob="60000000 00000000");
etEx(
@nargs=8,
@blob="01000000 03000000 01000000 00000008 70170000 c1bdf0ff db0fc93f 3333b33f",
);
jmp(@nargs=2, @blob="48000000 00000000");
etEx(
@nargs=8,
@blob="01000000 03000000 01000000 00000008 70170000 c1bdf0ff db0fc93f 00000040",
);
etOffsetAbs(@nargs=3, @blob="01000000 00000000 00000000");
etOffset(@mask=0b110, @nargs=3, @blob="01000000 00000000 00008040");
pushi(@nargs=1, @blob="5a000000");
seti(@mask=0b1, @nargs=1, @blob="14000000");
pushf(@nargs=1, @blob="707756bd");
setf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="0000003f");
setf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
setf(@mask=0b1, @nargs=1, @blob="00008041");
jmp(@nargs=2, @blob="78010000 00000000");
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00008041 00000000");
etSpeed(@mask=0b10, @nargs=3, @blob="01000000 00004041 00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="01000000 02000000 01000000 08000000 70170000 c1bdf0ff 00000000 00000041",
);
etOn(@nargs=1, @blob="01000000");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="b6867840");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="3f357e3f");
mulf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@nargs=1, @blob="a69b443c");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
deci(@mask=0b1, @nargs=1, @blob="14000000");
jmpNeq(@nargs=2, @blob="8cfeffff 00000000");
ret(@blob="");
}