File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    001af290
    001af290Stdlib.Array.split:
    001af290sub rsp, 32
    001af294mov [rsp+16], rax
    001af299lea rsi, [rip+0x18ea00]
    001af2a0mov rdi, rax
    001af2a3lea rax, [rip+0x51636]
    001af2aacall caml_c_call
    001af2afcmp rax, 1
    001af2b3je 0x1af2c4
    001af2b5lea rax, [rip+0x18e99c]
    001af2bcadd rsp, 32
    001af2c0ret
    001af2c1
    001af2c1 0f 1f 00 ...
    001af2c4
    001af2c4loc_1af2c4:
    001af2c4mov rbx, [rsp+16]
    001af2c9mov rax, [rbx]
    001af2ccmov [rsp], rax
    001af2d0mov rdi, [rbx-8]
    001af2d4shr rdi, 9
    001af2d8or rdi, 1
    001af2dcmov [rsp+8], rdi
    001af2e1mov rsi, [rax]
    001af2e4lea rax, [rip+0x4a9b5]
    001af2ebcall caml_c_call
    001af2f0mov [rsp+24], rax
    001af2f5mov rax, [rsp]
    001af2f9mov rsi, [rax+8]
    001af2fdmov rdi, [rsp+8]
    001af302lea rax, [rip+0x4a997]
    001af309call caml_c_call
    001af30emov r13, rax
    001af311mov r12l, 3
    001af317mov rax, [rsp+8]
    001af31cadd rax, -2
    001af320cmp r12, rax
    001af323jg 0x1af3c7
    001af329mov [rsp+8], rax
    001af32emov [rsp], r13
    001af332
    001af332loc_1af332:
    001af332mov rax, [rsp+16]
    001af337mov r13, [rax+4*r12-4]
    001af33cmov rsi, [r13]
    001af340mov rbx, [rsp+24]
    001af345movzx rax, [rbx-8]
    001af34acmp rax, 254
    001af350je 0x1af368
    001af352lea rdi, [rbx+4*r12-4]
    001af357mov rbx, rsp
    001af35amov rsp, [r14+64]
    001af35ecall caml_modify
    001af363mov rsp, rbx
    001af366jmp 0x1af373
    001af368
    001af368loc_1af368:
    001af368movsd_xmm x0, [rsi]
    001af36cmovsd_xmm [rbx+4*r12-4], x0
    001af373
    001af373loc_1af373:
    001af373mov rsi, [r13+8]
    001af377mov r13, [rsp]
    001af37bmovzx rax, [r13-8]
    001af380cmp rax, 254
    001af386je 0x1af3a0
    001af388lea rdi, [r13+4*r12-4]
    001af38dmov rbx, rsp
    001af390mov rsp, [r14+64]
    001af394call caml_modify
    001af399mov rsp, rbx
    001af39cjmp 0x1af3ab
    001af39e
    001af39e 66 90 f.
    001af3a0
    001af3a0loc_1af3a0:
    001af3a0movsd_xmm x0, [rsi]
    001af3a4movsd_xmm [r13+4*r12-4], x0
    001af3ab
    001af3abloc_1af3ab:
    001af3abmov rax, r12
    001af3aeadd r12, 2
    001af3b2mov rbx, [rsp+8]
    001af3b7cmp rax, rbx
    001af3baje 0x1af3c7
    001af3bccmp r15, [r14]
    001af3bfja 0x1af332
    001af3c5jmp 0x1af3f4
    001af3c7
    001af3c7loc_1af3c7:
    001af3c7sub r15, 24
    001af3cbcmp r15, [r14]
    001af3cejb 0x1af3ed
    001af3d0
    001af3d0loc_1af3d0:
    001af3d0lea rax, [r15+8]
    001af3d4mov [rax-8], 2048
    001af3dcmov rbx, [rsp+24]
    001af3e1mov [rax], rbx
    001af3e4mov [rax+8], r13
    001af3e8add rsp, 32
    001af3ecret
    001af3ed
    001af3edloc_1af3ed:
    001af3edcall caml_call_gc
    001af3f2jmp 0x1af3d0
    001af3f4
    001af3f4loc_1af3f4:
    001af3f4call caml_call_gc
    001af3f9jmp 0x1af332
    001af290
    001af3fe
    001af3fe // align 0x10
    001af400
    001af400Stdlib.Array.combine:
    001af400lea r10, [rsp-344]
    001af408cmp r10, [r14+40]
    001af40cjb 0x1af622
    001af412
    001af412loc_1af412:
    001af412sub rsp, 24
    001af416mov [rsp+16], rax
    001af41bmov [rsp+8], rbx
    001af420mov rax, [rax-8]
    001af424shr rax, 9
    001af428or rax, 1
    001af42cmov [rsp], rax
    001af430mov rbx, [rbx-8]
    001af434shr rbx, 9
    001af438or rbx, 1
    001af43ccmp rax, rbx
    001af43fje 0x1af44d
    001af441lea rax, [rip+0x18e7f8]
    001af448call camlStdlib.invalid_arg_10
    001af44d
    001af44dloc_1af44d:
    001af44dmov rdi, [rsp]
    001af451cmp rdi, 1
    001af455jne 0x1af464
    001af457lea rax, [rip+0x18e842]
    001af45eadd rsp, 24
    001af462ret
    001af463
    001af463 90 .
    001af464
    001af464loc_1af464:
    001af464mov [rsp], rdi
    001af468mov rbx, [rsp+8]
    001af46dmovzx rax, [rbx-8]
    001af472cmp rax, 254
    001af478je 0x1af480
    001af47amov rax, [rbx]
    001af47djmp 0x1af4a1
    001af47f
    001af47f 90 .
    001af480
    001af480loc_1af480:
    001af480sub r15, 16
    001af484cmp r15, [r14]
    001af487jb 0x1af618
    001af48d
    001af48dloc_1af48d:
    001af48dlea rax, [r15+8]
    001af491mov [rax-8], 1277
    001af499movsd_xmm x0, [rbx]
    001af49dmovsd_xmm [rax], x0
    001af4a1
    001af4a1loc_1af4a1:
    001af4a1mov rsi, [rsp+16]
    001af4a6movzx rbx, [rsi-8]
    001af4abcmp rbx, 254
    001af4b2je 0x1af4bc
    001af4b4mov rbx, [rsi]
    001af4b7jmp 0x1af4dd
    001af4b9
    001af4b9 0f 1f 00 ...
    001af4bc
    001af4bcloc_1af4bc:
    001af4bcsub r15, 16
    001af4c0cmp r15, [r14]
    001af4c3jb 0x1af60e
    001af4c9
    001af4c9loc_1af4c9:
    001af4c9lea rbx, [r15+8]
    001af4cdmov [rbx-8], 1277
    001af4d5movsd_xmm x0, [rsi]
    001af4d9movsd_xmm [rbx], x0
    001af4dd
    001af4ddloc_1af4dd:
    001af4ddsub r15, 24
    001af4e1cmp r15, [r14]
    001af4e4jb 0x1af604
    001af4ea
    001af4ealoc_1af4ea:
    001af4ealea rsi, [r15+8]
    001af4eemov [rsi-8], 2048
    001af4f6mov [rsi], rbx
    001af4f9mov [rsi+8], rax
    001af4fdlea rax, [rip+0x4a79c]
    001af504call caml_c_call
    001af509mov r13, rax
    001af50cmov r12l, 3
    001af512mov rax, [rsp]
    001af516add rax, -2
    001af51acmp r12, rax
    001af51djg 0x1af5e4
    001af523mov [rsp], rax
    001af527
    001af527loc_1af527:
    001af527mov rbx, [rsp+8]
    001af52cmovzx rax, [rbx-8]
    001af531cmp rax, 254
    001af537je 0x1af540
    001af539mov rax, [rbx+4*r12-4]
    001af53ejmp 0x1af564
    001af540
    001af540loc_1af540:
    001af540sub r15, 16
    001af544cmp r15, [r14]
    001af547jb 0x1af5fa
    001af54d
    001af54dloc_1af54d:
    001af54dlea rax, [r15+8]
    001af551mov [rax-8], 1277
    001af559movsd_xmm x0, [rbx+4*r12-4]
    001af560movsd_xmm [rax], x0
    001af564
    001af564loc_1af564:
    001af564mov rdi, [rsp+16]
    001af569movzx rbx, [rdi-8]
    001af56ecmp rbx, 254
    001af575je 0x1af580
    001af577mov rbx, [rdi+4*r12-4]
    001af57cjmp 0x1af5a0
    001af57e
    001af57e 66 90 f.
    001af580
    001af580loc_1af580:
    001af580sub r15, 16
    001af584cmp r15, [r14]
    001af587jb 0x1af5f3
    001af589
    001af589loc_1af589:
    001af589lea rbx, [r15+8]
    001af58dmov [rbx-8], 1277
    001af595movsd_xmm x0, [rdi+4*r12-4]
    001af59cmovsd_xmm [rbx], x0
    001af5a0
    001af5a0loc_1af5a0:
    001af5a0sub r15, 24
    001af5a4cmp r15, [r14]
    001af5a7jb 0x1af5ec
    001af5a9
    001af5a9loc_1af5a9:
    001af5a9lea rsi, [r15+8]
    001af5admov [rsi-8], 2048
    001af5b5mov [rsi], rbx
    001af5b8mov [rsi+8], rax
    001af5bclea rdi, [r13+4*r12-4]
    001af5c1mov rbx, rsp
    001af5c4mov rsp, [r14+64]
    001af5c8call caml_modify
    001af5cdmov rsp, rbx
    001af5d0mov rax, r12
    001af5d3add r12, 2
    001af5d7mov rbx, [rsp]
    001af5dbcmp rax, rbx
    001af5dejne 0x1af527
    001af5e4
    001af5e4loc_1af5e4:
    001af5e4mov rax, r13
    001af5e7add rsp, 24
    001af5ebret
    001af5ec
    001af5ecloc_1af5ec:
    001af5eccall caml_call_gc
    001af5f1jmp 0x1af5a9
    001af5f3
    001af5f3loc_1af5f3:
    001af5f3call caml_call_gc
    001af5f8jmp 0x1af589
    001af5fa
    001af5faloc_1af5fa:
    001af5facall caml_call_gc
    001af5ffjmp 0x1af54d
    001af604
    001af604loc_1af604:
    001af604call caml_call_gc
    001af609jmp 0x1af4ea
    001af60e
    001af60eloc_1af60e:
    001af60ecall caml_call_gc
    001af613jmp 0x1af4c9
    001af618
    001af618loc_1af618:
    001af618call caml_call_gc
    001af61djmp 0x1af48d
    001af622
    001af622loc_1af622:
    001af622push 36
    001af624call caml_call_realloc_stack
    001af629pop r10
    001af62bjmp 0x1af412
    001af400
    001af630
    001af630Stdlib.Array.sort:
    001af630lea r10, [rsp-392]
    001af638cmp r10, [r14+40]
    001af63cjb 0x1afbff
    001af642
    001af642loc_1af642:
    001af642sub rsp, 56
    001af646mov [rsp+40], rbx
    001af64bsub r15, 200
    001af652cmp r15, [r14]
    001af655jb 0x1afbc8
    001af65b
    001af65bloc_1af65b:
    001af65blea rdi, [r15+8]
    001af65fadd rdi, 152
    001af666mov [rdi-8], 5367
    001af66elea rdx, [rip-0xb8655]
    001af675mov [rdi], rdx
    001af678mov rsi, 0x200000000000007
    001af682mov [rdi+8], rsi
    001af686lea rsi, [rip+1411]
    001af68dmov [rdi+16], rsi
    001af691mov [rdi+24], rax
    001af695mov [rdi+32], rbx
    001af699lea rsi, [rdi-56]
    001af69dmov [rsi-8], 6391
    001af6a5lea rcx, [rip-0xb877c]
    001af6acmov [rsi], rcx
    001af6afmov rcx, 0x300000000000007
    001af6b9mov [rsi+8], rcx
    001af6bdlea rcx, [rip+2252]
    001af6c4mov [rsi+16], rcx
    001af6c8mov [rsi+24], rax
    001af6ccmov [rsi+32], rbx
    001af6d0mov [rsi+40], rdi
    001af6d4lea rcx, [rsi-48]
    001af6d8mov [rsp+24], rcx
    001af6ddmov [rcx-8], 5367
    001af6e5mov [rcx], rdx
    001af6e8mov r8, 0x200000000000007
    001af6f2mov [rcx+8], r8
    001af6f6lea r8, [rip+2739]
    001af6fdmov [rcx+16], r8
    001af701mov [rcx+24], rbx
    001af705mov [rcx+32], rdi
    001af709lea rdi, [rcx-48]
    001af70dmov [rsp+8], rdi
    001af712mov [rdi-8], 5367
    001af71amov [rdi], rdx
    001af71dmov rdx, 0x200000000000007
    001af727mov [rdi+8], rdx
    001af72blea rdx, [rip+2958]
    001af732mov [rdi+16], rdx
    001af736mov [rdi+24], rax
    001af73amov [rdi+32], rbx
    001af73emov rax, [rbx-8]
    001af742shr rax, 9
    001af746or rax, 1
    001af74amov [rsp+32], rax
    001af74fadd rax, 2
    001af753sar rax, 1
    001af756mov rbx, rax
    001af759shr rbx, 63
    001af75dmov rdi, 0x5555555555555556
    001af767imul rdi
    001af76aadd rdx, rbx
    001af76dlea rbx, [rdx+rdx-1]
    001af772cmp rbx, 1
    001af776jl 0x1af8ad
    001af77cmov [rsp+16], rbx
    001af781mov [rsp], rsi
    001af785
    001af785loc_1af785:
    001af785mov rsi, [rsp+40]
    001af78amov rax, [rsi-8]
    001af78emov rdi, rax
    001af791shr rdi, 9
    001af795cmp rdi, rbx
    001af798jbe 0x1afbfa
    001af79eand rax, 255
    001af7a4cmp rax, 254
    001af7aaje 0x1af7b8
    001af7acmov rdi, [rsi+4*rbx-4]
    001af7b1mov [rsp+48], rdi
    001af7b6jmp 0x1af7e0
    001af7b8
    001af7b8loc_1af7b8:
    001af7b8sub r15, 16
    001af7bccmp r15, [r14]
    001af7bfjb 0x1afbbe
    001af7c5
    001af7c5loc_1af7c5:
    001af7c5lea rdi, [r15+8]
    001af7c9mov [rdi-8], 1277
    001af7d1movsd_xmm x0, [rsi+4*rbx-4]
    001af7d7movsd_xmm [rdi], x0
    001af7dbmov [rsp+48], rdi
    001af7e0
    001af7e0loc_1af7e0:
    001af7e0lea r11, [rip+37]
    001af7e7push r11
    001af7e9push [r14+48]
    001af7edmov [r14+48], rsp
    001af7f1mov rax, [rsp+48]
    001af7f6mov rsi, [rsp+16]
    001af7fbcall Stdlib.Array.trickledown
    001af800pop [r14+48]
    001af804add rsp, 8
    001af808jmp 0x1af888
    001af80a
    001af80a 66 90 f.
    001af80clea rbx, [rip+0x18e09d]
    001af813mov rbx, [rbx+344]
    001af81amov rdi, [rax]
    001af81dcmp rdi, rbx
    001af820jne 0x1af880
    001af822mov rax, [rax+8]
    001af826mov rsi, [rsp+40]
    001af82bmov rbx, [rsi-8]
    001af82fmov rdi, rbx
    001af832shr rdi, 9
    001af836cmp rdi, rax
    001af839jbe 0x1afbf5
    001af83fand rbx, 255
    001af846cmp rbx, 254
    001af84dje 0x1af86c
    001af84flea rdi, [rsi+4*rax-4]
    001af854mov rsi, [rsp+48]
    001af859mov rbx, rsp
    001af85cmov rsp, [r14+64]
    001af860call caml_modify
    001af865mov rsp, rbx
    001af868jmp 0x1af888
    001af86a
    001af86a 66 90 f.
    001af86c
    001af86cloc_1af86c:
    001af86cmov rbx, [rsp+48]
    001af871movsd_xmm x0, [rbx]
    001af875movsd_xmm [rsi+4*rax-4], x0
    001af87bjmp 0x1af888
    001af87d
    001af87d 0f 1f 00 ...
    001af880
    001af880loc_1af880:
    001af880call caml_reraise_exn
    001af885nop [rax]
    001af888
    001af888loc_1af888:
    001af888mov rbx, [rsp+16]
    001af88dmov rax, rbx
    001af890sub rbx, 2
    001af894mov [rsp+16], rbx
    001af899cmp rax, 1
    001af89dje 0x1af8ad
    001af89fcmp r15, [r14]
    001af8a2ja 0x1af785
    001af8a8jmp 0x1afbb4
    001af8ad
    001af8adloc_1af8ad:
    001af8admov r12, [rsp+32]
    001af8b2add r12, -2
    001af8b6cmp r12, 5
    001af8bajl 0x1afa37
    001af8c0mov [rsp+16], r12
    001af8c5
    001af8c5loc_1af8c5:
    001af8c5mov rax, [rsp+40]
    001af8camov rbx, [rax-8]
    001af8cemov rdi, rbx
    001af8d1shr rdi, 9
    001af8d5cmp rdi, r12
    001af8d8jbe 0x1afbf0
    001af8deand rbx, 255
    001af8e5cmp rbx, 254
    001af8ecje 0x1af8fc
    001af8eemov rbx, [rax+4*r12-4]
    001af8f3mov [rsp], rbx
    001af8f7jmp 0x1af924
    001af8f9
    001af8f9 0f 1f 00 ...
    001af8fc
    001af8fcloc_1af8fc:
    001af8fcsub r15, 16
    001af900cmp r15, [r14]
    001af903jb 0x1afbaa
    001af909
    001af909loc_1af909:
    001af909lea rbx, [r15+8]
    001af90dmov [rbx-8], 1277
    001af915movsd_xmm x0, [rax+4*r12-4]
    001af91cmovsd_xmm [rbx], x0
    001af920mov [rsp], rbx
    001af924
    001af924loc_1af924:
    001af924mov rbx, [rax-8]
    001af928cmp rbx, 1023
    001af92fjbe 0x1afbeb
    001af935and rbx, 255
    001af93ccmp rbx, 254
    001af943je 0x1af94c
    001af945mov rsi, [rax]
    001af948jmp 0x1af96d
    001af94a
    001af94a 66 90 f.
    001af94c
    001af94cloc_1af94c:
    001af94csub r15, 16
    001af950cmp r15, [r14]
    001af953jb 0x1afba0
    001af959
    001af959loc_1af959:
    001af959lea rsi, [r15+8]
    001af95dmov [rsi-8], 1277
    001af965movsd_xmm x0, [rax]
    001af969movsd_xmm [rsi], x0
    001af96d
    001af96dloc_1af96d:
    001af96dmov rbx, [rax-8]
    001af971mov rdi, rbx
    001af974shr rdi, 9
    001af978cmp rdi, r12
    001af97bjbe 0x1afbe6
    001af981and rbx, 255
    001af988cmp rbx, 254
    001af98fje 0x1af9a8
    001af991lea rdi, [rax+4*r12-4]
    001af996mov rbx, rsp
    001af999mov rsp, [r14+64]
    001af99dcall caml_modify
    001af9a2mov rsp, rbx
    001af9a5jmp 0x1af9b3
    001af9a7
    001af9a7 90 .
    001af9a8
    001af9a8loc_1af9a8:
    001af9a8movsd_xmm x0, [rsi]
    001af9acmovsd_xmm [rax+4*r12-4], x0
    001af9b3
    001af9b3loc_1af9b3:
    001af9b3lea r11, [rip+38]
    001af9bapush r11
    001af9bcpush [r14+48]
    001af9c0mov [r14+48], rsp
    001af9c4mov ebx, 1
    001af9c9mov rax, r12
    001af9ccmov rdi, [rsp+40]
    001af9d1call Stdlib.Array.bubbledown
    001af9d6pop [r14+48]
    001af9daadd rsp, 8
    001af9dejmp 0x1afa04
    001af9e0lea rbx, [rip+0x18dec9]
    001af9e7mov rbx, [rbx+344]
    001af9eemov rdi, [rax]
    001af9f1cmp rdi, rbx
    001af9f4jne 0x1af9fc
    001af9f6mov rax, [rax+8]
    001af9fajmp 0x1afa04
    001af9fc
    001af9fcloc_1af9fc:
    001af9fccall caml_reraise_exn
    001afa01nop [rax]
    001afa04
    001afa04loc_1afa04:
    001afa04mov rbx, [rsp]
    001afa08mov rdi, [rsp+8]
    001afa0dcall Stdlib.Array.trickleup
    001afa12mov r12, [rsp+16]
    001afa17mov rax, r12
    001afa1asub r12, 2
    001afa1emov [rsp+16], r12
    001afa23cmp rax, 5
    001afa27je 0x1afa37
    001afa29cmp r15, [r14]
    001afa2cja 0x1af8c5
    001afa32jmp 0x1afb96
    001afa37
    001afa37loc_1afa37:
    001afa37mov rax, [rsp+32]
    001afa3ccmp rax, 3
    001afa40jle 0x1afb78
    001afa46mov r12, [rsp+40]
    001afa4bmov rax, [r12-8]
    001afa50cmp rax, 2047
    001afa56jbe 0x1afbe1
    001afa5cand rax, 255
    001afa62cmp rax, 254
    001afa68je 0x1afa74
    001afa6amov r13, [r12+8]
    001afa6fjmp 0x1afa9a
    001afa71
    001afa71 0f 1f 00 ...
    001afa74
    001afa74loc_1afa74:
    001afa74sub r15, 16
    001afa78cmp r15, [r14]
    001afa7bjb 0x1afb8c
    001afa81
    001afa81loc_1afa81:
    001afa81lea r13, [r15+8]
    001afa85mov [r13-8], 1277
    001afa8dmovsd_xmm x0, [r12+8]
    001afa94movsd_xmm [r13], x0
    001afa9a
    001afa9aloc_1afa9a:
    001afa9amov rax, [r12-8]
    001afa9fcmp rax, 1023
    001afaa5jbe 0x1afbdc
    001afaaband rax, 255
    001afab1cmp rax, 254
    001afab7je 0x1afac0
    001afab9mov rsi, [r12]
    001afabdjmp 0x1afae3
    001afabf
    001afabf 90 .
    001afac0
    001afac0loc_1afac0:
    001afac0sub r15, 16
    001afac4cmp r15, [r14]
    001afac7jb 0x1afb82
    001afacd
    001afacdloc_1afacd:
    001afacdlea rsi, [r15+8]
    001afad1mov [rsi-8], 1277
    001afad9movsd_xmm x0, [r12]
    001afadfmovsd_xmm [rsi], x0
    001afae3
    001afae3loc_1afae3:
    001afae3mov rax, [r12-8]
    001afae8cmp rax, 2047
    001afaeejbe 0x1afbd7
    001afaf4and rax, 255
    001afafacmp rax, 254
    001afb00je 0x1afb1c
    001afb02mov rdi, r12
    001afb05add rdi, 8
    001afb09mov rbx, rsp
    001afb0cmov rsp, [r14+64]
    001afb10call caml_modify
    001afb15mov rsp, rbx
    001afb18jmp 0x1afb27
    001afb1a
    001afb1a 66 90 f.
    001afb1c
    001afb1cloc_1afb1c:
    001afb1cmovsd_xmm x0, [rsi]
    001afb20movsd_xmm [r12+8], x0
    001afb27
    001afb27loc_1afb27:
    001afb27mov rax, [r12-8]
    001afb2ccmp rax, 1023
    001afb32jbe 0x1afbd2
    001afb38and rax, 255
    001afb3ecmp rax, 254
    001afb44je 0x1afb60
    001afb46mov rdi, r12
    001afb49mov rsi, r13
    001afb4cmov rbx, rsp
    001afb4fmov rsp, [r14+64]
    001afb53call caml_modify
    001afb58mov rsp, rbx
    001afb5bjmp 0x1afb6c
    001afb5d
    001afb5d 0f 1f 00 ...
    001afb60
    001afb60loc_1afb60:
    001afb60movsd_xmm x0, [r13]
    001afb66movsd_xmm [r12], x0
    001afb6c
    001afb6cloc_1afb6c:
    001afb6cmov eax, 1
    001afb71add rsp, 56
    001afb75ret
    001afb76
    001afb76 66 90 f.
    001afb78
    001afb78loc_1afb78:
    001afb78mov eax, 1
    001afb7dadd rsp, 56
    001afb81ret
    001afb82
    001afb82loc_1afb82:
    001afb82call caml_call_gc
    001afb87jmp 0x1afacd
    001afb8c
    001afb8cloc_1afb8c:
    001afb8ccall caml_call_gc
    001afb91jmp 0x1afa81
    001afb96
    001afb96loc_1afb96:
    001afb96call caml_call_gc
    001afb9bjmp 0x1af8c5
    001afba0
    001afba0loc_1afba0:
    001afba0call caml_call_gc
    001afba5jmp 0x1af959
    001afbaa
    001afbaaloc_1afbaa:
    001afbaacall caml_call_gc
    001afbafjmp 0x1af909
    001afbb4
    001afbb4loc_1afbb4:
    001afbb4call caml_call_gc
    001afbb9jmp 0x1af785
    001afbbe
    001afbbeloc_1afbbe:
    001afbbecall caml_call_gc
    001afbc3jmp 0x1af7c5
    001afbc8
    001afbc8loc_1afbc8:
    001afbc8call caml_call_gc
    001afbcdjmp 0x1af65b
    001afbd2
    001afbd2loc_1afbd2:
    001afbd2call caml_ml_array_bound_error
    001afbd7
    001afbd7loc_1afbd7:
    001afbd7call caml_ml_array_bound_error
    001afbdc
    001afbdcloc_1afbdc:
    001afbdccall caml_ml_array_bound_error
    001afbe1
    001afbe1loc_1afbe1:
    001afbe1call caml_ml_array_bound_error
    001afbe6
    001afbe6loc_1afbe6:
    001afbe6call caml_ml_array_bound_error
    001afbeb
    001afbebloc_1afbeb:
    001afbebcall caml_ml_array_bound_error
    001afbf0
    001afbf0loc_1afbf0:
    001afbf0call caml_ml_array_bound_error
    001afbf5
    001afbf5loc_1afbf5:
    001afbf5call caml_ml_array_bound_error
    001afbfa
    001afbfaloc_1afbfa:
    001afbfacall caml_ml_array_bound_error
    001afbff
    001afbffloc_1afbff:
    001afbffpush 42
    001afc01call caml_call_realloc_stack
    001afc06pop r10
    001afc08jmp 0x1af642
    001af630
    001afc0d
    001afc0d // align 0x10
    001afc10
    001afc10Stdlib.Array.maxson:
    001afc10lea r10, [rsp-344]
    001afc18cmp r10, [r14+40]
    001afc1cjb 0x1aff79
    001afc22
    001afc22loc_1afc22:
    001afc22sub rsp, 24
    001afc26mov rsi, rbx
    001afc29add rsi, rbx
    001afc2cadd rsi, rbx
    001afc2fmov [rsp+16], rsi
    001afc34mov rdx, rsi
    001afc37add rdx, 4
    001afc3bcmp rdx, rax
    001afc3ejge 0x1afdf4
    001afc44mov [rsp+8], rsi
    001afc49mov [rsp], rdi
    001afc4dmov rax, rsi
    001afc50add rax, 2
    001afc54mov rdx, [rdi+32]
    001afc58mov rbx, [rdx-8]
    001afc5cmov rcx, rbx
    001afc5fshr rcx, 9
    001afc63cmp rcx, rax
    001afc66jbe 0x1aff74
    001afc6cand rbx, 255
    001afc73cmp rbx, 254
    001afc7aje 0x1afc84
    001afc7cmov rbx, [rdx+4*rax-4]
    001afc81jmp 0x1afca7
    001afc83
    001afc83 90 .
    001afc84
    001afc84loc_1afc84:
    001afc84sub r15, 16
    001afc88cmp r15, [r14]
    001afc8bjb 0x1aff51
    001afc91
    001afc91loc_1afc91:
    001afc91lea rbx, [r15+8]
    001afc95mov [rbx-8], 1277
    001afc9dmovsd_xmm x0, [rdx+4*rax-4]
    001afca3movsd_xmm [rbx], x0
    001afca7
    001afca7loc_1afca7:
    001afca7mov rdx, [rdi+32]
    001afcabmov rax, [rdx-8]
    001afcafmov rcx, rax
    001afcb2shr rcx, 9
    001afcb6cmp rcx, rsi
    001afcb9jbe 0x1aff6f
    001afcbfand rax, 255
    001afcc5cmp rax, 254
    001afccbje 0x1afcd4
    001afccdmov rax, [rdx+4*rsi-4]
    001afcd2jmp 0x1afcf7
    001afcd4
    001afcd4loc_1afcd4:
    001afcd4sub r15, 16
    001afcd8cmp r15, [r14]
    001afcdbjb 0x1aff47
    001afce1
    001afce1loc_1afce1:
    001afce1lea rax, [r15+8]
    001afce5mov [rax-8], 1277
    001afcedmovsd_xmm x0, [rdx+4*rsi-4]
    001afcf3movsd_xmm [rax], x0
    001afcf7
    001afcf7loc_1afcf7:
    001afcf7mov rdi, [rdi+24]
    001afcfbcall caml_apply2
    001afd00cmp rax, 1
    001afd04jge 0x1afd14
    001afd06mov rsi, [rsp+16]
    001afd0badd rsi, 2
    001afd0fmov [rsp+8], rsi
    001afd14
    001afd14loc_1afd14:
    001afd14mov rax, [rsp+16]
    001afd19add rax, 4
    001afd1dmov rdi, [rsp]
    001afd21mov rsi, [rdi+32]
    001afd25mov rbx, [rsi-8]
    001afd29mov rdx, rbx
    001afd2cshr rdx, 9
    001afd30cmp rdx, rax
    001afd33jbe 0x1aff6a
    001afd39and rbx, 255
    001afd40cmp rbx, 254
    001afd47je 0x1afd50
    001afd49mov rbx, [rsi+4*rax-4]
    001afd4ejmp 0x1afd73
    001afd50
    001afd50loc_1afd50:
    001afd50sub r15, 16
    001afd54cmp r15, [r14]
    001afd57jb 0x1aff3d
    001afd5d
    001afd5dloc_1afd5d:
    001afd5dlea rbx, [r15+8]
    001afd61mov [rbx-8], 1277
    001afd69movsd_xmm x0, [rsi+4*rax-4]
    001afd6fmovsd_xmm [rbx], x0
    001afd73
    001afd73loc_1afd73:
    001afd73mov rsi, [rdi+32]
    001afd77mov rax, [rsi-8]
    001afd7bmov rdx, rax
    001afd7eshr rdx, 9
    001afd82mov rcx, [rsp+8]
    001afd87cmp rdx, rcx
    001afd8ajbe 0x1aff65
    001afd90and rax, 255
    001afd96cmp rax, 254
    001afd9cje 0x1afda8
    001afd9emov rax, [rsi+4*rcx-4]
    001afda3jmp 0x1afdcb
    001afda5
    001afda5 0f 1f 00 ...
    001afda8
    001afda8loc_1afda8:
    001afda8sub r15, 16
    001afdaccmp r15, [r14]
    001afdafjb 0x1aff33
    001afdb5
    001afdb5loc_1afdb5:
    001afdb5lea rax, [r15+8]
    001afdb9mov [rax-8], 1277
    001afdc1movsd_xmm x0, [rsi+4*rcx-4]
    001afdc7movsd_xmm [rax], x0
    001afdcb
    001afdcbloc_1afdcb:
    001afdcbmov rdi, [rdi+24]
    001afdcfcall caml_apply2
    001afdd4cmp rax, 1
    001afdd8jge 0x1afde8
    001afddamov rcx, [rsp+16]
    001afddfadd rcx, 4
    001afde3mov [rsp+8], rcx
    001afde8
    001afde8loc_1afde8:
    001afde8mov rax, [rsp+8]
    001afdedadd rsp, 24
    001afdf1ret
    001afdf2
    001afdf2 66 90 f.
    001afdf4
    001afdf4loc_1afdf4:
    001afdf4mov [rsp+8], rbx
    001afdf9mov [rsp], rax
    001afdfdmov rbx, rsi
    001afe00add rbx, 2
    001afe04cmp rbx, rax
    001afe07jge 0x1afed0
    001afe0dmov rax, [rdi+32]
    001afe11mov rdx, [rax-8]
    001afe15mov rcx, rdx
    001afe18shr rcx, 9
    001afe1ccmp rcx, rbx
    001afe1fjbe 0x1aff60
    001afe25and rdx, 255
    001afe2ccmp rdx, 254
    001afe33je 0x1afe3c
    001afe35mov rbx, [rax+4*rbx-4]
    001afe3ajmp 0x1afe62
    001afe3c
    001afe3cloc_1afe3c:
    001afe3csub r15, 16
    001afe40cmp r15, [r14]
    001afe43jb 0x1aff29
    001afe49
    001afe49loc_1afe49:
    001afe49lea rdx, [r15+8]
    001afe4dmov [rdx-8], 1277
    001afe55movsd_xmm x0, [rax+4*rbx-4]
    001afe5bmovsd_xmm [rdx], x0
    001afe5fmov rbx, rdx
    001afe62
    001afe62loc_1afe62:
    001afe62mov rdx, [rdi+32]
    001afe66mov rax, [rdx-8]
    001afe6amov rcx, rax
    001afe6dshr rcx, 9
    001afe71cmp rcx, rsi
    001afe74jbe 0x1aff5b
    001afe7aand rax, 255
    001afe80cmp rax, 254
    001afe86je 0x1afe90
    001afe88mov rax, [rdx+4*rsi-4]
    001afe8djmp 0x1afeb3
    001afe8f
    001afe8f 90 .
    001afe90
    001afe90loc_1afe90:
    001afe90sub r15, 16
    001afe94cmp r15, [r14]
    001afe97jb 0x1aff1f
    001afe9d
    001afe9dloc_1afe9d:
    001afe9dlea rax, [r15+8]
    001afea1mov [rax-8], 1277
    001afea9movsd_xmm x0, [rdx+4*rsi-4]
    001afeafmovsd_xmm [rax], x0
    001afeb3
    001afeb3loc_1afeb3:
    001afeb3mov rdi, [rdi+24]
    001afeb7call caml_apply2
    001afebccmp rax, 1
    001afec0jge 0x1afed0
    001afec2mov rax, [rsp+16]
    001afec7add rax, 2
    001afecbadd rsp, 24
    001afecfret
    001afed0
    001afed0loc_1afed0:
    001afed0mov rax, [rsp+16]
    001afed5mov rbx, [rsp]
    001afed9cmp rax, rbx
    001afedcjge 0x1afee4
    001afedeadd rsp, 24
    001afee2ret
    001afee3
    001afee3 90 .
    001afee4
    001afee4loc_1afee4:
    001afee4sub r15, 24
    001afee8cmp r15, [r14]
    001afeebjb 0x1aff18
    001afeed
    001afeedloc_1afeed:
    001afeedlea rax, [r15+8]
    001afef1mov [rax-8], 2048
    001afef9lea rbx, [rip+0x18d9b0]
    001aff00mov rbx, [rbx+344]
    001aff07mov [rax], rbx
    001aff0amov rbx, [rsp+8]
    001aff0fmov [rax+8], rbx
    001aff13call caml_raise_exn
    001aff18
    001aff18loc_1aff18:
    001aff18call caml_call_gc
    001aff1djmp 0x1afeed
    001aff1f
    001aff1floc_1aff1f:
    001aff1fcall caml_call_gc
    001aff24jmp 0x1afe9d
    001aff29
    001aff29loc_1aff29:
    001aff29call caml_call_gc
    001aff2ejmp 0x1afe49
    001aff33
    001aff33loc_1aff33:
    001aff33call caml_call_gc
    001aff38jmp 0x1afdb5
    001aff3d
    001aff3dloc_1aff3d:
    001aff3dcall caml_call_gc
    001aff42jmp 0x1afd5d
    001aff47
    001aff47loc_1aff47:
    001aff47call caml_call_gc
    001aff4cjmp 0x1afce1
    001aff51
    001aff51loc_1aff51:
    001aff51call caml_call_gc
    001aff56jmp 0x1afc91
    001aff5b
    001aff5bloc_1aff5b:
    001aff5bcall caml_ml_array_bound_error
    001aff60
    001aff60loc_1aff60:
    001aff60call caml_ml_array_bound_error
    001aff65
    001aff65loc_1aff65:
    001aff65call caml_ml_array_bound_error
    001aff6a
    001aff6aloc_1aff6a:
    001aff6acall caml_ml_array_bound_error
    001aff6f
    001aff6floc_1aff6f:
    001aff6fcall caml_ml_array_bound_error
    001aff74
    001aff74loc_1aff74:
    001aff74call caml_ml_array_bound_error
    001aff79
    001aff79loc_1aff79:
    001aff79push 36
    001aff7bcall caml_call_realloc_stack
    001aff80pop r10
    001aff82jmp 0x1afc22
    001afc10
    001aff87
    001aff87 // align 0x10
    001aff90
    001aff90Stdlib.Array.trickledown:
    001aff90lea r10, [rsp-360]
    001aff98cmp r10, [r14+40]
    001aff9cjb 0x1b0197
    001affa2
    001affa2loc_1affa2:
    001affa2sub rsp, 40
    001affa6
    001affa6loc_1affa6:
    001affa6mov [rsp+24], rax
    001affabmov [rsp+16], rbx
    001affb0mov [rsp+32], rdi
    001affb5mov [rsp], rsi
    001affb9cmp r15, [r14]
    001affbcjbe 0x1b0179
    001affc2
    001affc2loc_1affc2:
    001affc2mov rdi, [rsi+40]
    001affc6call Stdlib.Array.maxson
    001affcbmov [rsp+8], rax
    001affd0mov rdx, [rsp]
    001affd4mov rbx, [rdx+32]
    001affd8mov rdi, [rbx-8]
    001affdcmov rsi, rdi
    001affdfshr rsi, 9
    001affe3cmp rsi, rax
    001affe6jbe 0x1b0192
    001affecand rdi, 255
    001afff3cmp rdi, 254
    001afffaje 0x1b0004
    001afffcmov rax, [rbx+4*rax-4]
    001b0001jmp 0x1b002a
    001b0003
    001b0003 90 .
    001b0004
    001b0004loc_1b0004:
    001b0004sub r15, 16
    001b0008cmp r15, [r14]
    001b000bjb 0x1b016f
    001b0011
    001b0011loc_1b0011:
    001b0011lea rdi, [r15+8]
    001b0015mov [rdi-8], 1277
    001b001dmovsd_xmm x0, [rbx+4*rax-4]
    001b0023movsd_xmm [rdi], x0
    001b0027mov rax, rdi
    001b002a
    001b002aloc_1b002a:
    001b002amov rdi, [rdx+24]
    001b002emov rbx, [rsp+32]
    001b0033call caml_apply2
    001b0038cmp rax, 1
    001b003cjle 0x1b0104
    001b0042mov r13, [rsp]
    001b0046mov rax, [r13+32]
    001b004amov rbx, [rax-8]
    001b004emov rdi, rbx
    001b0051shr rdi, 9
    001b0055mov r12, [rsp+8]
    001b005acmp rdi, r12
    001b005djbe 0x1b018d
    001b0063and rbx, 255
    001b006acmp rbx, 254
    001b0071je 0x1b007c
    001b0073mov rsi, [rax+4*r12-4]
    001b0078jmp 0x1b00a0
    001b007a
    001b007a 66 90 f.
    001b007c
    001b007cloc_1b007c:
    001b007csub r15, 16
    001b0080cmp r15, [r14]
    001b0083jb 0x1b0165
    001b0089
    001b0089loc_1b0089:
    001b0089lea rsi, [r15+8]
    001b008dmov [rsi-8], 1277
    001b0095movsd_xmm x0, [rax+4*r12-4]
    001b009cmovsd_xmm [rsi], x0
    001b00a0
    001b00a0loc_1b00a0:
    001b00a0mov rax, [r13+32]
    001b00a4mov rbx, [rax-8]
    001b00a8mov rdi, rbx
    001b00abshr rdi, 9
    001b00afmov rdx, [rsp+16]
    001b00b4cmp rdi, rdx
    001b00b7jbe 0x1b0188
    001b00bdand rbx, 255
    001b00c4cmp rbx, 254
    001b00cbje 0x1b00e4
    001b00cdlea rdi, [rax+4*rdx-4]
    001b00d2mov rbx, rsp
    001b00d5mov rsp, [r14+64]
    001b00d9call caml_modify
    001b00demov rsp, rbx
    001b00e1jmp 0x1b00ee
    001b00e3
    001b00e3 90 .
    001b00e4
    001b00e4loc_1b00e4:
    001b00e4movsd_xmm x0, [rsi]
    001b00e8movsd_xmm [rax+4*rdx-4], x0
    001b00ee
    001b00eeloc_1b00ee:
    001b00eemov rax, [rsp+24]
    001b00f3mov rbx, r12
    001b00f6mov rdi, [rsp+32]
    001b00fbmov rsi, r13
    001b00fejmp 0x1affa6
    001b0103
    001b0103 90 .
    001b0104
    001b0104loc_1b0104:
    001b0104mov rax, [rsp]
    001b0108mov rax, [rax+32]
    001b010cmov rbx, [rax-8]
    001b0110mov rdi, rbx
    001b0113shr rdi, 9
    001b0117mov rsi, [rsp+16]
    001b011ccmp rdi, rsi
    001b011fjbe 0x1b0183
    001b0121and rbx, 255
    001b0128cmp rbx, 254
    001b012fje 0x1b014c
    001b0131lea rdi, [rax+4*rsi-4]
    001b0136mov rsi, [rsp+32]
    001b013bmov rbx, rsp
    001b013emov rsp, [r14+64]
    001b0142call caml_modify
    001b0147mov rsp, rbx
    001b014ajmp 0x1b015b
    001b014c
    001b014cloc_1b014c:
    001b014cmov rbx, [rsp+32]
    001b0151movsd_xmm x0, [rbx]
    001b0155movsd_xmm [rax+4*rsi-4], x0
    001b015b
    001b015bloc_1b015b:
    001b015bmov eax, 1
    001b0160add rsp, 40
    001b0164ret
    001b0165
    001b0165loc_1b0165:
    001b0165call caml_call_gc
    001b016ajmp 0x1b0089
    001b016f
    001b016floc_1b016f:
    001b016fcall caml_call_gc
    001b0174jmp 0x1b0011
    001b0179
    001b0179loc_1b0179:
    001b0179call caml_call_gc
    001b017ejmp 0x1affc2
    001b0183
    001b0183loc_1b0183:
    001b0183call caml_ml_array_bound_error
    001b0188
    001b0188loc_1b0188:
    001b0188call caml_ml_array_bound_error
    001b018d
    001b018dloc_1b018d:
    001b018dcall caml_ml_array_bound_error
    001b0192
    001b0192loc_1b0192:
    001b0192call caml_ml_array_bound_error
    001b0197
    001b0197loc_1b0197:
    001b0197push 38
    001b0199call caml_call_realloc_stack
    001b019epop r10
    001b01a0jmp 0x1affa2
    001aff90
    001b01a5
    001b01a5 // align 0x10
    001b01b0
    001b01b0Stdlib.Array.bubbledown:
    001b01b0lea r10, [rsp-344]
    001b01b8cmp r10, [r14+40]
    001b01bcjb 0x1b02b1
    001b01c2
    001b01c2loc_1b01c2:
    001b01c2sub rsp, 24
    001b01c6
    001b01c6loc_1b01c6:
    001b01c6mov [rsp+16], rax
    001b01cbmov [rsp+8], rbx
    001b01d0mov [rsp], rdi
    001b01d4cmp r15, [r14]
    001b01d7jbe 0x1b029d
    001b01dd
    001b01ddloc_1b01dd:
    001b01ddmov rdi, [rdi+32]
    001b01e1call Stdlib.Array.maxson
    001b01e6mov r12, rax
    001b01e9mov r13, [rsp]
    001b01edmov rax, [r13+24]
    001b01f1mov rbx, [rax-8]
    001b01f5mov rdi, rbx
    001b01f8shr rdi, 9
    001b01fccmp rdi, r12
    001b01ffjbe 0x1b02ac
    001b0205and rbx, 255
    001b020ccmp rbx, 254
    001b0213je 0x1b021c
    001b0215mov rsi, [rax+4*r12-4]
    001b021ajmp 0x1b023c
    001b021c
    001b021cloc_1b021c:
    001b021csub r15, 16
    001b0220cmp r15, [r14]
    001b0223jb 0x1b0296
    001b0225
    001b0225loc_1b0225:
    001b0225lea rsi, [r15+8]
    001b0229mov [rsi-8], 1277
    001b0231movsd_xmm x0, [rax+4*r12-4]
    001b0238movsd_xmm [rsi], x0
    001b023c
    001b023cloc_1b023c:
    001b023cmov rax, [r13+24]
    001b0240mov rbx, [rax-8]
    001b0244mov rdi, rbx
    001b0247shr rdi, 9
    001b024bmov rdx, [rsp+8]
    001b0250cmp rdi, rdx
    001b0253jbe 0x1b02a7
    001b0255and rbx, 255
    001b025ccmp rbx, 254
    001b0263je 0x1b027c
    001b0265lea rdi, [rax+4*rdx-4]
    001b026amov rbx, rsp
    001b026dmov rsp, [r14+64]
    001b0271call caml_modify
    001b0276mov rsp, rbx
    001b0279jmp 0x1b0286
    001b027b
    001b027b 90 .
    001b027c
    001b027cloc_1b027c:
    001b027cmovsd_xmm x0, [rsi]
    001b0280movsd_xmm [rax+4*rdx-4], x0
    001b0286
    001b0286loc_1b0286:
    001b0286mov rax, [rsp+16]
    001b028bmov rbx, r12
    001b028emov rdi, r13
    001b0291jmp 0x1b01c6
    001b0296
    001b0296loc_1b0296:
    001b0296call caml_call_gc
    001b029bjmp 0x1b0225
    001b029d
    001b029dloc_1b029d:
    001b029dcall caml_call_gc
    001b02a2jmp 0x1b01dd
    001b02a7
    001b02a7loc_1b02a7:
    001b02a7call caml_ml_array_bound_error
    001b02ac
    001b02acloc_1b02ac:
    001b02accall caml_ml_array_bound_error
    001b02b1
    001b02b1loc_1b02b1:
    001b02b1push 36
    001b02b3call caml_call_realloc_stack
    001b02b8pop r10
    001b02bajmp 0x1b01c2
    001b01b0
    001b02bf
    001b02bf // align 0x10
    001b02c0
    001b02c0Stdlib.Array.trickleup:
    001b02c0lea r10, [rsp-352]
    001b02c8cmp r10, [r14+40]
    001b02ccjb 0x1b0572
    001b02d2
    001b02d2loc_1b02d2:
    001b02d2sub rsp, 32
    001b02d6
    001b02d6loc_1b02d6:
    001b02d6mov rsi, rax
    001b02d9cmp r15, [r14]
    001b02dcjbe 0x1b054f
    001b02e2
    001b02e2loc_1b02e2:
    001b02e2mov rax, rsi
    001b02e5add rax, -2
    001b02e9sar rax, 1
    001b02ecmov rcx, rax
    001b02efshr rcx, 63
    001b02f3mov rdx, 0x5555555555555556
    001b02fdimul rdx
    001b0300add rdx, rcx
    001b0303lea rdx, [rdx+rdx+1]
    001b0308cmp rsi, rdx
    001b030bje 0x1b0324
    001b030dmov [rsp+8], rdx
    001b0312mov [rsp], rdi
    001b0316mov [rsp+24], rbx
    001b031bmov [rsp+16], rsi
    001b0320jmp 0x1b0358
    001b0322
    001b0322 66 90 f.
    001b0324
    001b0324loc_1b0324:
    001b0324sub r15, 24
    001b0328cmp r15, [r14]
    001b032bjb 0x1b0545
    001b0331
    001b0331loc_1b0331:
    001b0331lea rax, [r15+8]
    001b0335mov [rax-8], 2048
    001b033dlea rbx, [rip+0xc5ec4]
    001b0344mov [rax], rbx
    001b0347lea rbx, [rip+0x18d89a]
    001b034emov [rax+8], rbx
    001b0352call caml_raise_exn
    001b0357nop
    001b0358
    001b0358loc_1b0358:
    001b0358mov rsi, [rdi+32]
    001b035cmov rax, [rsi-8]
    001b0360mov rcx, rax
    001b0363shr rcx, 9
    001b0367cmp rcx, rdx
    001b036ajbe 0x1b056d
    001b0370and rax, 255
    001b0376cmp rax, 254
    001b037cje 0x1b0388
    001b037emov rax, [rsi+4*rdx-4]
    001b0383jmp 0x1b03ab
    001b0385
    001b0385 0f 1f 00 ...
    001b0388
    001b0388loc_1b0388:
    001b0388sub r15, 16
    001b038ccmp r15, [r14]
    001b038fjb 0x1b053b
    001b0395
    001b0395loc_1b0395:
    001b0395lea rax, [r15+8]
    001b0399mov [rax-8], 1277
    001b03a1movsd_xmm x0, [rsi+4*rdx-4]
    001b03a7movsd_xmm [rax], x0
    001b03ab
    001b03abloc_1b03ab:
    001b03abmov rdi, [rdi+24]
    001b03afcall caml_apply2
    001b03b4cmp rax, 1
    001b03b8jge 0x1b04d0
    001b03bemov r13, [rsp]
    001b03c2mov rax, [r13+32]
    001b03c6mov rbx, [rax-8]
    001b03camov rdi, rbx
    001b03cdshr rdi, 9
    001b03d1mov r12, [rsp+8]
    001b03d6cmp rdi, r12
    001b03d9jbe 0x1b0568
    001b03dfand rbx, 255
    001b03e6cmp rbx, 254
    001b03edje 0x1b03f8
    001b03efmov rsi, [rax+4*r12-4]
    001b03f4jmp 0x1b041c
    001b03f6
    001b03f6 66 90 f.
    001b03f8
    001b03f8loc_1b03f8:
    001b03f8sub r15, 16
    001b03fccmp r15, [r14]
    001b03ffjb 0x1b0531
    001b0405
    001b0405loc_1b0405:
    001b0405lea rsi, [r15+8]
    001b0409mov [rsi-8], 1277
    001b0411movsd_xmm x0, [rax+4*r12-4]
    001b0418movsd_xmm [rsi], x0
    001b041c
    001b041cloc_1b041c:
    001b041cmov rax, [r13+32]
    001b0420mov rbx, [rax-8]
    001b0424mov rdi, rbx
    001b0427shr rdi, 9
    001b042bmov rdx, [rsp+16]
    001b0430cmp rdi, rdx
    001b0433jbe 0x1b0563
    001b0439and rbx, 255
    001b0440cmp rbx, 254
    001b0447je 0x1b0460
    001b0449lea rdi, [rax+4*rdx-4]
    001b044emov rbx, rsp
    001b0451mov rsp, [r14+64]
    001b0455call caml_modify
    001b045amov rsp, rbx
    001b045djmp 0x1b046a
    001b045f
    001b045f 90 .
    001b0460
    001b0460loc_1b0460:
    001b0460movsd_xmm x0, [rsi]
    001b0464movsd_xmm [rax+4*rdx-4], x0
    001b046a
    001b046aloc_1b046a:
    001b046acmp r12, 1
    001b046ejle 0x1b0480
    001b0470mov rax, r12
    001b0473mov rbx, [rsp+24]
    001b0478mov rdi, r13
    001b047bjmp 0x1b02d6
    001b0480
    001b0480loc_1b0480:
    001b0480mov rdi, [r13+32]
    001b0484mov rax, [rdi-8]
    001b0488cmp rax, 1023
    001b048ejbe 0x1b055e
    001b0494and rax, 255
    001b049acmp rax, 254
    001b04a0je 0x1b04b8
    001b04a2mov rsi, [rsp+24]
    001b04a7mov rbx, rsp
    001b04aamov rsp, [r14+64]
    001b04aecall caml_modify
    001b04b3mov rsp, rbx
    001b04b6jmp 0x1b04c5
    001b04b8
    001b04b8loc_1b04b8:
    001b04b8mov rax, [rsp+24]
    001b04bdmovsd_xmm x0, [rax]
    001b04c1movsd_xmm [rdi], x0
    001b04c5
    001b04c5loc_1b04c5:
    001b04c5mov eax, 1
    001b04caadd rsp, 32
    001b04ceret
    001b04cf
    001b04cf 90 .
    001b04d0
    001b04d0loc_1b04d0:
    001b04d0mov rax, [rsp]
    001b04d4mov rax, [rax+32]
    001b04d8mov rbx, [rax-8]
    001b04dcmov rdi, rbx
    001b04dfshr rdi, 9
    001b04e3mov rsi, [rsp+16]
    001b04e8cmp rdi, rsi
    001b04ebjbe 0x1b0559
    001b04edand rbx, 255
    001b04f4cmp rbx, 254
    001b04fbje 0x1b0518
    001b04fdlea rdi, [rax+4*rsi-4]
    001b0502mov rsi, [rsp+24]
    001b0507mov rbx, rsp
    001b050amov rsp, [r14+64]
    001b050ecall caml_modify
    001b0513mov rsp, rbx
    001b0516jmp 0x1b0527
    001b0518
    001b0518loc_1b0518:
    001b0518mov rbx, [rsp+24]
    001b051dmovsd_xmm x0, [rbx]
    001b0521movsd_xmm [rax+4*rsi-4], x0
    001b0527
    001b0527loc_1b0527:
    001b0527mov eax, 1
    001b052cadd rsp, 32
    001b0530ret
    001b0531
    001b0531loc_1b0531:
    001b0531call caml_call_gc
    001b0536jmp 0x1b0405
    001b053b
    001b053bloc_1b053b:
    001b053bcall caml_call_gc
    001b0540jmp 0x1b0395
    001b0545
    001b0545loc_1b0545:
    001b0545call caml_call_gc
    001b054ajmp 0x1b0331
    001b054f
    001b054floc_1b054f:
    001b054fcall caml_call_gc
    001b0554jmp 0x1b02e2
    001b0559
    001b0559loc_1b0559:
    001b0559call caml_ml_array_bound_error
    001b055e
    001b055eloc_1b055e:
    001b055ecall caml_ml_array_bound_error
    001b0563
    001b0563loc_1b0563:
    001b0563call caml_ml_array_bound_error
    001b0568
    001b0568loc_1b0568:
    001b0568call caml_ml_array_bound_error
    001b056d
    001b056dloc_1b056d:
    001b056dcall caml_ml_array_bound_error
    001b0572
    001b0572loc_1b0572:
    001b0572push 37
    001b0574call caml_call_realloc_stack
    001b0579pop r10
    001b057bjmp 0x1b02d2
    001b02c0
    001b0580
    001b0580Stdlib.Array.stable_sort:
    001b0580lea r10, [rsp-368]
    001b0588cmp r10, [r14+40]
    001b058cjb 0x1b077f
    001b0592
    001b0592loc_1b0592:
    001b0592sub rsp, 48
    001b0596sub r15, 152
    001b059dcmp r15, [r14]
    001b05a0jb 0x1b0770
    001b05a6
    001b05a6loc_1b05a6:
    001b05a6lea rcx, [r15+8]
    001b05aaadd rcx, 104
    001b05aemov [rcx-8], 5367
    001b05b6lea rdi, [rip-0xba09d]
    001b05bdmov [rcx], rdi
    001b05c0mov rdi, 0x700000000000007
    001b05camov [rcx+8], rdi
    001b05celea rdi, [rip+443]
    001b05d5mov [rcx+16], rdi
    001b05d9mov [rcx+24], rax
    001b05ddmov [rcx+32], rbx
    001b05e1lea rdx, [rcx-48]
    001b05e5mov [rdx-8], 5367
    001b05edlea rdi, [rip-0xb9834]
    001b05f4mov [rdx], rdi
    001b05f7mov rsi, 0x400000000000007
    001b0601mov [rdx+8], rsi
    001b0605lea rsi, [rip+1380]
    001b060cmov [rdx+16], rsi
    001b0610mov [rdx+24], rax
    001b0614mov [rdx+32], rbx
    001b0618lea rax, [rdx-56]
    001b061cmov [rax-8], 6391
    001b0624mov [rax], rdi
    001b0627mov rdi, 0x400000000000007
    001b0631mov [rax+8], rdi
    001b0635lea rdi, [rip+2084]
    001b063cmov [rax+16], rdi
    001b0640mov [rax+24], rbx
    001b0644mov [rax+32], rcx
    001b0648mov [rax+40], rdx
    001b064cmov r8, [rbx-8]
    001b0650mov rsi, r8
    001b0653shr rsi, 9
    001b0657or rsi, 1
    001b065bcmp rsi, 11
    001b065fjg 0x1b0674
    001b0661mov edi, 1
    001b0666mov eax, 1
    001b066badd rsp, 48
    001b066fjmp 0x1b0b70
    001b0674
    001b0674loc_1b0674:
    001b0674mov [rsp], rax
    001b0678mov [rsp+40], rcx
    001b067dmov [rsp+32], rbx
    001b0682mov rax, rsi
    001b0685sar rax, 1
    001b0688mov rdi, rax
    001b068bshr rdi, 63
    001b068fadd rax, rdi
    001b0692or rax, 1
    001b0696mov [rsp+16], rax
    001b069bmov rdi, rsi
    001b069esub rdi, rax
    001b06a1inc rdi
    001b06a4mov [rsp+8], rdi
    001b06a9cmp r8, 1023
    001b06b0jbe 0x1b077a
    001b06b6and r8, 255
    001b06bdcmp r8, 254
    001b06c4je 0x1b06cc
    001b06c6mov rsi, [rbx]
    001b06c9jmp 0x1b06ed
    001b06cb
    001b06cb 90 .
    001b06cc
    001b06ccloc_1b06cc:
    001b06ccsub r15, 16
    001b06d0cmp r15, [r14]
    001b06d3jb 0x1b0766
    001b06d9
    001b06d9loc_1b06d9:
    001b06d9lea rsi, [r15+8]
    001b06ddmov [rsi-8], 1277
    001b06e5movsd_xmm x0, [rbx]
    001b06e9movsd_xmm [rsi], x0
    001b06ed
    001b06edloc_1b06ed:
    001b06edlea rax, [rip+0x495ac]
    001b06f4call caml_c_call
    001b06f9mov rbx, rax
    001b06fcmov [rsp+24], rbx
    001b0701mov edi, 1
    001b0706mov rax, [rsp+16]
    001b070bmov rsi, [rsp+8]
    001b0710mov rdx, [rsp]
    001b0714call Stdlib.Array.sortto
    001b0719mov eax, 1
    001b071emov rbx, [rsp+32]
    001b0723mov rdi, [rsp+8]
    001b0728mov rsi, [rsp+16]
    001b072dmov rdx, [rsp]
    001b0731call Stdlib.Array.sortto
    001b0736mov r8l, 1
    001b073cmov esi, 1
    001b0741mov rax, [rsp+8]
    001b0746mov rbx, [rsp+16]
    001b074bmov rdi, [rsp+24]
    001b0750mov rdx, rax
    001b0753mov rcx, [rsp+32]
    001b0758mov r9, [rsp+40]
    001b075dadd rsp, 48
    001b0761jmp 0x1b0790
    001b0766
    001b0766loc_1b0766:
    001b0766call caml_call_gc
    001b076bjmp 0x1b06d9
    001b0770
    001b0770loc_1b0770:
    001b0770call caml_call_gc
    001b0775jmp 0x1b05a6
    001b077a
    001b077aloc_1b077a:
    001b077acall caml_ml_array_bound_error
    001b077f
    001b077floc_1b077f:
    001b077fpush 39
    001b0781call caml_call_realloc_stack
    001b0786pop r10
    001b0788jmp 0x1b0592
    001b0580
    001b078d
    001b078d // align 0x10
    001b0790
    001b0790Stdlib.Array.merge:
    001b0790mov r12, rsi
    001b0793mov r13, rcx
    001b0796lea rsi, [rax+rbx-1]
    001b079blea rbx, [r12+rdx-1]
    001b07a0sub r15, 80
    001b07a4cmp r15, [r14]
    001b07a7jb 0x1b08ac
    001b07ad
    001b07adloc_1b07ad:
    001b07adlea rcx, [r15+8]
    001b07b1mov [rcx-8], 9463
    001b07b9lea rdx, [rip-0xb9c30]
    001b07c0mov [rcx], rdx
    001b07c3mov rdx, 0x500000000000007
    001b07cdmov [rcx+8], rdx
    001b07d1lea rdx, [rip+232]
    001b07d8mov [rcx+16], rdx
    001b07dcmov rdx, [r9+24]
    001b07e0mov [rcx+24], rdx
    001b07e4mov rdx, [r9+32]
    001b07e8mov [rcx+32], rdx
    001b07ecmov [rcx+40], rdi
    001b07f0mov [rcx+48], r13
    001b07f4mov [rcx+56], rsi
    001b07f8mov [rcx+64], rbx
    001b07fcmov rbx, [rdi-8]
    001b0800mov rsi, rbx
    001b0803shr rsi, 9
    001b0807cmp rsi, r12
    001b080ajbe 0x1b08bb
    001b0810and rbx, 255
    001b0817cmp rbx, 254
    001b081eje 0x1b0828
    001b0820mov rsi, [rdi+4*r12-4]
    001b0825jmp 0x1b0848
    001b0827
    001b0827 90 .
    001b0828
    001b0828loc_1b0828:
    001b0828sub r15, 16
    001b082ccmp r15, [r14]
    001b082fjb 0x1b08a5
    001b0831
    001b0831loc_1b0831:
    001b0831lea rsi, [r15+8]
    001b0835mov [rsi-8], 1277
    001b083dmovsd_xmm x0, [rdi+4*r12-4]
    001b0844movsd_xmm [rsi], x0
    001b0848
    001b0848loc_1b0848:
    001b0848mov rdi, [r9+32]
    001b084cmov rbx, [rdi-8]
    001b0850mov rdx, rbx
    001b0853shr rdx, 9
    001b0857cmp rdx, rax
    001b085ajbe 0x1b08b6
    001b085cand rbx, 255
    001b0863cmp rbx, 254
    001b086aje 0x1b0874
    001b086cmov rbx, [rdi+4*rax-4]
    001b0871jmp 0x1b0893
    001b0873
    001b0873 90 .
    001b0874
    001b0874loc_1b0874:
    001b0874sub r15, 16
    001b0878cmp r15, [r14]
    001b087bjb 0x1b089e
    001b087d
    001b087dloc_1b087d:
    001b087dlea rbx, [r15+8]
    001b0881mov [rbx-8], 1277
    001b0889movsd_xmm x0, [rdi+4*rax-4]
    001b088fmovsd_xmm [rbx], x0
    001b0893
    001b0893loc_1b0893:
    001b0893mov rdi, r12
    001b0896mov rdx, r8
    001b0899jmp 0x1b08c0
    001b089e
    001b089eloc_1b089e:
    001b089ecall caml_call_gc
    001b08a3jmp 0x1b087d
    001b08a5
    001b08a5loc_1b08a5:
    001b08a5call caml_call_gc
    001b08aajmp 0x1b0831
    001b08ac
    001b08acloc_1b08ac:
    001b08accall caml_call_gc
    001b08b1jmp 0x1b07ad
    001b08b6
    001b08b6loc_1b08b6:
    001b08b6call caml_ml_array_bound_error
    001b08bb
    001b08bbloc_1b08bb:
    001b08bbcall caml_ml_array_bound_error
    001b0790
    001b08c0
    001b08c0Stdlib.Array.loop:
    001b08c0lea r10, [rsp-368]
    001b08c8cmp r10, [r14+40]
    001b08ccjb 0x1b0b55
    001b08d2
    001b08d2loc_1b08d2:
    001b08d2sub rsp, 48
    001b08d6
    001b08d6loc_1b08d6:
    001b08d6mov [rsp+16], rax
    001b08dbmov rax, rbx
    001b08demov [rsp+40], rax
    001b08e3mov [rsp+24], rdi
    001b08e8mov rbx, rsi
    001b08ebmov [rsp+32], rbx
    001b08f0mov [rsp+8], rdx
    001b08f5mov [rsp], rcx
    001b08f9cmp r15, [r14]
    001b08fcjbe 0x1b0b37
    001b0902
    001b0902loc_1b0902:
    001b0902mov rdi, [rcx+24]
    001b0906call caml_apply2
    001b090bcmp rax, 1
    001b090fjg 0x1b0a20
    001b0915mov r12, [rsp]
    001b0919mov rax, [r12+48]
    001b091emov rbx, [rax-8]
    001b0922mov rdi, rbx
    001b0925shr rdi, 9
    001b0929mov r13, [rsp+8]
    001b092ecmp rdi, r13
    001b0931jbe 0x1b0b50
    001b0937and rbx, 255
    001b093ecmp rbx, 254
    001b0945je 0x1b0964
    001b0947lea rdi, [rax+4*r13-4]
    001b094cmov rsi, [rsp+40]
    001b0951mov rbx, rsp
    001b0954mov rsp, [r14+64]
    001b0958call caml_modify
    001b095dmov rsp, rbx
    001b0960jmp 0x1b0974
    001b0962
    001b0962 66 90 f.
    001b0964
    001b0964loc_1b0964:
    001b0964mov rbx, [rsp+40]
    001b0969movsd_xmm x0, [rbx]
    001b096dmovsd_xmm [rax+4*r13-4], x0
    001b0974
    001b0974loc_1b0974:
    001b0974mov rax, [rsp+16]
    001b0979add rax, 2
    001b097dmov rbx, [r12+56]
    001b0982cmp rax, rbx
    001b0985jge 0x1b09f4
    001b0987mov rdi, [r12+32]
    001b098cmov rbx, [rdi-8]
    001b0990mov rsi, rbx
    001b0993shr rsi, 9
    001b0997cmp rsi, rax
    001b099ajbe 0x1b0b4b
    001b09a0and rbx, 255
    001b09a7cmp rbx, 254
    001b09aeje 0x1b09b8
    001b09b0mov rbx, [rdi+4*rax-4]
    001b09b5jmp 0x1b09db
    001b09b7
    001b09b7 90 .
    001b09b8
    001b09b8loc_1b09b8:
    001b09b8sub r15, 16
    001b09bccmp r15, [r14]
    001b09bfjb 0x1b0b2d
    001b09c5
    001b09c5loc_1b09c5:
    001b09c5lea rbx, [r15+8]
    001b09c9mov [rbx-8], 1277
    001b09d1movsd_xmm x0, [rdi+4*rax-4]
    001b09d7movsd_xmm [rbx], x0
    001b09db
    001b09dbloc_1b09db:
    001b09dbmov rdx, r13
    001b09deadd rdx, 2
    001b09e2mov rdi, [rsp+24]
    001b09e7mov rsi, [rsp+32]
    001b09ecmov rcx, r12
    001b09efjmp 0x1b08d6
    001b09f4
    001b09f4loc_1b09f4:
    001b09f4mov rdx, [r12+64]
    001b09f9mov rbx, [rsp+24]
    001b09fesub rdx, rbx
    001b0a01inc rdx
    001b0a04mov rsi, r13
    001b0a07add rsi, 2
    001b0a0bmov rdi, [r12+48]
    001b0a10mov rax, [r12+40]
    001b0a15add rsp, 48
    001b0a19jmp 0x1ad4e0
    001b0a1e
    001b0a1e 66 90 f.
    001b0a20
    001b0a20loc_1b0a20:
    001b0a20mov r12, [rsp]
    001b0a24mov rax, [r12+48]
    001b0a29mov rbx, [rax-8]
    001b0a2dmov rdi, rbx
    001b0a30shr rdi, 9
    001b0a34mov r13, [rsp+8]
    001b0a39cmp rdi, r13
    001b0a3cjbe 0x1b0b46
    001b0a42and rbx, 255
    001b0a49cmp rbx, 254
    001b0a50je 0x1b0a70
    001b0a52lea rdi, [rax+4*r13-4]
    001b0a57mov rsi, [rsp+32]
    001b0a5cmov rbx, rsp
    001b0a5fmov rsp, [r14+64]
    001b0a63call caml_modify
    001b0a68mov rsp, rbx
    001b0a6bjmp 0x1b0a80
    001b0a6d
    001b0a6d 0f 1f 00 ...
    001b0a70
    001b0a70loc_1b0a70:
    001b0a70mov rbx, [rsp+32]
    001b0a75movsd_xmm x0, [rbx]
    001b0a79movsd_xmm [rax+4*r13-4], x0
    001b0a80
    001b0a80loc_1b0a80:
    001b0a80mov rdi, [rsp+24]
    001b0a85add rdi, 2
    001b0a89mov rax, [r12+64]
    001b0a8ecmp rdi, rax
    001b0a91jge 0x1b0afc
    001b0a93mov rax, [r12+40]
    001b0a98mov rbx, [rax-8]
    001b0a9cmov rsi, rbx
    001b0a9fshr rsi, 9
    001b0aa3cmp rsi, rdi
    001b0aa6jbe 0x1b0b41
    001b0aacand rbx, 255
    001b0ab3cmp rbx, 254
    001b0abaje 0x1b0ac4
    001b0abcmov rsi, [rax+4*rdi-4]
    001b0ac1jmp 0x1b0ae3
    001b0ac3
    001b0ac3 90 .
    001b0ac4
    001b0ac4loc_1b0ac4:
    001b0ac4sub r15, 16
    001b0ac8cmp r15, [r14]
    001b0acbjb 0x1b0b26
    001b0acd
    001b0acdloc_1b0acd:
    001b0acdlea rsi, [r15+8]
    001b0ad1mov [rsi-8], 1277
    001b0ad9movsd_xmm x0, [rax+4*rdi-4]
    001b0adfmovsd_xmm [rsi], x0
    001b0ae3
    001b0ae3loc_1b0ae3:
    001b0ae3mov rdx, r13
    001b0ae6add rdx, 2
    001b0aeamov rax, [rsp+16]
    001b0aefmov rbx, [rsp+40]
    001b0af4mov rcx, r12
    001b0af7jmp 0x1b08d6
    001b0afc
    001b0afcloc_1b0afc:
    001b0afcmov rdx, [r12+56]
    001b0b01mov rbx, [rsp+16]
    001b0b06sub rdx, rbx
    001b0b09inc rdx
    001b0b0cmov rsi, r13
    001b0b0fadd rsi, 2
    001b0b13mov rdi, [r12+48]
    001b0b18mov rax, [r12+32]
    001b0b1dadd rsp, 48
    001b0b21jmp 0x1ad4e0
    001b0b26
    001b0b26loc_1b0b26:
    001b0b26call caml_call_gc
    001b0b2bjmp 0x1b0acd
    001b0b2d
    001b0b2dloc_1b0b2d:
    001b0b2dcall caml_call_gc
    001b0b32jmp 0x1b09c5
    001b0b37
    001b0b37loc_1b0b37:
    001b0b37call caml_call_gc
    001b0b3cjmp 0x1b0902
    001b0b41
    001b0b41loc_1b0b41:
    001b0b41call caml_ml_array_bound_error
    001b0b46
    001b0b46loc_1b0b46:
    001b0b46call caml_ml_array_bound_error
    001b0b4b
    001b0b4bloc_1b0b4b:
    001b0b4bcall caml_ml_array_bound_error
    001b0b50
    001b0b50loc_1b0b50:
    001b0b50call caml_ml_array_bound_error
    001b0b55
    001b0b55loc_1b0b55:
    001b0b55push 39
    001b0b57call caml_call_realloc_stack
    001b0b5cpop r10
    001b0b5ejmp 0x1b08d2
    001b08c0
    001b0b63
    001b0b63 // align 0x10
    001b0b70
    001b0b70Stdlib.Array.isortto:
    001b0b70lea r10, [rsp-384]
    001b0b78cmp r10, [r14+40]
    001b0b7cjb 0x1b0e43
    001b0b82
    001b0b82loc_1b0b82:
    001b0b82sub rsp, 64
    001b0b86mov r13, rbx
    001b0b89mov ebx, 1
    001b0b8eadd rsi, -2
    001b0b92cmp rbx, rsi
    001b0b95jg 0x1b0dee
    001b0b9bmov [rsp+16], rsi
    001b0ba0mov [rsp+8], rbx
    001b0ba5mov [rsp+32], rdx
    001b0baamov [rsp+24], rdi
    001b0bafmov [rsp+48], r13
    001b0bb4mov [rsp], rax
    001b0bb8
    001b0bb8loc_1b0bb8:
    001b0bb8mov rax, [rsp]
    001b0bbclea rax, [rax+rbx-1]
    001b0bc1mov rdi, [rsp+32]
    001b0bc6mov rdi, [rdi+32]
    001b0bcamov rsi, [rdi-8]
    001b0bcemov rdx, rsi
    001b0bd1shr rdx, 9
    001b0bd5cmp rdx, rax
    001b0bd8jbe 0x1b0e3e
    001b0bdeand rsi, 255
    001b0be5cmp rsi, 254
    001b0becje 0x1b0bfc
    001b0beemov rsi, [rdi+4*rax-4]
    001b0bf3mov [rsp+40], rsi
    001b0bf8jmp 0x1b0c24
    001b0bfa
    001b0bfa 66 90 f.
    001b0bfc
    001b0bfcloc_1b0bfc:
    001b0bfcsub r15, 16
    001b0c00cmp r15, [r14]
    001b0c03jb 0x1b0e20
    001b0c09
    001b0c09loc_1b0c09:
    001b0c09lea rsi, [r15+8]
    001b0c0dmov [rsi-8], 1277
    001b0c15movsd_xmm x0, [rdi+4*rax-4]
    001b0c1bmovsd_xmm [rsi], x0
    001b0c1fmov [rsp+40], rsi
    001b0c24
    001b0c24loc_1b0c24:
    001b0c24mov rax, [rsp+24]
    001b0c29lea r12, [rax+rbx-3]
    001b0c2emov [rsp+56], r12
    001b0c33
    001b0c33loc_1b0c33:
    001b0c33mov rax, [rsp+24]
    001b0c38cmp r12, rax
    001b0c3bjl 0x1b0d6a
    001b0c41mov rax, [r13-8]
    001b0c45mov rbx, rax
    001b0c48shr rbx, 9
    001b0c4ccmp rbx, r12
    001b0c4fjbe 0x1b0e39
    001b0c55and rax, 255
    001b0c5bcmp rax, 254
    001b0c61je 0x1b0c6c
    001b0c63mov rax, [r13+4*r12-4]
    001b0c68jmp 0x1b0c90
    001b0c6a
    001b0c6a 66 90 f.
    001b0c6c
    001b0c6cloc_1b0c6c:
    001b0c6csub r15, 16
    001b0c70cmp r15, [r14]
    001b0c73jb 0x1b0e16
    001b0c79
    001b0c79loc_1b0c79:
    001b0c79lea rax, [r15+8]
    001b0c7dmov [rax-8], 1277
    001b0c85movsd_xmm x0, [r13+4*r12-4]
    001b0c8cmovsd_xmm [rax], x0
    001b0c90
    001b0c90loc_1b0c90:
    001b0c90mov rbx, [rsp+32]
    001b0c95mov rdi, [rbx+24]
    001b0c99mov rbx, [rsp+40]
    001b0c9ecall caml_apply2
    001b0ca3cmp rax, 1
    001b0ca7jle 0x1b0d6a
    001b0cadmov r13, [rsp+48]
    001b0cb2mov rax, [r13-8]
    001b0cb6mov rbx, rax
    001b0cb9shr rbx, 9
    001b0cbdmov r12, [rsp+56]
    001b0cc2cmp rbx, r12
    001b0cc5jbe 0x1b0e34
    001b0ccband rax, 255
    001b0cd1cmp rax, 254
    001b0cd7je 0x1b0ce0
    001b0cd9mov rsi, [r13+4*r12-4]
    001b0cdejmp 0x1b0d04
    001b0ce0
    001b0ce0loc_1b0ce0:
    001b0ce0sub r15, 16
    001b0ce4cmp r15, [r14]
    001b0ce7jb 0x1b0e0c
    001b0ced
    001b0cedloc_1b0ced:
    001b0cedlea rsi, [r15+8]
    001b0cf1mov [rsi-8], 1277
    001b0cf9movsd_xmm x0, [r13+4*r12-4]
    001b0d00movsd_xmm [rsi], x0
    001b0d04
    001b0d04loc_1b0d04:
    001b0d04mov rax, r12
    001b0d07add rax, 2
    001b0d0bmov rbx, [r13-8]
    001b0d0fmov rdi, rbx
    001b0d12shr rdi, 9
    001b0d16cmp rdi, rax
    001b0d19jbe 0x1b0e2f
    001b0d1fand rbx, 255
    001b0d26cmp rbx, 254
    001b0d2dje 0x1b0d48
    001b0d2flea rdi, [r13+4*rax-4]
    001b0d34mov rbx, rsp
    001b0d37mov rsp, [r14+64]
    001b0d3bcall caml_modify
    001b0d40mov rsp, rbx
    001b0d43jmp 0x1b0d53
    001b0d45
    001b0d45 0f 1f 00 ...
    001b0d48
    001b0d48loc_1b0d48:
    001b0d48movsd_xmm x0, [rsi]
    001b0d4cmovsd_xmm [r13+4*rax-4], x0
    001b0d53
    001b0d53loc_1b0d53:
    001b0d53add r12, -2
    001b0d57mov [rsp+56], r12
    001b0d5ccmp r15, [r14]
    001b0d5fja 0x1b0c33
    001b0d65jmp 0x1b0e02
    001b0d6a
    001b0d6aloc_1b0d6a:
    001b0d6amov rax, [rsp+56]
    001b0d6fadd rax, 2
    001b0d73mov r13, [rsp+48]
    001b0d78mov rbx, [r13-8]
    001b0d7cmov rdi, rbx
    001b0d7fshr rdi, 9
    001b0d83cmp rdi, rax
    001b0d86jbe 0x1b0e2a
    001b0d8cand rbx, 255
    001b0d93cmp rbx, 254
    001b0d9aje 0x1b0db8
    001b0d9clea rdi, [r13+4*rax-4]
    001b0da1mov rsi, [rsp+40]
    001b0da6mov rbx, rsp
    001b0da9mov rsp, [r14+64]
    001b0dadcall caml_modify
    001b0db2mov rsp, rbx
    001b0db5jmp 0x1b0dc8
    001b0db7
    001b0db7 90 .
    001b0db8
    001b0db8loc_1b0db8:
    001b0db8mov rbx, [rsp+40]
    001b0dbdmovsd_xmm x0, [rbx]
    001b0dc1movsd_xmm [r13+4*rax-4], x0
    001b0dc8
    001b0dc8loc_1b0dc8:
    001b0dc8mov rbx, [rsp+8]
    001b0dcdmov rax, rbx
    001b0dd0add rbx, 2
    001b0dd4mov [rsp+8], rbx
    001b0dd9mov rdi, [rsp+16]
    001b0ddecmp rax, rdi
    001b0de1je 0x1b0dee
    001b0de3cmp r15, [r14]
    001b0de6ja 0x1b0bb8
    001b0decjmp 0x1b0df8
    001b0dee
    001b0deeloc_1b0dee:
    001b0deemov eax, 1
    001b0df3add rsp, 64
    001b0df7ret
    001b0df8
    001b0df8loc_1b0df8:
    001b0df8call caml_call_gc
    001b0dfdjmp 0x1b0bb8
    001b0e02
    001b0e02loc_1b0e02:
    001b0e02call caml_call_gc
    001b0e07jmp 0x1b0c33
    001b0e0c
    001b0e0cloc_1b0e0c:
    001b0e0ccall caml_call_gc
    001b0e11jmp 0x1b0ced
    001b0e16
    001b0e16loc_1b0e16:
    001b0e16call caml_call_gc
    001b0e1bjmp 0x1b0c79
    001b0e20
    001b0e20loc_1b0e20:
    001b0e20call caml_call_gc
    001b0e25jmp 0x1b0c09
    001b0e2a
    001b0e2aloc_1b0e2a:
    001b0e2acall caml_ml_array_bound_error
    001b0e2f
    001b0e2floc_1b0e2f:
    001b0e2fcall caml_ml_array_bound_error
    001b0e34
    001b0e34loc_1b0e34:
    001b0e34call caml_ml_array_bound_error
    001b0e39
    001b0e39loc_1b0e39:
    001b0e39call caml_ml_array_bound_error
    001b0e3e
    001b0e3eloc_1b0e3e:
    001b0e3ecall caml_ml_array_bound_error
    001b0e43
    001b0e43loc_1b0e43:
    001b0e43push 41
    001b0e45call caml_call_realloc_stack
    001b0e4apop r10
    001b0e4cjmp 0x1b0b82
    001b0b70
    001b0e51
    001b0e51 // align 0x10
    001b0e60
    001b0e60Stdlib.Array.sortto:
    001b0e60lea r10, [rsp-368]
    001b0e68cmp r10, [r14+40]
    001b0e6cjb 0x1b0f2a
    001b0e72
    001b0e72loc_1b0e72:
    001b0e72sub rsp, 48
    001b0e76cmp rsi, 11
    001b0e7ajg 0x1b0e8c
    001b0e7cmov rdx, [rdx+40]
    001b0e80add rsp, 48
    001b0e84jmp 0x1b0b70
    001b0e89
    001b0e89 0f 1f 00 ...
    001b0e8c
    001b0e8cloc_1b0e8c:
    001b0e8cmov [rsp+32], rdx
    001b0e91mov [rsp+8], rdi
    001b0e96mov [rsp+40], rbx
    001b0e9bmov [rsp+24], rax
    001b0ea0mov rcx, rsi
    001b0ea3sar rcx, 1
    001b0ea6mov r8, rcx
    001b0ea9shr r8, 63
    001b0eadadd rcx, r8
    001b0eb0or rcx, 1
    001b0eb4mov [rsp], rcx
    001b0eb8sub rsi, rcx
    001b0ebbinc rsi
    001b0ebemov [rsp+16], rsi
    001b0ec3lea rdi, [rdi+rcx-1]
    001b0ec8lea rax, [rax+rcx-1]
    001b0ecdcall Stdlib.Array.sortto
    001b0ed2mov rbx, [rsp+16]
    001b0ed7mov rax, [rsp+24]
    001b0edclea rdi, [rax+rbx-1]
    001b0ee1mov rdx, [rsp+32]
    001b0ee6mov rbx, [rdx+24]
    001b0eeamov rsi, [rsp]
    001b0eeecall Stdlib.Array.sortto
    001b0ef3mov rbx, [rsp]
    001b0ef7mov r8, [rsp+8]
    001b0efclea rsi, [r8+rbx-1]
    001b0f01mov rdx, [rsp+16]
    001b0f06mov rax, [rsp+24]
    001b0f0blea rax, [rax+rdx-1]
    001b0f10mov rdi, [rsp+32]
    001b0f15mov r9, [rdi+32]
    001b0f19mov rdi, [rsp+40]
    001b0f1emov rcx, rdi
    001b0f21add rsp, 48
    001b0f25jmp 0x1b0790
    001b0f2a
    001b0f2aloc_1b0f2a:
    001b0f2apush 39
    001b0f2ccall caml_call_realloc_stack
    001b0f31pop r10
    001b0f33jmp 0x1b0e72
    001b0e60
    001b0f38
    001b0f38 // align 0x10
    001b0f40
    001b0f40Stdlib.Array.shuffle_contract_violation:
    001b0f40lea r10, [rsp-344]
    001b0f48cmp r10, [r14+40]
    001b0f4cjb 0x1b107a
    001b0f52
    001b0f52loc_1b0f52:
    001b0f52sub rsp, 24
    001b0f56mov [rsp+16], rax
    001b0f5bmov [rsp], rbx
    001b0f5fcall camlStdlib.string_of_int_175
    001b0f64sub r15, 48
    001b0f68cmp r15, [r14]
    001b0f6bjb 0x1b1070
    001b0f71
    001b0f71loc_1b0f71:
    001b0f71lea rbx, [r15+8]
    001b0f75add rbx, 24
    001b0f79mov [rbx-8], 2048
    001b0f81mov [rbx], rax
    001b0f84lea rax, [rip+0x18cbad]
    001b0f8bmov [rbx+8], rax
    001b0f8flea rax, [rbx-24]
    001b0f93mov [rsp+8], rax
    001b0f98mov [rax-8], 2048
    001b0fa0lea rdi, [rip+0x18cbb9]
    001b0fa7mov [rax], rdi
    001b0faamov [rax+8], rbx
    001b0faemov rax, [rsp]
    001b0fb2call camlStdlib.string_of_int_175
    001b0fb7sub r15, 48
    001b0fbbcmp r15, [r14]
    001b0fbejb 0x1b1066
    001b0fc4
    001b0fc4loc_1b0fc4:
    001b0fc4lea rbx, [r15+8]
    001b0fc8add rbx, 24
    001b0fccmov [rbx-8], 2048
    001b0fd4mov [rbx], rax
    001b0fd7mov rax, [rsp+8]
    001b0fdcmov [rbx+8], rax
    001b0fe0lea rax, [rbx-24]
    001b0fe4mov [rsp], rax
    001b0fe8mov [rax-8], 2048
    001b0ff0lea rdi, [rip+0x18cb91]
    001b0ff7mov [rax], rdi
    001b0ffamov [rax+8], rbx
    001b0ffemov rax, [rsp+16]
    001b1003add rax, 2
    001b1007call camlStdlib.string_of_int_175
    001b100csub r15, 48
    001b1010cmp r15, [r14]
    001b1013jb 0x1b105f
    001b1015
    001b1015loc_1b1015:
    001b1015lea rdi, [r15+8]
    001b1019add rdi, 24
    001b101dmov [rdi-8], 2048
    001b1025mov [rdi], rax
    001b1028mov rax, [rsp]
    001b102cmov [rdi+8], rax
    001b1030lea rbx, [rdi-24]
    001b1034mov [rbx-8], 2048
    001b103clea rax, [rip+0x18cb5d]
    001b1043mov [rbx], rax
    001b1046mov [rbx+8], rdi
    001b104alea rax, [rip+0x18cb87]
    001b1051call Stdlib.String.concat
    001b1056add rsp, 24
    001b105ajmp 0x195ab0
    001b105f
    001b105floc_1b105f:
    001b105fcall caml_call_gc
    001b1064jmp 0x1b1015
    001b1066
    001b1066loc_1b1066:
    001b1066call caml_call_gc
    001b106bjmp 0x1b0fc4
    001b1070
    001b1070loc_1b1070:
    001b1070call caml_call_gc
    001b1075jmp 0x1b0f71
    001b107a
    001b107aloc_1b107a:
    001b107apush 36
    001b107ccall caml_call_realloc_stack
    001b1081pop r10
    001b1083jmp 0x1b0f52
    001b0f40
    001b1088
    001b1088 // align 0x10
    001b1090
    001b1090Stdlib.Array.shuffle:
    001b1090lea r10, [rsp-352]
    001b1098cmp r10, [r14+40]
    001b109cjb 0x1b124d
    001b10a2
    001b10a2loc_1b10a2:
    001b10a2sub rsp, 32
    001b10a6mov r13, [rbx-8]
    001b10aashr r13, 9
    001b10aeor r13, 1
    001b10b2add r13, -2
    001b10b6cmp r13, 3
    001b10bajl 0x1b1225
    001b10c0mov [rsp+24], r13
    001b10c5mov [rsp+8], rbx
    001b10camov [rsp], rax
    001b10ce
    001b10celoc_1b10ce:
    001b10cemov rax, r13
    001b10d1add rax, 2
    001b10d5mov rbx, [rsp]
    001b10d9mov rdi, [rbx]
    001b10dccall rdi
    001b10demov rbx, rax
    001b10e1mov [rsp+16], rbx
    001b10e6cmp rbx, 1
    001b10eajl 0x1b10f6
    001b10ecmov rax, [rsp+24]
    001b10f1cmp rbx, rax
    001b10f4jle 0x1b1100
    001b10f6
    001b10f6loc_1b10f6:
    001b10f6mov rax, [rsp+24]
    001b10fbcall Stdlib.Array.shuffle_contract_violation
    001b1100
    001b1100loc_1b1100:
    001b1100mov r12, [rsp+8]
    001b1105movzx rax, [r12-8]
    001b110bcmp rax, 254
    001b1111je 0x1b1124
    001b1113mov r13, [rsp+24]
    001b1118mov rax, [r12+4*r13-4]
    001b111dmov [rsp+24], rax
    001b1122jmp 0x1b1152
    001b1124
    001b1124loc_1b1124:
    001b1124sub r15, 16
    001b1128cmp r15, [r14]
    001b112bjb 0x1b1243
    001b1131
    001b1131loc_1b1131:
    001b1131lea rax, [r15+8]
    001b1135mov [rax-8], 1277
    001b113dmov r13, [rsp+24]
    001b1142movsd_xmm x0, [r12+4*r13-4]
    001b1149movsd_xmm [rax], x0
    001b114dmov [rsp+24], rax
    001b1152
    001b1152loc_1b1152:
    001b1152movzx rbx, [r12-8]
    001b1158cmp rbx, 254
    001b115fje 0x1b1170
    001b1161mov rbp, [rsp+16]
    001b1166mov rsi, [r12+4*rbp-4]
    001b116bjmp 0x1b1199
    001b116d
    001b116d 0f 1f 00 ...
    001b1170
    001b1170loc_1b1170:
    001b1170sub r15, 16
    001b1174cmp r15, [r14]
    001b1177jb 0x1b1239
    001b117d
    001b117dloc_1b117d:
    001b117dlea rsi, [r15+8]
    001b1181mov [rsi-8], 1277
    001b1189mov rbp, [rsp+16]
    001b118emovsd_xmm x0, [r12+4*rbp-4]
    001b1195movsd_xmm [rsi], x0
    001b1199
    001b1199loc_1b1199:
    001b1199movzx rbx, [r12-8]
    001b119fcmp rbx, 254
    001b11a6je 0x1b11c0
    001b11a8lea rdi, [r12+4*r13-4]
    001b11admov rbx, rsp
    001b11b0mov rsp, [r14+64]
    001b11b4call caml_modify
    001b11b9mov rsp, rbx
    001b11bcjmp 0x1b11cb
    001b11be
    001b11be 66 90 f.
    001b11c0
    001b11c0loc_1b11c0:
    001b11c0movsd_xmm x0, [rsi]
    001b11c4movsd_xmm [r12+4*r13-4], x0
    001b11cb
    001b11cbloc_1b11cb:
    001b11cbmovzx rbx, [r12-8]
    001b11d1cmp rbx, 254
    001b11d8je 0x1b11f8
    001b11dalea rdi, [r12+4*rbp-4]
    001b11dfmov rsi, [rsp+24]
    001b11e4mov rbx, rsp
    001b11e7mov rsp, [r14+64]
    001b11ebcall caml_modify
    001b11f0mov rsp, rbx
    001b11f3jmp 0x1b1208
    001b11f5
    001b11f5 0f 1f 00 ...
    001b11f8
    001b11f8loc_1b11f8:
    001b11f8mov rax, [rsp+24]
    001b11fdmovsd_xmm x0, [rax]
    001b1201movsd_xmm [r12+4*rbp-4], x0
    001b1208
    001b1208loc_1b1208:
    001b1208mov rax, r13
    001b120bsub r13, 2
    001b120fmov [rsp+24], r13
    001b1214cmp rax, 3
    001b1218je 0x1b1225
    001b121acmp r15, [r14]
    001b121dja 0x1b10ce
    001b1223jmp 0x1b122f
    001b1225
    001b1225loc_1b1225:
    001b1225mov eax, 1
    001b122aadd rsp, 32
    001b122eret
    001b122f
    001b122floc_1b122f:
    001b122fcall caml_call_gc
    001b1234jmp 0x1b10ce
    001b1239
    001b1239loc_1b1239:
    001b1239call caml_call_gc
    001b123ejmp 0x1b117d
    001b1243
    001b1243loc_1b1243:
    001b1243call caml_call_gc
    001b1248jmp 0x1b1131
    001b124d
    001b124dloc_1b124d:
    001b124dpush 37
    001b124fcall caml_call_realloc_stack
    001b1254pop r10
    001b1256jmp 0x1b10a2
    001b1090
    001b125b
    001b125b // align 0x10
    001b1260
    001b1260Stdlib.Array.to_seq:
    001b1260sub r15, 80
    001b1264cmp r15, [r14]
    001b1267jb 0x1b12d2
    001b1269
    001b1269loc_1b1269:
    001b1269lea rbx, [r15+8]
    001b126dadd rbx, 40
    001b1271mov [rbx-8], 4343
    001b1279lea rdi, [rip-0xba260]
    001b1280mov [rbx], rdi
    001b1283mov rdi, 0x200000000000007
    001b128dmov [rbx+8], rdi
    001b1291lea rdi, [rip+72]
    001b1298mov [rbx+16], rdi
    001b129cmov [rbx+24], rax
    001b12a0mov edi, 1
    001b12a5lea rax, [rbx-40]
    001b12a9mov [rax-8], 4343
    001b12b1lea rsi, [rip+264]
    001b12b8mov [rax], rsi
    001b12bbmov rsi, 0x100000000000005
    001b12c5mov [rax+8], rsi
    001b12c9mov [rax+16], rdi
    001b12cdmov [rax+24], rbx
    001b12d1ret
    001b12d2
    001b12d2loc_1b12d2:
    001b12d2call caml_call_gc
    001b12d7jmp 0x1b1269
    001b1260
    001b12d9
    001b12d9 // align 0x10
    001b12e0
    001b12e0Stdlib.Array.aux:
    001b12e0mov rbx, [rdi+24]
    001b12e4mov rsi, [rbx-8]
    001b12e8shr rsi, 9
    001b12ecor rsi, 1
    001b12f0cmp rax, rsi
    001b12f3jge 0x1b1380
    001b12f9movzx rsi, [rbx-8]
    001b12fecmp rsi, 254
    001b1305je 0x1b1310
    001b1307mov rsi, [rbx+4*rax-4]
    001b130cjmp 0x1b132f
    001b130e
    001b130e 66 90 f.
    001b1310
    001b1310loc_1b1310:
    001b1310sub r15, 16
    001b1314cmp r15, [r14]
    001b1317jb 0x1b138d
    001b1319
    001b1319loc_1b1319:
    001b1319lea rsi, [r15+8]
    001b131dmov [rsi-8], 1277
    001b1325movsd_xmm x0, [rbx+4*rax-4]
    001b132bmovsd_xmm [rsi], x0
    001b132f
    001b132floc_1b132f:
    001b132fadd rax, 2
    001b1333sub r15, 64
    001b1337cmp r15, [r14]
    001b133ajb 0x1b1386
    001b133c
    001b133cloc_1b133c:
    001b133clea rbx, [r15+8]
    001b1340add rbx, 24
    001b1344mov [rbx-8], 4343
    001b134clea rdx, [rip+77]
    001b1353mov [rbx], rdx
    001b1356mov rdx, 0x100000000000005
    001b1360mov [rbx+8], rdx
    001b1364mov [rbx+16], rax
    001b1368mov [rbx+24], rdi
    001b136clea rax, [rbx-24]
    001b1370mov [rax-8], 2048
    001b1378mov [rax], rsi
    001b137bmov [rax+8], rbx
    001b137fret
    001b1380
    001b1380loc_1b1380:
    001b1380mov eax, 1
    001b1385ret
    001b1386
    001b1386loc_1b1386:
    001b1386call caml_call_gc
    001b138bjmp 0x1b133c
    001b138d
    001b138dloc_1b138d:
    001b138dcall caml_call_gc
    001b1392jmp 0x1b1319
    001b12e0