function chest_ns_use() /* entry=316 class_id=0x054F slot=0x01 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    item, /* [BP-02h] type=0x24 */
    item2, /* [BP-04h] type=0x24 */
    counter, /* [BP-06h] type=0x69 */
    x, /* [BP-08h] type=0x69 */
    y; /* [BP-0Ah] type=0x69 */

  entry:
    set_info(0x0207, *(arg_06));
    process_exclude();
    if (Item.getFrame(arg_06) > 1) goto block_0228;

  block_0222:
    goto block_052F;

  block_0228:
    if (Item.getFrame(arg_06) != 1) goto block_02E6;

  block_023D:
    class_0A0C_slot_2D(Item.getZ(arg_06), Item.legal_create(arg_06), Intrinsic0013(arg_06), 5, 0x054A, *(arg_06));
    if retval goto block_02CF;

  block_026F:
    counter = 5;

  block_0284:
    if (counter <= 9) goto block_02CC;

  block_028C:
    spawn class_0A0C_slot_32(pid, 10, 0x00000000);
    suspend;
    counter = (1 + counter);
    goto block_0284;

  block_02CC:
    goto block_02E3;

  block_02CF:
    goto block_052F;

  block_02E3:
    goto block_038B;

  block_02E6:
    class_0A0C_slot_2D(Item.getZ(arg_06), Item.legal_create(arg_06), Intrinsic0013(arg_06), 0, 0x054A, *(arg_06));
    if retval goto block_0378;

  block_0318:
    counter = 0;

  block_032D:
    if (counter <= 4) goto block_0375;

  block_0335:
    spawn class_0A0C_slot_32(pid, 10, 0x00000000);
    suspend;
    counter = (1 + counter);
    goto block_032D;

  block_0375:
    goto block_038B;

  block_0378:
    goto block_052F;

  block_038B:
    spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
    suspend;
    x = (Intrinsic0013(arg_06) + 56);
    y = (Item.legal_create(arg_06) + 64);
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x40 */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */

  block_03F2:
    if condition goto block_052D;

  block_03F5:
    if (Item.pop(arg_06) != Item.pop(item)) goto block_0529;

  block_0411:
    class_0A0C_slot_2E(item);
    item2 = retval;
    if ((((Intrinsic003C(item2) != 10) || (Intrinsic003C(item2) != 11)) || (Intrinsic003C(item2) != 12)) || (Intrinsic003C(item2) != 13)) goto block_0503;

  block_046B:
    if (!Intrinsic0037(1, item2)) goto block_0500;

  block_0480:
    /* global_address global_id=0x3C */
    if (Item.getType() != 40) goto block_04D7;

  block_04B2:
    x = (x - 32);
    goto block_0500;

  block_04D7:
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */

  block_0500:
    goto block_0529;

  block_0503:
    spawn class_0A0C_slot_31(pid, item2, 0x00000000);
    suspend;

  block_0529:
    /* loopnext  */
    goto block_03F2;

  block_052D:

  block_052F:
    return;

}
