#pragma mapfile "utils/th11.eclm"

meta {
    anim: ["enemy.anm", "stgenm07.anm"],
    ecli: ["default.ecl", "stage07mboss.ecl", "stage07boss.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 BGirl03() {
    stackAlloc(@nargs=1, @blob="04000000");
    dropMain(@nargs=1, @blob="02000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@nargs=2, @blob="01000000 2d000000");
    call(@nargs=2, @blob="08000000 4769726c 30330000 69690000 00000000");
    delete(@blob="");
}


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


void GGirl05() {
    stackAlloc(@nargs=1, @blob="04000000");
    dropMain(@nargs=1, @blob="03000000");
    anmSelect(@nargs=1, @blob="01000000");
    anmSetMain(@nargs=2, @blob="01000000 2f000000");
    call(@nargs=2, @blob="08000000 4769726c 30350000 69690000 0a000000");
    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="0000c041 0000c041");
    setHitbox(@nargs=2, @blob="00008041 00008041");
    dropClear(@blob="");
    dropExtra(@nargs=2, @blob="01000000 05000000");
    dropExtra(@nargs=2, @blob="02000000 0a000000");
    dropExtra(@nargs=2, @blob="03000000 0a000000");
    dropArea(@nargs=2, @blob="00000042 00000042");
    moveVel(@nargs=2, @blob="db0fc93f 3333333f");
    callAsync(@nargs=1, @blob="0c000000 52476972 6c30315f 61740000");
+6000: // 6000
    nop(@blob="");
    delete(@blob="");
}


void Girl01b() {
    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="0000c041 0000c041");
    setHitbox(@nargs=2, @blob="00008041 00008041");
    dropClear(@blob="");
    dropExtra(@nargs=2, @blob="01000000 05000000");
    dropExtra(@nargs=2, @blob="02000000 0a000000");
    dropExtra(@nargs=2, @blob="03000000 0a000000");
    dropArea(@nargs=2, @blob="00000042 00000042");
    moveVel(@nargs=2, @blob="db0fc93f 3333333f");
    callAsync(@nargs=1, @blob="0c000000 52476972 6c30315f 61740000");
+6000: // 6000
    nop(@blob="");
    delete(@blob="");
}


void Girl02() {
    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="0000c041 0000c041");
    setHitbox(@nargs=2, @blob="00008041 00008041");
    dropClear(@blob="");
    dropExtra(@nargs=2, @blob="01000000 0a000000");
    dropExtra(@nargs=2, @blob="02000000 0a000000");
    dropExtra(@nargs=2, @blob="03000000 0a000000");
    dropArea(@nargs=2, @blob="00004042 00004042");
    moveVel(@nargs=2, @blob="db0fc93f 9a99d93f");
    callAsync(@nargs=1, @blob="0c000000 52476972 6c30325f 61740000");
+80: // 80
    moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00000000");
+160: // 240
    moveVel(@nargs=2, @blob="db0fc9bf 00000000");
    moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 0000803f");
+6000: // 6240
    nop(@blob="");
    delete(@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="40000000");
    flagSet(@nargs=1, @blob="02000000");
    setHurtbox(@nargs=2, @blob="0000c041 0000c041");
    setHitbox(@nargs=2, @blob="00008041 00008041");
    callAsync(@nargs=1, @blob="0c000000 52476972 6c30335f 61740000");
    moveVel(@nargs=2, @blob="00000000 0000a040");
+50: // 50
    moveVelTime(@nargs=4, @blob="1e000000 00000000 db0f4940 f02374c9");
+6000: // 6050
    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="0000c041 0000c041");
    setHitbox(@nargs=2, @blob="00008041 00008041");
    dropClear(@blob="");
    dropExtra(@nargs=2, @blob="01000000 02000000");
    dropExtra(@nargs=2, @blob="02000000 06000000");
    dropExtra(@nargs=2, @blob="03000000 06000000");
    dropArea(@nargs=2, @blob="00004042 00004042");
    moveVel(@nargs=2, @blob="db0fc93f 6666b640");
    callAsync(@nargs=1, @blob="0c000000 52476972 6c30345f 61740000");
