function satarg_use() /* entry=312 class_id=0x0549 slot=0x01 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    item, /* [BP-02h] type=0x24 */
    counter; /* [BP-04h] type=0x69 */

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

  block_00FA:
    goto block_05C1;

  block_0100:

  block_010B:
    /* global_address global_id=0x3C */
    if Intrinsic0033() goto block_0144;

  block_011B:
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    goto block_010B;

  block_0144:
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    suspend;
    spawn class_0A0C_slot_32(pid, 30, 0x00000000);
    suspend;
    spawn class_0A0C_slot_32(pid, 60, 0x00000000);
    suspend;
    /* str_to_ptr  */
    /* free_stack_string value_u8=0x4 target=[SP+04h] */
    suspend;
    spawn class_0A0C_slot_32(pid, 60, 0x00000000);
    suspend;
    spawn class_0A1E_slot_28(pid, 0, 1, arg_06);
    suspend;
    spawn class_0A0C_slot_3B(0x00000000);
    /* 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_0290:
    if condition goto block_02EA;

  block_0293:
    if (Item.getNpcNum(item) != 0) goto block_02E6;

  block_02A8:
    spawn class_0A0C_slot_32(Intrinsic00DA(pid, 30, 20), 0x00000000);
    suspend;

  block_02E6:
    /* loopnext  */
    goto block_0290;

  block_02EA:
    /* 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_030A:
    if condition goto block_0390;

  block_030D:
    spawn class_0A1E_slot_28(pid, 0, 1, item);
    suspend;
    if (Item.getFrame(item) < 2) goto block_035D;

  block_0347:

  block_035D:
    spawn class_0A0C_slot_32(Intrinsic00DA(pid, 40, 20), 0x00000000);
    suspend;
    /* loopnext  */
    goto block_030A;

  block_0390:
    /* 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_03B0:
    if condition goto block_0437;

  block_03B3:
    spawn class_0A1E_slot_28(pid, 0, 1, item);
    suspend;
    if (Item.getFrame(item) < 4) goto block_0404;

  block_03ED:

  block_0404:
    spawn class_0A0C_slot_32(Intrinsic00DA(pid, 50, 30), 0x00000000);
    suspend;
    /* loopnext  */
    goto block_03B0;

  block_0437:
    spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000);
    suspend;
    spawn class_0A0C_slot_26(pid, "15d", 0x00000000);
    /* free_stack_string value_u8=0x0 target=[SP+00h] */
    suspend;
    spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000);
    suspend;
    /* pop_global global_id=0x38 size=0x1 */
    spawn class_0A18_slot_20(1, pid, 0, *(arg_06), arg_06);
    suspend;
    spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000);
    suspend;
    if (Intrinsic0029() > 1) goto block_0543;

  block_051C:
    spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
    suspend;

  block_0543:
    spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000);
    suspend;
    /* 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_0588:
    if condition goto block_05BF;

  block_058B:
    if (Item.getNpcNum(item) != 0x00FF) goto block_05BB;

  block_05A1:

  block_05BB:
    /* loopnext  */
    goto block_0588;

  block_05BF:

  block_05C1:
    return;

}
