=== lever-free bodies in ov_SC06_016 sharing a callee or global with func_8017E54C (59 found; top 6 by shared symbols) — read them for the SHAPE ===
--- func_8017E710 (src/ov_SC06_016/ov_SC06_016_jr_8017C8D0.c:3420) shares 5: D_8019F70C D_8019F718 D_8019F720 func_8002D4C8 func_8017EEFC ---
void func_8017E710(s32 a0)
{
    s32 iVar2;
    s32 bVar1;

    if (D_8019F720 != 0) {
        D_8019F720 = D_8019F720 - 1;
    }
    iVar2 = func_8012BEE8(a0);
    if (iVar2 != 0) {
        *(u8 *)(a0 + 0xC1) = 0;
        bVar1 = D_8019F70C < 4;
        *(u16 *)(a0 + 0x5E) = 0;
        if (!bVar1) {
            func_8017E7D0(a0);
        } else {
            if (D_8019F718 == 7) {
                func_8017EEFC(a0, 7, 0, (s32)&D_80195E24);
                func_8002D4C8(0xA97, 0);
            } else {
                func_8017EB8C((void *)a0);
            }
        }
    }
}

--- func_8017E7D0 (src/ov_SC06_016/ov_SC06_016_jr_8017C8D0.c:3457) shares 3: D_8019F70C func_8012B2CC func_8017EEFC ---
void func_8017E7D0(s32 a0)
{
    s32 p;
    s32 ret;

    func_8017EEFC(a0, 9, 0, &D_80195614);
    *(s32 *)(a0 + 0x1C) = (s16)D_80188A2A[0];
    ret = func_8012B8A4((s16 *)a0);
    p = *(s32 *)(a0 + 0x20);
    *(s16 *)(p + 0x12) = ret;
    func_8012B2CC(a0);
    func_8012B200((u8 *)a0);
    func_8012B14C(a0, (s32)&D_80188A2A[3]);

    D_8019F70C = 0;
    *(s32 *)(a0 + 0x48) = -D_80188A34 / ((s16)D_80188A2A[0] / 2);
}

--- func_8017EBB8 (src/ov_SC06_016/ov_SC06_016_jr_8017C8D0.c:3602) shares 3: D_80196974 func_8002D4C8 func_8017EEFC ---
void func_8017EBB8(void *a0)
{
    s32 s0 = (s32)a0;
    s32 v0 = 0x800;
    func_8002A04C(s0);
    func_8017EEFC(s0, 0x10, 0, (s32)&D_80196974);
    *(s32 *)(s0 + 0x1C) = 0;
    *(s16 *)(s0 + 0x34) = 0;
    *(s16 *)(s0 + 0x5E) = 0;
    *(s8 *)(s0 + 0xC1) = 0;
    *(s16 *)(s0 + 0x76) = 0;
    *(s16 *)(s0 + 0x5C) = v0;
    func_8002D4C8(0xA96, 0);
    func_80029514(0x578);
    func_800D0C48(1);
    func_80178BF8();
    func_801746A4();
    func_80178CBC(s0, (s32)&D_80188BFC);
}

--- func_80182334 (src/ov_SC06_016/ov_SC06_016_jr_801816DC.c:3513) shares 3: D_8019F70C D_8019F720 func_8017EEFC ---
void func_80182334(void *a0) {
    if (func_8012C354((s32)a0, (s32)D_80188A70) != 0) {
        func_8012E8E0((s32)a0, (s32)D_80188A04);

        D_8019F6F8 = a0;
        *(u8 *)((s32)a0 + 0xC0) = 1;
        *(s32 *)((s32)a0 + 0xB4) = 0;
        *(u8 *)((s32)a0 + 0xC1) = 0;
        *(s32 *)((s32)a0 + 0xBC) = (s32)D_80188A40;
        *(s32 *)((s32)a0 + 0xC4) = *(s32 *)((s32)a0 + 0xC4) | 3;

        func_8012C588(0x2D9, (s32)a0);
        func_8012C588(0x2EE, 0);
        func_8012C588(0x30A, (s32)a0);

        *(s32 *)((s32)a0 + 0xDC) = 0;
        D_8019F708 = 0;
        D_8019F70C = 0;
        D_8019F71C = 0;
        D_8019F720 = 0;
        D_8019F724 = 0x708;

        func_8017EEFC((s32)a0, 1, (s32)D_80188A04, (s32)&D_80193CE4);

        *(s16 *)((s32)a0 + 0x34) = 0;
    }
}

