// // FMOD_OS_File_Open from 0xe6a24 to 0xe6b2c (264 bytes) // // 4 xrefs: // > .FMOD_OS_File_Open @ 0x109a0c // > @ 0x3598 // > .FMOD_OS_File_Open @ 0x109a04 // > @ 0x1115c8 // // 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 __fastcall FMOD_OS_File_Open(__int64 a1, unsigned int a2, __int64 a3, __int64 *a4) { _BOOL8 v8; // x0 __int64 v9; // x0 __int64 v10; // x23 char *v11; // x8 _BOOL8 v12; // x0 unsigned int v13; // w20 v8 = sub_E599C(a1); if ( v8 ) { v9 = sub_E7360(v8); v10 = sub_E7390(v9); if ( !v10 ) goto LABEL_10; v11 = (char *)&unk_10F318; } else { v12 = sub_E5E68(a1); if ( (sub_E7360(v12) & 1) != 0 ) { v10 = sub_E737C(); if ( !v10 ) goto LABEL_10; v11 = (char *)&unk_10F360; } else { v10 = sub_E737C(); if ( !v10 ) goto LABEL_10; v11 = (char *)&unk_10F3A8; } } *(_QWORD *)v10 = v11 + 16; LABEL_10: if ( v10 ) { v13 = (*(__int64 (__fastcall **)(__int64, __int64, __int64, _QWORD))(*(_QWORD *)v10 + 16LL))(v10, a1, a3, a2); if ( v13 ) { sub_E6B2C(v10, "../android/src/fmod_os_misc.cpp", 169); *a4 = 0; } else { *a4 = v10; } } else { *a4 = 0; return 38; } return v13; }