function wallgun_slot_36() /* entry=471 class_id=0x0A19 slot=0x36 */
{
  entry:
    set_info(0x0001, *(arg_06));
    local_09 = 1;
    local_0A = 1;
    WALLGUN.slot_29(arg_06);
    local_0B = retval;
    if (local_0B != 1) goto block_143B;

  block_142C:
    local_06 = 1;
    local_02 = 0;
    local_04 = 15;
    goto block_1463;

  block_143B:
    WALLGUN.slot_2B(arg_06);
    if retval goto block_1457;

  block_1448:
    local_06 = 1;
    local_02 = 0;
    local_04 = 8;
    goto block_1463;

  block_1457:
    local_06 = -1;
    local_02 = 8;
    local_04 = 0;

  block_1463:
    WALLGUN.slot_20(arg_06);
    local_0D = (retval * 5);

  block_1472:
    if 1 goto block_1586;

  block_1477:
    spawn WALLGUN.slot_26(pid, arg_06);
    suspend;
    local_08 = Item.getFrame(arg_06);
    if (local_0B != 1) goto block_14BF;

  block_149A:
    if (local_08 > 19) goto block_14BC;

  block_14A2:
    spawn FREE.slot_3B(pid, 10, 0x00000000);
    suspend;
    goto block_1472;

  block_14BC:
    goto block_14E4;

  block_14BF:
    if (local_08 > 8) goto block_14E4;

  block_14C7:
    spawn FREE.slot_3B(pid, 10, 0x00000000);
    suspend;
    goto block_1472;

  block_14E1:
    goto block_14E4;

  block_14E4:
    if local_09 goto block_1505;

  block_14E9:
    if (local_08 != local_04) goto block_14FB;

  block_14F1:
    local_09 = 0;
    goto block_1472;

  block_14F8:
    goto block_1502;

  block_14FB:
    local_08 = (local_08 + local_06);

  block_1502:
    goto block_1558;

  block_1505:
    if ((local_0A != 1) && (local_0B != 0)) goto block_152F;

  block_1513:
    if (local_08 != local_02) goto block_1525;

  block_151B:
    local_0A = 0;
    goto block_1472;

  block_1522:
    goto block_152C;

  block_1525:
    local_08 = (local_08 - local_06);

  block_152C:
    goto block_1558;

  block_152F:
    local_09 = 1;
    local_0A = 1;
    if (local_0B != 1) goto block_1546;

  block_153F:
    local_08 = local_02;
    goto block_1558;

  block_1546:
    if (local_08 == 4) {
      local_08 = (local_08 + local_06);
    }

  block_1558:
    spawn FREE.slot_3B(pid, local_0D, 0x00000000);
    suspend;
    goto block_1472;

  block_1586:
    return;

}
