#pragma mapfile "utils/th11.eclm"

meta {anim: ["enemy.anm", "stgenm01.anm"], ecli: ["default.ecl"]}


void BGirl00() {
    stackAlloc(@nargs=1, @blob="04000000");
    dropMain(@nargs=1, @blob="02000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@nargs=2, @blob="01000000 2d000000");
    call(
        @nargs=3,
        @blob="08000000 4769726c 30300000 69690000 00000000 69690000 01000000",
    );
    delete(@blob="");
}


void BGirl02() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    dropMain(@nargs=1, @blob="02000000");
    anmSetMain(@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");
    anmSetMain(@nargs=2, @blob="01000000 2d000000");
    call(@nargs=2, @blob="08000000 4769726c 30330000 69690000 00000000");
    delete(@blob="");
}


void BGirl05() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    dropMain(@nargs=1, @blob="02000000");
    anmSetMain(@nargs=2, @blob="01000000 2d000000");
    call(
        @nargs=3,
        @blob="08000000 4769726c 30350000 69690000 00000000 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 01000000");
    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="f0230000");
    movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043");
    pushi(@nargs=1, @blob="01000000");
    seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
+60: // 60
    dialogWait(@blob="");
    moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008042");
    anmSelect(@nargs=1, @blob="00000000");
    anmSetSprite(@nargs=2, @blob="01000000 5c000000");
    anmSetSprite(@nargs=2, @blob="02000000 aa000000");
    anmSelect(@nargs=1, @blob="02000000");
    fog(@nargs=2, @blob="00002043 8000ff00");
    call(@nargs=1, @blob="08000000 426f7373 31000000");
    delete(@blob="");
}


void Boss1() {
    stackAlloc(@nargs=1, @blob="0c000000");
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="00000000 5a000000 5a000000 28000000 28000000",
    );
    timerReset(@blob="");
    setInterrupt(
        @nargs=4,
        @blob="00000000 dc050000 34080000 0c000000 426f7373 43617264 31000000",
    );
    lifeMarker(@nargs=3, @blob="00000000 0080bb44 80a0ffff");
    setChapter(@nargs=1, @blob="18000000");
    stars(@nargs=1, @blob="01000000");
    wait(@nargs=1, @blob="28000000");
    jmp(@nargs=2, @blob="a4010000 00000000");
    diffF(
        @mask=0b1,
        @nargs=5,
        @blob="00008040 db0f493f db0f493f db0f493f db0f493f",
    );
    diffF(
        @mask=0b1,
        @nargs=5,
        @blob="00000041 db0fc9bd db0fc9bd 920a86bd 920a86bd",
    );
    callAsync(
        @mask=0b110,
        @nargs=3,
        @blob="0c000000 426f7373 31417431 00000000 66660000 00008040 66660000 00000041",
    );
    wait(@nargs=1, @blob="18000000");
    moveRand(@nargs=3, @blob="28000000 04000000 00008040");
    wait(@nargs=1, @blob="29000000");
    diffF(
        @mask=0b1,
        @nargs=5,
        @blob="00008040 db0f49bf db0f49bf db0f49bf db0f49bf",
    );
    diffF(
        @mask=0b1,
        @nargs=5,
        @blob="00000041 db0fc93d db0fc93d 920a863d 920a863d",
    );
    {"1234567"}:  callAsync(
        @mask=0b110,
        @nargs=3,
        @blob="0c000000 426f7373 31417431 00000000 66660000 00008040 66660000 00000041",
    );
    wait(@nargs=1, @blob="18000000");
    wait(@nargs=1, @blob="a0000000");
    moveRand(@nargs=3, @blob="28000000 04000000 00008040");
    wait(@nargs=1, @blob="29000000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="60feffff 00000000");
    ret(@blob="");
}


void Boss1At1() {
    stackAlloc(@nargs=1, @blob="1c000000");
    pushf(@nargs=1, @blob="0000803f");
    setf(@mask=0b1, @nargs=1, @blob="0000a041");
    anmSelectedPlay(@nargs=1, @blob="00000000");
    wait(@nargs=1, @blob="08000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 02000000");
    etSprite(@nargs=3, @blob="00000000 01000000 06000000");
    etCountD(
        @nargs=9,
        @blob="00000000 04000000 04000000 04000000 08000000 01000000 01000000 01000000 01000000",
    );
    etAngle(@nargs=3, @blob="00000000 00000000 7cd9203e");
    etSpeed(@nargs=3, @blob="00000000 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",
    );
    etOffset(@nargs=3, @blob="00000000 00000041 000000c2");
    etDist(@nargs=2, @blob="00000000 0000c041");
    etCopy(@nargs=2, @blob="01000000 00000000");
    etEx(
        @nargs=8,
        @blob="01000000 02000000 00000000 00100000 14000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="01000000 03000000 00000000 20000000 23000000 01000000 00000000 0000803f",
    );
    etEx(
        @nargs=8,
        @blob="01000000 04000000 00000000 00080000 01000000 02000000 f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="01000000 05000000 00000000 00100000 28000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="01000000 06000000 00000000 04000000 78000000 c1bdf0ff 6a039d3c f02374c9",
    );
    etOffset(@nargs=3, @blob="01000000 00000041 000000c2");
    etDist(@nargs=2, @blob="01000000 0000c041");
    diffF(
        @mask=0b1,
        @nargs=5,
        @blob="0000c041 cdcccc3f cdcccc3f 0000803f 0000803f",
    );
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="08000000 08000000 08000000 0e000000 10000000",
    );
    jmp(@nargs=2, @blob="38030000 00000000");
    etSpeed(@mask=0b110, @nargs=3, @blob="00000000 0000c041 0000c041");
    etAngle(@mask=0b110, @nargs=3, @blob="00000000 00000000 00000000");
    etOn(@nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="0000c041");
    pushf(@nargs=1, @blob="cdcccc3d");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="0000c041");
    {"24567"}:  pushf(@mask=0b1, @nargs=1, @blob="0000c041");
    {"24567"}:  pushf(@nargs=1, @blob="0ad7a33c");
    {"24567"}:  subf(@blob="");
    {"24567"}:  setf(@mask=0b1, @nargs=1, @blob="0000c041");
    {"34567"}:  pushf(@mask=0b1, @nargs=1, @blob="0000c041");
    {"34567"}:  pushf(@nargs=1, @blob="0ad7a33b");
    {"34567"}:  subf(@blob="");
    {"34567"}:  setf(@mask=0b1, @nargs=1, @blob="0000c041");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    wait(@nargs=1, @blob="01000000");
    etSpeed(@mask=0b110, @nargs=3, @blob="01000000 0000c041 0000c041");
    etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000000 00000000");
    etOn(@nargs=1, @blob="01000000");
    pushf(@mask=0b1, @nargs=1, @blob="0000c041");
    pushf(@nargs=1, @blob="cdcccc3d");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="0000c041");
    {"24567"}:  pushf(@mask=0b1, @nargs=1, @blob="0000c041");
    {"24567"}:  pushf(@nargs=1, @blob="0ad7a33c");
    {"24567"}:  subf(@blob="");
    {"24567"}:  setf(@mask=0b1, @nargs=1, @blob="0000c041");
    {"34567"}:  pushf(@mask=0b1, @nargs=1, @blob="0000c041");
    {"34567"}:  pushf(@nargs=1, @blob="0ad7a33b");
    {"34567"}:  subf(@blob="");
    {"34567"}:  setf(@mask=0b1, @nargs=1, @blob="0000c041");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    wait(@nargs=1, @blob="01000000");
    deci(@mask=0b1, @nargs=1, @blob="08000000");
    jmpNeq(@nargs=2, @blob="ccfcffff 00000000");
    ret(@blob="");
}


void Boss2() {
    stackAlloc(@nargs=1, @blob="08000000");
    lifeSet(@nargs=1, @blob="20260000");
    setInterrupt(
        @nargs=4,
        @blob="00000000 e0060000 34080000 0c000000 426f7373 43617264 32000000",
    );
    lifeMarker(@nargs=3, @blob="00000000 0000dc44 80a0ffff");
    setChapter(@nargs=1, @blob="19000000");
    stars(@nargs=1, @blob="00000000");
    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="");
    pushi(@mask=0b1, @nargs=1, @blob="fed8ffff");
    pushi(@nargs=1, @blob="00000000");
    eqi(@blob="");
    jmpEq(@nargs=2, @blob="a0010000 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");
    pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
    pushi(@nargs=1, @blob="01000000");
    leqi(@blob="");
    jmpEq(@nargs=2, @blob="48000000 00000000");
    dropExtra(@nargs=2, @blob="01000000 06000000");
    jmp(@nargs=2, @blob="30000000 00000000");
    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 00004043");
+60: // 60
    nop(@blob="");
    moveLimit(@nargs=4, @blob="00000000 00002043 00008c43 00008042");
    wait(@nargs=1, @blob="28000000");
    jmp(@nargs=2, @blob="90010000 3c000000");
    diffF(
        @mask=0b1,
        @nargs=5,
        @blob="00000000 db0f493f db0f493f db0f493f db0f493f",
    );
    diffF(
        @mask=0b1,
        @nargs=5,
        @blob="00008040 db0fc9bd db0fc9bd fbd3b7bd cd20bcbd",
    );
    call(
        @mask=0b110,
        @nargs=3,
        @blob="0c000000 426f7373 32417431 00000000 66660000 00000000 66660000 00008040",
    );
    wait(@nargs=1, @blob="18000000");
    moveRand(@nargs=3, @blob="28000000 04000000 00008040");
    wait(@nargs=1, @blob="29000000");
    diffF(
        @mask=0b1,
        @nargs=5,
        @blob="00000000 db0f49bf db0f49bf db0f49bf db0f49bf",
    );
    diffF(
        @mask=0b1,
        @nargs=5,
        @blob="00008040 db0fc93d db0fc93d fbd3b73d cd20bc3d",
    );
    {"1234567"}:  call(
        @mask=0b110,
        @nargs=3,
        @blob="0c000000 426f7373 32417431 00000000 66660000 00000000 66660000 00008040",
    );
    wait(@nargs=1, @blob="18000000");
    moveRand(@nargs=3, @blob="28000000 04000000 00008040");
    wait(@nargs=1, @blob="29000000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="74feffff 3c000000");
    ret(@blob="");
}


