File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0018b1a0
    0018b1a0google.golang.org/protobuf/internal/strs.isASCIILower: ; void google.golang.org/protobuf/internal/strs.isASCIILower(uint8 c)
    0018b1a0str x30, [sp-32]!
    0018b1a4stur x29, [sp-8]
    0018b1a8sub x29, sp, 8
    0018b1acstrb w0, [sp+40]
    0018b1b0strb wzr, [sp+22]
    0018b1b4ubfm x1, x0, 0, 7
    0018b1b8subs wzr, w1, 97
    0018b1bccset x1, hs
    0018b1c0strb w1, [sp+23]
    0018b1c4b.hs 0x18b1cc
    0018b1c8b 0x18b1e0
    0018b1cc
    0018b1ccloc_18b1cc:
    0018b1ccubfm x1, x0, 0, 7
    0018b1d0subs wzr, w1, 122
    0018b1d4cset x1, ls
    0018b1d8strb w1, [sp+23]
    0018b1dcb 0x18b1e4
    0018b1e0
    0018b1e0loc_18b1e0:
    0018b1e0b 0x18b1e4
    0018b1e4
    0018b1e4loc_18b1e4:
    0018b1e4ldrb w0, [sp+23]
    0018b1e8strb w0, [sp+22]
    0018b1ecadd x29, sp, 24
    0018b1f0add sp, sp, 32
    0018b1f4ret x30
    0018b1f8udf 0
    0018b1fcudf 0
    0018b1a0
    0018b200
    0018b200google.golang.org/protobuf/internal/strs.isASCIIDigit: ; void google.golang.org/protobuf/internal/strs.isASCIIDigit(uint8 c)
    0018b200str x30, [sp-32]!
    0018b204stur x29, [sp-8]
    0018b208sub x29, sp, 8
    0018b20cstrb w0, [sp+40]
    0018b210strb wzr, [sp+22]
    0018b214ubfm x1, x0, 0, 7
    0018b218subs wzr, w1, 48
    0018b21ccset x1, hs
    0018b220strb w1, [sp+23]
    0018b224b.hs 0x18b22c
    0018b228b 0x18b240
    0018b22c
    0018b22cloc_18b22c:
    0018b22cubfm x1, x0, 0, 7
    0018b230subs wzr, w1, 57
    0018b234cset x1, ls
    0018b238strb w1, [sp+23]
    0018b23cb 0x18b244
    0018b240
    0018b240loc_18b240:
    0018b240b 0x18b244
    0018b244
    0018b244loc_18b244:
    0018b244ldrb w0, [sp+23]
    0018b248strb w0, [sp+22]
    0018b24cadd x29, sp, 24
    0018b250add sp, sp, 32
    0018b254ret x30
    0018b258udf 0
    0018b25cudf 0
    0018b200
    0018b260
    0018b260google.golang.org/protobuf/internal/strs.UnsafeString: ; void google.golang.org/protobuf/internal/strs.UnsafeString(struct []uint8 b)
    0018b260ldr x16, [x28+16]
    0018b264subs xzr, sp, x16
    0018b268b.ls 0x18b2ec
    0018b26cstr x30, [sp-48]!
    0018b270stur x29, [sp-8]
    0018b274sub x29, sp, 8
    0018b278str x0, [sp+56]
    0018b27cstr x1, [sp+64]
    0018b280str x2, [sp+72]
    0018b284stp xzr, xzr, [sp+16]
    0018b288ldr x2, [sp+64]
    0018b28cstr x2, [sp+8]
    0018b290ldr x0, [sp+56]
    0018b294str x0, [sp+32]
    0018b298ldr x2, [sp+8]
    0018b29ctbnz x2, 63, 0x18b2e4
    0018b2a0b 0x18b2a4
    0018b2a4
    0018b2a4loc_18b2a4:
    0018b2a4ldr x2, [sp+8]
    0018b2a8mov x3, x0
    0018b2acsub x3, xzr, x3
    0018b2b0subs xzr, x2, x3
    0018b2b4b.hi 0x18b2d4
    0018b2b8b 0x18b2bc
    0018b2bc
    0018b2bcloc_18b2bc:
    0018b2bcldr x1, [sp+8]
    0018b2c0str x0, [sp+16]
    0018b2c4str x1, [sp+24]
    0018b2c8ldur x29, [sp-8]
    0018b2ccldr x30, [sp], 48
    0018b2d0ret x30
    0018b2d4
    0018b2d4loc_18b2d4:
    0018b2d4cbnz x0, 0x18b2dc
    0018b2d8b 0x18b2e0
    0018b2dc
    0018b2dcloc_18b2dc:
    0018b2dcbl runtime.panicunsafestringlen
    0018b2e0
    0018b2e0loc_18b2e0:
    0018b2e0bl runtime.panicunsafestringnilptr
    0018b2e4
    0018b2e4loc_18b2e4:
    0018b2e4bl runtime.panicunsafestringlen
    0018b2e8hint
    0018b2ec
    0018b2ecloc_18b2ec:
    0018b2ecstp x0, x1, [sp+8]
    0018b2f0str x2, [sp+24]
    0018b2f4mov x3, x30
    0018b2f8bl runtime.morestack_noctxt.abi0
    0018b2fcldp x0, x1, [sp+8]
    0018b300ldr x2, [sp+24]
    0018b304b 0x18b260
    0018b308udf 0
    0018b30cudf 0
    0018b260
    0018b310
    0018b310google.golang.org/protobuf/internal/strs.(*Builder).AppendFullName: ; void google.golang.org/protobuf/internal/strs.(*Builder).AppendFullName(google.golang.org/protobuf/internal/strs.Builder * sb, struct google.golang.org/protobuf/reflect/protoreflect.FullName prefix, struct google.golang.org/protobuf/reflect/protoreflect.Name name)
    0018b310ldr x16, [x28+16]
    0018b314sub x17, sp, 160
    0018b318subs xzr, x17, x16
    0018b31cb.ls 0x18b600
    0018b320sub x20, sp, 288
    0018b324stp x29, x30, [x20-8]
    0018b328add sp, x20, 0
    0018b32csub x29, sp, 8
    0018b330str x0, [sp+296]
    0018b334str x1, [sp+304]
    0018b338str x2, [sp+312]
    0018b33cstr x3, [sp+320]
    0018b340str x4, [sp+328]
    0018b344stp xzr, xzr, [sp+136]
    0018b348ldr x2, [sp+312]
    0018b34cstr x2, [sp+96]
    0018b350ldr x3, [sp+328]
    0018b354str x3, [sp+88]
    0018b358add x2, x2, x3
    0018b35cadd x3, x2, 1
    0018b360str x3, [sp+80]
    0018b364ldr x3, [sp+312]
    0018b368str x3, [sp+88]
    0018b36ccbz x3, 0x18b374
    0018b370b 0x18b37c
    0018b374
    0018b374loc_18b374:
    0018b374str x2, [sp+80]
    0018b378b 0x18b380
    0018b37c
    0018b37cloc_18b37c:
    0018b37cb 0x18b380
    0018b380
    0018b380loc_18b380:
    0018b380ldr x1, [sp+80]
    0018b384ldr x0, [sp+296]
    0018b388bl google.golang.org/protobuf/internal/strs.(*Builder).grow
    0018b38cldr x2, [sp+296]
    0018b390ldrsb x27, [x2]
    0018b394ldr x3, [x2+16]
    0018b398ldr x0, [x2]
    0018b39cldr x2, [x2+8]
    0018b3a0str x0, [sp+176]
    0018b3a4str x2, [sp+184]
    0018b3a8str x3, [sp+192]
    0018b3acstr x0, [sp+152]
    0018b3b0str x2, [sp+160]
    0018b3b4str x3, [sp+168]
    0018b3b8ldr x4, [sp+312]
    0018b3bcadd x1, x2, x4
    0018b3c0str x1, [sp+128]
    0018b3c4subs xzr, x3, x1
    0018b3c8b.hs 0x18b3d0
    0018b3ccb 0x18b3d8
    0018b3d0
    0018b3d0loc_18b3d0:
    0018b3d0str x1, [sp+160]
    0018b3d4b 0x18b400
    0018b3d8
    0018b3d8loc_18b3d8:
    0018b3d8ldr x5, [sp+312]
    0018b3dcmov x2, x3
    0018b3e0mov x3, x5
    0018b3e4adrp x4, 0x46a000
    0018b3e8add x4, x4, 3072
    0018b3ecbl runtime.growslice
    0018b3f0str x0, [sp+152]
    0018b3f4str x1, [sp+160]
    0018b3f8str x2, [sp+168]
    0018b3fcb 0x18b400
    0018b400
    0018b400loc_18b400:
    0018b400ldr x3, [sp+312]
    0018b404str x3, [sp+120]
    0018b408ldr x3, [sp+128]
    0018b40cldr x4, [sp+312]
    0018b410sub x3, x3, x4
    0018b414ldr x4, [sp+152]
    0018b418add x0, x4, x3
    0018b41cstr x0, [sp+272]
    0018b420ldr x2, [sp+120]
    0018b424ldr x1, [sp+304]
    0018b428bl runtime.memmove
    0018b42cldr x3, [sp+296]
    0018b430ldrsb x27, [x3]
    0018b434ldr x4, [sp+152]
    0018b438ldr x5, [sp+160]
    0018b43cldr x6, [sp+168]
    0018b440str x5, [x3+8]
    0018b444str x6, [x3+16]
    0018b448adrp x27, 0x8c0000
    0018b44cldr w5, [x27+3056]
    0018b450cbz w5, 0x18b458
    0018b454b 0x18b45c
    0018b458
    0018b458loc_18b458:
    0018b458b 0x18b470
    0018b45c
    0018b45cloc_18b45c:
    0018b45cbl runtime.gcWriteBarrier2
    0018b460str x4, [x25]
    0018b464ldr x5, [x3]
    0018b468str x5, [x25+8]
    0018b46cb 0x18b470
    0018b470
    0018b470loc_18b470:
    0018b470str x4, [x3]
    0018b474ldr x5, [sp+296]
    0018b478ldrsb x27, [x5]
    0018b47cldr x2, [x5+16]
    0018b480ldr x0, [x5]
    0018b484ldr x5, [x5+8]
    0018b488add x1, x5, 1
    0018b48csubs xzr, x2, x1
    0018b490b.hs 0x18b498
    0018b494b 0x18b49c
    0018b498
    0018b498loc_18b498:
    0018b498b 0x18b4b0
    0018b49c
    0018b49cloc_18b49c:
    0018b49corr x3, xzr, 1
    0018b4a0adrp x4, 0x46a000
    0018b4a4add x4, x4, 3072
    0018b4a8bl runtime.growslice
    0018b4acb 0x18b4b0
    0018b4b0
    0018b4b0loc_18b4b0:
    0018b4b0sub x5, x1, 1
    0018b4b4movz x6, 46
    0018b4b8strb w6, [x0+x5]
    0018b4bcldr x5, [sp+296]
    0018b4c0ldrsb x27, [x5]
    0018b4c4str x1, [x5+8]
    0018b4c8str x2, [x5+16]
    0018b4ccadrp x27, 0x8c0000
    0018b4d0ldr w6, [x27+3056]
    0018b4d4cbz w6, 0x18b4dc
    0018b4d8b 0x18b4e0
    0018b4dc
    0018b4dcloc_18b4dc:
    0018b4dcb 0x18b4f4
    0018b4e0
    0018b4e0loc_18b4e0:
    0018b4e0bl runtime.gcWriteBarrier2
    0018b4e4str x0, [x25]
    0018b4e8ldr x6, [x5]
    0018b4ecstr x6, [x25+8]
    0018b4f0b 0x18b4f4
    0018b4f4
    0018b4f4loc_18b4f4:
    0018b4f4str x0, [x5]
    0018b4f8ldr x5, [sp+296]
    0018b4fcldrsb x27, [x5]
    0018b500ldr x2, [x5+16]
    0018b504ldr x0, [x5]
    0018b508ldr x5, [x5+8]
    0018b50cstr x0, [sp+248]
    0018b510str x5, [sp+256]
    0018b514str x2, [sp+264]
    0018b518str x0, [sp+224]
    0018b51cstr x5, [sp+232]
    0018b520str x2, [sp+240]
    0018b524ldr x6, [sp+328]
    0018b528add x1, x5, x6
    0018b52cstr x1, [sp+112]
    0018b530subs xzr, x2, x1
    0018b534b.hs 0x18b53c
    0018b538b 0x18b544
    0018b53c
    0018b53cloc_18b53c:
    0018b53cstr x1, [sp+232]
    0018b540b 0x18b564
    0018b544
    0018b544loc_18b544:
    0018b544ldr x3, [sp+328]
    0018b548adrp x4, 0x46a000
    0018b54cadd x4, x4, 3072
    0018b550bl runtime.growslice
    0018b554str x0, [sp+224]
    0018b558str x1, [sp+232]
    0018b55cstr x2, [sp+240]
    0018b560b 0x18b564
    0018b564
    0018b564loc_18b564:
    0018b564ldr x3, [sp+328]
    0018b568str x3, [sp+104]
    0018b56cldr x3, [sp+112]
    0018b570ldr x4, [sp+328]
    0018b574sub x3, x3, x4
    0018b578ldr x4, [sp+224]
    0018b57cadd x0, x4, x3
    0018b580str x0, [sp+216]
    0018b584ldr x2, [sp+104]
    0018b588ldr x1, [sp+320]
    0018b58cbl runtime.memmove
    0018b590ldr x3, [sp+296]
    0018b594ldrsb x27, [x3]
    0018b598ldr x4, [sp+224]
    0018b59cldr x5, [sp+232]
    0018b5a0ldr x6, [sp+240]
    0018b5a4str x5, [x3+8]
    0018b5a8str x6, [x3+16]
    0018b5acadrp x27, 0x8c0000
    0018b5b0ldr w5, [x27+3056]
    0018b5b4cbz w5, 0x18b5bc
    0018b5b8b 0x18b5c0
    0018b5bc
    0018b5bcloc_18b5bc:
    0018b5bcb 0x18b5d4
    0018b5c0
    0018b5c0loc_18b5c0:
    0018b5c0bl runtime.gcWriteBarrier2
    0018b5c4str x4, [x25]
    0018b5c8ldr x2, [x3]
    0018b5ccstr x2, [x25+8]
    0018b5d0b 0x18b5d4
    0018b5d4
    0018b5d4loc_18b5d4:
    0018b5d4str x4, [x3]
    0018b5d8ldr x1, [sp+80]
    0018b5dcldr x0, [sp+296]
    0018b5e0bl google.golang.org/protobuf/internal/strs.(*Builder).last
    0018b5e4str x0, [sp+200]
    0018b5e8str x1, [sp+208]
    0018b5ecstr x0, [sp+136]
    0018b5f0str x1, [sp+144]
    0018b5f4ldp x29, x30, [sp-8]
    0018b5f8add sp, sp, 288
    0018b5fcret x30
    0018b600
    0018b600loc_18b600:
    0018b600stp x0, x1, [sp+8]
    0018b604stp x2, x3, [sp+24]
    0018b608str x4, [sp+40]
    0018b60cmov x3, x30
    0018b610bl runtime.morestack_noctxt.abi0
    0018b614ldp x0, x1, [sp+8]
    0018b618ldp x2, x3, [sp+24]
    0018b61cldr x4, [sp+40]
    0018b620b 0x18b310
    0018b624udf 0
    0018b628udf 0
    0018b62cudf 0
    0018b310
    0018b630
    0018b630google.golang.org/protobuf/internal/strs.(*Builder).MakeString: ; void google.golang.org/protobuf/internal/strs.(*Builder).MakeString(google.golang.org/protobuf/internal/strs.Builder * sb, struct []uint8 b)
    0018b630ldr x16, [x28+16]
    0018b634sub x17, sp, 48
    0018b638subs xzr, x17, x16
    0018b63cb.ls 0x18b784
    0018b640str x30, [sp-176]!
    0018b644stur x29, [sp-8]
    0018b648sub x29, sp, 8
    0018b64cstr x0, [sp+184]
    0018b650str x1, [sp+192]
    0018b654str x2, [sp+200]
    0018b658str x3, [sp+208]
    0018b65cstp xzr, xzr, [sp+80]
    0018b660ldr x1, [sp+200]
    0018b664str x1, [sp+72]
    0018b668ldr x0, [sp+184]
    0018b66cbl google.golang.org/protobuf/internal/strs.(*Builder).grow
    0018b670ldr x2, [sp+184]
    0018b674ldrsb x27, [x2]
    0018b678ldr x3, [x2+16]
    0018b67cldr x0, [x2]
    0018b680ldr x2, [x2+8]
    0018b684str x0, [sp+128]
    0018b688str x2, [sp+136]
    0018b68cstr x3, [sp+144]
    0018b690str x0, [sp+104]
    0018b694str x2, [sp+112]
    0018b698str x3, [sp+120]
    0018b69cldr x4, [sp+200]
    0018b6a0add x1, x2, x4
    0018b6a4str x1, [sp+64]
    0018b6a8subs xzr, x3, x1
    0018b6acb.hs 0x18b6b4
    0018b6b0b 0x18b6bc
    0018b6b4
    0018b6b4loc_18b6b4:
    0018b6b4str x1, [sp+112]
    0018b6b8b 0x18b6e4
    0018b6bc
    0018b6bcloc_18b6bc:
    0018b6bcldr x5, [sp+200]
    0018b6c0mov x2, x3
    0018b6c4mov x3, x5
    0018b6c8adrp x4, 0x46a000
    0018b6ccadd x4, x4, 3072
    0018b6d0bl runtime.growslice
    0018b6d4str x0, [sp+104]
    0018b6d8str x1, [sp+112]
    0018b6dcstr x2, [sp+120]
    0018b6e0b 0x18b6e4
    0018b6e4
    0018b6e4loc_18b6e4:
    0018b6e4ldr x3, [sp+200]
    0018b6e8str x3, [sp+56]
    0018b6ecldr x3, [sp+64]
    0018b6f0ldr x4, [sp+200]
    0018b6f4sub x3, x3, x4
    0018b6f8ldr x4, [sp+104]
    0018b6fcadd x0, x4, x3
    0018b700str x0, [sp+96]
    0018b704ldr x2, [sp+56]
    0018b708ldr x1, [sp+192]
    0018b70cbl runtime.memmove
    0018b710ldr x3, [sp+184]
    0018b714ldrsb x27, [x3]
    0018b718ldr x4, [sp+104]
    0018b71cldr x5, [sp+112]
    0018b720ldr x6, [sp+120]
    0018b724str x5, [x3+8]
    0018b728str x6, [x3+16]
    0018b72cadrp x27, 0x8c0000
    0018b730ldr w5, [x27+3056]
    0018b734cbz w5, 0x18b73c
    0018b738b 0x18b740
    0018b73c
    0018b73cloc_18b73c:
    0018b73cb 0x18b754
    0018b740
    0018b740loc_18b740:
    0018b740bl runtime.gcWriteBarrier2
    0018b744str x4, [x25]
    0018b748ldr x2, [x3]
    0018b74cstr x2, [x25+8]
    0018b750b 0x18b754
    0018b754
    0018b754loc_18b754:
    0018b754str x4, [x3]
    0018b758ldr x1, [sp+200]
    0018b75cstr x1, [sp+72]
    0018b760ldr x0, [sp+184]
    0018b764bl google.golang.org/protobuf/internal/strs.(*Builder).last
    0018b768str x0, [sp+152]
    0018b76cstr x1, [sp+160]
    0018b770str x0, [sp+80]
    0018b774str x1, [sp+88]
    0018b778ldur x29, [sp-8]
    0018b77cldr x30, [sp], 176
    0018b780ret x30
    0018b784
    0018b784loc_18b784:
    0018b784stp x0, x1, [sp+8]
    0018b788stp x2, x3, [sp+24]
    0018b78cmov x3, x30
    0018b790bl runtime.morestack_noctxt.abi0
    0018b794ldp x0, x1, [sp+8]
    0018b798ldp x2, x3, [sp+24]
    0018b79cb 0x18b630
    0018b630
    0018b7a0
    0018b7a0google.golang.org/protobuf/internal/strs.(*Builder).grow: ; void google.golang.org/protobuf/internal/strs.(*Builder).grow(google.golang.org/protobuf/internal/strs.Builder * sb, int n)
    0018b7a0ldr x16, [x28+16]
    0018b7a4subs xzr, sp, x16
    0018b7a8b.ls 0x18b87c
    0018b7acstr x30, [sp-80]!
    0018b7b0stur x29, [sp-8]
    0018b7b4sub x29, sp, 8
    0018b7b8str x0, [sp+88]
    0018b7bcstr x1, [sp+96]
    0018b7c0ldrsb x27, [x0]
    0018b7c4ldr x3, [x0+16]
    0018b7c8str x3, [sp+40]
    0018b7ccldrsb x27, [x0]
    0018b7d0ldr x4, [x0+8]
    0018b7d4str x4, [sp+32]
    0018b7d8sub x3, x3, x4
    0018b7dcsubs xzr, x1, x3
    0018b7e0b.le 0x18b7e8
    0018b7e4b 0x18b7f4
    0018b7e8
    0018b7e8loc_18b7e8:
    0018b7e8ldur x29, [sp-8]
    0018b7ecldr x30, [sp], 80
    0018b7f0ret x30
    0018b7f4
    0018b7f4loc_18b7f4:
    0018b7f4ldrsb x27, [x0]
    0018b7f8ldr x3, [x0+16]
    0018b7fcstr x3, [sp+32]
    0018b800add x3, x3, x1
    0018b804ubfm x2, x3, 63, 62
    0018b808adrp x0, 0x46a000
    0018b80cadd x0, x0, 3072
    0018b810mov x1, xzr
    0018b814bl runtime.makeslice
    0018b818ldr x3, [sp+32]
    0018b81cldr x4, [sp+96]
    0018b820str x0, [sp+48]
    0018b824str xzr, [sp+56]
    0018b828add x3, x3, x4
    0018b82cubfm x3, x3, 63, 62
    0018b830str x3, [sp+64]
    0018b834ldr x4, [sp+88]
    0018b838ldrsb x27, [x4]
    0018b83cstr xzr, [x4+8]
    0018b840str x3, [x4+16]
    0018b844adrp x27, 0x8c0000
    0018b848ldr w3, [x27+3056]
    0018b84ccbz w3, 0x18b854
    0018b850b 0x18b858
    0018b854
    0018b854loc_18b854:
    0018b854b 0x18b86c
    0018b858
    0018b858loc_18b858:
    0018b858bl runtime.gcWriteBarrier2
    0018b85cstr x0, [x25]
    0018b860ldr x1, [x4]
    0018b864str x1, [x25+8]
    0018b868b 0x18b86c
    0018b86c
    0018b86cloc_18b86c:
    0018b86cstr x0, [x4]
    0018b870ldur x29, [sp-8]
    0018b874ldr x30, [sp], 80
    0018b878ret x30
    0018b87c
    0018b87cloc_18b87c:
    0018b87cstp x0, x1, [sp+8]
    0018b880mov x3, x30
    0018b884bl runtime.morestack_noctxt.abi0
    0018b888ldp x0, x1, [sp+8]
    0018b88cb 0x18b7a0
    0018b7a0
    0018b890
    0018b890google.golang.org/protobuf/internal/strs.(*Builder).last: ; void google.golang.org/protobuf/internal/strs.(*Builder).last(google.golang.org/protobuf/internal/strs.Builder * sb, int n)
    0018b890ldr x16, [x28+16]
    0018b894subs xzr, sp, x16
    0018b898b.ls 0x18b944
    0018b89cstr x30, [sp-112]!
    0018b8a0stur x29, [sp-8]
    0018b8a4sub x29, sp, 8
    0018b8a8str x0, [sp+120]
    0018b8acstr x1, [sp+128]
    0018b8b0stp xzr, xzr, [sp+48]
    0018b8b4ldr x3, [sp+120]
    0018b8b8ldrsb x27, [x3]
    0018b8bcldr x3, [x3+8]
    0018b8c0str x3, [sp+40]
    0018b8c4ldr x4, [sp+128]
    0018b8c8sub x0, x3, x4
    0018b8ccstr x0, [sp+32]
    0018b8d0ldr x5, [sp+120]
    0018b8d4ldrsb x27, [x5]
    0018b8d8ldr x1, [x5+8]
    0018b8dcldr x6, [x5]
    0018b8e0ldr x5, [x5+16]
    0018b8e4b 0x18b8e8
    0018b8e8
    0018b8e8loc_18b8e8:
    0018b8e8subs xzr, x1, x0
    0018b8ecb.hs 0x18b8f4
    0018b8f0b 0x18b93c
    0018b8f4
    0018b8f4loc_18b8f4:
    0018b8f4add x5, x5, x4
    0018b8f8sub x2, x5, x3
    0018b8fcadd x4, x1, x4
    0018b900sub x1, x4, x3
    0018b904sub x3, xzr, x2
    0018b908and x3, x0, x3, asr #63
    0018b90cadd x0, x6, x3
    0018b910str x0, [sp+80]
    0018b914str x1, [sp+88]
    0018b918str x2, [sp+96]
    0018b91cbl google.golang.org/protobuf/internal/strs.UnsafeString
    0018b920str x0, [sp+64]
    0018b924str x1, [sp+72]
    0018b928str x0, [sp+48]
    0018b92cstr x1, [sp+56]
    0018b930ldur x29, [sp-8]
    0018b934ldr x30, [sp], 112
    0018b938ret x30
    0018b93c
    0018b93cloc_18b93c:
    0018b93cbl runtime.panicSliceB
    0018b940hint
    0018b944
    0018b944loc_18b944:
    0018b944stp x0, x1, [sp+8]
    0018b948mov x3, x30
    0018b94cbl runtime.morestack_noctxt.abi0
    0018b950ldp x0, x1, [sp+8]
    0018b954b 0x18b890
    0018b958udf 0
    0018b95cudf 0
    0018b890
    0018b960
    0018b960sort.Find: ; void sort.Find(int n, func(int) int cmp)
    0018b960ldr x16, [x28+16]
    0018b964subs xzr, sp, x16
    0018b968b.ls 0x18ba60
    0018b96cstr x30, [sp-64]!
    0018b970stur x29, [sp-8]
    0018b974sub x29, sp, 8
    0018b978str x0, [sp+72]
    0018b97cstr x1, [sp+80]
    0018b980str xzr, [sp+32]
    0018b984strb wzr, [sp+22]
    0018b988str xzr, [sp+32]
    0018b98cldr x2, [sp+72]
    0018b990str x2, [sp+24]
    0018b994b 0x18b998
    0018b998
    0018b998loc_18b998:
    0018b998ldr x2, [sp+24]
    0018b99cldr x3, [sp+32]
    0018b9a0subs xzr, x2, x3
    0018b9a4b.gt 0x18b9ac
    0018b9a8b 0x18ba04
    0018b9ac
    0018b9acloc_18b9ac:
    0018b9acldr x1, [sp+24]
    0018b9b0ldr x2, [sp+32]
    0018b9b4add x1, x2, x1
    0018b9b8ubfm x1, x1, 1, 63
    0018b9bcstr x1, [sp+40]
    0018b9c0ldr x0, [sp+40]
    0018b9c4ldr x26, [sp+80]
    0018b9c8ldr x1, [x26]
    0018b9ccblr x1
    0018b9d0str x0, [sp+48]
    0018b9d4subs xzr, x0, 0
    0018b9d8b.gt 0x18b9e0
    0018b9dcb 0x18b9f0
    0018b9e0
    0018b9e0loc_18b9e0:
    0018b9e0ldr x2, [sp+40]
    0018b9e4add x2, x2, 1
    0018b9e8str x2, [sp+32]
    0018b9ecb 0x18b9fc
    0018b9f0
    0018b9f0loc_18b9f0:
    0018b9f0ldr x2, [sp+40]
    0018b9f4str x2, [sp+24]
    0018b9f8b 0x18b9fc
    0018b9fc
    0018b9fcloc_18b9fc:
    0018b9fcb 0x18ba00
    0018ba00
    0018ba00loc_18ba00:
    0018ba00b 0x18b998
    0018ba04
    0018ba04loc_18ba04:
    0018ba04ldr x2, [sp+72]
    0018ba08ldr x3, [sp+32]
    0018ba0csubs xzr, x2, x3
    0018ba10cset x2, gt
    0018ba14strb w2, [sp+23]
    0018ba18b.gt 0x18ba20
    0018ba1cb 0x18ba44
    0018ba20
    0018ba20loc_18ba20:
    0018ba20ldr x26, [sp+80]
    0018ba24ldr x0, [sp+32]
    0018ba28ldr x1, [x26]
    0018ba2cblr x1
    0018ba30str x0, [sp+48]
    0018ba34subs xzr, x0, 0
    0018ba38cset x1, eq
    0018ba3cstrb w1, [sp+23]
    0018ba40b 0x18ba48
    0018ba44
    0018ba44loc_18ba44:
    0018ba44b 0x18ba48
    0018ba48
    0018ba48loc_18ba48:
    0018ba48ldrb w1, [sp+23]
    0018ba4cstrb w1, [sp+22]
    0018ba50ldr x0, [sp+32]
    0018ba54ldur x29, [sp-8]
    0018ba58ldr x30, [sp], 64
    0018ba5cret x30
    0018ba60
    0018ba60loc_18ba60:
    0018ba60stp x0, x1, [sp+8]
    0018ba64mov x3, x30
    0018ba68bl runtime.morestack_noctxt.abi0
    0018ba6cldp x0, x1, [sp+8]
    0018ba70b 0x18b960
    0018ba74udf 0
    0018ba78udf 0
    0018ba7cudf 0
    0018b960
    0018ba80
    0018ba80sort.Slice: ; void sort.Slice(interface {} x, func(int, int) bool less)
    0018ba80ldr x16, [x28+16]
    0018ba84subs xzr, sp, x16
    0018ba88b.ls 0x18bb18
    0018ba8cstr x30, [sp-128]!
    0018ba90stur x29, [sp-8]
    0018ba94sub x29, sp, 8
    0018ba98str x0, [sp+136]
    0018ba9cstr x1, [sp+144]
    0018baa0str x2, [sp+152]
    0018baa4bl internal/reflectlite.ValueOf
    0018baa8str x0, [sp+80]
    0018baacstr x1, [sp+88]
    0018bab0str x2, [sp+96]
    0018bab4ldr x0, [sp+136]
    0018bab8ldr x1, [sp+144]
    0018babcbl internal/reflectlite.Swapper
    0018bac0str x0, [sp+72]
    0018bac4ldr x0, [sp+80]
    0018bac8ldr x1, [sp+88]
    0018baccldr x2, [sp+96]
    0018bad0bl internal/reflectlite.Value.Len
    0018bad4str x0, [sp+64]
    0018bad8clz x2, x0
    0018badcorr x3, xzr, 64
    0018bae0sub x2, x3, x2
    0018bae4str x2, [sp+56]
    0018bae8stp xzr, xzr, [sp+104]
    0018baecldr x0, [sp+152]
    0018baf0str x0, [sp+104]
    0018baf4ldr x1, [sp+72]
    0018baf8str x1, [sp+112]
    0018bafcldr x3, [sp+64]
    0018bb00ldr x4, [sp+56]
    0018bb04mov x2, xzr
    0018bb08bl sort.pdqsort_func
    0018bb0cldur x29, [sp-8]
    0018bb10ldr x30, [sp], 128
    0018bb14ret x30
    0018bb18
    0018bb18loc_18bb18:
    0018bb18stp x0, x1, [sp+8]
    0018bb1cstr x2, [sp+24]
    0018bb20mov x3, x30
    0018bb24bl runtime.morestack_noctxt.abi0
    0018bb28ldp x0, x1, [sp+8]
    0018bb2cldr x2, [sp+24]
    0018bb30b 0x18ba80
    0018bb34udf 0
    0018bb38udf 0
    0018bb3cudf 0
    0018ba80
    0018bb40
    0018bb40sort.Sort: ; void sort.Sort(sort.Interface data)
    0018bb40ldr x16, [x28+16]
    0018bb44subs xzr, sp, x16
    0018bb48b.ls 0x18bbc0
    0018bb4cstr x30, [sp-80]!
    0018bb50stur x29, [sp-8]
    0018bb54sub x29, sp, 8
    0018bb58str x0, [sp+88]
    0018bb5cstr x1, [sp+96]
    0018bb60ldrsb x27, [x0]
    0018bb64ldr x2, [x0+24]
    0018bb68mov x0, x1
    0018bb6cblr x2
    0018bb70str x0, [sp+56]
    0018bb74subs xzr, x0, 1
    0018bb78b.le 0x18bb80
    0018bb7cb 0x18bb8c
    0018bb80
    0018bb80loc_18bb80:
    0018bb80ldur x29, [sp-8]
    0018bb84ldr x30, [sp], 80
    0018bb88ret x30
    0018bb8c
    0018bb8cloc_18bb8c:
    0018bb8cclz x5, x0
    0018bb90orr x6, xzr, 64
    0018bb94sub x4, x6, x5
    0018bb98str x4, [sp+64]
    0018bb9cldr x5, [sp+88]
    0018bba0ldr x1, [sp+96]
    0018bba4mov x2, xzr
    0018bba8mov x3, x0
    0018bbacmov x0, x5
    0018bbb0bl sort.pdqsort
    0018bbb4ldur x29, [sp-8]
    0018bbb8ldr x30, [sp], 80
    0018bbbcret x30
    0018bbc0
    0018bbc0loc_18bbc0:
    0018bbc0stp x0, x1, [sp+8]
    0018bbc4mov x3, x30
    0018bbc8bl runtime.morestack_noctxt.abi0
    0018bbccldp x0, x1, [sp+8]
    0018bbd0b 0x18bb40
    0018bbd4udf 0
    0018bbd8udf 0
    0018bbdcudf 0
    0018bb40
    0018bbe0
    0018bbe0sort.(*xorshift).Next: ; void sort.(*xorshift).Next(sort.xorshift * r)
    0018bbe0str x30, [sp-32]!
    0018bbe4stur x29, [sp-8]
    0018bbe8sub x29, sp, 8
    0018bbecstr x0, [sp+40]
    0018bbf0str xzr, [sp+16]
    0018bbf4ldrsb x27, [x0]
    0018bbf8ldrsb x27, [x0]
    0018bbfcldrsb x27, [x0]
    0018bc00ldr x1, [x0]
    0018bc04ldr x2, [x0]
    0018bc08eor x1, x1, x2, lsl #13
    0018bc0cstr x1, [x0]
    0018bc10ldrsb x27, [x0]
    0018bc14ldrsb x27, [x0]
    0018bc18ldrsb x27, [x0]
    0018bc1cldr x1, [x0]
    0018bc20ldr x2, [x0]
    0018bc24eor x1, x1, x2, lsr #7
    0018bc28str x1, [x0]
    0018bc2cldrsb x27, [x0]
    0018bc30ldrsb x27, [x0]
    0018bc34ldrsb x27, [x0]
    0018bc38ldr x1, [x0]
    0018bc3cldr x2, [x0]
    0018bc40eor x1, x1, x2, lsl #17
    0018bc44str x1, [x0]
    0018bc48ldr x1, [sp+40]
    0018bc4cldrsb x27, [x1]
    0018bc50ldr x1, [x1]
    0018bc54str x1, [sp+16]
    0018bc58ldr x0, [sp+16]
    0018bc5cadd x29, sp, 24
    0018bc60add sp, sp, 32
    0018bc64ret x30
    0018bc68udf 0
    0018bc6cudf 0
    0018bbe0
    0018bc70
    0018bc70sort.nextPowerOfTwo: ; void sort.nextPowerOfTwo(int length)
    0018bc70str x30, [sp-48]!
    0018bc74stur x29, [sp-8]
    0018bc78sub x29, sp, 8
    0018bc7cstr x0, [sp+56]
    0018bc80str xzr, [sp+16]
    0018bc84clz x1, x0
    0018bc88orr x2, xzr, 64
    0018bc8csub x1, x2, x1
    0018bc90str x1, [sp+32]
    0018bc94str x1, [sp+24]
    0018bc98ldr x1, [sp+24]
    0018bc9corr x2, xzr, 1
    0018bca0lslv x2, x2, x1
    0018bca4subs xzr, x1, 64
    0018bca8csel x0, x2, xzr, lo
    0018bcacstr x0, [sp+16]
    0018bcb0add x29, sp, 40
    0018bcb4add sp, sp, 48
    0018bcb8ret x30
    0018bcbcudf 0
    0018bc70
    0018bcc0
    0018bcc0sort.Ints: ; void sort.Ints(struct []int x)
    0018bcc0ldr x16, [x28+16]
    0018bcc4subs xzr, sp, x16
    0018bcc8b.ls 0x18bd08
    0018bcccstr x30, [sp-48]!
    0018bcd0stur x29, [sp-8]
    0018bcd4sub x29, sp, 8
    0018bcd8str x0, [sp+56]
    0018bcdcstr x1, [sp+64]
    0018bce0str x2, [sp+72]
    0018bce4mov x3, x2
    0018bce8mov x2, x1
    0018bcecmov x1, x0
    0018bcf0adrp x0, 0x58a000
    0018bcf4add x0, x0, 1152
    0018bcf8bl slices.Sort[go.shape.[]int,go.shape.int]
    0018bcfcldur x29, [sp-8]
    0018bd00ldr x30, [sp], 48
    0018bd04ret x30
    0018bd08
    0018bd08loc_18bd08:
    0018bd08stp x0, x1, [sp+8]
    0018bd0cstr x2, [sp+24]
    0018bd10mov x3, x30
    0018bd14bl runtime.morestack_noctxt.abi0
    0018bd18ldp x0, x1, [sp+8]
    0018bd1cldr x2, [sp+24]
    0018bd20b 0x18bcc0
    0018bd24udf 0
    0018bd28udf 0
    0018bd2cudf 0
    0018bcc0
    0018bd30
    0018bd30sort.Strings: ; void sort.Strings(struct []string x)
    0018bd30ldr x16, [x28+16]
    0018bd34subs xzr, sp, x16
    0018bd38b.ls 0x18bd78
    0018bd3cstr x30, [sp-48]!
    0018bd40stur x29, [sp-8]
    0018bd44sub x29, sp, 8
    0018bd48str x0, [sp+56]
    0018bd4cstr x1, [sp+64]
    0018bd50str x2, [sp+72]
    0018bd54mov x3, x2
    0018bd58mov x2, x1
    0018bd5cmov x1, x0
    0018bd60adrp x0, 0x58a000
    0018bd64add x0, x0, 1824
    0018bd68bl slices.Sort[go.shape.[]string,go.shape.string]
    0018bd6cldur x29, [sp-8]
    0018bd70ldr x30, [sp], 48
    0018bd74ret x30
    0018bd78
    0018bd78loc_18bd78:
    0018bd78stp x0, x1, [sp+8]
    0018bd7cstr x2, [sp+24]
    0018bd80mov x3, x30
    0018bd84bl runtime.morestack_noctxt.abi0
    0018bd88ldp x0, x1, [sp+8]
    0018bd8cldr x2, [sp+24]
    0018bd90b 0x18bd30
    0018bd94udf 0
    0018bd98udf 0
    0018bd9cudf 0
    0018bd30
    0018bda0
    0018bda0sort.insertionSort_func: ; void sort.insertionSort_func(sort.lessSwap data, int a, int b)
    0018bda0ldr x16, [x28+16]
    0018bda4subs xzr, sp, x16
    0018bda8b.ls 0x18be90
    0018bdacstr x30, [sp-64]!
    0018bdb0stur x29, [sp-8]
    0018bdb4sub x29, sp, 8
    0018bdb8str x0, [sp+72]
    0018bdbcstr x1, [sp+80]
    0018bdc0str x2, [sp+88]
    0018bdc4str x3, [sp+96]
    0018bdc8add x2, x2, 1
    0018bdccstr x2, [sp+48]
    0018bdd0b 0x18bdd4
    0018bdd4
    0018bdd4loc_18bdd4:
    0018bdd4ldr x2, [sp+96]
    0018bdd8ldr x3, [sp+48]
    0018bddcsubs xzr, x2, x3
    0018bde0b.gt 0x18bde8
    0018bde4b 0x18bdf4
    0018bde8
    0018bde8loc_18bde8:
    0018bde8ldr x2, [sp+48]
    0018bdecstr x2, [sp+40]
    0018bdf0b 0x18be00
    0018bdf4
    0018bdf4loc_18bdf4:
    0018bdf4ldur x29, [sp-8]
    0018bdf8ldr x30, [sp], 64
    0018bdfcret x30
    0018be00
    0018be00loc_18be00:
    0018be00ldr x2, [sp+88]
    0018be04ldr x3, [sp+40]
    0018be08subs xzr, x2, x3
    0018be0ccset x2, lt
    0018be10strb w2, [sp+39]
    0018be14b.lt 0x18be1c
    0018be18b 0x18be40
    0018be1c
    0018be1cloc_18be1c:
    0018be1cldr x26, [sp+72]
    0018be20ldr x0, [sp+40]
    0018be24ldr x2, [x26]
    0018be28ldr x3, [sp+40]
    0018be2csub x1, x3, 1
    0018be30blr x2
    0018be34strb w0, [sp+38]
    0018be38strb w0, [sp+39]
    0018be3cb 0x18be44
    0018be40
    0018be40loc_18be40:
    0018be40b 0x18be44
    0018be44
    0018be44loc_18be44:
    0018be44ldrb w2, [sp+39]
    0018be48tbnz w2, 0, 0x18be50
    0018be4cb 0x18be7c
    0018be50
    0018be50loc_18be50:
    0018be50ldr x26, [sp+80]
    0018be54ldr x0, [sp+40]
    0018be58ldr x2, [x26]
    0018be5cldr x3, [sp+40]
    0018be60sub x1, x3, 1
    0018be64blr x2
    0018be68b 0x18be6c
    0018be6c
    0018be6cloc_18be6c:
    0018be6cldr x2, [sp+40]
    0018be70sub x2, x2, 1
    0018be74str x2, [sp+40]
    0018be78b 0x18be00
    0018be7c
    0018be7cloc_18be7c:
    0018be7cb 0x18be80
    0018be80
    0018be80loc_18be80:
    0018be80ldr x2, [sp+48]
    0018be84add x2, x2, 1
    0018be88str x2, [sp+48]
    0018be8cb 0x18bdd4
    0018be90
    0018be90loc_18be90:
    0018be90stp x0, x1, [sp+8]
    0018be94stp x2, x3, [sp+24]
    0018be98mov x3, x30
    0018be9cbl runtime.morestack_noctxt.abi0
    0018bea0ldp x0, x1, [sp+8]
    0018bea4ldp x2, x3, [sp+24]
    0018bea8b 0x18bda0
    0018beacudf 0
    0018bda0
    0018beb0
    0018beb0sort.siftDown_func: ; void sort.siftDown_func(sort.lessSwap data, int lo, int hi, int first)
    0018beb0ldr x16, [x28+16]
    0018beb4subs xzr, sp, x16
    0018beb8b.ls 0x18bffc
    0018bebcstr x30, [sp-64]!
    0018bec0stur x29, [sp-8]
    0018bec4sub x29, sp, 8
    0018bec8str x0, [sp+72]
    0018beccstr x1, [sp+80]
    0018bed0str x2, [sp+88]
    0018bed4str x3, [sp+96]
    0018bed8str x4, [sp+104]
    0018bedcstr x2, [sp+40]
    0018bee0b 0x18bee4
    0018bee4
    0018bee4loc_18bee4:
    0018bee4b 0x18bee8
    0018bee8
    0018bee8loc_18bee8:
    0018bee8ldr x2, [sp+40]
    0018beecubfm x2, x2, 63, 62
    0018bef0add x3, x2, 1
    0018bef4str x3, [sp+48]
    0018bef8ldr x4, [sp+96]
    0018befcsubs xzr, x4, x3
    0018bf00b.le 0x18bf08
    0018bf04b 0x18bf18
    0018bf08
    0018bf08loc_18bf08:
    0018bf08b 0x18bf0c
    0018bf0c
    0018bf0cloc_18bf0c:
    0018bf0cldur x29, [sp-8]
    0018bf10ldr x30, [sp], 64
    0018bf14ret x30
    0018bf18
    0018bf18loc_18bf18:
    0018bf18add x2, x2, 2
    0018bf1cldr x3, [sp+96]
    0018bf20subs xzr, x3, x2
    0018bf24cset x2, gt
    0018bf28strb w2, [sp+39]
    0018bf2cb.gt 0x18bf34
    0018bf30b 0x18bf68
    0018bf34
    0018bf34loc_18bf34:
    0018bf34ldr x26, [sp+72]
    0018bf38ldr x2, [x26]
    0018bf3cldr x3, [sp+104]
    0018bf40ldr x4, [sp+48]
    0018bf44add x0, x3, x4
    0018bf48ldr x3, [sp+104]
    0018bf4cldr x4, [sp+48]
    0018bf50add x3, x3, x4
    0018bf54add x1, x3, 1
    0018bf58blr x2
    0018bf5cstrb w0, [sp+38]
    0018bf60strb w0, [sp+39]
    0018bf64b 0x18bf6c
    0018bf68
    0018bf68loc_18bf68:
    0018bf68b 0x18bf6c
    0018bf6c
    0018bf6cloc_18bf6c:
    0018bf6cldrb w2, [sp+39]
    0018bf70tbnz w2, 0, 0x18bf78
    0018bf74b 0x18bf88
    0018bf78
    0018bf78loc_18bf78:
    0018bf78ldr x2, [sp+48]
    0018bf7cadd x2, x2, 1
    0018bf80str x2, [sp+48]
    0018bf84b 0x18bf8c
    0018bf88
    0018bf88loc_18bf88:
    0018bf88b 0x18bf8c
    0018bf8c
    0018bf8cloc_18bf8c:
    0018bf8cldr x26, [sp+72]
    0018bf90ldr x2, [x26]
    0018bf94ldr x3, [sp+104]
    0018bf98ldr x4, [sp+40]
    0018bf9cadd x0, x3, x4
    0018bfa0ldr x3, [sp+104]
    0018bfa4ldr x4, [sp+48]
    0018bfa8add x1, x3, x4
    0018bfacblr x2
    0018bfb0strb w0, [sp+39]
    0018bfb4tbnz w0, 0, 0x18bfbc
    0018bfb8b 0x18bff0
    0018bfbc
    0018bfbcloc_18bfbc:
    0018bfbcldr x26, [sp+80]
    0018bfc0ldr x2, [x26]
    0018bfc4ldr x3, [sp+104]
    0018bfc8ldr x4, [sp+40]
    0018bfccadd x0, x3, x4
    0018bfd0ldr x3, [sp+104]
    0018bfd4ldr x4, [sp+48]
    0018bfd8add x1, x3, x4
    0018bfdcblr x2
    0018bfe0ldr x2, [sp+48]
    0018bfe4str x2, [sp+40]
    0018bfe8b 0x18bfec
    0018bfec
    0018bfecloc_18bfec:
    0018bfecb 0x18bee4
    0018bff0
    0018bff0loc_18bff0:
    0018bff0ldur x29, [sp-8]
    0018bff4ldr x30, [sp], 64
    0018bff8ret x30
    0018bffc
    0018bffcloc_18bffc:
    0018bffcstp x0, x1, [sp+8]
    0018c000stp x2, x3, [sp+24]
    0018c004str x4, [sp+40]
    0018c008mov x3, x30
    0018c00cbl runtime.morestack_noctxt.abi0
    0018c010ldp x0, x1, [sp+8]
    0018c014ldp x2, x3, [sp+24]
    0018c018ldr x4, [sp+40]
    0018c01cb 0x18beb0
    0018beb0
    0018c020
    0018c020sort.heapSort_func: ; void sort.heapSort_func(sort.lessSwap data, int a, int b)
    0018c020ldr x16, [x28+16]
    0018c024subs xzr, sp, x16
    0018c028b.ls 0x18c118
    0018c02cstr x30, [sp-96]!
    0018c030stur x29, [sp-8]
    0018c034sub x29, sp, 8
    0018c038str x0, [sp+104]
    0018c03cstr x1, [sp+112]
    0018c040str x2, [sp+120]
    0018c044str x3, [sp+128]
    0018c048str x2, [sp+80]
    0018c04cstr xzr, [sp+48]
    0018c050sub x5, x3, x2
    0018c054str x5, [sp+72]
    0018c058sub x6, x5, 1
    0018c05cadd x5, x5, x6, lsr #63
    0018c060sub x5, x5, 1
    0018c064sbfm x5, x5, 1, 63
    0018c068str x5, [sp+64]
    0018c06cb 0x18c070
    0018c070
    0018c070loc_18c070:
    0018c070ldr x5, [sp+64]
    0018c074tbz x5, 63, 0x18c07c
    0018c078b 0x18c0a8
    0018c07c
    0018c07cloc_18c07c:
    0018c07cldr x3, [sp+72]
    0018c080ldr x4, [sp+80]
    0018c084ldr x2, [sp+64]
    0018c088ldr x0, [sp+104]
    0018c08cldr x1, [sp+112]
    0018c090bl sort.siftDown_func
    0018c094b 0x18c098
    0018c098
    0018c098loc_18c098:
    0018c098ldr x5, [sp+64]
    0018c09csub x5, x5, 1
    0018c0a0str x5, [sp+64]
    0018c0a4b 0x18c070
    0018c0a8
    0018c0a8loc_18c0a8:
    0018c0a8ldr x2, [sp+72]
    0018c0acsub x2, x2, 1
    0018c0b0str x2, [sp+56]
    0018c0b4b 0x18c0b8
    0018c0b8
    0018c0b8loc_18c0b8:
    0018c0b8ldr x2, [sp+56]
    0018c0bctbz x2, 63, 0x18c0c4
    0018c0c0b 0x18c10c
    0018c0c4
    0018c0c4loc_18c0c4:
    0018c0c4ldr x26, [sp+112]
    0018c0c8ldr x0, [sp+80]
    0018c0ccldr x2, [x26]
    0018c0d0ldr x3, [sp+80]
    0018c0d4ldr x4, [sp+56]
    0018c0d8add x1, x3, x4
    0018c0dcblr x2
    0018c0e0ldr x3, [sp+56]
    0018c0e4ldr x4, [sp+80]
    0018c0e8ldr x2, [sp+48]
    0018c0ecldr x0, [sp+104]
    0018c0f0ldr x1, [sp+112]
    0018c0f4bl sort.siftDown_func
    0018c0f8b 0x18c0fc
    0018c0fc
    0018c0fcloc_18c0fc:
    0018c0fcldr x2, [sp+56]
    0018c100sub x2, x2, 1
    0018c104str x2, [sp+56]
    0018c108b 0x18c0b8
    0018c10c
    0018c10cloc_18c10c:
    0018c10cldur x29, [sp-8]
    0018c110ldr x30, [sp], 96
    0018c114ret x30
    0018c118
    0018c118loc_18c118:
    0018c118stp x0, x1, [sp+8]
    0018c11cstp x2, x3, [sp+24]
    0018c120mov x3, x30
    0018c124bl runtime.morestack_noctxt.abi0
    0018c128ldp x0, x1, [sp+8]
    0018c12cldp x2, x3, [sp+24]
    0018c130b 0x18c020
    0018c134udf 0
    0018c138udf 0
    0018c13cudf 0
    0018c020
    0018c140
    0018c140sort.pdqsort_func: ; void sort.pdqsort_func(sort.lessSwap data, int a, int b, int limit)
    0018c140ldr x16, [x28+16]
    0018c144sub x17, sp, 48
    0018c148subs xzr, x17, x16
    0018c14cb.ls 0x18c488
    0018c150str x30, [sp-176]!
    0018c154stur x29, [sp-8]
    0018c158sub x29, sp, 8
    0018c15cstr x0, [sp+184]
    0018c160str x1, [sp+192]
    0018c164str x2, [sp+200]
    0018c168str x3, [sp+208]
    0018c16cstr x4, [sp+216]
    0018c170orr x4, xzr, 1
    0018c174strb w4, [sp+59]
    0018c178strb w4, [sp+58]
    0018c17cb 0x18c180
    0018c180
    0018c180loc_18c180:
    0018c180b 0x18c184
    0018c184
    0018c184loc_18c184:
    0018c184ldr x4, [sp+208]
    0018c188ldr x5, [sp+200]
    0018c18csub x4, x4, x5
    0018c190str x4, [sp+96]
    0018c194subs xzr, x4, 12
    0018c198b.le 0x18c1a0
    0018c19cb 0x18c1c0
    0018c1a0
    0018c1a0loc_18c1a0:
    0018c1a0ldr x3, [sp+208]
    0018c1a4ldr x2, [sp+200]
    0018c1a8ldr x0, [sp+184]
    0018c1acldr x1, [sp+192]
    0018c1b0bl sort.insertionSort_func
    0018c1b4ldur x29, [sp-8]
    0018c1b8ldr x30, [sp], 176
    0018c1bcret x30
    0018c1c0
    0018c1c0loc_18c1c0:
    0018c1c0ldr x4, [sp+216]
    0018c1c4cbz x4, 0x18c1cc
    0018c1c8b 0x18c1ec
    0018c1cc
    0018c1ccloc_18c1cc:
    0018c1ccldr x3, [sp+208]
    0018c1d0ldr x2, [sp+200]
    0018c1d4ldr x0, [sp+184]
    0018c1d8ldr x1, [sp+192]
    0018c1dcbl sort.heapSort_func
    0018c1e0ldur x29, [sp-8]
    0018c1e4ldr x30, [sp], 176
    0018c1e8ret x30
    0018c1ec
    0018c1ecloc_18c1ec:
    0018c1ecldrb w4, [sp+59]
    0018c1f0tbnz w4, 0, 0x18c1f8
    0018c1f4b 0x18c1fc
    0018c1f8
    0018c1f8loc_18c1f8:
    0018c1f8b 0x18c220
    0018c1fc
    0018c1fcloc_18c1fc:
    0018c1fcldr x3, [sp+208]
    0018c200ldr x2, [sp+200]
    0018c204ldr x0, [sp+184]
    0018c208ldr x1, [sp+192]
    0018c20cbl sort.breakPatterns_func
    0018c210ldr x4, [sp+216]
    0018c214sub x4, x4, 1
    0018c218str x4, [sp+216]
    0018c21cb 0x18c220
    0018c220
    0018c220loc_18c220:
    0018c220ldr x3, [sp+208]
    0018c224ldr x2, [sp+200]
    0018c228ldr x0, [sp+184]
    0018c22cldr x1, [sp+192]
    0018c230bl sort.choosePivot_func
    0018c234str x0, [sp+144]
    0018c238str x1, [sp+136]
    0018c23cstr x0, [sp+128]
    0018c240str x1, [sp+160]
    0018c244str x0, [sp+72]
    0018c248str x1, [sp+112]
    0018c24csubs xzr, x1, 2
    0018c250b.eq 0x18c258
    0018c254b 0x18c294
    0018c258
    0018c258loc_18c258:
    0018c258ldr x3, [sp+208]
    0018c25cldr x2, [sp+200]
    0018c260ldr x0, [sp+184]
    0018c264ldr x1, [sp+192]
    0018c268bl sort.reverseRange_func
    0018c26cldr x4, [sp+208]
    0018c270ldr x5, [sp+72]
    0018c274ldr x6, [sp+200]
    0018c278add x4, x4, x6
    0018c27csub x4, x4, x5
    0018c280sub x4, x4, 1
    0018c284str x4, [sp+72]
    0018c288orr x4, xzr, 1
    0018c28cstr x4, [sp+112]
    0018c290b 0x18c29c
    0018c294
    0018c294loc_18c294:
    0018c294orr x4, xzr, 1
    0018c298b 0x18c29c
    0018c29c
    0018c29cloc_18c29c:
    0018c29cldrb w5, [sp+59]
    0018c2a0strb w5, [sp+61]
    0018c2a4tbnz w5, 0, 0x18c2ac
    0018c2a8b 0x18c2b8
    0018c2ac
    0018c2acloc_18c2ac:
    0018c2acldrb w5, [sp+58]
    0018c2b0strb w5, [sp+61]
    0018c2b4b 0x18c2bc
    0018c2b8
    0018c2b8loc_18c2b8:
    0018c2b8b 0x18c2bc
    0018c2bc
    0018c2bcloc_18c2bc:
    0018c2bcldrb w5, [sp+61]
    0018c2c0strb w5, [sp+62]
    0018c2c4tbnz w5, 0, 0x18c2cc
    0018c2c8b 0x18c2e0
    0018c2cc
    0018c2ccloc_18c2cc:
    0018c2ccldr x5, [sp+112]
    0018c2d0subs xzr, x5, 1
    0018c2d4cset x5, eq
    0018c2d8strb w5, [sp+62]
    0018c2dcb 0x18c2e4
    0018c2e0
    0018c2e0loc_18c2e0:
    0018c2e0b 0x18c2e4
    0018c2e4
    0018c2e4loc_18c2e4:
    0018c2e4ldrb w5, [sp+62]
    0018c2e8tbnz w5, 0, 0x18c2f0
    0018c2ecb 0x18c320
    0018c2f0
    0018c2f0loc_18c2f0:
    0018c2f0ldr x3, [sp+208]
    0018c2f4ldr x2, [sp+200]
    0018c2f8ldr x0, [sp+184]
    0018c2fcldr x1, [sp+192]
    0018c300bl sort.partialInsertionSort_func
    0018c304strb w0, [sp+61]
    0018c308tbnz w0, 0, 0x18c310
    0018c30cb 0x18c31c
    0018c310
    0018c310loc_18c310:
    0018c310ldur x29, [sp-8]
    0018c314ldr x30, [sp], 176
    0018c318ret x30
    0018c31c
    0018c31cloc_18c31c:
    0018c31cb 0x18c324
    0018c320
    0018c320loc_18c320:
    0018c320b 0x18c324
    0018c324
    0018c324loc_18c324:
    0018c324ldr x5, [sp+200]
    0018c328subs xzr, x5, 0
    0018c32ccset x5, gt
    0018c330strb w5, [sp+61]
    0018c334b.gt 0x18c33c
    0018c338b 0x18c364
    0018c33c
    0018c33cloc_18c33c:
    0018c33cldr x26, [sp+184]
    0018c340ldr x1, [sp+72]
    0018c344ldr x2, [x26]
    0018c348ldr x3, [sp+200]
    0018c34csub x0, x3, 1
    0018c350blr x2
    0018c354strb w0, [sp+62]
    0018c358eor x2, x0, 1
    0018c35cstrb w2, [sp+61]
    0018c360b 0x18c368
    0018c364
    0018c364loc_18c364:
    0018c364b 0x18c368
    0018c368
    0018c368loc_18c368:
    0018c368ldrb w5, [sp+61]
    0018c36ctbnz w5, 0, 0x18c374
    0018c370b 0x18c398
    0018c374
    0018c374loc_18c374:
    0018c374ldr x3, [sp+208]
    0018c378ldr x4, [sp+72]
    0018c37cldr x2, [sp+200]
    0018c380ldr x0, [sp+184]
    0018c384ldr x1, [sp+192]
    0018c388bl sort.partitionEqual_func
    0018c38cstr x0, [sp+88]
    0018c390str x0, [sp+200]
    0018c394b 0x18c484
    0018c398
    0018c398loc_18c398:
    0018c398ldr x3, [sp+208]
    0018c39cldr x4, [sp+72]
    0018c3a0ldr x2, [sp+200]
    0018c3a4ldr x0, [sp+184]
    0018c3a8ldr x1, [sp+192]
    0018c3acbl sort.partition_func
    0018c3b0str x0, [sp+144]
    0018c3b4strb w1, [sp+61]
    0018c3b8ldr x5, [sp+144]
    0018c3bcstr x5, [sp+152]
    0018c3c0ldrb w5, [sp+61]
    0018c3c4strb w5, [sp+63]
    0018c3c8ldr x5, [sp+152]
    0018c3ccstr x5, [sp+80]
    0018c3d0ldrb w6, [sp+63]
    0018c3d4strb w6, [sp+60]
    0018c3d8strb w6, [sp+58]
    0018c3dcldr x6, [sp+200]
    0018c3e0ldr x7, [sp+80]
    0018c3e4sub x6, x7, x6
    0018c3e8str x6, [sp+104]
    0018c3ecldr x7, [sp+208]
    0018c3f0sub x5, x7, x5
    0018c3f4str x5, [sp+64]
    0018c3f8ldr x7, [sp+96]
    0018c3fcsbfm x8, x7, 63, 63
    0018c400add x7, x7, x8, lsr #61
    0018c404sbfm x8, x7, 3, 63
    0018c408str x8, [sp+120]
    0018c40csubs xzr, x5, x6
    0018c410b.gt 0x18c418
    0018c414b 0x18c44c
    0018c418
    0018c418loc_18c418:
    0018c418subs xzr, x6, x7, asr #3
    0018c41ccset x5, ge
    0018c420strb w5, [sp+59]
    0018c424ldr x3, [sp+80]
    0018c428ldr x4, [sp+216]
    0018c42cldr x2, [sp+200]
    0018c430ldr x0, [sp+184]
    0018c434ldr x1, [sp+192]
    0018c438bl sort.pdqsort_func
    0018c43cldr x5, [sp+80]
    0018c440add x5, x5, 1
    0018c444str x5, [sp+200]
    0018c448b 0x18c480
    0018c44c
    0018c44cloc_18c44c:
    0018c44csubs xzr, x5, x7, asr #3
    0018c450cset x5, ge
    0018c454strb w5, [sp+59]
    0018c458ldr x3, [sp+208]
    0018c45cldr x4, [sp+216]
    0018c460ldr x0, [sp+184]
    0018c464ldr x1, [sp+192]
    0018c468ldr x5, [sp+80]
    0018c46cadd x2, x5, 1
    0018c470bl sort.pdqsort_func
    0018c474ldr x5, [sp+80]
    0018c478str x5, [sp+208]
    0018c47cb 0x18c480
    0018c480
    0018c480loc_18c480:
    0018c480b 0x18c484
    0018c484
    0018c484loc_18c484:
    0018c484b 0x18c180
    0018c488
    0018c488loc_18c488:
    0018c488stp x0, x1, [sp+8]
    0018c48cstp x2, x3, [sp+24]
    0018c490str x4, [sp+40]
    0018c494mov x3, x30
    0018c498bl runtime.morestack_noctxt.abi0
    0018c49cldp x0, x1, [sp+8]
    0018c4a0ldp x2, x3, [sp+24]
    0018c4a4ldr x4, [sp+40]
    0018c4a8b 0x18c140
    0018c4acudf 0
    0018c140
    0018c4b0
    0018c4b0sort.partition_func: ; void sort.partition_func(sort.lessSwap data, int a, int b, int pivot)
    0018c4b0ldr x16, [x28+16]
    0018c4b4subs xzr, sp, x16
    0018c4b8b.ls 0x18c7a4
    0018c4bcstr x30, [sp-64]!
    0018c4c0stur x29, [sp-8]
    0018c4c4sub x29, sp, 8
    0018c4c8str x0, [sp+72]
    0018c4ccstr x1, [sp+80]
    0018c4d0str x2, [sp+88]
    0018c4d4str x3, [sp+96]
    0018c4d8str x4, [sp+104]
    0018c4dcstr xzr, [sp+32]
    0018c4e0strb wzr, [sp+29]
    0018c4e4ldr x26, [sp+80]
    0018c4e8ldr x0, [sp+88]
    0018c4ecldr x1, [sp+104]
    0018c4f0ldr x2, [x26]
    0018c4f4blr x2
    0018c4f8ldr x2, [sp+88]
    0018c4fcadd x2, x2, 1
    0018c500str x2, [sp+48]
    0018c504ldr x2, [sp+96]
    0018c508sub x2, x2, 1
    0018c50cstr x2, [sp+40]
    0018c510b 0x18c514
    0018c514
    0018c514loc_18c514:
    0018c514ldr x2, [sp+40]
    0018c518ldr x3, [sp+48]
    0018c51csubs xzr, x2, x3
    0018c520cset x2, ge
    0018c524strb w2, [sp+31]
    0018c528b.ge 0x18c530
    0018c52cb 0x18c550
    0018c530
    0018c530loc_18c530:
    0018c530ldr x26, [sp+72]
    0018c534ldr x0, [sp+48]
    0018c538ldr x1, [sp+88]
    0018c53cldr x2, [x26]
    0018c540blr x2
    0018c544strb w0, [sp+30]
    0018c548strb w0, [sp+31]
    0018c54cb 0x18c554
    0018c550
    0018c550loc_18c550:
    0018c550b 0x18c554
    0018c554
    0018c554loc_18c554:
    0018c554ldrb w2, [sp+31]
    0018c558tbnz w2, 0, 0x18c560
    0018c55cb 0x18c574
    0018c560
    0018c560loc_18c560:
    0018c560ldr x2, [sp+48]
    0018c564add x2, x2, 1
    0018c568str x2, [sp+48]
    0018c56cb 0x18c570
    0018c570
    0018c570loc_18c570:
    0018c570b 0x18c514
    0018c574
    0018c574loc_18c574:
    0018c574b 0x18c578
    0018c578
    0018c578loc_18c578:
    0018c578ldr x2, [sp+40]
    0018c57cldr x3, [sp+48]
    0018c580subs xzr, x2, x3
    0018c584cset x2, ge
    0018c588strb w2, [sp+31]
    0018c58cb.ge 0x18c594
    0018c590b 0x18c5b8
    0018c594
    0018c594loc_18c594:
    0018c594ldr x26, [sp+72]
    0018c598ldr x0, [sp+40]
    0018c59cldr x1, [sp+88]
    0018c5a0ldr x2, [x26]
    0018c5a4blr x2
    0018c5a8strb w0, [sp+30]
    0018c5aceor x2, x0, 1
    0018c5b0strb w2, [sp+31]
    0018c5b4b 0x18c5bc
    0018c5b8
    0018c5b8loc_18c5b8:
    0018c5b8b 0x18c5bc
    0018c5bc
    0018c5bcloc_18c5bc:
    0018c5bcldrb w2, [sp+31]
    0018c5c0tbnz w2, 0, 0x18c5c8
    0018c5c4b 0x18c5dc
    0018c5c8
    0018c5c8loc_18c5c8:
    0018c5c8ldr x2, [sp+40]
    0018c5ccsub x2, x2, 1
    0018c5d0str x2, [sp+40]
    0018c5d4b 0x18c5d8
    0018c5d8
    0018c5d8loc_18c5d8:
    0018c5d8b 0x18c578
    0018c5dc
    0018c5dcloc_18c5dc:
    0018c5dcldr x2, [sp+40]
    0018c5e0ldr x3, [sp+48]
    0018c5e4subs xzr, x2, x3
    0018c5e8b.lt 0x18c5f0
    0018c5ecb 0x18c624
    0018c5f0
    0018c5f0loc_18c5f0:
    0018c5f0ldr x26, [sp+80]
    0018c5f4ldr x0, [sp+40]
    0018c5f8ldr x1, [sp+88]
    0018c5fcldr x2, [x26]
    0018c600blr x2
    0018c604ldr x2, [sp+40]
    0018c608str x2, [sp+32]
    0018c60corr x1, xzr, 1
    0018c610strb w1, [sp+29]
    0018c614ldr x0, [sp+32]
    0018c618ldur x29, [sp-8]
    0018c61cldr x30, [sp], 64
    0018c620ret x30
    0018c624
    0018c624loc_18c624:
    0018c624ldr x26, [sp+80]
    0018c628ldr x0, [sp+48]
    0018c62cldr x1, [sp+40]
    0018c630ldr x2, [x26]
    0018c634blr x2
    0018c638ldr x2, [sp+48]
    0018c63cadd x2, x2, 1
    0018c640str x2, [sp+48]
    0018c644ldr x2, [sp+40]
    0018c648sub x2, x2, 1
    0018c64cstr x2, [sp+40]
    0018c650b 0x18c654
    0018c654
    0018c654loc_18c654:
    0018c654b 0x18c658
    0018c658
    0018c658loc_18c658:
    0018c658b 0x18c65c
    0018c65c
    0018c65cloc_18c65c:
    0018c65cldr x2, [sp+40]
    0018c660ldr x3, [sp+48]
    0018c664subs xzr, x2, x3
    0018c668cset x2, ge
    0018c66cstrb w2, [sp+31]
    0018c670b.ge 0x18c678
    0018c674b 0x18c698
    0018c678
    0018c678loc_18c678:
    0018c678ldr x26, [sp+72]
    0018c67cldr x0, [sp+48]
    0018c680ldr x1, [sp+88]
    0018c684ldr x2, [x26]
    0018c688blr x2
    0018c68cstrb w0, [sp+30]
    0018c690strb w0, [sp+31]
    0018c694b 0x18c69c
    0018c698
    0018c698loc_18c698:
    0018c698b 0x18c69c
    0018c69c
    0018c69cloc_18c69c:
    0018c69cldrb w2, [sp+31]
    0018c6a0tbnz w2, 0, 0x18c6a8
    0018c6a4b 0x18c6bc
    0018c6a8
    0018c6a8loc_18c6a8:
    0018c6a8ldr x2, [sp+48]
    0018c6acadd x2, x2, 1
    0018c6b0str x2, [sp+48]
    0018c6b4b 0x18c6b8
    0018c6b8
    0018c6b8loc_18c6b8:
    0018c6b8b 0x18c65c
    0018c6bc
    0018c6bcloc_18c6bc:
    0018c6bcb 0x18c6c0
    0018c6c0
    0018c6c0loc_18c6c0:
    0018c6c0ldr x2, [sp+40]
    0018c6c4ldr x3, [sp+48]
    0018c6c8subs xzr, x2, x3
    0018c6cccset x2, ge
    0018c6d0strb w2, [sp+31]
    0018c6d4b.ge 0x18c6dc
    0018c6d8b 0x18c700
    0018c6dc
    0018c6dcloc_18c6dc:
    0018c6dcldr x26, [sp+72]
    0018c6e0ldr x0, [sp+40]
    0018c6e4ldr x1, [sp+88]
    0018c6e8ldr x2, [x26]
    0018c6ecblr x2
    0018c6f0strb w0, [sp+30]
    0018c6f4eor x2, x0, 1
    0018c6f8strb w2, [sp+31]
    0018c6fcb 0x18c704
    0018c700
    0018c700loc_18c700:
    0018c700b 0x18c704
    0018c704
    0018c704loc_18c704:
    0018c704ldrb w2, [sp+31]
    0018c708tbnz w2, 0, 0x18c710
    0018c70cb 0x18c724
    0018c710
    0018c710loc_18c710:
    0018c710ldr x2, [sp+40]
    0018c714sub x2, x2, 1
    0018c718str x2, [sp+40]
    0018c71cb 0x18c720
    0018c720
    0018c720loc_18c720:
    0018c720b 0x18c6c0
    0018c724
    0018c724loc_18c724:
    0018c724ldr x2, [sp+40]
    0018c728ldr x3, [sp+48]
    0018c72csubs xzr, x2, x3
    0018c730b.lt 0x18c738
    0018c734b 0x18c770
    0018c738
    0018c738loc_18c738:
    0018c738b 0x18c73c
    0018c73c
    0018c73cloc_18c73c:
    0018c73cldr x26, [sp+80]
    0018c740ldr x0, [sp+40]
    0018c744ldr x1, [sp+88]
    0018c748ldr x2, [x26]
    0018c74cblr x2
    0018c750ldr x2, [sp+40]
    0018c754str x2, [sp+32]
    0018c758strb wzr, [sp+29]
    0018c75cldr x0, [sp+32]
    0018c760mov x1, xzr
    0018c764ldur x29, [sp-8]
    0018c768ldr x30, [sp], 64
    0018c76cret x30
    0018c770
    0018c770loc_18c770:
    0018c770ldr x26, [sp+80]
    0018c774ldr x0, [sp+48]
    0018c778ldr x1, [sp+40]
    0018c77cldr x2, [x26]
    0018c780blr x2
    0018c784ldr x2, [sp+48]
    0018c788add x2, x2, 1
    0018c78cstr x2, [sp+48]
    0018c790ldr x2, [sp+40]
    0018c794sub x2, x2, 1
    0018c798str x2, [sp+40]
    0018c79cb 0x18c7a0
    0018c7a0
    0018c7a0loc_18c7a0:
    0018c7a0b 0x18c654
    0018c7a4
    0018c7a4loc_18c7a4:
    0018c7a4stp x0, x1, [sp+8]
    0018c7a8stp x2, x3, [sp+24]
    0018c7acstr x4, [sp+40]
    0018c7b0mov x3, x30
    0018c7b4bl runtime.morestack_noctxt.abi0
    0018c7b8ldp x0, x1, [sp+8]
    0018c7bcldp x2, x3, [sp+24]
    0018c7c0ldr x4, [sp+40]
    0018c7c4b 0x18c4b0
    0018c7c8udf 0
    0018c7ccudf 0
    0018c4b0
    0018c7d0
    0018c7d0sort.partitionEqual_func: ; void sort.partitionEqual_func(sort.lessSwap data, int a, int b, int pivot)
    0018c7d0ldr x16, [x28+16]
    0018c7d4subs xzr, sp, x16
    0018c7d8b.ls 0x18c960
    0018c7dcstr x30, [sp-64]!
    0018c7e0stur x29, [sp-8]
    0018c7e4sub x29, sp, 8
    0018c7e8str x0, [sp+72]
    0018c7ecstr x1, [sp+80]
    0018c7f0str x2, [sp+88]
    0018c7f4str x3, [sp+96]
    0018c7f8str x4, [sp+104]
    0018c7fcstr xzr, [sp+32]
    0018c800ldr x26, [sp+80]
    0018c804ldr x3, [x26]
    0018c808mov x0, x2
    0018c80cmov x1, x4
    0018c810blr x3
    0018c814ldr x2, [sp+88]
    0018c818add x2, x2, 1
    0018c81cstr x2, [sp+48]
    0018c820ldr x2, [sp+96]
    0018c824sub x2, x2, 1
    0018c828str x2, [sp+40]
    0018c82cb 0x18c830
    0018c830
    0018c830loc_18c830:
    0018c830b 0x18c834
    0018c834
    0018c834loc_18c834:
    0018c834b 0x18c838
    0018c838
    0018c838loc_18c838:
    0018c838ldr x2, [sp+40]
    0018c83cldr x3, [sp+48]
    0018c840subs xzr, x2, x3
    0018c844cset x2, ge
    0018c848strb w2, [sp+31]
    0018c84cb.ge 0x18c854
    0018c850b 0x18c878
    0018c854
    0018c854loc_18c854:
    0018c854ldr x26, [sp+72]
    0018c858ldr x0, [sp+88]
    0018c85cldr x1, [sp+48]
    0018c860ldr x2, [x26]
    0018c864blr x2
    0018c868strb w0, [sp+30]
    0018c86ceor x2, x0, 1
    0018c870strb w2, [sp+31]
    0018c874b 0x18c87c
    0018c878
    0018c878loc_18c878:
    0018c878b 0x18c87c
    0018c87c
    0018c87cloc_18c87c:
    0018c87cldrb w2, [sp+31]
    0018c880tbnz w2, 0, 0x18c888
    0018c884b 0x18c89c
    0018c888
    0018c888loc_18c888:
    0018c888ldr x2, [sp+48]
    0018c88cadd x2, x2, 1
    0018c890str x2, [sp+48]
    0018c894b 0x18c898
    0018c898
    0018c898loc_18c898:
    0018c898b 0x18c838
    0018c89c
    0018c89cloc_18c89c:
    0018c89cb 0x18c8a0
    0018c8a0
    0018c8a0loc_18c8a0:
    0018c8a0ldr x2, [sp+40]
    0018c8a4ldr x3, [sp+48]
    0018c8a8subs xzr, x2, x3
    0018c8accset x2, ge
    0018c8b0strb w2, [sp+31]
    0018c8b4b.ge 0x18c8bc
    0018c8b8b 0x18c8dc
    0018c8bc
    0018c8bcloc_18c8bc:
    0018c8bcldr x26, [sp+72]
    0018c8c0ldr x0, [sp+88]
    0018c8c4ldr x1, [sp+40]
    0018c8c8ldr x2, [x26]
    0018c8ccblr x2
    0018c8d0strb w0, [sp+30]
    0018c8d4strb w0, [sp+31]
    0018c8d8b 0x18c8e0
    0018c8dc
    0018c8dcloc_18c8dc:
    0018c8dcb 0x18c8e0
    0018c8e0
    0018c8e0loc_18c8e0:
    0018c8e0ldrb w2, [sp+31]
    0018c8e4tbnz w2, 0, 0x18c8ec
    0018c8e8b 0x18c900
    0018c8ec
    0018c8ecloc_18c8ec:
    0018c8ecldr x2, [sp+40]
    0018c8f0sub x2, x2, 1
    0018c8f4str x2, [sp+40]
    0018c8f8b 0x18c8fc
    0018c8fc
    0018c8fcloc_18c8fc:
    0018c8fcb 0x18c8a0
    0018c900
    0018c900loc_18c900:
    0018c900ldr x2, [sp+40]
    0018c904ldr x3, [sp+48]
    0018c908subs xzr, x2, x3
    0018c90cb.lt 0x18c914
    0018c910b 0x18c92c
    0018c914
    0018c914loc_18c914:
    0018c914b 0x18c918
    0018c918
    0018c918loc_18c918:
    0018c918ldr x0, [sp+48]
    0018c91cstr x0, [sp+32]
    0018c920ldur x29, [sp-8]
    0018c924ldr x30, [sp], 64
    0018c928ret x30
    0018c92c
    0018c92cloc_18c92c:
    0018c92cldr x26, [sp+80]
    0018c930ldr x0, [sp+48]
    0018c934ldr x1, [sp+40]
    0018c938ldr x2, [x26]
    0018c93cblr x2
    0018c940ldr x2, [sp+48]
    0018c944add x2, x2, 1
    0018c948str x2, [sp+48]
    0018c94cldr x2, [sp+40]
    0018c950sub x2, x2, 1
    0018c954str x2, [sp+40]
    0018c958b 0x18c95c
    0018c95c
    0018c95cloc_18c95c:
    0018c95cb 0x18c830
    0018c960
    0018c960loc_18c960:
    0018c960stp x0, x1, [sp+8]
    0018c964stp x2, x3, [sp+24]
    0018c968str x4, [sp+40]
    0018c96cmov x3, x30
    0018c970bl runtime.morestack_noctxt.abi0
    0018c974ldp x0, x1, [sp+8]
    0018c978ldp x2, x3, [sp+24]
    0018c97cldr x4, [sp+40]
    0018c980b 0x18c7d0
    0018c984udf 0
    0018c988udf 0
    0018c98cudf 0
    0018c7d0
    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