// // ExFilterRethrow from 0x180126a88 to 0x180126b0f (135 bytes) // // 2 xrefs: // > unknown_libname_19 @ 0x180142c61 // > @ 0x18020293c // // 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 ExFilterRethrow(struct _EXCEPTION_POINTERS *a1, struct EHExceptionRecord *a2, int *a3) { PEXCEPTION_RECORD ExceptionRecord; // r9 __int64 v5; // rcx ExceptionRecord = a1->ExceptionRecord; *a3 = 0; if ( ExceptionRecord->ExceptionCode != -529697949 ) return 0; if ( ExceptionRecord->NumberParameters != 4 ) return 0; if ( (unsigned int)(LODWORD(ExceptionRecord->ExceptionInformation[0]) - 429065504) <= 2 && (void *)ExceptionRecord->ExceptionInformation[1] == a2->params.pExceptionObject ) { *a3 = 1; if ( ExceptionRecord->ExceptionCode != -529697949 ) return 0; } if ( ExceptionRecord->NumberParameters != 4 ) return 0; v5 = (unsigned int)(LODWORD(ExceptionRecord->ExceptionInformation[0]) - 429065504); if ( (unsigned int)v5 > 2 || ExceptionRecord->ExceptionInformation[2] ) return 0; *(_DWORD *)(_vcrt_getptd(v5) + 64) = 1; *a3 = 1; return 1; }