void Boss2At1() {
    stackAlloc(@nargs=1, @blob="1c000000");
    pushf(@nargs=1, @blob="0000803f");
    setf(@mask=0b1, @nargs=1, @blob="0000a041");
    anmSelectedPlay(@nargs=1, @blob="00000000");
    wait(@nargs=1, @blob="08000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 03000000");
    etSprite(@nargs=3, @blob="00000000 01000000 06000000");
    etCountD(
        @nargs=9,
        @blob="00000000 04000000 04000000 04000000 05000000 01000000 01000000 01000000 01000000",
    );
    etAngle(@nargs=3, @blob="00000000 00000000 7cd9203e");
    etSpeedD(
        @nargs=9,
        @blob="00000000 0000803f 0000803f 0000803f 0000803f 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",
    );
    etOffset(@nargs=3, @blob="00000000 00000041 000000c2");
    etDist(@nargs=2, @blob="00000000 00007041");
    etCopy(@nargs=2, @blob="01000000 00000000");
    etEx(
        @nargs=8,
        @blob="01000000 02000000 00000000 00100000 1e000000 c1bdf0ff f02374c9 f02374c9",
    );
    pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
    pushi(@nargs=1, @blob="01000000");
    leqi(@blob="");
    jmpEq(@nargs=2, @blob="60000000 00000000");
    etEx(
        @nargs=8,
        @blob="01000000 03000000 00000000 40000000 28000000 01000000 db0fc93f 0000803f",
    );
    jmp(@nargs=2, @blob="48000000 00000000");
    etEx(
        @nargs=8,
        @blob="01000000 03000000 00000000 40000000 28000000 01000000 db0fc93f cdcc8c3f",
    );
    etEx(
        @nargs=8,
        @blob="01000000 04000000 00000000 00080000 01000000 02000000 f02374c9 f02374c9",
    );
    etOffset(@nargs=3, @blob="01000000 00000041 000000c2");
    etDist(@nargs=2, @blob="01000000 00007041");
    pushf(@nargs=1, @blob="00000040");
    setf(@mask=0b1, @nargs=1, @blob="0000c041");
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="08000000 10000000 10000000 1d000000 20000000",
    );
    jmp(@nargs=2, @blob="f8010000 00000000");
    pushf(@mask=0b1, @nargs=1, @blob="0000c041");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    etSpeed(@mask=0b110, @nargs=3, @blob="00000000 0000c041 000080bf");
    etAngle(@mask=0b110, @nargs=3, @blob="00000000 00000000 00000000");
    etOn(@nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    diffWait(@nargs=4, @blob="05000000 05000000 03000000 02000000");
    pushf(@mask=0b1, @nargs=1, @blob="0000c041");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    etSpeed(@mask=0b110, @nargs=3, @blob="01000000 0000c041 000080bf");
    etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000000 00000000");
    etOn(@nargs=1, @blob="01000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    diffWait(@nargs=4, @blob="05000000 05000000 03000000 02000000");
    deci(@mask=0b1, @nargs=1, @blob="08000000");
    jmpNeq(@nargs=2, @blob="0cfeffff 00000000");
    ret(@blob="");
}


void BossCard1() {
    stackAlloc(@nargs=1, @blob="10000000");
    {"014567"}:  setInterrupt(
        @nargs=4,
        @blob="00000000 00000000 34080000 08000000 426f7373 32000000",
    );
    {"234567"}:  setInterrupt(
        @nargs=4,
        @blob="00000000 00000000 34080000 08000000 426f7373 32000000",
    );
    {"014567"}:  spell(
        @nargs=4,
        @blob="02000000 34080000 20a10700 1c000000 94d70038 724f12b4 ec750e42 68d20af3 e63506e9 606c029d de907d24",
    );
    {"234567"}:  spell3(
        @nargs=4,
        @blob="04000000 34080000 20a10700 18000000 e509703d 724f0136 e3b70ff8 79c56cf1 e5a2142f 625c81e8",
    );
    setChapter(@nargs=1, @blob="2b000000");
    killAllAsync(@blob="");
    movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00001043");
    setInvuln(@nargs=1, @blob="3c000000");
    playSound(@nargs=1, @blob="07000000");
    enmCreate(
        @nargs=6,
        @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000",
    );
    moveLimit(@nargs=4, @blob="00000000 00000043 00008c43 00008043");
    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");
+60: // 60
    anmPlay(@nargs=2, @blob="00000000 83000000");
+60: // 120
    anmSelectedPlay(@nargs=1, @blob="00000000");
+30: // 150
    nop(@blob="");
    pushi(@nargs=1, @blob="90000000");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="dc0f4940");
    setf(@mask=0b1, @nargs=1, @blob="00008040");
    pushf(@nargs=1, @blob="8010c93b");
    setf(@mask=0b1, @nargs=1, @blob="00000041");
    pushi(@nargs=1, @blob="04000000");
    seti(@mask=0b1, @nargs=1, @blob="0c000000");
    jmp(@nargs=2, @blob="c4030000 96000000");
    callAsync(
        @mask=0b1110,
        @nargs=4,
        @blob="10000000 426f7373 43617264 315f6174 00000000 66660000 00008040 66660000 00000041 69690000 0c000000",
    );
    wait(@nargs=1, @blob="b4000000");
    pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
    pushi(@nargs=1, @blob="00000000");
    eqi(@blob="");
    jmpEq(@nargs=2, @blob="cc000000 96000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="00002043");
    lessf(@blob="");
    jmpEq(@nargs=2, @blob="64000000 96000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="00002041");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="b4000000 96000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="00002043");
    lessf(@blob="");
    jmpEq(@nargs=2, @blob="64000000 96000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="00004041");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
    pushf(@nargs=1, @blob="00008041");
    mulf(@blob="");
    movePosTime(
        @mask=0b1100,
        @nargs=4,
        @blob="3c000000 04000000 000080bf 00000000",
    );
    wait(@nargs=1, @blob="3c000000");
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    pushf(@nargs=1, @blob="000080bf");
    mulf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00008040");
    pushf(@mask=0b1, @nargs=1, @blob="00000041");
    pushf(@nargs=1, @blob="000080bf");
    mulf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000041");
    pushi(@mask=0b1, @nargs=1, @blob="0c000000");
    pushi(@nargs=1, @blob="04000000");
    eqi(@blob="");
    jmpEq(@nargs=2, @blob="58000000 96000000");
    pushi(@nargs=1, @blob="0a000000");
    seti(@mask=0b1, @nargs=1, @blob="0c000000");
    jmp(@nargs=2, @blob="40000000 96000000");
    pushi(@nargs=1, @blob="04000000");
    seti(@mask=0b1, @nargs=1, @blob="0c000000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="40fcffff 96000000");
    jmp(@nargs=2, @blob="2c000000 96000000");
    wait(@nargs=1, @blob="e8030000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="d8ffffff 96000000");
    ret(@blob="");
}


void BossCard1_at() {
    stackAlloc(@nargs=1, @blob="20000000");
    pushf(@mask=0b1, @nargs=1, @blob="00141cc6");
    setf(@mask=0b1, @nargs=1, @blob="00008041");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 05000000");
    etSprite(@mask=0b100, @nargs=3, @blob="00000000 03000000 08000000");
    etCountD(
        @nargs=9,
        @blob="00000000 06000000 08000000 0c000000 10000000 01000000 01000000 01000000 01000000",
    );
    etAngle(@nargs=3, @blob="00000000 00000000 00000000");
    etSpeed(@nargs=3, @blob="00000000 0ad7233c 00000040");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="00000000 01000000 00000000 00040000 78000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="00000000 02000000 00000000 00020000 14000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="00000000 05000000 00000000 04000000 3c000000 c1bdf0ff 8988883d f02374c9",
    );
    etOffset(@nargs=3, @blob="00000000 00000041 000000c2");
    pushi(@nargs=1, @blob="2e000000");
    seti(@mask=0b1, @nargs=1, @blob="14000000");
    pushi(@nargs=1, @blob="08000000");
    setf(@mask=0b1, @nargs=1, @blob="00004041");
    pushi(@nargs=1, @blob="2e000000");
    seti(@mask=0b1, @nargs=1, @blob="1c000000");
    pushf(@nargs=1, @blob="dc0f4940");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="c4030000 00000000");
    etEx(
        @nargs=8,
        @blob="00000000 03000000 00000000 00100000 dc050000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @mask=0b10000,
        @nargs=8,
        @blob="00000000 03000000 00000000 00100000 1c000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @mask=0b1000000,
        @nargs=8,
        @blob="00000000 04000000 00000000 10000000 01000000 01000000 00000000 0ad7233c",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
    pushi(@nargs=1, @blob="02000000");
    leqi(@blob="");
    jmpEq(@nargs=2, @blob="bc000000 00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="06000000");
    divf(@blob="");
    pushi(@nargs=1, @blob="3c000000");
    divf(@blob="");
    etEx(
        @mask=0b10000000,
        @nargs=8,
        @blob="00000000 06000000 00000000 08000000 3c000000 c1bdf0ff cdcc4cbd 000080bf",
    );
    jmp(@nargs=2, @blob="a4000000 00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="06000000");
    divf(@blob="");
    pushi(@nargs=1, @blob="3c000000");
    divf(@blob="");
    etEx(
        @mask=0b10000000,
        @nargs=8,
        @blob="00000000 06000000 00000000 08000000 3c000000 c1bdf0ff abaa2abd 000080bf",
    );
    pushi(@mask=0b1, @nargs=1, @blob="1c000000");
    pushi(@nargs=1, @blob="01000000");
    subi(@blob="");
    seti(@mask=0b1, @nargs=1, @blob="1c000000");
    etDist(@mask=0b10, @nargs=2, @blob="00000000 00004041");
    pushf(@mask=0b1, @nargs=1, @blob="00008041");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="40000000");
    divf(@blob="");
    addf(@blob="");
    etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000000");
    etOn(@nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00004041");
    pushf(@nargs=1, @blob="00000041");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00004041");
    wait(@nargs=1, @blob="01000000");
    deci(@mask=0b1, @nargs=1, @blob="14000000");
    jmpNeq(@nargs=2, @blob="40fcffff 00000000");
    ret(@blob="");
}


void BossCard2() {
    stackAlloc(@nargs=1, @blob="04000000");
    setInterrupt(
        @nargs=4,
        @blob="00000000 00000000 60090000 0c000000 426f7373 44656164 00000000",
    );
    {"014567"}:  spell(
        @nargs=4,
        @blob="06000000 60090000 20a10700 1c000000 96f10038 724f128c ecb40ebf 68da0a0e e42f06f5 6057009e 5fe67d24",
    );
    {"234567"}:  spell3(
        @nargs=4,
        @blob="08000000 60090000 20a10700 18000000 96f11eff 724f1d4c e7001847 7d0c0bbc f32310cd 625c81e8",
    );
    killAllAsync(@blob="");
    movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00004043");
    setInvuln(@nargs=1, @blob="3c000000");
    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");
    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",
    );
    setChapter(@nargs=1, @blob="2c000000");
+60: // 60
    anmPlay(@nargs=2, @blob="00000000 83000000");
+60: // 120
    anmSelectedPlay(@nargs=1, @blob="00000000");
+30: // 150
    nop(@blob="");
    jmp(@nargs=2, @blob="e8040000 be000000");
    callAsync(
        @nargs=4,
        @blob="10000000 426f7373 43617264 325f6174 00000000 69660000 00000000 66660000 45159e3d 69690000 02000000",
    );
    pushi(@nargs=1, @blob="00000000");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="e2781ebe");
    setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
    pushi(@nargs=1, @blob="04000000");
    seti(@mask=0b1, @nargs=1, @blob="ffd8ffff");
    {"234567"}:  enmCreateA(
        @nargs=6,
        @blob="0c000000 426f7373 43617264 32417400 0000c8c2 00000043 a00f0000 10270000 01000000",
    );
    {"234567"}:  enmCreateA(
        @nargs=6,
        @blob="0c000000 426f7373 43617264 32417400 0000c842 00000043 a00f0000 10270000 01000000",
    );
    wait(@nargs=1, @blob="7c010000");
    callAsync(
        @nargs=4,
        @blob="10000000 426f7373 43617264 325f6174 00000000 69660000 00000000 66660000 f3781ebe 69690000 04000000",
    );
    pushi(@nargs=1, @blob="00000000");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="44159e3d");
    setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
    pushi(@nargs=1, @blob="02000000");
    seti(@mask=0b1, @nargs=1, @blob="ffd8ffff");
    {"234567"}:  enmCreateA(
        @nargs=6,
        @blob="0c000000 426f7373 43617264 32417400 0000c8c2 00000043 a00f0000 10270000 01000000",
    );
    {"234567"}:  enmCreateA(
        @nargs=6,
        @blob="0c000000 426f7373 43617264 32417400 0000c842 00000043 a00f0000 10270000 01000000",
    );
    wait(@nargs=1, @blob="7c010000");
    callAsync(
        @nargs=4,
        @blob="10000000 426f7373 43617264 325f6174 00000000 69660000 00000000 66660000 45159ebd 69690000 02000000",
    );
    pushi(@nargs=1, @blob="00000000");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="e2781ebe");
    setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
    pushi(@nargs=1, @blob="04000000");
    seti(@mask=0b1, @nargs=1, @blob="ffd8ffff");
    {"234567"}:  enmCreateA(
        @nargs=6,
        @blob="0c000000 426f7373 43617264 32417400 0000c8c2 00000043 a00f0000 10270000 01000000",
    );
    {"234567"}:  enmCreateA(
        @nargs=6,
        @blob="0c000000 426f7373 43617264 32417400 0000c842 00000043 a00f0000 10270000 01000000",
    );
    wait(@nargs=1, @blob="7c010000");
    callAsync(
        @nargs=4,
        @blob="10000000 426f7373 43617264 325f6174 00000000 69660000 00000000 66660000 f3781e3e 69690000 04000000",
    );
    pushi(@nargs=1, @blob="00000000");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="44159e3d");
    setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
    pushi(@nargs=1, @blob="02000000");
    seti(@mask=0b1, @nargs=1, @blob="ffd8ffff");
    {"234567"}:  enmCreateA(
        @nargs=6,
        @blob="0c000000 426f7373 43617264 32417400 0000c8c2 00000043 a00f0000 10270000 01000000",
    );
    {"234567"}:  enmCreateA(
        @nargs=6,
        @blob="0c000000 426f7373 43617264 32417400 0000c842 00000043 a00f0000 10270000 01000000",
    );
    wait(@nargs=1, @blob="7c010000");
+40: // 190
    nop(@blob="");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="1cfbffff 96000000");
    ret(@blob="");
}


void BossCard2At() {
    stackAlloc(@nargs=1, @blob="04000000");
    flagSet(@nargs=1, @blob="2c010000");
    call(
        @mask=0b11100,
        @nargs=5,
        @blob="10000000 426f7373 43617264 3241745f 61740000 69690000 00000000 66660000 00f41bc6 66660000 00f01bc6 69690000 ffd8ffff",
    );
    delete(@blob="");
    delete(@blob="");
}


