|
a.out: |
|
(__TEXT,__text) section |
|
__Z9parse_argPPci: |
|
00000001000033a0 sub sp, sp, #0x50 |
|
00000001000033a4 stp x24, x23, [sp, #0x10] |
|
00000001000033a8 stp x22, x21, [sp, #0x20] |
|
00000001000033ac stp x20, x19, [sp, #0x30] |
|
00000001000033b0 stp x29, x30, [sp, #0x40] |
|
00000001000033b4 add x29, sp, #0x40 |
|
00000001000033b8 mov x19, x1 |
|
00000001000033bc mov x20, x0 |
|
00000001000033c0 bl 0x100003d80 ; symbol stub for: ___error |
|
00000001000033c4 str wzr, [x0] |
|
00000001000033c8 sxtw x22, w19 |
|
00000001000033cc sbfiz x21, x19, #3, #32 |
|
00000001000033d0 ldr x0, [x20, x21] |
|
00000001000033d4 mov w23, #0xa |
|
00000001000033d8 mov x1, sp |
|
00000001000033dc mov w2, #0xa |
|
00000001000033e0 bl 0x100003dc8 ; symbol stub for: _strtol |
|
00000001000033e4 mov x19, x0 |
|
00000001000033e8 ldr x8, [sp] |
|
00000001000033ec ldr x9, [x20, x21] |
|
00000001000033f0 cmp x8, x9 |
|
00000001000033f4 b.eq 0x100003448 |
|
00000001000033f8 ldrb w8, [x8] |
|
00000001000033fc cbz w8, 0x10000348c |
|
0000000100003400 nop |
|
0000000100003404 ldr x0, #0xc4c ; literal pool symbol address: __ZNSt3__14cerrE |
|
0000000100003408 adr x1, #0xa99 ; literal pool for: "Trailing characters after number: " |
|
000000010000340c nop |
|
0000000100003410 mov w2, #0x22 |
|
0000000100003414 bl __ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m |
|
0000000100003418 mov x21, x0 |
|
000000010000341c ldr x20, [x20, x22, lsl #3] |
|
0000000100003420 mov x0, x20 |
|
0000000100003424 bl 0x100003dbc ; symbol stub for: _strlen |
|
0000000100003428 mov x2, x0 |
|
000000010000342c mov x0, x21 |
|
0000000100003430 mov x1, x20 |
|
0000000100003434 bl __ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m |
|
0000000100003438 mov w8, #0xa |
|
000000010000343c strb w8, [sp, #0xe] |
|
0000000100003440 add x1, sp, #0xe |
|
0000000100003444 b 0x1000034e0 |
|
0000000100003448 nop |
|
000000010000344c ldr x0, #0xc04 ; literal pool symbol address: __ZNSt3__14cerrE |
|
0000000100003450 adr x1, #0xa40 ; literal pool for: "Invalid number: " |
|
0000000100003454 nop |
|
0000000100003458 mov w2, #0x10 |
|
000000010000345c bl __ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m |
|
0000000100003460 mov x21, x0 |
|
0000000100003464 ldr x20, [x20, x22, lsl #3] |
|
0000000100003468 mov x0, x20 |
|
000000010000346c bl 0x100003dbc ; symbol stub for: _strlen |
|
0000000100003470 mov x2, x0 |
|
0000000100003474 mov x0, x21 |
|
0000000100003478 mov x1, x20 |
|
000000010000347c bl __ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m |
|
0000000100003480 strb w23, [sp, #0xd] |
|
0000000100003484 add x1, sp, #0xd |
|
0000000100003488 b 0x1000034e0 |
|
000000010000348c bl 0x100003d80 ; symbol stub for: ___error |
|
0000000100003490 ldr w8, [x0] |
|
0000000100003494 cmp w8, #0x22 |
|
0000000100003498 b.ne 0x1000034e8 |
|
000000010000349c nop |
|
00000001000034a0 ldr x0, #0xbb0 ; literal pool symbol address: __ZNSt3__14cerrE |
|
00000001000034a4 adr x1, #0xa20 ; literal pool for: "Number out of range: " |
|
00000001000034a8 nop |
|
00000001000034ac mov w2, #0x15 |
|
00000001000034b0 bl __ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m |
|
00000001000034b4 mov x21, x0 |
|
00000001000034b8 ldr x20, [x20, x22, lsl #3] |
|
00000001000034bc mov x0, x20 |
|
00000001000034c0 bl 0x100003dbc ; symbol stub for: _strlen |
|
00000001000034c4 mov x2, x0 |
|
00000001000034c8 mov x0, x21 |
|
00000001000034cc mov x1, x20 |
|
00000001000034d0 bl __ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m |
|
00000001000034d4 mov w8, #0xa |
|
00000001000034d8 strb w8, [sp, #0xf] |
|
00000001000034dc add x1, sp, #0xf |
|
00000001000034e0 mov w2, #0x1 |
|
00000001000034e4 bl __ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m |
|
00000001000034e8 mov x0, x19 |
|
00000001000034ec ldp x29, x30, [sp, #0x40] |
|
00000001000034f0 ldp x20, x19, [sp, #0x30] |
|
00000001000034f4 ldp x22, x21, [sp, #0x20] |
|
00000001000034f8 ldp x24, x23, [sp, #0x10] |
|
00000001000034fc add sp, sp, #0x50 |
|
0000000100003500 ret |
|
_main: |
|
0000000100003504 sub sp, sp, #0x70 |
|
0000000100003508 stp x24, x23, [sp, #0x30] |
|
000000010000350c stp x22, x21, [sp, #0x40] |
|
0000000100003510 stp x20, x19, [sp, #0x50] |
|
0000000100003514 stp x29, x30, [sp, #0x60] |
|
0000000100003518 add x29, sp, #0x60 |
|
000000010000351c cmp w0, #0x3 |
|
0000000100003520 b.ne 0x100003628 |
|
0000000100003524 mov x19, x1 |
|
0000000100003528 mov x0, x1 |
|
000000010000352c mov w1, #0x1 |
|
0000000100003530 bl __Z9parse_argPPci |
|
0000000100003534 mov x21, x0 |
|
0000000100003538 mov x0, x19 |
|
000000010000353c mov w1, #0x2 |
|
0000000100003540 bl __Z9parse_argPPci |
|
0000000100003544 mov x22, x0 |
|
0000000100003548 stp xzr, xzr, [sp, #0x18] |
|
000000010000354c str xzr, [sp, #0x28] |
|
0000000100003550 cbz x21, 0x10000365c |
|
0000000100003554 lsr x8, x21, #61 |
|
0000000100003558 cbnz x8, 0x1000036b8 |
|
000000010000355c lsl x23, x21, #3 |
|
0000000100003560 mov x0, x23 |
|
0000000100003564 bl 0x100003d50 ; symbol stub for: __Znwm |
|
0000000100003568 mov x19, x0 |
|
000000010000356c add x8, x0, x21, lsl #3 |
|
0000000100003570 str x0, [sp, #0x18] |
|
0000000100003574 str x8, [sp, #0x28] |
|
0000000100003578 add x20, x23, x0 |
|
000000010000357c mov x1, x23 |
|
0000000100003580 bl 0x100003d8c ; symbol stub for: _bzero |
|
0000000100003584 mov x23, #0x0 |
|
0000000100003588 adr x8, #0x1f4 |
|
000000010000358c nop |
|
0000000100003590 adr x9, #0x194 |
|
0000000100003594 nop |
|
0000000100003598 str x20, [sp, #0x20] |
|
000000010000359c cmp x22, #0x0 |
|
00000001000035a0 csel x8, x9, x8, eq |
|
00000001000035a4 str x8, [sp, #0x10] |
|
00000001000035a8 adr x22, #0x994 |
|
00000001000035ac nop |
|
00000001000035b0 add x0, sp, #0x8 |
|
00000001000035b4 add x1, sp, #0x10 |
|
00000001000035b8 mov x2, x22 |
|
00000001000035bc bl __ZNSt3__16threadC2IRPFviEJRKiEvEEOT_DpOT0_ |
|
00000001000035c0 ldr x8, [x19, x23, lsl #3] |
|
00000001000035c4 cbnz x8, 0x1000036b4 |
|
00000001000035c8 ldr x8, [sp, #0x8] |
|
00000001000035cc str x8, [x19, x23, lsl #3] |
|
00000001000035d0 str xzr, [sp, #0x8] |
|
00000001000035d4 add x0, sp, #0x8 |
|
00000001000035d8 bl 0x100003d14 ; symbol stub for: __ZNSt3__16threadD1Ev |
|
00000001000035dc add x23, x23, #0x1 |
|
00000001000035e0 cmp x21, x23 |
|
00000001000035e4 b.ne 0x1000035b0 |
|
00000001000035e8 mov x21, x19 |
|
00000001000035ec cmp x21, x20 |
|
00000001000035f0 b.eq 0x100003688 |
|
00000001000035f4 mov x22, x21 |
|
00000001000035f8 mov x0, x22 |
|
00000001000035fc bl 0x100003d08 ; symbol stub for: __ZNSt3__16thread4joinEv |
|
0000000100003600 add x22, x22, #0x8 |
|
0000000100003604 cmp x22, x20 |
|
0000000100003608 b.ne 0x1000035f8 |
|
000000010000360c cbz x21, 0x100003698 |
|
0000000100003610 sub x20, x20, #0x8 |
|
0000000100003614 mov x0, x20 |
|
0000000100003618 bl 0x100003d14 ; symbol stub for: __ZNSt3__16threadD1Ev |
|
000000010000361c cmp x20, x21 |
|
0000000100003620 b.ne 0x100003610 |
|
0000000100003624 b 0x100003690 |
|
0000000100003628 nop |
|
000000010000362c ldr x0, #0xa24 ; literal pool symbol address: __ZNSt3__14cerrE |
|
0000000100003630 adr x1, #0x8aa ; literal pool for: "usage: prog [n_threads] [is_atomic '0' - mutex, any number - atomic ]\n" |
|
0000000100003634 nop |
|
0000000100003638 mov w2, #0x46 |
|
000000010000363c bl __ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m |
|
0000000100003640 mov w0, #-0x1 |
|
0000000100003644 ldp x29, x30, [sp, #0x60] |
|
0000000100003648 ldp x20, x19, [sp, #0x50] |
|
000000010000364c ldp x22, x21, [sp, #0x40] |
|
0000000100003650 ldp x24, x23, [sp, #0x30] |
|
0000000100003654 add sp, sp, #0x70 |
|
0000000100003658 ret |
|
000000010000365c mov x20, #0x0 |
|
0000000100003660 mov x19, #0x0 |
|
0000000100003664 adr x8, #0x118 |
|
0000000100003668 nop |
|
000000010000366c adr x9, #0xb8 |
|
0000000100003670 nop |
|
0000000100003674 cmp x22, #0x0 |
|
0000000100003678 csel x8, x9, x8, eq |
|
000000010000367c str x8, [sp, #0x10] |
|
0000000100003680 cmp x21, x20 |
|
0000000100003684 b.ne 0x1000035f4 |
|
0000000100003688 cbz x21, 0x100003698 |
|
000000010000368c mov x19, x21 |
|
0000000100003690 mov x0, x19 |
|
0000000100003694 bl 0x100003d44 ; symbol stub for: __ZdlPv |
|
0000000100003698 mov w0, #0x0 |
|
000000010000369c ldp x29, x30, [sp, #0x60] |
|
00000001000036a0 ldp x20, x19, [sp, #0x50] |
|
00000001000036a4 ldp x22, x21, [sp, #0x40] |
|
00000001000036a8 ldp x24, x23, [sp, #0x30] |
|
00000001000036ac add sp, sp, #0x70 |
|
00000001000036b0 ret |
|
00000001000036b4 bl 0x100003d38 ; symbol stub for: __ZSt9terminatev |
|
00000001000036b8 add x0, sp, #0x18 |
|
00000001000036bc bl __ZNKSt3__113__vector_baseINS_6threadENS_9allocatorIS1_EEE20__throw_length_errorEv |
|
00000001000036c0 brk #0x1 |
|
00000001000036c4 mov x22, x0 |
|
00000001000036c8 ldr x0, [sp, #0x18] |
|
00000001000036cc cbz x0, 0x1000036e4 |
|
00000001000036d0 add x1, sp, #0x18 |
|
00000001000036d4 bl _main.cold.1 |
|
00000001000036d8 b 0x1000036e4 |
|
00000001000036dc mov x22, x0 |
|
00000001000036e0 cbnz x21, 0x1000036f4 |
|
00000001000036e4 mov x0, x22 |
|
00000001000036e8 bl 0x100003c6c ; symbol stub for: __Unwind_Resume |
|
00000001000036ec mov x22, x0 |
|
00000001000036f0 mov x21, x19 |
|
00000001000036f4 cmp x20, x21 |
|
00000001000036f8 b.eq 0x100003714 |
|
00000001000036fc sub x20, x20, #0x8 |
|
0000000100003700 mov x0, x20 |
|
0000000100003704 bl 0x100003d14 ; symbol stub for: __ZNSt3__16threadD1Ev |
|
0000000100003708 cmp x20, x21 |
|
000000010000370c b.ne 0x1000036fc |
|
0000000100003710 mov x21, x19 |
|
0000000100003714 mov x0, x21 |
|
0000000100003718 bl 0x100003d44 ; symbol stub for: __ZdlPv |
|
000000010000371c mov x0, x22 |
|
0000000100003720 bl 0x100003c6c ; symbol stub for: __Unwind_Resume |
|
__ZN12_GLOBAL__N_110threadfuncEi: |
|
0000000100003724 stp x22, x21, [sp, #-0x30]! |
|
0000000100003728 stp x20, x19, [sp, #0x10] |
|
000000010000372c stp x29, x30, [sp, #0x20] |
|
0000000100003730 add x29, sp, #0x20 |
|
0000000100003734 mov x19, x0 |
|
0000000100003738 adrp x21, 5 ; 0x100008000 |
|
000000010000373c str wzr, [x21, #0x40] |
|
0000000100003740 adr x20, #0x48c0 |
|
0000000100003744 nop |
|
0000000100003748 mov x0, x20 |
|
000000010000374c bl 0x100003ce4 ; symbol stub for: __ZNSt3__15mutex4lockEv |
|
0000000100003750 ldr w8, [x21, #0x40] |
|
0000000100003754 add w22, w8, #0x1 |
|
0000000100003758 str w22, [x21, #0x40] |
|
000000010000375c mov x0, x20 |
|
0000000100003760 bl 0x100003cf0 ; symbol stub for: __ZNSt3__15mutex6unlockEv |
|
0000000100003764 cmp w22, w19 |
|
0000000100003768 b.lt 0x100003748 |
|
000000010000376c ldp x29, x30, [sp, #0x20] |
|
0000000100003770 ldp x20, x19, [sp, #0x10] |
|
0000000100003774 ldp x22, x21, [sp], #0x30 |
|
0000000100003778 ret |
|
__ZN12_GLOBAL__N_117threadfunc_atomicEi: |
|
000000010000377c adr x8, #0x48c8 |
|
0000000100003780 nop |
|
0000000100003784 stlr wzr, [x8] |
|
0000000100003788 mov w9, #0x1 |
|
000000010000378c ldaddal w9, w10, [x8] |
|
0000000100003790 ldar w10, [x8] |
|
0000000100003794 cmp w10, w0 |
|
0000000100003798 b.lt 0x10000378c |
|
000000010000379c ret |
|
___clang_call_terminate: |
|
00000001000037a0 stp x29, x30, [sp, #-0x10]! |
|
00000001000037a4 bl 0x100003d68 ; symbol stub for: ___cxa_begin_catch |
|
00000001000037a8 bl 0x100003d38 ; symbol stub for: __ZSt9terminatev |
|
__ZNSt3__124__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m: |
|
00000001000037ac sub sp, sp, #0x70 |
|
00000001000037b0 stp x26, x25, [sp, #0x20] |
|
00000001000037b4 stp x24, x23, [sp, #0x30] |
|
00000001000037b8 stp x22, x21, [sp, #0x40] |
|
00000001000037bc stp x20, x19, [sp, #0x50] |
|
00000001000037c0 stp x29, x30, [sp, #0x60] |
|
00000001000037c4 add x29, sp, #0x60 |
|
00000001000037c8 mov x21, x2 |
|
00000001000037cc mov x20, x1 |
|
00000001000037d0 mov x19, x0 |
|
00000001000037d4 add x0, sp, #0x8 |
|
00000001000037d8 mov x1, x19 |
|
00000001000037dc bl 0x100003c9c ; symbol stub for: __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryC1ERS3_ |
|
00000001000037e0 ldrb w8, [sp, #0x8] |
|
00000001000037e4 cbz w8, 0x10000388c |
|
00000001000037e8 ldr x8, [x19] |
|
00000001000037ec ldur x8, [x8, #-0x18] |
|
00000001000037f0 add x22, x19, x8 |
|
00000001000037f4 ldr x23, [x22, #0x28] |
|
00000001000037f8 ldr w25, [x22, #0x8] |
|
00000001000037fc ldr w24, [x22, #0x90] |
|
0000000100003800 cmn w24, #0x1 |
|
0000000100003804 b.ne 0x100003844 |
|
0000000100003808 add x8, sp, #0x18 |
|
000000010000380c mov x0, x22 |
|
0000000100003810 bl 0x100003c90 ; symbol stub for: __ZNKSt3__18ios_base6getlocEv |
|
0000000100003814 nop |
|
0000000100003818 ldr x1, #0x840 ; literal pool symbol address: __ZNSt3__15ctypeIcE2idE |
|
000000010000381c add x0, sp, #0x18 |
|
0000000100003820 bl 0x100003c84 ; symbol stub for: __ZNKSt3__16locale9use_facetERNS0_2idE |
|
0000000100003824 ldr x8, [x0] |
|
0000000100003828 ldr x8, [x8, #0x38] |
|
000000010000382c mov w1, #0x20 |
|
0000000100003830 blr x8 |
|
0000000100003834 mov x24, x0 |
|
0000000100003838 add x0, sp, #0x18 |
|
000000010000383c bl 0x100003cfc ; symbol stub for: __ZNSt3__16localeD1Ev |
|
0000000100003840 str w24, [x22, #0x90] |
|
0000000100003844 add x3, x20, x21 |
|
0000000100003848 mov w8, #0xb0 |
|
000000010000384c and w8, w25, w8 |
|
0000000100003850 cmp w8, #0x20 |
|
0000000100003854 csel x2, x3, x20, eq |
|
0000000100003858 sxtb w5, w24 |
|
000000010000385c mov x0, x23 |
|
0000000100003860 mov x1, x20 |
|
0000000100003864 mov x4, x22 |
|
0000000100003868 bl __ZNSt3__116__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_ |
|
000000010000386c cbnz x0, 0x10000388c |
|
0000000100003870 ldr x8, [x19] |
|
0000000100003874 ldur x8, [x8, #-0x18] |
|
0000000100003878 add x0, x19, x8 |
|
000000010000387c ldr w8, [x0, #0x20] |
|
0000000100003880 mov w9, #0x5 |
|
0000000100003884 orr w1, w8, w9 |
|
0000000100003888 bl 0x100003d2c ; symbol stub for: __ZNSt3__18ios_base5clearEj |
|
000000010000388c add x0, sp, #0x8 |
|
0000000100003890 bl 0x100003ca8 ; symbol stub for: __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev |
|
0000000100003894 mov x0, x19 |
|
0000000100003898 ldp x29, x30, [sp, #0x60] |
|
000000010000389c ldp x20, x19, [sp, #0x50] |
|
00000001000038a0 ldp x22, x21, [sp, #0x40] |
|
00000001000038a4 ldp x24, x23, [sp, #0x30] |
|
00000001000038a8 ldp x26, x25, [sp, #0x20] |
|
00000001000038ac add sp, sp, #0x70 |
|
00000001000038b0 ret |
|
00000001000038b4 b 0x1000038c8 |
|
00000001000038b8 mov x20, x0 |
|
00000001000038bc add x0, sp, #0x18 |
|
00000001000038c0 bl 0x100003cfc ; symbol stub for: __ZNSt3__16localeD1Ev |
|
00000001000038c4 b 0x1000038cc |
|
00000001000038c8 mov x20, x0 |
|
00000001000038cc add x0, sp, #0x8 |
|
00000001000038d0 bl 0x100003ca8 ; symbol stub for: __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev |
|
00000001000038d4 b 0x1000038dc |
|
00000001000038d8 mov x20, x0 |
|
00000001000038dc mov x0, x20 |
|
00000001000038e0 bl 0x100003d68 ; symbol stub for: ___cxa_begin_catch |
|
00000001000038e4 ldr x8, [x19] |
|
00000001000038e8 ldur x8, [x8, #-0x18] |
|
00000001000038ec add x0, x19, x8 |
|
00000001000038f0 bl 0x100003d20 ; symbol stub for: __ZNSt3__18ios_base33__set_badbit_and_consider_rethrowEv |
|
00000001000038f4 bl 0x100003d74 ; symbol stub for: ___cxa_end_catch |
|
00000001000038f8 b 0x100003894 |
|
00000001000038fc mov x19, x0 |
|
0000000100003900 bl 0x100003d74 ; symbol stub for: ___cxa_end_catch |
|
0000000100003904 mov x0, x19 |
|
0000000100003908 bl 0x100003c6c ; symbol stub for: __Unwind_Resume |
|
000000010000390c bl ___clang_call_terminate |
|
__ZNSt3__116__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_: |
|
0000000100003910 sub sp, sp, #0x70 |
|
0000000100003914 stp x26, x25, [sp, #0x20] |
|
0000000100003918 stp x24, x23, [sp, #0x30] |
|
000000010000391c stp x22, x21, [sp, #0x40] |
|
0000000100003920 stp x20, x19, [sp, #0x50] |
|
0000000100003924 stp x29, x30, [sp, #0x60] |
|
0000000100003928 add x29, sp, #0x60 |
|
000000010000392c mov x19, x0 |
|
0000000100003930 cbz x0, 0x100003a54 |
|
0000000100003934 mov x24, x5 |
|
0000000100003938 mov x20, x4 |
|
000000010000393c mov x22, x3 |
|
0000000100003940 mov x21, x2 |
|
0000000100003944 ldr x8, [x4, #0x18] |
|
0000000100003948 sub x9, x3, x1 |
|
000000010000394c subs x8, x8, x9 |
|
0000000100003950 csel x23, x8, xzr, gt |
|
0000000100003954 sub x25, x2, x1 |
|
0000000100003958 cmp x25, #0x1 |
|
000000010000395c b.lt 0x10000397c |
|
0000000100003960 ldr x8, [x19] |
|
0000000100003964 ldr x8, [x8, #0x60] |
|
0000000100003968 mov x0, x19 |
|
000000010000396c mov x2, x25 |
|
0000000100003970 blr x8 |
|
0000000100003974 cmp x0, x25 |
|
0000000100003978 b.ne 0x100003a50 |
|
000000010000397c cmp x23, #0x1 |
|
0000000100003980 b.lt 0x100003a1c |
|
0000000100003984 cmp x23, #0x17 |
|
0000000100003988 b.hs 0x100003998 |
|
000000010000398c add x25, sp, #0x8 |
|
0000000100003990 strb w23, [sp, #0x1f] |
|
0000000100003994 b 0x1000039b8 |
|
0000000100003998 add x8, x23, #0x10 |
|
000000010000399c and x26, x8, #0xfffffffffffffff0 |
|
00000001000039a0 mov x0, x26 |
|
00000001000039a4 bl 0x100003d50 ; symbol stub for: __Znwm |
|
00000001000039a8 mov x25, x0 |
|
00000001000039ac orr x8, x26, #0x8000000000000000 |
|
00000001000039b0 stp x23, x8, [sp, #0x10] |
|
00000001000039b4 str x0, [sp, #0x8] |
|
00000001000039b8 mov x0, x25 |
|
00000001000039bc mov x1, x24 |
|
00000001000039c0 mov x2, x23 |
|
00000001000039c4 bl 0x100003d98 ; symbol stub for: _memset |
|
00000001000039c8 strb wzr, [x25, x23] |
|
00000001000039cc ldrsb w8, [sp, #0x1f] |
|
00000001000039d0 ldr x9, [sp, #0x8] |
|
00000001000039d4 cmp w8, #0x0 |
|
00000001000039d8 add x8, sp, #0x8 |
|
00000001000039dc csel x1, x9, x8, lt |
|
00000001000039e0 ldr x8, [x19] |
|
00000001000039e4 ldr x8, [x8, #0x60] |
|
00000001000039e8 mov x0, x19 |
|
00000001000039ec mov x2, x23 |
|
00000001000039f0 blr x8 |
|
00000001000039f4 mov x24, x0 |
|
00000001000039f8 ldrsb w8, [sp, #0x1f] |
|
00000001000039fc tbnz w8, #0x1f, 0x100003a0c |
|
0000000100003a00 cmp x24, x23 |
|
0000000100003a04 b.ne 0x100003a50 |
|
0000000100003a08 b 0x100003a1c |
|
0000000100003a0c ldr x0, [sp, #0x8] |
|
0000000100003a10 bl 0x100003d44 ; symbol stub for: __ZdlPv |
|
0000000100003a14 cmp x24, x23 |
|
0000000100003a18 b.ne 0x100003a50 |
|
0000000100003a1c sub x22, x22, x21 |
|
0000000100003a20 cmp x22, #0x1 |
|
0000000100003a24 b.lt 0x100003a48 |
|
0000000100003a28 ldr x8, [x19] |
|
0000000100003a2c ldr x8, [x8, #0x60] |
|
0000000100003a30 mov x0, x19 |
|
0000000100003a34 mov x1, x21 |
|
0000000100003a38 mov x2, x22 |
|
0000000100003a3c blr x8 |
|
0000000100003a40 cmp x0, x22 |
|
0000000100003a44 b.ne 0x100003a50 |
|
0000000100003a48 str xzr, [x20, #0x18] |
|
0000000100003a4c b 0x100003a54 |
|
0000000100003a50 mov x19, #0x0 |
|
0000000100003a54 mov x0, x19 |
|
0000000100003a58 ldp x29, x30, [sp, #0x60] |
|
0000000100003a5c ldp x20, x19, [sp, #0x50] |
|
0000000100003a60 ldp x22, x21, [sp, #0x40] |
|
0000000100003a64 ldp x24, x23, [sp, #0x30] |
|
0000000100003a68 ldp x26, x25, [sp, #0x20] |
|
0000000100003a6c add sp, sp, #0x70 |
|
0000000100003a70 ret |
|
0000000100003a74 mov x19, x0 |
|
0000000100003a78 ldrsb w8, [sp, #0x1f] |
|
0000000100003a7c tbz w8, #0x1f, 0x100003a88 |
|
0000000100003a80 ldr x0, [sp, #0x8] |
|
0000000100003a84 bl 0x100003d44 ; symbol stub for: __ZdlPv |
|
0000000100003a88 mov x0, x19 |
|
0000000100003a8c bl 0x100003c6c ; symbol stub for: __Unwind_Resume |
|
__ZNKSt3__113__vector_baseINS_6threadENS_9allocatorIS1_EEE20__throw_length_errorEv: |
|
0000000100003a90 stp x29, x30, [sp, #-0x10]! |
|
0000000100003a94 mov x29, sp |
|
0000000100003a98 bl 0x100003c78 ; symbol stub for: __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv |
|
__ZNSt3__16threadC2IRPFviEJRKiEvEEOT_DpOT0_: |
|
0000000100003a9c stp x24, x23, [sp, #-0x40]! |
|
0000000100003aa0 stp x22, x21, [sp, #0x10] |
|
0000000100003aa4 stp x20, x19, [sp, #0x20] |
|
0000000100003aa8 stp x29, x30, [sp, #0x30] |
|
0000000100003aac add x29, sp, #0x30 |
|
0000000100003ab0 mov x22, x2 |
|
0000000100003ab4 mov x23, x1 |
|
0000000100003ab8 mov x20, x0 |
|
0000000100003abc mov w0, #0x8 |
|
0000000100003ac0 bl 0x100003d50 ; symbol stub for: __Znwm |
|
0000000100003ac4 mov x21, x0 |
|
0000000100003ac8 bl 0x100003cb4 ; symbol stub for: __ZNSt3__115__thread_structC1Ev |
|
0000000100003acc mov w0, #0x18 |
|
0000000100003ad0 bl 0x100003d50 ; symbol stub for: __Znwm |
|
0000000100003ad4 mov x19, x0 |
|
0000000100003ad8 ldr x8, [x23] |
|
0000000100003adc ldr w9, [x22] |
|
0000000100003ae0 stp x21, x8, [x0] |
|
0000000100003ae4 str w9, [x0, #0x10] |
|
0000000100003ae8 adr x2, #0x88 |
|
0000000100003aec nop |
|
0000000100003af0 mov x0, x20 |
|
0000000100003af4 mov x1, #0x0 |
|
0000000100003af8 mov x3, x19 |
|
0000000100003afc bl 0x100003da4 ; symbol stub for: _pthread_create |
|
0000000100003b00 cbnz w0, 0x100003b1c |
|
0000000100003b04 mov x0, x20 |
|
0000000100003b08 ldp x29, x30, [sp, #0x30] |
|
0000000100003b0c ldp x20, x19, [sp, #0x20] |
|
0000000100003b10 ldp x22, x21, [sp, #0x10] |
|
0000000100003b14 ldp x24, x23, [sp], #0x40 |
|
0000000100003b18 ret |
|
0000000100003b1c adr x1, #0x405 ; literal pool for: "thread constructor failed" |
|
0000000100003b20 nop |
|
0000000100003b24 bl 0x100003cd8 ; symbol stub for: __ZNSt3__120__throw_system_errorEiPKc |
|
0000000100003b28 brk #0x1 |
|
0000000100003b2c mov x20, x0 |
|
0000000100003b30 mov x0, x21 |
|
0000000100003b34 bl 0x100003cc0 ; symbol stub for: __ZNSt3__115__thread_structD1Ev |
|
0000000100003b38 b 0x100003b60 |
|
0000000100003b3c mov x20, x0 |
|
0000000100003b40 b 0x100003b60 |
|
0000000100003b44 mov x20, x0 |
|
0000000100003b48 ldr x0, [x19] |
|
0000000100003b4c str xzr, [x19] |
|
0000000100003b50 cbz x0, 0x100003b5c |
|
0000000100003b54 bl 0x100003cc0 ; symbol stub for: __ZNSt3__115__thread_structD1Ev |
|
0000000100003b58 bl 0x100003d44 ; symbol stub for: __ZdlPv |
|
0000000100003b5c mov x21, x19 |
|
0000000100003b60 mov x0, x21 |
|
0000000100003b64 bl 0x100003d44 ; symbol stub for: __ZdlPv |
|
0000000100003b68 mov x0, x20 |
|
0000000100003b6c bl 0x100003c6c ; symbol stub for: __Unwind_Resume |
|
__ZNSt3__1L14__thread_proxyINS_5tupleIJNS_10unique_ptrINS_15__thread_structENS_14default_deleteIS3_EEEEPFviEiEEEEEPvSA_: |
|
0000000100003b70 stp x20, x19, [sp, #-0x20]! |
|
0000000100003b74 stp x29, x30, [sp, #0x10] |
|
0000000100003b78 add x29, sp, #0x10 |
|
0000000100003b7c mov x19, x0 |
|
0000000100003b80 bl 0x100003ccc ; symbol stub for: __ZNSt3__119__thread_local_dataEv |
|
0000000100003b84 ldr x1, [x19] |
|
0000000100003b88 str xzr, [x19] |
|
0000000100003b8c ldr x0, [x0] |
|
0000000100003b90 bl 0x100003db0 ; symbol stub for: _pthread_setspecific |
|
0000000100003b94 ldr x8, [x19, #0x8] |
|
0000000100003b98 ldr w0, [x19, #0x10] |
|
0000000100003b9c blr x8 |
|
0000000100003ba0 ldr x0, [x19] |
|
0000000100003ba4 str xzr, [x19] |
|
0000000100003ba8 cbz x0, 0x100003bb4 |
|
0000000100003bac bl 0x100003cc0 ; symbol stub for: __ZNSt3__115__thread_structD1Ev |
|
0000000100003bb0 bl 0x100003d44 ; symbol stub for: __ZdlPv |
|
0000000100003bb4 mov x0, x19 |
|
0000000100003bb8 bl 0x100003d44 ; symbol stub for: __ZdlPv |
|
0000000100003bbc mov x0, #0x0 |
|
0000000100003bc0 ldp x29, x30, [sp, #0x10] |
|
0000000100003bc4 ldp x20, x19, [sp], #0x20 |
|
0000000100003bc8 ret |
|
0000000100003bcc mov x20, x0 |
|
0000000100003bd0 cbnz x19, 0x100003bdc |
|
0000000100003bd4 b 0x100003bf8 |
|
0000000100003bd8 mov x20, x0 |
|
0000000100003bdc ldr x0, [x19] |
|
0000000100003be0 str xzr, [x19] |
|
0000000100003be4 cbz x0, 0x100003bf0 |
|
0000000100003be8 bl 0x100003cc0 ; symbol stub for: __ZNSt3__115__thread_structD1Ev |
|
0000000100003bec bl 0x100003d44 ; symbol stub for: __ZdlPv |
|
0000000100003bf0 mov x0, x19 |
|
0000000100003bf4 bl 0x100003d44 ; symbol stub for: __ZdlPv |
|
0000000100003bf8 mov x0, x20 |
|
0000000100003bfc bl 0x100003c6c ; symbol stub for: __Unwind_Resume |
|
__GLOBAL__sub_I_atomic_vs_mutex_cnt.cpp: |
|
0000000100003c00 nop |
|
0000000100003c04 ldr x0, #0x46c ; literal pool symbol address: __ZNSt3__15mutexD1Ev |
|
0000000100003c08 adr x1, #0x43f8 |
|
0000000100003c0c nop |
|
0000000100003c10 adr x2, #-0x3c10 |
|
0000000100003c14 nop |
|
0000000100003c18 b 0x100003d5c ; symbol stub for: ___cxa_atexit |
|
_main.cold.1: |
|
0000000100003c1c stp x20, x19, [sp, #-0x20]! |
|
0000000100003c20 stp x29, x30, [sp, #0x10] |
|
0000000100003c24 add x29, sp, #0x10 |
|
0000000100003c28 mov x19, x1 |
|
0000000100003c2c mov x20, x0 |
|
0000000100003c30 ldr x0, [x1, #0x8] |
|
0000000100003c34 cmp x0, x20 |
|
0000000100003c38 b.eq 0x100003c54 |
|
0000000100003c3c sub x0, x0, #0x8 |
|
0000000100003c40 bl 0x100003d14 ; symbol stub for: __ZNSt3__16threadD1Ev |
|
0000000100003c44 cmp x0, x20 |
|
0000000100003c48 b.ne 0x100003c3c |
|
0000000100003c4c ldr x0, [x19] |
|
0000000100003c50 b 0x100003c58 |
|
0000000100003c54 mov x0, x20 |
|
0000000100003c58 str x20, [x19, #0x8] |
|
0000000100003c5c bl 0x100003d44 ; symbol stub for: __ZdlPv |
|
0000000100003c60 ldp x29, x30, [sp, #0x10] |
|
0000000100003c64 ldp x20, x19, [sp], #0x20 |
|
0000000100003c68 ret |