+10: // 10
    moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000");
+160: // 170
    moveVel(@nargs=2, @blob="db0fc9bf 00000000");
    moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00004040");
+6000: // 6170
    nop(@blob="");
    delete(@blob="");
}


void Girl05() {
    stackAlloc(@nargs=1, @blob="04000000");
    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");
    callAsync(@nargs=1, @blob="0c000000 52476972 6c30355f 61740000");
    moveVel(@nargs=2, @blob="00000000 0000a040");
+50: // 50
    moveVelTime(@nargs=4, @blob="1e000000 00000000 db0f4940 f02374c9");
+6000: // 6050
    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="0000c041 0000c041");
    setHitbox(@nargs=2, @blob="00008041 00008041");
    dropClear(@blob="");
    dropExtra(@nargs=2, @blob="01000000 02000000");
    dropExtra(@nargs=2, @blob="02000000 06000000");
    dropExtra(@nargs=2, @blob="03000000 06000000");
    dropArea(@nargs=2, @blob="00004042 00004042");
    moveVel(@nargs=2, @blob="db0fc93f 6666b640");
    callAsync(@nargs=1, @blob="0c000000 52476972 6c30365f 61740000");
+10: // 10
    moveVelTime(@nargs=4, @blob="1e000000 00000000 f02374c9 00000000");
+160: // 170
    moveVel(@nargs=2, @blob="db0fc9bf 00000000");
    moveVelTime(@nargs=4, @blob="3c000000 00000000 f02374c9 00000040");
+6000: // 6170
    nop(@blob="");
    delete(@blob="");
}


void Girl07() {
    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="0000c041 0000c041");
    setHitbox(@nargs=2, @blob="00008041 00008041");
    dropClear(@blob="");
    dropExtra(@nargs=2, @blob="01000000 03000000");
    dropExtra(@nargs=2, @blob="02000000 0a000000");
    dropExtra(@nargs=2, @blob="03000000 0a000000");
    dropArea(@nargs=2, @blob="00000042 00000042");
    moveVel(@nargs=2, @blob="db0fc93f 3333333f");
    callAsync(@nargs=1, @blob="0c000000 52476972 6c30315f 61740000");
+6000: // 6000
    nop(@blob="");
    delete(@blob="");
}


void MainBossDebug() {
    stackAlloc(@nargs=1, @blob="00000000");
+60: // 60
    dialogRead(@nargs=1, @blob="ffffffff");
    dialogWait(@blob="");
    enmCreateA(
        @nargs=6,
        @blob="08000000 426f7373 00000000 000058c3 00008042 28000000 e8030000 01000000",
    );
    ins_500(@nargs=1, @blob="64000000");
    dialogWait(@blob="");
    deathWait(@blob="");
+60: // 120
    dialogRead(@nargs=1, @blob="01000000");
    dialogWait(@blob="");
    ret(@blob="");
    ret(@blob="");
}


void MainMBossDebug() {
    stackAlloc(@nargs=1, @blob="00000000");
    dialogRead(@nargs=1, @blob="02000000");
    ins_500(@nargs=1, @blob="64000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4d426f73 73000000 00004043 000000c2 28000000 10270000 01000000",
    );
    jmp(@nargs=2, @blob="2c000000 00000000");
    wait(@nargs=1, @blob="e8030000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="d8ffffff 00000000");
    ret(@blob="");
}


void MainMsgDebug() {
    stackAlloc(@nargs=1, @blob="00000000");
    ins_500(@nargs=1, @blob="64000000");
+120: // 120
    dialogRead(@nargs=1, @blob="00000000");
    dialogWait(@blob="");
    enmCreateA(
        @nargs=6,
        @blob="08000000 426f7373 00000000 000058c3 00008042 28000000 e8030000 01000000",
    );
+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="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 MainSub01() {
    stackAlloc(@nargs=1, @blob="00000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 00000000 000000c2 d0070000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="2c010000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 00004042 000000c2 e8030000 e8030000 02000000",
    );
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 000040c2 000000c2 e8030000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="2c010000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 0000c042 000000c2 e8030000 e8030000 02000000",
    );
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 0000c0c2 000000c2 e8030000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="2c010000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 00001043 000000c2 e8030000 e8030000 02000000",
    );
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 000010c3 000000c2 e8030000 e8030000 02000000",
    );
    ret(@blob="");
}