void BossCard2At_at() {
    stackAlloc(@nargs=1, @blob="28000000");
    pushf(@mask=0b1, @nargs=1, @blob="00141cc6");
    setf(@mask=0b1, @nargs=1, @blob="0000a041");
    etNew(@mask=0b1, @nargs=1, @blob="00000000");
    etAim(@mask=0b1, @nargs=2, @blob="00000000 03000000");
    etSprite(@mask=0b101, @nargs=3, @blob="00000000 05000000 0c000000");
    etCount(@mask=0b1, @nargs=3, @blob="00000000 01000000 01000000");
    etAngle(@mask=0b1, @nargs=3, @blob="00000000 00000000 00000000");
    etSpeed(@mask=0b1, @nargs=3, @blob="00000000 0ad7233c 00000040");
    etEx(
        @mask=0b1,
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @mask=0b1,
        @nargs=8,
        @blob="00000000 01000000 00000000 00040000 0a000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @mask=0b1,
        @nargs=8,
        @blob="00000000 02000000 00000000 00020000 14000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @mask=0b1,
        @nargs=8,
        @blob="00000000 04000000 00000000 04000000 3c000000 c1bdf0ff 0e74da3c f02374c9",
    );
    etOffset(@mask=0b1, @nargs=3, @blob="00000000 00000041 000000c2");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    addi(@blob="");
    etCopy(@mask=0b1, @nargs=2, @blob="ffffffff 00000000");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    addi(@blob="");
    etOffset(@mask=0b1, @nargs=3, @blob="ffffffff 00000041 000000c2");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    addi(@blob="");
    etEx(
        @mask=0b1,
        @nargs=8,
        @blob="ffffffff 05000000 00000000 04000000 3c000000 c1bdf0ff 0e74dabc f02374c9",
    );
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    addi(@blob="");
    etEx(
        @mask=0b1,
        @nargs=8,
        @blob="ffffffff 06000000 00000000 00100000 3c000000 c1bdf0ff f02374c9 f02374c9",
    );
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="18000000 4b000000 82000000 28000000 46000000",
    );
    pushi(@nargs=1, @blob="08000000");
    setf(@mask=0b1, @nargs=1, @blob="00008041");
    pushi(@nargs=1, @blob="0e010000");
    seti(@mask=0b1, @nargs=1, @blob="20000000");
    pushf(@nargs=1, @blob="dc0f4940");
    setf(@mask=0b1, @nargs=1, @blob="00008040");
    jmp(@nargs=2, @blob="a0080000 00000000");
    etEx(
        @mask=0b10001,
        @nargs=8,
        @blob="00000000 03000000 00000000 00100000 20000000 c1bdf0ff f02374c9 f02374c9",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    pushf(@mask=0b1, @nargs=1, @blob="00000041");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00008040");
    etDist(@mask=0b11, @nargs=2, @blob="00000000 00008041");
    etAngle(@mask=0b11, @nargs=3, @blob="00000000 00008040 00000000");
    etOn(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00008041");
    pushf(@nargs=1, @blob="295c0f3e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00008041");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    addi(@blob="");
    etEx(
        @mask=0b10001,
        @nargs=8,
        @blob="ffffffff 03000000 00000000 00100000 20000000 c1bdf0ff f02374c9 f02374c9",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    pushf(@mask=0b1, @nargs=1, @blob="00000041");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00008040");
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    pushf(@nargs=1, @blob="db0f4940");
    subf(@blob="");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="64000000");
    divf(@blob="");
    addf(@blob="");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    addi(@blob="");
    etEx(
        @mask=0b1000001,
        @nargs=8,
        @blob="ffffffff 07000000 00000000 40000000 01000000 01000000 000080bf 00004040",
    );
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    addi(@blob="");
    etDist(@mask=0b11, @nargs=2, @blob="ffffffff 00008041");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    addi(@blob="");
    etAngle(@mask=0b11, @nargs=3, @blob="ffffffff 00008040 00000000");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    addi(@blob="");
    etOn(@mask=0b1, @nargs=1, @blob="ffffffff");
    pushf(@mask=0b1, @nargs=1, @blob="00008041");
    pushf(@nargs=1, @blob="295c0f3e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00008041");
    etEx(
        @mask=0b10001,
        @nargs=8,
        @blob="00000000 03000000 00000000 00100000 20000000 c1bdf0ff f02374c9 f02374c9",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    pushf(@mask=0b1, @nargs=1, @blob="00000041");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00008040");
    etDist(@mask=0b11, @nargs=2, @blob="00000000 00008041");
    etAngle(@mask=0b11, @nargs=3, @blob="00000000 00008040 00000000");
    etOn(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00008041");
    pushf(@nargs=1, @blob="295c0f3e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00008041");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    addi(@blob="");
    etEx(
        @mask=0b10001,
        @nargs=8,
        @blob="ffffffff 03000000 00000000 00100000 20000000 c1bdf0ff f02374c9 f02374c9",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    pushf(@mask=0b1, @nargs=1, @blob="00000041");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00008040");
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    pushf(@nargs=1, @blob="db0f4940");
    subf(@blob="");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="64000000");
    divf(@blob="");
    addf(@blob="");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    addi(@blob="");
    etEx(
        @mask=0b1000001,
        @nargs=8,
        @blob="ffffffff 07000000 00000000 40000000 01000000 01000000 000080bf 00004040",
    );
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    addi(@blob="");
    etDist(@mask=0b11, @nargs=2, @blob="ffffffff 00008041");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    addi(@blob="");
    etAngle(@mask=0b11, @nargs=3, @blob="ffffffff 00008040 00000000");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    addi(@blob="");
    etOn(@mask=0b1, @nargs=1, @blob="ffffffff");
    pushf(@mask=0b1, @nargs=1, @blob="00008041");
    pushf(@nargs=1, @blob="295c0f3e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00008041");
    {"24567"}:  pushi(@mask=0b1, @nargs=1, @blob="20000000");
    {"24567"}:  pushi(@nargs=1, @blob="06000000");
    {"24567"}:  subi(@blob="");
    {"24567"}:  seti(@mask=0b1, @nargs=1, @blob="20000000");
    {"34567"}:  pushi(@mask=0b1, @nargs=1, @blob="20000000");
    {"34567"}:  pushi(@nargs=1, @blob="04000000");
    {"34567"}:  subi(@blob="");
    {"34567"}:  seti(@mask=0b1, @nargs=1, @blob="20000000");
    diffWait(@nargs=4, @blob="02000000 02000000 03000000 02000000");
    deci(@mask=0b1, @nargs=1, @blob="18000000");
    jmpNeq(@nargs=2, @blob="64f7ffff 00000000");
    ret(@blob="");
}


void BossCard2_at() {
    stackAlloc(@nargs=1, @blob="24000000");
    pushf(@mask=0b1, @nargs=1, @blob="00141cc6");
    setf(@mask=0b1, @nargs=1, @blob="00008041");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 03000000");
    etSprite(@mask=0b100, @nargs=3, @blob="00000000 05000000 08000000");
    etCount(@nargs=3, @blob="00000000 01000000 01000000");
    etAngle(@nargs=3, @blob="00000000 00000000 00000000");
    etSpeed(@nargs=3, @blob="00000000 0ad7233c 00000040");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="00000000 01000000 00000000 00040000 0a000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="00000000 02000000 00000000 00020000 14000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="00000000 04000000 00000000 04000000 3c000000 c1bdf0ff 0e74da3c f02374c9",
    );
    etOffset(@nargs=3, @blob="00000000 00000041 000000c2");
    etCopy(@nargs=2, @blob="01000000 00000000");
    etOffset(@nargs=3, @blob="01000000 00000041 000000c2");
    etEx(
        @nargs=8,
        @blob="01000000 05000000 00000000 04000000 3c000000 c1bdf0ff 0e74dabc f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="01000000 06000000 00000000 00100000 3c000000 c1bdf0ff f02374c9 f02374c9",
    );
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="14000000 4b000000 82000000 82000000 82000000",
    );
    pushi(@nargs=1, @blob="08000000");
    setf(@mask=0b1, @nargs=1, @blob="00004041");
    pushi(@nargs=1, @blob="0e010000");
    seti(@mask=0b1, @nargs=1, @blob="1c000000");
    pushf(@nargs=1, @blob="dc0f4940");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="a0070000 00000000");
    etEx(
        @mask=0b10000,
        @nargs=8,
        @blob="00000000 03000000 00000000 00100000 1c000000 c1bdf0ff f02374c9 f02374c9",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    etDist(@mask=0b10, @nargs=2, @blob="00000000 00004041");
    etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000");
    etOn(@nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00004041");
    pushf(@nargs=1, @blob="295c0f3e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00004041");
    {"04567"}:  pushf(@mask=0b1, @nargs=1, @blob="00004041");
    {"04567"}:  pushf(@nargs=1, @blob="295c0f3e");
    {"04567"}:  addf(@blob="");
    {"04567"}:  setf(@mask=0b1, @nargs=1, @blob="00004041");
    etEx(
        @mask=0b10000,
        @nargs=8,
        @blob="01000000 03000000 00000000 00100000 1c000000 c1bdf0ff f02374c9 f02374c9",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="db0f4940");
    subf(@blob="");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="64000000");
    divf(@blob="");
    addf(@blob="");
    etEx(
        @mask=0b1000000,
        @nargs=8,
        @blob="01000000 07000000 00000000 40000000 01000000 01000000 000080bf 00004040",
    );
    etDist(@mask=0b10, @nargs=2, @blob="01000000 00004041");
    etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000000 00000000");
    etOn(@nargs=1, @blob="01000000");
    pushf(@mask=0b1, @nargs=1, @blob="00004041");
    pushf(@nargs=1, @blob="295c0f3e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00004041");
    {"04567"}:  pushf(@mask=0b1, @nargs=1, @blob="00004041");
    {"04567"}:  pushf(@nargs=1, @blob="295c0f3e");
    {"04567"}:  addf(@blob="");
    {"04567"}:  setf(@mask=0b1, @nargs=1, @blob="00004041");
    etEx(
        @mask=0b10000,
        @nargs=8,
        @blob="00000000 03000000 00000000 00100000 1c000000 c1bdf0ff f02374c9 f02374c9",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    etDist(@mask=0b10, @nargs=2, @blob="00000000 00004041");
    etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000");
    etOn(@nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00004041");
    pushf(@nargs=1, @blob="295c0f3e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00004041");
    {"04567"}:  pushf(@mask=0b1, @nargs=1, @blob="00004041");
    {"04567"}:  pushf(@nargs=1, @blob="295c0f3e");
    {"04567"}:  addf(@blob="");
    {"04567"}:  setf(@mask=0b1, @nargs=1, @blob="00004041");
    etEx(
        @mask=0b10000,
        @nargs=8,
        @blob="01000000 03000000 00000000 00100000 1c000000 c1bdf0ff f02374c9 f02374c9",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00008040");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="db0f4940");
    subf(@blob="");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="64000000");
    divf(@blob="");
    addf(@blob="");
    etEx(
        @mask=0b1000000,
        @nargs=8,
        @blob="01000000 07000000 00000000 40000000 01000000 01000000 000080bf 00004040",
    );
    etDist(@mask=0b10, @nargs=2, @blob="01000000 00004041");
    etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000000 00000000");
    etOn(@nargs=1, @blob="01000000");
    pushf(@mask=0b1, @nargs=1, @blob="00004041");
    pushf(@nargs=1, @blob="295c0f3e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00004041");
    {"04567"}:  pushf(@mask=0b1, @nargs=1, @blob="00004041");
    {"04567"}:  pushf(@nargs=1, @blob="295c0f3e");
    {"04567"}:  addf(@blob="");
    {"04567"}:  setf(@mask=0b1, @nargs=1, @blob="00004041");
    pushi(@mask=0b1, @nargs=1, @blob="1c000000");
    pushi(@nargs=1, @blob="02000000");
    subi(@blob="");
    seti(@mask=0b1, @nargs=1, @blob="1c000000");
    {"04567"}:  pushi(@mask=0b1, @nargs=1, @blob="1c000000");
    {"04567"}:  pushi(@nargs=1, @blob="02000000");
    {"04567"}:  subi(@blob="");
    {"04567"}:  seti(@mask=0b1, @nargs=1, @blob="1c000000");
    diffWait(@nargs=4, @blob="02000000 01000000 01000000 01000000");
    deci(@mask=0b1, @nargs=1, @blob="14000000");
    jmpNeq(@nargs=2, @blob="64f8ffff 00000000");
    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");
    moveVel(@mask=0b1, @nargs=2, @blob="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="2c000000 3c000000");
    dropMain(@nargs=1, @blob="05000000");
    pushi(@nargs=1, @blob="01000000");
    seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
    dropExtra(@nargs=2, @blob="01000000 07000000");
    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 GGirl00() {
    stackAlloc(@nargs=1, @blob="04000000");
    dropMain(@nargs=1, @blob="03000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@nargs=2, @blob="01000000 2f000000");
    call(
        @nargs=3,
        @blob="08000000 4769726c 30300000 69690000 0a000000 69690000 01000000",
    );
    delete(@blob="");
}


void GGirl02() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    dropMain(@nargs=1, @blob="03000000");
    anmSetMain(@nargs=2, @blob="01000000 2f000000");
    call(
        @nargs=3,
        @blob="08000000 4769726c 30320000 69690000 0a000000 69690000 00000000",
    );
    delete(@blob="");
}


void GGirl03() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    dropMain(@nargs=1, @blob="03000000");
    anmSetMain(@nargs=2, @blob="01000000 2f000000");
    call(@nargs=2, @blob="08000000 4769726c 30330000 69690000 0a000000");
    delete(@blob="");
}


void GGirl05() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    dropMain(@nargs=1, @blob="03000000");
    anmSetMain(@nargs=2, @blob="01000000 2f000000");
    call(
        @nargs=3,
        @blob="08000000 4769726c 30350000 69690000 0a000000 69690000 00000000",
    );
    delete(@blob="");
}


void Girl00() {
    stackAlloc(@nargs=1, @blob="08000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000");
    flagSet(@nargs=1, @blob="40000000");
    flagSet(@nargs=1, @blob="02000000");
    setHurtbox(@nargs=2, @blob="0000c041 0000c041");
    setHitbox(@nargs=2, @blob="00008041 00008041");
    pushf(@nargs=1, @blob="db0fc9bf");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushf(@nargs=1, @blob="00000042");
    divf(@blob="");
    addf(@blob="");
    pushf(@nargs=1, @blob="db0fc940");
    pushi(@nargs=1, @blob="20000000");
    divf(@blob="");
    addf(@blob="");
    moveVel(@mask=0b1, @nargs=2, @blob="000080bf 00000041");
+30: // 30
    moveVelTime(@nargs=4, @blob="32000000 00000000 f02374c9 00000000");
+50: // 80
    callAsync(
        @mask=0b10,
        @nargs=2,
        @blob="0c000000 52476972 6c30305f 61740000 69690000 04000000",
    );
+150: // 230
    moveVel(@nargs=2, @blob="db0fc93e 00000000");
    moveVelTime(@nargs=4, @blob="64000000 00000000 db0fc93e 00004040");
+6000: // 6230
    nop(@blob="");
    ret(@blob="");
}


void Girl01() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@nargs=2, @blob="00000000 28000000");
    flagSet(@nargs=1, @blob="40000000");
    setHurtbox(@nargs=2, @blob="00002042 00002042");
    setHitbox(@nargs=2, @blob="00008041 00008041");
    dropClear(@blob="");
    dropExtra(@nargs=2, @blob="02000000 04000000");
    dropArea(@nargs=2, @blob="00000042 00000042");
    moveVel(@nargs=2, @blob="db0fc93f 0000c040");
    moveVelTime(@nargs=4, @blob="32000000 00000000 f02374c9 00000000");
+50: // 50
    callAsync(@nargs=1, @blob="0c000000 4769726c 30315f61 74000000");
+300: // 350
    moveVel(@nargs=2, @blob="db0fc9bf 00000000");
    moveVelTime(@nargs=4, @blob="64000000 00000000 f02374c9 00004040");
+240: // 590
    nop(@blob="");
    killAsync(@nargs=1, @blob="00000000");
+6000: // 6590
    nop(@blob="");
    delete(@blob="");
}


void Girl01_at() {
    stackAlloc(@nargs=1, @blob="00000000");
    pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
    pushi(@nargs=1, @blob="03000000");
    eqi(@blob="");
    jmpEq(@nargs=2, @blob="28010000 00000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 02000000");
    etSprite(@nargs=3, @blob="00000000 01000000 06000000");
    etCount(@nargs=3, @blob="00000000 20000000 01000000");
    etAngle(@nargs=3, @blob="00000000 00000000 920a063d");
    etSpeed(@nargs=3, @blob="00000000 00006040 00000040");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9",
    );
    etOn(@nargs=1, @blob="00000000");
    ret(@blob="");
    ret(@blob="");
}


