// // __std_exception_copy from 0x180126fe8 to 0x180127075 (141 bytes) // // 3 xrefs: // > sub_180126770 @ 0x180126794 // > std::exception::exception @ 0x1801267f0 // > @ 0x1802029a8 // // 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 _std_exception_copy(__int64 a1, __int64 a2) { __int64 v4; // rdi char *v5; // rax char *v6; // rbx if ( *(_BYTE *)(a1 + 8) && *(_QWORD *)a1 ) { v4 = -1; do ++v4; while ( *(_BYTE *)(*(_QWORD *)a1 + v4) ); v5 = (char *)j__malloc_base(v4 + 1); v6 = v5; if ( v5 ) { strcpy_s(v5, v4 + 1, *(const char **)a1); *(_BYTE *)(a2 + 8) = 1; *(_QWORD *)a2 = v6; v6 = nullptr; } free(v6); } else { *(_QWORD *)a2 = *(_QWORD *)a1; *(_BYTE *)(a2 + 8) = 0; } }