=== lever-free bodies in ov_SC01_080 sharing a callee or global with func_801809E4 (10 found; top 6 by shared symbols) — read them for the SHAPE ===
--- func_801808B8 (src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c:6056) shares 4: D_80127188 D_801C5D40 func_8012913C func_801291C0 ---
void func_801808B8(s32 param_1) {
    s16 i;
    u8 *p;
    u8 *q;
    i = 0;
    do {
        p = func_801291C0();
        if (p != 0) {
            *(u16 *)p = 0x19;
            *(u16 *)(p + 0x2C) = 0;
            *(s32 *)(p + 0x34) = (s32)&D_801C5D40 + (*(s16 *)(param_1 + 0xDC) << 5);
            *(s16 *)(param_1 + 0xDC) = *(s16 *)(param_1 + 0xDC) + 1;
            if (*(s16 *)(param_1 + 0xDC) >= 0xC0) {
                *(s16 *)(param_1 + 0xDC) = 0;
            }
        }
        i = i + 1;
    } while (i < 3);
    if (*(s32 *)(param_1 + 0x1C) == 0) {
        func_8012913C(0x14);
        q = func_8012913C(0x14);
        if (q != 0) {
            *(u16 *)(q + 0x2E) = 0x71;
        }
        q = func_8012913C(0x14);
        if (q != 0) {
            *(u16 *)(q + 0x2E) = 0xE3;
        }
        *(s32 *)(param_1 + 0x1C) = 0x10;
        if (D_80127188 != 0) {
            *(s32 *)(param_1 + 0x1C) = 0x60;
            *(s16 *)(param_1 + 2) = *(s16 *)(param_1 + 2) + 1;
        }
    } else {
        *(s32 *)(param_1 + 0x1C) = *(s32 *)(param_1 + 0x1C) - 1;
    }
}

--- func_80132EF4 (src/shared/ov/func_80132EF4.h:5) shares 1: func_8012913C ---
s32 func_80132EF4(s32 a0, s32 a1) {
    s32 s0 = func_8012913C(a1 & 0xFFFF);
    if (s0 != 0) {
        func_80129350(s0, a0);
    }
    return s0;
}

--- func_801290DC (src/shared/ov/func_801290DC.h:4) shares 1: func_8012913C ---
u8 *func_801290DC(s32 a0, u8 *a1) {
    u8 *v1 = func_8012913C(a0 & 0xFFFF);
    if (v1 != 0) {
        *(u16 *)(v1 + 0x6) = *(u16 *)(a1 + 0x0);
        *(u16 *)(v1 + 0xA) = *(u16 *)(a1 + 0x2);
        *(u16 *)(v1 + 0xE) = *(u16 *)(a1 + 0x4);
    }
    return v1;
}

--- func_8017FC04 (src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c:5437) shares 1: D_80127188 ---
void func_8017FC04(s32 arg0) {
    Blk8 buf;
    buf = *(Blk8 *)&D_801C46E8;
    if (*(s32 *)(arg0 + 0xE0) < 0x4000) {
        if (--*(s32 *)(arg0 + 0xDC) == 0) {
            D_80127188 = 4;
            func_8017E4F4();
            func_8016F0AC();
            ((void (*)(void))func_80175414)();
        }
        if (--*(s32 *)(arg0 + 0xE0) == 0) {
            *(s32 *)(arg0 + 0xE0) = 0x4000;
            *(s32 *)(arg0 + 0xDC) = 8;
        }
    }
}

--- func_8012913C (src/shared/ov/func_8012913C.h:6) shares 1: func_801291C0 ---
u8 * func_8012913C(s32 arg0)
{
    s32 iVar1;
    u8 *puVar2;
    iVar1 = ((s32(*)(s32,s32))func_8001D074)(0x7E, 0x100);
    if (iVar1 == 0) {
        return (u8 *)0;
    }
    puVar2 = func_801291C0();
    if (puVar2 == (u8 *)0) {
        return (u8 *)0;
    }
    *(s16 *)puVar2 = arg0;
    *(s32 *)(puVar2 + 0x20) = iVar1;
    func_8001CC3C(iVar1, 0, 0, 0);
    return puVar2;
}

--- func_801806DC (src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.c:5894) shares 1: D_80127188 ---
void func_801806DC(void) {
    struct {
        s16 unk00;
        s16 unk02;
        s16 unk04;
        s16 unk06;
        s16 unk08;
        s16 unk0A;
        s16 unk0C;
        s16 unk0E;
        s32 unk10;
    } buf;

    D_80127188 = 0;
    buf.unk06 = 0x72;
    buf.unk04 = 0;
    buf.unk02 = 0;
    buf.unk00 = 0;
    buf.unk0A = 0;
    buf.unk08 = 0;
    buf.unk0E = 0;
    buf.unk10 = 0;
    func_8012C750((s32)&buf);
}