void MainSub02() {
    stackAlloc(@nargs=1, @blob="00000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30320000 00000000 000000c2 e8030000 e8030000 02000000",
    );
    ret(@blob="");
}


void MainSub03() {
    stackAlloc(@nargs=1, @blob="08000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="a8000000 00000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 42476972 6c303300 000060c3 00000043 14000000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="05000000");
    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="38ffffff 00000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="a8000000 00000000");
    enmCreateAM(
        @nargs=6,
        @blob="08000000 42476972 6c303300 00006043 00000043 14000000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="05000000");
    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="38ffffff 00000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="a8000000 00000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 42476972 6c303300 000060c3 00000043 14000000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="05000000");
    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="38ffffff 00000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="a8000000 00000000");
    enmCreateAM(
        @nargs=6,
        @blob="08000000 42476972 6c303300 00006043 00000043 14000000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="05000000");
    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="38ffffff 00000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="a8000000 00000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 42476972 6c303300 000060c3 00000043 14000000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="05000000");
    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="38ffffff 00000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="a8000000 00000000");
    enmCreateAM(
        @nargs=6,
        @blob="08000000 42476972 6c303300 00006043 00000043 14000000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="05000000");
    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="38ffffff 00000000");
    ret(@blob="");
}


void MainSub04() {
    stackAlloc(@nargs=1, @blob="00000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30340000 00000000 000000c2 e8030000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="78000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30340000 00000043 000000c2 20030000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="78000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30340000 00008042 000000c2 20030000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="78000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30340000 000080c2 000000c2 20030000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="78000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30340000 000000c3 000000c2 20030000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="78000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30340000 000010c3 000000c2 f4010000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="5a000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30340000 000090c2 000000c2 f4010000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="5a000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30340000 00000000 000000c2 f4010000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="5a000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30340000 00009042 000000c2 f4010000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="5a000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30340000 00001043 000000c2 f4010000 e8030000 02000000",
    );
    ret(@blob="");
}


void MainSub05() {
    stackAlloc(@nargs=1, @blob="08000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="a8000000 00000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 42476972 6c303500 000060c3 00002043 14000000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="05000000");
    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="38ffffff 00000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="a8000000 00000000");
    enmCreateAM(
        @nargs=6,
        @blob="08000000 42476972 6c303500 00006043 00002043 14000000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="05000000");
    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="38ffffff 00000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="a8000000 00000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 42476972 6c303500 000060c3 00002043 14000000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="05000000");
    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="38ffffff 00000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="a8000000 00000000");
    enmCreateAM(
        @nargs=6,
        @blob="08000000 42476972 6c303500 00006043 00002043 14000000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="05000000");
    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="38ffffff 00000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="a8000000 00000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 42476972 6c303500 000060c3 00002043 14000000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="05000000");
    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="38ffffff 00000000");
    pushi(@nargs=1, @blob="00000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="a8000000 00000000");
    enmCreateAM(
        @nargs=6,
        @blob="08000000 42476972 6c303500 00006043 00002043 14000000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="05000000");
    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="38ffffff 00000000");
    ret(@blob="");
}


