function miss5_slot_20() /* entry=357 class_id=0x0911 slot=0x20 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    counter, /* [BP-02h] type=0x69 */
    item, /* [BP-04h] type=0x24 */
    door, /* [BP-06h] type=0x24 */
    egg, /* [BP-08h] type=0x24 */
    willmar, /* [BP-0Ah] type=0x24 */
    post1, /* [BP-0Ch] type=0x24 */
    post2, /* [BP-0Eh] type=0x24 */
    floor, /* [BP-10h] type=0x24 */
    dir; /* [BP-12h] type=0x69 */

  entry:
    set_info(0x0001, *(arg_06));
    egg = *(arg_06);
    set_info(1, 0);

  block_01AB:
    /* global_address global_id=0x3C */
    if Intrinsic0033() goto block_01E1;

  block_01BB:
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    goto block_01AB;

  block_01E1:
    /* global_address global_id=0x3C */
    suspend;
    door = 0;
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x40 */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */

  block_022E:
    if condition goto block_024E;

  block_0231:
    if (Item.getQHi(item) != 1) goto block_024A;

  block_0243:
    door = item;

  block_024A:
    /* loopnext  */
    goto block_022E;

  block_024E:
    if door goto block_09EE;

  block_0258:
    /* global_address global_id=0x3C */
    if (Intrinsic00D7() != 3) goto block_027D;

  block_0276:
    counter = 2;
    goto block_0284;

  block_027D:
    counter = 3;

  block_0284:
    /* global_address global_id=0x3C */
    spawn class_0A11_slot_22(counter, 0);
    /* global_address global_id=0x3C */
    suspend;
    spawn class_0A0C_slot_32(pid, 60, 0x00000000);
    suspend;
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    suspend;
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x40 */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */

  block_0332:
    if condition goto block_0340;

  block_0335:
    willmar = item;
    /* loopnext  */
    goto block_0332;

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

  block_0360:
    if condition goto block_037C;

  block_0363:
    dir = Item.callEvent0A(item);
    floor = item;
    /* loopnext  */
    goto block_0360;

  block_037C:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x42 */
    /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */

  block_039C:
    if condition goto block_03AA;

  block_039F:
    post1 = item;
    /* loopnext  */
    goto block_039C;

  block_03AA:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x42 */
    /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */

  block_03CA:
    if condition goto block_03D8;

  block_03CD:
    post2 = item;
    /* loopnext  */
    goto block_03CA;

  block_03D8:
    if (post1 && post2) goto block_057B;

  block_03EB:
    spawn class_0A0C_slot_32(pid, 60, 0x00000000);
    suspend;
    /* global_address global_id=0x3C */
    if dir goto block_04BD;

  block_0436:
    counter = 1;

  block_0457:
    if (counter <= 4) goto block_04BA;

  block_045F:
    spawn class_0A0C_slot_32(pid, 30, 0x00000000);
    suspend;
    counter = (1 + counter);
    goto block_0457;

  block_04BA:
    goto block_052D;

  block_04BD:
    counter = 0;

  block_04C4:
    if (counter <= 3) goto block_052D;

  block_04CC:
    spawn class_0A0C_slot_32(pid, 30, 0x00000000);
    suspend;
    counter = (1 + counter);
    goto block_04C4;

  block_052D:
    spawn class_0A0C_slot_32(pid, 30, 0x00000000);
    suspend;

  block_057B:
    spawn class_0A0C_slot_32(pid, 60, 0x00000000);
    suspend;
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x42 */
    /* loop current_var=0xFC string_bytes=0x6 loop_type=0x2 */

  block_05BF:
    if condition goto block_05F0;

  block_05C2:
    door = item;
    spawn class_0A06_slot_21(pid, 1, door);
    suspend;
    /* loopnext  */
    goto block_05BF;

  block_05F0:
    spawn class_0A11_slot_21(pid, 4, willmar);
    suspend;
    suspend;
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    suspend;
    /* str_to_ptr  */
    /* free_stack_string value_u8=0x4 target=[SP+04h] */
    suspend;
    suspend;
    spawn class_0A11_slot_21(pid, 2, willmar);
    suspend;
    suspend;
    spawn class_0A06_slot_21(pid, 1, door);
    suspend;
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    suspend;
    spawn class_0A0C_slot_32(pid, 30, 0x00000000);
    suspend;
    spawn class_0A11_slot_21(pid, 2, willmar);
    suspend;
    suspend;
    spawn class_0A06_slot_21(pid, 2, door);
    suspend;
    if (post1 && post2) goto block_09D8;

  block_0848:
    spawn class_0A0C_slot_32(pid, 60, 0x00000000);
    suspend;
    if (!dir) goto block_091A;

  block_0893:
    counter = 1;

  block_08B4:
    if (counter <= 4) goto block_0917;

  block_08BC:
    spawn class_0A0C_slot_32(pid, 30, 0x00000000);
    suspend;
    counter = (1 + counter);
    goto block_08B4;

  block_0917:
    goto block_098A;

  block_091A:
    counter = 0;

  block_0921:
    if (counter <= 3) goto block_098A;

  block_0929:
    spawn class_0A0C_slot_32(pid, 30, 0x00000000);
    suspend;
    counter = (1 + counter);
    goto block_0921;

  block_098A:
    spawn class_0A0C_slot_32(pid, 30, 0x00000000);
    suspend;

  block_09D8:

  block_09EE:
    return;

}
