static bool _extLoadNoMsg()
{
    if (!g_got_ext && !g_tried_nomsg_ext)
    {
        s3eResult res = s3eExtGetHash(0xcb8b9d07, &ext, sizeof(ext));
        if (res == S3E_RESULT_SUCCESS)
            g_got_ext = true;
        g_tried_nomsg_ext = true;
        if (g_tried_ext)
            g_tried_ext = true;
    }

    return g_got_ext;
}
static bool _extLoadNoMsg()
{
    if (!g_GotExt && !g_TriedNoMsgExt)
    {
        s3eResult res = s3eExtGetHash(0xf2eb1843, &g_Ext, sizeof(g_Ext));
        if (res == S3E_RESULT_SUCCESS)
            g_GotExt = true;
        g_TriedNoMsgExt = true;
        if (g_TriedExt)
            g_TriedExt = true;
    }

    return g_GotExt;
}
static bool _extLoad()
{
    if (!g_GotExt && !g_TriedExt)
    {
        s3eResult res = s3eExtGetHash(0xb2e1d429, &g_Ext, sizeof(g_Ext));
        if (res == S3E_RESULT_SUCCESS)
            g_GotExt = true;
        else
            s3eDebugAssertShow(S3E_MESSAGE_CONTINUE_STOP_IGNORE, "error loading extension: s3eIOSIAd");
        g_TriedExt = true;
        g_TriedNoMsgExt = true;
    }

    return g_GotExt;
}
static bool _extLoad()
{
    if (!g_got_ext && !g_tried_ext)
    {
        s3eResult res = s3eExtGetHash(0xcb8b9d07, &ext, sizeof(ext));
        if (res == S3E_RESULT_SUCCESS)
            g_got_ext = true;
        else
            s3eDebugAssertShow(S3E_MESSAGE_CONTINUE_STOP_IGNORE, "error loading extension: s3eTapjoy");
        g_tried_ext = true;
        g_tried_nomsg_ext = true;
    }

    return g_got_ext;
}