function wallgun_slot_3C() /* entry=471 class_id=0x0A19 slot=0x3C */
{
  entry:
    set_info(0x0001, *(arg_06));
    WALLGUN.slot_29(arg_06);
    local_0C = retval;
    if (local_0C != 1) goto block_1DD0;

  block_1DC1:
    local_08 = -1;
    local_04 = 0;
    local_06 = 15;
    goto block_1DF8;

  block_1DD0:
    WALLGUN.slot_2B(arg_06);
    if retval goto block_1DEC;

  block_1DDD:
    local_08 = -1;
    local_04 = 0;
    local_06 = 8;
    goto block_1DF8;

  block_1DEC:
    local_08 = 1;
    local_04 = 8;
    local_06 = 0;

  block_1DF8:
    WALLGUN.slot_2D(arg_0A, arg_06);
    if (!retval) goto block_1E0F;

  block_1E08:
    /* word_to_dword  */
    /* pop_result  */
    goto block_1F26;

  block_1E0F:
    if 1 goto block_1F26;

  block_1E14:
    spawn WALLGUN.slot_26(pid, arg_06);
    suspend;
    spawn WALLGUN.slot_2F(pid, arg_0C, arg_0A, arg_06);
    suspend;
    local_0A = Item.getFrame(arg_06);
    if (local_0C != 1) goto block_1E72;

  block_1E4D:
    if (local_0A > 19) goto block_1E6F;

  block_1E55:
    spawn FREE.slot_3B(pid, 10, 0x00000000);
    suspend;
    goto block_1E0F;

  block_1E6F:
    goto block_1E97;

  block_1E72:
    if (local_0A > 8) goto block_1E97;

  block_1E7A:
    spawn FREE.slot_3B(pid, 10, 0x00000000);
    suspend;
    goto block_1E0F;

  block_1E94:
    goto block_1E97;

  block_1E97:
    WALLGUN.slot_2D(arg_0A, arg_06);
    local_02 = retval;
    if (local_02 != 0) goto block_1EB4;

  block_1EAD:
    /* word_to_dword  */
    /* pop_result  */
    goto block_1F26;

  block_1EB4:
    if (local_02 != 1) goto block_1EE7;

  block_1EBC:
    if (local_0A != local_04) goto block_1EDD;

  block_1EC4:
    if (local_0C != 1) goto block_1ED3;

  block_1ECC:
    local_0A = local_06;
    goto block_1EDA;

  block_1ED3:
    /* word_to_dword  */
    /* pop_result  */
    goto block_1F26;

  block_1EDA:
    goto block_1EE4;

  block_1EDD:
    local_0A = (local_0A + local_08);

  block_1EE4:
    goto block_1F0F;

  block_1EE7:
    if (local_0A != local_06) goto block_1F08;

  block_1EEF:
    if (local_0C != 1) goto block_1EFE;

  block_1EF7:
    local_0A = local_04;
    goto block_1F05;

  block_1EFE:
    /* word_to_dword  */
    /* pop_result  */
    goto block_1F26;

  block_1F05:
    goto block_1F0F;

  block_1F08:
    local_0A = (local_0A - local_08);

  block_1F0F:
    goto block_1E0F;

  block_1F26:
    return;

}
