function hover_slot_21() /* entry=457 class_id=0x0A0B slot=0x21 */
{
  entry:
    set_info(1, 0);
    local_13 = arg_0A;
    local_02 = Item.getQHi(local_13);
    local_0A = local_02;
    local_04 = (local_02 & 15);
    local_06 = local_04;

  block_0ACF:
    if 1 goto block_0CDA;

  block_0AD4:
    if ((Item.getStatus(local_13) & 0x1000) != 0) goto block_0B0A;

  block_0AE7:
    spawn HOVER.slot_23(pid, 1, arg_0A, arg_06);
    suspend;
    goto block_0CDA;

  block_0B0A:
    local_0C = Item.getQLo(local_13);
    local_0E = -1;
    /* loop_selector local_15 in nearby_items(shape=0x033A, origin=arg_0A) */

  block_0B2F:
    if condition goto block_0B89;

  block_0B32:
    if (Item.getFrame(local_15) != local_06) goto block_0B85;

  block_0B41:
    if ((local_0C != 0) || (local_0C != Item.getQLo(local_15))) goto block_0B85;

  block_0B56:
    local_0E = Item.getX(local_15);
    local_10 = Item.getY(local_15);
    local_11 = Item.getZ(local_15);
    local_08 = Item.getQHi(local_15);
    goto block_0B89;

  block_0B85:
    /* loopnext  */
    goto block_0B2F;

  block_0B89:
    if (local_0E != -1) goto block_0BD0;

  block_0B93:
    if (local_06 != local_04) goto block_0BB4;

  block_0B9B:
    /* bit_not  */
    goto block_0CDA;

  block_0BB4:
    local_06 = local_04;
    local_02 = (local_02 & 0x00F0);
    goto block_0ACF;

  block_0BD0:
    spawn HOVER.slot_20(pid, local_11, local_10, local_0E, arg_0A, arg_06);
    suspend;
    /* dword_to_word  */
    if (process_result != 1) goto block_0BFF;

  block_0BF2:
    goto block_0CDA;

  block_0BFF:
    spawn HOVER.slot_24(pid, local_06, arg_0A, arg_06);
    suspend;
    if ((Item.getStatus(local_13) & 0x1000) != 0) goto block_0C4B;

  block_0C28:
    spawn HOVER.slot_23(pid, 1, arg_0A, arg_06);
    suspend;
    goto block_0CDA;

  block_0C4B:
    if (local_02 & 0x0080) goto block_0C6E;

  block_0C54:
    spawn TRIGGER.slot_20(pid, (0 + 0x0080), local_15, arg_06);
    suspend;

  block_0C6E:
    if (local_08 != 0) goto block_0C90;

  block_0C76:
    spawn FREE.slot_3B(pid, (local_08 * 10), 0x00000000);
    suspend;

  block_0C90:
    local_02 = Item.getQHi(local_13);
    if ((local_02 & 15) != local_06) goto block_0CB3;

  block_0CA6:
    local_06 = ((local_06 + 1) & 15);
    goto block_0CC2;

  block_0CB3:
    local_04 = (local_02 & 15);
    local_06 = local_04;
    local_0A = local_02;

  block_0CC2:
    local_02 = (local_02 & 0x00F0);
    goto block_0ACF;

  block_0CDA:
    return;

}