void Girl02() {
    stackAlloc(@nargs=1, @blob="08000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000");
    flagSet(@nargs=1, @blob="44000000");
    setHurtbox(@nargs=2, @blob="0000c041 0000c041");
    setHitbox(@nargs=2, @blob="00008041 00008041");
    callAsync(
        @mask=0b10,
        @nargs=2,
        @blob="0c000000 52476972 6c30325f 61740000 69690000 04000000",
    );
    moveEllipseRel(
        @mask=0b1,
        @nargs=6,
        @blob="00f41bc6 5077563d 00008042 00000000 db0fc93f 00000000",
    );
    moveVel(@nargs=2, @blob="db0fc93f 0000803f");
+6000: // 6000
    nop(@blob="");
    ret(@blob="");
}


void Girl03() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@mask=0b10, @nargs=2, @blob="00000000 00000000");
    flagSet(@nargs=1, @blob="44000000");
    setHurtbox(@nargs=2, @blob="0000c041 0000c041");
    setHitbox(@nargs=2, @blob="00008041 00008041");
    callAsync(@nargs=1, @blob="0c000000 52476972 6c30335f 61740000");
    moveEllipseRel(
        @mask=0b1,
        @nargs=6,
        @blob="00f41bc6 35fa0e3d 00008042 00000000 db0fc93f 00000000",
    );
    moveVel(@nargs=2, @blob="db0fc93f cdcc4c3f");
+6000: // 6000
    nop(@blob="");
    ret(@blob="");
}


void Girl04() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@nargs=2, @blob="00000000 28000000");
    flagSet(@nargs=1, @blob="40000000");
    setHurtbox(@nargs=2, @blob="00002042 00002042");
    setHitbox(@nargs=2, @blob="00008041 00008041");
    dropClear(@blob="");
    dropExtra(@nargs=2, @blob="02000000 04000000");
    dropArea(@nargs=2, @blob="00000042 00000042");
    moveVel(@nargs=2, @blob="db0fc93f 0000c040");
    moveVelTime(@nargs=4, @blob="32000000 00000000 f02374c9 00000000");
+50: // 50
    callAsync(@nargs=1, @blob="0c000000 4769726c 30345f61 74000000");
    callAsync(@nargs=1, @blob="0c000000 4769726c 30345f61 74320000");
    wait(@nargs=1, @blob="64000000");
    {"234567"}:  callAsync(
        @nargs=1,
        @blob="0c000000 4769726c 30345f61 74000000",
    );
    {"234567"}:  callAsync(
        @nargs=1,
        @blob="0c000000 4769726c 30345f61 74320000",
    );
    wait(@nargs=1, @blob="64000000");
    {"34567"}:  callAsync(
        @nargs=1,
        @blob="0c000000 4769726c 30345f61 74000000",
    );
    {"34567"}:  callAsync(
        @nargs=1,
        @blob="0c000000 4769726c 30345f61 74320000",
    );
+100: // 150
    moveVel(@nargs=2, @blob="db0fc9bf 00000000");
    moveVelTime(@nargs=4, @blob="64000000 00000000 f02374c9 00004040");
+180: // 330
    nop(@blob="");
    killAsync(@nargs=1, @blob="00000000");
+6000: // 6330
    nop(@blob="");
    delete(@blob="");
}


void Girl04_at() {
    stackAlloc(@nargs=1, @blob="04000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 01000000");
    etSprite(@nargs=3, @blob="00000000 03000000 06000000");
    etCountD(
        @nargs=9,
        @blob="00000000 01000000 03000000 03000000 03000000 01000000 01000000 01000000 01000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00141cc6");
    pushf(@nargs=1, @blob="db0f4940");
    pushi(@nargs=1, @blob="03000000");
    divf(@blob="");
    subf(@blob="");
    etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 7cd9203e");
    etSpeedD(
        @nargs=9,
        @blob="00000000 00002040 00004040 0000a040 0000a040 0000803f 0000803f 0000803f 0000803f",
    );
    etSound(@nargs=3, @blob="00000000 07000000 ffffffff");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9",
    );
    pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
    pushi(@nargs=1, @blob="01000000");
    leqi(@blob="");
    jmpEq(@nargs=2, @blob="f0000000 00000000");
    etEx(
        @nargs=8,
        @blob="00000000 01000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d",
    );
    etEx(
        @nargs=8,
        @blob="00000000 02000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd",
    );
    etEx(
        @nargs=8,
        @blob="00000000 03000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d",
    );
    etEx(
        @nargs=8,
        @blob="00000000 04000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd",
    );
    jmp(@nargs=2, @blob="d8000000 00000000");
    etEx(
        @nargs=8,
        @blob="00000000 01000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e",
    );
    etEx(
        @nargs=8,
        @blob="00000000 02000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be",
    );
    etEx(
        @nargs=8,
        @blob="00000000 03000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e",
    );
    etEx(
        @nargs=8,
        @blob="00000000 04000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be",
    );
    etEx(
        @nargs=8,
        @blob="00000000 05000000 00000000 00004000 03000000 c1bdf0ff f02374c9 f02374c9",
    );
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="00000000 14000000 1e000000 1e000000 1e000000",
    );
    jmp(@nargs=2, @blob="40000000 00000000");
    etOn(@nargs=1, @blob="00000000");
    wait(@nargs=1, @blob="03000000");
    deci(@mask=0b1, @nargs=1, @blob="00000000");
    jmpNeq(@nargs=2, @blob="c4ffffff 00000000");
    ret(@blob="");
}


void Girl04_at2() {
    stackAlloc(@nargs=1, @blob="04000000");
    etNew(@nargs=1, @blob="01000000");
    etAim(@nargs=2, @blob="01000000 01000000");
    etSprite(@nargs=3, @blob="01000000 03000000 02000000");
    etCountD(
        @nargs=9,
        @blob="01000000 01000000 03000000 03000000 03000000 01000000 01000000 01000000 01000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00141cc6");
    pushf(@nargs=1, @blob="db0f4940");
    pushi(@nargs=1, @blob="03000000");
    divf(@blob="");
    addf(@blob="");
    etAngle(@mask=0b10, @nargs=3, @blob="01000000 000080bf 7cd9203e");
    etSpeedD(
        @nargs=9,
        @blob="01000000 00002040 00004040 0000a040 0000a040 0000803f 0000803f 0000803f 0000803f",
    );
    etSound(@nargs=3, @blob="01000000 07000000 ffffffff");
    etEx(
        @nargs=8,
        @blob="01000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9",
    );
    pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
    pushi(@nargs=1, @blob="01000000");
    leqi(@blob="");
    jmpEq(@nargs=2, @blob="f0000000 00000000");
    etEx(
        @nargs=8,
        @blob="01000000 01000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd",
    );
    etEx(
        @nargs=8,
        @blob="01000000 02000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d",
    );
    etEx(
        @nargs=8,
        @blob="01000000 03000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd",
    );
    etEx(
        @nargs=8,
        @blob="01000000 04000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d",
    );
    jmp(@nargs=2, @blob="d8000000 00000000");
    etEx(
        @nargs=8,
        @blob="01000000 01000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be",
    );
    etEx(
        @nargs=8,
        @blob="01000000 02000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e",
    );
    etEx(
        @nargs=8,
        @blob="01000000 03000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be",
    );
    etEx(
        @nargs=8,
        @blob="01000000 04000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e",
    );
    etEx(
        @nargs=8,
        @blob="01000000 05000000 00000000 00004000 03000000 c1bdf0ff f02374c9 f02374c9",
    );
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="00000000 14000000 1e000000 1e000000 1e000000",
    );
    jmp(@nargs=2, @blob="40000000 00000000");
    etOn(@nargs=1, @blob="01000000");
    wait(@nargs=1, @blob="03000000");
    deci(@mask=0b1, @nargs=1, @blob="00000000");
    jmpNeq(@nargs=2, @blob="c4ffffff 00000000");
    ret(@blob="");
}


void Girl05() {
    stackAlloc(@nargs=1, @blob="08000000");
    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 6c30355f 61740000 69690000 04000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00141cc6");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    moveVel(@mask=0b1, @nargs=2, @blob="00f41bc6 00008040");
+30: // 30
    moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000");
+30: // 60
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    pushf(@nargs=1, @blob="db0f4940");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    subf(@blob="");
    moveVelTime(
        @mask=0b100,
        @nargs=4,
        @blob="50000000 00000000 000080bf 00008040",
    );
+50: // 110
    callAsync(
        @mask=0b10,
        @nargs=2,
        @blob="0c000000 52476972 6c30355f 61740000 69690000 04000000",
    );
+6000: // 6110
    nop(@blob="");
    ret(@blob="");
}


void Girl06() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@nargs=2, @blob="00000000 28000000");
    flagSet(@nargs=1, @blob="40000000");
    setHurtbox(@nargs=2, @blob="00002042 00002042");
    setHitbox(@nargs=2, @blob="00008041 00008041");
    dropClear(@blob="");
    dropExtra(@nargs=2, @blob="02000000 04000000");
    dropArea(@nargs=2, @blob="00000042 00000042");
    moveVel(@nargs=2, @blob="db0fc93f 0000c040");
    moveVelTime(@nargs=4, @blob="32000000 00000000 f02374c9 00000000");
