touhou-reimpl/research/stage04.tecl

4177 lines
138 KiB
Plaintext

#pragma mapfile "utils/th11.eclm"
meta {
anim: ["enemy.anm", "stgenm04.anm"],
ecli: [
"default.ecl",
"stage4c00a.ecl",
"stage4c00b.ecl",
"stage4c00c.ecl",
"stage4c01a.ecl",
"stage4c01b.ecl",
"stage4c01c.ecl",
],
}
void BCir00() {
stackAlloc(@nargs=1, @blob="04000000");
anmSetSprite(@nargs=2, @blob="01000000 2d000000");
call(
@nargs=4,
@blob="08000000 43697230 30000000 69690000 57000000 69690000 2d000000 69690000 01000000",
);
delete(@blob="");
}
void BCir01() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="02000000");
anmSetSprite(@nargs=2, @blob="01000000 2d000000");
call(
@nargs=3,
@blob="08000000 43697230 31000000 69690000 4b000000 69690000 01000000",
);
delete(@blob="");
}
void BCir01b() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="02000000");
anmSetSprite(@nargs=2, @blob="01000000 2d000000");
call(
@nargs=3,
@blob="08000000 43697230 31620000 69690000 4b000000 69690000 01000000",
);
delete(@blob="");
}
void BCir02() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="02000000");
anmSetSprite(@nargs=2, @blob="01000000 2d000000");
call(
@nargs=3,
@blob="08000000 43697230 32000000 69690000 4b000000 69690000 01000000",
);
delete(@blob="");
}
void BCir03() {
stackAlloc(@nargs=1, @blob="04000000");
anmSetSprite(@nargs=2, @blob="01000000 2d000000");
call(
@nargs=4,
@blob="08000000 43697230 33000000 69690000 57000000 69690000 2d000000 69690000 01000000",
);
delete(@blob="");
}
void BGirl00() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="02000000");
anmSetSprite(@nargs=2, @blob="01000000 2d000000");
call(
@nargs=3,
@blob="08000000 4769726c 30300000 69690000 00000000 69690000 01000000",
);
delete(@blob="");
}
void BGirl00b() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="02000000");
anmSetSprite(@nargs=2, @blob="01000000 2d000000");
call(
@nargs=3,
@blob="08000000 4769726c 30306200 69690000 00000000 69690000 01000000",
);
delete(@blob="");
}
void BGirl01() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="02000000");
anmSetSprite(@nargs=2, @blob="01000000 2d000000");
call(
@nargs=3,
@blob="08000000 4769726c 30310000 69690000 00000000 69690000 01000000",
);
delete(@blob="");
}
void BGirl01b() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="02000000");
anmSetSprite(@nargs=2, @blob="01000000 2d000000");
call(
@nargs=3,
@blob="08000000 4769726c 30316200 69690000 00000000 69690000 01000000",
);
delete(@blob="");
}
void BGirl02() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="02000000");
anmSetSprite(@nargs=2, @blob="01000000 2d000000");
call(
@nargs=3,
@blob="08000000 4769726c 30320000 69690000 00000000 69690000 01000000",
);
delete(@blob="");
}
void BGirl03() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="02000000");
anmSetSprite(@nargs=2, @blob="01000000 2d000000");
call(
@nargs=3,
@blob="08000000 4769726c 30330000 69690000 00000000 69690000 01000000",
);
delete(@blob="");
}
void BPhantomMBoss() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="02000000");
anmSetSprite(@nargs=2, @blob="01000000 2d000000");
call(
@nargs=3,
@blob="10000000 5068616e 746f6d4d 426f7373 00000000 69690000 62000000 69690000 01000000",
);
delete(@blob="");
}
void BPhantomMBoss2() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="02000000");
anmSetSprite(@nargs=2, @blob="01000000 2d000000");
call(
@nargs=3,
@blob="10000000 5068616e 746f6d4d 426f7373 32000000 69690000 62000000 69690000 01000000",
);
delete(@blob="");
}
void Boss() {
stackAlloc(@nargs=1, @blob="04000000");
setBoss(@nargs=1, @blob="00000000");
anmSelect(@nargs=1, @blob="02000000");
anmSetMain(@nargs=2, @blob="00000000 00000000");
flagSet(@nargs=1, @blob="40000000");
setHurtbox(@nargs=2, @blob="00004042 00004042");
setHitbox(@nargs=2, @blob="00004042 00004042");
setInvuln(@nargs=1, @blob="3c000000");
lifeSet(@nargs=1, @blob="8c230000");
movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043");
fog(@nargs=2, @blob="00002043 ff00ff00");
+60: // 60
dialogWait(@blob="");
lifeHide(@nargs=1, @blob="00000000");
flagClear(@nargs=1, @blob="10000000");
moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 0000c042");
anmSelect(@nargs=1, @blob="00000000");
anmSetSprite(@nargs=2, @blob="01000000 5c000000");
anmSetSprite(@nargs=2, @blob="02000000 aa000000");
anmSelect(@nargs=1, @blob="02000000");
pushi(@nargs=1, @blob="01000000");
seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
call(@nargs=1, @blob="08000000 426f7373 31000000");
delete(@blob="");
}
void Boss1() {
stackAlloc(@nargs=1, @blob="00000000");
timerReset(@blob="");
setInterrupt(
@nargs=4,
@blob="00000000 6c070000 140a0000 0c000000 426f7373 43617264 31000000",
);
lifeMarker(@nargs=3, @blob="00000000 0080ed44 80a0ffff");
setChapter(@nargs=1, @blob="18000000");
stars(@nargs=1, @blob="02000000");
funcSet(@nargs=1, @blob="00000000");
moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042");
pushi(@nargs=1, @blob="00000000");
seti(@mask=0b1, @nargs=1, @blob="23d9ffff");
pushi(@nargs=1, @blob="00000000");
seti(@mask=0b1, @nargs=1, @blob="24d9ffff");
jmp(@nargs=2, @blob="18010000 00000000");
callAsync(@nargs=1, @blob="0c000000 426f7373 315f6174 31000000");
call(@nargs=1, @blob="0c000000 426f7373 315f6174 32000000");
diffWait(@nargs=4, @blob="3c000000 3c000000 3c000000 3c000000");
moveRand(@nargs=3, @blob="3c000000 04000000 00000040");
wait(@nargs=1, @blob="3c000000");
callAsync(@nargs=1, @blob="0c000000 426f7373 315f6174 31620000");
call(@nargs=1, @blob="0c000000 426f7373 315f6174 32620000");
moveRand(@nargs=3, @blob="3c000000 04000000 00000040");
wait(@nargs=1, @blob="3c000000");
pushi(@nargs=1, @blob="01000000");
jmpNeq(@nargs=2, @blob="ecfeffff 00000000");
ret(@blob="");
}
void Boss1_at1() {
stackAlloc(@nargs=1, @blob="18000000");
diffI(
@mask=0b1,
@nargs=5,
@blob="00000000 1e000000 78000000 78000000 78000000",
);
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 03000000");
etSprite(@nargs=3, @blob="00000000 03000000 02000000");
etCountD(
@nargs=9,
@blob="00000000 01000000 01000000 03000000 03000000 01000000 01000000 01000000 01000000",
);
etAngle(@nargs=3, @blob="00000000 00000000 00000000");
etSpeedD(
@nargs=9,
@blob="00000000 cdcccc3f cdcccc3f cdcccc3f cdcccc3f 0000803f 0000803f 0000803f 0000803f",
);
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9",
);
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
pushi(@nargs=1, @blob="00000000");
setf(@mask=0b1, @nargs=1, @blob="00004041");
jmp(@nargs=2, @blob="bc040000 00000000");
etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00008041 00004041");
etSprite(@nargs=3, @blob="00000000 03000000 02000000");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 7cd9203f");
etOn(@nargs=1, @blob="00000000");
etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 0000a041 00004041");
etSprite(@nargs=3, @blob="00000000 03000000 06000000");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000041 7cd9203f");
etOn(@nargs=1, @blob="00000000");
diffWait(@nargs=4, @blob="04000000 01000000 01000000 01000000");
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
pushi(@nargs=1, @blob="00000000");
neqi(@blob="");
jmpEq(@nargs=2, @blob="b0010000 00000000");
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="3ed00a3d");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008040");
validRad(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="3ed00a3d");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
validRad(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc93e");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008041");
validRad(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@nargs=1, @blob="d80fc93e");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
validRad(@mask=0b1, @nargs=1, @blob="0000a041");
jmp(@nargs=2, @blob="98010000 00000000");
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="3ed00a3e");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008040");
validRad(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="3ed00a3e");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
validRad(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc93f");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008041");
validRad(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@nargs=1, @blob="d80fc93f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
validRad(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@nargs=1, @blob="0000803f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="48fbffff 00000000");
ret(@blob="");
}
void Boss1_at1b() {
stackAlloc(@nargs=1, @blob="18000000");
diffI(
@mask=0b1,
@nargs=5,
@blob="00000000 1e000000 78000000 78000000 78000000",
);
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 03000000");
etSprite(@nargs=3, @blob="00000000 03000000 02000000");
etCountD(
@nargs=9,
@blob="00000000 01000000 01000000 01000000 03000000 01000000 01000000 01000000 01000000",
);
etAngle(@nargs=3, @blob="00000000 00000000 00000000");
etSpeedD(
@nargs=9,
@blob="00000000 cdcccc3f cdcccc3f cdcccc3f cdcccc3f 0000803f 0000803f 0000803f 0000803f",
);
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9",
);
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
pushi(@nargs=1, @blob="32000000");
setf(@mask=0b1, @nargs=1, @blob="00004041");
jmp(@nargs=2, @blob="bc040000 00000000");
etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00008041 00004041");
etSprite(@nargs=3, @blob="00000000 03000000 02000000");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 db0fc93e");
etOn(@nargs=1, @blob="00000000");
etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 0000a041 00004041");
etSprite(@nargs=3, @blob="00000000 03000000 06000000");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000041 db0fc93e");
etOn(@nargs=1, @blob="00000000");
diffWait(@nargs=4, @blob="04000000 01000000 01000000 01000000");
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
pushi(@nargs=1, @blob="00000000");
neqi(@blob="");
jmpEq(@nargs=2, @blob="b0010000 00000000");
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="3ed00a3d");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008040");
validRad(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="3ed00a3d");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
validRad(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc93e");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008041");
validRad(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@nargs=1, @blob="d80fc93e");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
validRad(@mask=0b1, @nargs=1, @blob="0000a041");
jmp(@nargs=2, @blob="98010000 00000000");
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="3ed00a3e");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008040");
validRad(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="3ed00a3e");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
validRad(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc93f");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008041");
validRad(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@nargs=1, @blob="d80fc93f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
validRad(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@nargs=1, @blob="0000003f");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="48fbffff 00000000");
ret(@blob="");
}
void Boss1_at2() {
stackAlloc(@nargs=1, @blob="18000000");
pushi(@nargs=1, @blob="78000000");
seti(@mask=0b1, @nargs=1, @blob="00000000");
etNew(@nargs=1, @blob="01000000");
etAim(@nargs=2, @blob="01000000 03000000");
etSprite(@nargs=3, @blob="01000000 03000000 02000000");
etCountD(
@nargs=9,
@blob="01000000 01000000 01000000 01000000 03000000 01000000 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 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="01000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9",
);
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
pushi(@nargs=1, @blob="00000000");
setf(@mask=0b1, @nargs=1, @blob="00004041");
jmp(@nargs=2, @blob="04030000 00000000");
pushi(@mask=0b1, @nargs=1, @blob="00000000");
pushi(@nargs=1, @blob="0d000000");
modi(@blob="");
pushi(@nargs=1, @blob="00000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="b0000000 00000000");
etSprite(@nargs=3, @blob="01000000 11000000 00000000");
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00008040 7cd9203f");
etOn(@nargs=1, @blob="01000000");
etSprite(@nargs=3, @blob="01000000 11000000 01000000");
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000041 7cd9203f");
etOn(@nargs=1, @blob="01000000");
wait(@nargs=1, @blob="01000000");
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="3ed00a3d");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008040");
validRad(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="3ed00a3d");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
validRad(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc93e");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008041");
validRad(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@nargs=1, @blob="d80fc93e");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
validRad(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@nargs=1, @blob="0000803f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="00fdffff 00000000");
ret(@blob="");
}
void Boss1_at2b() {
stackAlloc(@nargs=1, @blob="18000000");
pushi(@nargs=1, @blob="78000000");
seti(@mask=0b1, @nargs=1, @blob="00000000");
etNew(@nargs=1, @blob="01000000");
etAim(@nargs=2, @blob="01000000 03000000");
etSprite(@nargs=3, @blob="01000000 03000000 02000000");
etCountD(
@nargs=9,
@blob="01000000 01000000 01000000 01000000 03000000 01000000 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 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="01000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9",
);
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
pushi(@nargs=1, @blob="32000000");
setf(@mask=0b1, @nargs=1, @blob="00004041");
jmp(@nargs=2, @blob="04030000 00000000");
pushi(@mask=0b1, @nargs=1, @blob="00000000");
pushi(@nargs=1, @blob="0d000000");
modi(@blob="");
pushi(@nargs=1, @blob="00000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="b0000000 00000000");
etSprite(@nargs=3, @blob="01000000 11000000 00000000");
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00008040 db0fc93e");
etOn(@nargs=1, @blob="01000000");
etSprite(@nargs=3, @blob="01000000 11000000 01000000");
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000041 db0fc93e");
etOn(@nargs=1, @blob="01000000");
wait(@nargs=1, @blob="01000000");
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="3ed00a3d");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008040");
validRad(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="3ed00a3d");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
validRad(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc93e");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008041");
validRad(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@nargs=1, @blob="d80fc93e");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
validRad(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@nargs=1, @blob="0000003f");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="00fdffff 00000000");
ret(@blob="");
}
void Boss2() {
stackAlloc(@nargs=1, @blob="00000000");
timerReset(@blob="");
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="");
lifeSet(@nargs=1, @blob="60220000");
setInterrupt(
@nargs=4,
@blob="00000000 00000000 34080000 10000000 426f7373 43617264 324d7367 00000000",
);
setChapter(@nargs=1, @blob="19000000");
stars(@nargs=1, @blob="01000000");
pushi(@mask=0b1, @nargs=1, @blob="fed8ffff");
pushi(@nargs=1, @blob="00000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="20010000 00000000");
setInvuln(@nargs=1, @blob="3c000000");
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");
pushi(@nargs=1, @blob="01000000");
seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
dropExtra(@nargs=2, @blob="01000000 0a000000");
dropExtra(@nargs=2, @blob="02000000 05000000");
dropArea(@nargs=2, @blob="00004042 00004042");
dropItems(@blob="");
playSound(@nargs=1, @blob="0f000000");
movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043");
+90: // 90
nop(@blob="");
moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000042");
pushi(@nargs=1, @blob="00000000");
seti(@mask=0b1, @nargs=1, @blob="23d9ffff");
pushi(@nargs=1, @blob="00000000");
seti(@mask=0b1, @nargs=1, @blob="24d9ffff");
jmp(@nargs=2, @blob="c8000000 5a000000");
{"34567"}: callAsync(
@nargs=1,
@blob="0c000000 426f7373 325f6174 32000000",
);
call(@nargs=1, @blob="0c000000 426f7373 325f6174 31000000");
{"34567"}: callAsync(
@nargs=1,
@blob="0c000000 426f7373 325f6174 32620000",
);
call(@nargs=1, @blob="0c000000 426f7373 325f6174 31620000");
moveRand(@nargs=3, @blob="3c000000 04000000 00000040");
wait(@nargs=1, @blob="3c000000");
pushi(@nargs=1, @blob="01000000");
jmpNeq(@nargs=2, @blob="3cffffff 5a000000");
ret(@blob="");
}
void Boss2_at1() {
stackAlloc(@nargs=1, @blob="18000000");
pushi(@nargs=1, @blob="78000000");
seti(@mask=0b1, @nargs=1, @blob="00000000");
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 03000000");
etSprite(@nargs=3, @blob="00000000 03000000 02000000");
etCountD(
@nargs=9,
@blob="00000000 01000000 01000000 03000000 03000000 01000000 01000000 01000000 01000000",
);
etAngle(@nargs=3, @blob="00000000 00000000 00000000");
etSpeed(@nargs=3, @blob="00000000 cdcccc3f 0000803f");
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9",
);
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
pushi(@nargs=1, @blob="00000000");
setf(@mask=0b1, @nargs=1, @blob="00004041");
jmp(@nargs=2, @blob="18030000 00000000");
etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00008041 00004041");
etSprite(@nargs=3, @blob="00000000 03000000 02000000");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 7cd9203f");
etOn(@nargs=1, @blob="00000000");
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
pushi(@nargs=1, @blob="01000000");
geqi(@blob="");
jmpEq(@nargs=2, @blob="80000000 00000000");
etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 0000a041 00004041");
etSprite(@nargs=3, @blob="00000000 03000000 06000000");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000041 7cd9203f");
etOn(@nargs=1, @blob="00000000");
wait(@nargs=1, @blob="01000000");
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="3ed00a3d");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008040");
validRad(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="3ed00a3d");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
validRad(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc93e");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008041");
validRad(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@nargs=1, @blob="d80fc93e");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
validRad(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@nargs=1, @blob="0000803f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="ecfcffff 00000000");
ret(@blob="");
}
void Boss2_at1b() {
stackAlloc(@nargs=1, @blob="18000000");
pushi(@nargs=1, @blob="78000000");
seti(@mask=0b1, @nargs=1, @blob="00000000");
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 03000000");
etSprite(@nargs=3, @blob="00000000 03000000 02000000");
etCountD(
@nargs=9,
@blob="00000000 01000000 01000000 01000000 03000000 01000000 01000000 01000000 01000000",
);
etAngle(@nargs=3, @blob="00000000 00000000 00000000");
etSpeed(@nargs=3, @blob="00000000 cdcccc3f 0000803f");
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9",
);
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
pushi(@nargs=1, @blob="32000000");
setf(@mask=0b1, @nargs=1, @blob="00004041");
jmp(@nargs=2, @blob="18030000 00000000");
etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 00008041 00004041");
etSprite(@nargs=3, @blob="00000000 03000000 02000000");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00008040 7cd9203f");
etOn(@nargs=1, @blob="00000000");
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
pushi(@nargs=1, @blob="01000000");
geqi(@blob="");
jmpEq(@nargs=2, @blob="80000000 00000000");
etOffsetRad(@mask=0b110, @nargs=3, @blob="00000000 0000a041 00004041");
etSprite(@nargs=3, @blob="00000000 03000000 06000000");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000041 7cd9203f");
etOn(@nargs=1, @blob="00000000");
wait(@nargs=1, @blob="01000000");
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="3ed00a3d");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008040");
validRad(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="3ed00a3d");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
validRad(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc93e");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008041");
validRad(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@nargs=1, @blob="d80fc93e");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
validRad(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@nargs=1, @blob="0000003f");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="ecfcffff 00000000");
ret(@blob="");
}
void Boss2_at2() {
stackAlloc(@nargs=1, @blob="18000000");
pushi(@nargs=1, @blob="78000000");
seti(@mask=0b1, @nargs=1, @blob="00000000");
etNew(@nargs=1, @blob="01000000");
etAim(@nargs=2, @blob="01000000 03000000");
etSprite(@nargs=3, @blob="01000000 03000000 02000000");
etCountD(
@nargs=9,
@blob="01000000 01000000 01000000 01000000 01000000 01000000 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 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="01000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9",
);
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
pushi(@nargs=1, @blob="00000000");
setf(@mask=0b1, @nargs=1, @blob="00004041");
jmp(@nargs=2, @blob="04030000 00000000");
pushi(@mask=0b1, @nargs=1, @blob="00000000");
pushi(@nargs=1, @blob="0d000000");
modi(@blob="");
pushi(@nargs=1, @blob="00000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="b0000000 00000000");
etSprite(@nargs=3, @blob="01000000 11000000 00000000");
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00008040 00000000");
etOn(@nargs=1, @blob="01000000");
etSprite(@nargs=3, @blob="01000000 11000000 01000000");
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000041 00000000");
etOn(@nargs=1, @blob="01000000");
wait(@nargs=1, @blob="01000000");
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="3ed00a3d");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008040");
validRad(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="3ed00a3d");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
validRad(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc93e");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008041");
validRad(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@nargs=1, @blob="d80fc93e");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
validRad(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@nargs=1, @blob="0000803f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="00fdffff 00000000");
ret(@blob="");
}
void Boss2_at2b() {
stackAlloc(@nargs=1, @blob="18000000");
pushi(@nargs=1, @blob="78000000");
seti(@mask=0b1, @nargs=1, @blob="00000000");
etNew(@nargs=1, @blob="01000000");
etAim(@nargs=2, @blob="01000000 03000000");
etSprite(@nargs=3, @blob="01000000 03000000 02000000");
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 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="01000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9",
);
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc9bf");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
pushi(@nargs=1, @blob="32000000");
setf(@mask=0b1, @nargs=1, @blob="00004041");
jmp(@nargs=2, @blob="04030000 00000000");
pushi(@mask=0b1, @nargs=1, @blob="00000000");
pushi(@nargs=1, @blob="0d000000");
modi(@blob="");
pushi(@nargs=1, @blob="00000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="b0000000 00000000");
etSprite(@nargs=3, @blob="01000000 11000000 00000000");
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00008040 00000000");
etOn(@nargs=1, @blob="01000000");
etSprite(@nargs=3, @blob="01000000 11000000 01000000");
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000041 00000000");
etOn(@nargs=1, @blob="01000000");
wait(@nargs=1, @blob="01000000");
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="3ed00a3d");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008040");
validRad(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="3ed00a3d");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
validRad(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@nargs=1, @blob="d80fc93e");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008041");
validRad(@mask=0b1, @nargs=1, @blob="00008041");
pushf(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@nargs=1, @blob="d80fc93e");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
validRad(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@nargs=1, @blob="0000003f");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="00fdffff 00000000");
ret(@blob="");
}
void BossCard1() {
stackAlloc(@nargs=1, @blob="14000000");
setInterrupt(
@nargs=4,
@blob="00000000 00000000 140a0000 08000000 426f7373 32000000",
);
{"014567"}: spell(
@nargs=4,
@blob="2a000000 140a0000 20a10700 20000000 e6041ef2 724f129d ec7c0e41 68390a28 e6350638 604000b3 dc6dfc52 dba27960",
);
{"234567"}: spell3(
@nargs=4,
@blob="2c000000 140a0000 20a10700 14000000 e6041ef2 724f1a48 fa8a00f7 7d020600 e61885ac",
);
setChapter(@nargs=1, @blob="2b000000");
killAllAsync(@blob="");
movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00006043");
setInvuln(@nargs=1, @blob="3c000000");
playSound(@nargs=1, @blob="07000000");
enmCreate(
@nargs=6,
@blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000",
);
enmKillAll(@blob="");
pushi(@mask=0b1, @nargs=1, @blob="25d9ffff");
pushi(@nargs=1, @blob="01000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="3c000000 00000000");
dropMain(@nargs=1, @blob="05000000");
dropItems(@blob="");
pushi(@nargs=1, @blob="01000000");
seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
funcSet(@nargs=1, @blob="01000000");
moveLimit(@nargs=4, @blob="00000000 00000043 0000c043 00008043");
+30: // 30
anmPlay(@nargs=2, @blob="00000000 83000000");
+120: // 150
nop(@blob="");
jmp(@nargs=2, @blob="28020000 96000000");
pushf(@nargs=1, @blob="c0922b3c");
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
callAsync(
@nargs=2,
@blob="10000000 426f7373 43617264 315f6174 00000000 66660000 db0fc9bf",
);
wait(@nargs=1, @blob="78000000");
playSound(@nargs=1, @blob="29000000");
wait(@nargs=1, @blob="3c000000");
playSound(@nargs=1, @blob="10000000");
wait(@nargs=1, @blob="14000000");
diffF(
@mask=0b1,
@nargs=5,
@blob="00004041 5077563e 5077563e 5077563e f975f73d",
);
callAsync(
@mask=0b10,
@nargs=2,
@blob="10000000 426f7373 43617264 315f6174 32000000 66660000 00004041",
);
pushf(@nargs=1, @blob="c0922bbc");
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
callAsync(
@nargs=2,
@blob="10000000 426f7373 43617264 315f6174 00000000 66660000 db0fc93f",
);
wait(@nargs=1, @blob="78000000");
playSound(@nargs=1, @blob="29000000");
wait(@nargs=1, @blob="3c000000");
playSound(@nargs=1, @blob="10000000");
wait(@nargs=1, @blob="14000000");
diffF(
@mask=0b1,
@nargs=5,
@blob="00004041 507756be 507756be 507756be f975f7bd",
);
callAsync(
@mask=0b10,
@nargs=2,
@blob="10000000 426f7373 43617264 315f6174 32000000 66660000 00004041",
);
pushi(@nargs=1, @blob="01000000");
jmpNeq(@nargs=2, @blob="dcfdffff 96000000");
ret(@blob="");
}
void BossCard1_at() {
stackAlloc(@nargs=1, @blob="18000000");
pushf(@nargs=1, @blob="00000000");
setf(@mask=0b1, @nargs=1, @blob="00008040");
diffI(
@mask=0b1,
@nargs=5,
@blob="14000000 10000000 10000000 20000000 20000000",
);
pushf(@nargs=1, @blob="db0fc940");
pushi(@mask=0b1, @nargs=1, @blob="14000000");
divf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008041");
jmp(@nargs=2, @blob="2c010000 00000000");
circlePos(
@mask=0b111,
@nargs=4,
@blob="00000041 00004041 00008040 00008042",
);
etOffset(@mask=0b110, @nargs=3, @blob="00000000 00000041 00004041");
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@mask=0b1, @nargs=1, @blob="00000000");
addf(@blob="");
laserStOn(
@mask=0b1000,
@nargs=12,
@blob="00000000 03000000 06000000 000080bf 00000000 0000e643 b4000000 14000000 32000000 08000000 00008041 08000000",
);
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008040");
validRad(@mask=0b1, @nargs=1, @blob="00008040");
deci(@mask=0b1, @nargs=1, @blob="14000000");
jmpNeq(@nargs=2, @blob="d8feffff 00000000");
ret(@blob="");
}
void BossCard1_at2() {
stackAlloc(@nargs=1, @blob="14000000");
pushf(@nargs=1, @blob="00000000");
setf(@mask=0b1, @nargs=1, @blob="00008040");
pushi(@nargs=1, @blob="10000000");
seti(@mask=0b1, @nargs=1, @blob="10000000");
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
pushi(@nargs=1, @blob="01000000");
geqi(@blob="");
jmpEq(@nargs=2, @blob="40020000 00000000");
etNew(@nargs=1, @blob="01000000");
etAim(@nargs=2, @blob="01000000 03000000");
etSprite(@nargs=3, @blob="01000000 01000000 0d000000");
etCountD(
@nargs=9,
@blob="01000000 08000000 08000000 0c000000 14000000 01000000 01000000 01000000 01000000",
);
etAngle(@nargs=3, @blob="01000000 00000000 00000000");
etSpeedD(
@nargs=9,
@blob="01000000 cdcccc3f cdcccc3f 00000040 00000040 0000803f 0000803f 0000803f 0000803f",
);
etEx(
@nargs=8,
@blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etDist(@nargs=2, @blob="01000000 00000042");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00008040");
jmp(@nargs=2, @blob="a8000000 00000000");
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00008040 00000000");
etOn(@nargs=1, @blob="01000000");
wait(@nargs=1, @blob="06000000");
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@mask=0b1, @nargs=1, @blob="00000000");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008040");
deci(@mask=0b1, @nargs=1, @blob="10000000");
jmpNeq(@nargs=2, @blob="5cffffff 00000000");
jmp(@nargs=2, @blob="68010000 00000000");
etNew(@nargs=1, @blob="01000000");
etAim(@nargs=2, @blob="01000000 03000000");
etSprite(@nargs=3, @blob="01000000 01000000 0d000000");
etCount(@nargs=3, @blob="01000000 08000000 01000000");
etAngle(@nargs=3, @blob="01000000 00000000 00000000");
etSpeed(@nargs=3, @blob="01000000 cdcccc3f 0000803f");
etEx(
@nargs=8,
@blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etDist(@nargs=2, @blob="01000000 00000042");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00008040");
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00008040 00000000");
etOn(@nargs=1, @blob="01000000");
wait(@nargs=1, @blob="60000000");
etNew(@nargs=1, @blob="01000000");
etAim(@nargs=2, @blob="01000000 02000000");
etSprite(@nargs=3, @blob="01000000 11000000 01000000");
etCountD(
@nargs=9,
@blob="01000000 01000000 01000000 01000000 01000000 08000000 08000000 18000000 20000000",
);
pushf(@mask=0b1, @nargs=1, @blob="00000000");
pushi(@nargs=1, @blob="02000000");
mulf(@blob="");
etAngle(@mask=0b110, @nargs=3, @blob="01000000 00000000 000080bf");
etSpeedD(
@nargs=9,
@blob="01000000 0000c03f 0000c03f 00000040 00002040 0000003f 0000003f 0000003f 0000003f",
);
{"234567"}: pushf(@mask=0b1, @nargs=1, @blob="00000000");
{"234567"}: pushf(@nargs=1, @blob="9a99993e");
{"234567"}: mulf(@blob="");
{"234567"}: etAngle(
@mask=0b110,
@nargs=3,
@blob="01000000 00000000 000080bf",
);
etEx(
@nargs=8,
@blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etOn(@nargs=1, @blob="01000000");
ret(@blob="");
}
void BossCard2Msg() {
stackAlloc(@nargs=1, @blob="00000000");
killAllAsync(@blob="");
movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00004043");
setInvuln(@nargs=1, @blob="3c000000");
pushi(@mask=0b1, @nargs=1, @blob="fed8ffff");
pushi(@nargs=1, @blob="00000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="e4000000 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");
dropExtra(@nargs=2, @blob="01000000 0f000000");
dropExtra(@nargs=2, @blob="02000000 0a000000");
dropArea(@nargs=2, @blob="00004042 00004042");
dropItems(@blob="");
pushi(@nargs=1, @blob="01000000");
seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
lifeSet(@nargs=1, @blob="e8030000");
playSound(@nargs=1, @blob="07000000");
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",
);
laserCancel(@blob="");
enmKillAll(@blob="");
setChapter(@nargs=1, @blob="2c000000");
moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00000043");
flagSet(@nargs=1, @blob="10000000");
dialogRead(@nargs=1, @blob="02000000");
dialogWait(@blob="");
flagClear(@nargs=1, @blob="10000000");
setChapter(@nargs=1, @blob="2c000000");
stars(@nargs=1, @blob="00000000");
call(@nargs=1, @blob="10000000 426f7373 43617264 53656c65 63740000");
ret(@blob="");
}
void BossCardItem() {
stackAlloc(@nargs=1, @blob="00000000");
dropExtra(@nargs=2, @blob="01000000 0a000000");
dropExtra(@nargs=2, @blob="02000000 0e000000");
ret(@blob="");
}
void BossCardSelect() {
stackAlloc(@nargs=1, @blob="00000000");
pushi(@mask=0b1, @nargs=1, @blob="27d9ffff");
pushi(@nargs=1, @blob="00000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="54000000 00000000");
call(@nargs=1, @blob="10000000 426f7373 43617264 325f3030 41000000");
jmp(@nargs=2, @blob="bc020000 00000000");
pushi(@mask=0b1, @nargs=1, @blob="27d9ffff");
pushi(@nargs=1, @blob="01000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="54000000 00000000");
call(@nargs=1, @blob="10000000 426f7373 43617264 325f3030 42000000");
jmp(@nargs=2, @blob="30020000 00000000");
pushi(@mask=0b1, @nargs=1, @blob="27d9ffff");
pushi(@nargs=1, @blob="02000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="54000000 00000000");
call(@nargs=1, @blob="10000000 426f7373 43617264 325f3030 43000000");
jmp(@nargs=2, @blob="a4010000 00000000");
pushi(@mask=0b1, @nargs=1, @blob="27d9ffff");
pushi(@nargs=1, @blob="03000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="54000000 00000000");
call(@nargs=1, @blob="10000000 426f7373 43617264 325f3031 41000000");
jmp(@nargs=2, @blob="18010000 00000000");
pushi(@mask=0b1, @nargs=1, @blob="27d9ffff");
pushi(@nargs=1, @blob="04000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="54000000 00000000");
call(@nargs=1, @blob="10000000 426f7373 43617264 325f3031 42000000");
jmp(@nargs=2, @blob="8c000000 00000000");
pushi(@mask=0b1, @nargs=1, @blob="27d9ffff");
pushi(@nargs=1, @blob="05000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="3c000000 00000000");
call(@nargs=1, @blob="10000000 426f7373 43617264 325f3031 43000000");
ret(@blob="");
}
void BossDead() {
stackAlloc(@nargs=1, @blob="04000000");
flagSet(@nargs=1, @blob="8c000000");
anmPlay(@nargs=2, @blob="00000000 4c000000");
playSound(@nargs=1, @blob="12000000");
anmPlay(@nargs=2, @blob="00000000 8d000000");
moveVelTime(
@mask=0b100,
@nargs=4,
@blob="01000000 00000000 00381cc6 cdcccc3e",
);
pushi(@mask=0b1, @nargs=1, @blob="fed8ffff");
pushi(@nargs=1, @blob="00000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="68000000 00000000");
enmCreate(
@nargs=6,
@blob="10000000 45636c5f 45744272 65616b32 00000000 00000000 00000000 0f270000 00000000 00000000",
);
jmp(@nargs=2, @blob="50000000 00000000");
enmCreate(
@nargs=6,
@blob="10000000 45636c5f 45744272 65616b32 5f6e6900 00000000 00000000 0f270000 00000000 00000000",
);
+60: // 60
etClearAll(@blob="");
spellEnd(@blob="");
dropMain(@nargs=1, @blob="00000000");
dropClear(@blob="");
pushi(@mask=0b1, @nargs=1, @blob="25d9ffff");
pushi(@nargs=1, @blob="01000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="3c000000 3c000000");
dropMain(@nargs=1, @blob="05000000");
dropItems(@blob="");
pushi(@nargs=1, @blob="01000000");
seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
dropExtra(@nargs=2, @blob="01000000 0a000000");
dropExtra(@nargs=2, @blob="02000000 08000000");
dropArea(@nargs=2, @blob="00004042 00004042");
dropItems(@blob="");
setScreenShake(@nargs=3, @blob="1e000000 0c000000 00000000");
anmPlay(@nargs=2, @blob="00000000 4c000000");
anmPlay(@nargs=2, @blob="00000000 8e000000");
playSound(@nargs=1, @blob="12000000");
setBoss(@nargs=1, @blob="ffffffff");
delete(@blob="");
delete(@blob="");
}
void Cir00() {
stackAlloc(@nargs=1, @blob="18000000");
pushi(@nargs=1, @blob="01000000");
seti(@mask=0b1, @nargs=1, @blob="14000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000");
flagSet(@nargs=1, @blob="03000000");
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
setHitbox(@nargs=2, @blob="00008041 00008041");
moveVel(@nargs=2, @blob="00000000 00000041");
moveVelTime(@nargs=4, @blob="3c000000 04000000 f02374c9 00000000");
+60: // 60
flagClear(@nargs=1, @blob="03000000");
+60: // 120
moveVel(@mask=0b1, @nargs=2, @blob="00141cc6 00000000");
{"234567"}: callAsync(
@nargs=1,
@blob="0c000000 52436972 30305f61 74000000",
);
moveVelTime(
@mask=0b100,
@nargs=4,
@blob="3c000000 04000000 00141cc6 00000040",
);
jmp(@nargs=2, @blob="2c000000 78000000");
wait(@nargs=1, @blob="e8030000");
pushi(@nargs=1, @blob="01000000");
jmpNeq(@nargs=2, @blob="d8ffffff 78000000");
ret(@blob="");
}
void Cir01() {
stackAlloc(@nargs=1, @blob="14000000");
pushi(@nargs=1, @blob="03000000");
seti(@mask=0b1, @nargs=1, @blob="10000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000");
flagSet(@nargs=1, @blob="40000000");
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
setHitbox(@nargs=2, @blob="00008041 00008041");
dropClear(@blob="");
dropExtra(@nargs=2, @blob="02000000 03000000");
dropArea(@nargs=2, @blob="00004042 00004042");
callAsync(@nargs=1, @blob="0c000000 52436972 30315f61 74000000");
moveVel(@nargs=2, @blob="db0fc93f 00004040");
wait(@nargs=1, @blob="3c000000");
moveVelTime(@nargs=4, @blob="32000000 00000000 db0f49bf 0000a040");
wait(@nargs=1, @blob="3c000000");
+6000: // 6000
nop(@blob="");
ret(@blob="");
}
void Cir01b() {
stackAlloc(@nargs=1, @blob="14000000");
pushi(@nargs=1, @blob="03000000");
seti(@mask=0b1, @nargs=1, @blob="10000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000");
flagSet(@nargs=1, @blob="40000000");
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
setHitbox(@nargs=2, @blob="00008041 00008041");
dropClear(@blob="");
dropExtra(@nargs=2, @blob="02000000 03000000");
dropArea(@nargs=2, @blob="00004042 00004042");
callAsync(@nargs=1, @blob="0c000000 52436972 3031625f 61740000");
moveVel(@nargs=2, @blob="db0fc93f 00004040");
wait(@nargs=1, @blob="3c000000");
moveVelTime(@nargs=4, @blob="32000000 00000000 db0f4940 0000a040");
wait(@nargs=1, @blob="3c000000");
+6000: // 6000
nop(@blob="");
ret(@blob="");
}
void Cir02() {
stackAlloc(@nargs=1, @blob="14000000");
pushi(@nargs=1, @blob="03000000");
seti(@mask=0b1, @nargs=1, @blob="10000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000");
flagSet(@nargs=1, @blob="40000000");
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
setHitbox(@nargs=2, @blob="00008041 00008041");
callAsync(@nargs=1, @blob="0c000000 52436972 30325f61 74000000");
moveVel(@nargs=2, @blob="db0fc9be 00004040");
wait(@nargs=1, @blob="3c000000");
moveVelTime(@nargs=4, @blob="32000000 00000000 00000000 00008040");
wait(@nargs=1, @blob="3c000000");
+6000: // 6000
nop(@blob="");
ret(@blob="");
}
void Cir03() {
stackAlloc(@nargs=1, @blob="18000000");
pushi(@nargs=1, @blob="01000000");
seti(@mask=0b1, @nargs=1, @blob="14000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000");
flagSet(@nargs=1, @blob="03000000");
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
setHitbox(@nargs=2, @blob="00008041 00008041");
moveVel(@nargs=2, @blob="db0fc93f cdcc4c3e");
+60: // 60
flagClear(@nargs=1, @blob="03000000");
moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000");
callAsync(
@nargs=2,
@blob="0c000000 52436972 30335f61 74000000 69690000 01000000",
);
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@mask=0b10, @nargs=2, @blob="01000000 04000000");
+300: // 360
flagSet(@nargs=1, @blob="03000000");
anmSwitch(@nargs=2, @blob="00000000 03000000");
anmSetSprite(@nargs=2, @blob="01000000 ffffffff");
moveVel(@nargs=2, @blob="db0fc93f cdcc4c3e");
moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 0000803f");
+60: // 420
delete(@blob="");
ret(@blob="");
}
void GCir00() {
stackAlloc(@nargs=1, @blob="04000000");
dropMain(@nargs=1, @blob="03000000");
call(
@nargs=4,
@blob="08000000 43697230 30000000 69690000 54000000 69690000 2f000000 69690000 01000000",
);
delete(@blob="");
}
void GCir01() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="03000000");
anmSetSprite(@nargs=2, @blob="01000000 2f000000");
call(
@nargs=3,
@blob="08000000 43697230 31000000 69690000 48000000 69690000 01000000",
);
delete(@blob="");
}
void GCir01b() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="03000000");
anmSetSprite(@nargs=2, @blob="01000000 2f000000");
call(
@nargs=3,
@blob="08000000 43697230 31620000 69690000 48000000 69690000 01000000",
);
delete(@blob="");
}
void GCir02() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="03000000");
anmSetSprite(@nargs=2, @blob="01000000 2f000000");
call(
@nargs=3,
@blob="08000000 43697230 32000000 69690000 48000000 69690000 01000000",
);
delete(@blob="");
}
void GCir03() {
stackAlloc(@nargs=1, @blob="04000000");
dropMain(@nargs=1, @blob="03000000");
call(
@nargs=4,
@blob="08000000 43697230 33000000 69690000 54000000 69690000 2f000000 69690000 01000000",
);
delete(@blob="");
}
void GGirl00() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="03000000");
anmSetSprite(@nargs=2, @blob="01000000 2f000000");
call(
@nargs=3,
@blob="08000000 4769726c 30300000 69690000 0a000000 69690000 01000000",
);
delete(@blob="");
}
void GGirl00b() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="03000000");
anmSetSprite(@nargs=2, @blob="01000000 2f000000");
call(
@nargs=3,
@blob="08000000 4769726c 30306200 69690000 0a000000 69690000 01000000",
);
delete(@blob="");
}
void GGirl01() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="03000000");
anmSetSprite(@nargs=2, @blob="01000000 2f000000");
call(
@nargs=3,
@blob="08000000 4769726c 30310000 69690000 0a000000 69690000 01000000",
);
delete(@blob="");
}
void GGirl01b() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="03000000");
anmSetSprite(@nargs=2, @blob="01000000 2f000000");
call(
@nargs=3,
@blob="08000000 4769726c 30316200 69690000 0a000000 69690000 01000000",
);
delete(@blob="");
}
void GGirl02() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="03000000");
anmSetSprite(@nargs=2, @blob="01000000 2f000000");
call(
@nargs=3,
@blob="08000000 4769726c 30320000 69690000 0a000000 69690000 01000000",
);
delete(@blob="");
}
void GGirl03() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="03000000");
anmSetSprite(@nargs=2, @blob="01000000 2f000000");
call(
@nargs=3,
@blob="08000000 4769726c 30330000 69690000 0a000000 69690000 01000000",
);
delete(@blob="");
}
void GPhantomMBoss() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="02000000");
anmSetSprite(@nargs=2, @blob="01000000 2f000000");
call(
@nargs=3,
@blob="10000000 5068616e 746f6d4d 426f7373 00000000 69690000 60000000 69690000 01000000",
);
delete(@blob="");
}
void GPhantomMBoss2() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="02000000");
anmSetSprite(@nargs=2, @blob="01000000 2f000000");
call(
@nargs=3,
@blob="10000000 5068616e 746f6d4d 426f7373 32000000 69690000 60000000 69690000 01000000",
);
delete(@blob="");
}
void Girl00() {
stackAlloc(@nargs=1, @blob="10000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000");
flagSet(@nargs=1, @blob="40000000");
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
setHitbox(@nargs=2, @blob="00008041 00008041");
dropClear(@blob="");
dropExtra(@nargs=2, @blob="02000000 04000000");
dropArea(@nargs=2, @blob="00000042 00000042");
moveVel(@nargs=2, @blob="00000000 0000c040");
moveVelTime(@nargs=4, @blob="3c000000 09000000 00000000 00000000");
+60: // 60
callAsync(
@mask=0b10,
@nargs=2,
@blob="0c000000 52476972 6c30305f 61740000 69690000 04000000",
);
wait(@nargs=1, @blob="78000000");
moveVel(@nargs=2, @blob="db0fc9bf 00000000");
moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 0000803f");
+6000: // 6060
nop(@blob="");
ret(@blob="");
}
void Girl00b() {
stackAlloc(@nargs=1, @blob="10000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000");
flagSet(@nargs=1, @blob="40000000");
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
setHitbox(@nargs=2, @blob="00008041 00008041");
dropClear(@blob="");
dropExtra(@nargs=2, @blob="02000000 04000000");
dropArea(@nargs=2, @blob="00000042 00000042");
moveVel(@nargs=2, @blob="00000000 0000c040");
moveVelTime(@nargs=4, @blob="3c000000 09000000 00000000 00000000");
+60: // 60
callAsync(
@mask=0b10,
@nargs=2,
@blob="0c000000 52476972 6c303062 5f617400 69690000 04000000",
);
wait(@nargs=1, @blob="3c000000");
{"34567"}: callAsync(
@mask=0b10,
@nargs=2,
@blob="0c000000 52476972 6c303062 5f617400 69690000 04000000",
);
wait(@nargs=1, @blob="3c000000");
moveVel(@nargs=2, @blob="db0fc9bf 00000000");
moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 0000803f");
+6000: // 6060
nop(@blob="");
ret(@blob="");
}
void Girl01() {
stackAlloc(@nargs=1, @blob="10000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000");
flagSet(@nargs=1, @blob="40000000");
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
setHitbox(@nargs=2, @blob="00008041 00008041");
callAsync(
@mask=0b10,
@nargs=2,
@blob="0c000000 52476972 6c30315f 61740000 69690000 04000000",
);
moveVel(@nargs=2, @blob="db0fc93f 00004040");
moveVelTime(@nargs=4, @blob="3c000000 09000000 db0f4940 00004040");
wait(@nargs=1, @blob="78000000");
+6000: // 6000
nop(@blob="");
ret(@blob="");
}
void Girl01b() {
stackAlloc(@nargs=1, @blob="10000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000");
flagSet(@nargs=1, @blob="40000000");
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
setHitbox(@nargs=2, @blob="00008041 00008041");
{"1234567"}: callAsync(
@mask=0b10,
@nargs=2,
@blob="0c000000 52476972 6c303162 5f617400 69690000 04000000",
);
moveVel(@nargs=2, @blob="db0fc93f 00004040");
moveVelTime(@nargs=4, @blob="3c000000 09000000 db0f4940 00004040");
wait(@nargs=1, @blob="78000000");
+6000: // 6000
nop(@blob="");
ret(@blob="");
}
void Girl02() {
stackAlloc(@nargs=1, @blob="10000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000");
flagSet(@nargs=1, @blob="40000000");
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
setHitbox(@nargs=2, @blob="00008041 00008041");
dropClear(@blob="");
dropExtra(@nargs=2, @blob="01000000 02000000");
dropExtra(@nargs=2, @blob="02000000 04000000");
dropArea(@nargs=2, @blob="00000042 00000042");
moveVel(@nargs=2, @blob="00000000 0000a040");
moveVelTime(@nargs=4, @blob="3c000000 09000000 00000000 00000000");
+60: // 60
callAsync(
@mask=0b10,
@nargs=2,
@blob="0c000000 52476972 6c30325f 61740000 69690000 04000000",
);
wait(@nargs=1, @blob="f0000000");
moveVel(@nargs=2, @blob="db0fc9bf 00000000");
moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 0000803f");
+6000: // 6060
nop(@blob="");
ret(@blob="");
}
void Girl03() {
stackAlloc(@nargs=1, @blob="10000000");
pushi(@nargs=1, @blob="01000000");
seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
anmSelect(@nargs=1, @blob="01000000");
anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000");
flagSet(@nargs=1, @blob="40000000");
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
setHitbox(@nargs=2, @blob="00008041 00008041");
dropClear(@blob="");
dropExtra(@nargs=2, @blob="02000000 04000000");
dropArea(@nargs=2, @blob="00000042 00000042");
setInterrupt(
@nargs=4,
@blob="00000000 00000000 ffffffff 0c000000 4769726c 33446561 64000000",
);
movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 0000c042");
+60: // 60
callAsync(
@mask=0b10,
@nargs=2,
@blob="0c000000 52476972 6c30335f 61740000 69690000 04000000",
);
wait(@nargs=1, @blob="58020000");
killAllAsync(@blob="");
moveVel(@nargs=2, @blob="db0fc9bf 00000000");
moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 0000803f");
+6000: // 6060
nop(@blob="");
ret(@blob="");
}
void Girl3Dead() {
stackAlloc(@nargs=1, @blob="00000000");
dropClear(@blob="");
dropExtra(@nargs=2, @blob="01000000 14000000");
dropExtra(@nargs=2, @blob="02000000 05000000");
dropArea(@nargs=2, @blob="00004042 00004042");
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");
dropItems(@blob="");
anmPlay(@nargs=2, @blob="00000000 4e000000");
playSound(@nargs=1, @blob="02000000");
ret(@blob="");
}
void MBoss() {
stackAlloc(@nargs=1, @blob="10000000");
setBoss(@nargs=1, @blob="00000000");
anmSelect(@nargs=1, @blob="00000000");
anmSetSprite(@nargs=2, @blob="02000000 aa000000");
anmSelect(@nargs=1, @blob="02000000");
anmSetMain(@nargs=2, @blob="00000000 07000000");
flagSet(@nargs=1, @blob="40000000");
setHurtbox(@nargs=2, @blob="00004042 00004042");
setHitbox(@nargs=2, @blob="00002042 00002042");
lifeSet(@nargs=1, @blob="80380100");
pushi(@nargs=1, @blob="01000000");
seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
setChapter(@nargs=1, @blob="06000000");
movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043");
wait(@nargs=1, @blob="46000000");
moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008041");
wait(@nargs=1, @blob="78000000");
playSound(@nargs=1, @blob="29000000");
fog(@nargs=2, @blob="00002043 0000ff00");
anmSelect(@nargs=1, @blob="00000000");
anmSetSprite(@nargs=2, @blob="01000000 5c000000");
anmSelect(@nargs=1, @blob="02000000");
wait(@nargs=1, @blob="3c000000");
pushi(@nargs=1, @blob="0a000000");
seti(@mask=0b1, @nargs=1, @blob="04000000");
jmp(@nargs=2, @blob="60020000 00000000");
wait(@nargs=1, @blob="1e000000");
moveRand(@nargs=3, @blob="28000000 04000000 00000041");
playSound(@nargs=1, @blob="22000000");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
circlePos(
@mask=0b111,
@nargs=4,
@blob="00000041 00004041 00f41bc6 00000042",
);
pushi(@nargs=1, @blob="02000000");
seti(@mask=0b1, @nargs=1, @blob="ffd8ffff");
enmCreate(
@mask=0b110,
@nargs=6,
@blob="10000000 52506861 6e746f6d 4d426f73 73000000 00000041 00004041 2c010000 e8030000 02000000",
);
pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
pushf(@nargs=1, @blob="910a0640");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
circlePos(
@mask=0b111,
@nargs=4,
@blob="00000041 00004041 00f41bc6 00000042",
);
enmCreate(
@mask=0b110,
@nargs=6,
@blob="10000000 47506861 6e746f6d 4d426f73 73000000 00000041 00004041 2c010000 e8030000 02000000",
);
pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
pushf(@nargs=1, @blob="910a0640");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
circlePos(
@mask=0b111,
@nargs=4,
@blob="00000041 00004041 00f41bc6 00000042",
);
enmCreate(
@mask=0b110,
@nargs=6,
@blob="10000000 42506861 6e746f6d 4d426f73 73000000 00000041 00004041 2c010000 e8030000 02000000",
);
wait(@nargs=1, @blob="28000000");
deci(@mask=0b1, @nargs=1, @blob="04000000");
jmpNeq(@nargs=2, @blob="a4fdffff 00000000");
call(@nargs=1, @blob="0c000000 4d426f73 73457363 61706500");
jmp(@nargs=2, @blob="2c000000 00000000");
wait(@nargs=1, @blob="e8030000");
pushi(@nargs=1, @blob="01000000");
jmpNeq(@nargs=2, @blob="d8ffffff 00000000");
delete(@blob="");
}
void MBoss2() {
stackAlloc(@nargs=1, @blob="10000000");
setBoss(@nargs=1, @blob="00000000");
anmSelect(@nargs=1, @blob="00000000");
anmSetSprite(@nargs=2, @blob="02000000 aa000000");
anmSelect(@nargs=1, @blob="02000000");
anmSetMain(@nargs=2, @blob="00000000 07000000");
flagSet(@nargs=1, @blob="40000000");
setHurtbox(@nargs=2, @blob="00004042 00004042");
setHitbox(@nargs=2, @blob="00002042 00002042");
lifeSet(@nargs=1, @blob="e02e0000");
pushi(@nargs=1, @blob="01000000");
seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
setInterrupt(
@nargs=4,
@blob="00000000 00000000 36060000 10000000 4d426f73 73457363 61706532 00000000",
);
setChapter(@nargs=1, @blob="07000000");
movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043");
wait(@nargs=1, @blob="46000000");
moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008041");
wait(@nargs=1, @blob="3c000000");
playSound(@nargs=1, @blob="29000000");
fog(@nargs=2, @blob="00002043 0000ff00");
anmSelect(@nargs=1, @blob="00000000");
anmSetSprite(@nargs=2, @blob="01000000 5c000000");
anmSelect(@nargs=1, @blob="02000000");
anmPlay(@nargs=2, @blob="00000000 83000000");
wait(@nargs=1, @blob="3c000000");
wait(@nargs=1, @blob="3c000000");
callAsync(@nargs=1, @blob="0c000000 4d426f73 73325f61 74000000");
callAsync(@nargs=1, @blob="0c000000 4d426f73 73325f61 74320000");
wait(@nargs=1, @blob="3c000000");
jmp(@nargs=2, @blob="d4000000 00000000");
pushi(@mask=0b1, @nargs=1, @blob="26d9ffff");
pushi(@nargs=1, @blob="02000000");
leqi(@blob="");
jmpEq(@nargs=2, @blob="70000000 00000000");
playSound(@nargs=1, @blob="29000000");
anmPlay(@nargs=2, @blob="00000000 83000000");
wait(@nargs=1, @blob="78000000");
jmp(@nargs=2, @blob="04ffffff 00000000");
wait(@nargs=1, @blob="01000000");
pushi(@nargs=1, @blob="01000000");
jmpNeq(@nargs=2, @blob="30ffffff 00000000");
jmp(@nargs=2, @blob="2c000000 00000000");
wait(@nargs=1, @blob="e8030000");
pushi(@nargs=1, @blob="01000000");
jmpNeq(@nargs=2, @blob="d8ffffff 00000000");
delete(@blob="");
}
void MBoss2_at() {
stackAlloc(@nargs=1, @blob="18000000");
pushf(@mask=0b1, @nargs=1, @blob="00141cc6");
setf(@mask=0b1, @nargs=1, @blob="00000000");
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 03000000");
etSprite(@nargs=3, @blob="00000000 03000000 02000000");
etCountD(
@nargs=9,
@blob="00000000 20000000 30000000 30000000 40000000 01000000 01000000 01000000 01000000",
);
etAngle(@mask=0b100, @nargs=3, @blob="00000000 00000000 00000000");
etSpeedD(
@nargs=9,
@blob="00000000 9a99993e 9a99993e 9a99993e 9a99993e 0000803f 0000803f 0000803f 0000803f",
);
etSound(@nargs=3, @blob="00000000 07000000 ffffffff");
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
diffF(
@mask=0b1,
@nargs=5,
@blob="00008040 610b363c 610bb63c 610bb63c 610bb63c",
);
etEx(
@mask=0b1000000,
@nargs=8,
@blob="00000000 01000000 00000000 04000000 5a000000 c1bdf0ff 00008040 f02374c9",
);
diffI(
@mask=0b1,
@nargs=5,
@blob="14000000 0a000000 14000000 1e000000 1e000000",
);
diffF(
@mask=0b1,
@nargs=5,
@blob="00000041 0000f042 00002043 00002043 00002043",
);
diffF(
@mask=0b1,
@nargs=5,
@blob="00008041 0000a041 00008041 00004041 00004041",
);
pushi(@nargs=1, @blob="d0070000");
setf(@mask=0b1, @nargs=1, @blob="00000000");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
setf(@mask=0b1, @nargs=1, @blob="00004041");
jmp(@nargs=2, @blob="f8010000 00000000");
etDist(@mask=0b10, @nargs=2, @blob="00000000 00000041");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
pushf(@mask=0b1, @nargs=1, @blob="00000000");
divf(@blob="");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000");
pushf(@mask=0b1, @nargs=1, @blob="00000000");
pushi(@nargs=1, @blob="0a000000");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000000");
validRad(@mask=0b1, @nargs=1, @blob="00000000");
etOn(@nargs=1, @blob="00000000");
etDist(@mask=0b10, @nargs=2, @blob="01000000 00000041");
etAngle(@mask=0b10, @nargs=3, @blob="01000000 00004041 00000000");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@nargs=1, @blob="9a09863c");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
validRad(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
diffWait(@nargs=4, @blob="08000000 05000000 02000000 02000000");
deci(@mask=0b1, @nargs=1, @blob="14000000");
jmpNeq(@nargs=2, @blob="0cfeffff 00000000");
ret(@blob="");
}
void MBoss2_at2() {
stackAlloc(@nargs=1, @blob="1c000000");
diffI(
@mask=0b1,
@nargs=5,
@blob="14000000 04000000 08000000 08000000 0a000000",
);
diffF(
@mask=0b1,
@nargs=5,
@blob="00004041 0000f042 00002043 00002043 00002043",
);
diffF(
@mask=0b1,
@nargs=5,
@blob="00008041 00000042 00008041 00008041 00008041",
);
jmp(@nargs=2, @blob="d0010000 00000000");
pushi(@nargs=1, @blob="08000000");
seti(@mask=0b1, @nargs=1, @blob="18000000");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
setf(@mask=0b1, @nargs=1, @blob="00000000");
jmp(@nargs=2, @blob="d0000000 00000000");
circlePos(
@mask=0b1111,
@nargs=4,
@blob="00008040 00000041 00000000 00004041",
);
enmCreate(
@mask=0b110,
@nargs=6,
@blob="10000000 42506861 6e746f6d 4d426f73 73320000 00008040 00000041 a0000000 e8030000 02000000",
);
pushf(@mask=0b1, @nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="d80f493f");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000000");
validRad(@mask=0b1, @nargs=1, @blob="00000000");
deci(@mask=0b1, @nargs=1, @blob="18000000");
jmpNeq(@nargs=2, @blob="34ffffff 00000000");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
diffWait(@nargs=4, @blob="0a000000 05000000 05000000 05000000");
deci(@mask=0b1, @nargs=1, @blob="14000000");
jmpNeq(@nargs=2, @blob="34feffff 00000000");
ret(@blob="");
}
void MBossEscape() {
stackAlloc(@nargs=1, @blob="04000000");
setInterrupt(
@nargs=4,
@blob="00000000 ffffffff 00000000 04000000 00000000",
);
setInterrupt(
@nargs=4,
@blob="01000000 ffffffff 00000000 04000000 00000000",
);
spellEnd(@blob="");
moveLimitReset(@blob="");
dropClear(@blob="");
dropExtra(@nargs=2, @blob="01000000 08000000");
dropExtra(@nargs=2, @blob="02000000 0a000000");
dropArea(@nargs=2, @blob="00004042 00004042");
pushi(@mask=0b1, @nargs=1, @blob="fed8ffff");
pushi(@nargs=1, @blob="00000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="7c000000 00000000");
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");
dropItems(@blob="");
playSound(@nargs=1, @blob="0f000000");
lifeSet(@nargs=1, @blob="a0860100");
setBoss(@nargs=1, @blob="ffffffff");
flagSet(@nargs=1, @blob="10000000");
movePosTime(@nargs=4, @blob="3c000000 04000000 00006043 00008042");
+60: // 60
setChapter(@nargs=1, @blob="00000000");
delete(@blob="");
delete(@blob="");
}
void MBossEscape2() {
stackAlloc(@nargs=1, @blob="04000000");
setInterrupt(
@nargs=4,
@blob="00000000 ffffffff 00000000 04000000 00000000",
);
setInterrupt(
@nargs=4,
@blob="01000000 ffffffff 00000000 04000000 00000000",
);
spellEnd(@blob="");
moveLimitReset(@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");
ins_371(@nargs=1, @blob="01000000");
lifeSet(@nargs=1, @blob="a0860100");
setBoss(@nargs=1, @blob="ffffffff");
dropClear(@blob="");
dropExtra(@nargs=2, @blob="01000000 0a000000");
dropExtra(@nargs=2, @blob="02000000 05000000");
dropArea(@nargs=2, @blob="00004042 00004042");
pushi(@mask=0b1, @nargs=1, @blob="fed8ffff");
pushi(@nargs=1, @blob="00000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="7c000000 00000000");
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");
dropItems(@blob="");
playSound(@nargs=1, @blob="0f000000");
wait(@nargs=1, @blob="78000000");
flagSet(@nargs=1, @blob="10000000");
movePosTime(@nargs=4, @blob="3c000000 04000000 000060c3 00008042");
+60: // 60
setChapter(@nargs=1, @blob="00000000");
delete(@blob="");
delete(@blob="");
}
void MainBossDebug() {
stackAlloc(@nargs=1, @blob="00000000");
+60: // 60
dialogRead(@nargs=1, @blob="ffffffff");
dialogWait(@blob="");
enmCreateA(
@nargs=6,
@blob="08000000 426f7373 00000000 000058c3 00008042 28000000 e8030000 01000000",
);
ins_500(@nargs=1, @blob="64000000");
deathWait(@blob="");
+60: // 120
dialogRead(@nargs=1, @blob="01000000");
dialogWait(@blob="");
ret(@blob="");
ret(@blob="");
}
void MainMBossDebug() {
stackAlloc(@nargs=1, @blob="00000000");
enmCreateA(
@nargs=6,
@blob="08000000 4d426f73 73000000 000010c3 000000c2 28000000 10270000 01000000",
);
jmp(@nargs=2, @blob="2c000000 00000000");
wait(@nargs=1, @blob="e8030000");
pushi(@nargs=1, @blob="01000000");
jmpNeq(@nargs=2, @blob="d8ffffff 00000000");
ret(@blob="");
}
void MainMsgDebug() {
stackAlloc(@nargs=1, @blob="00000000");
ins_500(@nargs=1, @blob="64000000");
+120: // 120
dialogRead(@nargs=1, @blob="01000000");
dialogWait(@blob="");
+1: // 121
dialogWait(@blob="");
+60: // 181
dialogRead(@nargs=1, @blob="01000000");
dialogWait(@blob="");
jmp(@nargs=2, @blob="28000000 55100000");
+4000: // 4181
nop(@blob="");
pushi(@nargs=1, @blob="01000000");
jmpNeq(@nargs=2, @blob="dcffffff b5000000");
ret(@blob="");
}
void MainSub00() {
stackAlloc(@nargs=1, @blob="04000000");
pushi(@nargs=1, @blob="06000000");
seti(@mask=0b1, @nargs=1, @blob="00000000");
jmp(@nargs=2, @blob="58010000 00000000");
pushi(@nargs=1, @blob="20000000");
pushi(@mask=0b1, @nargs=1, @blob="00000000");
pushi(@nargs=1, @blob="20000000");
muli(@blob="");
addi(@blob="");
enmCreate(
@mask=0b100,
@nargs=6,
@blob="08000000 52436972 30300000 000080c2 000080bf 64000000 e8030000 02000000",
);
wait(@nargs=1, @blob="05000000");
pushi(@nargs=1, @blob="20000000");
pushi(@mask=0b1, @nargs=1, @blob="00000000");
pushi(@nargs=1, @blob="20000000");
muli(@blob="");
addi(@blob="");
enmCreate(
@mask=0b100,
@nargs=6,
@blob="08000000 52436972 30300000 000080c3 000080bf 64000000 e8030000 02000000",
);
wait(@nargs=1, @blob="05000000");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="acfeffff 00000000");
ret(@blob="");
}
void MainSub00b() {
stackAlloc(@nargs=1, @blob="04000000");
pushi(@nargs=1, @blob="06000000");
seti(@mask=0b1, @nargs=1, @blob="00000000");
jmp(@nargs=2, @blob="58010000 00000000");
pushi(@nargs=1, @blob="20000000");
pushi(@mask=0b1, @nargs=1, @blob="00000000");
pushi(@nargs=1, @blob="20000000");
muli(@blob="");
addi(@blob="");
enmCreateM(
@mask=0b100,
@nargs=6,
@blob="08000000 52436972 30300000 00008042 000080bf 64000000 e8030000 02000000",
);
wait(@nargs=1, @blob="05000000");
pushi(@nargs=1, @blob="20000000");
pushi(@mask=0b1, @nargs=1, @blob="00000000");
pushi(@nargs=1, @blob="20000000");
muli(@blob="");
addi(@blob="");
enmCreateM(
@mask=0b100,
@nargs=6,
@blob="08000000 52436972 30300000 00008043 000080bf 64000000 e8030000 02000000",
);
wait(@nargs=1, @blob="05000000");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="acfeffff 00000000");
ret(@blob="");
}
void MainSub01() {
stackAlloc(@nargs=1, @blob="00000000");
wait(@nargs=1, @blob="78000000");
enmCreateA(
@nargs=6,
@blob="08000000 4d426f73 73000000 000060c3 00008042 2c010000 e8030000 02000000",
);
ret(@blob="");
}
void MainSub01b() {
stackAlloc(@nargs=1, @blob="00000000");
wait(@nargs=1, @blob="3c000000");
enmCreateA(
@nargs=6,
@blob="08000000 4d426f73 73320000 00006043 00008042 2c010000 e8030000 02000000",
);
ret(@blob="");
}
void MainSub02() {
stackAlloc(@nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
enmCreateA(
@nargs=6,
@blob="08000000 52476972 6c303000 000060c3 00008042 f4010000 e8030000 02000000",
);
enmCreateAM(
@nargs=6,
@blob="08000000 52476972 6c303000 00006043 00008042 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="f0000000");
enmCreateA(
@nargs=6,
@blob="08000000 52476972 6c303000 000060c3 00000043 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateAM(
@nargs=6,
@blob="08000000 52476972 6c303000 00006043 00000043 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateA(
@nargs=6,
@blob="08000000 52476972 6c303000 000060c3 00000043 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateAM(
@nargs=6,
@blob="08000000 52476972 6c303000 00006043 00000043 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateA(
@nargs=6,
@blob="08000000 52476972 6c303000 000060c3 00000043 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateAM(
@nargs=6,
@blob="08000000 52476972 6c303000 00006043 00000043 f4010000 e8030000 02000000",
);
ret(@blob="");
}
void MainSub02b() {
stackAlloc(@nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
enmCreateA(
@nargs=6,
@blob="0c000000 52476972 6c303062 00000000 000060c3 00008042 f4010000 e8030000 02000000",
);
enmCreateAM(
@nargs=6,
@blob="0c000000 52476972 6c303062 00000000 00006043 00008042 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="f0000000");
enmCreateA(
@nargs=6,
@blob="0c000000 52476972 6c303062 00000000 000060c3 00000043 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateAM(
@nargs=6,
@blob="0c000000 52476972 6c303062 00000000 00006043 00000043 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateA(
@nargs=6,
@blob="0c000000 52476972 6c303062 00000000 000060c3 00000043 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateAM(
@nargs=6,
@blob="0c000000 52476972 6c303062 00000000 00006043 00000043 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateA(
@nargs=6,
@blob="0c000000 52476972 6c303062 00000000 000060c3 00000043 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateAM(
@nargs=6,
@blob="0c000000 52476972 6c303062 00000000 00006043 00000043 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateA(
@nargs=6,
@blob="0c000000 52476972 6c303062 00000000 000060c3 00000043 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateAM(
@nargs=6,
@blob="0c000000 52476972 6c303062 00000000 00006043 00000043 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateA(
@nargs=6,
@blob="0c000000 52476972 6c303062 00000000 000060c3 00000043 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateAM(
@nargs=6,
@blob="0c000000 52476972 6c303062 00000000 00006043 00000043 f4010000 e8030000 02000000",
);
ret(@blob="");
}
void MainSub03() {
stackAlloc(@nargs=1, @blob="00000000");
wait(@nargs=1, @blob="c8000000");
enmCreateA(
@nargs=6,
@blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000",
);
wait(@nargs=1, @blob="3c000000");
enmCreateAM(
@nargs=6,
@blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000",
);
wait(@nargs=1, @blob="3c000000");
enmCreateA(
@nargs=6,
@blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000",
);
wait(@nargs=1, @blob="3c000000");
enmCreateAM(
@nargs=6,
@blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000",
);
wait(@nargs=1, @blob="3c000000");
enmCreateA(
@nargs=6,
@blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000",
);
wait(@nargs=1, @blob="3c000000");
enmCreateAM(
@nargs=6,
@blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000",
);
wait(@nargs=1, @blob="3c000000");
enmCreateA(
@nargs=6,
@blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000",
);
wait(@nargs=1, @blob="3c000000");
enmCreateAM(
@nargs=6,
@blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000",
);
wait(@nargs=1, @blob="3c000000");
enmCreateA(
@nargs=6,
@blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000",
);
wait(@nargs=1, @blob="3c000000");
enmCreateAM(
@nargs=6,
@blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000",
);
wait(@nargs=1, @blob="3c000000");
enmCreateA(
@nargs=6,
@blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000",
);
wait(@nargs=1, @blob="3c000000");
enmCreateAM(
@nargs=6,
@blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000",
);
wait(@nargs=1, @blob="3c000000");
enmCreateA(
@nargs=6,
@blob="08000000 42476972 6c303100 00000000 000000c2 2c010000 e8030000 02000000",
);
wait(@nargs=1, @blob="3c000000");
ret(@blob="");
}
void MainSub03b() {
stackAlloc(@nargs=1, @blob="04000000");
pushi(@nargs=1, @blob="09000000");
seti(@mask=0b1, @nargs=1, @blob="00000000");
wait(@nargs=1, @blob="c8000000");
jmp(@nargs=2, @blob="00040000 00000000");
enmCreateA(
@nargs=6,
@blob="0c000000 42476972 6c303162 00000000 00000043 000000c2 32000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateA(
@nargs=6,
@blob="0c000000 42476972 6c303162 00000000 00000043 000000c2 32000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateA(
@nargs=6,
@blob="0c000000 42476972 6c303162 00000000 00000043 000000c2 32000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateA(
@nargs=6,
@blob="0c000000 52476972 6c303162 00000000 00000043 000000c2 32000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateA(
@nargs=6,
@blob="0c000000 52476972 6c303162 00000000 00000043 000000c2 32000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateA(
@nargs=6,
@blob="0c000000 42476972 6c303162 00000000 00000043 000000c2 32000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateAM(
@nargs=6,
@blob="0c000000 42476972 6c303162 00000000 000000c3 000000c2 32000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateAM(
@nargs=6,
@blob="0c000000 42476972 6c303162 00000000 000000c3 000000c2 32000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateAM(
@nargs=6,
@blob="0c000000 42476972 6c303162 00000000 000000c3 000000c2 32000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateAM(
@nargs=6,
@blob="0c000000 52476972 6c303162 00000000 000000c3 000000c2 32000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateAM(
@nargs=6,
@blob="0c000000 52476972 6c303162 00000000 000000c3 000000c2 32000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateAM(
@nargs=6,
@blob="0c000000 42476972 6c303162 00000000 000000c3 000000c2 32000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
pushi(@mask=0b1, @nargs=1, @blob="00000000");
pushi(@nargs=1, @blob="03000000");
modi(@blob="");
pushi(@nargs=1, @blob="02000000");
eqi(@blob="");
jmpEq(@nargs=2, @blob="2c000000 00000000");
wait(@nargs=1, @blob="3c000000");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="04fcffff 00000000");
ret(@blob="");
}
void MainSub04() {
stackAlloc(@nargs=1, @blob="00000000");
enmCreateA(
@nargs=6,
@blob="08000000 42436972 30310000 000020c3 000000c2 64000000 e8030000 02000000",
);
enmCreateAM(
@nargs=6,
@blob="08000000 52436972 30310000 00002043 000000c2 64000000 e8030000 02000000",
);
wait(@nargs=1, @blob="14000000");
enmCreateA(
@nargs=6,
@blob="08000000 42436972 30310000 000020c3 000000c2 64000000 e8030000 02000000",
);
enmCreateAM(
@nargs=6,
@blob="08000000 52436972 30310000 00002043 000000c2 64000000 e8030000 02000000",
);
wait(@nargs=1, @blob="14000000");
enmCreateA(
@nargs=6,
@blob="08000000 42436972 30310000 000020c3 000000c2 64000000 e8030000 02000000",
);
enmCreateAM(
@nargs=6,
@blob="08000000 52436972 30310000 00002043 000000c2 64000000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateA(
@nargs=6,
@blob="08000000 42436972 30316200 000070c2 000000c2 64000000 e8030000 02000000",
);
enmCreateAM(
@nargs=6,
@blob="08000000 52436972 30316200 00007042 000000c2 64000000 e8030000 02000000",
);
wait(@nargs=1, @blob="14000000");
enmCreateA(
@nargs=6,
@blob="08000000 42436972 30316200 000070c2 000000c2 64000000 e8030000 02000000",
);
enmCreateAM(
@nargs=6,
@blob="08000000 52436972 30316200 00007042 000000c2 64000000 e8030000 02000000",
);
wait(@nargs=1, @blob="14000000");
enmCreateA(
@nargs=6,
@blob="08000000 42436972 30316200 000070c2 000000c2 64000000 e8030000 02000000",
);
enmCreateAM(
@nargs=6,
@blob="08000000 52436972 30316200 00007042 000000c2 64000000 e8030000 02000000",
);
wait(@nargs=1, @blob="78000000");
enmCreateA(
@nargs=6,
@blob="08000000 42436972 30310000 000020c3 000000c2 64000000 e8030000 02000000",
);
enmCreateAM(
@nargs=6,
@blob="08000000 52436972 30310000 00002043 000000c2 64000000 e8030000 02000000",
);
wait(@nargs=1, @blob="14000000");
enmCreateA(
@nargs=6,
@blob="08000000 42436972 30310000 000020c3 000000c2 64000000 e8030000 02000000",
);
enmCreateAM(
@nargs=6,
@blob="08000000 52436972 30310000 00002043 000000c2 64000000 e8030000 02000000",
);
wait(@nargs=1, @blob="14000000");
enmCreateA(
@nargs=6,
@blob="08000000 42436972 30310000 000020c3 000000c2 64000000 e8030000 02000000",
);
enmCreateAM(
@nargs=6,
@blob="08000000 52436972 30310000 00002043 000000c2 64000000 e8030000 02000000",
);
ret(@blob="");
}
void MainSub05() {
stackAlloc(@nargs=1, @blob="04000000");
pushi(@nargs=1, @blob="02000000");
seti(@mask=0b1, @nargs=1, @blob="00000000");
wait(@nargs=1, @blob="58020000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
jmp(@nargs=2, @blob="90050000 00000000");
wait(@nargs=1, @blob="78000000");
enmCreateMF(
@nargs=6,
@blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateMF(
@nargs=6,
@blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateMF(
@nargs=6,
@blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateMF(
@nargs=6,
@blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateMF(
@nargs=6,
@blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateMF(
@nargs=6,
@blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateMF(
@nargs=6,
@blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateMF(
@nargs=6,
@blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateMF(
@nargs=6,
@blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateMF(
@nargs=6,
@blob="08000000 47436972 30320000 00006043 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
wait(@nargs=1, @blob="78000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
enmCreateF(
@nargs=6,
@blob="08000000 47436972 30320000 000060c3 00004043 28000000 e8030000 02000000",
);
wait(@nargs=1, @blob="0a000000");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="74faffff 00000000");
ret(@blob="");
}
void MainSub06() {
stackAlloc(@nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
enmCreateA(
@nargs=6,
@blob="08000000 52476972 6c303200 000060c3 0000c042 f4010000 e8030000 02000000",
);
enmCreateAM(
@nargs=6,
@blob="08000000 52476972 6c303200 00006043 0000c042 f4010000 e8030000 02000000",
);
ret(@blob="");
}
void MainSub06b() {
stackAlloc(@nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
enmCreateA(
@nargs=6,
@blob="08000000 52476972 6c303200 000060c3 0000c042 f4010000 e8030000 02000000",
);
enmCreateAM(
@nargs=6,
@blob="08000000 52476972 6c303200 00006043 0000c042 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="b4000000");
enmCreateA(
@nargs=6,
@blob="08000000 52476972 6c303200 000060c3 00000043 f4010000 e8030000 02000000",
);
enmCreateAM(
@nargs=6,
@blob="08000000 52476972 6c303200 00006043 00000043 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="b4000000");
enmCreateA(
@nargs=6,
@blob="08000000 52476972 6c303200 000060c3 0000c042 f4010000 e8030000 02000000",
);
enmCreateAM(
@nargs=6,
@blob="08000000 52476972 6c303200 00006043 0000c042 f4010000 e8030000 02000000",
);
wait(@nargs=1, @blob="68010000");
enmCreateA(
@nargs=6,
@blob="08000000 52476972 6c303300 00000000 000000c2 b80b0000 e8030000 02000000",
);
ret(@blob="");
}
void MapleEnemy() {
stackAlloc(@nargs=1, @blob="04000000");
flagSet(@nargs=1, @blob="20000000");
anmPlayAbs(@nargs=2, @blob="00000000 ad000000");
+3: // 3
jmp(@nargs=2, @blob="e8ffffff 00000000");
delete(@blob="");
}
void MapleEnemy2() {
stackAlloc(@nargs=1, @blob="04000000");
flagSet(@nargs=1, @blob="20000000");
anmPlayAbs(@nargs=2, @blob="00000000 ac000000");
+3: // 3
jmp(@nargs=2, @blob="e8ffffff 00000000");
delete(@blob="");
}
void PCir00() {
stackAlloc(@nargs=1, @blob="04000000");
call(
@nargs=4,
@blob="08000000 43697230 30000000 69690000 5a000000 69690000 30000000 69690000 01000000",
);
delete(@blob="");
}
void PCir01() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 30000000");
call(
@nargs=3,
@blob="08000000 43697230 31000000 69690000 4e000000 69690000 01000000",
);
delete(@blob="");
}
void PCir01b() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 30000000");
call(
@nargs=3,
@blob="08000000 43697230 31620000 69690000 4e000000 69690000 01000000",
);
delete(@blob="");
}
void PCir02() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 30000000");
call(
@nargs=3,
@blob="08000000 43697230 32000000 69690000 4e000000 69690000 01000000",
);
delete(@blob="");
}
void PCir03() {
stackAlloc(@nargs=1, @blob="04000000");
call(
@nargs=4,
@blob="08000000 43697230 33000000 69690000 5a000000 69690000 30000000 69690000 01000000",
);
delete(@blob="");
}
void PhantomMBoss() {
stackAlloc(@nargs=1, @blob="08000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000");
flagSet(@nargs=1, @blob="03000000");
unknown370(@nargs=1, @blob="01000000");
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
setHitbox(@nargs=2, @blob="00008041 00008041");
wait(@nargs=1, @blob="0c000000");
flagSet(@nargs=1, @blob="40000000");
flagClear(@nargs=1, @blob="03000000");
callAsync(@nargs=1, @blob="10000000 5068616e 746f6d4d 426f7373 5f617400");
moveVel(@mask=0b1, @nargs=2, @blob="00f41bc6 00000000");
moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 cdccccbd");
+400: // 400
delete(@blob="");
ret(@blob="");
}
void PhantomMBoss2() {
stackAlloc(@nargs=1, @blob="08000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@mask=0b10, @nargs=2, @blob="00000000 00000000");
flagSet(@nargs=1, @blob="03000000");
unknown370(@nargs=1, @blob="01000000");
setHurtbox(@nargs=2, @blob="0000c041 0000c041");
setHitbox(@nargs=2, @blob="00008041 00008041");
wait(@nargs=1, @blob="0c000000");
flagSet(@nargs=1, @blob="40000000");
flagClear(@nargs=1, @blob="03000000");
+400: // 400
nop(@blob="");
unknown369(@nargs=1, @blob="01000000");
+60: // 460
nop(@blob="");
call(
@nargs=1,
@blob="14000000 5068616e 746f6d4d 426f7373 325f6174 00000000",
);
delete(@blob="");
ret(@blob="");
}
void PhantomMBoss2_at() {
stackAlloc(@nargs=1, @blob="0c000000");
pushf(@mask=0b1, @nargs=1, @blob="00141cc6");
setf(@mask=0b1, @nargs=1, @blob="00000000");
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 01000000");
etSprite(@nargs=3, @blob="00000000 02000000 06000000");
etCountD(
@nargs=9,
@blob="00000000 03000000 03000000 05000000 06000000 01000000 01000000 01000000 01000000",
);
pushf(@mask=0b1, @nargs=1, @blob="00141cc6");
pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
pushi(@nargs=1, @blob="03000000");
divf(@blob="");
addf(@blob="");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf db0fc93e");
etSpeed(@nargs=3, @blob="00000000 00004040 0000803f");
etSound(@nargs=3, @blob="00000000 07000000 ffffffff");
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
diffF(
@mask=0b1,
@nargs=5,
@blob="00008040 610b36bc 610b36bc 610b36bc 610bb6bb",
);
etEx(
@mask=0b1000000,
@nargs=8,
@blob="00000000 01000000 00000000 04000000 5a000000 c1bdf0ff 00008040 f02374c9",
);
etOn(@nargs=1, @blob="00000000");
ret(@blob="");
}
void PhantomMBoss_at() {
stackAlloc(@nargs=1, @blob="0c000000");
pushf(@mask=0b1, @nargs=1, @blob="00141cc6");
setf(@mask=0b1, @nargs=1, @blob="00000000");
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 03000000");
etSprite(@mask=0b100, @nargs=3, @blob="00000000 02000000 ffd8ffff");
etCount(@nargs=3, @blob="00000000 08000000 01000000");
etAngle(@mask=0b100, @nargs=3, @blob="00000000 00000000 00000000");
etSpeed(@nargs=3, @blob="00000000 0000003f 0000803f");
etSound(@nargs=3, @blob="00000000 07000000 ffffffff");
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
diffF(
@mask=0b1,
@nargs=5,
@blob="00008040 8988883c 610bb63c 8fc2f53c b4a2113d",
);
etEx(
@mask=0b1000000,
@nargs=8,
@blob="00000000 01000000 00000000 04000000 5a000000 c1bdf0ff 00008040 f02374c9",
);
etDist(@nargs=2, @blob="00000000 00000042");
diffI(
@mask=0b1,
@nargs=5,
@blob="08000000 03000000 07000000 0c000000 0f000000",
);
jmp(@nargs=2, @blob="c8000000 00000000");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 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");
etOn(@nargs=1, @blob="00000000");
diffWait(@nargs=4, @blob="5a000000 2d000000 1c000000 0f000000");
deci(@mask=0b1, @nargs=1, @blob="08000000");
jmpNeq(@nargs=2, @blob="3cffffff 00000000");
ret(@blob="");
}
void RCir00() {
stackAlloc(@nargs=1, @blob="04000000");
dropMain(@nargs=1, @blob="01000000");
call(
@nargs=4,
@blob="08000000 43697230 30000000 69690000 51000000 69690000 2e000000 69690000 01000000",
);
delete(@blob="");
}
void RCir00_at() {
stackAlloc(@nargs=1, @blob="0c000000");
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 02000000");
etSprite(@nargs=3, @blob="00000000 02000000 06000000");
etCountD(
@nargs=9,
@blob="00000000 04000000 04000000 04000000 08000000 01000000 01000000 01000000 01000000",
);
etAngle(@nargs=3, @blob="00000000 00000000 5077563d");
etSpeedD(
@nargs=9,
@blob="00000000 0000803f 0000803f 0000803f 0000803f 0000803f 0000803f 0000803f 0000803f",
);
etSound(@nargs=3, @blob="00000000 07000000 ffffffff");
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
diffF(
@mask=0b1,
@nargs=5,
@blob="00008040 8988083d 8988083d 8988083d 398e633d",
);
etEx(
@mask=0b1000000,
@nargs=8,
@blob="00000000 01000000 00000000 04000000 5a000000 c1bdf0ff 00008040 f02374c9",
);
etNew(@nargs=1, @blob="01000000");
etAim(@nargs=2, @blob="01000000 00000000");
etSprite(@nargs=3, @blob="01000000 02000000 06000000");
etCount(@nargs=3, @blob="01000000 03000000 01000000");
etAngle(@nargs=3, @blob="01000000 00000000 db0fc93e");
etSpeed(@nargs=3, @blob="01000000 0000803f 0000803f");
etSound(@nargs=3, @blob="00000000 07000000 ffffffff");
etEx(
@nargs=8,
@blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@mask=0b1000000,
@nargs=8,
@blob="01000000 01000000 00000000 04000000 5a000000 c1bdf0ff 00008040 f02374c9",
);
diffI(
@mask=0b1,
@nargs=5,
@blob="08000000 03000000 0a000000 14000000 14000000",
);
jmp(@nargs=2, @blob="4c000000 00000000");
etOn(@nargs=1, @blob="00000000");
diffWait(@nargs=4, @blob="3c000000 1e000000 0f000000 0f000000");
deci(@mask=0b1, @nargs=1, @blob="08000000");
jmpNeq(@nargs=2, @blob="b8ffffff 00000000");
ret(@blob="");
}
void RCir01() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
dropMain(@nargs=1, @blob="02000000");
call(
@nargs=3,
@blob="08000000 43697230 31000000 69690000 45000000 69690000 01000000",
);
delete(@blob="");
}
void RCir01_at() {
stackAlloc(@nargs=1, @blob="0c000000");
diffF(
@mask=0b1,
@nargs=5,
@blob="00008040 0000c040 0000c040 00000041 00000041",
);
etEx(
@nargs=8,
@blob="00000000 00000000 00000000 04000000 3c000000 c1bdf0ff bcbbbbbd f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 01000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff abaa2a3d f02374c9",
);
etSound(@nargs=3, @blob="00000000 10000000 ffffffff");
diffI(
@mask=0b1,
@nargs=5,
@blob="08000000 0c000000 20000000 34000000 50000000",
);
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00000000");
jmp(@nargs=2, @blob="d4020000 00000000");
laserOn3(
@mask=0b1100,
@nargs=8,
@blob="03000000 02000000 00000000 00008040 00000000 00000043 00000044 00004041",
);
pushf(@mask=0b1, @nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="960a863f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000000");
laserOn3(
@mask=0b1100,
@nargs=8,
@blob="03000000 02000000 00000000 00008040 00000000 00000043 00000044 00004041",
);
pushf(@mask=0b1, @nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="960a863f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000000");
laserOn3(
@mask=0b1100,
@nargs=8,
@blob="03000000 02000000 00000000 00008040 00000000 00000043 00000044 00004041",
);
pushf(@mask=0b1, @nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="960a863f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000000");
laserOn3(
@mask=0b1100,
@nargs=8,
@blob="03000000 02000000 00000000 00008040 00000000 00000043 00000044 00004041",
);
pushf(@mask=0b1, @nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="960a863f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000000");
laserOn3(
@mask=0b1100,
@nargs=8,
@blob="03000000 02000000 00000000 00008040 00000000 00000043 00000044 00004041",
);
pushf(@mask=0b1, @nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="960a863f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000000");
laserOn3(
@mask=0b1100,
@nargs=8,
@blob="03000000 02000000 00000000 00008040 00000000 00000043 00000044 00004041",
);
diffWait(@nargs=4, @blob="0f000000 0a000000 07000000 05000000");
deci(@mask=0b1, @nargs=1, @blob="08000000");
jmpNeq(@nargs=2, @blob="30fdffff 00000000");
ret(@blob="");
}
void RCir01b() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
dropMain(@nargs=1, @blob="02000000");
call(
@nargs=3,
@blob="08000000 43697230 31620000 69690000 45000000 69690000 01000000",
);
delete(@blob="");
}
void RCir01b_at() {
stackAlloc(@nargs=1, @blob="0c000000");
diffF(
@mask=0b1,
@nargs=5,
@blob="00008040 0000c040 0000c040 00000041 00000041",
);
etEx(
@nargs=8,
@blob="00000000 00000000 00000000 04000000 3c000000 c1bdf0ff bcbbbbbd f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 01000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 02000000 00000000 04000000 3c000000 c1bdf0ff abaa2a3d f02374c9",
);
etSound(@nargs=3, @blob="00000000 10000000 ffffffff");
diffI(
@mask=0b1,
@nargs=5,
@blob="08000000 0c000000 20000000 34000000 50000000",
);
pushf(@nargs=1, @blob="d80fc93f");
setf(@mask=0b1, @nargs=1, @blob="00000000");
jmp(@nargs=2, @blob="d4020000 00000000");
laserOn3(
@mask=0b1100,
@nargs=8,
@blob="03000000 06000000 00000000 00008040 00000000 00000043 00000044 00004041",
);
pushf(@mask=0b1, @nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="960a863f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000000");
laserOn3(
@mask=0b1100,
@nargs=8,
@blob="03000000 06000000 00000000 00008040 00000000 00000043 00000044 00004041",
);
pushf(@mask=0b1, @nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="960a863f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000000");
laserOn3(
@mask=0b1100,
@nargs=8,
@blob="03000000 06000000 00000000 00008040 00000000 00000043 00000044 00004041",
);
pushf(@mask=0b1, @nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="960a863f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000000");
laserOn3(
@mask=0b1100,
@nargs=8,
@blob="03000000 06000000 00000000 00008040 00000000 00000043 00000044 00004041",
);
pushf(@mask=0b1, @nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="960a863f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000000");
laserOn3(
@mask=0b1100,
@nargs=8,
@blob="03000000 06000000 00000000 00008040 00000000 00000043 00000044 00004041",
);
pushf(@mask=0b1, @nargs=1, @blob="00000000");
pushf(@nargs=1, @blob="960a863f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000000");
laserOn3(
@mask=0b1100,
@nargs=8,
@blob="03000000 06000000 00000000 00008040 00000000 00000043 00000044 00004041",
);
diffWait(@nargs=4, @blob="0f000000 0a000000 07000000 05000000");
deci(@mask=0b1, @nargs=1, @blob="08000000");
jmpNeq(@nargs=2, @blob="30fdffff 00000000");
ret(@blob="");
}
void RCir02() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
dropMain(@nargs=1, @blob="01000000");
call(
@nargs=3,
@blob="08000000 43697230 32000000 69690000 45000000 69690000 01000000",
);
delete(@blob="");
}
void RCir02_at() {
stackAlloc(@nargs=1, @blob="08000000");
diffI(
@mask=0b1,
@nargs=5,
@blob="00000000 03000000 08000000 0a000000 0a000000",
);
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 00000000");
etSprite(@nargs=3, @blob="00000000 0c000000 05000000");
etCountD(
@nargs=9,
@blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 02000000 02000000",
);
etAngle(@nargs=3, @blob="00000000 00000000 920a863f");
etSpeedD(
@nargs=9,
@blob="00000000 cdcccc3f 00000040 66668640 66668640 00000040 00000040 00000040 00000040",
);
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
wait(@nargs=1, @blob="1e000000");
diffF(
@mask=0b1,
@nargs=5,
@blob="00008040 00000040 00000040 00008040 00000040",
);
jmp(@nargs=2, @blob="a8000000 00000000");
etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00008040 00000040");
pushf(@mask=0b1, @nargs=1, @blob="00008040");
pushf(@nargs=1, @blob="9a99193f");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00008040");
etOn(@nargs=1, @blob="00000000");
wait(@nargs=1, @blob="0a000000");
deci(@mask=0b1, @nargs=1, @blob="00000000");
jmpNeq(@nargs=2, @blob="5cffffff 00000000");
ret(@blob="");
}
void RCir03() {
stackAlloc(@nargs=1, @blob="04000000");
dropMain(@nargs=1, @blob="01000000");
call(
@nargs=4,
@blob="08000000 43697230 33000000 69690000 51000000 69690000 2e000000 69690000 01000000",
);
delete(@blob="");
}
void RCir03_at() {
stackAlloc(@nargs=1, @blob="10000000");
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 02000000");
etSprite(@nargs=3, @blob="00000000 02000000 06000000");
etCount(@nargs=3, @blob="00000000 04000000 01000000");
etAngle(@nargs=3, @blob="00000000 00000000 5077563d");
etSpeed(@nargs=3, @blob="00000000 0000803f 0000803f");
etSound(@nargs=3, @blob="00000000 07000000 ffffffff");
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 01000000 00000000 04000000 5a000000 c1bdf0ff 8988083d f02374c9",
);
pushi(@nargs=1, @blob="0a000000");
seti(@mask=0b1, @nargs=1, @blob="0c000000");
jmp(@nargs=2, @blob="40000000 00000000");
etOn(@nargs=1, @blob="00000000");
wait(@nargs=1, @blob="1e000000");
deci(@mask=0b1, @nargs=1, @blob="0c000000");
jmpNeq(@nargs=2, @blob="c4ffffff 00000000");
ret(@blob="");
}
void RGirl00() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
dropMain(@nargs=1, @blob="02000000");
call(
@nargs=3,
@blob="08000000 4769726c 30300000 69690000 28000000 69690000 01000000",
);
delete(@blob="");
}
void RGirl00_at() {
stackAlloc(@nargs=1, @blob="10000000");
diffI(
@mask=0b1,
@nargs=5,
@blob="04000000 04000000 08000000 08000000 0c000000",
);
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 00000000");
etSprite(@nargs=3, @blob="00000000 06000000 06000000");
etCountD(
@nargs=9,
@blob="00000000 03000000 03000000 03000000 05000000 01000000 01000000 01000000 01000000",
);
etAngle(@nargs=3, @blob="00000000 00000000 920a863f");
etSpeedD(
@nargs=9,
@blob="00000000 cdcccc3f 00000040 cdcc0c40 cdcc0c40 00000040 00000040 00000040 00000040",
);
{"34567"}: etAngle(@nargs=3, @blob="00000000 00000000 fac8653f");
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 01000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9",
);
diffF(
@mask=0b1,
@nargs=5,
@blob="00004041 a6922b3c a692ab3b fc0f933b fdad803b",
);
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushi(@mask=0b1, @nargs=1, @blob="04000000");
mulf(@blob="");
pushi(@nargs=1, @blob="02000000");
divf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
pushi(@mask=0b1, @nargs=1, @blob="04000000");
pushi(@nargs=1, @blob="01000000");
addi(@blob="");
seti(@mask=0b1, @nargs=1, @blob="04000000");
jmp(@nargs=2, @blob="c4010000 00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 00000041",
);
etOn(@nargs=1, @blob="00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 4260e5bb 00000041",
);
etOn(@nargs=1, @blob="00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff cdcc4cbd 00000041",
);
etOn(@nargs=1, @blob="00000000");
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
pushi(@nargs=1, @blob="02000000");
geqi(@blob="");
jmpEq(@nargs=2, @blob="5c000000 00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 0ad723bc 00000041",
);
etOn(@nargs=1, @blob="00000000");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
deci(@mask=0b1, @nargs=1, @blob="04000000");
jmpNeq(@nargs=2, @blob="40feffff 00000000");
ret(@blob="");
}
void RGirl00b() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
dropMain(@nargs=1, @blob="02000000");
call(
@nargs=3,
@blob="08000000 4769726c 30306200 69690000 28000000 69690000 01000000",
);
delete(@blob="");
}
void RGirl00b_at() {
stackAlloc(@nargs=1, @blob="10000000");
diffI(
@mask=0b1,
@nargs=5,
@blob="04000000 04000000 08000000 0a000000 08000000",
);
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 01000000");
etSprite(@nargs=3, @blob="00000000 06000000 0a000000");
etCountD(
@nargs=9,
@blob="00000000 03000000 03000000 03000000 06000000 01000000 01000000 01000000 01000000",
);
etAngle(@nargs=3, @blob="00000000 db0fc93f 920a863f");
etSpeedD(
@nargs=9,
@blob="00000000 cdcccc3f 00000040 cdcc0c40 00000040 00000040 00000040 00000040 00000040",
);
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 01000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9",
);
diffF(
@mask=0b1,
@nargs=5,
@blob="00004041 a6922b3c a692ab3b fc0f933b a692ab3b",
);
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushi(@mask=0b1, @nargs=1, @blob="04000000");
mulf(@blob="");
pushi(@nargs=1, @blob="02000000");
divf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
pushi(@mask=0b1, @nargs=1, @blob="04000000");
pushi(@nargs=1, @blob="01000000");
addi(@blob="");
seti(@mask=0b1, @nargs=1, @blob="04000000");
jmp(@nargs=2, @blob="30010000 00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 00000041",
);
etOn(@nargs=1, @blob="00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 4260e5bb 00000041",
);
etOn(@nargs=1, @blob="00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff cdcc4cbd 00000041",
);
etOn(@nargs=1, @blob="00000000");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
deci(@mask=0b1, @nargs=1, @blob="04000000");
jmpNeq(@nargs=2, @blob="d4feffff 00000000");
ret(@blob="");
}
void RGirl01() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
dropMain(@nargs=1, @blob="01000000");
call(
@nargs=3,
@blob="08000000 4769726c 30310000 69690000 05000000 69690000 01000000",
);
delete(@blob="");
}
void RGirl01_at() {
stackAlloc(@nargs=1, @blob="0c000000");
diffI(
@mask=0b1,
@nargs=5,
@blob="04000000 01000000 04000000 0a000000 0c000000",
);
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 01000000");
etSprite(@nargs=3, @blob="00000000 0c000000 03000000");
etCountD(
@nargs=9,
@blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 02000000 01000000",
);
etAngle(@mask=0b10, @nargs=3, @blob="00000000 00141cc6 c2b8b23e");
etSpeedD(
@nargs=9,
@blob="00000000 0000803f 0000803f 66668640 66668640 00000040 00000040 00000040 00000040",
);
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
wait(@nargs=1, @blob="1e000000");
diffF(
@mask=0b1,
@nargs=5,
@blob="00000041 0000803f 0000803f 00000040 0000803f",
);
jmp(@nargs=2, @blob="a8000000 00000000");
etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00000041 0000803f");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="cdcc4c3e");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
etOn(@nargs=1, @blob="00000000");
wait(@nargs=1, @blob="0a000000");
deci(@mask=0b1, @nargs=1, @blob="04000000");
jmpNeq(@nargs=2, @blob="5cffffff 00000000");
ret(@blob="");
}
void RGirl01b() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
dropMain(@nargs=1, @blob="01000000");
call(
@nargs=3,
@blob="08000000 4769726c 30316200 69690000 05000000 69690000 01000000",
);
delete(@blob="");
}
void RGirl01b_at() {
stackAlloc(@nargs=1, @blob="0c000000");
diffI(
@mask=0b1,
@nargs=5,
@blob="04000000 01000000 04000000 0a000000 14000000",
);
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 00000000");
etSprite(@nargs=3, @blob="00000000 0c000000 03000000");
etCountD(
@nargs=9,
@blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000",
);
etAngle(@nargs=3, @blob="00000000 00000000 920a863f");
etSpeedD(
@nargs=9,
@blob="00000000 cdcccc3f 00004040 66668640 66668640 00000040 00000040 00000040 00000040",
);
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
wait(@nargs=1, @blob="1e000000");
diffF(
@mask=0b1,
@nargs=5,
@blob="00000041 00004040 00004040 00006040 00008040",
);
jmp(@nargs=2, @blob="b4000000 00000000");
etSpeed(@mask=0b10, @nargs=3, @blob="00000000 00000041 00000000");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@nargs=1, @blob="cdcc4c3e");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
etOn(@nargs=1, @blob="00000000");
diffWait(@nargs=4, @blob="1e000000 1e000000 1e000000 0f000000");
deci(@mask=0b1, @nargs=1, @blob="04000000");
jmpNeq(@nargs=2, @blob="50ffffff 00000000");
ret(@blob="");
}
void RGirl02() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
dropMain(@nargs=1, @blob="02000000");
call(
@nargs=3,
@blob="08000000 4769726c 30320000 69690000 28000000 69690000 01000000",
);
delete(@blob="");
}
void RGirl02_at() {
stackAlloc(@nargs=1, @blob="10000000");
diffI(
@mask=0b1,
@nargs=5,
@blob="04000000 04000000 08000000 0a000000 0c000000",
);
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 02000000");
etSprite(@nargs=3, @blob="00000000 06000000 04000000");
etCountD(
@nargs=9,
@blob="00000000 03000000 06000000 06000000 06000000 01000000 01000000 01000000 01000000",
);
etAngle(@nargs=3, @blob="00000000 00000000 920a863f");
etSpeedD(
@nargs=9,
@blob="00000000 cdcccc3f 00000040 cdcc0c40 cdcc0c40 00000040 00000040 00000040 00000040",
);
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 01000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9",
);
diffF(
@mask=0b1,
@nargs=5,
@blob="00004041 a6922b3c a692ab3b fc0f933b fdad803b",
);
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushi(@mask=0b1, @nargs=1, @blob="04000000");
mulf(@blob="");
pushi(@nargs=1, @blob="02000000");
divf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
pushi(@mask=0b1, @nargs=1, @blob="04000000");
pushi(@nargs=1, @blob="01000000");
addi(@blob="");
seti(@mask=0b1, @nargs=1, @blob="04000000");
jmp(@nargs=2, @blob="08020000 00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 00000041",
);
etOn(@nargs=1, @blob="00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 4260e5bb 00000041",
);
etOn(@nargs=1, @blob="00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 426065bc 00000041",
);
etOn(@nargs=1, @blob="00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff cdcc4cbd 00000041",
);
etOn(@nargs=1, @blob="00000000");
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
pushi(@nargs=1, @blob="01000000");
geqi(@blob="");
jmpEq(@nargs=2, @blob="5c000000 00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 295c8fbd 00000041",
);
etOn(@nargs=1, @blob="00000000");
pushf(@mask=0b1, @nargs=1, @blob="00000041");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00000041");
deci(@mask=0b1, @nargs=1, @blob="04000000");
jmpNeq(@nargs=2, @blob="fcfdffff 00000000");
ret(@blob="");
}
void RGirl03() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
dropMain(@nargs=1, @blob="02000000");
call(
@nargs=3,
@blob="08000000 4769726c 30330000 69690000 28000000 69690000 01000000",
);
delete(@blob="");
}
void RGirl03_at() {
stackAlloc(@nargs=1, @blob="1c000000");
diffI(
@mask=0b1,
@nargs=5,
@blob="04000000 08000000 08000000 08000000 08000000",
);
pushi(@nargs=1, @blob="12000000");
seti(@mask=0b1, @nargs=1, @blob="08000000");
etNew(@nargs=1, @blob="00000000");
etAim(@nargs=2, @blob="00000000 03000000");
etSprite(@nargs=3, @blob="00000000 06000000 0a000000");
etCountD(
@nargs=9,
@blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000",
);
etAngle(@nargs=3, @blob="00000000 00000000 920a863f");
etSpeedD(
@nargs=9,
@blob="00000000 cdcccc3f 00000040 cdcc0c40 cdcc0c40 00000040 00000040 00000040 00000040",
);
etEx(
@nargs=8,
@blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
);
etEx(
@nargs=8,
@blob="00000000 01000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9",
);
pushf(@nargs=1, @blob="d731e23f");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@nargs=1, @blob="e1edaf3f");
setf(@mask=0b1, @nargs=1, @blob="0000c041");
jmp(@nargs=2, @blob="0c070000 00000000");
diffF(
@mask=0b1,
@nargs=5,
@blob="00008041 a6922b3c a692ab3b fc0f933b fdad803b",
);
diffI(
@mask=0b1,
@nargs=5,
@blob="04000000 03000000 06000000 08000000 0a000000",
);
pushf(@mask=0b1, @nargs=1, @blob="00008041");
pushi(@mask=0b1, @nargs=1, @blob="04000000");
mulf(@blob="");
pushi(@nargs=1, @blob="02000000");
divf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 0000a041 00000000");
pushi(@mask=0b1, @nargs=1, @blob="04000000");
pushi(@nargs=1, @blob="01000000");
addi(@blob="");
seti(@mask=0b1, @nargs=1, @blob="04000000");
jmp(@nargs=2, @blob="c4010000 00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 00004041",
);
etOn(@nargs=1, @blob="00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 4260e5bb 00004041",
);
etOn(@nargs=1, @blob="00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 8fc275bd 00004041",
);
etOn(@nargs=1, @blob="00000000");
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
pushi(@nargs=1, @blob="01000000");
geqi(@blob="");
jmpEq(@nargs=2, @blob="5c000000 00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 0ad7a3bd 00004041",
);
etOn(@nargs=1, @blob="00000000");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
deci(@mask=0b1, @nargs=1, @blob="04000000");
jmpNeq(@nargs=2, @blob="40feffff 00000000");
diffF(
@mask=0b1,
@nargs=5,
@blob="00008041 a6922b3c a692ab3b fc0f933b fdad803b",
);
diffI(
@mask=0b1,
@nargs=5,
@blob="04000000 03000000 06000000 08000000 0a000000",
);
pushf(@mask=0b1, @nargs=1, @blob="00008041");
pushi(@mask=0b1, @nargs=1, @blob="04000000");
mulf(@blob="");
pushi(@nargs=1, @blob="02000000");
divf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
etAngle(@mask=0b10, @nargs=3, @blob="00000000 0000c041 00000000");
pushi(@mask=0b1, @nargs=1, @blob="04000000");
pushi(@nargs=1, @blob="01000000");
addi(@blob="");
seti(@mask=0b1, @nargs=1, @blob="04000000");
jmp(@nargs=2, @blob="c4010000 00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 00000000 00004041",
);
etOn(@nargs=1, @blob="00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 4260e5bb 00004041",
);
etOn(@nargs=1, @blob="00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 8fc275bd 00004041",
);
etOn(@nargs=1, @blob="00000000");
pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
pushi(@nargs=1, @blob="01000000");
geqi(@blob="");
jmpEq(@nargs=2, @blob="5c000000 00000000");
etEx(
@mask=0b10000000,
@nargs=8,
@blob="00000000 02000000 00000000 08000000 3c000000 c1bdf0ff 0ad7a3bd 00004041",
);
etOn(@nargs=1, @blob="00000000");
pushf(@mask=0b1, @nargs=1, @blob="00004041");
pushf(@mask=0b1, @nargs=1, @blob="00008041");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="00004041");
deci(@mask=0b1, @nargs=1, @blob="04000000");
jmpNeq(@nargs=2, @blob="40feffff 00000000");
pushf(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@nargs=1, @blob="850a863e");
addf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="0000a041");
validRad(@mask=0b1, @nargs=1, @blob="0000a041");
pushf(@mask=0b1, @nargs=1, @blob="0000c041");
pushf(@nargs=1, @blob="850a863e");
subf(@blob="");
setf(@mask=0b1, @nargs=1, @blob="0000c041");
validRad(@mask=0b1, @nargs=1, @blob="0000c041");
wait(@nargs=1, @blob="0a000000");
deci(@mask=0b1, @nargs=1, @blob="08000000");
jmpNeq(@nargs=2, @blob="f8f8ffff 00000000");
ret(@blob="");
}
void RPhantomMBoss() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
dropMain(@nargs=1, @blob="01000000");
call(
@nargs=3,
@blob="10000000 5068616e 746f6d4d 426f7373 00000000 69690000 5e000000 69690000 01000000",
);
delete(@blob="");
}
void RPhantomMBoss2() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 2e000000");
dropMain(@nargs=1, @blob="01000000");
call(
@nargs=3,
@blob="10000000 5068616e 746f6d4d 426f7373 32000000 69690000 5e000000 69690000 01000000",
);
delete(@blob="");
}
void YGirl00() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 30000000");
call(
@nargs=3,
@blob="08000000 4769726c 30300000 69690000 0f000000 69690000 01000000",
);
delete(@blob="");
}
void YGirl00b() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 30000000");
call(
@nargs=3,
@blob="08000000 4769726c 30306200 69690000 0f000000 69690000 01000000",
);
delete(@blob="");
}
void YGirl01() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 30000000");
call(
@nargs=3,
@blob="08000000 4769726c 30310000 69690000 0f000000 69690000 01000000",
);
delete(@blob="");
}
void YGirl01b() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 30000000");
call(
@nargs=3,
@blob="08000000 4769726c 30316200 69690000 0f000000 69690000 01000000",
);
delete(@blob="");
}
void YGirl02() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 30000000");
call(
@nargs=3,
@blob="08000000 4769726c 30320000 69690000 0f000000 69690000 01000000",
);
delete(@blob="");
}
void YGirl03() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
anmSetSprite(@nargs=2, @blob="01000000 30000000");
call(
@nargs=3,
@blob="08000000 4769726c 30330000 69690000 0f000000 69690000 01000000",
);
delete(@blob="");
}
void YPhantomMBoss() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="02000000");
anmSetSprite(@nargs=2, @blob="01000000 30000000");
call(
@nargs=3,
@blob="10000000 5068616e 746f6d4d 426f7373 00000000 69690000 64000000 69690000 01000000",
);
delete(@blob="");
}
void YPhantomMBoss2() {
stackAlloc(@nargs=1, @blob="04000000");
anmSelect(@nargs=1, @blob="01000000");
dropMain(@nargs=1, @blob="02000000");
anmSetSprite(@nargs=2, @blob="01000000 30000000");
call(
@nargs=3,
@blob="10000000 5068616e 746f6d4d 426f7373 32000000 69690000 64000000 69690000 01000000",
);
delete(@blob="");
}
void main() {
stackAlloc(@nargs=1, @blob="0c000000");
flagSet(@nargs=1, @blob="20000000");
wait(@nargs=1, @blob="3c000000");
wait(@nargs=1, @blob="8c000000");
playSound(@nargs=1, @blob="35000000");
call(@nargs=1, @blob="0c000000 4d61696e 53756230 30000000");
call(@nargs=1, @blob="0c000000 4d61696e 53756230 31000000");
wait(@nargs=1, @blob="4c040000");
callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000");
call(@nargs=1, @blob="0c000000 4d61696e 53756230 32000000");
wait(@nargs=1, @blob="be000000");
call(@nargs=1, @blob="0c000000 4d61696e 53756230 34000000");
wait(@nargs=1, @blob="78000000");
playSound(@nargs=1, @blob="35000000");
call(@nargs=1, @blob="0c000000 4d61696e 53756230 30620000");
call(@nargs=1, @blob="0c000000 4d61696e 53756230 31620000");
call(@nargs=1, @blob="0c000000 4d61696e 53756230 35000000");
call(@nargs=1, @blob="0c000000 4d61696e 53756230 36000000");
wait(@nargs=1, @blob="04010000");
callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 33620000");
call(@nargs=1, @blob="0c000000 4d61696e 53756230 32620000");
wait(@nargs=1, @blob="be000000");
call(@nargs=1, @blob="0c000000 4d61696e 53756230 34000000");
wait(@nargs=1, @blob="b4000000");
call(@nargs=1, @blob="0c000000 4d61696e 53756230 36620000");
wait(@nargs=1, @blob="58020000");
dialogRead(@nargs=1, @blob="00000000");
dialogWait(@blob="");
enmCreateA(
@nargs=6,
@blob="08000000 426f7373 00000000 000058c3 00008042 28000000 e8030000 01000000",
);
deathWait(@blob="");
dialogRead(@nargs=1, @blob="01000000");
dialogWait(@blob="");
jmp(@nargs=2, @blob="2c000000 00000000");
wait(@nargs=1, @blob="e8030000");
pushi(@nargs=1, @blob="01000000");
jmpNeq(@nargs=2, @blob="d8ffffff 00000000");
jmp(@nargs=2, @blob="2c000000 00000000");
wait(@nargs=1, @blob="e8030000");
pushi(@nargs=1, @blob="01000000");
jmpNeq(@nargs=2, @blob="d8ffffff 00000000");
wait(@nargs=1, @blob="78000000");
callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 32000000");
call(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000");
call(@nargs=1, @blob="0c000000 4d61696e 53756230 34000000");
call(@nargs=1, @blob="0c000000 4d61696e 53756230 35000000");
call(@nargs=1, @blob="0c000000 4d61696e 53756230 36000000");
wait(@nargs=1, @blob="b4000000");
dialogRead(@nargs=1, @blob="00000000");
dialogWait(@blob="");
deathWait(@blob="");
+40000: // 40000
nop(@blob="");
delete(@blob="");
}