=== lever-free bodies in ov_SC04_004 sharing a callee or global with func_80181744 (55 found; top 6 by shared symbols) — read them for the SHAPE ===
--- func_80181678 (src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c:6651) shares 7: D_80199644 func_8012A8B0 func_8012AD44 func_8012ADE4 func_8012B23C func_8012BEE8 func_80180AF0 ---
void func_80181678(s32 a0) {
    s32 local;
    s32 v0;

    v0 = func_80180AF0(a0, 0xFFFB0000, &local);
    if (v0 == 1) {
        func_8012ADE4((u8 *)a0);
        *(s32 *)(a0 + 0x1C) = 8;
        func_8012A8B0((u8 *)a0, (s32)&D_80199644);
        func_8012B23C(a0);
        func_8012AD44((s32 *)a0, 1);
    } else if (func_8012BEE8(a0) != 0) {
        *(s32 *)(a0 + 0x1C) = 8;
        func_8012A8B0((u8 *)a0, (s32)&D_80199644);
        func_8012B23C(a0);
        func_8012AD44((s32 *)a0, 1);
    } else if ((*(u16 *)(a0 + 0x86) & 1) == 0) {
        s16 r = (s16)func_80180D94(a0);
        if (r != 0) {
            ((void (*)(s32, s16))func_80180274)(a0, r);
        }
    }
    func_80181130(a0, 1);
}

--- func_80180AF0 (src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c:6110) shares 5: D_80199644 func_8012A8B0 func_8012AD44 func_8012ADE4 func_8012B23C ---
s32 func_80180AF0(s32 a0, s32 a1, s32 *a2) {
    s32 cba4;

    func_8012B2CC(a0);
    func_8012B178(a0, a1);
    cba4 = ((s32 (*)(s32))func_8012CBA4)(a0);
    if ((*a2 = func_80180C74(a0)) != 0) goto fail;
    if (cba4 == 0x2000) goto zeroret;
fail:
    func_8012ADE4((u8 *)a0);
    *(s32 *)(a0 + 0x1C) = 8;
    func_8012A8B0((u8 *)a0, (s32)&D_80199644);
    func_8012B23C(a0);
    func_8012AD44((s32 *)a0, 1);
    return 1;
zeroret:
    return 0;
}

--- func_801802D0 (src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c:5773) shares 5: func_8012A8B0 func_8012ADE4 func_8012B23C func_8012BEE8 func_80180AF0 ---
void func_801802D0(s32 param_1) {
    SV3_801802D0 pos;
    s32 out;
    s32 flag = 0;

    switch (*(u16 *)(param_1 + 0x34)) {
    case 0:
        if (func_8012BEE8(param_1) != 0) {
            *(u16 *)(param_1 + 0x34) += 1;
            func_8012A8B0((u8 *)param_1, (s32)&D_8019A00C);
            func_8012B2CC(param_1);
            func_8012B178(param_1, 0xFFF80000);
            *(s32 *)(param_1 + 0x14) = 0xFFF40000;
        }
        func_80181130(param_1, 0);
        break;

    case 1:
        flag = ((s32 (*)(s32))func_8012CBF4)(param_1);
        if (*(s16 *)(param_1 + 0xA) > 0) {
            func_8012C218((void *)param_1);
            return;
        }
        if (func_80180C74(param_1) != 0) {
            *(s32 *)(param_1 + 0x10) = 0;
            *(s32 *)(param_1 + 0x18) = 0;
            *(s32 *)(param_1 + 0x4) = *(s32 *)(param_1 + 0x38);
            *(s32 *)(param_1 + 0xC) = *(s32 *)(param_1 + 0x40);
        }
        if (flag & 0x2000) {
            func_8012B23C(param_1);
            func_8012B2CC(param_1);
            func_8012B178(param_1, 0xFFF20000);
            func_8012A8B0((u8 *)param_1, (s32)&D_80199AF4);
            *(s32 *)(param_1 + 0x1C) = 0x30;
            *(u16 *)(param_1 + 0x34) += 1;
            pos.a = *(s16 *)(param_1 + 0x6);
            pos.b = *(s16 *)(param_1 + 0xA);
            pos.c = *(s16 *)(param_1 + 0xE);
            func_8002D59C(0x7E5, 0, *(u16 *)(param_1 + 0x36));
        }
        func_80181130(param_1, 0);
        break;

    case 2:
        if (func_80180AF0(param_1, 0xFFF20000, &out) == 1) {
            func_8012ADE4((u8 *)param_1);
            flag = 1;
        } else if (func_8012BEE8(param_1) != 0) {
            flag = 1;
        }
        func_80181130(param_1, 2);
        if (flag != 0) {
            func_80180530((void *)param_1);
            func_8002D59C(4, 0x7E5, *(u16 *)(param_1 + 0x36));
        }
        break;
    }
}

--- func_80181850 (src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c:6740) shares 4: D_80199644 func_8012A8B0 func_8012AD44 func_8012B23C ---
void func_80181850(s32 arg0) {
    if (*(s16 *)(arg0 + 0x98) == 0) {
        *(s32 *)(arg0 + 0x1C) = 8;
        func_8012A8B0((u8 *)arg0, (s32)&D_80199644);
        func_8012B23C(arg0);
        func_8012AD44((s32 *)arg0, 1);
    }
}

--- func_80180EEC (src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c:6288) shares 4: D_80199644 func_8012A8B0 func_8012AD44 func_8012B23C ---
void func_80180EEC(void *arg0) {
    *(u16 *)((u8 *)arg0 + 0x5C) = 0x8A10;
    *(u16 *)((u8 *)arg0 + 0x52) = 0;
    if ((*(s32 *)((u8 *)arg0 + 0xC4) & 4) != 0) {
        func_8012A8B0((u8 *)arg0, (s32)&D_80199F24);
        func_8012AD44((s32 *)arg0, 6);
    } else {
        *(s32 *)((u8 *)arg0 + 0x1C) = 8;
        func_8012A8B0((u8 *)arg0, (s32)&D_80199644);
        func_8012B23C((s32)arg0);
        func_8012AD44((s32 *)arg0, 1);
    }
}

--- func_801818A8 (src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.c:6758) shares 4: D_80199644 func_8012A8B0 func_8012AD44 func_8012B23C ---
void func_801818A8(void *arg0) {
    void *s0 = arg0;
    s32 buf[2];

    if (*(s16 *)((u8 *)s0 + 0x98) != 0) {
        return;
    }
    if ((*(u16 *)((u8 *)s0 + 0x86) & 1) == 0 && func_80180BA4(s0, buf) != 0) {
        func_8012A8B0((u8 *)s0, (s32)&D_8019972C);
        *(s32 *)((u8 *)s0 + 0x94) = 0xF;
        *(s32 *)(*(u8 **)((u8 *)s0 + 0x20) + 0x20) = D_801997A4;
        func_8012B23C((s32)s0);
        func_8012AD44((s32 *)s0, 2);
    } else {
        *(s32 *)((u8 *)s0 + 0x1C) = 8;
        func_8012A8B0((u8 *)s0, (s32)&D_80199644);
        func_8012B23C((s32)s0);
        func_8012AD44((s32 *)s0, 1);
    }
}

