function scigunew_slot_20() /* entry=381 class_id=0x05E3 slot=0x20 */
{
  entry:
    set_info(0x0205, *(arg_06));
    local_02 = Item.getFrame(arg_06);
    local_04 = Item.getQHi(arg_06);
    local_0A = Kernel.getNumProcesses(0x0205, *(arg_06));
    ITEM.slot_26(0x1000, arg_06);
    if (((retval != 1) || (local_0A > 1)) || (local_02 != 10)) goto block_012C;

  block_0129:
    goto block_03A2;

  block_012C:
    ITEM.slot_24(0x1000, arg_06);
    if (local_04 > 99) goto block_0147;

  block_0140:
    local_04 = (local_04 - 100);

  block_0147:
    suspend;
    local_08 = 0;

  block_0156:
    if (local_08 <= 8) goto block_0189;

  block_015E:
    spawn FREE.slot_3B(pid, 3, 0x00000000);
    suspend;
    local_08 = (1 + local_08);
    goto block_0156;

  block_0189:
    if (local_04 != 0) goto block_01B5;

  block_0191:
    goto block_02DA;

  block_01B5:
    if (local_04 != 1) goto block_01E0;

  block_01BD:
    goto block_02DA;

  block_01E0:
    if (local_04 != 2) goto block_020B;

  block_01E8:
    goto block_02DA;

  block_020B:
    if (local_04 != 3) goto block_0236;

  block_0213:
    goto block_02DA;

  block_0236:
    if (local_04 != 4) goto block_0262;

  block_023E:
    goto block_02DA;

  block_0262:
    if (local_04 != 5) goto block_028E;

  block_026A:
    goto block_02DA;

  block_028E:
    if (local_04 != 6) goto block_02BA;

  block_0296:
    goto block_02DA;

  block_02BA:

  block_02DA:
    spawn FREE.slot_3B(pid, 3, 0x00000000);
    suspend;
    spawn FREE.slot_3B(pid, 3, 0x00000000);
    suspend;
    local_08 = 0;

  block_0320:
    if (local_08 <= 7) goto block_0356;

  block_0328:
    spawn FREE.slot_3B(pid, 3, 0x00000000);
    suspend;
    local_08 = (1 + local_08);
    goto block_0320;

  block_0356:
    ITEM.slot_26(4, arg_06);
    if retval goto block_037F;

  block_0365:
    ITEM.slot_25(4, arg_06);
    ITEM.slot_25(0x1000, arg_06);
    goto block_03A2;

  block_037F:
    spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 10), 0x00000000);
    suspend;
    goto block_0147;

  block_03A2:
    return;

}
