function steambox_slot_21() /* entry=296 class_id=0x0500 slot=0x21 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    steam, /* [BP+0Ah] type=0x24 */
    direction, /* [BP+0Ch] type=0x69 */
    count, /* [BP-02h] type=0x69 */
    steam2; /* [BP-04h] type=0x24 */

  entry:
    set_info(1, *(arg_06));
    class_0A1E_slot_23(0x1000, steam);
    if Item.getQHi() goto block_062E;

  block_056E:
    if ((Intrinsic0016(steam) != 0x04F9) || (Intrinsic0016(steam) != 0x04FD)) goto block_05E0;

  block_0592:
    if ((Item.getFrame(steam) != 39) && (Intrinsic0007(arg_06) != 1)) goto block_05DD;

  block_05B4:
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    goto block_0592;

  block_05DD:
    goto block_062B;

  block_05E0:
    if ((Item.getFrame(steam) != 23) && (Intrinsic0007(steam) != 1)) goto block_062B;

  block_0602:
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    goto block_05E0;

  block_062B:
    goto block_0655;

  block_062E:
    spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000);
    suspend;

  block_0655:
    if (direction != 0) goto block_068A;

  block_0677:
    goto block_06A5;

  block_068A:
    if (direction != 1) goto block_06A5;

  block_0692:
    goto block_06A5;

  block_06A5:
    class_0A1E_slot_23(0x1000, steam2);
    if Item.getQHi() goto block_0752;

  block_0704:
    if ((Item.getFrame(steam2) != 29) && (Intrinsic0007(steam2) != 1)) goto block_074F;

  block_0726:
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    goto block_0704;

  block_074F:
    goto block_0779;

  block_0752:
    spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000);
    suspend;

  block_0779:
    class_0A1E_slot_24(0x1000, steam2);
    return;

}
