=== lever-free bodies in ov_SC04_011 sharing a callee or global with func_8017B614 (28 found; top 6 by shared symbols) — read them for the SHAPE ===
--- func_8017B490 (src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:2845) shares 12: D_80126984 D_80126988 D_8012698C D_80126990 D_80126994 D_80126998 D_80193D6C D_801EEC5C D_801EECCC D_801EECD4 D_801F1638 func_8012F214 ---
s32 func_8017B490(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;
    extern s16 D_801EEC5C;
    extern s16 D_801F1638;
    extern s32 D_80126984;
    extern s32 D_80126988;
    extern s32 D_8012698C;
    extern s32 D_80126990;
    extern s32 D_80126994;
    extern s32 D_80126998;

    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 *)&D_80193D6C)[n].x;
        s32 ay = (s32)&((Pair16 *)&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 = 0x1E;
    D_80126990 = (*(SV4_8017B368 *)&D_801EECD4).a;
    D_80126994 = (*(SV4_8017B368 *)&D_801EECD4).b;
    D_80126998 = (*(SV4_8017B368 *)&D_801EECD4).c;
    D_80126984 = (*(SV4_8017B368 *)&D_801EECCC).a;
    D_80126988 = (*(SV4_8017B368 *)&D_801EECCC).b;
    D_8012698C = (*(SV4_8017B368 *)&D_801EECCC).c;
}

--- func_8017B238 (src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:2762) shares 9: D_8012694C D_80193D6C D_801EEC5C D_801EECCC D_801EECD4 D_801F1638 func_8012A018 func_8012F214 func_8017BE60 ---
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;
    }
}

--- func_8017B7A8 (src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:2984) shares 8: D_8012694C D_801EEC5C D_801EECCC D_801EECCE D_801EECD0 D_801EECD4 D_801EECD6 D_801EECD8 ---
void func_8017B7A8(void)
{
    D_8012694C = 1;
    D_801EEC5C = 0;
    D_801EECD4 = (s16) D_80114F30;
    D_801EECD6 = (s16) D_80114F34;
    D_801EECD8 = (s16) D_80114F38;
    D_801EECCC = (s16) D_80114F24;
    D_801EECCE = (s16) D_80114F28;
    D_801EECD0 = (s16) D_80114F2C;
}

--- func_8017B940 (src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:3092) shares 8: D_8012694C D_801EEC5C D_801EECCC D_801EECCE D_801EECD0 D_801EECD4 D_801EECD6 D_801EECD8 ---
void func_8017B940(void)
{
    s32 buf[3];

    D_8012694C = 2;
    buf[0] = (*(s16 *)&D_80126B5E) - (*(s16 *)&D_801EECDC);
    buf[1] = (*(s16 *)&D_80126B62) - (*(s16 *)&D_801EECDE);
    buf[2] = (*(s16 *)&D_80126B66) - (*(s16 *)&D_801EECE0);
    (*(s16 *)&D_801EECE4) = buf[0];
    (*(s16 *)&D_801EECE6) = buf[1];
    (*(s16 *)&D_801EECE8) = buf[2];
    D_801EECD4 = D_80114F30 + buf[0];
    D_801EEC5C = 0;
    D_801EECD6 = D_80114F34 + buf[1];
    D_801EECD8 = D_80114F38 + buf[2];
    D_801EECCC = D_80114F24 + buf[0];
    D_801EECCE = D_80114F28 + buf[1];
    D_801EECD0 = D_80114F2C + buf[2];
}

--- func_8017B0E4 (src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:2717) shares 6: D_801EECCC D_801EECCE D_801EECD0 D_801EECD4 D_801EECD6 D_801EECD8 ---
void func_8017B0E4(int param_1, int param_2)
{
    extern s16 D_801EECD4;
    extern s16 D_801EECD6;
    extern s16 D_801EECD8;
    extern s16 D_801EECCC;
    extern s16 D_801EECCE;
    extern s16 D_801EECD0;

    *(s32 *)(((s32)param_1) + 0x48) = (s16)func_80012C6C((s32)*(s16 *)(((s32)param_1) + 0x48), (s32)D_801EECD4, (s32)((s16)param_2));
    *(s32 *)(((s32)param_1) + 0x4C) = (s16)func_80012C6C((s32)*(s16 *)(((s32)param_1) + 0x4C), (s32)D_801EECD6, (s32)((s16)param_2));
    *(s32 *)(((s32)param_1) + 0x50) = (s16)func_80012C6C((s32)*(s16 *)(((s32)param_1) + 0x50), (s32)D_801EECD8, (s32)((s16)param_2));
    *(s32 *)(((s32)param_1) + 0x3C) = (s16)func_80012C6C((s32)*(s16 *)(((s32)param_1) + 0x3C), (s32)D_801EECCC, (s32)((s16)param_2));
    *(s32 *)(((s32)param_1) + 0x40) = (s16)func_80012C6C((s32)*(s16 *)(((s32)param_1) + 0x40), (s32)D_801EECCE, (s32)((s16)param_2));
    *(s32 *)(((s32)param_1) + 0x44) = (s16)func_80012C6C((s32)*(s16 *)(((s32)param_1) + 0x44), (s32)D_801EECD0, (s32)((s16)param_2));
}

--- func_8017B368 (src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:2809) shares 6: D_80193D6C D_801EEC5C D_801EECCC D_801EECD4 D_801F1638 func_8012F214 ---
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;
}

