function shocker_slot_21() /* entry=389 class_id=0x0A13 slot=0x21 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    monster; /* [BP-02h] type=0x24 */

  entry:
    set_info(0x0205, *(arg_06));
    set_info(0x020C, *(arg_06));

  block_0366:
    suspend;
    spawn class_0A0C_slot_32(pid, 5, 0x00000000);
    suspend;
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x3A */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */

  block_03B6:
    if condition goto block_0461;

  block_03B9:
    if (Actor.isNPC(monster) != 1) goto block_045D;

  block_03CB:
    if (!Actor.isDead(monster)) goto block_045D;

  block_03DE:
    if ((Item.overlaps(monster, arg_06) != 1) && (Item.getFrame(arg_06) < 6)) goto block_045D;

  block_0402:
    class_0A0C_slot_20(pid, 8);
    spawn class_0A11_slot_2D(retval, *(arg_06), monster);
    suspend;
    spawn class_0A0C_slot_32(pid, 2, 0x00000000);
    suspend;
    goto block_0466;

  block_045D:
    /* loopnext  */
    goto block_03B6;

  block_0461:
    goto block_0366;

  block_0466:
    return;

}
