function wallgun_slot_34() /* entry=396 class_id=0x0A1A slot=0x34 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    left, /* [BP-02h] type=0x69 */
    right, /* [BP-04h] type=0x69 */
    inc, /* [BP-06h] type=0x69 */
    f, /* [BP-08h] type=0x69 */
    panRight, /* [BP-09h] type=0x62 */
    isTurret, /* [BP-0Ah] type=0x62 */
    delay; /* [BP-0Ch] type=0x69 */

  entry:
    set_info(0x0001, *(arg_06));
    panRight = 1;
    class_0A1A_slot_29(arg_06);
    isTurret = retval;
    if (isTurret != 1) goto block_1CBF;

  block_1CA7:
    inc = 1;
    left = 0;
    right = 15;
    goto block_1CFC;

  block_1CBF:
    class_0A1A_slot_2B(arg_06);
    if retval goto block_1CE7;

  block_1CCF:
    inc = 1;
    left = 0;
    right = 8;
    goto block_1CFC;

  block_1CE7:
    inc = -1;
    left = 8;
    right = 0;

  block_1CFC:
    class_0A1A_slot_20(arg_06);
    delay = (retval * 5);

  block_1D0E:
    if 1 goto block_1E5E;

  block_1D16:
    f = Item.getFrame(arg_06);
    if (isTurret != 1) goto block_1D69;

  block_1D2F:
    if (f > 19) goto block_1D66;

  block_1D3A:
    spawn class_0A0C_slot_32(pid, 10, 0x00000000);
    suspend;
    goto block_1D0E;

  block_1D66:
    goto block_1DA3;

  block_1D69:
    if (f > 8) goto block_1DA3;

  block_1D74:
    spawn class_0A0C_slot_32(pid, 10, 0x00000000);
    suspend;
    goto block_1D0E;

  block_1DA0:
    goto block_1DA3;

  block_1DA3:
    if panRight goto block_1DD9;

  block_1DAB:
    if (f != right) goto block_1DCC;

  block_1DBC:
    panRight = 0;
    goto block_1D0E;

  block_1DC9:
    goto block_1DD6;

  block_1DCC:
    f = (f + inc);

  block_1DD6:
    goto block_1E15;

  block_1DD9:
    if (isTurret != 1) goto block_1DF4;

  block_1DEA:
    f = left;
    goto block_1E15;

  block_1DF4:
    if ((f != 4) && (f != right)) goto block_1E15;

  block_1E08:
    f = (f + inc);
    goto block_1E15;

  block_1E15:
    spawn class_0A0C_slot_32(pid, delay, 0x00000000);
    suspend;
    goto block_1E5E;

  block_1E5B:
    goto block_1D0E;

  block_1E5E:
    return;

}