void MainSub06() {
    stackAlloc(@nargs=1, @blob="00000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30360000 00000000 000000c2 e8030000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="3c000000");
    pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
    pushi(@nargs=1, @blob="20000000");
    mulf(@blob="");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="3c000000");
    pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
    pushi(@nargs=1, @blob="40000000");
    mulf(@blob="");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="3c000000");
    pushi(@nargs=1, @blob="60000000");
    pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
    pushi(@nargs=1, @blob="20000000");
    mulf(@blob="");
    addf(@blob="");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="3c000000");
    pushi(@nargs=1, @blob="60000000");
    pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
    pushi(@nargs=1, @blob="20000000");
    mulf(@blob="");
    addf(@blob="");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="3c000000");
    pushi(@nargs=1, @blob="60000000");
    pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
    pushi(@nargs=1, @blob="20000000");
    mulf(@blob="");
    addf(@blob="");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="3c000000");
    pushi(@nargs=1, @blob="a0ffffff");
    pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
    pushi(@nargs=1, @blob="20000000");
    mulf(@blob="");
    addf(@blob="");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="3c000000");
    pushi(@nargs=1, @blob="a0ffffff");
    pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
    pushi(@nargs=1, @blob="20000000");
    mulf(@blob="");
    addf(@blob="");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="3c000000");
    pushi(@nargs=1, @blob="a0ffffff");
    pushf(@mask=0b1, @nargs=1, @blob="000c1cc6");
    pushi(@nargs=1, @blob="20000000");
    mulf(@blob="");
    addf(@blob="");
    enmCreateA(
        @mask=0b10,
        @nargs=6,
        @blob="08000000 4769726c 30360000 000080bf 000000c2 58020000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="3c000000");
    ret(@blob="");
}


void MainSub07() {
    stackAlloc(@nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="01000000");
    seti(@mask=0b1, @nargs=1, @blob="25d9ffff");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 00000000 000000c2 20030000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="96000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 00004042 000000c2 20030000 e8030000 02000000",
    );
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 000040c2 000000c2 20030000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="96000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 0000c042 000000c2 20030000 e8030000 02000000",
    );
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 0000c0c2 000000c2 20030000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="96000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 00001043 000000c2 20030000 e8030000 02000000",
    );
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 000010c3 000000c2 20030000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="b4000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 00000000 000000c2 20030000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="96000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 00004042 000000c2 20030000 e8030000 02000000",
    );
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 000040c2 000000c2 20030000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="96000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 0000c042 000000c2 20030000 e8030000 02000000",
    );
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30310000 0000c0c2 000000c2 20030000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="96000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30316200 00001043 000000c2 20030000 e8030000 02000000",
    );
    enmCreateA(
        @nargs=6,
        @blob="08000000 4769726c 30316200 000010c3 000000c2 20030000 e8030000 02000000",
    );
    ret(@blob="");
}


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


void MapleEnemy2() {
    stackAlloc(@nargs=1, @blob="04000000");
    flagSet(@nargs=1, @blob="20000000");
    anmPlayAbs(@nargs=2, @blob="00000000 be000000");
+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="08000000");
    pushi(@nargs=1, @blob="14000000");
    seti(@mask=0b1, @nargs=1, @blob="04000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 01000000");
    etSprite(@nargs=3, @blob="00000000 0c000000 03000000");
    etCount(@nargs=3, @blob="00000000 01000000 01000000");
    etAngle(@nargs=3, @blob="00000000 00000000 920a063d");
    etSpeed(@nargs=3, @blob="00000000 0000b040 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",
    );
    jmp(@nargs=2, @blob="dc000000 00000000");
    pushi(@nargs=1, @blob="06000000");
    seti(@mask=0b1, @nargs=1, @blob="04000000");
    etAngle(@mask=0b10, @nargs=3, @blob="00000000 00141cc6 00000000");
    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="28000000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="28ffffff 00000000");
    ret(@blob="");
}


