unwind_context_t _eh_elf( unwind_context_t ctx, uintptr_t pc) { unwind_context_t out_ctx; if(pc < 0x619) { ... } else { if(pc < 0x659) { // IP=0x619 ... 0x658 goto _factor_1; } ... } _factor_1: out_ctx.rsp = ctx.rsp + (48); out_ctx.rip = *((uintptr_t*)(out_ctx.rsp + (-8))); out_ctx.flags = 3u; ... return out_ctx; }