function steam_slot_20() /* entry=391 class_id=0x0A15 slot=0x20 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    item, /* [BP-02h] type=0x24 */
    detect, /* [BP-03h] type=0x62 */
    n; /* [BP-05h] type=0x24 */

  entry:
    set_info(0x0001, *(arg_06));

  block_00F6:
    suspend;
    spawn FREE.waitNTimerTicks(pid, 60, 0x00000000);
    suspend;
    detect = 0;
    /* loop_selector item in nearby_items(family=6, origin=arg_06) */

  block_014D:
    if condition goto block_01F4;

  block_0150:
    if Actor.isNPC(item) goto block_01F0;

  block_015F:
    if Item.overlaps(*(arg_06), item) goto block_01F0;

  block_0172:
    n = item;
    if (n != getTargetNPCNumMaybe()) goto block_01C4;

  block_018A:
    NPC.slot_2B(n);
    if (!retval) goto block_01C1;

  block_019E:

  block_01C1:
    goto block_01E9;

  block_01C4:

  block_01E9:
    detect = 1;

  block_01F0:
    /* loopnext  */
    goto block_014D;

  block_01F4:
    if (!detect) goto block_0213;

  block_01FF:
    ITEM.slot_24(4, arg_06);
    goto block_0216;

  block_0213:
    goto block_00F6;

  block_0216:
    return;

}
