function sswitche_use() /* entry=248 class_id=0x0457 slot=0x01 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    a, /* [BP-01h] type=0x62 */
    b, /* [BP-02h] type=0x62 */
    a1, /* [BP-03h] type=0x62 */
    b1, /* [BP-04h] type=0x62 */
    c1, /* [BP-05h] type=0x62 */
    sswitch, /* [BP-07h] type=0x24 */
    switch1, /* [BP-09h] type=0x24 */
    switch2, /* [BP-0Bh] type=0x24 */
    switch3, /* [BP-0Dh] type=0x24 */
    timer, /* [BP-0Fh] type=0x24 */
    sswitch2, /* [BP-11h] type=0x24 */
    switch21, /* [BP-13h] type=0x24 */
    switch22, /* [BP-15h] type=0x24 */
    switch23, /* [BP-17h] type=0x24 */
    counter, /* [BP-19h] type=0x69 */
    qLo; /* [BP-1Bh] type=0x69 */

  entry:
    set_info(0x0207, *(arg_06));
    process_exclude();
    a = Item.getFrame(arg_06);
    if (Item.getMapNum(arg_06) != 0) goto block_023C;

  block_0196:
    if (a != 2) goto block_01D9;

  block_01A1:
    spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
    suspend;
    goto block_0239;

  block_01D9:
    if (a < 2) goto block_0239;

  block_01E7:
    b = ((a + 1) & 1);
    spawn class_0A18_slot_20(pid, a, *(arg_06), arg_06);
    suspend;
    goto block_0239;

  block_0239:
    goto block_07CC;

  block_023C:
    qLo = Item.getNpcNum(arg_06);
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x40 */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF9 string_bytes=0x6 loop_type=0x2 */

  block_0268:
    if condition goto block_0326;

  block_026B:
    if (!(sswitch != *(arg_06))) goto block_0318;

  block_027F:
    if (Item.getMapNum(sswitch) != 0) goto block_0318;

  block_0291:
    if (Item.getNpcNum(sswitch) != 29) goto block_02BE;

  block_02A6:
    switch1 = sswitch;
    a1 = Item.getFrame(switch1);
    goto block_0318;

  block_02BE:
    if (Item.getNpcNum(sswitch) != 30) goto block_02EB;

  block_02D3:
    switch2 = sswitch;
    b1 = Item.getFrame(switch2);
    goto block_0318;

  block_02EB:
    if (Item.getNpcNum(sswitch) != 31) goto block_0318;

  block_0300:
    switch3 = sswitch;
    c1 = Item.getFrame(switch3);
    goto block_0318;

  block_0318:
    counter = (1 + counter);
    /* loopnext  */
    goto block_0268;

  block_0326:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x40 */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xEF string_bytes=0x6 loop_type=0x2 */

  block_0346:
    if condition goto block_03BC;

  block_0349:
    if (Item.getMapNum(sswitch2) != 0) goto block_03B8;

  block_035B:
    if (Item.getNpcNum(sswitch2) != 29) goto block_037A;

  block_0370:
    switch21 = sswitch2;
    goto block_03B8;

  block_037A:
    if (Item.getNpcNum(sswitch2) != 30) goto block_0399;

  block_038F:
    switch22 = sswitch2;
    goto block_03B8;

  block_0399:
    if (Item.getNpcNum(sswitch2) != 31) goto block_03B8;

  block_03AE:
    switch23 = sswitch2;
    goto block_03B8;

  block_03B8:
    /* loopnext  */
    goto block_0346;

  block_03BC:
    if (qLo != 29) goto block_0480;

  block_03C6:
    a1 = Item.getFrame(arg_06);
    switch1 = *(arg_06);
    if (switch2 && switch3) goto block_047D;

  block_03EE:
    if a1 goto block_043B;

  block_03F6:
    a1 = 0;
    b1 = 1;
    goto block_047D;

  block_043B:
    a1 = 1;
    b1 = 0;

  block_047D:
    goto block_0646;

  block_0480:
    if (qLo != 30) goto block_0584;

  block_0488:
    b1 = Item.getFrame(arg_06);
    switch2 = *(arg_06);
    if (switch1 && switch3) goto block_0581;

  block_04B0:
    if b1 goto block_051E;

  block_04B8:
    b1 = 0;
    a1 = 1;
    c1 = 1;
    goto block_0581;

  block_051E:
    b1 = 1;
    a1 = 0;
    c1 = 0;

  block_0581:
    goto block_0646;

  block_0584:
    if (qLo != 31) goto block_0646;

  block_058C:
    c1 = Item.getFrame(arg_06);
    switch3 = *(arg_06);
    if (switch1 && switch2) goto block_0643;

  block_05B4:
    if c1 goto block_0601;

  block_05BC:
    c1 = 0;
    b1 = 1;
    goto block_0643;

  block_0601:
    c1 = 1;
    b1 = 0;

  block_0643:
    goto block_0646;

  block_0646:
    if a1 goto block_06C7;

  block_064E:
    if (b1 || c1) goto block_0668;

  block_065F:
    goto block_07F2;

  block_0665:
    goto block_06C4;

  block_0668:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x40 */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF1 string_bytes=0x6 loop_type=0x2 */

  block_0686:
    if condition goto block_06C2;

  block_0689:
    if (Item.getNpcNum(timer) != 29) goto block_06BE;

  block_069E:
    suspend;

  block_06BE:
    /* loopnext  */
    goto block_0686;

  block_06C2:

  block_06C4:
    goto block_07A6;

  block_06C7:
    if b1 goto block_073F;

  block_06CF:
    if c1 goto block_06E0;

  block_06D7:
    goto block_07F2;

  block_06DD:
    goto block_073C;

  block_06E0:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x40 */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF1 string_bytes=0x6 loop_type=0x2 */

  block_06FE:
    if condition goto block_073A;

  block_0701:
    if (Item.getNpcNum(timer) != 30) goto block_0736;

  block_0716:
    suspend;

  block_0736:
    /* loopnext  */
    goto block_06FE;

  block_073A:

  block_073C:
    goto block_07A6;

  block_073F:
    if c1 goto block_07A6;

  block_0747:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x40 */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xF1 string_bytes=0x6 loop_type=0x2 */

  block_0765:
    if condition goto block_07A1;

  block_0768:
    if (Item.getNpcNum(timer) != 31) goto block_079D;

  block_077D:
    suspend;

  block_079D:
    /* loopnext  */
    goto block_0765;

  block_07A1:
    goto block_07A6;

  block_07A6:
    spawn class_0A0C_slot_32(pid, 20, 0x00000000);
    suspend;

  block_07CC:
    spawn class_0A0C_slot_32(pid, 20, 0x00000000);
    suspend;

  block_07F2:
    return;

}
