// // FMOD_Android_JNI_Init from 0xe6484 to 0xe667c (504 bytes) // // 1 xrefs: // > @ 0x60a0 // // This function is hookable on this platform! // // Using BromaIDA 8.0.0 @ https://github.com/Stazzical/BromaIDA // Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings // __int64 FMOD_Android_JNI_Init() { __int64 v0; // x0 __int64 v1; // x1 __int64 *v2; // x8 __int64 v3; // x9 __int64 result; // x0 __int64 v5; // x8 __int64 v6; // x19 __int64 v7; // x0 __int64 v8; // x20 __int64 v9; // x0 __int64 v10; // x21 __int64 v11; // x0 __int64 v12; // x22 __int64 v13; // x0 _QWORD *v14; // x23 __int64 v15; // x0 _QWORD *v16; // [xsp+8h] [xbp-48h] BYREF v0 = sub_E6934(); v3 = *v2; if ( *(_QWORD *)(*v2 + 456) ) return 0; v5 = v0; result = 31; if ( v5 ) { v6 = v1; if ( v1 ) { *(_QWORD *)(v3 + 456) = v5; result = sub_E667C(&v16, v1); if ( !(_DWORD)result ) { v7 = sub_E6928(v16, "android/app/NativeActivity"); if ( !v7 ) return 28; v8 = v7; v9 = sub_E6928(v16, "java/lang/ClassLoader"); if ( !v9 ) return 28; v10 = v9; v11 = (*(__int64 (__fastcall **)(_QWORD *, __int64, const char *, const char *))(*v16 + 264LL))( v16, v8, "getClassLoader", "()Ljava/lang/ClassLoader;"); if ( !v11 ) return 28; v12 = sub_E675C(v16, v6, v11); if ( (unsigned __int8)(*(_QWORD *(__fastcall **)(_QWORD *__return_ptr, _QWORD *))(*v16 + 1824LL))(v16, v16) ) return 28; v13 = (*(__int64 (__fastcall **)(_QWORD *, __int64, const char *, const char *))(*v16 + 264LL))( v16, v10, "loadClass", "(Ljava/lang/String;)Ljava/lang/Class;"); if ( !v13 ) return 28; result = sub_E638C((__int64)v16, v13, v12); if ( !(_DWORD)result ) { v14 = v16; if ( !(*(unsigned int (__fastcall **)(_QWORD *, __int64, char **, __int64))(*v16 + 1720LL))( v16, gFMODClass, off_11AA40, 3) && !(*(unsigned int (__fastcall **)(_QWORD *, __int64, char **, __int64))(*v14 + 1720LL))( v14, gMediaCodecClass, off_11AA10, 2) ) { v15 = (*(__int64 (__fastcall **)(_QWORD *, __int64, const char *, const char *))(*v16 + 904LL))( v16, gFMODClass, "init", "(Landroid/content/Context;)V"); if ( v15 ) { sub_E67CC(v16, gFMODClass, v15, v6); sub_E68FC(v16, v12); sub_E68FC(v16, v10); sub_E68FC(v16, v8); return 0; } } return 28; } } } } return result; }