void RGirl01_at() {
    stackAlloc(@nargs=1, @blob="04000000");
    pushi(@nargs=1, @blob="04000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 03000000");
    etSprite(@nargs=3, @blob="00000000 03000000 06000000");
    etCount(@nargs=3, @blob="00000000 38000000 01000000");
    etAngle(@nargs=3, @blob="00000000 00000000 920a063d");
    etSpeed(@nargs=3, @blob="00000000 0000c03f 00000040");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
    );
    etDist(@nargs=2, @blob="00000000 00004042");
    jmp(@nargs=2, @blob="5c000000 00000000");
    etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000");
    etOn(@nargs=1, @blob="00000000");
    wait(@nargs=1, @blob="78000000");
    deci(@mask=0b1, @nargs=1, @blob="00000000");
    jmpNeq(@nargs=2, @blob="a8ffffff 00000000");
    ret(@blob="");
}


void RGirl02_at() {
    stackAlloc(@nargs=1, @blob="0c000000");
    pushi(@nargs=1, @blob="14000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 01000000");
    etSprite(@nargs=3, @blob="00000000 04000000 06000000");
    etCount(@nargs=3, @blob="00000000 02000000 04000000");
    etAngle(@nargs=3, @blob="00000000 00000000 920a063d");
    etSpeed(@nargs=3, @blob="00000000 00009040 00000040");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="00000000 01000000 00000000 20000000 3c000000 01000000 00000000 00004040",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00141cc6");
    setf(@mask=0b1, @nargs=1, @blob="00008040");
    pushf(@nargs=1, @blob="c7b8323e");
    setf(@mask=0b1, @nargs=1, @blob="00000041");
    jmp(@nargs=2, @blob="bc000000 00000000");
    etAngle(@mask=0b110, @nargs=3, @blob="00000000 00141cc6 00000041");
    etOn(@nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000041");
    pushf(@nargs=1, @blob="c7b8323e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000041");
    validRad(@mask=0b1, @nargs=1, @blob="00000041");
    wait(@nargs=1, @blob="0a000000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="48ffffff 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="08000000");
    pushi(@nargs=1, @blob="14000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="02000000");
    seti(@mask=0b1, @nargs=1, @blob="04000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 00000000");
    etSprite(@nargs=3, @blob="00000000 03000000 06000000");
    etCount(@nargs=3, @blob="00000000 01000000 01000000");
    etAngle(@nargs=3, @blob="00000000 00000000 920a063d");
    etSpeed(@nargs=3, @blob="00000000 0000b040 00000040");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
    );
    jmp(@nargs=2, @blob="f0000000 00000000");
    etEx(
        @mask=0b1000000,
        @nargs=8,
        @blob="00000000 01000000 00000000 10000000 3c000000 01000000 00381cc6 0000803f",
    );
    pushi(@nargs=1, @blob="06000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="40000000 00000000");
    wait(@nargs=1, @blob="05000000");
    etOn(@nargs=1, @blob="00000000");
    deci(@mask=0b1, @nargs=1, @blob="00000000");
    jmpNeq(@nargs=2, @blob="c4ffffff 00000000");
    wait(@nargs=1, @blob="0a000000");
    deci(@mask=0b1, @nargs=1, @blob="04000000");
    jmpNeq(@nargs=2, @blob="14ffffff 00000000");
    ret(@blob="");
}


void RGirl04_at() {
    stackAlloc(@nargs=1, @blob="0c000000");
    pushi(@nargs=1, @blob="28000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 03000000");
    etSprite(@nargs=3, @blob="00000000 04000000 06000000");
    etCount(@nargs=3, @blob="00000000 0f000000 01000000");
    etAngle(@nargs=3, @blob="00000000 db0fc93f db0f493f");
    etSpeed(@nargs=3, @blob="00000000 0000d040 00000040");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
    );
    pushf(@mask=0b1, @nargs=1, @blob="00141cc6");
    setf(@mask=0b1, @nargs=1, @blob="00008040");
    pushf(@nargs=1, @blob="c7b8323e");
    setf(@mask=0b1, @nargs=1, @blob="00000041");
    jmp(@nargs=2, @blob="a0000000 00000000");
    etOn(@nargs=1, @blob="00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00000041");
    pushf(@nargs=1, @blob="c7b8323e");
    addf(@blob="");
    setf(@mask=0b1, @nargs=1, @blob="00000041");
    validRad(@mask=0b1, @nargs=1, @blob="00000041");
    wait(@nargs=1, @blob="04000000");
    deci(@mask=0b1, @nargs=1, @blob="00000000");
    jmpNeq(@nargs=2, @blob="64ffffff 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=2, @blob="08000000 4769726c 30350000 69690000 05000000");
    delete(@blob="");
}


void RGirl05_at() {
    stackAlloc(@nargs=1, @blob="08000000");
    pushi(@nargs=1, @blob="14000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    pushi(@nargs=1, @blob="14000000");
    seti(@mask=0b1, @nargs=1, @blob="04000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 00000000");
    etSprite(@nargs=3, @blob="00000000 03000000 06000000");
    etCount(@nargs=3, @blob="00000000 01000000 01000000");
    etAngle(@nargs=3, @blob="00000000 00000000 920a063d");
    etSpeed(@nargs=3, @blob="00000000 0000b040 00000040");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
    );
    jmp(@nargs=2, @blob="28010000 00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="06000000");
    divf(@blob="");
    etEx(
        @mask=0b1000000,
        @nargs=8,
        @blob="00000000 01000000 00000000 10000000 3c000000 01000000 000080bf 00004040",
    );
    pushi(@nargs=1, @blob="04000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    jmp(@nargs=2, @blob="40000000 00000000");
    wait(@nargs=1, @blob="02000000");
    etOn(@nargs=1, @blob="00000000");
    deci(@mask=0b1, @nargs=1, @blob="00000000");
    jmpNeq(@nargs=2, @blob="c4ffffff 00000000");
    wait(@nargs=1, @blob="0a000000");
    deci(@mask=0b1, @nargs=1, @blob="04000000");
    jmpNeq(@nargs=2, @blob="dcfeffff 00000000");
    ret(@blob="");
}


void RGirl06_at() {
    stackAlloc(@nargs=1, @blob="0c000000");
    pushi(@nargs=1, @blob="28000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 00000000");
    etSprite(@nargs=3, @blob="00000000 11000000 02000000");
    etCount(@nargs=3, @blob="00000000 03000000 01000000");
    etAngle(@nargs=3, @blob="00000000 db0fc93f db0f493f");
    etSpeed(@nargs=3, @blob="00000000 33331340 00000040");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 00000000 c1bdf0ff f02374c9 f02374c9",
    );
    etEx(
        @nargs=8,
        @blob="00000000 01000000 00000000 04000000 3c000000 c1bdf0ff cdcc4c3d f02374c9",
    );
    wait(@nargs=1, @blob="28000000");
    jmp(@nargs=2, @blob="94000000 00000000");
    pushf(@mask=0b1, @nargs=1, @blob="00381cc6");
    pushi(@nargs=1, @blob="10000000");
    divf(@blob="");
    etAngle(@mask=0b10, @nargs=3, @blob="00000000 000080bf db0f493f");
    etOn(@nargs=1, @blob="00000000");
    wait(@nargs=1, @blob="14000000");
    deci(@mask=0b1, @nargs=1, @blob="00000000");
    jmpNeq(@nargs=2, @blob="70ffffff 00000000");
    ret(@blob="");
}


void RGirl07_at() {
    stackAlloc(@nargs=1, @blob="04000000");
    pushi(@nargs=1, @blob="04000000");
    seti(@mask=0b1, @nargs=1, @blob="00000000");
    etNew(@nargs=1, @blob="00000000");
    etAim(@nargs=2, @blob="00000000 03000000");
    etSprite(@nargs=3, @blob="00000000 03000000 06000000");
    etCount(@nargs=3, @blob="00000000 38000000 01000000");
    etAngle(@nargs=3, @blob="00000000 00000000 920a063d");
    etSpeed(@nargs=3, @blob="00000000 0000803f 00000040");
    etEx(
        @nargs=8,
        @blob="00000000 00000000 01000000 02000000 01000000 c1bdf0ff f02374c9 f02374c9",
    );
    etDist(@nargs=2, @blob="00000000 00004042");
    jmp(@nargs=2, @blob="5c000000 00000000");
    etAngle(@mask=0b10, @nargs=3, @blob="00000000 00381cc6 00000000");
    etOn(@nargs=1, @blob="00000000");
    wait(@nargs=1, @blob="64000000");
    deci(@mask=0b1, @nargs=1, @blob="00000000");
    jmpNeq(@nargs=2, @blob="a8ffffff 00000000");
    ret(@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 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=2, @blob="08000000 4769726c 30350000 69690000 0f000000");
    delete(@blob="");
}


void main() {
    stackAlloc(@nargs=1, @blob="0c000000");
    flagSet(@nargs=1, @blob="20000000");
    enmCreateA(
        @nargs=6,
        @blob="0c000000 4d61706c 65456e65 6d793200 00000000 000080c1 14000000 e8030000 02000000",
    );
    wait(@nargs=1, @blob="b4000000");
    call(@nargs=1, @blob="0c000000 4d61696e 53756230 30000000");
    wait(@nargs=1, @blob="c8000000");
    call(@nargs=1, @blob="0c000000 4d61696e 53756230 31000000");
    wait(@nargs=1, @blob="2c010000");
    call(@nargs=1, @blob="0c000000 4d61696e 53756230 32000000");
    wait(@nargs=1, @blob="2c010000");
    call(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000");
    wait(@nargs=1, @blob="04010000");
    call(@nargs=1, @blob="0c000000 4d61696e 53756230 34000000");
    wait(@nargs=1, @blob="04010000");
    dialogRead(@nargs=1, @blob="02000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4d426f73 73000000 000040c3 000000c2 28000000 10270000 01000000",
    );
    dialogWait(@blob="");
    deathWait(@blob="");
    call(@nargs=1, @blob="0c000000 4d61696e 53756230 35000000");
    wait(@nargs=1, @blob="b4000000");
    call(@nargs=1, @blob="0c000000 4d61696e 53756230 36000000");
    wait(@nargs=1, @blob="b4000000");
    call(@nargs=1, @blob="0c000000 4d61696e 53756230 33000000");
    call(@nargs=1, @blob="0c000000 4d61696e 53756230 37000000");
    wait(@nargs=1, @blob="90010000");
    dialogRead(@nargs=1, @blob="00000000");
    dialogWait(@blob="");
    enmCreateA(
        @nargs=6,
        @blob="08000000 426f7373 00000000 000058c3 00008042 28000000 e8030000 01000000",
    );
    deathWait(@blob="");
    dialogRead(@nargs=1, @blob="01000000");
    dialogWait(@blob="");
    jmp(@nargs=2, @blob="2c000000 00000000");
    wait(@nargs=1, @blob="e8030000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="d8ffffff 00000000");
    wait(@nargs=1, @blob="5a000000");
    playSound(@nargs=1, @blob="35000000");
    dialogRead(@nargs=1, @blob="02000000");
    enmCreateA(
        @nargs=6,
        @blob="08000000 4d426f73 73000000 00004043 000000c2 28000000 10270000 01000000",
    );
    dialogWait(@blob="");
    jmp(@nargs=2, @blob="2c000000 00000000");
    wait(@nargs=1, @blob="e8030000");
    pushi(@nargs=1, @blob="01000000");
    jmpNeq(@nargs=2, @blob="d8ffffff 00000000");
+40000: // 40000
    nop(@blob="");
    delete(@blob="");
}