function wallgun_slot_35() /* entry=396 class_id=0x0A1A slot=0x35 */
{
  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 */
    panLeft, /* [BP-09h] type=0x62 */
    isTurret, /* [BP-0Ah] type=0x62 */
    delay; /* [BP-0Ch] type=0x69 */

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

  block_1EF3:
    inc = 1;
    left = 0;
    right = 15;
    goto block_1F48;

  block_1F0B:
    class_0A1A_slot_2B(arg_06);
    if retval goto block_1F33;

  block_1F1B:
    inc = 1;
    left = 0;
    right = 8;
    goto block_1F48;

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

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

  block_1F5A:
    if 1 goto block_20AD;

  block_1F62:
    f = Item.getFrame(arg_06);
    if (isTurret != 1) goto block_1FB5;

  block_1F7B:
    if (f > 19) goto block_1FB2;

  block_1F86:
    spawn class_0A0C_slot_32(pid, 10, 0x00000000);
    suspend;
    goto block_1F5A;

  block_1FB2:
    goto block_1FEF;

  block_1FB5:
    if (f > 8) goto block_1FEF;

  block_1FC0:
    spawn class_0A0C_slot_32(pid, 10, 0x00000000);
    suspend;
    goto block_1F5A;

  block_1FEC:
    goto block_1FEF;

  block_1FEF:
    if (panLeft != 1) goto block_2028;

  block_1FFA:
    if (f != left) goto block_201B;

  block_200B:
    panLeft = 0;
    goto block_1F5A;

  block_2018:
    goto block_2025;

  block_201B:
    f = (f - inc);

  block_2025:
    goto block_2064;

  block_2028:
    if (isTurret != 1) goto block_2043;

  block_2039:
    f = right;
    goto block_2064;

  block_2043:
    if ((f != 4) && (f != left)) goto block_2064;

  block_2057:
    f = (f - inc);
    goto block_2064;

  block_2064:
    spawn class_0A0C_slot_32(pid, delay, 0x00000000);
    suspend;
    goto block_20AD;

  block_20AA:
    goto block_1F5A;

  block_20AD:
    return;

}
