function miss13_slot_20() /* entry=365 class_id=0x0919 slot=0x20 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    counter, /* [BP-02h] type=0x69 */
    item, /* [BP-04h] type=0x24 */
    egg, /* [BP-06h] type=0x24 */
    wench, /* [BP-08h] type=0x24 */
    npcWench, /* [BP-0Ah] type=0x24 */
    door; /* [BP-0Ch] type=0x24 */

  set_info(0x0001, *(arg_06));
  counter = 0;
  egg = *(arg_06);
  set_info(1, 0);
  /* global_address global_id=0x3C */
  while (!Actor.isBusy()) {
    spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
    suspend;
  }
  wench = 0;
  door = 0;
  /* loop_selector npcWench in nearby_items(shape=0x0524, origin=global[0x003C]) */
  while (!condition) {
    wench = npcWench;
    /* loopnext  */
  }
  for item in nearby_items(shape=PRISON_BARS_DOOR, origin=global[0x003C]) {
    if (Item.getQLo(item) == 4) {
      return;
    }
    /* loopnext  */
  }
  if (!wench) {
    suspend;
    /* loop_selector item in nearby_items(shape=door_shape_00a9, origin=global[0x003C]) */
    while (!condition) {
      FREE.slot_29(item, global[0x003C]);
      while ((retval > 3) && (counter == 20)) {
        /* global_address global_id=0x3C */
        /* global_address global_id=0x3C */
        /* global_address global_id=0x3C */
        spawn NPC.slot_22(Item.getDirFromTo16(Item.getX(pid, 1, Item.getY(Item.getY(wench), Item.getX(wench)))));
        suspend;
        counter = (1 + counter);
      }
      door = item;
      spawn DOOR.slot_20(pid, door);
      suspend;
      /* loopnext  */
    }
    /* global_address global_id=0x3C */
    suspend;
    /* global_address global_id=0x3C */
    spawn NPC.slot_22(pid, 3, 0);
    suspend;
    /* global_address global_id=0x3C */
    spawn NPC.slot_22(pid, 2, 14);
    suspend;
    /* global_address global_id=0x3C */
    spawn NPC.slot_22(pid, 4, 12);
    suspend;
    suspend;
    /* str_to_ptr  */
    /* global_address global_id=0x3C */
    /* free_stack_string value_u8=0x4 target=[SP+04h] */
    suspend;
    spawn NPC.slot_22(pid, 6, 4, wench);
    suspend;
    spawn NPC.slot_22(pid, 3, 4, wench);
    suspend;
    suspend;
    /* global_address global_id=0x3C */
    spawn NPC.slot_22(pid, 2, 4);
    suspend;
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    suspend;
    /* loop_selector item in selector_0x42(arg0=0x0329, arg1=0x032A, arg2=(15 * 32), origin=global[0x003C]) */
    while (!condition) {
      /* loopnext  */
    }
    spawn NPC.slot_22(pid, 3, 0, wench);
    suspend;
    /* global_address global_id=0x3C */
    suspend;
    suspend;
    spawn NPC.slot_24(pid, wench);
    suspend;
    spawn FREE.waitNTimerTicks(pid, 15, 0x00000000);
    suspend;
  }
  return;
}
