// // CatchIt<__FrameHandler3> from 0x180125c44 to 0x180125d15 (209 bytes) // // 4 xrefs: // > FindHandler<__FrameHandler3> @ 0x18012603a // > FindHandlerForForeignException<__FrameHandler3> @ 0x1801263d0 // > @ 0x1802028b8 // > @ 0x1802028c4 // // 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 CatchIt<__FrameHandler3>( struct EHExceptionRecord *a1, unsigned __int64 *a2, struct _CONTEXT *a3, struct _xDISPATCHER_CONTEXT *a4, struct _s_FuncInfo *a5, struct _s_HandlerType *a6, __int64 a7, int *a8, int a9, int a10, int a11, char a12) { const struct _s_FuncInfo *v12; // r13 __int64 *EstablisherFrame; // rax unsigned __int64 *v17; // r14 struct _s_HandlerType *v18; // rsi int v19; // ebx int v20; // edi __int64 ImageBase; // rax unsigned __int64 v22; // [rsp+A8h] [rbp+10h] BYREF struct _CONTEXT *v23; // [rsp+B0h] [rbp+18h] v23 = a3; v12 = a5; EstablisherFrame = (__int64 *)_GetEstablisherFrame(a2, a4, a5, &v22); v17 = (unsigned __int64 *)EstablisherFrame; v18 = a6; if ( a7 ) BuildCatchObjectInternal<__FrameHandler3>((__int64)a1, EstablisherFrame, (int *)a6, a7); v19 = a8[2]; v20 = *a8; ImageBase = GetImageBase((__int64)a8); __FrameHandler3::UnwindNestedFrames( (void **)a2, a1, v23, v17, (void *)(v18->dispOfHandler + ImageBase), v12, v20, v19, v18, a4, a12); }