--- func_80181EE8 (src/ov_SC06_016/ov_SC06_016_jr_801816DC.c:3303) shares 3: func_8002D4C8 func_8012B2CC func_8017EEFC ---
void func_80181EE8(s32 arg0) {
    s32 s0 = arg0;
    s32 v0;
    s32 v1;

    if (func_8012BEE8(s0) == 0) goto END;
    func_8002D4C8(0x982, 0);
    v1 = D_80188A00;
    v0 = 1;
    if (v1 != 0) goto F4C;
    v1 = D_8019F708;
    v0 = 2;
    if (v1 == v0) goto L94;
    if (v1 >= 3) goto L54;
    if (v1 < 0) goto L54;
    goto L94;
F4C:
    if (v1 != v0) goto F8C;
L54:
    func_8017EEFC(s0, 2, (s32)D_80188A04, (s32)&D_80195614);
    *(s32 *)(s0 + 0x1C) = 0x11;
    func_8012B2CC(s0);
    func_8017ECE0(s0);
    goto END;
F8C:
    D_8019F708 = 0;
L94:
    func_8017E9CC(s0);
END:;
}

--- func_80131B14 (src/ov_SC06_016/ov_SC06_016_jr_8012ACE0.c:1692) shares 3: func_8002A520 func_8002A790 func_8012B2CC ---
void func_80131B14() {
    extern void func_8002A520(void *);
    extern void func_8002A790(void *);
    extern u8 D_80185358;

    u8 *a0v;
    u8 *p = a0v;


    s32 e = *(u8 *)(p + 0x5E);

    if (*(s16 *)(p + 0x60) != 0) {
        if (e == 0x1D) {
            *(s16 *)(p + 0x82) = 0;
            *(s16 *)(p + 0x7C) = *(u16 *)(p + 0x06);
            *(s16 *)(p + 0x7E) = *(u16 *)(p + 0x0A);
            *(s16 *)(p + 0x80) = *(u16 *)(p + 0x0E);
        }
        {
            s32 dec;
            s32 q = *(s32 *)(p + 0x78);
            if (q != 0) {
                dec = ((s32)*(s16 *)(p + 0x60) * (s32)*(s16 *)(q + 0x30)) >> 12;
                if (dec <= 0) dec = 1;
            }
            *(u16 *)(p + 0x76) = *(u16 *)(p + 0x76) - dec;
        }
        ((void (*)(void *))func_8016AA50)(p);
        if (*(u16 *)(p + 0x82) & 1) {
            ((void (*)(void *))func_8016B428)(p);
            ((void(*)(void *))func_80019064)(&D_80185358);
        }
    }

    *(u16 *)(p + 0x5C) = *(u16 *)(p + 0x5C) & 0xFFFE;

    if (e != 0x1D) {
        if (*(u8 *)(p + 0xC8)) func_8002A520(p);
        if (*(u8 *)(p + 0xC9)) func_8002A790(p);
    }

    if (*(s16 *)(p + 0x76) <= 0) *(s16 *)(p + 0x5C) = 0;

    {
        s32 r = *(s32 *)(p + 0x20);
        *(s16 *)(r + 0x12) = (*(u16 *)(p + 0x62) + 0x800) & 0xFFF;
        {
            s32 r2 = *(s32 *)(p + 0x20);
            *(s16 *)(r2 + 0x14) = 0;
            *(s16 *)(r2 + 0x10) = 0;
        }
    }

    ((void (*)(void *))func_8012B2CC)(p);
    ((void (*)(void *))func_8012B23C)(p);
}