+50: // 50
    callAsync(@nargs=1, @blob="0c000000 4769726c 30365f61 74000000");
    callAsync(@nargs=1, @blob="0c000000 4769726c 30365f61 74320000");
    wait(@nargs=1, @blob="64000000");
    {"234567"}:  callAsync(
        @nargs=1,
        @blob="0c000000 4769726c 30365f61 74000000",
    );
    {"234567"}:  callAsync(
        @nargs=1,
        @blob="0c000000 4769726c 30365f61 74320000",
    );
+200: // 250
    moveVel(@nargs=2, @blob="db0fc9bf 00000000");
    moveVelTime(@nargs=4, @blob="64000000 00000000 f02374c9 00004040");
+180: // 430
    nop(@blob="");
    killAsync(@nargs=1, @blob="00000000");
+6000: // 6430
    nop(@blob="");
    delete(@blob="");
}


void Girl06_at() {
    stackAlloc(@nargs=1, @blob="04000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 01000000");
    etSprite(@nargs=3, @blob="00000000 03000000 06000000");
    etCountD(
        @nargs=9,
        @blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00141cc6");
    pushf(@nargs=1, @blob="db0f4940");
    pushi(@nargs=1, @blob="03000000");
    divf(@blob="");
    subf(@blob="");
    etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf 7cd9203e");
    etSpeedD(
        @nargs=9,
        @blob="00000000 00002040 00004040 0000a040 0000a040 0000803f 0000803f 0000803f 0000803f",
    );
    etSound(@nargs=3, @blob="00000000 07000000 ffffffff");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9",
    );
    pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
    pushi(@nargs=1, @blob="01000000");
    leqi(@blob="");
    jmpEq(@nargs=2, @blob="f0000000 00000000");
    etEx(
        @nargs=8,
        @blob="00000000 01000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d",
    );
    etEx(
        @nargs=8,
        @blob="00000000 02000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd",
    );
    etEx(
        @nargs=8,
        @blob="00000000 03000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d",
    );
    etEx(
        @nargs=8,
        @blob="00000000 04000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd",
    );
    jmp(@nargs=2, @blob="d8000000 00000000");
    etEx(
        @nargs=8,
        @blob="00000000 01000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e",
    );
    etEx(
        @nargs=8,
        @blob="00000000 02000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be",
    );
    etEx(
        @nargs=8,
        @blob="00000000 03000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e",
    );
    etEx(
        @nargs=8,
        @blob="00000000 04000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be",
    );
    etEx(
        @nargs=8,
        @blob="00000000 05000000 00000000 00004000 03000000 c1bdf0ff f02374c9 f02374c9",
    );
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="00000000 14000000 1e000000 1e000000 1e000000",
    );
    jmp(@nargs=2, @blob="40000000 00000000");
    etOn(@nargs=1, @blob="00000000");
    wait(@nargs=1, @blob="03000000");
    deci(@mask=0b1, @nargs=1, @blob="00000000");
    jmpNeq(@nargs=2, @blob="c4ffffff 00000000");
    ret(@blob="");
}


void Girl06_at2() {
    stackAlloc(@nargs=1, @blob="04000000");
    etNew(@nargs=1, @blob="01000000");
    etAim(@nargs=2, @blob="01000000 01000000");
    etSprite(@nargs=3, @blob="01000000 03000000 02000000");
    etCountD(
        @nargs=9,
        @blob="01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00141cc6");
    pushf(@nargs=1, @blob="db0f4940");
    pushi(@nargs=1, @blob="03000000");
    divf(@blob="");
    addf(@blob="");
    etAngle(@mask=0b10, @nargs=3, @blob="01000000 000080bf 7cd9203e");
    etSpeedD(
        @nargs=9,
        @blob="01000000 00002040 00004040 0000a040 0000a040 0000803f 0000803f 0000803f 0000803f",
    );
    etSound(@nargs=3, @blob="01000000 07000000 ffffffff");
    etEx(
        @nargs=8,
        @blob="01000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9",
    );
    pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
    pushi(@nargs=1, @blob="01000000");
    leqi(@blob="");
    jmpEq(@nargs=2, @blob="f0000000 00000000");
    etEx(
        @nargs=8,
        @blob="01000000 01000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd",
    );
    etEx(
        @nargs=8,
        @blob="01000000 02000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d",
    );
    etEx(
        @nargs=8,
        @blob="01000000 03000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8ebd",
    );
    etEx(
        @nargs=8,
        @blob="01000000 04000000 00000000 08000000 1e000000 c1bdf0ff 00000000 35fa8e3d",
    );
    jmp(@nargs=2, @blob="d8000000 00000000");
    etEx(
        @nargs=8,
        @blob="01000000 01000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be",
    );
    etEx(
        @nargs=8,
        @blob="01000000 02000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e",
    );
    etEx(
        @nargs=8,
        @blob="01000000 03000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a06be",
    );
    etEx(
        @nargs=8,
        @blob="01000000 04000000 00000000 08000000 10000000 c1bdf0ff 00000000 920a063e",
    );
    etEx(
        @nargs=8,
        @blob="01000000 05000000 00000000 00004000 03000000 c1bdf0ff f02374c9 f02374c9",
    );
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="00000000 14000000 1e000000 1e000000 1e000000",
    );
    jmp(@nargs=2, @blob="40000000 00000000");
    etOn(@nargs=1, @blob="01000000");
    wait(@nargs=1, @blob="03000000");
    deci(@mask=0b1, @nargs=1, @blob="00000000");
    jmpNeq(@nargs=2, @blob="c4ffffff 00000000");
    ret(@blob="");
}


void MBoss() {
    stackAlloc(@nargs=1, @blob="04000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="23d9ffff");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="24d9ffff");
    pushi(@nargs=1, @blob="01000000");
    seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
    setBoss(@nargs=1, @blob="00000000");
    anmSelect(@nargs=1, @blob="00000000");
    anmSetSprite(@nargs=2, @blob="01000000 5c000000");
    anmSetSprite(@nargs=2, @blob="02000000 aa000000");
    anmSelect(@nargs=1, @blob="02000000");
    anmSetSprite(@nargs=2, @blob="00000000 00000000");
    flagSet(@nargs=1, @blob="40000000");
    setHurtbox(@nargs=2, @blob="00004042 00004042");
    setHitbox(@nargs=2, @blob="00002042 00002042");
    {"014567"}:  lifeSet(@nargs=1, @blob="38310000");
    {"234567"}:  lifeSet(@nargs=1, @blob="f0230000");
    {"014567"}:  lifeMarker(@nargs=3, @blob="00000000 00600646 ffd0d0ff");
    {"014567"}:  lifeMarker(@nargs=3, @blob="01000000 00608645 ffb0b0ff");
    {"234567"}:  lifeMarker(@nargs=3, @blob="00000000 0080a245 ffd0d0ff");
    {"234567"}:  lifeMarker(@nargs=3, @blob="01000000 00006144 80a0ffff");
    movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00000043");
    {"014567"}:  setInterrupt(
        @nargs=4,
        @blob="00000000 98210000 00000000 08000000 4d426f73 73320000",
    );
    {"014567"}:  setInterrupt(
        @nargs=4,
        @blob="01000000 00000000 fc030000 0c000000 4d426f73 73446561 64000000",
    );
    {"014567"}:  setTimeout(
        @nargs=2,
        @blob="01000000 0c000000 4d426f73 73457363 61706500",
    );
    {"234567"}:  setInterrupt(
        @nargs=4,
        @blob="00000000 50140000 00000000 08000000 4d426f73 73320000",
    );
    {"234567"}:  setInterrupt(
        @nargs=4,
        @blob="01000000 00000000 fc030000 0c000000 4d426f73 73446561 64000000",
    );
    {"234567"}:  setTimeout(
        @nargs=2,
        @blob="01000000 0c000000 4d426f73 73457363 61706500",
    );
    setChapter(@nargs=1, @blob="06000000");
    wait(@nargs=1, @blob="64000000");
    jmp(@nargs=2, @blob="ec000000 00000000");
    call(@nargs=1, @blob="0c000000 4d426f73 735f6174 31000000");
    moveVel(@nargs=2, @blob="db0fc93f 0000b040");
    moveVelTime(@nargs=4, @blob="64000000 04000000 f02374c9 00000000");
    wait(@nargs=1, @blob="64000000");
    call(@nargs=1, @blob="0c000000 4d426f73 735f6174 32000000");
    wait(@nargs=1, @blob="1e000000");
    movePosTime(
        @mask=0b100,
        @nargs=4,
        @blob="3c000000 04000000 00b41bc6 00000043",
    );
    wait(@nargs=1, @blob="3c000000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="18ffffff 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() {
    stackAlloc(@nargs=1, @blob="10000000");
    setChapter(@nargs=1, @blob="07000000");
    {"014567"}:  setInterrupt(
        @nargs=4,
        @blob="00000000 cc100000 00000000 08000000 4d426f73 73330000",
    );
    {"234567"}:  setInterrupt(
        @nargs=4,
        @blob="00000000 84030000 00000000 0c000000 4d426f73 73436172 64310000",
    );
    setInterrupt(
        @nargs=4,
        @blob="01000000 00000000 fc030000 0c000000 4d426f73 73446561 64000000",
    );
    setTimeout(@nargs=2, @blob="01000000 0c000000 4d426f73 73457363 61706500");
    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 01000000");
    dropExtra(@nargs=2, @blob="02000000 02000000");
    dropArea(@nargs=2, @blob="00004042 00004042");
    dropItems(@blob="");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="23d9ffff");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="24d9ffff");
    killAllAsync(@blob="");
    setInvuln(@nargs=1, @blob="3c000000");
    enmCreate(
        @nargs=6,
        @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000",
    );
    anmSelect(@nargs=1, @blob="02000000");
    anmSetSprite(@nargs=2, @blob="00000000 00000000");
    movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00002043");
    playSound(@nargs=1, @blob="0f000000");
+60: // 60
    nop(@blob="");
    anmPlay(@nargs=2, @blob="00000000 83000000");
+60: // 120
    callAsync(@nargs=1, @blob="0c000000 4d426f73 73325f61 74000000");
    jmp(@nargs=2, @blob="2c000000 78000000");
    wait(@nargs=1, @blob="e8030000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="d8ffffff 78000000");
    delete(@blob="");
}


void MBoss2_at() {
    stackAlloc(@nargs=1, @blob="08000000");
    pushf(@nargs=1, @blob="dc0f4940");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="00000000");
    setf(@mask=0b1, @nargs=1, @blob="00008040");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 03000000");
    etSprite(@nargs=3, @blob="00000000 07000000 01000000");
    etCount(@nargs=3, @blob="00000000 01000000 01000000");
    etAngle(@nargs=3, @blob="00000000 00000000 920a063d");
    etSpeed(@nargs=3, @blob="00000000 cdcccc3e 0000803f");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="00000000 01000000 00000000 04000000 3c000000 c1bdf0ff c92f163d f02374c9",
    );
    etDist(@nargs=2, @blob="00000000 0000a041");
    etCopy(@nargs=2, @blob="01000000 00000000");
    etSprite(@nargs=3, @blob="01000000 07000000 02000000");
    etEx(
        @nargs=8,
        @blob="00000000 01000000 00000000 04000000 3c000000 c1bdf0ff 4f1be83c f02374c9",
    );
    pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
    pushi(@nargs=1, @blob="03000000");
    eqi(@blob="");
    jmpEq(@nargs=2, @blob="78000000 00000000");
    etEx(
        @nargs=8,
        @blob="01000000 01000000 00000000 04000000 3c000000 c1bdf0ff cdcc4c3d f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="00000000 01000000 00000000 04000000 3c000000 c1bdf0ff 295c0f3d f02374c9",
    );
    jmp(@nargs=2, @blob="58010000 00000000");
    etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="b6867840");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    validRad(@mask=0b1, @nargs=1, @blob="00000000");
    {"1234567"}:  etOn(@nargs=1, @blob="00000000");
    etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000000 00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="b686f840");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    validRad(@mask=0b1, @nargs=1, @blob="00000000");
    etOn(@nargs=1, @blob="01000000");
    diffWait(@nargs=4, @blob="02000000 02000000 01000000 01000000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="acfeffff 00000000");
    ret(@blob="");
}


