File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    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
    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