// // __DestructExceptionObject from 0x180124bb0 to 0x180124c1d (109 bytes) // // 8 xrefs: // > __C_specific_handler @ 0x1801249f9 // > FindHandler<__FrameHandler3> @ 0x180126195 // > unknown_libname_19 @ 0x1801269be // > unknown_libname_19 @ 0x180126a48 // > unknown_libname_19 @ 0x180142cbb // > @ 0x18016fc30 // > @ 0x1802026cc // > @ 0x1802026d8 // // 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 // void __fastcall _DestructExceptionObject(__int64 a1) { __int64 v1; // rax __int64 v2; // rdx __int64 v3; // rcx if ( a1 ) { if ( *(_DWORD *)a1 == -529697949 && *(_DWORD *)(a1 + 24) == 4 && (unsigned int)(*(_DWORD *)(a1 + 32) - 429065504) <= 2 ) { v1 = *(_QWORD *)(a1 + 48); if ( v1 ) { v2 = *(int *)(v1 + 4); if ( (_DWORD)v2 ) { ((void (__fastcall *)(_QWORD))(*(_QWORD *)(a1 + 56) + v2))(*(_QWORD *)(a1 + 40)); } else if ( (*(_BYTE *)v1 & 0x10) != 0 ) { v3 = **(_QWORD **)(a1 + 40); if ( v3 ) (*(void (__fastcall **)(__int64))(*(_QWORD *)v3 + 16LL))(v3); } } } } }