function npc_slot_23() /* entry=387 class_id=0x0A11 slot=0x23 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    item, /* [BP-02h] type=0x24 */
    pad, /* [BP-04h] type=0x24 */
    padDir; /* [BP-06h] type=0x69 */

  entry:
    set_info(0x020A, *(arg_06));
    /* global_address global_id=0x3C */
    if (Item.getType((*(arg_06) != 1)) != 40) goto block_0346;

  block_032F:
    /* global_address global_id=0x3C */

  block_0346:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x42 */
    /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */

  block_0366:
    if condition goto block_0374;

  block_0369:
    pad = item;
    /* loopnext  */
    goto block_0366;

  block_0374:
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x44 */
    /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */

  block_039F:
    if condition goto block_03F2;

  block_03A2:
    if (Intrinsic0016(item) != 0x018E) goto block_03D8;

  block_03BB:
    if (!Item.getFrame(item)) goto block_03D5;

  block_03CE:
    padDir = 1;

  block_03D5:
    goto block_03EE;

  block_03D8:
    if Item.getFrame(item) goto block_03EE;

  block_03E7:
    padDir = 1;

  block_03EE:
    /* loopnext  */
    goto block_039F;

  block_03F2:
    spawn class_0A0C_slot_32(pid, 60, 0x00000000);
    suspend;
    /* global_address global_id=0x3C */
    if (!padDir) goto block_0495;

  block_046B:
    suspend;
    goto block_04BC;

  block_0495:
    suspend;

  block_04BC:
    /* global_address global_id=0x3C */
    if Item.touch(48) goto block_04F4;

  block_04CE:
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;

  block_04F4:
    if (*(arg_06) != 1) goto block_0529;

  block_0504:
    /* global_address global_id=0x3C */

  block_0529:
    goto block_052F;

  block_052F:
    return;

}
