=== lever-free bodies in ov_SC02_026 sharing a callee or global with func_8018226C (11 found; top 6 by shared symbols) — read them for the SHAPE ===
--- func_801845B0 (src/ov_SC02_026/ov_SC02_026_jr_8017C180.c:7897) shares 2: func_8012B2CC func_8012C098 ---
void func_801845B0(s32 a0) {
    s32 ent;

    if (*(u16 *)a0 != 0) {
        if (*(s16 *)(a0 + 0x70) == 4) {
            ent = func_8012C658(0x12C, 4, a0);
            if (ent != 0) {
                *(u16 *)(ent + 0x6) = *(u16 *)(a0 + 0x88);
                *(u16 *)(ent + 0x88) = *(u16 *)(a0 + 0x88);
                *(u16 *)(ent + 0xE) = *(u16 *)(a0 + 0x8C);
                *(u16 *)(ent + 0x8C) = *(u16 *)(a0 + 0x8C);
                *(u16 *)(ent + 0xA) = *(u16 *)(a0 + 0x8A) - 0x400;
                *(u16 *)(ent + 0x8A) = *(u16 *)(a0 + 0x8A);
                func_8012B2CC(ent);
            }
        }
        if (func_80153BD8(a0)) {
            func_80153BF0(a0);
        }
        if (*(s32 *)(a0 + 0x78) != 0) {
            func_8002A04C(a0);
        }
        func_8012C098((void *)a0);
    }
}

--- func_80180B90 (src/ov_SC02_026/ov_SC02_026_jr_8017C180.c:5211) shares 1: func_8012B2CC ---
void func_80180B90(s32 *a0) {
    s32 val_at_64;
    s32 deref;
    u16 val1, val2;
    s32 ptr_at_20;

    val_at_64 = *(s32 *)((char *)a0 + 0x64);
    deref = *(s32 *)((char *)val_at_64 + 0x20);
    val1 = *(u16 *)((char *)deref + 0x12);
    val2 = *(u16 *)((char *)a0 + 0x70);
    ptr_at_20 = *(s32 *)((char *)a0 + 0x20);

    *(u16 *)((char *)ptr_at_20 + 0x12) = val1 + val2;

    func_8012B2CC(a0);
}

--- func_8017EC78 (src/ov_SC02_026/ov_SC02_026_jr_8017C180.c:3984) shares 1: func_8012C098 ---
void func_8017EC78(void *arg0) {
    func_8002A04C((s32)arg0);

    if ((*(s16 *)((char *)arg0 + 0x70) & 0xC000) != 0) {
        func_8012C098(arg0);
    } else {
        s32 a0 = *(s32 *)((char *)arg0 + 0x20);
        *(s16 *)((char *)arg0 + 0x2) = 5;
        *(s8 *)((char *)arg0 + 0xC1) = 0;
        *(s32 *)((char *)arg0 + 0x1C) = 0x78;
        *(s16 *)((char *)arg0 + 0x5E) = 0;
        *(s16 *)((char *)arg0 + 0x5C) = 0;
        *(s32 *)((char *)a0 + 0x4) |= 0x80000000;
        *(s16 *)((char *)arg0 + 0xAA) = 0;
        *(s16 *)((char *)arg0 + 0x6) = *(u16 *)((char *)arg0 + 0x88);
        *(s16 *)((char *)arg0 + 0xA) = *(u16 *)((char *)arg0 + 0x8A);
        *(s16 *)((char *)arg0 + 0xE) = *(u16 *)((char *)arg0 + 0x8C);
    }
}

--- func_801788B8 (src/shared/ov/func_801788B8.h:6) shares 1: func_8012B2CC ---
s32 func_801788B8(s32 arg0, s32 arg1) {
    s32 iVar1;
    u16 buf[4];
    iVar1 = func_8012C658(0x83, (s32)*(s16 *)((u8 *)arg0 + 0x70), 0);
    if (iVar1 == 0) {
        return 0;
    }
    *(s32 *)((u8 *)iVar1 + 0x64) = arg0;
    buf[0] = *(u16 *)((u8 *)arg0 + 0x6);
    buf[1] = *(u16 *)((u8 *)arg0 + 0xA);
    buf[2] = *(u16 *)((u8 *)arg0 + 0xE);
    if (*(s32 *)((u8 *)arg0 + 0x20) != 0) {
        buf[3] = *(u16 *)((u8 *)(*(s32 *)((u8 *)arg0 + 0x20)) + 0x12);
    } else {
        buf[3] = 0;
    }
    func_8012E8E0(iVar1, (s32)buf);
    func_8012B2CC(iVar1);
    *(s32 *)((u8 *)iVar1 + 0xDC) = arg1;
    return iVar1;
}

--- func_80142BB4 (src/shared/ov/func_80142BB4.h:7) shares 1: func_8012C098 ---
void func_80142BB4(s32 * param_1, s32 param_2, s32 param_3)
{
  void *new_var;
  new_var = param_1;
  if ((*((s16 *) (new_var + 0xfc))) == 1)
  {
    if ((param_2 != ((char) 0)) || ((*((s16 *) (new_var + 0x100))) == 0))
    {
      *((u16 *) (new_var + 0x5c)) = (*((u16 *) (new_var + 0x5c))) & 0xfefe;
      *((u32 *) ((*((s32 *) (new_var + 0x20))) + 4)) = (*((u32 *) ((*((s32 *) (new_var + 0x20))) + 4))) | 0x80000000;
      func_801439C0(*((u8 **) (new_var + 0xcc)));
      func_8012AD44((s32 *) new_var, param_3);
    }
  }
  else
    if ((param_2 != 0) || ((*((s16 *) (new_var + 0x100))) == 0))
  {
 do { func_8012C218(new_var = (void *) new_var); } while (0);
  }
  else
  {
    ((void (*)(void *)) func_8012C098)((void *) new_var);
  }
}

--- func_8017E590 (src/ov_SC02_026/ov_SC02_026_jr_8017C180.c:3656) shares 1: func_8012B2CC ---
void func_8017E590(s32 a0)
{
    s32 v0;
    s32 v1;

    if (func_8012BEE8(a0)) {
        if (func_8012BD14(a0) > 0x18FFF) {
            *(u16 *)(a0 + 0x2) = 6;
            *(s32 *)(a0 + 0x1C) = 0x20;
            *(s32 *)((*(s32 *)(a0 + 0x20)) + 4) &= 0x7FFFFFFF;
            *(u16 *)(*(s32 *)(a0 + 0x20) + 0x2C) |= 0x10;
            v1 = *(s32 *)(a0 + 0x20);
            *(u16 *)(v1 + 0x1C) = 1;
            *(u16 *)(v1 + 0x1A) = 1;
            *(u16 *)(v1 + 0x18) = 1;
            v0 = *(s32 *)(a0 + 0x20);
            *(u16 *)(v0 + 0x14) = 0;
            *(u16 *)(v0 + 0x10) = 0;
            v0 = *(s32 *)(a0 + 0x68);
            v1 = *(s32 *)(a0 + 0x20);
            *(u16 *)(v1 + 0x12) = *(u16 *)(v0 + 0xC);
            func_8012B2CC(a0);
        }
    }
}

