Skip to content

Instantly share code, notes, and snippets.

@minikin
Created February 19, 2016 15:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save minikin/e1900cd730e0f30a66a5 to your computer and use it in GitHub Desktop.
Save minikin/e1900cd730e0f30a66a5 to your computer and use it in GitHub Desktop.
mapbox crash
libc++abi.dylib`__cxa_throw:
-> 0x255b0584 <+0>: push {r4, r5, r6, r7, lr}
0x255b0586 <+2>: add r7, sp, #0xc
0x255b0588 <+4>: str r8, [sp, #-4]!
0x255b058c <+8>: mov r8, r2
0x255b058e <+10>: mov r6, r1
0x255b0590 <+12>: mov r4, r0
0x255b0592 <+14>: bl 0x255b018c ; __cxa_get_globals
0x255b0596 <+18>: mov r5, r0
0x255b0598 <+20>: bl 0x255b0d44 ; std::get_unexpected()
0x255b059c <+24>: str r0, [r4, #-72]
0x255b05a0 <+28>: bl 0x255b0da4 ; std::get_terminate()
0x255b05a4 <+32>: str r0, [r4, #-68]
0x255b05a8 <+36>: movw r0, #0x2b00
0x255b05ac <+40>: str r6, [r4, #-80]
0x255b05b0 <+44>: movt r0, #0x432b
0x255b05b4 <+48>: mov r6, r4
0x255b05b6 <+50>: str r8, [r4, #-76]
0x255b05ba <+54>: str r0, [r6, #-32]!
0x255b05be <+58>: movw r0, #0x4e47
0x255b05c2 <+62>: movt r0, #0x434c
0x255b05c6 <+66>: str r0, [r6, #0x4]
0x255b05c8 <+68>: movs r0, #0x1
0x255b05ca <+70>: str r0, [r6, #-4]
0x255b05ce <+74>: ldr r0, [r5, #0x4]
0x255b05d0 <+76>: movw r1, #0x19
0x255b05d4 <+80>: movt r1, #0x0
0x255b05d8 <+84>: add r1, pc
0x255b05da <+86>: adds r0, #0x1
0x255b05dc <+88>: str r0, [r5, #0x4]
0x255b05de <+90>: mov r0, r6
0x255b05e0 <+92>: str r1, [r6, #0x8]
0x255b05e2 <+94>: bl 0x25b41ae8 ; _Unwind_SjLj_RaiseException
0x255b05e6 <+98>: mov r0, r6
0x255b05e8 <+100>: bl 0x255b061c ; __cxa_begin_catch
0x255b05ec <+104>: ldr r0, [r4, #-68]
0x255b05f0 <+108>: bl 0x255b0dc8 ; std::__terminate(void (*)())
=====================================================================================
=====================================================================================
=====================================================================================
Mapbox`std::__1::__function::__func<mbgl::SpriteStore::setURL(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0, std::__1::allocator<mbgl::SpriteStore::setURL(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0>, void (mbgl::Response)>::operator():
0x538bd4 <+0>: push {r4, r5, r6, r7, lr}
0x538bd6 <+2>: add r7, sp, #0xc
0x538bd8 <+4>: push.w {r8, r10, r11}
0x538bdc <+8>: sub.w r4, sp, #0x40
0x538be0 <+12>: bfc r4, #0, #4
0x538be4 <+16>: mov sp, r4
0x538be6 <+18>: vst1.64 {d8, d9, d10, d11}, [r4:128]!
0x538bea <+22>: vst1.64 {d12, d13, d14, d15}, [r4:128]
0x538bee <+26>: sub sp, #0x80
0x538bf0 <+28>: mov r4, r0
0x538bf2 <+30>: mov r0, sp
0x538bf4 <+32>: bl 0x53b5a8 ; mbgl::Response::Response(mbgl::Response const&)
0x538bf8 <+36>: movw r0, #0x172c
0x538bfc <+40>: ldr r1, [pc, #0x1f0] ; <+540>
0x538bfe <+42>: movt r0, #0xd
0x538c02 <+46>: ldr r4, [r4, #0x4]
0x538c04 <+48>: add r0, pc
0x538c06 <+50>: ldr r5, [sp]
0x538c08 <+52>: ldr r0, [r0]
0x538c0a <+54>: add r1, pc
0x538c0c <+56>: str r0, [sp, #0x64]
0x538c0e <+58>: add r0, sp, #0x4c
0x538c10 <+60>: str r1, [sp, #0x68]
0x538c12 <+62>: ldr r1, [pc, #0x1e0] ; <+544>
0x538c14 <+64>: str r7, [sp, #0x6c]
0x538c16 <+66>: str.w sp, [sp, #0x74]
0x538c1a <+70>: orr r1, r1, #0x1
0x538c1e <+74>: add r1, pc
0x538c20 <+76>: str r1, [sp, #0x70]
0x538c22 <+78>: blx 0x5e0210 ; symbol stub for: _Unwind_SjLj_Register
0x538c26 <+82>: cbz r5, 0x538c76 ; <+162>
0x538c28 <+84>: ldr r0, [r4, #0x10]
0x538c2a <+86>: str r0, [sp, #0x44]
0x538c2c <+88>: ldr r0, [sp, #0x44]
0x538c2e <+90>: ldr r0, [r0]
0x538c30 <+92>: ldr r0, [r0, #0xc]
0x538c32 <+94>: str r0, [sp, #0x48]
0x538c34 <+96>: movs r0, #0x1
0x538c36 <+98>: str r0, [sp, #0x50]
0x538c38 <+100>: adds r1, r5, #0x4
0x538c3a <+102>: add r0, sp, #0x38
0x538c3c <+104>: blx 0x5dcf30 ; symbol stub for: std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
0x538c40 <+108>: movs r0, #0x8
0x538c42 <+110>: blx 0x5dd570 ; symbol stub for: __cxa_allocate_exception
0x538c46 <+114>: add r1, sp, #0x38
0x538c48 <+116>: blx 0x5dcf40 ; symbol stub for: std::runtime_error::runtime_error(std::runtime_error const&)
0x538c4c <+120>: movw r1, #0x17c2
0x538c50 <+124>: movs r3, #0x2
0x538c52 <+126>: movt r1, #0xd
0x538c56 <+130>: movw r2, #0x17b6
0x538c5a <+134>: movt r2, #0xd
0x538c5e <+138>: add r1, pc
0x538c60 <+140>: str r3, [sp, #0x50]
0x538c62 <+142>: add r2, pc
0x538c64 <+144>: ldr r1, [r1]
0x538c66 <+146>: ldr r2, [r2]
0x538c68 <+148>: blx 0x5dd5f0 ; symbol stub for: __cxa_throw
0x538c6c <+152>: b 0x538cee ; <+282>
0x538c6e <+154>: ldr r0, [sp, #0x50]
0x538c70 <+156>: cmp r0, #0x5
0x538c72 <+158>: bls 0x538cde ; <+266>
0x538c74 <+160>: trap
0x538c76 <+162>: ldrb.w r0, [sp, #0x4]
0x538c7a <+166>: cmp r0, #0x0
0x538c7c <+168>: bne 0x538d48 ; <+372>
0x538c7e <+170>: ldr r6, [r4, #0x4]
0x538c80 <+172>: ldr r0, [r6, #0x8]
0x538c82 <+174>: cmp r0, #0x0
0x538c84 <+176>: beq 0x538d1e ; <+330>
0x538c86 <+178>: ldrb r1, [r0]
0x538c88 <+180>: ldr.w r8, [sp, #0x8]
0x538c8c <+184>: ands r3, r1, #0x1
0x538c90 <+188>: lsr.w r2, r1, #0x1
0x538c94 <+192>: it ne
0x538c96 <+194>: ldrne r2, [r0, #0x4]
0x538c98 <+196>: ldrb.w r5, [r8]
0x538c9c <+200>: ands r1, r5, #0x1
0x538ca0 <+204>: lsr.w r5, r5, #0x1
0x538ca4 <+208>: it ne
0x538ca6 <+210>: ldrne.w r5, [r8, #0x4]
0x538caa <+214>: cmp r2, r5
0x538cac <+216>: bne 0x538d22 ; <+334>
0x538cae <+218>: cmp r3, #0x0
0x538cb0 <+220>: ite eq
0x538cb2 <+222>: addeq r0, #0x1
0x538cb4 <+224>: ldrne r0, [r0, #0x8]
0x538cb6 <+226>: cmp r1, #0x0
0x538cb8 <+228>: add.w r1, r8, #0x1
0x538cbc <+232>: it ne
0x538cbe <+234>: ldrne.w r1, [r8, #0x8]
0x538cc2 <+238>: cmp r3, #0x0
0x538cc4 <+240>: bne.w 0x538de0 ; <+524>
0x538cc8 <+244>: cmp r2, #0x0
0x538cca <+246>: beq 0x538d48 ; <+372>
0x538ccc <+248>: ldrb r3, [r1]
0x538cce <+250>: ldrb r5, [r0]
0x538cd0 <+252>: cmp r5, r3
0x538cd2 <+254>: bne 0x538d22 ; <+334>
0x538cd4 <+256>: adds r1, #0x1
0x538cd6 <+258>: adds r0, #0x1
0x538cd8 <+260>: subs r2, #0x1
0x538cda <+262>: bne 0x538ccc ; <+248>
0x538cdc <+264>: b 0x538d48 ; <+372>
0x538cde <+266>: tbb [pc, r0]
0x538ce2 <+270>: lsls r3, r0, #0x18
0x538ce4 <+272>: ldrh r7, [r2, r5]
0x538ce6 <+274>: movs r3, r0
0x538ce8 <+276>: ldr r4, [sp, #0x54]
0x538cea <+278>: ldr r0, [sp, #0x58]
0x538cec <+280>: b 0x538da8 ; <+468>
0x538cee <+282>: ldr r0, [sp, #0x54]
0x538cf0 <+284>: ldr r1, [sp, #0x58]
0x538cf2 <+286>: blx 0x5dd580 ; symbol stub for: __cxa_begin_catch
0x538cf6 <+290>: add r0, sp, #0x40
0x538cf8 <+292>: blx 0x5dd500 ; symbol stub for: std::current_exception()
0x538cfc <+296>: movs r0, #0x3
0x538cfe <+298>: str r0, [sp, #0x50]
0x538d00 <+300>: blx 0x5dd590 ; symbol stub for: __cxa_end_catch
0x538d04 <+304>: movs r1, #0x4
0x538d06 <+306>: ldr r0, [sp, #0x44]
0x538d08 <+308>: ldr r2, [sp, #0x48]
0x538d0a <+310>: str r1, [sp, #0x50]
0x538d0c <+312>: add r1, sp, #0x40
0x538d0e <+314>: blx r2
0x538d10 <+316>: add r0, sp, #0x40
0x538d12 <+318>: blx 0x5dcf00 ; symbol stub for: std::exception_ptr::~exception_ptr()
0x538d16 <+322>: add r0, sp, #0x38
0x538d18 <+324>: blx 0x5dcf80 ; symbol stub for: std::runtime_error::~runtime_error()
0x538d1c <+328>: b 0x538d48 ; <+372>
0x538d1e <+330>: ldr.w r8, [sp, #0x8]
0x538d22 <+334>: ldr r5, [sp, #0xc]
0x538d24 <+336>: cmp r5, #0x0
0x538d26 <+338>: itt ne
0x538d28 <+340>: movne r0, r5
0x538d2a <+342>: blxne 0x5dd2a0 ; symbol stub for: std::__1::__shared_weak_count::__add_shared()
0x538d2e <+346>: str.w r8, [r6, #0x8]
0x538d32 <+350>: ldr r0, [r6, #0xc]
0x538d34 <+352>: str r5, [r6, #0xc]
0x538d36 <+354>: cmp r0, #0x0
0x538d38 <+356>: it ne
0x538d3a <+358>: blxne 0x5dd2c0 ; symbol stub for: std::__1::__shared_weak_count::__release_shared()
0x538d3e <+362>: movs r0, #0x5
0x538d40 <+364>: str r0, [sp, #0x50]
0x538d42 <+366>: mov r0, r4
0x538d44 <+368>: bl 0x538208 ; mbgl::SpriteStore::emitSpriteLoadedIfComplete()
0x538d48 <+372>: ldrb.w r0, [sp, #0x34]
0x538d4c <+376>: cbz r0, 0x538d56 ; <+386>
0x538d4e <+378>: mov r0, sp
0x538d50 <+380>: adds r0, #0x28
0x538d52 <+382>: blx 0x5dd0a0 ; symbol stub for: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()
0x538d56 <+386>: ldr r0, [sp, #0xc]
0x538d58 <+388>: cmp r0, #0x0
0x538d5a <+390>: it ne
0x538d5c <+392>: blxne 0x5dd2c0 ; symbol stub for: std::__1::__shared_weak_count::__release_shared()
0x538d60 <+396>: ldr r4, [sp]
0x538d62 <+398>: movs r0, #0x0
0x538d64 <+400>: str r0, [sp]
0x538d66 <+402>: cbz r4, 0x538d74 ; <+416>
0x538d68 <+404>: adds r0, r4, #0x4
0x538d6a <+406>: blx 0x5dd0a0 ; symbol stub for: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()
0x538d6e <+410>: mov r0, r4
0x538d70 <+412>: blx 0x5dd540 ; symbol stub for: operator delete(void*)
0x538d74 <+416>: add r0, sp, #0x4c
0x538d76 <+418>: blx 0x5e0230 ; symbol stub for: _Unwind_SjLj_Unregister
0x538d7a <+422>: add r4, sp, #0x80
0x538d7c <+424>: vld1.64 {d8, d9, d10, d11}, [r4:128]!
0x538d80 <+428>: vld1.64 {d12, d13, d14, d15}, [r4:128]
0x538d84 <+432>: sub.w r4, r7, #0x18
0x538d88 <+436>: mov sp, r4
0x538d8a <+438>: pop.w {r8, r10, r11}
0x538d8e <+442>: pop {r4, r5, r6, r7, pc}
0x538d90 <+444>: ldr r0, [sp, #0x54]
0x538d92 <+446>: ldr r1, [sp, #0x58]
0x538d94 <+448>: bl 0x554958 ; __clang_call_terminate
0x538d98 <+452>: ldr r4, [sp, #0x54]
0x538d9a <+454>: ldr r0, [sp, #0x58]
0x538d9c <+456>: add r0, sp, #0x40
0x538d9e <+458>: blx 0x5dcf00 ; symbol stub for: std::exception_ptr::~exception_ptr()
0x538da2 <+462>: add r0, sp, #0x38
0x538da4 <+464>: blx 0x5dcf80 ; symbol stub for: std::runtime_error::~runtime_error()
0x538da8 <+468>: ldrb.w r0, [sp, #0x34]
0x538dac <+472>: cbz r0, 0x538db6 ; <+482>
0x538dae <+474>: mov r0, sp
0x538db0 <+476>: adds r0, #0x28
0x538db2 <+478>: blx 0x5dd0a0 ; symbol stub for: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()
0x538db6 <+482>: ldr r0, [sp, #0xc]
0x538db8 <+484>: cmp r0, #0x0
0x538dba <+486>: it ne
0x538dbc <+488>: blxne 0x5dd2c0 ; symbol stub for: std::__1::__shared_weak_count::__release_shared()
0x538dc0 <+492>: ldr r5, [sp]
0x538dc2 <+494>: movs r0, #0x0
0x538dc4 <+496>: str r0, [sp]
0x538dc6 <+498>: cbz r5, 0x538dd4 ; <+512>
0x538dc8 <+500>: adds r0, r5, #0x4
0x538dca <+502>: blx 0x5dd0a0 ; symbol stub for: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()
0x538dce <+506>: mov r0, r5
0x538dd0 <+508>: blx 0x5dd540 ; symbol stub for: operator delete(void*)
0x538dd4 <+512>: mov.w r0, #0xffffffff
0x538dd8 <+516>: str r0, [sp, #0x50]
0x538dda <+518>: mov r0, r4
0x538ddc <+520>: blx 0x5e0220 ; symbol stub for: _Unwind_SjLj_Resume
0x538de0 <+524>: cmp r2, #0x0
0x538de2 <+526>: beq 0x538d48 ; <+372>
0x538de4 <+528>: blx 0x5e0990 ; symbol stub for: memcmp
0x538de8 <+532>: cmp r0, #0x0
0x538dea <+534>: beq 0x538d48 ; <+372>
0x538dec <+536>: b 0x538d22 ; <+334>
0x538dee <+538>: nop
0x538df0 <+540>: svc #0xc6
0x538df2 <+542>: movs r4, r1
0x538df4 <+544>: lsls r4, r1, #0x1
0x538df6 <+546>: movs r0, r0
=================================================
=================================================
=================================================
Mapbox`mbgl::util::RunLoop::Invoker<auto std::__1::unique_ptr<mbgl::WorkRequest, std::__1::default_delete<std::__1::default_delete> > mbgl::util::RunLoop::invokeWithCallback<auto mbgl::util::Thread<mbgl::OnlineFileSource::Impl>::bind<void (mbgl::OnlineFileSource::Impl::*)(mbgl::Resource, mbgl::FileRequest*, std::__1::function<void (mbgl::Response)>)>(void (mbgl::OnlineFileSource::Impl::*)(mbgl::Resource, mbgl::FileRequest*, std::__1::function<void (mbgl::Response)>))::'lambda'(void (mbgl::OnlineFileSource::Impl::*&&)(mbgl::Resource, mbgl::FileRequest*, std::__1::function<void (mbgl::Response)>)), std::__1::function<void (mbgl::Response)>&, mbgl::Resource&, mbgl::OnlineFileRequest*>(void (mbgl::OnlineFileSource::Impl::*&&)(mbgl::Resource, mbgl::FileRequest*, std::__1::function<void (mbgl::Response)>), std::__1::function<void (mbgl::Response)>&&&, mbgl::Resource&&&, mbgl::OnlineFileRequest*&&)::'lambda'(auto mbgl::util::Thread<mbgl::OnlineFileSource::Impl>::bind<void (mbgl::OnlineFileSource::Impl::*)(mbgl::Resource, mbgl::FileRequest*, std::__1::function<void (mbgl::Response)>)>(void (mbgl::OnlineFileSource::Impl::*)(mbgl::Resource, mbgl::FileRequest*, std::__1::function<void (mbgl::Response)>))::'lambda'(void (mbgl::OnlineFileSource::Impl::*&&)(mbgl::Resource, mbgl::FileRequest*, std::__1::function<void (mbgl::Response)>)))::operator()<mbgl::Response>(auto mbgl::util::Thread<mbgl::OnlineFileSource::Impl>::bind<void (mbgl::OnlineFileSource::Impl::*)(mbgl::Resource, mbgl::FileRequest*, std::__1::function<void (mbgl::Response)>)>(void (mbgl::OnlineFileSource::Impl::*)(mbgl::Resource, mbgl::FileRequest*, std::__1::function<void (mbgl::Response)>))::'lambda'(void (mbgl::OnlineFileSource::Impl::*&&)(mbgl::Resource, mbgl::FileRequest*, std::__1::function<void (mbgl::Response)>))) const::'lambda'(auto mbgl::util::Thread<mbgl::OnlineFileSource::Impl>::bind<void (mbgl::OnlineFileSource::Impl::*)(mbgl::Resource, mbgl::FileRequest*, std::__1::function<void (mbgl::Response)>)>(void (mbgl::OnlineFileSource::Impl::*)(mbgl::Resource, mbgl::FileRequest*, std::__1::function<void (mbgl::Response)>))::'lambda'(void (mbgl::OnlineFileSource::Impl::*&&)(mbgl::Resource, mbgl::FileRequest*, std::__1::function<void (mbgl::Response)>))), std::__1::tuple<mbgl::Response> >::operator():
0x580f98 <+0>: push {r4, r5, r6, r7, lr}
0x580f9a <+2>: add r7, sp, #0xc
0x580f9c <+4>: push.w {r8, r10, r11}
0x580fa0 <+8>: sub.w r4, sp, #0x40
0x580fa4 <+12>: bfc r4, #0, #4
0x580fa8 <+16>: mov sp, r4
0x580faa <+18>: vst1.64 {d8, d9, d10, d11}, [r4:128]!
0x580fae <+22>: vst1.64 {d12, d13, d14, d15}, [r4:128]
0x580fb2 <+26>: sub sp, #0x80
0x580fb4 <+28>: mov r5, r0
0x580fb6 <+30>: adds r0, r5, #0x4
0x580fb8 <+32>: str r0, [sp, #0x48]
0x580fba <+34>: ldr r0, [sp, #0x48]
0x580fbc <+36>: blx 0x5dd200 ; symbol stub for: std::__1::recursive_mutex::lock()
0x580fc0 <+40>: movw r0, #0x9364
0x580fc4 <+44>: ldr r1, [pc, #0x144] ; <+372>
0x580fc6 <+46>: movt r0, #0x8
0x580fca <+50>: ldr r4, [r5, #0x30]
0x580fcc <+52>: add r0, pc
0x580fce <+54>: ldr r0, [r0]
0x580fd0 <+56>: add r1, pc
0x580fd2 <+58>: str r0, [sp, #0x64]
0x580fd4 <+60>: add r0, sp, #0x4c
0x580fd6 <+62>: str r1, [sp, #0x68]
0x580fd8 <+64>: ldr r1, [pc, #0x134] ; <+376>
0x580fda <+66>: str r7, [sp, #0x6c]
0x580fdc <+68>: str.w sp, [sp, #0x74]
0x580fe0 <+72>: orr r1, r1, #0x1
0x580fe4 <+76>: add r1, pc
0x580fe6 <+78>: str r1, [sp, #0x70]
0x580fe8 <+80>: blx 0x5e0210 ; symbol stub for: _Unwind_SjLj_Register
0x580fec <+84>: cbz r4, 0x580ffa ; <+98>
0x580fee <+86>: ldrb r0, [r4]
0x580ff0 <+88>: dmb ish
0x580ff4 <+92>: tst.w r0, #0x1
0x580ff8 <+96>: bne 0x581058 ; <+192>
0x580ffa <+98>: ldr r0, [r5, #0x38]
0x580ffc <+100>: ldrb r0, [r0]
0x580ffe <+102>: dmb ish
0x581002 <+106>: tst.w r0, #0x1
0x581006 <+110>: bne 0x581058 ; <+192>
0x581008 <+112>: movs r0, #0x1
0x58100a <+114>: str r0, [sp, #0x50]
0x58100c <+116>: add.w r1, r5, #0x58
0x581010 <+120>: add r0, sp, #0x10
0x581012 <+122>: str r5, [sp, #0xc]
0x581014 <+124>: bl 0x53b5a8 ; mbgl::Response::Response(mbgl::Response const&)
0x581018 <+128>: ldr r0, [sp, #0xc]
0x58101a <+130>: ldr r0, [r0, #0x50]
0x58101c <+132>: cmp r0, #0x0
0x58101e <+134>: beq 0x58107a ; <+226>
0x581020 <+136>: ldr r1, [r0]
0x581022 <+138>: ldr r2, [r1, #0x18]
0x581024 <+140>: movs r1, #0x3
0x581026 <+142>: str r1, [sp, #0x50]
0x581028 <+144>: add r1, sp, #0x10
0x58102a <+146>: blx r2
0x58102c <+148>: ldrb.w r0, [sp, #0x44]
0x581030 <+152>: cbz r0, 0x58103a ; <+162>
0x581032 <+154>: add r0, sp, #0x10
0x581034 <+156>: adds r0, #0x28
0x581036 <+158>: blx 0x5dd0a0 ; symbol stub for: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()
0x58103a <+162>: ldr r0, [sp, #0x1c]
0x58103c <+164>: cmp r0, #0x0
0x58103e <+166>: it ne
0x581040 <+168>: blxne 0x5dd2c0 ; symbol stub for: std::__1::__shared_weak_count::__release_shared()
0x581044 <+172>: ldr r4, [sp, #0x10]
0x581046 <+174>: movs r0, #0x0
0x581048 <+176>: str r0, [sp, #0x10]
0x58104a <+178>: cbz r4, 0x581058 ; <+192>
0x58104c <+180>: adds r0, r4, #0x4
0x58104e <+182>: blx 0x5dd0a0 ; symbol stub for: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()
0x581052 <+186>: mov r0, r4
0x581054 <+188>: blx 0x5dd540 ; symbol stub for: operator delete(void*)
0x581058 <+192>: ldr r0, [sp, #0x48]
0x58105a <+194>: blx 0x5dd210 ; symbol stub for: std::__1::recursive_mutex::unlock()
0x58105e <+198>: add r0, sp, #0x4c
0x581060 <+200>: blx 0x5e0230 ; symbol stub for: _Unwind_SjLj_Unregister
0x581064 <+204>: add r4, sp, #0x80
0x581066 <+206>: vld1.64 {d8, d9, d10, d11}, [r4:128]!
0x58106a <+210>: vld1.64 {d12, d13, d14, d15}, [r4:128]
0x58106e <+214>: sub.w r4, r7, #0x18
0x581072 <+218>: mov sp, r4
0x581074 <+220>: pop.w {r8, r10, r11}
0x581078 <+224>: pop {r4, r5, r6, r7, pc}
0x58107a <+226>: movs r0, #0x4
0x58107c <+228>: blx 0x5dd570 ; symbol stub for: __cxa_allocate_exception
0x581080 <+232>: movw r1, #0x9094
0x581084 <+236>: movt r1, #0x8
0x581088 <+240>: movw r3, #0x9084
0x58108c <+244>: add r1, pc
0x58108e <+246>: movt r3, #0x8
0x581092 <+250>: ldr r5, [r1]
0x581094 <+252>: add r3, pc
0x581096 <+254>: movw r2, #0x2e61
0x58109a <+258>: ldr r1, [r3]
0x58109c <+260>: movt r2, #0xfff8
0x5810a0 <+264>: add r2, pc
0x5810a2 <+266>: add.w r3, r5, #0x8
0x5810a6 <+270>: str r3, [r0]
0x5810a8 <+272>: movs r3, #0x2
0x5810aa <+274>: str r3, [sp, #0x50]
0x5810ac <+276>: blx 0x5dd5f0 ; symbol stub for: __cxa_throw
0x5810b0 <+280>: b 0x581020 ; <+136>
0x5810b2 <+282>: ldr r0, [sp, #0x50]
0x5810b4 <+284>: cmp r0, #0x3
0x5810b6 <+286>: bls 0x5810ba ; <+290>
0x5810b8 <+288>: trap
0x5810ba <+290>: tbb [pc, r0]
0x5810be <+294>: lsls r2, r0, #0x14
0x5810c0 <+296>: movs r5, r0
0x5810c2 <+298>: ldr r4, [sp, #0x54]
0x5810c4 <+300>: ldr r0, [sp, #0x58]
0x5810c6 <+302>: b 0x5810f8 ; <+352>
0x5810c8 <+304>: ldr r4, [sp, #0x54]
0x5810ca <+306>: ldr r0, [sp, #0x58]
0x5810cc <+308>: ldrb.w r0, [sp, #0x44]
0x5810d0 <+312>: cbz r0, 0x5810da ; <+322>
0x5810d2 <+314>: add r0, sp, #0x10
0x5810d4 <+316>: adds r0, #0x28
0x5810d6 <+318>: blx 0x5dd0a0 ; symbol stub for: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()
0x5810da <+322>: ldr r0, [sp, #0x1c]
0x5810dc <+324>: cmp r0, #0x0
0x5810de <+326>: it ne
0x5810e0 <+328>: blxne 0x5dd2c0 ; symbol stub for: std::__1::__shared_weak_count::__release_shared()
0x5810e4 <+332>: ldr r5, [sp, #0x10]
0x5810e6 <+334>: movs r0, #0x0
0x5810e8 <+336>: str r0, [sp, #0x10]
0x5810ea <+338>: cbz r5, 0x5810f8 ; <+352>
0x5810ec <+340>: adds r0, r5, #0x4
0x5810ee <+342>: blx 0x5dd0a0 ; symbol stub for: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()
0x5810f2 <+346>: mov r0, r5
0x5810f4 <+348>: blx 0x5dd540 ; symbol stub for: operator delete(void*)
0x5810f8 <+352>: ldr r0, [sp, #0x48]
0x5810fa <+354>: blx 0x5dd210 ; symbol stub for: std::__1::recursive_mutex::unlock()
0x5810fe <+358>: mov.w r0, #0xffffffff
0x581102 <+362>: str r0, [sp, #0x50]
0x581104 <+364>: mov r0, r4
0x581106 <+366>: blx 0x5e0220 ; symbol stub for: _Unwind_SjLj_Resume
0x58110a <+370>: nop
0x58110c <+372>: strb r4, [r7, #0x1]
0x58110e <+374>: movs r0, r1
0x581110 <+376>: lsls r2, r1, #0x3
0x581112 <+378>: movs r0, r0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment