File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0018c990
    0018c990sort.partialInsertionSort_func: ; void sort.partialInsertionSort_func(sort.lessSwap data, int a, int b)
    0018c990ldr x16, [x28+16]
    0018c994subs xzr, sp, x16
    0018c998b.ls 0x18cc14
    0018c99cstr x30, [sp-80]!
    0018c9a0stur x29, [sp-8]
    0018c9a4sub x29, sp, 8
    0018c9a8str x0, [sp+88]
    0018c9acstr x1, [sp+96]
    0018c9b0str x2, [sp+104]
    0018c9b4str x3, [sp+112]
    0018c9b8strb wzr, [sp+37]
    0018c9bcldr x2, [sp+104]
    0018c9c0add x2, x2, 1
    0018c9c4str x2, [sp+64]
    0018c9c8str xzr, [sp+56]
    0018c9ccb 0x18c9d0
    0018c9d0
    0018c9d0loc_18c9d0:
    0018c9d0ldr x2, [sp+56]
    0018c9d4subs xzr, x2, 5
    0018c9d8b.lt 0x18c9e0
    0018c9dcb 0x18c9e4
    0018c9e0
    0018c9e0loc_18c9e0:
    0018c9e0b 0x18c9f8
    0018c9e4
    0018c9e4loc_18c9e4:
    0018c9e4strb wzr, [sp+37]
    0018c9e8mov x0, xzr
    0018c9ecldur x29, [sp-8]
    0018c9f0ldr x30, [sp], 80
    0018c9f4ret x30
    0018c9f8
    0018c9f8loc_18c9f8:
    0018c9f8ldr x2, [sp+112]
    0018c9fcldr x3, [sp+64]
    0018ca00subs xzr, x2, x3
    0018ca04cset x2, gt
    0018ca08strb w2, [sp+39]
    0018ca0cb.gt 0x18ca14
    0018ca10b 0x18ca3c
    0018ca14
    0018ca14loc_18ca14:
    0018ca14ldr x26, [sp+88]
    0018ca18ldr x0, [sp+64]
    0018ca1cldr x2, [x26]
    0018ca20ldr x3, [sp+64]
    0018ca24sub x1, x3, 1
    0018ca28blr x2
    0018ca2cstrb w0, [sp+38]
    0018ca30eor x2, x0, 1
    0018ca34strb w2, [sp+39]
    0018ca38b 0x18ca40
    0018ca3c
    0018ca3cloc_18ca3c:
    0018ca3cb 0x18ca40
    0018ca40
    0018ca40loc_18ca40:
    0018ca40ldrb w2, [sp+39]
    0018ca44tbnz w2, 0, 0x18ca4c
    0018ca48b 0x18ca60
    0018ca4c
    0018ca4cloc_18ca4c:
    0018ca4cldr x2, [sp+64]
    0018ca50add x2, x2, 1
    0018ca54str x2, [sp+64]
    0018ca58b 0x18ca5c
    0018ca5c
    0018ca5cloc_18ca5c:
    0018ca5cb 0x18c9f8
    0018ca60
    0018ca60loc_18ca60:
    0018ca60ldr x2, [sp+112]
    0018ca64ldr x3, [sp+64]
    0018ca68subs xzr, x2, x3
    0018ca6cb.eq 0x18ca74
    0018ca70b 0x18ca88
    0018ca74
    0018ca74loc_18ca74:
    0018ca74orr x0, xzr, 1
    0018ca78strb w0, [sp+37]
    0018ca7cldur x29, [sp-8]
    0018ca80ldr x30, [sp], 80
    0018ca84ret x30
    0018ca88
    0018ca88loc_18ca88:
    0018ca88ldr x2, [sp+104]
    0018ca8cldr x3, [sp+112]
    0018ca90sub x2, x3, x2
    0018ca94subs xzr, x2, 50
    0018ca98b.lt 0x18caa0
    0018ca9cb 0x18cab4
    0018caa0
    0018caa0loc_18caa0:
    0018caa0strb wzr, [sp+37]
    0018caa4mov x0, xzr
    0018caa8ldur x29, [sp-8]
    0018caacldr x30, [sp], 80
    0018cab0ret x30
    0018cab4
    0018cab4loc_18cab4:
    0018cab4ldr x26, [sp+96]
    0018cab8ldr x0, [sp+64]
    0018cabcldr x2, [x26]
    0018cac0ldr x3, [sp+64]
    0018cac4sub x1, x3, 1
    0018cac8blr x2
    0018caccldr x2, [sp+104]
    0018cad0ldr x3, [sp+64]
    0018cad4sub x2, x3, x2
    0018cad8subs xzr, x2, 2
    0018cadcb.ge 0x18cae4
    0018cae0b 0x18caf4
    0018cae4
    0018cae4loc_18cae4:
    0018cae4ldr x2, [sp+64]
    0018cae8sub x2, x2, 1
    0018caecstr x2, [sp+48]
    0018caf0b 0x18cba8
    0018caf4
    0018caf4loc_18caf4:
    0018caf4b 0x18caf8
    0018caf8
    0018caf8loc_18caf8:
    0018caf8ldr x2, [sp+64]
    0018cafcldr x3, [sp+112]
    0018cb00sub x2, x3, x2
    0018cb04subs xzr, x2, 2
    0018cb08b.ge 0x18cb10
    0018cb0cb 0x18cb20
    0018cb10
    0018cb10loc_18cb10:
    0018cb10ldr x2, [sp+64]
    0018cb14add x2, x2, 1
    0018cb18str x2, [sp+40]
    0018cb1cb 0x18cb38
    0018cb20
    0018cb20loc_18cb20:
    0018cb20b 0x18cb24
    0018cb24
    0018cb24loc_18cb24:
    0018cb24b 0x18cb28
    0018cb28
    0018cb28loc_18cb28:
    0018cb28ldr x2, [sp+56]
    0018cb2cadd x2, x2, 1
    0018cb30str x2, [sp+56]
    0018cb34b 0x18c9d0
    0018cb38
    0018cb38loc_18cb38:
    0018cb38ldr x2, [sp+112]
    0018cb3cldr x3, [sp+40]
    0018cb40subs xzr, x2, x3
    0018cb44b.gt 0x18cb4c
    0018cb48b 0x18cba0
    0018cb4c
    0018cb4cloc_18cb4c:
    0018cb4cldr x26, [sp+88]
    0018cb50ldr x0, [sp+40]
    0018cb54ldr x2, [x26]
    0018cb58ldr x3, [sp+40]
    0018cb5csub x1, x3, 1
    0018cb60blr x2
    0018cb64strb w0, [sp+39]
    0018cb68tbnz w0, 0, 0x18cb70
    0018cb6cb 0x18cb9c
    0018cb70
    0018cb70loc_18cb70:
    0018cb70ldr x26, [sp+96]
    0018cb74ldr x0, [sp+40]
    0018cb78ldr x2, [x26]
    0018cb7cldr x3, [sp+40]
    0018cb80sub x1, x3, 1
    0018cb84blr x2
    0018cb88b 0x18cb8c
    0018cb8c
    0018cb8cloc_18cb8c:
    0018cb8cldr x2, [sp+40]
    0018cb90add x2, x2, 1
    0018cb94str x2, [sp+40]
    0018cb98b 0x18cb38
    0018cb9c
    0018cb9cloc_18cb9c:
    0018cb9cb 0x18cba4
    0018cba0
    0018cba0loc_18cba0:
    0018cba0b 0x18cba4
    0018cba4
    0018cba4loc_18cba4:
    0018cba4b 0x18cb24
    0018cba8
    0018cba8loc_18cba8:
    0018cba8ldr x2, [sp+48]
    0018cbacsubs xzr, x2, 0
    0018cbb0b.gt 0x18cbb8
    0018cbb4b 0x18cc0c
    0018cbb8
    0018cbb8loc_18cbb8:
    0018cbb8ldr x26, [sp+88]
    0018cbbcldr x0, [sp+48]
    0018cbc0ldr x2, [x26]
    0018cbc4ldr x3, [sp+48]
    0018cbc8sub x1, x3, 1
    0018cbccblr x2
    0018cbd0strb w0, [sp+39]
    0018cbd4tbnz w0, 0, 0x18cbdc
    0018cbd8b 0x18cc08
    0018cbdc
    0018cbdcloc_18cbdc:
    0018cbdcldr x26, [sp+96]
    0018cbe0ldr x0, [sp+48]
    0018cbe4ldr x2, [x26]
    0018cbe8ldr x3, [sp+48]
    0018cbecsub x1, x3, 1
    0018cbf0blr x2
    0018cbf4b 0x18cbf8
    0018cbf8
    0018cbf8loc_18cbf8:
    0018cbf8ldr x2, [sp+48]
    0018cbfcsub x2, x2, 1
    0018cc00str x2, [sp+48]
    0018cc04b 0x18cba8
    0018cc08
    0018cc08loc_18cc08:
    0018cc08b 0x18cc10
    0018cc0c
    0018cc0cloc_18cc0c:
    0018cc0cb 0x18cc10
    0018cc10
    0018cc10loc_18cc10:
    0018cc10b 0x18caf8
    0018cc14
    0018cc14loc_18cc14:
    0018cc14stp x0, x1, [sp+8]
    0018cc18stp x2, x3, [sp+24]
    0018cc1cmov x3, x30
    0018cc20bl runtime.morestack_noctxt.abi0
    0018cc24ldp x0, x1, [sp+8]
    0018cc28ldp x2, x3, [sp+24]
    0018cc2cb 0x18c990
    0018c990
    0018cc30
    0018cc30sort.breakPatterns_func: ; void sort.breakPatterns_func(sort.lessSwap data, int a, int b)
    0018cc30ldr x16, [x28+16]
    0018cc34subs xzr, sp, x16
    0018cc38b.ls 0x18cd54
    0018cc3cstr x30, [sp-80]!
    0018cc40stur x29, [sp-8]
    0018cc44sub x29, sp, 8
    0018cc48str x0, [sp+88]
    0018cc4cstr x1, [sp+96]
    0018cc50str x2, [sp+104]
    0018cc54str x3, [sp+112]
    0018cc58sub x0, x3, x2
    0018cc5cstr x0, [sp+48]
    0018cc60subs xzr, x0, 8
    0018cc64b.ge 0x18cc6c
    0018cc68b 0x18cc9c
    0018cc6c
    0018cc6cloc_18cc6c:
    0018cc6cstr x0, [sp+24]
    0018cc70bl sort.nextPowerOfTwo
    0018cc74str x0, [sp+40]
    0018cc78ldr x1, [sp+104]
    0018cc7cldr x2, [sp+48]
    0018cc80sbfm x3, x2, 63, 63
    0018cc84add x2, x2, x3, lsr #62
    0018cc88sbfm x2, x2, 2, 63
    0018cc8cadd x1, x1, x2, lsl #1
    0018cc90sub x1, x1, 1
    0018cc94str x1, [sp+56]
    0018cc98b 0x18ccac
    0018cc9c
    0018cc9cloc_18cc9c:
    0018cc9cb 0x18cca0
    0018cca0
    0018cca0loc_18cca0:
    0018cca0ldur x29, [sp-8]
    0018cca4ldr x30, [sp], 80
    0018cca8ret x30
    0018ccac
    0018ccacloc_18ccac:
    0018ccacldr x1, [sp+56]
    0018ccb0ldr x2, [sp+104]
    0018ccb4ldr x3, [sp+48]
    0018ccb8sbfm x4, x3, 63, 63
    0018ccbcadd x3, x3, x4, lsr #62
    0018ccc0sbfm x3, x3, 2, 63
    0018ccc4add x2, x2, x3, lsl #1
    0018ccc8add x2, x2, 1
    0018ccccsubs xzr, x1, x2
    0018ccd0b.le 0x18ccd8
    0018ccd4b 0x18cd50
    0018ccd8
    0018ccd8loc_18ccd8:
    0018ccd8add x0, sp, 24
    0018ccdcbl sort.(*xorshift).Next
    0018cce0str x0, [sp+64]
    0018cce4ldr x1, [sp+40]
    0018cce8sub x1, x1, 1
    0018ccecand x1, x0, x1
    0018ccf0str x1, [sp+32]
    0018ccf4ldr x1, [sp+48]
    0018ccf8ldr x2, [sp+32]
    0018ccfcsubs xzr, x1, x2
    0018cd00b.le 0x18cd08
    0018cd04b 0x18cd1c
    0018cd08
    0018cd08loc_18cd08:
    0018cd08ldr x2, [sp+48]
    0018cd0cldr x3, [sp+32]
    0018cd10sub x2, x3, x2
    0018cd14str x2, [sp+32]
    0018cd18b 0x18cd20
    0018cd1c
    0018cd1cloc_18cd1c:
    0018cd1cb 0x18cd20
    0018cd20
    0018cd20loc_18cd20:
    0018cd20ldr x26, [sp+96]
    0018cd24ldr x0, [sp+56]
    0018cd28ldr x2, [x26]
    0018cd2cldr x3, [sp+104]
    0018cd30ldr x4, [sp+32]
    0018cd34add x1, x3, x4
    0018cd38blr x2
    0018cd3cb 0x18cd40
    0018cd40
    0018cd40loc_18cd40:
    0018cd40ldr x1, [sp+56]
    0018cd44add x1, x1, 1
    0018cd48str x1, [sp+56]
    0018cd4cb 0x18ccac
    0018cd50
    0018cd50loc_18cd50:
    0018cd50b 0x18cca0
    0018cd54
    0018cd54loc_18cd54:
    0018cd54stp x0, x1, [sp+8]
    0018cd58stp x2, x3, [sp+24]
    0018cd5cmov x3, x30
    0018cd60bl runtime.morestack_noctxt.abi0
    0018cd64ldp x0, x1, [sp+8]
    0018cd68ldp x2, x3, [sp+24]
    0018cd6cb 0x18cc30
    0018cc30
    0018cd70
    0018cd70sort.choosePivot_func: ; void sort.choosePivot_func(sort.lessSwap data, int a, int b)
    0018cd70ldr x16, [x28+16]
    0018cd74subs xzr, sp, x16
    0018cd78b.ls 0x18cf08
    0018cd7cstr x30, [sp-128]!
    0018cd80stur x29, [sp-8]
    0018cd84sub x29, sp, 8
    0018cd88str x0, [sp+136]
    0018cd8cstr x1, [sp+144]
    0018cd90str x2, [sp+152]
    0018cd94str x3, [sp+160]
    0018cd98str xzr, [sp+64]
    0018cd9cstr xzr, [sp+104]
    0018cda0sub x6, x3, x2
    0018cda4str x6, [sp+72]
    0018cda8str xzr, [sp+56]
    0018cdacldr x7, [sp+152]
    0018cdb0sbfm x8, x6, 63, 63
    0018cdb4add x8, x6, x8, lsr #62
    0018cdb8add x2, x7, x8, asr #2
    0018cdbcstr x2, [sp+96]
    0018cdc0ldr x7, [sp+152]
    0018cdc4sbfm x8, x6, 63, 63
    0018cdc8add x8, x6, x8, lsr #62
    0018cdccsbfm x8, x8, 2, 63
    0018cdd0add x7, x7, x8, lsl #1
    0018cdd4str x7, [sp+88]
    0018cdd8ldr x7, [sp+152]
    0018cddcsbfm x8, x6, 63, 63
    0018cde0add x6, x6, x8, lsr #62
    0018cde4sbfm x6, x6, 2, 63
    0018cde8add x6, x6, x6, lsl #1
    0018cdecadd x6, x7, x6
    0018cdf0str x6, [sp+80]
    0018cdf4ldr x6, [sp+72]
    0018cdf8subs xzr, x6, 8
    0018cdfcb.ge 0x18ce04
    0018ce00b 0x18ce84
    0018ce04
    0018ce04loc_18ce04:
    0018ce04ldr x6, [sp+72]
    0018ce08subs xzr, x6, 50
    0018ce0cb.ge 0x18ce14
    0018ce10b 0x18ce5c
    0018ce14
    0018ce14loc_18ce14:
    0018ce14ldr x0, [sp+136]
    0018ce18ldr x1, [sp+144]
    0018ce1cadd x3, sp, 56
    0018ce20bl sort.medianAdjacent_func
    0018ce24str x0, [sp+96]
    0018ce28ldr x2, [sp+88]
    0018ce2cldr x0, [sp+136]
    0018ce30ldr x1, [sp+144]
    0018ce34add x3, sp, 56
    0018ce38bl sort.medianAdjacent_func
    0018ce3cstr x0, [sp+88]
    0018ce40ldr x2, [sp+80]
    0018ce44ldr x0, [sp+136]
    0018ce48ldr x1, [sp+144]
    0018ce4cadd x3, sp, 56
    0018ce50bl sort.medianAdjacent_func
    0018ce54str x0, [sp+80]
    0018ce58b 0x18ce60
    0018ce5c
    0018ce5cloc_18ce5c:
    0018ce5cb 0x18ce60
    0018ce60
    0018ce60loc_18ce60:
    0018ce60ldr x3, [sp+88]
    0018ce64ldr x4, [sp+80]
    0018ce68ldr x2, [sp+96]
    0018ce6cldr x0, [sp+136]
    0018ce70ldr x1, [sp+144]
    0018ce74add x5, sp, 56
    0018ce78bl sort.median_func
    0018ce7cstr x0, [sp+88]
    0018ce80b 0x18ce88
    0018ce84
    0018ce84loc_18ce84:
    0018ce84b 0x18ce88
    0018ce88
    0018ce88loc_18ce88:
    0018ce88ldr x2, [sp+56]
    0018ce8cstr x2, [sp+112]
    0018ce90cbz x2, 0x18ce98
    0018ce94b 0x18ceb8
    0018ce98
    0018ce98loc_18ce98:
    0018ce98b 0x18ce9c
    0018ce9c
    0018ce9cloc_18ce9c:
    0018ce9cldr x0, [sp+88]
    0018cea0str x0, [sp+64]
    0018cea4orr x1, xzr, 1
    0018cea8str x1, [sp+104]
    0018ceacldur x29, [sp-8]
    0018ceb0ldr x30, [sp], 128
    0018ceb4ret x30
    0018ceb8
    0018ceb8loc_18ceb8:
    0018ceb8subs xzr, x2, 12
    0018cebcb.eq 0x18cec4
    0018cec0b 0x18cee4
    0018cec4
    0018cec4loc_18cec4:
    0018cec4b 0x18cec8
    0018cec8
    0018cec8loc_18cec8:
    0018cec8ldr x0, [sp+88]
    0018ceccstr x0, [sp+64]
    0018ced0orr x1, xzr, 2
    0018ced4str x1, [sp+104]
    0018ced8ldur x29, [sp-8]
    0018cedcldr x30, [sp], 128
    0018cee0ret x30
    0018cee4
    0018cee4loc_18cee4:
    0018cee4b 0x18cee8
    0018cee8
    0018cee8loc_18cee8:
    0018cee8b 0x18ceec
    0018ceec
    0018ceecloc_18ceec:
    0018ceecldr x0, [sp+88]
    0018cef0str x0, [sp+64]
    0018cef4str xzr, [sp+104]
    0018cef8mov x1, xzr
    0018cefcldur x29, [sp-8]
    0018cf00ldr x30, [sp], 128
    0018cf04ret x30
    0018cf08
    0018cf08loc_18cf08:
    0018cf08stp x0, x1, [sp+8]
    0018cf0cstp x2, x3, [sp+24]
    0018cf10mov x3, x30
    0018cf14bl runtime.morestack_noctxt.abi0
    0018cf18ldp x0, x1, [sp+8]
    0018cf1cldp x2, x3, [sp+24]
    0018cf20b 0x18cd70
    0018cf24udf 0
    0018cf28udf 0
    0018cf2cudf 0
    0018cd70
    0018cf30
    0018cf30sort.order2_func: ; void sort.order2_func(sort.lessSwap data, int a, int b, int * swaps)
    0018cf30ldr x16, [x28+16]
    0018cf34subs xzr, sp, x16
    0018cf38b.ls 0x18cfd8
    0018cf3cstr x30, [sp-64]!
    0018cf40stur x29, [sp-8]
    0018cf44sub x29, sp, 8
    0018cf48str x0, [sp+72]
    0018cf4cstr x1, [sp+80]
    0018cf50str x2, [sp+88]
    0018cf54str x3, [sp+96]
    0018cf58str x4, [sp+104]
    0018cf5cstr xzr, [sp+48]
    0018cf60str xzr, [sp+40]
    0018cf64ldr x26, [sp+72]
    0018cf68ldr x1, [sp+88]
    0018cf6cldr x2, [x26]
    0018cf70mov x0, x3
    0018cf74blr x2
    0018cf78strb w0, [sp+39]
    0018cf7ctbnz w0, 0, 0x18cf84
    0018cf80b 0x18cfbc
    0018cf84
    0018cf84loc_18cf84:
    0018cf84ldr x2, [sp+104]
    0018cf88ldrsb x27, [x2]
    0018cf8cldr x3, [sp+104]
    0018cf90ldrsb x27, [x3]
    0018cf94ldr x3, [x3]
    0018cf98add x3, x3, 1
    0018cf9cstr x3, [x2]
    0018cfa0ldr x0, [sp+96]
    0018cfa4str x0, [sp+48]
    0018cfa8ldr x1, [sp+88]
    0018cfacstr x1, [sp+40]
    0018cfb0ldur x29, [sp-8]
    0018cfb4ldr x30, [sp], 64
    0018cfb8ret x30
    0018cfbc
    0018cfbcloc_18cfbc:
    0018cfbcldr x0, [sp+88]
    0018cfc0str x0, [sp+48]
    0018cfc4ldr x1, [sp+96]
    0018cfc8str x1, [sp+40]
    0018cfccldur x29, [sp-8]
    0018cfd0ldr x30, [sp], 64
    0018cfd4ret x30
    0018cfd8
    0018cfd8loc_18cfd8:
    0018cfd8stp x0, x1, [sp+8]
    0018cfdcstp x2, x3, [sp+24]
    0018cfe0str x4, [sp+40]
    0018cfe4mov x3, x30
    0018cfe8bl runtime.morestack_noctxt.abi0
    0018cfecldp x0, x1, [sp+8]
    0018cff0ldp x2, x3, [sp+24]
    0018cff4ldr x4, [sp+40]
    0018cff8b 0x18cf30
    0018cffcudf 0
    0018cf30
    0018d000
    0018d000sort.median_func: ; void sort.median_func(sort.lessSwap data, int a, int b, int c, int * swaps)
    0018d000ldr x16, [x28+16]
    0018d004subs xzr, sp, x16
    0018d008b.ls 0x18d0dc
    0018d00cstr x30, [sp-128]!
    0018d010stur x29, [sp-8]
    0018d014sub x29, sp, 8
    0018d018str x0, [sp+136]
    0018d01cstr x1, [sp+144]
    0018d020str x2, [sp+152]
    0018d024str x3, [sp+160]
    0018d028str x4, [sp+168]
    0018d02cstr x5, [sp+176]
    0018d030str xzr, [sp+48]
    0018d034ldr x2, [sp+152]
    0018d038ldr x0, [sp+136]
    0018d03cldr x1, [sp+144]
    0018d040mov x4, x5
    0018d044bl sort.order2_func
    0018d048str x0, [sp+96]
    0018d04cstr x1, [sp+88]
    0018d050str x0, [sp+80]
    0018d054str x1, [sp+72]
    0018d058str x0, [sp+152]
    0018d05cstr x1, [sp+160]
    0018d060ldr x3, [sp+168]
    0018d064ldr x4, [sp+176]
    0018d068ldr x0, [sp+136]
    0018d06cldr x5, [sp+144]
    0018d070mov x2, x1
    0018d074mov x1, x5
    0018d078bl sort.order2_func
    0018d07cstr x0, [sp+88]
    0018d080str x1, [sp+96]
    0018d084str x0, [sp+64]
    0018d088str x1, [sp+56]
    0018d08cstr x0, [sp+160]
    0018d090str x1, [sp+168]
    0018d094ldr x4, [sp+176]
    0018d098ldr x2, [sp+152]
    0018d09cldr x5, [sp+136]
    0018d0a0ldr x1, [sp+144]
    0018d0a4mov x3, x0
    0018d0a8mov x0, x5
    0018d0acbl sort.order2_func
    0018d0b0str x0, [sp+96]
    0018d0b4str x1, [sp+88]
    0018d0b8str x0, [sp+112]
    0018d0bcstr x1, [sp+104]
    0018d0c0str x0, [sp+152]
    0018d0c4str x1, [sp+160]
    0018d0c8str x1, [sp+48]
    0018d0ccmov x0, x1
    0018d0d0ldur x29, [sp-8]
    0018d0d4ldr x30, [sp], 128
    0018d0d8ret x30
    0018d0dc
    0018d0dcloc_18d0dc:
    0018d0dcstp x0, x1, [sp+8]
    0018d0e0stp x2, x3, [sp+24]
    0018d0e4stp x4, x5, [sp+40]
    0018d0e8mov x3, x30
    0018d0ecbl runtime.morestack_noctxt.abi0
    0018d0f0ldp x0, x1, [sp+8]
    0018d0f4ldp x2, x3, [sp+24]
    0018d0f8ldp x4, x5, [sp+40]
    0018d0fcb 0x18d000
    0018d000
    0018d100
    0018d100sort.medianAdjacent_func: ; void sort.medianAdjacent_func(sort.lessSwap data, int a, int * swaps)
    0018d100ldr x16, [x28+16]
    0018d104subs xzr, sp, x16
    0018d108b.ls 0x18d15c
    0018d10cstr x30, [sp-80]!
    0018d110stur x29, [sp-8]
    0018d114sub x29, sp, 8
    0018d118str x0, [sp+88]
    0018d11cstr x1, [sp+96]
    0018d120str x2, [sp+104]
    0018d124str x3, [sp+112]
    0018d128str xzr, [sp+56]
    0018d12cldr x0, [sp+88]
    0018d130sub x6, x2, 1
    0018d134add x4, x2, 1
    0018d138mov x5, x3
    0018d13cmov x3, x2
    0018d140mov x2, x6
    0018d144bl sort.median_func
    0018d148str x0, [sp+64]
    0018d14cstr x0, [sp+56]
    0018d150ldur x29, [sp-8]
    0018d154ldr x30, [sp], 80
    0018d158ret x30
    0018d15c
    0018d15cloc_18d15c:
    0018d15cstp x0, x1, [sp+8]
    0018d160stp x2, x3, [sp+24]
    0018d164mov x3, x30
    0018d168bl runtime.morestack_noctxt.abi0
    0018d16cldp x0, x1, [sp+8]
    0018d170ldp x2, x3, [sp+24]
    0018d174b 0x18d100
    0018d178udf 0
    0018d17cudf 0
    0018d100
    0018d180
    0018d180sort.reverseRange_func: ; void sort.reverseRange_func(sort.lessSwap data, int a, int b)
    0018d180ldr x16, [x28+16]
    0018d184subs xzr, sp, x16
    0018d188b.ls 0x18d20c
    0018d18cstr x30, [sp-48]!
    0018d190stur x29, [sp-8]
    0018d194sub x29, sp, 8
    0018d198str x0, [sp+56]
    0018d19cstr x1, [sp+64]
    0018d1a0str x2, [sp+72]
    0018d1a4str x3, [sp+80]
    0018d1a8str x2, [sp+32]
    0018d1acsub x2, x3, 1
    0018d1b0str x2, [sp+24]
    0018d1b4b 0x18d1b8
    0018d1b8
    0018d1b8loc_18d1b8:
    0018d1b8ldr x2, [sp+24]
    0018d1bcldr x3, [sp+32]
    0018d1c0subs xzr, x2, x3
    0018d1c4b.gt 0x18d1cc
    0018d1c8b 0x18d200
    0018d1cc
    0018d1ccloc_18d1cc:
    0018d1ccldr x26, [sp+64]
    0018d1d0ldr x0, [sp+32]
    0018d1d4ldr x1, [sp+24]
    0018d1d8ldr x2, [x26]
    0018d1dcblr x2
    0018d1e0ldr x2, [sp+32]
    0018d1e4add x2, x2, 1
    0018d1e8str x2, [sp+32]
    0018d1ecldr x2, [sp+24]
    0018d1f0sub x2, x2, 1
    0018d1f4str x2, [sp+24]
    0018d1f8b 0x18d1fc
    0018d1fc
    0018d1fcloc_18d1fc:
    0018d1fcb 0x18d1b8
    0018d200
    0018d200loc_18d200:
    0018d200ldur x29, [sp-8]
    0018d204ldr x30, [sp], 48
    0018d208ret x30
    0018d20c
    0018d20cloc_18d20c:
    0018d20cstp x0, x1, [sp+8]
    0018d210stp x2, x3, [sp+24]
    0018d214mov x3, x30
    0018d218bl runtime.morestack_noctxt.abi0
    0018d21cldp x0, x1, [sp+8]
    0018d220ldp x2, x3, [sp+24]
    0018d224b 0x18d180
    0018d228udf 0
    0018d22cudf 0
    0018d180
    0018d230
    0018d230sort.insertionSort: ; void sort.insertionSort(sort.Interface data, int a, int b)
    0018d230ldr x16, [x28+16]
    0018d234subs xzr, sp, x16
    0018d238b.ls 0x18d330
    0018d23cstr x30, [sp-64]!
    0018d240stur x29, [sp-8]
    0018d244sub x29, sp, 8
    0018d248str x0, [sp+72]
    0018d24cstr x1, [sp+80]
    0018d250str x2, [sp+88]
    0018d254str x3, [sp+96]
    0018d258add x3, x2, 1
    0018d25cstr x3, [sp+48]
    0018d260b 0x18d264
    0018d264
    0018d264loc_18d264:
    0018d264ldr x3, [sp+96]
    0018d268ldr x4, [sp+48]
    0018d26csubs xzr, x3, x4
    0018d270b.gt 0x18d278
    0018d274b 0x18d284
    0018d278
    0018d278loc_18d278:
    0018d278ldr x3, [sp+48]
    0018d27cstr x3, [sp+40]
    0018d280b 0x18d290
    0018d284
    0018d284loc_18d284:
    0018d284ldur x29, [sp-8]
    0018d288ldr x30, [sp], 64
    0018d28cret x30
    0018d290
    0018d290loc_18d290:
    0018d290ldr x3, [sp+88]
    0018d294ldr x4, [sp+40]
    0018d298subs xzr, x3, x4
    0018d29ccset x3, lt
    0018d2a0strb w3, [sp+39]
    0018d2a4b.lt 0x18d2ac
    0018d2a8b 0x18d2d8
    0018d2ac
    0018d2acloc_18d2ac:
    0018d2acldr x3, [sp+72]
    0018d2b0ldrsb x27, [x3]
    0018d2b4ldr x1, [sp+40]
    0018d2b8ldr x0, [sp+80]
    0018d2bcldr x3, [x3+32]
    0018d2c0ldr x4, [sp+40]
    0018d2c4sub x2, x4, 1
    0018d2c8blr x3
    0018d2ccstrb w0, [sp+38]
    0018d2d0strb w0, [sp+39]
    0018d2d4b 0x18d2dc
    0018d2d8
    0018d2d8loc_18d2d8:
    0018d2d8b 0x18d2dc
    0018d2dc
    0018d2dcloc_18d2dc:
    0018d2dcldrb w3, [sp+39]
    0018d2e0tbnz w3, 0, 0x18d2e8
    0018d2e4b 0x18d31c
    0018d2e8
    0018d2e8loc_18d2e8:
    0018d2e8ldr x1, [sp+40]
    0018d2ecldr x3, [sp+72]
    0018d2f0ldrsb x27, [x3]
    0018d2f4ldr x3, [x3+40]
    0018d2f8ldr x0, [sp+80]
    0018d2fcldr x4, [sp+40]
    0018d300sub x2, x4, 1
    0018d304blr x3
    0018d308b 0x18d30c
    0018d30c
    0018d30cloc_18d30c:
    0018d30cldr x3, [sp+40]
    0018d310sub x3, x3, 1
    0018d314str x3, [sp+40]
    0018d318b 0x18d290
    0018d31c
    0018d31cloc_18d31c:
    0018d31cb 0x18d320
    0018d320
    0018d320loc_18d320:
    0018d320ldr x3, [sp+48]
    0018d324add x3, x3, 1
    0018d328str x3, [sp+48]
    0018d32cb 0x18d264
    0018d330
    0018d330loc_18d330:
    0018d330stp x0, x1, [sp+8]
    0018d334stp x2, x3, [sp+24]
    0018d338mov x3, x30
    0018d33cbl runtime.morestack_noctxt.abi0
    0018d340ldp x0, x1, [sp+8]
    0018d344ldp x2, x3, [sp+24]
    0018d348b 0x18d230
    0018d34cudf 0
    0018d230
    0018d350
    0018d350sort.siftDown: ; void sort.siftDown(sort.Interface data, int lo, int hi, int first)
    0018d350ldr x16, [x28+16]
    0018d354subs xzr, sp, x16
    0018d358b.ls 0x18d4b4
    0018d35cstr x30, [sp-64]!
    0018d360stur x29, [sp-8]
    0018d364sub x29, sp, 8
    0018d368str x0, [sp+72]
    0018d36cstr x1, [sp+80]
    0018d370str x2, [sp+88]
    0018d374str x3, [sp+96]
    0018d378str x4, [sp+104]
    0018d37cstr x2, [sp+40]
    0018d380b 0x18d384
    0018d384
    0018d384loc_18d384:
    0018d384b 0x18d388
    0018d388
    0018d388loc_18d388:
    0018d388ldr x3, [sp+40]
    0018d38cubfm x3, x3, 63, 62
    0018d390add x4, x3, 1
    0018d394str x4, [sp+48]
    0018d398ldr x5, [sp+96]
    0018d39csubs xzr, x5, x4
    0018d3a0b.le 0x18d3a8
    0018d3a4b 0x18d3b8
    0018d3a8
    0018d3a8loc_18d3a8:
    0018d3a8b 0x18d3ac
    0018d3ac
    0018d3acloc_18d3ac:
    0018d3acldur x29, [sp-8]
    0018d3b0ldr x30, [sp], 64
    0018d3b4ret x30
    0018d3b8
    0018d3b8loc_18d3b8:
    0018d3b8add x3, x3, 2
    0018d3bcldr x4, [sp+96]
    0018d3c0subs xzr, x4, x3
    0018d3c4cset x3, gt
    0018d3c8strb w3, [sp+39]
    0018d3ccb.gt 0x18d3d4
    0018d3d0b 0x18d410
    0018d3d4
    0018d3d4loc_18d3d4:
    0018d3d4ldr x3, [sp+72]
    0018d3d8ldrsb x27, [x3]
    0018d3dcldr x0, [sp+80]
    0018d3e0ldr x3, [x3+32]
    0018d3e4ldr x4, [sp+104]
    0018d3e8ldr x5, [sp+48]
    0018d3ecadd x1, x4, x5
    0018d3f0ldr x4, [sp+104]
    0018d3f4ldr x5, [sp+48]
    0018d3f8add x4, x4, x5
    0018d3fcadd x2, x4, 1
    0018d400blr x3
    0018d404strb w0, [sp+38]
    0018d408strb w0, [sp+39]
    0018d40cb 0x18d414
    0018d410
    0018d410loc_18d410:
    0018d410b 0x18d414
    0018d414
    0018d414loc_18d414:
    0018d414ldrb w3, [sp+39]
    0018d418tbnz w3, 0, 0x18d420
    0018d41cb 0x18d430
    0018d420
    0018d420loc_18d420:
    0018d420ldr x3, [sp+48]
    0018d424add x3, x3, 1
    0018d428str x3, [sp+48]
    0018d42cb 0x18d434
    0018d430
    0018d430loc_18d430:
    0018d430b 0x18d434
    0018d434
    0018d434loc_18d434:
    0018d434ldr x3, [sp+72]
    0018d438ldrsb x27, [x3]
    0018d43cldr x3, [x3+32]
    0018d440ldr x0, [sp+80]
    0018d444ldr x4, [sp+104]
    0018d448ldr x5, [sp+40]
    0018d44cadd x1, x4, x5
    0018d450ldr x4, [sp+104]
    0018d454ldr x5, [sp+48]
    0018d458add x2, x4, x5
    0018d45cblr x3
    0018d460strb w0, [sp+39]
    0018d464tbnz w0, 0, 0x18d46c
    0018d468b 0x18d4a8
    0018d46c
    0018d46cloc_18d46c:
    0018d46cldr x3, [sp+72]
    0018d470ldrsb x27, [x3]
    0018d474ldr x3, [x3+40]
    0018d478ldr x0, [sp+80]
    0018d47cldr x4, [sp+104]
    0018d480ldr x5, [sp+40]
    0018d484add x1, x4, x5
    0018d488ldr x4, [sp+104]
    0018d48cldr x5, [sp+48]
    0018d490add x2, x4, x5
    0018d494blr x3
    0018d498ldr x3, [sp+48]
    0018d49cstr x3, [sp+40]
    0018d4a0b 0x18d4a4
    0018d4a4
    0018d4a4loc_18d4a4:
    0018d4a4b 0x18d384
    0018d4a8
    0018d4a8loc_18d4a8:
    0018d4a8ldur x29, [sp-8]
    0018d4acldr x30, [sp], 64
    0018d4b0ret x30
    0018d4b4
    0018d4b4loc_18d4b4:
    0018d4b4stp x0, x1, [sp+8]
    0018d4b8stp x2, x3, [sp+24]
    0018d4bcstr x4, [sp+40]
    0018d4c0mov x3, x30
    0018d4c4bl runtime.morestack_noctxt.abi0
    0018d4c8ldp x0, x1, [sp+8]
    0018d4ccldp x2, x3, [sp+24]
    0018d4d0ldr x4, [sp+40]
    0018d4d4b 0x18d350
    0018d4d8udf 0
    0018d4dcudf 0
    0018d350
    0018d4e0
    0018d4e0sort.heapSort: ; void sort.heapSort(sort.Interface data, int a, int b)
    0018d4e0ldr x16, [x28+16]
    0018d4e4subs xzr, sp, x16
    0018d4e8b.ls 0x18d5e0
    0018d4ecstr x30, [sp-96]!
    0018d4f0stur x29, [sp-8]
    0018d4f4sub x29, sp, 8
    0018d4f8str x0, [sp+104]
    0018d4fcstr x1, [sp+112]
    0018d500str x2, [sp+120]
    0018d504str x3, [sp+128]
    0018d508str x2, [sp+80]
    0018d50cstr xzr, [sp+48]
    0018d510sub x5, x3, x2
    0018d514str x5, [sp+72]
    0018d518sub x6, x5, 1
    0018d51cadd x5, x5, x6, lsr #63
    0018d520sub x5, x5, 1
    0018d524sbfm x5, x5, 1, 63
    0018d528str x5, [sp+64]
    0018d52cb 0x18d530
    0018d530
    0018d530loc_18d530:
    0018d530ldr x5, [sp+64]
    0018d534tbz x5, 63, 0x18d53c
    0018d538b 0x18d568
    0018d53c
    0018d53cloc_18d53c:
    0018d53cldr x3, [sp+72]
    0018d540ldr x4, [sp+80]
    0018d544ldr x2, [sp+64]
    0018d548ldr x0, [sp+104]
    0018d54cldr x1, [sp+112]
    0018d550bl sort.siftDown
    0018d554b 0x18d558
    0018d558
    0018d558loc_18d558:
    0018d558ldr x5, [sp+64]
    0018d55csub x5, x5, 1
    0018d560str x5, [sp+64]
    0018d564b 0x18d530
    0018d568
    0018d568loc_18d568:
    0018d568ldr x3, [sp+72]
    0018d56csub x3, x3, 1
    0018d570str x3, [sp+56]
    0018d574b 0x18d578
    0018d578
    0018d578loc_18d578:
    0018d578ldr x3, [sp+56]
    0018d57ctbz x3, 63, 0x18d584
    0018d580b 0x18d5d4
    0018d584
    0018d584loc_18d584:
    0018d584ldr x1, [sp+80]
    0018d588ldr x3, [sp+104]
    0018d58cldrsb x27, [x3]
    0018d590ldr x3, [x3+40]
    0018d594ldr x0, [sp+112]
    0018d598ldr x4, [sp+80]
    0018d59cldr x5, [sp+56]
    0018d5a0add x2, x4, x5
    0018d5a4blr x3
    0018d5a8ldr x3, [sp+56]
    0018d5acldr x4, [sp+80]
    0018d5b0ldr x2, [sp+48]
    0018d5b4ldr x0, [sp+104]
    0018d5b8ldr x1, [sp+112]
    0018d5bcbl sort.siftDown
    0018d5c0b 0x18d5c4
    0018d5c4
    0018d5c4loc_18d5c4:
    0018d5c4ldr x3, [sp+56]
    0018d5c8sub x3, x3, 1
    0018d5ccstr x3, [sp+56]
    0018d5d0b 0x18d578
    0018d5d4
    0018d5d4loc_18d5d4:
    0018d5d4ldur x29, [sp-8]
    0018d5d8ldr x30, [sp], 96
    0018d5dcret x30
    0018d5e0
    0018d5e0loc_18d5e0:
    0018d5e0stp x0, x1, [sp+8]
    0018d5e4stp x2, x3, [sp+24]
    0018d5e8mov x3, x30
    0018d5ecbl runtime.morestack_noctxt.abi0
    0018d5f0ldp x0, x1, [sp+8]
    0018d5f4ldp x2, x3, [sp+24]
    0018d5f8b 0x18d4e0
    0018d5fcudf 0
    0018d4e0
    0018d600
    0018d600sort.pdqsort: ; void sort.pdqsort(sort.Interface data, int a, int b, int limit)
    0018d600ldr x16, [x28+16]
    0018d604sub x17, sp, 48
    0018d608subs xzr, x17, x16
    0018d60cb.ls 0x18d950
    0018d610str x30, [sp-176]!
    0018d614stur x29, [sp-8]
    0018d618sub x29, sp, 8
    0018d61cstr x0, [sp+184]
    0018d620str x1, [sp+192]
    0018d624str x2, [sp+200]
    0018d628str x3, [sp+208]
    0018d62cstr x4, [sp+216]
    0018d630orr x4, xzr, 1
    0018d634strb w4, [sp+59]
    0018d638strb w4, [sp+58]
    0018d63cb 0x18d640
    0018d640
    0018d640loc_18d640:
    0018d640b 0x18d644
    0018d644
    0018d644loc_18d644:
    0018d644ldr x4, [sp+208]
    0018d648ldr x5, [sp+200]
    0018d64csub x4, x4, x5
    0018d650str x4, [sp+96]
    0018d654subs xzr, x4, 12
    0018d658b.le 0x18d660
    0018d65cb 0x18d680
    0018d660
    0018d660loc_18d660:
    0018d660ldr x3, [sp+208]
    0018d664ldr x2, [sp+200]
    0018d668ldr x0, [sp+184]
    0018d66cldr x1, [sp+192]
    0018d670bl sort.insertionSort
    0018d674ldur x29, [sp-8]
    0018d678ldr x30, [sp], 176
    0018d67cret x30
    0018d680
    0018d680loc_18d680:
    0018d680ldr x4, [sp+216]
    0018d684cbz x4, 0x18d68c
    0018d688b 0x18d6ac
    0018d68c
    0018d68cloc_18d68c:
    0018d68cldr x3, [sp+208]
    0018d690ldr x2, [sp+200]
    0018d694ldr x0, [sp+184]
    0018d698ldr x1, [sp+192]
    0018d69cbl sort.heapSort
    0018d6a0ldur x29, [sp-8]
    0018d6a4ldr x30, [sp], 176
    0018d6a8ret x30
    0018d6ac
    0018d6acloc_18d6ac:
    0018d6acldrb w4, [sp+59]
    0018d6b0tbnz w4, 0, 0x18d6b8
    0018d6b4b 0x18d6bc
    0018d6b8
    0018d6b8loc_18d6b8:
    0018d6b8b 0x18d6e0
    0018d6bc
    0018d6bcloc_18d6bc:
    0018d6bcldr x3, [sp+208]
    0018d6c0ldr x2, [sp+200]
    0018d6c4ldr x0, [sp+184]
    0018d6c8ldr x1, [sp+192]
    0018d6ccbl sort.breakPatterns
    0018d6d0ldr x4, [sp+216]
    0018d6d4sub x4, x4, 1
    0018d6d8str x4, [sp+216]
    0018d6dcb 0x18d6e0
    0018d6e0
    0018d6e0loc_18d6e0:
    0018d6e0ldr x3, [sp+208]
    0018d6e4ldr x2, [sp+200]
    0018d6e8ldr x0, [sp+184]
    0018d6ecldr x1, [sp+192]
    0018d6f0bl sort.choosePivot
    0018d6f4str x0, [sp+144]
    0018d6f8str x1, [sp+136]
    0018d6fcstr x0, [sp+128]
    0018d700str x1, [sp+160]
    0018d704str x0, [sp+72]
    0018d708str x1, [sp+112]
    0018d70csubs xzr, x1, 2
    0018d710b.eq 0x18d718
    0018d714b 0x18d754
    0018d718
    0018d718loc_18d718:
    0018d718ldr x3, [sp+208]
    0018d71cldr x2, [sp+200]
    0018d720ldr x0, [sp+184]
    0018d724ldr x1, [sp+192]
    0018d728bl sort.reverseRange
    0018d72cldr x4, [sp+208]
    0018d730ldr x5, [sp+72]
    0018d734ldr x6, [sp+200]
    0018d738add x4, x4, x6
    0018d73csub x4, x4, x5
    0018d740sub x4, x4, 1
    0018d744str x4, [sp+72]
    0018d748orr x4, xzr, 1
    0018d74cstr x4, [sp+112]
    0018d750b 0x18d75c
    0018d754
    0018d754loc_18d754:
    0018d754orr x4, xzr, 1
    0018d758b 0x18d75c
    0018d75c
    0018d75cloc_18d75c:
    0018d75cldrb w5, [sp+59]
    0018d760strb w5, [sp+61]
    0018d764tbnz w5, 0, 0x18d76c
    0018d768b 0x18d778
    0018d76c
    0018d76cloc_18d76c:
    0018d76cldrb w5, [sp+58]
    0018d770strb w5, [sp+61]
    0018d774b 0x18d77c
    0018d778
    0018d778loc_18d778:
    0018d778b 0x18d77c
    0018d77c
    0018d77cloc_18d77c:
    0018d77cldrb w5, [sp+61]
    0018d780strb w5, [sp+62]
    0018d784tbnz w5, 0, 0x18d78c
    0018d788b 0x18d7a0
    0018d78c
    0018d78cloc_18d78c:
    0018d78cldr x5, [sp+112]
    0018d790subs xzr, x5, 1
    0018d794cset x5, eq
    0018d798strb w5, [sp+62]
    0018d79cb 0x18d7a4
    0018d7a0
    0018d7a0loc_18d7a0:
    0018d7a0b 0x18d7a4
    0018d7a4
    0018d7a4loc_18d7a4:
    0018d7a4ldrb w5, [sp+62]
    0018d7a8tbnz w5, 0, 0x18d7b0
    0018d7acb 0x18d7e0
    0018d7b0
    0018d7b0loc_18d7b0:
    0018d7b0ldr x3, [sp+208]
    0018d7b4ldr x2, [sp+200]
    0018d7b8ldr x0, [sp+184]
    0018d7bcldr x1, [sp+192]
    0018d7c0bl sort.partialInsertionSort
    0018d7c4strb w0, [sp+61]
    0018d7c8tbnz w0, 0, 0x18d7d0
    0018d7ccb 0x18d7dc
    0018d7d0
    0018d7d0loc_18d7d0:
    0018d7d0ldur x29, [sp-8]
    0018d7d4ldr x30, [sp], 176
    0018d7d8ret x30
    0018d7dc
    0018d7dcloc_18d7dc:
    0018d7dcb 0x18d7e4
    0018d7e0
    0018d7e0loc_18d7e0:
    0018d7e0b 0x18d7e4
    0018d7e4
    0018d7e4loc_18d7e4:
    0018d7e4ldr x5, [sp+200]
    0018d7e8subs xzr, x5, 0
    0018d7eccset x5, gt
    0018d7f0strb w5, [sp+61]
    0018d7f4b.gt 0x18d7fc
    0018d7f8b 0x18d82c
    0018d7fc
    0018d7fcloc_18d7fc:
    0018d7fcldr x3, [sp+184]
    0018d800ldrsb x27, [x3]
    0018d804ldr x2, [sp+72]
    0018d808ldr x0, [sp+192]
    0018d80cldr x3, [x3+32]
    0018d810ldr x4, [sp+200]
    0018d814sub x1, x4, 1
    0018d818blr x3
    0018d81cstrb w0, [sp+62]
    0018d820eor x3, x0, 1
    0018d824strb w3, [sp+61]
    0018d828b 0x18d830
    0018d82c
    0018d82cloc_18d82c:
    0018d82cb 0x18d830
    0018d830
    0018d830loc_18d830:
    0018d830ldrb w5, [sp+61]
    0018d834tbnz w5, 0, 0x18d83c
    0018d838b 0x18d860
    0018d83c
    0018d83cloc_18d83c:
    0018d83cldr x3, [sp+208]
    0018d840ldr x4, [sp+72]
    0018d844ldr x2, [sp+200]
    0018d848ldr x0, [sp+184]
    0018d84cldr x1, [sp+192]
    0018d850bl sort.partitionEqual
    0018d854str x0, [sp+88]
    0018d858str x0, [sp+200]
    0018d85cb 0x18d94c
    0018d860
    0018d860loc_18d860:
    0018d860ldr x3, [sp+208]
    0018d864ldr x4, [sp+72]
    0018d868ldr x2, [sp+200]
    0018d86cldr x0, [sp+184]
    0018d870ldr x1, [sp+192]
    0018d874bl sort.partition
    0018d878str x0, [sp+144]
    0018d87cstrb w1, [sp+61]
    0018d880ldr x5, [sp+144]
    0018d884str x5, [sp+152]
    0018d888ldrb w5, [sp+61]
    0018d88cstrb w5, [sp+63]
    0018d890ldr x5, [sp+152]
    0018d894str x5, [sp+80]
    0018d898ldrb w6, [sp+63]
    0018d89cstrb w6, [sp+60]
    0018d8a0strb w6, [sp+58]
    0018d8a4ldr x6, [sp+200]
    0018d8a8ldr x7, [sp+80]
    0018d8acsub x6, x7, x6
    0018d8b0str x6, [sp+104]
    0018d8b4ldr x7, [sp+208]
    0018d8b8sub x5, x7, x5
    0018d8bcstr x5, [sp+64]
    0018d8c0ldr x7, [sp+96]
    0018d8c4sbfm x8, x7, 63, 63
    0018d8c8add x7, x7, x8, lsr #61
    0018d8ccsbfm x8, x7, 3, 63
    0018d8d0str x8, [sp+120]
    0018d8d4subs xzr, x5, x6
    0018d8d8b.gt 0x18d8e0
    0018d8dcb 0x18d914
    0018d8e0
    0018d8e0loc_18d8e0:
    0018d8e0subs xzr, x6, x7, asr #3
    0018d8e4cset x5, ge
    0018d8e8strb w5, [sp+59]
    0018d8ecldr x3, [sp+80]
    0018d8f0ldr x4, [sp+216]
    0018d8f4ldr x2, [sp+200]
    0018d8f8ldr x0, [sp+184]
    0018d8fcldr x1, [sp+192]
    0018d900bl sort.pdqsort
    0018d904ldr x5, [sp+80]
    0018d908add x5, x5, 1
    0018d90cstr x5, [sp+200]
    0018d910b 0x18d948
    0018d914
    0018d914loc_18d914:
    0018d914subs xzr, x5, x7, asr #3
    0018d918cset x5, ge
    0018d91cstrb w5, [sp+59]
    0018d920ldr x3, [sp+208]
    0018d924ldr x4, [sp+216]
    0018d928ldr x0, [sp+184]
    0018d92cldr x1, [sp+192]
    0018d930ldr x5, [sp+80]
    0018d934add x2, x5, 1
    0018d938bl sort.pdqsort
    0018d93cldr x5, [sp+80]
    0018d940str x5, [sp+208]
    0018d944b 0x18d948
    0018d948
    0018d948loc_18d948:
    0018d948b 0x18d94c
    0018d94c
    0018d94cloc_18d94c:
    0018d94cb 0x18d640
    0018d950
    0018d950loc_18d950:
    0018d950stp x0, x1, [sp+8]
    0018d954stp x2, x3, [sp+24]
    0018d958str x4, [sp+40]
    0018d95cmov x3, x30
    0018d960bl runtime.morestack_noctxt.abi0
    0018d964ldp x0, x1, [sp+8]
    0018d968ldp x2, x3, [sp+24]
    0018d96cldr x4, [sp+40]
    0018d970b 0x18d600
    0018d974udf 0
    0018d978udf 0
    0018d97cudf 0
    0018d600
    0018d980
    0018d980sort.partition: ; void sort.partition(sort.Interface data, int a, int b, int pivot)
    0018d980ldr x16, [x28+16]
    0018d984subs xzr, sp, x16
    0018d988b.ls 0x18dcbc
    0018d98cstr x30, [sp-80]!
    0018d990stur x29, [sp-8]
    0018d994sub x29, sp, 8
    0018d998str x0, [sp+88]
    0018d99cstr x1, [sp+96]
    0018d9a0str x2, [sp+104]
    0018d9a4str x3, [sp+112]
    0018d9a8str x4, [sp+120]
    0018d9acstr xzr, [sp+48]
    0018d9b0strb wzr, [sp+45]
    0018d9b4ldr x1, [sp+104]
    0018d9b8ldr x2, [sp+120]
    0018d9bcldr x3, [sp+88]
    0018d9c0ldrsb x27, [x3]
    0018d9c4ldr x3, [x3+40]
    0018d9c8ldr x0, [sp+96]
    0018d9ccblr x3
    0018d9d0ldr x3, [sp+104]
    0018d9d4add x3, x3, 1
    0018d9d8str x3, [sp+64]
    0018d9dcldr x3, [sp+112]
    0018d9e0sub x3, x3, 1
    0018d9e4str x3, [sp+56]
    0018d9e8b 0x18d9ec
    0018d9ec
    0018d9ecloc_18d9ec:
    0018d9ecldr x3, [sp+56]
    0018d9f0ldr x4, [sp+64]
    0018d9f4subs xzr, x3, x4
    0018d9f8cset x3, ge
    0018d9fcstrb w3, [sp+47]
    0018da00b.ge 0x18da08
    0018da04b 0x18da30
    0018da08
    0018da08loc_18da08:
    0018da08ldr x3, [sp+88]
    0018da0cldrsb x27, [x3]
    0018da10ldr x1, [sp+64]
    0018da14ldr x2, [sp+104]
    0018da18ldr x0, [sp+96]
    0018da1cldr x3, [x3+32]
    0018da20blr x3
    0018da24strb w0, [sp+46]
    0018da28strb w0, [sp+47]
    0018da2cb 0x18da34
    0018da30
    0018da30loc_18da30:
    0018da30b 0x18da34
    0018da34
    0018da34loc_18da34:
    0018da34ldrb w3, [sp+47]
    0018da38tbnz w3, 0, 0x18da40
    0018da3cb 0x18da54
    0018da40
    0018da40loc_18da40:
    0018da40ldr x3, [sp+64]
    0018da44add x3, x3, 1
    0018da48str x3, [sp+64]
    0018da4cb 0x18da50
    0018da50
    0018da50loc_18da50:
    0018da50b 0x18d9ec
    0018da54
    0018da54loc_18da54:
    0018da54b 0x18da58
    0018da58
    0018da58loc_18da58:
    0018da58ldr x3, [sp+56]
    0018da5cldr x4, [sp+64]
    0018da60subs xzr, x3, x4
    0018da64cset x3, ge
    0018da68strb w3, [sp+47]
    0018da6cb.ge 0x18da74
    0018da70b 0x18daa0
    0018da74
    0018da74loc_18da74:
    0018da74ldr x3, [sp+88]
    0018da78ldrsb x27, [x3]
    0018da7cldr x1, [sp+56]
    0018da80ldr x2, [sp+104]
    0018da84ldr x0, [sp+96]
    0018da88ldr x3, [x3+32]
    0018da8cblr x3
    0018da90strb w0, [sp+46]
    0018da94eor x3, x0, 1
    0018da98strb w3, [sp+47]
    0018da9cb 0x18daa4
    0018daa0
    0018daa0loc_18daa0:
    0018daa0b 0x18daa4
    0018daa4
    0018daa4loc_18daa4:
    0018daa4ldrb w3, [sp+47]
    0018daa8tbnz w3, 0, 0x18dab0
    0018daacb 0x18dac4
    0018dab0
    0018dab0loc_18dab0:
    0018dab0ldr x3, [sp+56]
    0018dab4sub x3, x3, 1
    0018dab8str x3, [sp+56]
    0018dabcb 0x18dac0
    0018dac0
    0018dac0loc_18dac0:
    0018dac0b 0x18da58
    0018dac4
    0018dac4loc_18dac4:
    0018dac4ldr x3, [sp+56]
    0018dac8ldr x4, [sp+64]
    0018daccsubs xzr, x3, x4
    0018dad0b.lt 0x18dad8
    0018dad4b 0x18db14
    0018dad8
    0018dad8loc_18dad8:
    0018dad8ldr x1, [sp+56]
    0018dadcldr x2, [sp+104]
    0018dae0ldr x3, [sp+88]
    0018dae4ldrsb x27, [x3]
    0018dae8ldr x3, [x3+40]
    0018daecldr x0, [sp+96]
    0018daf0blr x3
    0018daf4ldr x3, [sp+56]
    0018daf8str x3, [sp+48]
    0018dafcorr x1, xzr, 1
    0018db00strb w1, [sp+45]
    0018db04ldr x0, [sp+48]
    0018db08ldur x29, [sp-8]
    0018db0cldr x30, [sp], 80
    0018db10ret x30
    0018db14
    0018db14loc_18db14:
    0018db14ldr x1, [sp+64]
    0018db18ldr x2, [sp+56]
    0018db1cldr x3, [sp+88]
    0018db20ldrsb x27, [x3]
    0018db24ldr x3, [x3+40]
    0018db28ldr x0, [sp+96]
    0018db2cblr x3
    0018db30ldr x3, [sp+64]
    0018db34add x3, x3, 1
    0018db38str x3, [sp+64]
    0018db3cldr x3, [sp+56]
    0018db40sub x3, x3, 1
    0018db44str x3, [sp+56]
    0018db48b 0x18db4c
    0018db4c
    0018db4cloc_18db4c:
    0018db4cb 0x18db50
    0018db50
    0018db50loc_18db50:
    0018db50b 0x18db54
    0018db54
    0018db54loc_18db54:
    0018db54ldr x3, [sp+56]
    0018db58ldr x4, [sp+64]
    0018db5csubs xzr, x3, x4
    0018db60cset x3, ge
    0018db64strb w3, [sp+47]
    0018db68b.ge 0x18db70
    0018db6cb 0x18db98
    0018db70
    0018db70loc_18db70:
    0018db70ldr x3, [sp+88]
    0018db74ldrsb x27, [x3]
    0018db78ldr x1, [sp+64]
    0018db7cldr x2, [sp+104]
    0018db80ldr x0, [sp+96]
    0018db84ldr x3, [x3+32]
    0018db88blr x3
    0018db8cstrb w0, [sp+46]
    0018db90strb w0, [sp+47]
    0018db94b 0x18db9c
    0018db98
    0018db98loc_18db98:
    0018db98b 0x18db9c
    0018db9c
    0018db9cloc_18db9c:
    0018db9cldrb w3, [sp+47]
    0018dba0tbnz w3, 0, 0x18dba8
    0018dba4b 0x18dbbc
    0018dba8
    0018dba8loc_18dba8:
    0018dba8ldr x3, [sp+64]
    0018dbacadd x3, x3, 1
    0018dbb0str x3, [sp+64]
    0018dbb4b 0x18dbb8
    0018dbb8
    0018dbb8loc_18dbb8:
    0018dbb8b 0x18db54
    0018dbbc
    0018dbbcloc_18dbbc:
    0018dbbcb 0x18dbc0
    0018dbc0
    0018dbc0loc_18dbc0:
    0018dbc0ldr x3, [sp+56]
    0018dbc4ldr x4, [sp+64]
    0018dbc8subs xzr, x3, x4
    0018dbcccset x3, ge
    0018dbd0strb w3, [sp+47]
    0018dbd4b.ge 0x18dbdc
    0018dbd8b 0x18dc08
    0018dbdc
    0018dbdcloc_18dbdc:
    0018dbdcldr x3, [sp+88]
    0018dbe0ldrsb x27, [x3]
    0018dbe4ldr x1, [sp+56]
    0018dbe8ldr x2, [sp+104]
    0018dbecldr x0, [sp+96]
    0018dbf0ldr x3, [x3+32]
    0018dbf4blr x3
    0018dbf8strb w0, [sp+46]
    0018dbfceor x3, x0, 1
    0018dc00strb w3, [sp+47]
    0018dc04b 0x18dc0c
    0018dc08
    0018dc08loc_18dc08:
    0018dc08b 0x18dc0c
    0018dc0c
    0018dc0cloc_18dc0c:
    0018dc0cldrb w3, [sp+47]
    0018dc10tbnz w3, 0, 0x18dc18
    0018dc14b 0x18dc2c
    0018dc18
    0018dc18loc_18dc18:
    0018dc18ldr x3, [sp+56]
    0018dc1csub x3, x3, 1
    0018dc20str x3, [sp+56]
    0018dc24b 0x18dc28
    0018dc28
    0018dc28loc_18dc28:
    0018dc28b 0x18dbc0
    0018dc2c
    0018dc2cloc_18dc2c:
    0018dc2cldr x3, [sp+56]
    0018dc30ldr x4, [sp+64]
    0018dc34subs xzr, x3, x4
    0018dc38b.lt 0x18dc40
    0018dc3cb 0x18dc80
    0018dc40
    0018dc40loc_18dc40:
    0018dc40b 0x18dc44
    0018dc44
    0018dc44loc_18dc44:
    0018dc44ldr x1, [sp+56]
    0018dc48ldr x2, [sp+104]
    0018dc4cldr x3, [sp+88]
    0018dc50ldrsb x27, [x3]
    0018dc54ldr x3, [x3+40]
    0018dc58ldr x0, [sp+96]
    0018dc5cblr x3
    0018dc60ldr x3, [sp+56]
    0018dc64str x3, [sp+48]
    0018dc68strb wzr, [sp+45]
    0018dc6cldr x0, [sp+48]
    0018dc70mov x1, xzr
    0018dc74ldur x29, [sp-8]
    0018dc78ldr x30, [sp], 80
    0018dc7cret x30
    0018dc80
    0018dc80loc_18dc80:
    0018dc80ldr x1, [sp+64]
    0018dc84ldr x2, [sp+56]
    0018dc88ldr x3, [sp+88]
    0018dc8cldrsb x27, [x3]
    0018dc90ldr x3, [x3+40]
    0018dc94ldr x0, [sp+96]
    0018dc98blr x3
    0018dc9cldr x3, [sp+64]
    0018dca0add x3, x3, 1
    0018dca4str x3, [sp+64]
    0018dca8ldr x3, [sp+56]
    0018dcacsub x3, x3, 1
    0018dcb0str x3, [sp+56]
    0018dcb4b 0x18dcb8
    0018dcb8
    0018dcb8loc_18dcb8:
    0018dcb8b 0x18db4c
    0018dcbc
    0018dcbcloc_18dcbc:
    0018dcbcstp x0, x1, [sp+8]
    0018dcc0stp x2, x3, [sp+24]
    0018dcc4str x4, [sp+40]
    0018dcc8mov x3, x30
    0018dcccbl runtime.morestack_noctxt.abi0
    0018dcd0ldp x0, x1, [sp+8]
    0018dcd4ldp x2, x3, [sp+24]
    0018dcd8ldr x4, [sp+40]
    0018dcdcb 0x18d980
    0018d980
    0018dce0
    0018dce0sort.partitionEqual: ; void sort.partitionEqual(sort.Interface data, int a, int b, int pivot)
    0018dce0ldr x16, [x28+16]
    0018dce4subs xzr, sp, x16
    0018dce8b.ls 0x18de90
    0018dcecstr x30, [sp-80]!
    0018dcf0stur x29, [sp-8]
    0018dcf4sub x29, sp, 8
    0018dcf8str x0, [sp+88]
    0018dcfcstr x1, [sp+96]
    0018dd00str x2, [sp+104]
    0018dd04str x3, [sp+112]
    0018dd08str x4, [sp+120]
    0018dd0cstr xzr, [sp+48]
    0018dd10ldr x3, [sp+88]
    0018dd14ldrsb x27, [x3]
    0018dd18ldr x3, [x3+40]
    0018dd1cldr x0, [sp+96]
    0018dd20mov x1, x2
    0018dd24mov x2, x4
    0018dd28blr x3
    0018dd2cldr x3, [sp+104]
    0018dd30add x3, x3, 1
    0018dd34str x3, [sp+64]
    0018dd38ldr x3, [sp+112]
    0018dd3csub x3, x3, 1
    0018dd40str x3, [sp+56]
    0018dd44b 0x18dd48
    0018dd48
    0018dd48loc_18dd48:
    0018dd48b 0x18dd4c
    0018dd4c
    0018dd4cloc_18dd4c:
    0018dd4cb 0x18dd50
    0018dd50
    0018dd50loc_18dd50:
    0018dd50ldr x3, [sp+56]
    0018dd54ldr x4, [sp+64]
    0018dd58subs xzr, x3, x4
    0018dd5ccset x3, ge
    0018dd60strb w3, [sp+47]
    0018dd64b.ge 0x18dd6c
    0018dd68b 0x18dd98
    0018dd6c
    0018dd6cloc_18dd6c:
    0018dd6cldr x3, [sp+88]
    0018dd70ldrsb x27, [x3]
    0018dd74ldr x1, [sp+104]
    0018dd78ldr x2, [sp+64]
    0018dd7cldr x0, [sp+96]
    0018dd80ldr x3, [x3+32]
    0018dd84blr x3
    0018dd88strb w0, [sp+46]
    0018dd8ceor x3, x0, 1
    0018dd90strb w3, [sp+47]
    0018dd94b 0x18dd9c
    0018dd98
    0018dd98loc_18dd98:
    0018dd98b 0x18dd9c
    0018dd9c
    0018dd9cloc_18dd9c:
    0018dd9cldrb w3, [sp+47]
    0018dda0tbnz w3, 0, 0x18dda8
    0018dda4b 0x18ddbc
    0018dda8
    0018dda8loc_18dda8:
    0018dda8ldr x3, [sp+64]
    0018ddacadd x3, x3, 1
    0018ddb0str x3, [sp+64]
    0018ddb4b 0x18ddb8
    0018ddb8
    0018ddb8loc_18ddb8:
    0018ddb8b 0x18dd50
    0018ddbc
    0018ddbcloc_18ddbc:
    0018ddbcb 0x18ddc0
    0018ddc0
    0018ddc0loc_18ddc0:
    0018ddc0ldr x3, [sp+56]
    0018ddc4ldr x4, [sp+64]
    0018ddc8subs xzr, x3, x4
    0018ddcccset x3, ge
    0018ddd0strb w3, [sp+47]
    0018ddd4b.ge 0x18dddc
    0018ddd8b 0x18de04
    0018dddc
    0018dddcloc_18dddc:
    0018dddcldr x3, [sp+88]
    0018dde0ldrsb x27, [x3]
    0018dde4ldr x1, [sp+104]
    0018dde8ldr x2, [sp+56]
    0018ddecldr x0, [sp+96]
    0018ddf0ldr x3, [x3+32]
    0018ddf4blr x3
    0018ddf8strb w0, [sp+46]
    0018ddfcstrb w0, [sp+47]
    0018de00b 0x18de08
    0018de04
    0018de04loc_18de04:
    0018de04b 0x18de08
    0018de08
    0018de08loc_18de08:
    0018de08ldrb w3, [sp+47]
    0018de0ctbnz w3, 0, 0x18de14
    0018de10b 0x18de28
    0018de14
    0018de14loc_18de14:
    0018de14ldr x3, [sp+56]
    0018de18sub x3, x3, 1
    0018de1cstr x3, [sp+56]
    0018de20b 0x18de24
    0018de24
    0018de24loc_18de24:
    0018de24b 0x18ddc0
    0018de28
    0018de28loc_18de28:
    0018de28ldr x3, [sp+56]
    0018de2cldr x4, [sp+64]
    0018de30subs xzr, x3, x4
    0018de34b.lt 0x18de3c
    0018de38b 0x18de54
    0018de3c
    0018de3cloc_18de3c:
    0018de3cb 0x18de40
    0018de40
    0018de40loc_18de40:
    0018de40ldr x0, [sp+64]
    0018de44str x0, [sp+48]
    0018de48ldur x29, [sp-8]
    0018de4cldr x30, [sp], 80
    0018de50ret x30
    0018de54
    0018de54loc_18de54:
    0018de54ldr x1, [sp+64]
    0018de58ldr x2, [sp+56]
    0018de5cldr x3, [sp+88]
    0018de60ldrsb x27, [x3]
    0018de64ldr x3, [x3+40]
    0018de68ldr x0, [sp+96]
    0018de6cblr x3
    0018de70ldr x3, [sp+64]
    0018de74add x3, x3, 1
    0018de78str x3, [sp+64]
    0018de7cldr x3, [sp+56]
    0018de80sub x3, x3, 1
    0018de84str x3, [sp+56]
    0018de88b 0x18de8c
    0018de8c
    0018de8cloc_18de8c:
    0018de8cb 0x18dd48
    0018de90
    0018de90loc_18de90:
    0018de90stp x0, x1, [sp+8]
    0018de94stp x2, x3, [sp+24]
    0018de98str x4, [sp+40]
    0018de9cmov x3, x30
    0018dea0bl runtime.morestack_noctxt.abi0
    0018dea4ldp x0, x1, [sp+8]
    0018dea8ldp x2, x3, [sp+24]
    0018deacldr x4, [sp+40]
    0018deb0b 0x18dce0
    0018deb4udf 0
    0018deb8udf 0
    0018debcudf 0
    0018dce0
    0018dec0
    0018dec0sort.partialInsertionSort: ; void sort.partialInsertionSort(sort.Interface data, int a, int b)
    0018dec0ldr x16, [x28+16]
    0018dec4subs xzr, sp, x16
    0018dec8b.ls 0x18e174
    0018deccstr x30, [sp-80]!
    0018ded0stur x29, [sp-8]
    0018ded4sub x29, sp, 8
    0018ded8str x0, [sp+88]
    0018dedcstr x1, [sp+96]
    0018dee0str x2, [sp+104]
    0018dee4str x3, [sp+112]
    0018dee8strb wzr, [sp+37]
    0018deecldr x3, [sp+104]
    0018def0add x3, x3, 1
    0018def4str x3, [sp+64]
    0018def8str xzr, [sp+56]
    0018defcb 0x18df00
    0018df00
    0018df00loc_18df00:
    0018df00ldr x3, [sp+56]
    0018df04subs xzr, x3, 5
    0018df08b.lt 0x18df10
    0018df0cb 0x18df14
    0018df10
    0018df10loc_18df10:
    0018df10b 0x18df28
    0018df14
    0018df14loc_18df14:
    0018df14strb wzr, [sp+37]
    0018df18mov x0, xzr
    0018df1cldur x29, [sp-8]
    0018df20ldr x30, [sp], 80
    0018df24ret x30
    0018df28
    0018df28loc_18df28:
    0018df28ldr x3, [sp+112]
    0018df2cldr x4, [sp+64]
    0018df30subs xzr, x3, x4
    0018df34cset x3, gt
    0018df38strb w3, [sp+39]
    0018df3cb.gt 0x18df44
    0018df40b 0x18df74
    0018df44
    0018df44loc_18df44:
    0018df44ldr x3, [sp+88]
    0018df48ldrsb x27, [x3]
    0018df4cldr x1, [sp+64]
    0018df50ldr x0, [sp+96]
    0018df54ldr x3, [x3+32]
    0018df58ldr x4, [sp+64]
    0018df5csub x2, x4, 1
    0018df60blr x3
    0018df64strb w0, [sp+38]
    0018df68eor x3, x0, 1
    0018df6cstrb w3, [sp+39]
    0018df70b 0x18df78
    0018df74
    0018df74loc_18df74:
    0018df74b 0x18df78
    0018df78
    0018df78loc_18df78:
    0018df78ldrb w3, [sp+39]
    0018df7ctbnz w3, 0, 0x18df84
    0018df80b 0x18df98
    0018df84
    0018df84loc_18df84:
    0018df84ldr x3, [sp+64]
    0018df88add x3, x3, 1
    0018df8cstr x3, [sp+64]
    0018df90b 0x18df94
    0018df94
    0018df94loc_18df94:
    0018df94b 0x18df28
    0018df98
    0018df98loc_18df98:
    0018df98ldr x3, [sp+112]
    0018df9cldr x4, [sp+64]
    0018dfa0subs xzr, x3, x4
    0018dfa4b.eq 0x18dfac
    0018dfa8b 0x18dfc0
    0018dfac
    0018dfacloc_18dfac:
    0018dfacorr x0, xzr, 1
    0018dfb0strb w0, [sp+37]
    0018dfb4ldur x29, [sp-8]
    0018dfb8ldr x30, [sp], 80
    0018dfbcret x30
    0018dfc0
    0018dfc0loc_18dfc0:
    0018dfc0ldr x3, [sp+104]
    0018dfc4ldr x4, [sp+112]
    0018dfc8sub x3, x4, x3
    0018dfccsubs xzr, x3, 50
    0018dfd0b.lt 0x18dfd8
    0018dfd4b 0x18dfec
    0018dfd8
    0018dfd8loc_18dfd8:
    0018dfd8strb wzr, [sp+37]
    0018dfdcmov x0, xzr
    0018dfe0ldur x29, [sp-8]
    0018dfe4ldr x30, [sp], 80
    0018dfe8ret x30
    0018dfec
    0018dfecloc_18dfec:
    0018dfecldr x1, [sp+64]
    0018dff0ldr x3, [sp+88]
    0018dff4ldrsb x27, [x3]
    0018dff8ldr x3, [x3+40]
    0018dffcldr x0, [sp+96]
    0018e000ldr x4, [sp+64]
    0018e004sub x2, x4, 1
    0018e008blr x3
    0018e00cldr x3, [sp+104]
    0018e010ldr x4, [sp+64]
    0018e014sub x3, x4, x3
    0018e018subs xzr, x3, 2
    0018e01cb.ge 0x18e024
    0018e020b 0x18e034
    0018e024
    0018e024loc_18e024:
    0018e024ldr x3, [sp+64]
    0018e028sub x3, x3, 1
    0018e02cstr x3, [sp+48]
    0018e030b 0x18e0f8
    0018e034
    0018e034loc_18e034:
    0018e034b 0x18e038
    0018e038
    0018e038loc_18e038:
    0018e038ldr x3, [sp+64]
    0018e03cldr x4, [sp+112]
    0018e040sub x3, x4, x3
    0018e044subs xzr, x3, 2
    0018e048b.ge 0x18e050
    0018e04cb 0x18e060
    0018e050
    0018e050loc_18e050:
    0018e050ldr x3, [sp+64]
    0018e054add x3, x3, 1
    0018e058str x3, [sp+40]
    0018e05cb 0x18e078
    0018e060
    0018e060loc_18e060:
    0018e060b 0x18e064
    0018e064
    0018e064loc_18e064:
    0018e064b 0x18e068
    0018e068
    0018e068loc_18e068:
    0018e068ldr x3, [sp+56]
    0018e06cadd x3, x3, 1
    0018e070str x3, [sp+56]
    0018e074b 0x18df00
    0018e078
    0018e078loc_18e078:
    0018e078ldr x3, [sp+112]
    0018e07cldr x4, [sp+40]
    0018e080subs xzr, x3, x4
    0018e084b.gt 0x18e08c
    0018e088b 0x18e0f0
    0018e08c
    0018e08cloc_18e08c:
    0018e08cldr x1, [sp+40]
    0018e090ldr x3, [sp+88]
    0018e094ldrsb x27, [x3]
    0018e098ldr x3, [x3+32]
    0018e09cldr x0, [sp+96]
    0018e0a0ldr x4, [sp+40]
    0018e0a4sub x2, x4, 1
    0018e0a8blr x3
    0018e0acstrb w0, [sp+39]
    0018e0b0tbnz w0, 0, 0x18e0b8
    0018e0b4b 0x18e0ec
    0018e0b8
    0018e0b8loc_18e0b8:
    0018e0b8ldr x1, [sp+40]
    0018e0bcldr x3, [sp+88]
    0018e0c0ldrsb x27, [x3]
    0018e0c4ldr x3, [x3+40]
    0018e0c8ldr x0, [sp+96]
    0018e0ccldr x4, [sp+40]
    0018e0d0sub x2, x4, 1
    0018e0d4blr x3
    0018e0d8b 0x18e0dc
    0018e0dc
    0018e0dcloc_18e0dc:
    0018e0dcldr x3, [sp+40]
    0018e0e0add x3, x3, 1
    0018e0e4str x3, [sp+40]
    0018e0e8b 0x18e078
    0018e0ec
    0018e0ecloc_18e0ec:
    0018e0ecb 0x18e0f4
    0018e0f0
    0018e0f0loc_18e0f0:
    0018e0f0b 0x18e0f4
    0018e0f4
    0018e0f4loc_18e0f4:
    0018e0f4b 0x18e064
    0018e0f8
    0018e0f8loc_18e0f8:
    0018e0f8ldr x3, [sp+48]
    0018e0fcsubs xzr, x3, 0
    0018e100b.gt 0x18e108
    0018e104b 0x18e16c
    0018e108
    0018e108loc_18e108:
    0018e108ldr x1, [sp+48]
    0018e10cldr x3, [sp+88]
    0018e110ldrsb x27, [x3]
    0018e114ldr x3, [x3+32]
    0018e118ldr x0, [sp+96]
    0018e11cldr x4, [sp+48]
    0018e120sub x2, x4, 1
    0018e124blr x3
    0018e128strb w0, [sp+39]
    0018e12ctbnz w0, 0, 0x18e134
    0018e130b 0x18e168
    0018e134
    0018e134loc_18e134:
    0018e134ldr x1, [sp+48]
    0018e138ldr x3, [sp+88]
    0018e13cldrsb x27, [x3]
    0018e140ldr x3, [x3+40]
    0018e144ldr x0, [sp+96]
    0018e148ldr x4, [sp+48]
    0018e14csub x2, x4, 1
    0018e150blr x3
    0018e154b 0x18e158
    0018e158
    0018e158loc_18e158:
    0018e158ldr x3, [sp+48]
    0018e15csub x3, x3, 1
    0018e160str x3, [sp+48]
    0018e164b 0x18e0f8
    0018e168
    0018e168loc_18e168:
    0018e168b 0x18e170
    0018e16c
    0018e16cloc_18e16c:
    0018e16cb 0x18e170
    0018e170
    0018e170loc_18e170:
    0018e170b 0x18e038
    0018e174
    0018e174loc_18e174:
    0018e174stp x0, x1, [sp+8]
    0018e178stp x2, x3, [sp+24]
    0018e17cmov x3, x30
    0018e180bl runtime.morestack_noctxt.abi0
    0018e184ldp x0, x1, [sp+8]
    0018e188ldp x2, x3, [sp+24]
    0018e18cb 0x18dec0
    0018dec0
    0018e190
    0018e190sort.breakPatterns: ; void sort.breakPatterns(sort.Interface data, int a, int b)
    0018e190ldr x16, [x28+16]
    0018e194subs xzr, sp, x16
    0018e198b.ls 0x18e2bc
    0018e19cstr x30, [sp-96]!
    0018e1a0stur x29, [sp-8]
    0018e1a4sub x29, sp, 8
    0018e1a8str x0, [sp+104]
    0018e1acstr x1, [sp+112]
    0018e1b0str x2, [sp+120]
    0018e1b4str x3, [sp+128]
    0018e1b8sub x0, x3, x2
    0018e1bcstr x0, [sp+64]
    0018e1c0subs xzr, x0, 8
    0018e1c4b.ge 0x18e1cc
    0018e1c8b 0x18e1fc
    0018e1cc
    0018e1ccloc_18e1cc:
    0018e1ccstr x0, [sp+40]
    0018e1d0bl sort.nextPowerOfTwo
    0018e1d4str x0, [sp+56]
    0018e1d8ldr x1, [sp+120]
    0018e1dcldr x2, [sp+64]
    0018e1e0sbfm x3, x2, 63, 63
    0018e1e4add x2, x2, x3, lsr #62
    0018e1e8sbfm x2, x2, 2, 63
    0018e1ecadd x1, x1, x2, lsl #1
    0018e1f0sub x1, x1, 1
    0018e1f4str x1, [sp+72]
    0018e1f8b 0x18e20c
    0018e1fc
    0018e1fcloc_18e1fc:
    0018e1fcb 0x18e200
    0018e200
    0018e200loc_18e200:
    0018e200ldur x29, [sp-8]
    0018e204ldr x30, [sp], 96
    0018e208ret x30
    0018e20c
    0018e20cloc_18e20c:
    0018e20cldr x1, [sp+72]
    0018e210ldr x2, [sp+120]
    0018e214ldr x3, [sp+64]
    0018e218sbfm x4, x3, 63, 63
    0018e21cadd x3, x3, x4, lsr #62
    0018e220sbfm x3, x3, 2, 63
    0018e224add x2, x2, x3, lsl #1
    0018e228add x2, x2, 1
    0018e22csubs xzr, x1, x2
    0018e230b.le 0x18e238
    0018e234b 0x18e2b8
    0018e238
    0018e238loc_18e238:
    0018e238add x0, sp, 40
    0018e23cbl sort.(*xorshift).Next
    0018e240str x0, [sp+80]
    0018e244ldr x1, [sp+56]
    0018e248sub x1, x1, 1
    0018e24cand x1, x0, x1
    0018e250str x1, [sp+48]
    0018e254ldr x1, [sp+64]
    0018e258ldr x2, [sp+48]
    0018e25csubs xzr, x1, x2
    0018e260b.le 0x18e268
    0018e264b 0x18e27c
    0018e268
    0018e268loc_18e268:
    0018e268ldr x3, [sp+64]
    0018e26cldr x4, [sp+48]
    0018e270sub x3, x4, x3
    0018e274str x3, [sp+48]
    0018e278b 0x18e280
    0018e27c
    0018e27cloc_18e27c:
    0018e27cb 0x18e280
    0018e280
    0018e280loc_18e280:
    0018e280ldr x1, [sp+72]
    0018e284ldr x3, [sp+104]
    0018e288ldrsb x27, [x3]
    0018e28cldr x3, [x3+40]
    0018e290ldr x0, [sp+112]
    0018e294ldr x4, [sp+120]
    0018e298ldr x5, [sp+48]
    0018e29cadd x2, x4, x5
    0018e2a0blr x3
    0018e2a4b 0x18e2a8
    0018e2a8
    0018e2a8loc_18e2a8:
    0018e2a8ldr x1, [sp+72]
    0018e2acadd x1, x1, 1
    0018e2b0str x1, [sp+72]
    0018e2b4b 0x18e20c
    0018e2b8
    0018e2b8loc_18e2b8:
    0018e2b8b 0x18e200
    0018e2bc
    0018e2bcloc_18e2bc:
    0018e2bcstp x0, x1, [sp+8]
    0018e2c0stp x2, x3, [sp+24]
    0018e2c4mov x3, x30
    0018e2c8bl runtime.morestack_noctxt.abi0
    0018e2ccldp x0, x1, [sp+8]
    0018e2d0ldp x2, x3, [sp+24]
    0018e2d4b 0x18e190
    0018e2d8udf 0
    0018e2dcudf 0
    0018e190
    0018e2e0
    0018e2e0sort.choosePivot: ; void sort.choosePivot(sort.Interface data, int a, int b)
    0018e2e0ldr x16, [x28+16]
    0018e2e4subs xzr, sp, x16
    0018e2e8b.ls 0x18e478
    0018e2ecstr x30, [sp-128]!
    0018e2f0stur x29, [sp-8]
    0018e2f4sub x29, sp, 8
    0018e2f8str x0, [sp+136]
    0018e2fcstr x1, [sp+144]
    0018e300str x2, [sp+152]
    0018e304str x3, [sp+160]
    0018e308str xzr, [sp+64]
    0018e30cstr xzr, [sp+104]
    0018e310sub x6, x3, x2
    0018e314str x6, [sp+72]
    0018e318str xzr, [sp+56]
    0018e31cldr x7, [sp+152]
    0018e320sbfm x8, x6, 63, 63
    0018e324add x8, x6, x8, lsr #62
    0018e328add x2, x7, x8, asr #2
    0018e32cstr x2, [sp+96]
    0018e330ldr x7, [sp+152]
    0018e334sbfm x8, x6, 63, 63
    0018e338add x8, x6, x8, lsr #62
    0018e33csbfm x8, x8, 2, 63
    0018e340add x7, x7, x8, lsl #1
    0018e344str x7, [sp+88]
    0018e348ldr x7, [sp+152]
    0018e34csbfm x8, x6, 63, 63
    0018e350add x6, x6, x8, lsr #62
    0018e354sbfm x6, x6, 2, 63
    0018e358add x6, x6, x6, lsl #1
    0018e35cadd x6, x7, x6
    0018e360str x6, [sp+80]
    0018e364ldr x6, [sp+72]
    0018e368subs xzr, x6, 8
    0018e36cb.ge 0x18e374
    0018e370b 0x18e3f4
    0018e374
    0018e374loc_18e374:
    0018e374ldr x6, [sp+72]
    0018e378subs xzr, x6, 50
    0018e37cb.ge 0x18e384
    0018e380b 0x18e3cc
    0018e384
    0018e384loc_18e384:
    0018e384ldr x0, [sp+136]
    0018e388ldr x1, [sp+144]
    0018e38cadd x3, sp, 56
    0018e390bl sort.medianAdjacent
    0018e394str x0, [sp+96]
    0018e398ldr x2, [sp+88]
    0018e39cldr x0, [sp+136]
    0018e3a0ldr x1, [sp+144]
    0018e3a4add x3, sp, 56
    0018e3a8bl sort.medianAdjacent
    0018e3acstr x0, [sp+88]
    0018e3b0ldr x2, [sp+80]
    0018e3b4ldr x0, [sp+136]
    0018e3b8ldr x1, [sp+144]
    0018e3bcadd x3, sp, 56
    0018e3c0bl sort.medianAdjacent
    0018e3c4str x0, [sp+80]
    0018e3c8b 0x18e3d0
    0018e3cc
    0018e3ccloc_18e3cc:
    0018e3ccb 0x18e3d0
    0018e3d0
    0018e3d0loc_18e3d0:
    0018e3d0ldr x3, [sp+88]
    0018e3d4ldr x4, [sp+80]
    0018e3d8ldr x2, [sp+96]
    0018e3dcldr x0, [sp+136]
    0018e3e0ldr x1, [sp+144]
    0018e3e4add x5, sp, 56
    0018e3e8bl sort.median
    0018e3ecstr x0, [sp+88]
    0018e3f0b 0x18e3f8
    0018e3f4
    0018e3f4loc_18e3f4:
    0018e3f4b 0x18e3f8
    0018e3f8
    0018e3f8loc_18e3f8:
    0018e3f8ldr x2, [sp+56]
    0018e3fcstr x2, [sp+112]
    0018e400cbz x2, 0x18e408
    0018e404b 0x18e428
    0018e408
    0018e408loc_18e408:
    0018e408b 0x18e40c
    0018e40c
    0018e40cloc_18e40c:
    0018e40cldr x0, [sp+88]
    0018e410str x0, [sp+64]
    0018e414orr x1, xzr, 1
    0018e418str x1, [sp+104]
    0018e41cldur x29, [sp-8]
    0018e420ldr x30, [sp], 128
    0018e424ret x30
    0018e428
    0018e428loc_18e428:
    0018e428subs xzr, x2, 12
    0018e42cb.eq 0x18e434
    0018e430b 0x18e454
    0018e434
    0018e434loc_18e434:
    0018e434b 0x18e438
    0018e438
    0018e438loc_18e438:
    0018e438ldr x0, [sp+88]
    0018e43cstr x0, [sp+64]
    0018e440orr x1, xzr, 2
    0018e444str x1, [sp+104]
    0018e448ldur x29, [sp-8]
    0018e44cldr x30, [sp], 128
    0018e450ret x30
    0018e454
    0018e454loc_18e454:
    0018e454b 0x18e458
    0018e458
    0018e458loc_18e458:
    0018e458b 0x18e45c
    0018e45c
    0018e45cloc_18e45c:
    0018e45cldr x0, [sp+88]
    0018e460str x0, [sp+64]
    0018e464str xzr, [sp+104]
    0018e468mov x1, xzr
    0018e46cldur x29, [sp-8]
    0018e470ldr x30, [sp], 128
    0018e474ret x30
    0018e478
    0018e478loc_18e478:
    0018e478stp x0, x1, [sp+8]
    0018e47cstp x2, x3, [sp+24]
    0018e480mov x3, x30
    0018e484bl runtime.morestack_noctxt.abi0
    0018e488ldp x0, x1, [sp+8]
    0018e48cldp x2, x3, [sp+24]
    0018e490b 0x18e2e0
    0018e494udf 0
    0018e498udf 0
    0018e49cudf 0
    0018e2e0
    0018e4a0
    0018e4a0sort.order2: ; void sort.order2(sort.Interface data, int a, int b, int * swaps)
    0018e4a0ldr x16, [x28+16]
    0018e4a4subs xzr, sp, x16
    0018e4a8b.ls 0x18e550
    0018e4acstr x30, [sp-64]!
    0018e4b0stur x29, [sp-8]
    0018e4b4sub x29, sp, 8
    0018e4b8str x0, [sp+72]
    0018e4bcstr x1, [sp+80]
    0018e4c0str x2, [sp+88]
    0018e4c4str x3, [sp+96]
    0018e4c8str x4, [sp+104]
    0018e4ccstr xzr, [sp+48]
    0018e4d0str xzr, [sp+40]
    0018e4d4ldr x2, [sp+88]
    0018e4d8ldr x4, [sp+72]
    0018e4dcldrsb x27, [x4]
    0018e4e0ldr x4, [x4+32]
    0018e4e4ldr x0, [sp+80]
    0018e4e8mov x1, x3
    0018e4ecblr x4
    0018e4f0strb w0, [sp+39]
    0018e4f4tbnz w0, 0, 0x18e4fc
    0018e4f8b 0x18e534
    0018e4fc
    0018e4fcloc_18e4fc:
    0018e4fcldr x2, [sp+104]
    0018e500ldrsb x27, [x2]
    0018e504ldr x3, [sp+104]
    0018e508ldrsb x27, [x3]
    0018e50cldr x3, [x3]
    0018e510add x3, x3, 1
    0018e514str x3, [x2]
    0018e518ldr x0, [sp+96]
    0018e51cstr x0, [sp+48]
    0018e520ldr x1, [sp+88]
    0018e524str x1, [sp+40]
    0018e528ldur x29, [sp-8]
    0018e52cldr x30, [sp], 64
    0018e530ret x30
    0018e534
    0018e534loc_18e534:
    0018e534ldr x0, [sp+88]
    0018e538str x0, [sp+48]
    0018e53cldr x1, [sp+96]
    0018e540str x1, [sp+40]
    0018e544ldur x29, [sp-8]
    0018e548ldr x30, [sp], 64
    0018e54cret x30
    0018e550
    0018e550loc_18e550:
    0018e550stp x0, x1, [sp+8]
    0018e554stp x2, x3, [sp+24]
    0018e558str x4, [sp+40]
    0018e55cmov x3, x30
    0018e560bl runtime.morestack_noctxt.abi0
    0018e564ldp x0, x1, [sp+8]
    0018e568ldp x2, x3, [sp+24]
    0018e56cldr x4, [sp+40]
    0018e570b 0x18e4a0
    0018e574udf 0
    0018e578udf 0
    0018e57cudf 0
    0018e4a0
    0018e580
    0018e580sort.median: ; void sort.median(sort.Interface data, int a, int b, int c, int * swaps)
    0018e580ldr x16, [x28+16]
    0018e584subs xzr, sp, x16
    0018e588b.ls 0x18e65c
    0018e58cstr x30, [sp-128]!
    0018e590stur x29, [sp-8]
    0018e594sub x29, sp, 8
    0018e598str x0, [sp+136]
    0018e59cstr x1, [sp+144]
    0018e5a0str x2, [sp+152]
    0018e5a4str x3, [sp+160]
    0018e5a8str x4, [sp+168]
    0018e5acstr x5, [sp+176]
    0018e5b0str xzr, [sp+48]
    0018e5b4ldr x2, [sp+152]
    0018e5b8ldr x0, [sp+136]
    0018e5bcldr x1, [sp+144]
    0018e5c0mov x4, x5
    0018e5c4bl sort.order2
    0018e5c8str x0, [sp+96]
    0018e5ccstr x1, [sp+88]
    0018e5d0str x0, [sp+80]
    0018e5d4str x1, [sp+72]
    0018e5d8str x0, [sp+152]
    0018e5dcstr x1, [sp+160]
    0018e5e0ldr x4, [sp+176]
    0018e5e4ldr x3, [sp+168]
    0018e5e8ldr x0, [sp+136]
    0018e5ecldr x5, [sp+144]
    0018e5f0mov x2, x1
    0018e5f4mov x1, x5
    0018e5f8bl sort.order2
    0018e5fcstr x0, [sp+88]
    0018e600str x1, [sp+96]
    0018e604str x0, [sp+64]
    0018e608str x1, [sp+56]
    0018e60cstr x0, [sp+160]
    0018e610str x1, [sp+168]
    0018e614ldr x4, [sp+176]
    0018e618ldr x2, [sp+152]
    0018e61cldr x5, [sp+136]
    0018e620ldr x1, [sp+144]
    0018e624mov x3, x0
    0018e628mov x0, x5
    0018e62cbl sort.order2
    0018e630str x0, [sp+96]
    0018e634str x1, [sp+88]
    0018e638str x0, [sp+112]
    0018e63cstr x1, [sp+104]
    0018e640str x0, [sp+152]
    0018e644str x1, [sp+160]
    0018e648str x1, [sp+48]
    0018e64cmov x0, x1
    0018e650ldur x29, [sp-8]
    0018e654ldr x30, [sp], 128
    0018e658ret x30
    0018e65c
    0018e65cloc_18e65c:
    0018e65cstp x0, x1, [sp+8]
    0018e660stp x2, x3, [sp+24]
    0018e664stp x4, x5, [sp+40]
    0018e668mov x3, x30
    0018e66cbl runtime.morestack_noctxt.abi0
    0018e670ldp x0, x1, [sp+8]
    0018e674ldp x2, x3, [sp+24]
    0018e678ldp x4, x5, [sp+40]
    0018e67cb 0x18e580
    0018e580
    0018e680
    0018e680sort.medianAdjacent: ; void sort.medianAdjacent(sort.Interface data, int a, int * swaps)
    0018e680ldr x16, [x28+16]
    0018e684subs xzr, sp, x16
    0018e688b.ls 0x18e6dc
    0018e68cstr x30, [sp-80]!
    0018e690stur x29, [sp-8]
    0018e694sub x29, sp, 8
    0018e698str x0, [sp+88]
    0018e69cstr x1, [sp+96]
    0018e6a0str x2, [sp+104]
    0018e6a4str x3, [sp+112]
    0018e6a8str xzr, [sp+56]
    0018e6acldr x0, [sp+88]
    0018e6b0sub x6, x2, 1
    0018e6b4add x4, x2, 1
    0018e6b8mov x5, x3
    0018e6bcmov x3, x2
    0018e6c0mov x2, x6
    0018e6c4bl sort.median
    0018e6c8str x0, [sp+64]
    0018e6ccstr x0, [sp+56]
    0018e6d0ldur x29, [sp-8]
    0018e6d4ldr x30, [sp], 80
    0018e6d8ret x30
    0018e6dc
    0018e6dcloc_18e6dc:
    0018e6dcstp x0, x1, [sp+8]
    0018e6e0stp x2, x3, [sp+24]
    0018e6e4mov x3, x30
    0018e6e8bl runtime.morestack_noctxt.abi0
    0018e6ecldp x0, x1, [sp+8]
    0018e6f0ldp x2, x3, [sp+24]
    0018e6f4b 0x18e680
    0018e6f8udf 0
    0018e6fcudf 0
    0018e680
    0018e700
    0018e700sort.reverseRange: ; void sort.reverseRange(sort.Interface data, int a, int b)
    0018e700ldr x16, [x28+16]
    0018e704subs xzr, sp, x16
    0018e708b.ls 0x18e794
    0018e70cstr x30, [sp-64]!
    0018e710stur x29, [sp-8]
    0018e714sub x29, sp, 8
    0018e718str x0, [sp+72]
    0018e71cstr x1, [sp+80]
    0018e720str x2, [sp+88]
    0018e724str x3, [sp+96]
    0018e728str x2, [sp+48]
    0018e72csub x3, x3, 1
    0018e730str x3, [sp+40]
    0018e734b 0x18e738
    0018e738
    0018e738loc_18e738:
    0018e738ldr x3, [sp+40]
    0018e73cldr x4, [sp+48]
    0018e740subs xzr, x3, x4
    0018e744b.gt 0x18e74c
    0018e748b 0x18e788
    0018e74c
    0018e74cloc_18e74c:
    0018e74cldr x1, [sp+48]
    0018e750ldr x2, [sp+40]
    0018e754ldr x3, [sp+72]
    0018e758ldrsb x27, [x3]
    0018e75cldr x3, [x3+40]
    0018e760ldr x0, [sp+80]
    0018e764blr x3
    0018e768ldr x3, [sp+48]
    0018e76cadd x3, x3, 1
    0018e770str x3, [sp+48]
    0018e774ldr x3, [sp+40]
    0018e778sub x3, x3, 1
    0018e77cstr x3, [sp+40]
    0018e780b 0x18e784
    0018e784
    0018e784loc_18e784:
    0018e784b 0x18e738
    0018e788
    0018e788loc_18e788:
    0018e788ldur x29, [sp-8]
    0018e78cldr x30, [sp], 64
    0018e790ret x30
    0018e794
    0018e794loc_18e794:
    0018e794stp x0, x1, [sp+8]
    0018e798stp x2, x3, [sp+24]
    0018e79cmov x3, x30
    0018e7a0bl runtime.morestack_noctxt.abi0
    0018e7a4ldp x0, x1, [sp+8]
    0018e7a8ldp x2, x3, [sp+24]
    0018e7acb 0x18e700
    0018e700
    0018e7b0
    0018e7b0slices.Sort[go.shape.[]string,go.shape.string]: ; void slices.Sort[go.shape.[]string,go.shape.string](uintptr[4] * dict, int64_t x)
    0018e7b0ldr x16, [x28+16]
    0018e7b4subs xzr, sp, x16
    0018e7b8b.ls 0x18e820
    0018e7bcstr x30, [sp-96]!
    0018e7c0stur x29, [sp-8]
    0018e7c4sub x29, sp, 8
    0018e7c8str x0, [sp+104]
    0018e7ccstr x1, [sp+112]
    0018e7d0str x2, [sp+120]
    0018e7d4str x3, [sp+128]
    0018e7d8str x2, [sp+64]
    0018e7dcclz x7, x2
    0018e7e0orr x8, xzr, 64
    0018e7e4sub x7, x8, x7
    0018e7e8str x7, [sp+72]
    0018e7ecldrsb x27, [x0]
    0018e7f0ldr x0, [x0]
    0018e7f4str x0, [sp+80]
    0018e7f8ldr x5, [sp+64]
    0018e7fcldr x6, [sp+72]
    0018e800ldr x1, [sp+112]
    0018e804ldr x2, [sp+120]
    0018e808ldr x3, [sp+128]
    0018e80cmov x4, xzr
    0018e810bl slices.pdqsortOrdered[go.shape.string]
    0018e814ldur x29, [sp-8]
    0018e818ldr x30, [sp], 96
    0018e81cret x30
    0018e820
    0018e820loc_18e820:
    0018e820stp x0, x1, [sp+8]
    0018e824stp x2, x3, [sp+24]
    0018e828mov x3, x30
    0018e82cbl runtime.morestack_noctxt.abi0
    0018e830ldp x0, x1, [sp+8]
    0018e834ldp x2, x3, [sp+24]
    0018e838b 0x18e7b0
    0018e83cudf 0
    0018e7b0
    0018e840
    0018e840google.golang.org/protobuf/internal/order.init.func1: ; void google.golang.org/protobuf/internal/order.init.func1(google.golang.org/protobuf/reflect/protoreflect.FieldDescriptor x, google.golang.org/protobuf/reflect/protoreflect.FieldDescriptor y)
    0018e840ldr x16, [x28+16]
    0018e844sub x17, sp, 16
    0018e848subs xzr, x17, x16
    0018e84cb.ls 0x18eb50
    0018e850str x30, [sp-144]!
    0018e854stur x29, [sp-8]
    0018e858sub x29, sp, 8
    0018e85cstr x0, [sp+152]
    0018e860str x1, [sp+160]
    0018e864str x2, [sp+168]
    0018e868str x3, [sp+176]
    0018e86cstrb wzr, [sp+35]
    0018e870ldr x1, [sp+152]
    0018e874ldrsb x27, [x1]
    0018e878ldr x1, [x1+40]
    0018e87cldr x0, [sp+160]
    0018e880blr x1
    0018e884str x0, [sp+120]
    0018e888str x1, [sp+128]
    0018e88cldr x0, [sp+176]
    0018e890ldr x1, [sp+168]
    0018e894ldrsb x27, [x1]
    0018e898ldr x1, [x1+40]
    0018e89cblr x1
    0018e8a0str x0, [sp+104]
    0018e8a4str x1, [sp+112]
    0018e8a8ldr x1, [sp+120]
    0018e8acldr x2, [sp+128]
    0018e8b0str x1, [sp+80]
    0018e8b4str x2, [sp+88]
    0018e8b8ldr x1, [sp+104]
    0018e8bcldr x2, [sp+112]
    0018e8c0str x1, [sp+64]
    0018e8c4str x2, [sp+72]
    0018e8c8adrp x1, 0x54b000
    0018e8ccadd x1, x1, 344
    0018e8d0str x1, [sp+96]
    0018e8d4ldr x1, [sp+152]
    0018e8d8ldrsb x27, [x1]
    0018e8dcldr x1, [x1+120]
    0018e8e0ldr x0, [sp+160]
    0018e8e4blr x1
    0018e8e8strb w0, [sp+37]
    0018e8ecldr x0, [sp+176]
    0018e8f0ldr x1, [sp+168]
    0018e8f4ldrsb x27, [x1]
    0018e8f8ldr x1, [x1+120]
    0018e8fcblr x1
    0018e900strb w0, [sp+36]
    0018e904ldrb w1, [sp+37]
    0018e908eor x1, x1, x0
    0018e90ctbnz w1, 0, 0x18e914
    0018e910b 0x18e974
    0018e914
    0018e914loc_18e914:
    0018e914ldr x1, [sp+152]
    0018e918ldrsb x27, [x1]
    0018e91cldr x1, [x1+120]
    0018e920ldr x0, [sp+160]
    0018e924blr x1
    0018e928strb w0, [sp+37]
    0018e92cstrb w0, [sp+36]
    0018e930tbnz w0, 0, 0x18e938
    0018e934b 0x18e95c
    0018e938
    0018e938loc_18e938:
    0018e938ldr x1, [sp+168]
    0018e93cldrsb x27, [x1]
    0018e940ldr x0, [sp+176]
    0018e944ldr x1, [x1+120]
    0018e948blr x1
    0018e94cstrb w0, [sp+39]
    0018e950eor x1, x0, 1
    0018e954strb w1, [sp+36]
    0018e958b 0x18e960
    0018e95c
    0018e95cloc_18e95c:
    0018e95cb 0x18e960
    0018e960
    0018e960loc_18e960:
    0018e960ldrb w0, [sp+36]
    0018e964strb w0, [sp+35]
    0018e968ldur x29, [sp-8]
    0018e96cldr x30, [sp], 144
    0018e970ret x30
    0018e974
    0018e974loc_18e974:
    0018e974ldr x0, [sp+80]
    0018e978ldr x1, [sp+88]
    0018e97cldr x26, [sp+96]
    0018e980ldr x2, [x26]
    0018e984blr x2
    0018e988strb w0, [sp+37]
    0018e98cldr x0, [sp+64]
    0018e990ldr x26, [sp+96]
    0018e994ldr x2, [x26]
    0018e998ldr x1, [sp+72]
    0018e99cblr x2
    0018e9a0strb w0, [sp+36]
    0018e9a4ldrb w2, [sp+37]
    0018e9a8eor x2, x2, x0
    0018e9actbnz w2, 0, 0x18e9b4
    0018e9b0b 0x18ea14
    0018e9b4
    0018e9b4loc_18e9b4:
    0018e9b4ldr x0, [sp+80]
    0018e9b8ldr x1, [sp+88]
    0018e9bcldr x26, [sp+96]
    0018e9c0ldr x2, [x26]
    0018e9c4blr x2
    0018e9c8strb w0, [sp+37]
    0018e9cceor x2, x0, 1
    0018e9d0strb w2, [sp+36]
    0018e9d4tbnz w0, 0, 0x18e9dc
    0018e9d8b 0x18e9e0
    0018e9dc
    0018e9dcloc_18e9dc:
    0018e9dcb 0x18ea00
    0018e9e0
    0018e9e0loc_18e9e0:
    0018e9e0ldr x0, [sp+64]
    0018e9e4ldr x26, [sp+96]
    0018e9e8ldr x2, [x26]
    0018e9ecldr x1, [sp+72]
    0018e9f0blr x2
    0018e9f4strb w0, [sp+39]
    0018e9f8strb w0, [sp+36]
    0018e9fcb 0x18ea00
    0018ea00
    0018ea00loc_18ea00:
    0018ea00ldrb w0, [sp+36]
    0018ea04strb w0, [sp+35]
    0018ea08ldur x29, [sp-8]
    0018ea0cldr x30, [sp], 144
    0018ea10ret x30
    0018ea14
    0018ea14loc_18ea14:
    0018ea14ldr x0, [sp+80]
    0018ea18ldr x1, [sp+88]
    0018ea1cldr x26, [sp+96]
    0018ea20ldr x2, [x26]
    0018ea24blr x2
    0018ea28strb w0, [sp+39]
    0018ea2cstrb w0, [sp+36]
    0018ea30tbnz w0, 0, 0x18ea38
    0018ea34b 0x18ea58
    0018ea38
    0018ea38loc_18ea38:
    0018ea38ldr x26, [sp+96]
    0018ea3cldr x2, [x26]
    0018ea40ldr x0, [sp+64]
    0018ea44ldr x1, [sp+72]
    0018ea48blr x2
    0018ea4cstrb w0, [sp+38]
    0018ea50strb w0, [sp+36]
    0018ea54b 0x18ea5c
    0018ea58
    0018ea58loc_18ea58:
    0018ea58b 0x18ea5c
    0018ea5c
    0018ea5cloc_18ea5c:
    0018ea5cldrb w3, [sp+36]
    0018ea60strb w3, [sp+37]
    0018ea64tbnz w3, 0, 0x18ea6c
    0018ea68b 0x18eaa8
    0018ea6c
    0018ea6cloc_18ea6c:
    0018ea6cldr x3, [sp+80]
    0018ea70ldr x4, [sp+64]
    0018ea74subs xzr, x4, x3
    0018ea78cset x3, ne
    0018ea7cb.ne 0x18ea84
    0018ea80b 0x18ea88
    0018ea84
    0018ea84loc_18ea84:
    0018ea84b 0x18eaa0
    0018ea88
    0018ea88loc_18ea88:
    0018ea88ldr x0, [sp+80]
    0018ea8cldr x1, [sp+88]
    0018ea90ldr x2, [sp+72]
    0018ea94bl runtime.ifaceeq
    0018ea98eor x3, x0, 1
    0018ea9cb 0x18eaa0
    0018eaa0
    0018eaa0loc_18eaa0:
    0018eaa0strb w3, [sp+37]
    0018eaa4b 0x18eaac
    0018eaa8
    0018eaa8loc_18eaa8:
    0018eaa8b 0x18eaac
    0018eaac
    0018eaacloc_18eaac:
    0018eaacldrb w1, [sp+37]
    0018eab0tbnz w1, 0, 0x18eab8
    0018eab4b 0x18eb04
    0018eab8
    0018eab8loc_18eab8:
    0018eab8ldr x1, [sp+80]
    0018eabcldrsb x27, [x1]
    0018eac0ldr x1, [x1+40]
    0018eac4ldr x0, [sp+88]
    0018eac8blr x1
    0018eaccstr x0, [sp+56]
    0018ead0ldr x0, [sp+72]
    0018ead4ldr x1, [sp+64]
    0018ead8ldrsb x27, [x1]
    0018eadcldr x1, [x1+40]
    0018eae0blr x1
    0018eae4str x0, [sp+48]
    0018eae8ldr x1, [sp+56]
    0018eaecsubs xzr, x0, x1
    0018eaf0cset x0, gt
    0018eaf4strb w0, [sp+35]
    0018eaf8ldur x29, [sp-8]
    0018eafcldr x30, [sp], 144
    0018eb00ret x30
    0018eb04
    0018eb04loc_18eb04:
    0018eb04ldr x1, [sp+152]
    0018eb08ldrsb x27, [x1]
    0018eb0cldr x1, [x1+216]
    0018eb10ldr x0, [sp+160]
    0018eb14blr x1
    0018eb18str w0, [sp+44]
    0018eb1cldr x0, [sp+176]
    0018eb20ldr x1, [sp+168]
    0018eb24ldrsb x27, [x1]
    0018eb28ldr x1, [x1+216]
    0018eb2cblr x1
    0018eb30str w0, [sp+40]
    0018eb34ldrsw x1, [sp+44]
    0018eb38subs wzr, w0, w1
    0018eb3ccset x0, gt
    0018eb40strb w0, [sp+35]
    0018eb44ldur x29, [sp-8]
    0018eb48ldr x30, [sp], 144
    0018eb4cret x30
    0018eb50
    0018eb50loc_18eb50:
    0018eb50stp x0, x1, [sp+8]
    0018eb54stp x2, x3, [sp+24]
    0018eb58mov x3, x30
    0018eb5cbl runtime.morestack_noctxt.abi0
    0018eb60ldp x0, x1, [sp+8]
    0018eb64ldp x2, x3, [sp+24]
    0018eb68b 0x18e840
    0018eb6cudf 0
    0018e840
    0018eb70
    0018eb70google.golang.org/protobuf/internal/order.init.func1.1: ; void google.golang.org/protobuf/internal/order.init.func1.1(google.golang.org/protobuf/reflect/protoreflect.OneofDescriptor od)
    0018eb70ldr x16, [x28+16]
    0018eb74subs xzr, sp, x16
    0018eb78b.ls 0x18ebe8
    0018eb7cstr x30, [sp-32]!
    0018eb80stur x29, [sp-8]
    0018eb84sub x29, sp, 8
    0018eb88str x0, [sp+40]
    0018eb8cstr x1, [sp+48]
    0018eb90strb wzr, [sp+21]
    0018eb94ldr x1, [sp+40]
    0018eb98subs xzr, x1, 0
    0018eb9ccset x2, ne
    0018eba0strb w2, [sp+23]
    0018eba4cbnz x1, 0x18ebac
    0018eba8b 0x18ebd0
    0018ebac
    0018ebacloc_18ebac:
    0018ebacldr x1, [sp+40]
    0018ebb0ldrsb x27, [x1]
    0018ebb4ldr x0, [sp+48]
    0018ebb8ldr x1, [x1+56]
    0018ebbcblr x1
    0018ebc0strb w0, [sp+22]
    0018ebc4eor x1, x0, 1
    0018ebc8strb w1, [sp+23]
    0018ebccb 0x18ebd4
    0018ebd0
    0018ebd0loc_18ebd0:
    0018ebd0b 0x18ebd4
    0018ebd4
    0018ebd4loc_18ebd4:
    0018ebd4ldrb w0, [sp+23]
    0018ebd8strb w0, [sp+21]
    0018ebdcldur x29, [sp-8]
    0018ebe0ldr x30, [sp], 32
    0018ebe4ret x30
    0018ebe8
    0018ebe8loc_18ebe8:
    0018ebe8stp x0, x1, [sp+8]
    0018ebecmov x3, x30
    0018ebf0bl runtime.morestack_noctxt.abi0
    0018ebf4ldp x0, x1, [sp+8]
    0018ebf8b 0x18eb70
    0018ebfcudf 0
    0018eb70