void MBoss3() {
    stackAlloc(@nargs=1, @blob="10000000");
    setChapter(@nargs=1, @blob="08000000");
    setInterrupt(
        @nargs=4,
        @blob="01000000 00000000 fc030000 0c000000 4d426f73 73446561 64000000",
    );
    setTimeout(@nargs=2, @blob="01000000 0c000000 4d426f73 73457363 61706500");
    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 01000000");
    dropExtra(@nargs=2, @blob="02000000 02000000");
    dropArea(@nargs=2, @blob="00004042 00004042");
    dropItems(@blob="");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="23d9ffff");
    killAllAsync(@blob="");
    setInvuln(@nargs=1, @blob="3c000000");
    enmCreate(
        @nargs=6,
        @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000",
    );
    anmSelect(@nargs=1, @blob="02000000");
    anmSetSprite(@nargs=2, @blob="00000000 00000000");
    movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 00002043");
    playSound(@nargs=1, @blob="0f000000");
+60: // 60
    nop(@blob="");
    callAsync(@nargs=1, @blob="0c000000 4d426f73 73335f61 74000000");
    moveLimit(@nargs=4, @blob="00000000 00002043 00008c43 00008042");
    jmp(@nargs=2, @blob="48000000 3c000000");
    moveRand(@nargs=3, @blob="3c000000 04000000 00000040");
    wait(@nargs=1, @blob="64000000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="bcffffff 3c000000");
    jmp(@nargs=2, @blob="2c000000 3c000000");
    wait(@nargs=1, @blob="e8030000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="d8ffffff 3c000000");
    delete(@blob="");
}


void MBoss3_at() {
    stackAlloc(@nargs=1, @blob="08000000");
    pushf(@nargs=1, @blob="dc0f4940");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="00000000");
    setf(@mask=0b1, @nargs=1, @blob="00008040");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 03000000");
    etSprite(@nargs=3, @blob="00000000 07000000 03000000");
    etCount(@nargs=3, @blob="00000000 01000000 01000000");
    etAngle(@nargs=3, @blob="00000000 00000000 920a063d");
    etSpeedD(
        @nargs=9,
        @blob="00000000 cdcccc3e cdcccc3e 3333b33f 9a991940 0000803f 0000803f 0000803f 0000803f",
    );
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="00000000 01000000 00000000 04000000 3c000000 c1bdf0ff abaa2a3d f02374c9",
    );
    etDist(@nargs=2, @blob="00000000 0000a041");
    etCopy(@nargs=2, @blob="01000000 00000000");
    etSprite(@nargs=3, @blob="01000000 07000000 04000000");
    etEx(
        @nargs=8,
        @blob="00000000 01000000 00000000 04000000 3c000000 c1bdf0ff 8988083d f02374c9",
    );
    jmp(@nargs=2, @blob="58010000 00000000");
    etAngle(@mask=0b10, @nargs=3, @blob="00000000 00000000 00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="b6867840");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    validRad(@mask=0b1, @nargs=1, @blob="00000000");
    {"1234567"}:  etOn(@nargs=1, @blob="00000000");
    etAngle(@mask=0b10, @nargs=3, @blob="01000000 00000000 00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="b686f840");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    validRad(@mask=0b1, @nargs=1, @blob="00000000");
    etOn(@nargs=1, @blob="01000000");
    diffWait(@nargs=4, @blob="02000000 02000000 01000000 01000000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="acfeffff 00000000");
    ret(@blob="");
}


void MBossCard1() {
    stackAlloc(@nargs=1, @blob="04000000");
    setInterrupt(
        @nargs=4,
        @blob="00000000 00000000 70080000 0c000000 4d426f73 73446561 64000000",
    );
    setTimeout(@nargs=2, @blob="00000000 0c000000 4d426f73 73457363 61706500");
    moveLimit(@nargs=4, @blob="00000000 0000a042 0000c043 00008042");
    spell3(
        @nargs=4,
        @blob="00000000 70080000 20a10700 18000000 fe881f53 724f0326 fa841aba 69740bc5 e5a20c5a 625c81e8",
    );
    setChapter(@nargs=1, @blob="0f000000");
    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");
    killAllAsync(@blob="");
    movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 0000a042");
    setInvuln(@nargs=1, @blob="3c000000");
    playSound(@nargs=1, @blob="07000000");
    enmCreate(
        @nargs=6,
        @blob="0c000000 45636c5f 45744272 65616b00 00000000 00000000 0f270000 00000000 00000000",
    );
+60: // 60
    anmPlay(@nargs=2, @blob="00000000 83000000");
+60: // 120
    nop(@blob="");
+30: // 150
    nop(@blob="");
    callAsync(@nargs=1, @blob="10000000 4d426f73 73436172 64315f61 74000000");
    callAsync(@nargs=1, @blob="10000000 4d426f73 73436172 64315f61 74320000");
    jmp(@nargs=2, @blob="2c000000 96000000");
    wait(@nargs=1, @blob="e8030000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="d8ffffff 96000000");
    delete(@blob="");
}


void MBossCard1_at() {
    stackAlloc(@nargs=1, @blob="04000000");
    etNew(@nargs=1, @blob="01000000");
    etAim(@nargs=2, @blob="01000000 01000000");
    etSprite(@nargs=3, @blob="01000000 0c000000 04000000");
    etCount(@nargs=3, @blob="01000000 01000000 01000000");
    etAngle(@nargs=3, @blob="01000000 00000000 00000000");
    etSpeed(@nargs=3, @blob="01000000 00000000 00000040");
    etEx(
        @nargs=8,
        @blob="01000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="01000000 01000000 00000000 00100000 b4000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="01000000 02000000 00000000 04000000 78000000 c1bdf0ff 8988883d db0fc93f",
    );
    jmp(@nargs=2, @blob="a0000000 00000000");
    pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
    pushi(@nargs=1, @blob="50000000");
    mulf(@blob="");
    etOffsetRad(@mask=0b110, @nargs=3, @blob="01000000 00381cc6 000080bf");
    etOn(@nargs=1, @blob="01000000");
    diffWait(@nargs=4, @blob="05000000 05000000 05000000 05000000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="64ffffff 00000000");
    ret(@blob="");
}


void MBossCard1_at2() {
    stackAlloc(@nargs=1, @blob="00000000");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 00000000 04000000 3c000000 c1bdf0ff 8988083d db0fc93f",
    );
    etSound(@nargs=3, @blob="00000000 10000000 ffffffff");
    jmp(@nargs=2, @blob="2c020000 00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00341cc6");
    pushf(@mask=0b1, @nargs=1, @blob="00b41bc6");
    lessf(@blob="");
    jmpEq(@nargs=2, @blob="a4000000 00000000");
    pushf(@nargs=1, @blob="00008040");
    pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
    mulf(@blob="");
    pushf(@nargs=1, @blob="0000c03f");
    addf(@blob="");
    moveVel(@mask=0b10, @nargs=2, @blob="00000000 000080bf");
    jmp(@nargs=2, @blob="8c000000 00000000");
    pushf(@nargs=1, @blob="00008040");
    pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
    mulf(@blob="");
    pushf(@nargs=1, @blob="0000c03f");
    addf(@blob="");
    moveVel(@mask=0b10, @nargs=2, @blob="db0f4940 000080bf");
    moveVelTime(@nargs=4, @blob="3c000000 04000000 f02374c9 00000000");
    laserOnA2(
        @nargs=8,
        @blob="0c000000 01000000 db0fc93f 00008040 00000000 00006043 00000044 00008042",
    );
    {"34567"}:  laserOnA2(
        @nargs=8,
        @blob="0c000000 01000000 920a863f 00008040 00000000 00006043 00000044 00008042",
    );
    {"34567"}:  laserOnA2(
        @nargs=8,
        @blob="0c000000 01000000 920a0640 00008040 00000000 00006043 00000044 00008042",
    );
    wait(@nargs=1, @blob="3c000000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="d8fdffff 00000000");
    ret(@blob="");
}


void MBossDead() {
    stackAlloc(@nargs=1, @blob="04000000");
    flagSet(@nargs=1, @blob="20000000");
    spellEnd(@blob="");
    pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
    pushi(@nargs=1, @blob="01000000");
    leqi(@blob="");
    jmpEq(@nargs=2, @blob="04010000 00000000");
    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",
    );
    jmp(@nargs=2, @blob="a8000000 00000000");
    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");
    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 05000000");
    dropExtra(@nargs=2, @blob="02000000 08000000");
    dropArea(@nargs=2, @blob="00004042 00004042");
    dropItems(@blob="");
    setBoss(@nargs=1, @blob="ffffffff");
    setScreenShake(@nargs=3, @blob="1e000000 0c000000 00000000");
    anmPlay(@nargs=2, @blob="00000000 4c000000");
    playSound(@nargs=1, @blob="12000000");
    setChapter(@nargs=1, @blob="00000000");
    delete(@blob="");
    delete(@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="");
    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");
    lifeSet(@nargs=1, @blob="a0860100");
    setBoss(@nargs=1, @blob="ffffffff");
    flagSet(@nargs=1, @blob="10000000");
    movePosTime(@nargs=4, @blob="3c000000 04000000 00000000 000000c2");
+60: // 60
    setChapter(@nargs=1, @blob="00000000");
    delete(@blob="");
    delete(@blob="");
}


void MBoss_at1() {
    stackAlloc(@nargs=1, @blob="08000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 02000000");
    etSprite(@nargs=3, @blob="00000000 01000000 06000000");
    etCount(@nargs=3, @blob="00000000 20000000 01000000");
    etAngle(@nargs=3, @blob="00000000 00000000 920a063d");
    etSpeed(@nargs=3, @blob="00000000 00004040 0000803f");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9",
    );
    etDist(@nargs=2, @blob="00000000 0000c041");
    etSpeedD(
        @nargs=9,
        @blob="00000000 00000040 00004040 00004040 00004040 0000803f 0000803f 0000803f 0000803f",
    );
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="00000000 03000000 06000000 09000000 0b000000",
    );
    pushi(@nargs=1, @blob="04000000");
    seti(@mask=0b1, @nargs=1, @blob="04000000");
    jmp(@nargs=2, @blob="a8000000 00000000");
    etCount(@mask=0b10, @nargs=3, @blob="00000000 00000000 01000000");
    etOn(@nargs=1, @blob="00000000");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="02000000");
    muli(@blob="");
    seti(@mask=0b1, @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 MBoss_at2() {
    stackAlloc(@nargs=1, @blob="08000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 02000000");
    etSprite(@nargs=3, @blob="00000000 01000000 02000000");
    etCountD(
        @nargs=9,
        @blob="00000000 06000000 08000000 10000000 20000000 01000000 01000000 02000000 02000000",
    );
    etAngle(@nargs=3, @blob="00000000 00000000 920a063d");
    etSpeedD(
        @nargs=9,
        @blob="00000000 cdcc4c3f cdcc4c3f 9a99993f 6666e63f 0000803f 0000803f 0000803f 0000803f",
    );
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 02000000 c1bdf0ff f02374c9 f02374c9",
    );
    etDist(@nargs=2, @blob="00000000 0000c041");
    pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
    pushi(@nargs=1, @blob="00000000");
    eqi(@blob="");
    jmpEq(@nargs=2, @blob="30000000 00000000");
    etAim(@nargs=2, @blob="00000000 04000000");
    etOn(@nargs=1, @blob="00000000");
    ret(@blob="");
}


void MainBossDebug() {
    stackAlloc(@nargs=1, @blob="00000000");
+120: // 120
    dialogRead(@nargs=1, @blob="00000000");
    ins_500(@nargs=1, @blob="03000000");
    dialogWait(@blob="");
    enmCreateA(
        @nargs=6,
        @blob="08000000 426f7373 00000000 000010c3 000080c1 28000000 e8030000 01000000",
    );
    dialogWait(@blob="");
    deathWait(@blob="");
+60: // 180
    dialogRead(@nargs=1, @blob="01000000");
    dialogWait(@blob="");
    ret(@blob="");
    ret(@blob="");
}


void MainMBossDebug() {
    stackAlloc(@nargs=1, @blob="00000000");
    ins_500(@nargs=1, @blob="01000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4d426f73 73000000 00000000 000000c2 28000000 e8030000 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="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    wait(@nargs=1, @blob="3c000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 00000000 000000c2 b0040000 e8030000 02000000",
    );
    ret(@blob="");
}


void MainSub01() {
    stackAlloc(@nargs=1, @blob="08000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="44020000 00000000");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="02000000");
    modi(@blob="");
    pushi(@nargs=1, @blob="00000000");
    eqi(@blob="");
    jmpEq(@nargs=2, @blob="d0000000 00000000");
    pushi(@nargs=1, @blob="40ffffff");
    pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
    pushi(@nargs=1, @blob="20000000");
    mulf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00008040");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303000 00008040 0000e843 14000000 e8030000 02000000",
    );
    jmp(@nargs=2, @blob="b8000000 00000000");
    pushi(@nargs=1, @blob="c0000000");
    pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
    pushi(@nargs=1, @blob="20000000");
    mulf(@blob="");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00008040");
    enmCreateAM(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303000 00008040 0000e843 14000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="0a000000");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    addi(@blob="");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="14000000");
    lessi(@blob="");
    jmpNeq(@nargs=2, @blob="9cfdffff 00000000");
    ret(@blob="");
}


void MainSub02() {
    stackAlloc(@nargs=1, @blob="04000000");
    pushi(@nargs=1, @blob="a0000000");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="00000000");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 20
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 40
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 60
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 80
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 100
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 120
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 140
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 160
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 180
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 200
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 220
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 240
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 260
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 280
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 300
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 320
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 340
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 360
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    ret(@blob="");
}


