=== lever-free bodies in ov_SC04_011 sharing a callee or global with func_80178970 (7 found; top 6 by shared symbols) — read them for the SHAPE ===
--- func_8017BCA0 (src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:3233) shares 1: D_801F1638 ---
void func_8017BCA0(int param_1) {
    func_8017B0E4(param_1, 0xC);
    D_801EEC5C = D_801EEC5C + 1;
    if (D_801EEC5C >= 0x1F) {
        D_801F1638 = 2;
    }
}

--- func_8017B1D8 (src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:2745) shares 1: D_801F1638 ---
void func_8017B1D8(void) {
    func_8012A418();
    D_801F1638 = 0;
    D_801EEC5C = 0;
    D_801EECDC = D_80126B5E;
    D_801EECDE = D_80126B62;
    D_801EECE0 = D_80126B66;
}

--- func_8017BCF4 (src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:3253) shares 1: D_801F1638 ---
void func_8017BCF4(int param_1)
{
    func_8017B0E4(param_1, 6);
    D_801EEC5C = D_801EEC5C + 1;
    if (0x18 < D_801EEC5C) {
        func_8012A4BC();
        D_801F1638 = 0;
    }
    return;
}

--- func_8017BD50 (src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:3287) shares 1: D_801F1638 ---
void func_8017BD50(int param_1)
{
    func_8017B0E4(param_1, 6);
    D_801EEC5C = D_801EEC5C + 1;
    if (D_801EEC5C >= 0x19) {
        if (D_801EECA0 != 0) {
            (*D_801EECA0)();
        } else {
            D_80114F30 = D_80114F30 + D_801EECE4;
            D_80114F34 = D_80114F34 + D_801EECE6;
            D_80114F38 = D_80114F38 + D_801EECE8;
            D_80114F24 = D_80114F24 + D_801EECE4;
            D_80114F28 = D_80114F28 + D_801EECE6;
            D_80114F2C = D_80114F2C + D_801EECE8;
            func_8012A4BC();
        }
        D_801F1638 = 0;
    }
}

--- func_8017B368 (src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:2809) shares 1: D_801F1638 ---
s32 func_8017B368(s32 param)
{
    extern void func_8017BA3C(s32 param_1, s32 param_2);
    extern void func_8012F214(s32 a0, s32 a1, s32 a2);
    extern SV4_8017B368 D_801EEC7C;
    extern SV4_8017B368 D_801EEC84;
    extern s16 D_801EECD4;
    extern s16 D_801EECCC;
    extern u16 D_80193D6C;

    SV4_8017B368 loc0;
    SV4_8017B368 loc1;
    u32 n = (u32)&D_801EEC7C;

    ((void (*)(void))func_8017BA3C)();

    if (n >= 0xB) {
        loc0 = *(SV4_8017B368 *)n;
        loc1 = D_801EEC84;
    } else {
        s32 ax = (s32)&((Pair16_8017B368 *)&D_80193D6C)[n].x;
        s32 ay = (s32)&((Pair16_8017B368 *)&D_80193D6C)[n].y;
        func_8012F214(param, ax, (s32)&loc0);
        func_8012F214(param, ay, (s32)&loc1);
    }

    (*(SV4_8017B368 *)&D_801EECD4) = loc0;
    (*(SV4_8017B368 *)&D_801EECCC) = loc1;
    D_801F1638 = 1;
    D_801EEC5C = 0;
}

--- func_8017B238 (src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:2762) shares 1: D_801F1638 ---
s32 func_8017B238(s32 param_1, s32 param_2)
{
    extern void func_8012F214(s32 a0, s32 a1, s32 a2);
    extern s32 func_8017BE60(void *a0);
    extern u8 D_80193D6C[];
    extern s16 D_801EECD4;
    extern s16 D_801EECCC;
    extern u8 D_8012694C;


    u8 buf[16];
    u8 *src;

    if (((u32)param_2) >= 0xB) {
        src = (u8 *)((u32)param_2);
        *(Blk8_8017B238_8017B238 *)&buf[0] = *(Blk8_8017B238_8017B238 *)src;
        *(Blk8_8017B238_8017B238 *)&buf[8] = *(Blk8_8017B238_8017B238 *)(src + 8);
    } else {
        s32 a2addr;

        src = &D_80193D6C[((u32)param_2) * 0x10];
        a2addr = (s32)&D_80193D6C[((u32)param_2) * 0x10 + 8];
        func_8012F214(param_1, (s32)src, (s32)&buf[0]);
        func_8012F214(param_1, a2addr, (s32)&buf[8]);
    }
    {
        s16 *p794 = &D_801EECD4;
        s16 *p78C = &D_801EECCC;
        *(Blk8_8017B238_8017B238 *)p794 = *(Blk8_8017B238_8017B238 *)&buf[0];
        *(Blk8_8017B238_8017B238 *)p78C = *(Blk8_8017B238_8017B238 *)&buf[8];
        func_8012A018((s32)func_8017BE60, 0);
        D_8012694C = 0;
        D_801F1638 = 1;
        D_801EEC5C = 0;
    }
}