void MainSub03() {
    stackAlloc(@nargs=1, @blob="08000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="db0fc93f");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="40000000");
    divf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="66662640");
    setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
    pushf(@nargs=1, @blob="9a99193f");
    setf(@mask=0b1, @nargs=1, @blob="00ec1bc6");
    enmCreateA(
        @nargs=6,
        @blob="08000000 526f636b 42000000 00000000 000000c2 e8030000 e8030000 02000000",
    );
    pushi(@nargs=1, @blob="14000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="e4010000 00000000");
    pushf(@nargs=1, @blob="db0fc93f");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="10000000");
    divf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="66662640");
    pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
    pushf(@nargs=1, @blob="0000803f");
    mulf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
    pushf(@nargs=1, @blob="66662640");
    pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
    pushf(@nargs=1, @blob="0000803f");
    mulf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00ec1bc6");
    pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
    pushi(@nargs=1, @blob="80000000");
    mulf(@blob="");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 526f636b 53000000 000080bf 000000c2 14000000 e8030000 03000000",
    );
    wait(@nargs=1, @blob="14000000");
    deci(@mask=0b1, @nargs=1, @blob="00000000");
    jmpNeq(@nargs=2, @blob="20feffff 00000000");
    ret(@blob="");
}


void MainSub04() {
    stackAlloc(@nargs=1, @blob="00000000");
    wait(@nargs=1, @blob="c8000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30340000 00000043 000000c2 bc020000 e8030000 03000000",
    );
    wait(@nargs=1, @blob="c8000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30340000 000000c3 000000c2 bc020000 e8030000 03000000",
    );
    ret(@blob="");
}


void MainSub05() {
    stackAlloc(@nargs=1, @blob="00000000");
    call(@nargs=1, @blob="0c000000 4d61696e 53756230 354c0000");
    call(@nargs=1, @blob="0c000000 4d61696e 53756230 35520000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 354c0000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 35520000");
    ret(@blob="");
}


void MainSub05L() {
    stackAlloc(@nargs=1, @blob="04000000");
    pushi(@nargs=1, @blob="60ffffff");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    ret(@blob="");
}


void MainSub05R() {
    stackAlloc(@nargs=1, @blob="04000000");
    pushi(@nargs=1, @blob="a0000000");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    ret(@blob="");
}


void MainSub06() {
    stackAlloc(@nargs=1, @blob="00000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000");
    wait(@nargs=1, @blob="3c000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36520000");
    wait(@nargs=1, @blob="3c000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000");
    wait(@nargs=1, @blob="3c000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36520000");
    wait(@nargs=1, @blob="3c000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000");
    wait(@nargs=1, @blob="3c000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36520000");
    wait(@nargs=1, @blob="3c000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000");
    wait(@nargs=1, @blob="3c000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36520000");
    wait(@nargs=1, @blob="3c000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000");
    wait(@nargs=1, @blob="3c000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36520000");
    wait(@nargs=1, @blob="3c000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000");
    wait(@nargs=1, @blob="3c000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36520000");
    wait(@nargs=1, @blob="3c000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000");
    wait(@nargs=1, @blob="3c000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 36520000");
    wait(@nargs=1, @blob="3c000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 364c0000");
    wait(@nargs=1, @blob="3c000000");
    ret(@blob="");
}


void MainSub06L() {
    stackAlloc(@nargs=1, @blob="04000000");
    pushi(@nargs=1, @blob="60ffffff");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateAF(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateAF(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateAF(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateAF(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateAF(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateAF(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateAF(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    ret(@blob="");
}


void MainSub06R() {
    stackAlloc(@nargs=1, @blob="04000000");
    pushi(@nargs=1, @blob="a0000000");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateAF(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateAF(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateAF(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateAF(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateAF(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateAF(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    enmCreateAF(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303500 00000000 000000c2 46000000 e8030000 01000000",
    );
    wait(@nargs=1, @blob="14000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    ret(@blob="");
}


void MainSub07() {
    stackAlloc(@nargs=1, @blob="00000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30360000 000000c3 000000c2 f4010000 e8030000 03000000",
    );
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30360000 00000043 000000c2 f4010000 e8030000 03000000",
    );
    ret(@blob="");
}


void MainSub08() {
    stackAlloc(@nargs=1, @blob="08000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="db0fc93f");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="40000000");
    divf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="66662640");
    setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
    pushf(@nargs=1, @blob="9a99193f");
    setf(@mask=0b1, @nargs=1, @blob="00ec1bc6");
    enmCreateA(
        @nargs=6,
        @blob="08000000 526f636b 42000000 00000000 000000c2 e8030000 e8030000 02000000",
    );
    pushi(@nargs=1, @blob="14000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="e4010000 00000000");
    pushf(@nargs=1, @blob="db0fc93f");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="10000000");
    divf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="66662640");
    pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
    pushf(@nargs=1, @blob="0000803f");
    mulf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
    pushf(@nargs=1, @blob="66662640");
    pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
    pushf(@nargs=1, @blob="0000803f");
    mulf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00ec1bc6");
    pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
    pushi(@nargs=1, @blob="80000000");
    mulf(@blob="");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 526f636b 53000000 000080bf 000000c2 14000000 e8030000 03000000",
    );
    wait(@nargs=1, @blob="14000000");
    deci(@mask=0b1, @nargs=1, @blob="00000000");
    jmpNeq(@nargs=2, @blob="20feffff 00000000");
    pushf(@nargs=1, @blob="db0fc93f");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="40000000");
    divf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="66662640");
    setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
    pushf(@nargs=1, @blob="9a99193f");
    setf(@mask=0b1, @nargs=1, @blob="00ec1bc6");
    enmCreateA(
        @nargs=6,
        @blob="08000000 526f636b 42000000 00000000 000000c2 e8030000 e8030000 02000000",
    );
    ret(@blob="");
}


void MainSub09() {
    stackAlloc(@nargs=1, @blob="04000000");
    pushi(@nargs=1, @blob="60ffffff");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="00000000");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 20
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 40
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 60
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 80
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 100
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 120
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 140
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 160
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 180
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30360000 000000c3 000000c2 f4010000 e8030000 03000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 200
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 220
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 240
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 260
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 280
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 300
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 320
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 340
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 360
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    ret(@blob="");
}


void MainSub10() {
    stackAlloc(@nargs=1, @blob="04000000");
    pushi(@nargs=1, @blob="a0000000");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="00000000");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 20
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 40
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 60
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 80
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 100
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 120
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 140
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 160
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    subf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 180
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30360000 00000043 000000c2 f4010000 e8030000 03000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 200
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 220
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 52476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 240
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 260
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 280
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 42476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 300
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 320
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 340
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="20000000");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="7077563e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
+20: // 360
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 47476972 6c303200 00000000 000000c2 3c000000 e8030000 02000000",
    );
    ret(@blob="");
}


void MapleEnemy() {
    stackAlloc(@nargs=1, @blob="04000000");
    flagSet(@nargs=1, @blob="20000000");
    anmPlayAbs(@nargs=2, @blob="00000000 84000000");
+3: // 3
    jmp(@nargs=2, @blob="e8ffffff 00000000");
    delete(@blob="");
}


void RGirl00() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@nargs=2, @blob="01000000 2e000000");
    dropMain(@nargs=1, @blob="01000000");
    call(
        @nargs=3,
        @blob="08000000 4769726c 30300000 69690000 05000000 69690000 01000000",
    );
    delete(@blob="");
}


void RGirl00_at() {
    stackAlloc(@nargs=1, @blob="0c000000");
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="08000000 03000000 03000000 03000000 03000000",
    );
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="04000000 01000000 01000000 01000000 02000000",
    );
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="00000000");
    eqi(@blob="");
    jmpEq(@nargs=2, @blob="28000000 00000000");
    ret(@blob="");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 00000000");
    etSprite(@nargs=3, @blob="00000000 01000000 06000000");
    etCountD(
        @nargs=9,
        @blob="00000000 01000000 03000000 03000000 05000000 01000000 01000000 01000000 01000000",
    );
    etAngle(@nargs=3, @blob="00000000 00000000 920a063d");
    etSpeedD(
        @nargs=9,
        @blob="00000000 00000040 00000040 00004040 0000b040 0000803f 0000803f 0000803f 00000040",
    );
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9",
    );
    etOn(@nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="40000000 00000000");
    wait(@mask=0b1, @nargs=1, @blob="08000000");
    etOn(@nargs=1, @blob="00000000");
    deci(@mask=0b1, @nargs=1, @blob="04000000");
    jmpNeq(@nargs=2, @blob="c4ffffff 00000000");
    ret(@blob="");
}


void RGirl02() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@nargs=2, @blob="01000000 2e000000");
    dropMain(@nargs=1, @blob="01000000");
    call(
        @nargs=3,
        @blob="08000000 4769726c 30320000 69690000 05000000 69690000 00000000",
    );
    delete(@blob="");
}


void RGirl02_at() {
    stackAlloc(@nargs=1, @blob="10000000");
    diffF(
        @mask=0b1,
        @nargs=5,
        @blob="00004041 0000c03f cdcc0c40 00002040 00008040",
    );
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="08000000 1e000000 03000000 0a000000 03000000",
    );
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="04000000 01000000 01000000 0a000000 14000000",
    );
    {"234567"}:  pushi(@nargs=1, @blob="01000000");
    {"234567"}:  seti(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="00000000");
    eqi(@blob="");
    jmpEq(@nargs=2, @blob="28000000 00000000");
    ret(@blob="");
    pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
    pushi(@nargs=1, @blob="78000000");
    modi(@blob="");
    pushi(@nargs=1, @blob="14000000");
    addi(@blob="");
    wait(@mask=0b1, @nargs=1, @blob="ffffffff");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 00000000");
    etSprite(@nargs=3, @blob="00000000 02000000 06000000");
    etCountD(
        @nargs=9,
        @blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 03000000 01000000",
    );
    etAngle(@nargs=3, @blob="00000000 00000000 920a063d");
    etSpeedD(
        @nargs=9,
        @blob="00000000 00002040 00002040 00006040 00009040 0000803f 0000803f 00000040 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",
    );
    {"1234567"}:  etOn(@nargs=1, @blob="00000000");
    pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
    pushi(@nargs=1, @blob="03000000");
    eqi(@blob="");
    jmpEq(@nargs=2, @blob="04010000 00000000");
    jmp(@nargs=2, @blob="c0000000 00000000");
    pushi(@nargs=1, @blob="03000000");
    seti(@mask=0b1, @nargs=1, @blob="04000000");
    jmp(@nargs=2, @blob="40000000 00000000");
    wait(@nargs=1, @blob="05000000");
    etOn(@nargs=1, @blob="00000000");
    deci(@mask=0b1, @nargs=1, @blob="04000000");
    jmpNeq(@nargs=2, @blob="c4ffffff 00000000");
    wait(@nargs=1, @blob="f0000000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="44ffffff 00000000");
    ret(@blob="");
}


void RGirl03() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@nargs=2, @blob="01000000 2e000000");
    dropMain(@nargs=1, @blob="01000000");
    call(@nargs=2, @blob="08000000 4769726c 30330000 69690000 05000000");
    delete(@blob="");
}


void RGirl03_at() {
    stackAlloc(@nargs=1, @blob="0c000000");
    diffF(
        @mask=0b1,
        @nargs=5,
        @blob="00000041 0000c03f cdcc0c40 00002040 00008040",
    );
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="04000000 1e000000 03000000 0a000000 03000000",
    );
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="00000000 01000000 01000000 0a000000 14000000",
    );
    pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
    pushi(@nargs=1, @blob="78000000");
    modi(@blob="");
    pushi(@nargs=1, @blob="14000000");
    addi(@blob="");
    wait(@mask=0b1, @nargs=1, @blob="ffffffff");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 00000000");
    etSprite(@nargs=3, @blob="00000000 02000000 06000000");
    etCount(@nargs=3, @blob="00000000 01000000 01000000");
    etAngle(@nargs=3, @blob="00000000 00000000 920a063d");
    etSpeed(@nargs=3, @blob="00000000 00000040 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",
    );
    etOn(@nargs=1, @blob="00000000");
    ret(@blob="");
}


void RGirl05() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@nargs=2, @blob="01000000 2e000000");
    dropMain(@nargs=1, @blob="01000000");
    call(
        @nargs=3,
        @blob="08000000 4769726c 30350000 69690000 05000000 69690000 00000000",
    );
    delete(@blob="");
}


void RGirl05_at() {
    stackAlloc(@nargs=1, @blob="10000000");
    diffF(
        @mask=0b1,
        @nargs=5,
        @blob="00004041 0000c03f cdcc0c40 00002040 00008040",
    );
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="08000000 1e000000 03000000 0a000000 03000000",
    );
    diffI(
        @mask=0b1,
        @nargs=5,
        @blob="04000000 01000000 01000000 0a000000 14000000",
    );
    {"234567"}:  pushi(@nargs=1, @blob="01000000");
    {"234567"}:  seti(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="00000000");
    eqi(@blob="");
    jmpEq(@nargs=2, @blob="28000000 00000000");
    ret(@blob="");
    pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
    pushi(@nargs=1, @blob="3c000000");
    modi(@blob="");
    pushi(@nargs=1, @blob="14000000");
    addi(@blob="");
    pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
    pushi(@nargs=1, @blob="14000000");
    modi(@blob="");
    pushi(@nargs=1, @blob="0a000000");
    addi(@blob="");
    pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
    pushi(@nargs=1, @blob="3c000000");
    modi(@blob="");
    pushi(@nargs=1, @blob="14000000");
    addi(@blob="");
    pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
    pushi(@nargs=1, @blob="3c000000");
    modi(@blob="");
    pushi(@nargs=1, @blob="14000000");
    addi(@blob="");
    diffWait(
        @mask=0b1111,
        @nargs=4,
        @blob="ffffffff ffffffff ffffffff ffffffff",
    );
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 00000000");
    etSprite(@nargs=3, @blob="00000000 01000000 06000000");
    etCountD(
        @nargs=9,
        @blob="00000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000",
    );
    etAngle(@nargs=3, @blob="00000000 00000000 920a063d");
    etSpeedD(
        @nargs=9,
        @blob="00000000 00004040 00004040 00008040 6666a640 0000803f 0000803f 0000803f 0000803f",
    );
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
    );
    jmp(@nargs=2, @blob="bc010000 00000000");
    {"1234567"}:  etOn(@nargs=1, @blob="00000000");
    pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
    pushi(@nargs=1, @blob="14000000");
    modi(@blob="");
    pushi(@nargs=1, @blob="0a000000");
    addi(@blob="");
    pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
    pushi(@nargs=1, @blob="14000000");
    modi(@blob="");
    pushi(@nargs=1, @blob="0a000000");
    addi(@blob="");
    pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
    pushi(@nargs=1, @blob="3c000000");
    modi(@blob="");
    pushi(@nargs=1, @blob="14000000");
    addi(@blob="");
    pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
    pushi(@nargs=1, @blob="3c000000");
    modi(@blob="");
    pushi(@nargs=1, @blob="14000000");
    addi(@blob="");
    diffWait(
        @mask=0b1111,
        @nargs=4,
        @blob="ffffffff ffffffff ffffffff ffffffff",
    );
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="48feffff 00000000");
    ret(@blob="");
}


void RockB() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetSprite(@nargs=2, @blob="00000000 3f000000");
    flagSet(@nargs=1, @blob="40000000");
    setHurtbox(@nargs=2, @blob="00004042 00004042");
    setHitbox(@nargs=2, @blob="00004042 00004042");
    moveVel(@mask=0b11, @nargs=2, @blob="00f41bc6 00f01bc6");
    moveVelTime(
        @mask=0b1000,
        @nargs=4,
        @blob="0a000000 04000000 f02374c9 00ec1bc6",
    );
    setInterrupt(
        @nargs=4,
        @blob="00000000 00000000 a08c0000 0c000000 526f636b 42446561 64000000",
    );
+6000: // 6000
    nop(@blob="");
    delete(@blob="");
}


void RockBDead() {
    stackAlloc(@nargs=1, @blob="04000000");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    pushf(@nargs=1, @blob="db0f4940");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    pushf(@nargs=1, @blob="cdcccc3f");
    pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
    pushf(@nargs=1, @blob="0000803f");
    mulf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
    pushf(@nargs=1, @blob="9a99193f");
    setf(@mask=0b1, @nargs=1, @blob="00ec1bc6");
    enmCreate(
        @nargs=6,
        @blob="08000000 526f636b 4d000000 00000000 00000000 64000000 f4010000 02000000",
    );
    pushf(@nargs=1, @blob="cdcccc3f");
    pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
    pushf(@nargs=1, @blob="00000040");
    mulf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
    pushf(@nargs=1, @blob="0000803f");
    setf(@mask=0b1, @nargs=1, @blob="00ec1bc6");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    pushf(@nargs=1, @blob="db0f4940");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    enmCreate(
        @nargs=6,
        @blob="08000000 526f636b 53000000 00000000 00000000 32000000 f4010000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    pushf(@nargs=1, @blob="db0f4940");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    enmCreate(
        @nargs=6,
        @blob="08000000 526f636b 53000000 00000000 00000000 32000000 f4010000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    pushf(@nargs=1, @blob="db0f4940");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    enmCreate(
        @nargs=6,
        @blob="08000000 526f636b 53000000 00000000 00000000 32000000 f4010000 02000000",
    );
    pushi(@mask=0b1, @nargs=1, @blob="19d9ffff");
    pushi(@nargs=1, @blob="03000000");
    eqi(@blob="");
    jmpEq(@nargs=2, @blob="f0010000 00000000");
    pushi(@nargs=1, @blob="10000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="00000000 01000000 01000000 01000000 c1bdf0ff c1bdf0ff f02374c9 f02374c9",
    );
    jmp(@nargs=2, @blob="24010000 00000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 03000000");
    etSprite(@nargs=3, @blob="00000000 01000000 0d000000");
    etCount(@nargs=3, @blob="00000000 01000000 01000000");
    etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 920a063d");
    pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
    pushf(@nargs=1, @blob="00000040");
    mulf(@blob="");
    pushf(@nargs=1, @blob="0000803f");
    addf(@blob="");
    etSpeed(@mask=0b10, @nargs=3, @blob="00000000 000080bf 00000040");
    etOn(@nargs=1, @blob="00000000");
    deci(@mask=0b1, @nargs=1, @blob="00000000");
    jmpNeq(@nargs=2, @blob="e0feffff 00000000");
    anmPlay(@nargs=2, @blob="00000000 57000000");
    playSound(@nargs=1, @blob="02000000");
    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 RockM() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
    pushi(@nargs=1, @blob="02000000");
    modi(@blob="");
    pushi(@nargs=1, @blob="00000000");
    eqi(@blob="");
    jmpEq(@nargs=2, @blob="48000000 00000000");
    anmSetSprite(@nargs=2, @blob="00000000 40000000");
    jmp(@nargs=2, @blob="30000000 00000000");
    anmSetSprite(@nargs=2, @blob="00000000 41000000");
    flagSet(@nargs=1, @blob="40000000");
    setHurtbox(@nargs=2, @blob="00000042 00000042");
    setHitbox(@nargs=2, @blob="00000042 00000042");
    moveVel(@mask=0b11, @nargs=2, @blob="00f41bc6 00f01bc6");
    moveVelTime(
        @mask=0b1000,
        @nargs=4,
        @blob="3c000000 04000000 f02374c9 00ec1bc6",
    );
    setInterrupt(
        @nargs=4,
        @blob="00000000 00000000 a08c0000 0c000000 526f636b 4d446561 64000000",
    );
+6000: // 6000
    nop(@blob="");
    delete(@blob="");
}


void RockMDead() {
    stackAlloc(@nargs=1, @blob="00000000");
    pushf(@nargs=1, @blob="cdcccc3f");
    pushf(@mask=0b1, @nargs=1, @blob="003c1cc6");
    pushf(@nargs=1, @blob="00000040");
    mulf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f01bc6");
    pushf(@nargs=1, @blob="0000803f");
    setf(@mask=0b1, @nargs=1, @blob="00ec1bc6");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    pushf(@nargs=1, @blob="db0f4940");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    enmCreate(
        @nargs=6,
        @blob="08000000 526f636b 53000000 00000000 00000000 32000000 f4010000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    pushf(@nargs=1, @blob="db0f4940");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    enmCreate(
        @nargs=6,
        @blob="08000000 526f636b 53000000 00000000 00000000 32000000 f4010000 02000000",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    pushf(@nargs=1, @blob="db0f4940");
    pushi(@nargs=1, @blob="02000000");
    divf(@blob="");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00f41bc6");
    enmCreate(
        @nargs=6,
        @blob="08000000 526f636b 53000000 00000000 00000000 32000000 f4010000 02000000",
    );
    anmPlay(@nargs=2, @blob="00000000 57000000");
    playSound(@nargs=1, @blob="02000000");
    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 RockS() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    pushi(@mask=0b1, @nargs=1, @blob="f0d8ffff");
    pushi(@nargs=1, @blob="03000000");
    modi(@blob="");
    seti(@mask=0b1, @nargs=1, @blob="ffd8ffff");
    pushi(@mask=0b1, @nargs=1, @blob="ffd8ffff");
    pushi(@nargs=1, @blob="00000000");
    eqi(@blob="");
    jmpEq(@nargs=2, @blob="48000000 00000000");
    anmSetSprite(@nargs=2, @blob="00000000 42000000");
    jmp(@nargs=2, @blob="b0000000 00000000");
    pushi(@mask=0b1, @nargs=1, @blob="ffd8ffff");
    pushi(@nargs=1, @blob="01000000");
    eqi(@blob="");
    jmpEq(@nargs=2, @blob="48000000 00000000");
    anmSetSprite(@nargs=2, @blob="00000000 43000000");
    jmp(@nargs=2, @blob="30000000 00000000");
    anmSetSprite(@nargs=2, @blob="00000000 44000000");
    flagSet(@nargs=1, @blob="40000000");
    setHurtbox(@nargs=2, @blob="0000c041 0000c041");
    setHitbox(@nargs=2, @blob="0000c041 0000c041");
    moveVel(@mask=0b11, @nargs=2, @blob="00f41bc6 00f01bc6");
    moveVelTime(
        @mask=0b1000,
        @nargs=4,
        @blob="3c000000 04000000 f02374c9 00ec1bc6",
    );
+6000: // 6000
    nop(@blob="");
    delete(@blob="");
}


void YGirl00() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@nargs=2, @blob="01000000 30000000");
    call(
        @nargs=3,
        @blob="08000000 4769726c 30300000 69690000 0f000000 69690000 01000000",
    );
    delete(@blob="");
}


void YGirl02() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@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");
    anmSetMain(@nargs=2, @blob="01000000 30000000");
    call(@nargs=2, @blob="08000000 4769726c 30330000 69690000 0f000000");
    delete(@blob="");
}


void YGirl05() {
    stackAlloc(@nargs=1, @blob="04000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@nargs=2, @blob="01000000 30000000");
    call(
        @nargs=3,
        @blob="08000000 4769726c 30350000 69690000 0f000000 69690000 01000000",
    );
    delete(@blob="");
}


void main() {
    stackAlloc(@nargs=1, @blob="0c000000");
    flagSet(@nargs=1, @blob="20000000");
+60: // 60
    nop(@blob="");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 30000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 31000000");
    wait(@nargs=1, @blob="2c010000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 32000000");
    wait(@nargs=1, @blob="bc020000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 34000000");
    wait(@nargs=1, @blob="58020000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 35000000");
    wait(@nargs=1, @blob="c2010000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4d426f73 73000000 00000000 000000c2 28000000 10270000 01000000",
    );
    wait(@nargs=1, @blob="58020000");
    call(@nargs=1, @blob="0c000000 4d61696e 53756230 36000000");
    deathWait(@blob="");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 37000000");
    wait(@nargs=1, @blob="78000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000");
    wait(@nargs=1, @blob="2c010000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 37000000");
    wait(@nargs=1, @blob="78000000");
    call(@nargs=1, @blob="0c000000 4d61696e 53756230 39000000");
    call(@nargs=1, @blob="0c000000 4d61696e 53756231 30000000");
    wait(@nargs=1, @blob="78000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756230 39000000");
    callAsync(@nargs=1, @blob="0c000000 4d61696e 53756231 30000000");
    wait(@nargs=1, @blob="58020000");
    dialogRead(@nargs=1, @blob="00000000");
    dialogWait(@blob="");
    enmCreateA(
        @nargs=6,
        @blob="08000000 426f7373 00000000 000010c3 000080c1 28000000 10270000 01000000",
    );
    dialogWait(@blob="");
    deathWait(@blob="");
    dialogRead(@nargs=1, @blob="01000000");
    dialogWait(@blob="");
    jmp(@nargs=2, @blob="2c000000 3c000000");
    wait(@nargs=1, @blob="e8030000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="d8ffffff 3c000000");
+40000: // 40060
    nop(@blob="");
    delete(@blob="");
}