File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    001a223b
    001a223b // align 0x10
    001a2240
    001a2240Stdlib.List.drop_while:
    001a2240lea r10, [rsp-336]
    001a2248cmp r10, [r14+40]
    001a224cjb 0x1a2298
    001a224e
    001a224eloc_1a224e:
    001a224esub rsp, 16
    001a2252
    001a2252loc_1a2252:
    001a2252mov rdi, rax
    001a2255mov [rsp], rbx
    001a2259cmp r15, [r14]
    001a225cjbe 0x1a2291
    001a225e
    001a225eloc_1a225e:
    001a225etest bl, 1
    001a2261jne 0x1a2288
    001a2263mov [rsp+8], rdi
    001a2268mov rax, [rbx]
    001a226bmov rsi, [rdi]
    001a226emov rbx, rdi
    001a2271call rsi
    001a2273cmp rax, 1
    001a2277je 0x1a2288
    001a2279mov rax, [rsp]
    001a227dmov rbx, [rax+8]
    001a2281mov rax, [rsp+8]
    001a2286jmp 0x1a2252
    001a2288
    001a2288loc_1a2288:
    001a2288mov rax, [rsp]
    001a228cadd rsp, 16
    001a2290ret
    001a2291
    001a2291loc_1a2291:
    001a2291call caml_call_gc
    001a2296jmp 0x1a225e
    001a2298
    001a2298loc_1a2298:
    001a2298push 35
    001a229acall caml_call_realloc_stack
    001a229fpop r10
    001a22a1jmp 0x1a224e
    001a2240
    001a22a3
    001a22a3 // align 0x10
    001a22b0
    001a22b0Stdlib.List.fold_left_map:
    001a22b0sub r15, 40
    001a22b4cmp r15, [r14]
    001a22b7jb 0x1a22fc
    001a22b9
    001a22b9loc_1a22b9:
    001a22b9lea rsi, [r15+8]
    001a22bdmov [rsi-8], 4343
    001a22c5lea rdx, [rip-0xab39c]
    001a22ccmov [rsi], rdx
    001a22cfmov rdx, 0x300000000000007
    001a22d9mov [rsi+8], rdx
    001a22ddlea rdx, [rip+44]
    001a22e4mov [rsi+16], rdx
    001a22e8mov [rsi+24], rax
    001a22ecmov edx, 1
    001a22f1mov rax, rbx
    001a22f4mov rbx, rdx
    001a22f7jmp 0x1a2310
    001a22fc
    001a22fcloc_1a22fc:
    001a22fccall caml_call_gc
    001a2301jmp 0x1a22b9
    001a22b0
    001a2303
    001a2303 // align 0x10
    001a2310
    001a2310Stdlib.List.aux:
    001a2310lea r10, [rsp-344]
    001a2318cmp r10, [r14+40]
    001a231cjb 0x1a23d0
    001a2322
    001a2322loc_1a2322:
    001a2322sub rsp, 24
    001a2326
    001a2326loc_1a2326:
    001a2326test dil, 1
    001a232aje 0x1a2368
    001a232cmov [rsp], rax
    001a2330mov edi, 1
    001a2335mov rax, rbx
    001a2338mov rbx, rdi
    001a233bcall Stdlib.List.rev_append
    001a2340sub r15, 24
    001a2344cmp r15, [r14]
    001a2347jb 0x1a23c6
    001a2349
    001a2349loc_1a2349:
    001a2349lea rbx, [r15+8]
    001a234dmov [rbx-8], 2048
    001a2355mov rdi, [rsp]
    001a2359mov [rbx], rdi
    001a235cmov [rbx+8], rax
    001a2360mov rax, rbx
    001a2363add rsp, 24
    001a2367ret
    001a2368
    001a2368loc_1a2368:
    001a2368mov [rsp+16], rsi
    001a236dmov [rsp+8], rdi
    001a2372mov [rsp], rbx
    001a2376mov rsi, [rsi+24]
    001a237amov rbx, [rdi]
    001a237dmov rdi, rsi
    001a2380call caml_apply2
    001a2385sub r15, 24
    001a2389cmp r15, [r14]
    001a238cjb 0x1a23bf
    001a238e
    001a238eloc_1a238e:
    001a238elea rbx, [r15+8]
    001a2392mov [rbx-8], 2048
    001a239amov rdi, [rax+8]
    001a239emov [rbx], rdi
    001a23a1mov rdi, [rsp]
    001a23a5mov [rbx+8], rdi
    001a23a9mov rdi, [rsp+8]
    001a23aemov rdi, [rdi+8]
    001a23b2mov rax, [rax]
    001a23b5mov rsi, [rsp+16]
    001a23bajmp 0x1a2326
    001a23bf
    001a23bfloc_1a23bf:
    001a23bfcall caml_call_gc
    001a23c4jmp 0x1a238e
    001a23c6
    001a23c6loc_1a23c6:
    001a23c6call caml_call_gc
    001a23cbjmp 0x1a2349
    001a23d0
    001a23d0loc_1a23d0:
    001a23d0push 36
    001a23d2call caml_call_realloc_stack
    001a23d7pop r10
    001a23d9jmp 0x1a2322
    001a2310
    001a23de
    001a23de // align 0x10
    001a23e0
    001a23e0Stdlib.List.partition:
    001a23e0mov rdi, rbx
    001a23e3sub r15, 40
    001a23e7cmp r15, [r14]
    001a23eajb 0x1a242e
    001a23ec
    001a23ecloc_1a23ec:
    001a23eclea rsi, [r15+8]
    001a23f0mov [rsi-8], 4343
    001a23f8lea rbx, [rip-0xab4cf]
    001a23ffmov [rsi], rbx
    001a2402mov rbx, 0x300000000000007
    001a240cmov [rsi+8], rbx
    001a2410lea rbx, [rip+41]
    001a2417mov [rsi+16], rbx
    001a241bmov [rsi+24], rax
    001a241fmov ebx, 1
    001a2424mov eax, 1
    001a2429jmp 0x1a2440
    001a242e
    001a242eloc_1a242e:
    001a242ecall caml_call_gc
    001a2433jmp 0x1a23ec
    001a23e0
    001a2435
    001a2435 // align 0x10
    001a2440
    001a2440Stdlib.List.part:
    001a2440lea r10, [rsp-360]
    001a2448cmp r10, [r14+40]
    001a244cjb 0x1a2565
    001a2452
    001a2452loc_1a2452:
    001a2452sub rsp, 40
    001a2456
    001a2456loc_1a2456:
    001a2456mov [rsp+32], rax
    001a245bmov rax, rbx
    001a245etest dil, 1
    001a2462je 0x1a24b0
    001a2464mov ebx, 1
    001a2469call Stdlib.List.rev_append
    001a246emov [rsp], rax
    001a2472mov ebx, 1
    001a2477mov rax, [rsp+32]
    001a247ccall Stdlib.List.rev_append
    001a2481sub r15, 24
    001a2485cmp r15, [r14]
    001a2488jb 0x1a255b
    001a248e
    001a248eloc_1a248e:
    001a248elea rbx, [r15+8]
    001a2492mov [rbx-8], 2048
    001a249amov [rbx], rax
    001a249dmov rax, [rsp]
    001a24a1mov [rbx+8], rax
    001a24a5mov rax, rbx
    001a24a8add rsp, 40
    001a24acret
    001a24ad
    001a24ad 0f 1f 00 ...
    001a24b0
    001a24b0loc_1a24b0:
    001a24b0mov [rsp+24], rsi
    001a24b5mov [rsp+8], rax
    001a24bamov rax, [rdi+8]
    001a24bemov [rsp+16], rax
    001a24c3mov rax, [rdi]
    001a24c6mov [rsp], rax
    001a24camov rbx, [rsi+24]
    001a24cemov rdi, [rbx]
    001a24d1call rdi
    001a24d3cmp rax, 1
    001a24d7je 0x1a2514
    001a24d9sub r15, 24
    001a24ddcmp r15, [r14]
    001a24e0jb 0x1a2554
    001a24e2
    001a24e2loc_1a24e2:
    001a24e2lea rax, [r15+8]
    001a24e6mov [rax-8], 2048
    001a24eemov rbx, [rsp]
    001a24f2mov [rax], rbx
    001a24f5mov rbx, [rsp+32]
    001a24famov [rax+8], rbx
    001a24femov rbx, [rsp+8]
    001a2503mov rdi, [rsp+16]
    001a2508mov rsi, [rsp+24]
    001a250djmp 0x1a2456
    001a2512
    001a2512 66 90 f.
    001a2514
    001a2514loc_1a2514:
    001a2514sub r15, 24
    001a2518cmp r15, [r14]
    001a251bjb 0x1a254d
    001a251d
    001a251dloc_1a251d:
    001a251dlea rbx, [r15+8]
    001a2521mov [rbx-8], 2048
    001a2529mov rax, [rsp]
    001a252dmov [rbx], rax
    001a2530mov rax, [rsp+8]
    001a2535mov [rbx+8], rax
    001a2539mov rax, [rsp+32]
    001a253emov rdi, [rsp+16]
    001a2543mov rsi, [rsp+24]
    001a2548jmp 0x1a2456
    001a254d
    001a254dloc_1a254d:
    001a254dcall caml_call_gc
    001a2552jmp 0x1a251d
    001a2554
    001a2554loc_1a2554:
    001a2554call caml_call_gc
    001a2559jmp 0x1a24e2
    001a255b
    001a255bloc_1a255b:
    001a255bcall caml_call_gc
    001a2560jmp 0x1a248e
    001a2565
    001a2565loc_1a2565:
    001a2565push 38
    001a2567call caml_call_realloc_stack
    001a256cpop r10
    001a256ejmp 0x1a2452
    001a2440
    001a2573
    001a2573 // align 0x10
    001a2580
    001a2580Stdlib.List.partition_map:
    001a2580mov rdi, rbx
    001a2583sub r15, 40
    001a2587cmp r15, [r14]
    001a258ajb 0x1a25ce
    001a258c
    001a258cloc_1a258c:
    001a258clea rsi, [r15+8]
    001a2590mov [rsi-8], 4343
    001a2598lea rbx, [rip-0xab66f]
    001a259fmov [rsi], rbx
    001a25a2mov rbx, 0x300000000000007
    001a25acmov [rsi+8], rbx
    001a25b0lea rbx, [rip+41]
    001a25b7mov [rsi+16], rbx
    001a25bbmov [rsi+24], rax
    001a25bfmov ebx, 1
    001a25c4mov eax, 1
    001a25c9jmp 0x1a25e0
    001a25ce
    001a25celoc_1a25ce:
    001a25cecall caml_call_gc
    001a25d3jmp 0x1a258c
    001a2580
    001a25d5
    001a25d5 // align 0x10
    001a25e0
    001a25e0Stdlib.List.part:
    001a25e0lea r10, [rsp-352]
    001a25e8cmp r10, [r14+40]
    001a25ecjb 0x1a2702
    001a25f2
    001a25f2loc_1a25f2:
    001a25f2sub rsp, 32
    001a25f6
    001a25f6loc_1a25f6:
    001a25f6mov [rsp+24], rax
    001a25fbmov rax, rbx
    001a25fetest dil, 1
    001a2602je 0x1a2650
    001a2604mov ebx, 1
    001a2609call Stdlib.List.rev_append
    001a260emov [rsp], rax
    001a2612mov ebx, 1
    001a2617mov rax, [rsp+24]
    001a261ccall Stdlib.List.rev_append
    001a2621sub r15, 24
    001a2625cmp r15, [r14]
    001a2628jb 0x1a26f8
    001a262e
    001a262eloc_1a262e:
    001a262elea rbx, [r15+8]
    001a2632mov [rbx-8], 2048
    001a263amov [rbx], rax
    001a263dmov rax, [rsp]
    001a2641mov [rbx+8], rax
    001a2645mov rax, rbx
    001a2648add rsp, 32
    001a264cret
    001a264d
    001a264d 0f 1f 00 ...
    001a2650
    001a2650loc_1a2650:
    001a2650mov [rsp+16], rsi
    001a2655mov [rsp], rax
    001a2659mov rax, [rdi+8]
    001a265dmov [rsp+8], rax
    001a2662mov rbx, [rsi+24]
    001a2666mov rax, [rdi]
    001a2669mov rdi, [rbx]
    001a266ccall rdi
    001a266emovzx rbx, [rax-8]
    001a2673test rbx, rbx
    001a2676je 0x1a26b0
    001a2678sub r15, 24
    001a267ccmp r15, [r14]
    001a267fjb 0x1a26f1
    001a2681
    001a2681loc_1a2681:
    001a2681lea rbx, [r15+8]
    001a2685mov [rbx-8], 2048
    001a268dmov rax, [rax]
    001a2690mov [rbx], rax
    001a2693mov rax, [rsp]
    001a2697mov [rbx+8], rax
    001a269bmov rax, [rsp+24]
    001a26a0mov rdi, [rsp+8]
    001a26a5mov rsi, [rsp+16]
    001a26aajmp 0x1a25f6
    001a26af
    001a26af 90 .
    001a26b0
    001a26b0loc_1a26b0:
    001a26b0sub r15, 24
    001a26b4cmp r15, [r14]
    001a26b7jb 0x1a26ea
    001a26b9
    001a26b9loc_1a26b9:
    001a26b9lea rbx, [r15+8]
    001a26bdmov [rbx-8], 2048
    001a26c5mov rax, [rax]
    001a26c8mov [rbx], rax
    001a26cbmov rax, [rsp+24]
    001a26d0mov [rbx+8], rax
    001a26d4mov rax, rbx
    001a26d7mov rbx, [rsp]
    001a26dbmov rdi, [rsp+8]
    001a26e0mov rsi, [rsp+16]
    001a26e5jmp 0x1a25f6
    001a26ea
    001a26ealoc_1a26ea:
    001a26eacall caml_call_gc
    001a26efjmp 0x1a26b9
    001a26f1
    001a26f1loc_1a26f1:
    001a26f1call caml_call_gc
    001a26f6jmp 0x1a2681
    001a26f8
    001a26f8loc_1a26f8:
    001a26f8call caml_call_gc
    001a26fdjmp 0x1a262e
    001a2702
    001a2702loc_1a2702:
    001a2702push 37
    001a2704call caml_call_realloc_stack
    001a2709pop r10
    001a270bjmp 0x1a25f2
    001a25e0
    001a2710
    001a2710Stdlib.List.split:
    001a2710lea r10, [rsp-328]
    001a2718cmp r10, [r14+40]
    001a271cjb 0x1a27ac
    001a2722
    001a2722loc_1a2722:
    001a2722sub rsp, 8
    001a2726test al, 1
    001a2728je 0x1a2738
    001a272alea rax, [rip+0x192e5f]
    001a2731add rsp, 8
    001a2735ret
    001a2736
    001a2736 66 90 f.
    001a2738
    001a2738loc_1a2738:
    001a2738mov rbx, [rax]
    001a273bmov [rsp], rbx
    001a273fmov rax, [rax+8]
    001a2743call Stdlib.List.split
    001a2748sub r15, 72
    001a274ccmp r15, [r14]
    001a274fjb 0x1a27a5
    001a2751
    001a2751loc_1a2751:
    001a2751lea rbx, [r15+8]
    001a2755add rbx, 48
    001a2759mov [rbx-8], 2048
    001a2761mov rsi, [rsp]
    001a2765mov rdi, [rsi+8]
    001a2769mov [rbx], rdi
    001a276cmov rdi, [rax+8]
    001a2770mov [rbx+8], rdi
    001a2774lea rdi, [rbx-24]
    001a2778mov [rdi-8], 2048
    001a2780mov rsi, [rsi]
    001a2783mov [rdi], rsi
    001a2786mov rax, [rax]
    001a2789mov [rdi+8], rax
    001a278dlea rax, [rdi-24]
    001a2791mov [rax-8], 2048
    001a2799mov [rax], rdi
    001a279cmov [rax+8], rbx
    001a27a0add rsp, 8
    001a27a4ret
    001a27a5
    001a27a5loc_1a27a5:
    001a27a5call caml_call_gc
    001a27aajmp 0x1a2751
    001a27ac
    001a27acloc_1a27ac:
    001a27acpush 34
    001a27aecall caml_call_realloc_stack
    001a27b3pop r10
    001a27b5jmp 0x1a2722
    001a2710
    001a27ba
    001a27ba // align 0x10
    001a27c0
    001a27c0Stdlib.List.combine:
    001a27c0lea r10, [rsp-336]
    001a27c8cmp r10, [r14+40]
    001a27ccjb 0x1a286b
    001a27d2
    001a27d2loc_1a27d2:
    001a27d2sub rsp, 16
    001a27d6test al, 1
    001a27d8je 0x1a27ec
    001a27datest bl, 1
    001a27ddje 0x1a2854
    001a27dfmov eax, 1
    001a27e4add rsp, 16
    001a27e8ret
    001a27e9
    001a27e9 0f 1f 00 ...
    001a27ec
    001a27ecloc_1a27ec:
    001a27ectest bl, 1
    001a27efjne 0x1a2854
    001a27f1mov [rsp+8], rbx
    001a27f6mov [rsp], rax
    001a27famov rbx, [rbx+8]
    001a27femov rax, [rax+8]
    001a2802call Stdlib.List.combine
    001a2807sub r15, 48
    001a280bcmp r15, [r14]
    001a280ejb 0x1a2864
    001a2810
    001a2810loc_1a2810:
    001a2810lea rbx, [r15+8]
    001a2814add rbx, 24
    001a2818mov [rbx-8], 2048
    001a2820mov rdi, [rsp]
    001a2824mov rdi, [rdi]
    001a2827mov [rbx], rdi
    001a282amov rdi, [rsp+8]
    001a282fmov rdi, [rdi]
    001a2832mov [rbx+8], rdi
    001a2836lea rdi, [rbx-24]
    001a283amov [rdi-8], 2048
    001a2842mov [rdi], rbx
    001a2845mov [rdi+8], rax
    001a2849mov rax, rdi
    001a284cadd rsp, 16
    001a2850ret
    001a2851
    001a2851 0f 1f 00 ...
    001a2854
    001a2854loc_1a2854:
    001a2854lea rax, [rip+0x192d1d]
    001a285badd rsp, 16
    001a285fjmp 0x195ab0
    001a2864
    001a2864loc_1a2864:
    001a2864call caml_call_gc
    001a2869jmp 0x1a2810
    001a286b
    001a286bloc_1a286b:
    001a286bpush 35
    001a286dcall caml_call_realloc_stack
    001a2872pop r10
    001a2874jmp 0x1a27d2
    001a27c0
    001a2879
    001a2879 // align 0x10
    001a2880
    001a2880Stdlib.List.merge:
    001a2880lea r10, [rsp-360]
    001a2888cmp r10, [r14+40]
    001a288cjb 0x1a2972
    001a2892
    001a2892loc_1a2892:
    001a2892sub rsp, 40
    001a2896mov rsi, rax
    001a2899mov rax, rbx
    001a289ctest al, 1
    001a289eje 0x1a28a8
    001a28a0mov rax, rdi
    001a28a3add rsp, 40
    001a28a7ret
    001a28a8
    001a28a8loc_1a28a8:
    001a28a8test dil, 1
    001a28acje 0x1a28b4
    001a28aeadd rsp, 40
    001a28b2ret
    001a28b3
    001a28b3 90 .
    001a28b4
    001a28b4loc_1a28b4:
    001a28b4mov [rsp+24], rdi
    001a28b9mov [rsp+8], rax
    001a28bemov [rsp+16], rsi
    001a28c3mov rbx, [rdi]
    001a28c6mov [rsp], rbx
    001a28camov rax, [rax]
    001a28cdmov [rsp+32], rax
    001a28d2mov rdi, rsi
    001a28d5call caml_apply2
    001a28dacmp rax, 1
    001a28dejg 0x1a2924
    001a28e0mov rax, [rsp+8]
    001a28e5mov rbx, [rax+8]
    001a28e9mov rax, [rsp+16]
    001a28eemov rdi, [rsp+24]
    001a28f3call Stdlib.List.merge
    001a28f8sub r15, 24
    001a28fccmp r15, [r14]
    001a28ffjb 0x1a296b
    001a2901
    001a2901loc_1a2901:
    001a2901lea rbx, [r15+8]
    001a2905mov [rbx-8], 2048
    001a290dmov rdi, [rsp+32]
    001a2912mov [rbx], rdi
    001a2915mov [rbx+8], rax
    001a2919mov rax, rbx
    001a291cadd rsp, 40
    001a2920ret
    001a2921
    001a2921 0f 1f 00 ...
    001a2924
    001a2924loc_1a2924:
    001a2924mov rax, [rsp+24]
    001a2929mov rdi, [rax+8]
    001a292dmov rax, [rsp+16]
    001a2932mov rbx, [rsp+8]
    001a2937call Stdlib.List.merge
    001a293csub r15, 24
    001a2940cmp r15, [r14]
    001a2943jb 0x1a2964
    001a2945
    001a2945loc_1a2945:
    001a2945lea rbx, [r15+8]
    001a2949mov [rbx-8], 2048
    001a2951mov rdi, [rsp]
    001a2955mov [rbx], rdi
    001a2958mov [rbx+8], rax
    001a295cmov rax, rbx
    001a295fadd rsp, 40
    001a2963ret
    001a2964
    001a2964loc_1a2964:
    001a2964call caml_call_gc
    001a2969jmp 0x1a2945
    001a296b
    001a296bloc_1a296b:
    001a296bcall caml_call_gc
    001a2970jmp 0x1a2901
    001a2972
    001a2972loc_1a2972:
    001a2972push 38
    001a2974call caml_call_realloc_stack
    001a2979pop r10
    001a297bjmp 0x1a2892
    001a2880
    001a2980
    001a2980Stdlib.List.stable_sort:
    001a2980lea r10, [rsp-336]
    001a2988cmp r10, [r14+40]
    001a298cjb 0x1a2ac4
    001a2992
    001a2992loc_1a2992:
    001a2992sub rsp, 16
    001a2996mov [rsp+8], rbx
    001a299bsub r15, 168
    001a29a2cmp r15, [r14]
    001a29a5jb 0x1a2aba
    001a29ab
    001a29abloc_1a29ab:
    001a29ablea rdi, [r15+8]
    001a29afadd rdi, 128
    001a29b6mov [rdi-8], 4343
    001a29belea rdx, [rip-0xaba95]
    001a29c5mov [rdi], rdx
    001a29c8mov rsi, 0x300000000000007
    001a29d2mov [rdi+8], rsi
    001a29d6lea rsi, [rip+259]
    001a29ddmov [rdi+16], rsi
    001a29e1mov [rdi+24], rax
    001a29e5lea rsi, [rdi-40]
    001a29e9mov [rsi-8], 4343
    001a29f1mov [rsi], rdx
    001a29f4mov rdx, 0x300000000000007
    001a29femov [rsi+8], rdx
    001a2a02lea rdx, [rip+487]
    001a2a09mov [rsi+16], rdx
    001a2a0dmov [rsi+24], rax
    001a2a11lea rdx, [rsi-88]
    001a2a15mov [rsp], rdx
    001a2a19mov [rdx-8], 10487
    001a2a21lea rcx, [rip-0xaba08]
    001a2a28mov [rdx], rcx
    001a2a2bmov r8, 0x20000000000000f
    001a2a35mov [rdx+8], r8
    001a2a39lea r8, [rip+704]
    001a2a40mov [rdx+16], r8
    001a2a44mov [rdx+24], 4345
    001a2a4cmov [rdx+32], rcx
    001a2a50mov rcx, 0x200000000000007
    001a2a5amov [rdx+40], rcx
    001a2a5elea rcx, [rip+2075]
    001a2a65mov [rdx+48], rcx
    001a2a69mov [rdx+56], rax
    001a2a6dmov [rdx+64], rdi
    001a2a71mov [rdx+72], rsi
    001a2a75test bl, 1
    001a2a78je 0x1a2a84
    001a2a7amov eax, 1
    001a2a7fjmp 0x1a2a92
    001a2a81
    001a2a81 0f 1f 00 ...
    001a2a84
    001a2a84loc_1a2a84:
    001a2a84mov rbx, [rbx+8]
    001a2a88mov eax, 3
    001a2a8dcall Stdlib.List.length_aux
    001a2a92
    001a2a92loc_1a2a92:
    001a2a92cmp rax, 5
    001a2a96jge 0x1a2aa4
    001a2a98mov rax, [rsp+8]
    001a2a9dadd rsp, 16
    001a2aa1ret
    001a2aa2
    001a2aa2 66 90 f.
    001a2aa4
    001a2aa4loc_1a2aa4:
    001a2aa4mov rbx, [rsp+8]
    001a2aa9mov rdi, [rsp]
    001a2aadcall Stdlib.List.sort
    001a2ab2mov rax, [rax]
    001a2ab5add rsp, 16
    001a2ab9ret
    001a2aba
    001a2abaloc_1a2aba:
    001a2abacall caml_call_gc
    001a2abfjmp 0x1a29ab
    001a2ac4
    001a2ac4loc_1a2ac4:
    001a2ac4push 35
    001a2ac6call caml_call_realloc_stack
    001a2acbpop r10
    001a2acdjmp 0x1a2992
    001a2980
    001a2ad2
    001a2ad2 // align 0x10
    001a2ae0
    001a2ae0Stdlib.List.rev_merge:
    001a2ae0lea r10, [rsp-368]
    001a2ae8cmp r10, [r14+40]
    001a2aecjb 0x1a2bdb
    001a2af2
    001a2af2loc_1a2af2:
    001a2af2sub rsp, 48
    001a2af6
    001a2af6loc_1a2af6:
    001a2af6test al, 1
    001a2af8je 0x1a2b0c
    001a2afamov rax, rbx
    001a2afdmov rbx, rdi
    001a2b00add rsp, 48
    001a2b04jmp 0x19f950
    001a2b09
    001a2b09 0f 1f 00 ...
    001a2b0c
    001a2b0cloc_1a2b0c:
    001a2b0ctest bl, 1
    001a2b0fje 0x1a2b20
    001a2b11mov rbx, rdi
    001a2b14add rsp, 48
    001a2b18jmp 0x19f950
    001a2b1d
    001a2b1d 0f 1f 00 ...
    001a2b20
    001a2b20loc_1a2b20:
    001a2b20mov [rsp+40], rsi
    001a2b25mov [rsp+16], rdi
    001a2b2amov [rsp+32], rbx
    001a2b2fmov [rsp+24], rax
    001a2b34mov rbx, [rbx]
    001a2b37mov [rsp], rbx
    001a2b3bmov rax, [rax]
    001a2b3emov [rsp+8], rax
    001a2b43mov rdi, [rsi+24]
    001a2b47call caml_apply2
    001a2b4ccmp rax, 1
    001a2b50jg 0x1a2b90
    001a2b52sub r15, 24
    001a2b56cmp r15, [r14]
    001a2b59jb 0x1a2bd4
    001a2b5b
    001a2b5bloc_1a2b5b:
    001a2b5blea rdi, [r15+8]
    001a2b5fmov [rdi-8], 2048
    001a2b67mov rax, [rsp+8]
    001a2b6cmov [rdi], rax
    001a2b6fmov rax, [rsp+16]
    001a2b74mov [rdi+8], rax
    001a2b78mov rax, [rsp+24]
    001a2b7dmov rax, [rax+8]
    001a2b81mov rbx, [rsp+32]
    001a2b86mov rsi, [rsp+40]
    001a2b8bjmp 0x1a2af6
    001a2b90
    001a2b90loc_1a2b90:
    001a2b90sub r15, 24
    001a2b94cmp r15, [r14]
    001a2b97jb 0x1a2bcd
    001a2b99
    001a2b99loc_1a2b99:
    001a2b99lea rdi, [r15+8]
    001a2b9dmov [rdi-8], 2048
    001a2ba5mov rax, [rsp]
    001a2ba9mov [rdi], rax
    001a2bacmov rax, [rsp+16]
    001a2bb1mov [rdi+8], rax
    001a2bb5mov rax, [rsp+32]
    001a2bbamov rbx, [rax+8]
    001a2bbemov rax, [rsp+24]
    001a2bc3mov rsi, [rsp+40]
    001a2bc8jmp 0x1a2af6
    001a2bcd
    001a2bcdloc_1a2bcd:
    001a2bcdcall caml_call_gc
    001a2bd2jmp 0x1a2b99
    001a2bd4
    001a2bd4loc_1a2bd4:
    001a2bd4call caml_call_gc
    001a2bd9jmp 0x1a2b5b
    001a2bdb
    001a2bdbloc_1a2bdb:
    001a2bdbpush 39
    001a2bddcall caml_call_realloc_stack
    001a2be2pop r10
    001a2be4jmp 0x1a2af2
    001a2ae0
    001a2be9
    001a2be9 // align 0x10
    001a2bf0
    001a2bf0Stdlib.List.rev_merge_rev:
    001a2bf0lea r10, [rsp-368]
    001a2bf8cmp r10, [r14+40]
    001a2bfcjb 0x1a2ceb
    001a2c02
    001a2c02loc_1a2c02:
    001a2c02sub rsp, 48
    001a2c06
    001a2c06loc_1a2c06:
    001a2c06test al, 1
    001a2c08je 0x1a2c1c
    001a2c0amov rax, rbx
    001a2c0dmov rbx, rdi
    001a2c10add rsp, 48
    001a2c14jmp 0x19f950
    001a2c19
    001a2c19 0f 1f 00 ...
    001a2c1c
    001a2c1cloc_1a2c1c:
    001a2c1ctest bl, 1
    001a2c1fje 0x1a2c30
    001a2c21mov rbx, rdi
    001a2c24add rsp, 48
    001a2c28jmp 0x19f950
    001a2c2d
    001a2c2d 0f 1f 00 ...
    001a2c30
    001a2c30loc_1a2c30:
    001a2c30mov [rsp+40], rsi
    001a2c35mov [rsp+16], rdi
    001a2c3amov [rsp+32], rbx
    001a2c3fmov [rsp+24], rax
    001a2c44mov rbx, [rbx]
    001a2c47mov [rsp], rbx
    001a2c4bmov rax, [rax]
    001a2c4emov [rsp+8], rax
    001a2c53mov rdi, [rsi+24]
    001a2c57call caml_apply2
    001a2c5ccmp rax, 1
    001a2c60jle 0x1a2ca0
    001a2c62sub r15, 24
    001a2c66cmp r15, [r14]
    001a2c69jb 0x1a2ce4
    001a2c6b
    001a2c6bloc_1a2c6b:
    001a2c6blea rdi, [r15+8]
    001a2c6fmov [rdi-8], 2048
    001a2c77mov rax, [rsp+8]
    001a2c7cmov [rdi], rax
    001a2c7fmov rax, [rsp+16]
    001a2c84mov [rdi+8], rax
    001a2c88mov rax, [rsp+24]
    001a2c8dmov rax, [rax+8]
    001a2c91mov rbx, [rsp+32]
    001a2c96mov rsi, [rsp+40]
    001a2c9bjmp 0x1a2c06
    001a2ca0
    001a2ca0loc_1a2ca0:
    001a2ca0sub r15, 24
    001a2ca4cmp r15, [r14]
    001a2ca7jb 0x1a2cdd
    001a2ca9
    001a2ca9loc_1a2ca9:
    001a2ca9lea rdi, [r15+8]
    001a2cadmov [rdi-8], 2048
    001a2cb5mov rax, [rsp]
    001a2cb9mov [rdi], rax
    001a2cbcmov rax, [rsp+16]
    001a2cc1mov [rdi+8], rax
    001a2cc5mov rax, [rsp+32]
    001a2ccamov rbx, [rax+8]
    001a2ccemov rax, [rsp+24]
    001a2cd3mov rsi, [rsp+40]
    001a2cd8jmp 0x1a2c06
    001a2cdd
    001a2cddloc_1a2cdd:
    001a2cddcall caml_call_gc
    001a2ce2jmp 0x1a2ca9
    001a2ce4
    001a2ce4loc_1a2ce4:
    001a2ce4call caml_call_gc
    001a2ce9jmp 0x1a2c6b
    001a2ceb
    001a2cebloc_1a2ceb:
    001a2cebpush 39
    001a2cedcall caml_call_realloc_stack
    001a2cf2pop r10
    001a2cf4jmp 0x1a2c02
    001a2bf0
    001a2cf9
    001a2cf9 // align 0x10
    001a2d00
    001a2d00Stdlib.List.sort:
    001a2d00lea r10, [rsp-360]
    001a2d08cmp r10, [r14+40]
    001a2d0cjb 0x1a3270
    001a2d12
    001a2d12loc_1a2d12:
    001a2d12sub rsp, 40
    001a2d16mov rdx, rax
    001a2d19mov rsi, rbx
    001a2d1ccmp rdx, 5
    001a2d20je 0x1a3078
    001a2d26mov [rsp+16], rdi
    001a2d2bcmp rdx, 7
    001a2d2fjne 0x1a317c
    001a2d35test sil, 1
    001a2d39jne 0x1a317c
    001a2d3fmov rax, [rsi+8]
    001a2d43test al, 1
    001a2d45jne 0x1a317c
    001a2d4bmov rbx, [rax+8]
    001a2d4ftest bl, 1
    001a2d52jne 0x1a317c
    001a2d58mov [rsp], rbx
    001a2d5cmov rbx, [rbx]
    001a2d5fmov [rsp+8], rbx
    001a2d64mov rbx, [rax]
    001a2d67mov [rsp+24], rbx
    001a2d6cmov rax, [rsi]
    001a2d6fmov [rsp+32], rax
    001a2d74mov rdi, [rdi+56]
    001a2d78call caml_apply2
    001a2d7dcmp rax, 1
    001a2d81jg 0x1a2eec
    001a2d87mov rax, [rsp+16]
    001a2d8cmov rdi, [rax+56]
    001a2d90mov rax, [rsp+24]
    001a2d95mov rbx, [rsp+8]
    001a2d9acall caml_apply2
    001a2d9fcmp rax, 1
    001a2da3jg 0x1a2e08
    001a2da5sub r15, 72
    001a2da9cmp r15, [r14]
    001a2dacjb 0x1a3266
    001a2db2
    001a2db2loc_1a2db2:
    001a2db2lea rax, [r15+8]
    001a2db6add rax, 48
    001a2dbamov [rax-8], 2048
    001a2dc2mov rbx, [rsp+8]
    001a2dc7mov [rax], rbx
    001a2dcamov [rax+8], 1
    001a2dd2lea rbx, [rax-24]
    001a2dd6mov [rbx-8], 2048
    001a2ddemov rdi, [rsp+24]
    001a2de3mov [rbx], rdi
    001a2de6mov [rbx+8], rax
    001a2dealea rdi, [rbx-24]
    001a2deemov [rdi-8], 2048
    001a2df6mov rax, [rsp+32]
    001a2dfbmov [rdi], rax
    001a2dfemov [rdi+8], rbx
    001a2e02jmp 0x1a3049
    001a2e07
    001a2e07 90 .
    001a2e08
    001a2e08loc_1a2e08:
    001a2e08mov rax, [rsp+16]
    001a2e0dmov rdi, [rax+56]
    001a2e11mov rax, [rsp+32]
    001a2e16mov rbx, [rsp+8]
    001a2e1bcall caml_apply2
    001a2e20cmp rax, 1
    001a2e24jg 0x1a2e88
    001a2e26sub r15, 72
    001a2e2acmp r15, [r14]
    001a2e2djb 0x1a325c
    001a2e33
    001a2e33loc_1a2e33:
    001a2e33lea rax, [r15+8]
    001a2e37add rax, 48
    001a2e3bmov [rax-8], 2048
    001a2e43mov rbx, [rsp+24]
    001a2e48mov [rax], rbx
    001a2e4bmov [rax+8], 1
    001a2e53lea rbx, [rax-24]
    001a2e57mov [rbx-8], 2048
    001a2e5fmov rdi, [rsp+8]
    001a2e64mov [rbx], rdi
    001a2e67mov [rbx+8], rax
    001a2e6blea rdi, [rbx-24]
    001a2e6fmov [rdi-8], 2048
    001a2e77mov rax, [rsp+32]
    001a2e7cmov [rdi], rax
    001a2e7fmov [rdi+8], rbx
    001a2e83jmp 0x1a3049
    001a2e88
    001a2e88loc_1a2e88:
    001a2e88sub r15, 72
    001a2e8ccmp r15, [r14]
    001a2e8fjb 0x1a3252
    001a2e95
    001a2e95loc_1a2e95:
    001a2e95lea rax, [r15+8]
    001a2e99add rax, 48
    001a2e9dmov [rax-8], 2048
    001a2ea5mov rbx, [rsp+24]
    001a2eaamov [rax], rbx
    001a2eadmov [rax+8], 1
    001a2eb5lea rbx, [rax-24]
    001a2eb9mov [rbx-8], 2048
    001a2ec1mov rdi, [rsp+32]
    001a2ec6mov [rbx], rdi
    001a2ec9mov [rbx+8], rax
    001a2ecdlea rdi, [rbx-24]
    001a2ed1mov [rdi-8], 2048
    001a2ed9mov rax, [rsp+8]
    001a2edemov [rdi], rax
    001a2ee1mov [rdi+8], rbx
    001a2ee5jmp 0x1a3049
    001a2eea
    001a2eea 66 90 f.
    001a2eec
    001a2eecloc_1a2eec:
    001a2eecmov rax, [rsp+16]
    001a2ef1mov rdi, [rax+56]
    001a2ef5mov rax, [rsp+32]
    001a2efamov rbx, [rsp+8]
    001a2effcall caml_apply2
    001a2f04cmp rax, 1
    001a2f08jg 0x1a2f6c
    001a2f0asub r15, 72
    001a2f0ecmp r15, [r14]
    001a2f11jb 0x1a3248
    001a2f17
    001a2f17loc_1a2f17:
    001a2f17lea rax, [r15+8]
    001a2f1badd rax, 48
    001a2f1fmov [rax-8], 2048
    001a2f27mov rbx, [rsp+8]
    001a2f2cmov [rax], rbx
    001a2f2fmov [rax+8], 1
    001a2f37lea rbx, [rax-24]
    001a2f3bmov [rbx-8], 2048
    001a2f43mov rdi, [rsp+32]
    001a2f48mov [rbx], rdi
    001a2f4bmov [rbx+8], rax
    001a2f4flea rdi, [rbx-24]
    001a2f53mov [rdi-8], 2048
    001a2f5bmov rax, [rsp+24]
    001a2f60mov [rdi], rax
    001a2f63mov [rdi+8], rbx
    001a2f67jmp 0x1a3049
    001a2f6c
    001a2f6cloc_1a2f6c:
    001a2f6cmov rax, [rsp+16]
    001a2f71mov rdi, [rax+56]
    001a2f75mov rax, [rsp+24]
    001a2f7amov rbx, [rsp+8]
    001a2f7fcall caml_apply2
    001a2f84cmp rax, 1
    001a2f88jg 0x1a2fec
    001a2f8asub r15, 72
    001a2f8ecmp r15, [r14]
    001a2f91jb 0x1a323e
    001a2f97
    001a2f97loc_1a2f97:
    001a2f97lea rax, [r15+8]
    001a2f9badd rax, 48
    001a2f9fmov [rax-8], 2048
    001a2fa7mov rbx, [rsp+32]
    001a2facmov [rax], rbx
    001a2fafmov [rax+8], 1
    001a2fb7lea rbx, [rax-24]
    001a2fbbmov [rbx-8], 2048
    001a2fc3mov rdi, [rsp+8]
    001a2fc8mov [rbx], rdi
    001a2fcbmov [rbx+8], rax
    001a2fcflea rdi, [rbx-24]
    001a2fd3mov [rdi-8], 2048
    001a2fdbmov rax, [rsp+24]
    001a2fe0mov [rdi], rax
    001a2fe3mov [rdi+8], rbx
    001a2fe7jmp 0x1a3049
    001a2fe9
    001a2fe9 0f 1f 00 ...
    001a2fec
    001a2fecloc_1a2fec:
    001a2fecsub r15, 72
    001a2ff0cmp r15, [r14]
    001a2ff3jb 0x1a3234
    001a2ff9
    001a2ff9loc_1a2ff9:
    001a2ff9lea rax, [r15+8]
    001a2ffdadd rax, 48
    001a3001mov [rax-8], 2048
    001a3009mov rbx, [rsp+32]
    001a300emov [rax], rbx
    001a3011mov [rax+8], 1
    001a3019lea rbx, [rax-24]
    001a301dmov [rbx-8], 2048
    001a3025mov rdi, [rsp+24]
    001a302amov [rbx], rdi
    001a302dmov [rbx+8], rax
    001a3031lea rdi, [rbx-24]
    001a3035mov [rdi-8], 2048
    001a303dmov rax, [rsp+8]
    001a3042mov [rdi], rax
    001a3045mov [rdi+8], rbx
    001a3049
    001a3049loc_1a3049:
    001a3049sub r15, 24
    001a304dcmp r15, [r14]
    001a3050jb 0x1a322a
    001a3056
    001a3056loc_1a3056:
    001a3056lea rax, [r15+8]
    001a305amov [rax-8], 2048
    001a3062mov [rax], rdi
    001a3065mov rbx, [rsp]
    001a3069mov rbx, [rbx+8]
    001a306dmov [rax+8], rbx
    001a3071add rsp, 40
    001a3075ret
    001a3076
    001a3076 66 90 f.
    001a3078
    001a3078loc_1a3078:
    001a3078test sil, 1
    001a307cje 0x1a3088
    001a307emov [rsp+16], rdi
    001a3083jmp 0x1a317c
    001a3088
    001a3088loc_1a3088:
    001a3088mov rax, [rsi+8]
    001a308ctest al, 1
    001a308eje 0x1a309c
    001a3090mov [rsp+16], rdi
    001a3095jmp 0x1a317c
    001a309a
    001a309a 66 90 f.
    001a309c
    001a309cloc_1a309c:
    001a309cmov [rsp], rax
    001a30a0mov rbx, [rax]
    001a30a3mov [rsp+8], rbx
    001a30a8mov rax, [rsi]
    001a30abmov [rsp+16], rax
    001a30b0mov rdi, [rdi+56]
    001a30b4call caml_apply2
    001a30b9cmp rax, 1
    001a30bdjg 0x1a3108
    001a30bfsub r15, 48
    001a30c3cmp r15, [r14]
    001a30c6jb 0x1a3220
    001a30cc
    001a30ccloc_1a30cc:
    001a30cclea rax, [r15+8]
    001a30d0add rax, 24
    001a30d4mov [rax-8], 2048
    001a30dcmov rbx, [rsp+8]
    001a30e1mov [rax], rbx
    001a30e4mov [rax+8], 1
    001a30eclea rbx, [rax-24]
    001a30f0mov [rbx-8], 2048
    001a30f8mov rdi, [rsp+16]
    001a30fdmov [rbx], rdi
    001a3100mov [rbx+8], rax
    001a3104jmp 0x1a314d
    001a3106
    001a3106 66 90 f.
    001a3108
    001a3108loc_1a3108:
    001a3108sub r15, 48
    001a310ccmp r15, [r14]
    001a310fjb 0x1a3216
    001a3115
    001a3115loc_1a3115:
    001a3115lea rax, [r15+8]
    001a3119add rax, 24
    001a311dmov [rax-8], 2048
    001a3125mov rbx, [rsp+16]
    001a312amov [rax], rbx
    001a312dmov [rax+8], 1
    001a3135lea rbx, [rax-24]
    001a3139mov [rbx-8], 2048
    001a3141mov rdi, [rsp+8]
    001a3146mov [rbx], rdi
    001a3149mov [rbx+8], rax
    001a314d
    001a314dloc_1a314d:
    001a314dsub r15, 24
    001a3151cmp r15, [r14]
    001a3154jb 0x1a320c
    001a315a
    001a315aloc_1a315a:
    001a315alea rax, [r15+8]
    001a315emov [rax-8], 2048
    001a3166mov [rax], rbx
    001a3169mov rbx, [rsp]
    001a316dmov rbx, [rbx+8]
    001a3171mov [rax+8], rbx
    001a3175add rsp, 40
    001a3179ret
    001a317a
    001a317a 66 90 f.
    001a317c
    001a317cloc_1a317c:
    001a317cmov rax, rdx
    001a317fsar rax, 1
    001a3182or rax, 1
    001a3186sub rdx, rax
    001a3189inc rdx
    001a318cmov [rsp], rdx
    001a3190add rdi, 32
    001a3194mov rbx, rsi
    001a3197call Stdlib.List.rev_sort
    001a319cmov [rsp+8], rax
    001a31a1mov rdi, [rsp+16]
    001a31a6add rdi, 32
    001a31aamov rbx, [rax+8]
    001a31aemov rax, [rsp]
    001a31b2call Stdlib.List.rev_sort
    001a31b7mov [rsp], rax
    001a31bbmov rbx, [rax]
    001a31bemov rax, [rsp+8]
    001a31c3mov rax, [rax]
    001a31c6mov rdi, [rsp+16]
    001a31cbmov rsi, [rdi+72]
    001a31cfmov edi, 1
    001a31d4call Stdlib.List.rev_merge_rev
    001a31d9sub r15, 24
    001a31ddcmp r15, [r14]
    001a31e0jb 0x1a3205
    001a31e2
    001a31e2loc_1a31e2:
    001a31e2lea rbx, [r15+8]
    001a31e6mov [rbx-8], 2048
    001a31eemov [rbx], rax
    001a31f1mov rax, [rsp]
    001a31f5mov rax, [rax+8]
    001a31f9mov [rbx+8], rax
    001a31fdmov rax, rbx
    001a3200add rsp, 40
    001a3204ret
    001a3205
    001a3205loc_1a3205:
    001a3205call caml_call_gc
    001a320ajmp 0x1a31e2
    001a320c
    001a320cloc_1a320c:
    001a320ccall caml_call_gc
    001a3211jmp 0x1a315a
    001a3216
    001a3216loc_1a3216:
    001a3216call caml_call_gc
    001a321bjmp 0x1a3115
    001a3220
    001a3220loc_1a3220:
    001a3220call caml_call_gc
    001a3225jmp 0x1a30cc
    001a322a
    001a322aloc_1a322a:
    001a322acall caml_call_gc
    001a322fjmp 0x1a3056
    001a3234
    001a3234loc_1a3234:
    001a3234call caml_call_gc
    001a3239jmp 0x1a2ff9
    001a323e
    001a323eloc_1a323e:
    001a323ecall caml_call_gc
    001a3243jmp 0x1a2f97
    001a3248
    001a3248loc_1a3248:
    001a3248call caml_call_gc
    001a324djmp 0x1a2f17
    001a3252
    001a3252loc_1a3252:
    001a3252call caml_call_gc
    001a3257jmp 0x1a2e95
    001a325c
    001a325cloc_1a325c:
    001a325ccall caml_call_gc
    001a3261jmp 0x1a2e33
    001a3266
    001a3266loc_1a3266:
    001a3266call caml_call_gc
    001a326bjmp 0x1a2db2
    001a3270
    001a3270loc_1a3270:
    001a3270push 38
    001a3272call caml_call_realloc_stack
    001a3277pop r10
    001a3279jmp 0x1a2d12
    001a2d00
    001a327e
    001a327e // align 0x10
    001a3280
    001a3280Stdlib.List.rev_sort:
    001a3280lea r10, [rsp-360]
    001a3288cmp r10, [r14+40]
    001a328cjb 0x1a37f0
    001a3292
    001a3292loc_1a3292:
    001a3292sub rsp, 40
    001a3296mov rdx, rax
    001a3299mov rsi, rbx
    001a329ccmp rdx, 5
    001a32a0je 0x1a35f8
    001a32a6mov [rsp+16], rdi
    001a32abcmp rdx, 7
    001a32afjne 0x1a36fc
    001a32b5test sil, 1
    001a32b9jne 0x1a36fc
    001a32bfmov rax, [rsi+8]
    001a32c3test al, 1
    001a32c5jne 0x1a36fc
    001a32cbmov rbx, [rax+8]
    001a32cftest bl, 1
    001a32d2jne 0x1a36fc
    001a32d8mov [rsp], rbx
    001a32dcmov rbx, [rbx]
    001a32dfmov [rsp+8], rbx
    001a32e4mov rbx, [rax]
    001a32e7mov [rsp+24], rbx
    001a32ecmov rax, [rsi]
    001a32efmov [rsp+32], rax
    001a32f4mov rdi, [rdi+24]
    001a32f8call caml_apply2
    001a32fdcmp rax, 1
    001a3301jle 0x1a346c
    001a3307mov rax, [rsp+16]
    001a330cmov rdi, [rax+24]
    001a3310mov rax, [rsp+24]
    001a3315mov rbx, [rsp+8]
    001a331acall caml_apply2
    001a331fcmp rax, 1
    001a3323jle 0x1a3388
    001a3325sub r15, 72
    001a3329cmp r15, [r14]
    001a332cjb 0x1a37e6
    001a3332
    001a3332loc_1a3332:
    001a3332lea rax, [r15+8]
    001a3336add rax, 48
    001a333amov [rax-8], 2048
    001a3342mov rbx, [rsp+8]
    001a3347mov [rax], rbx
    001a334amov [rax+8], 1
    001a3352lea rbx, [rax-24]
    001a3356mov [rbx-8], 2048
    001a335emov rdi, [rsp+24]
    001a3363mov [rbx], rdi
    001a3366mov [rbx+8], rax
    001a336alea rdi, [rbx-24]
    001a336emov [rdi-8], 2048
    001a3376mov rax, [rsp+32]
    001a337bmov [rdi], rax
    001a337emov [rdi+8], rbx
    001a3382jmp 0x1a35c9
    001a3387
    001a3387 90 .
    001a3388
    001a3388loc_1a3388:
    001a3388mov rax, [rsp+16]
    001a338dmov rdi, [rax+24]
    001a3391mov rax, [rsp+32]
    001a3396mov rbx, [rsp+8]
    001a339bcall caml_apply2
    001a33a0cmp rax, 1
    001a33a4jle 0x1a3408
    001a33a6sub r15, 72
    001a33aacmp r15, [r14]
    001a33adjb 0x1a37dc
    001a33b3
    001a33b3loc_1a33b3:
    001a33b3lea rax, [r15+8]
    001a33b7add rax, 48
    001a33bbmov [rax-8], 2048
    001a33c3mov rbx, [rsp+24]
    001a33c8mov [rax], rbx
    001a33cbmov [rax+8], 1
    001a33d3lea rbx, [rax-24]
    001a33d7mov [rbx-8], 2048
    001a33dfmov rdi, [rsp+8]
    001a33e4mov [rbx], rdi
    001a33e7mov [rbx+8], rax
    001a33eblea rdi, [rbx-24]
    001a33efmov [rdi-8], 2048
    001a33f7mov rax, [rsp+32]
    001a33fcmov [rdi], rax
    001a33ffmov [rdi+8], rbx
    001a3403jmp 0x1a35c9
    001a3408
    001a3408loc_1a3408:
    001a3408sub r15, 72
    001a340ccmp r15, [r14]
    001a340fjb 0x1a37d2
    001a3415
    001a3415loc_1a3415:
    001a3415lea rax, [r15+8]
    001a3419add rax, 48
    001a341dmov [rax-8], 2048
    001a3425mov rbx, [rsp+24]
    001a342amov [rax], rbx
    001a342dmov [rax+8], 1
    001a3435lea rbx, [rax-24]
    001a3439mov [rbx-8], 2048
    001a3441mov rdi, [rsp+32]
    001a3446mov [rbx], rdi
    001a3449mov [rbx+8], rax
    001a344dlea rdi, [rbx-24]
    001a3451mov [rdi-8], 2048
    001a3459mov rax, [rsp+8]
    001a345emov [rdi], rax
    001a3461mov [rdi+8], rbx
    001a3465jmp 0x1a35c9
    001a346a
    001a346a 66 90 f.
    001a346c
    001a346cloc_1a346c:
    001a346cmov rax, [rsp+16]
    001a3471mov rdi, [rax+24]
    001a3475mov rax, [rsp+32]
    001a347amov rbx, [rsp+8]
    001a347fcall caml_apply2
    001a3484cmp rax, 1
    001a3488jle 0x1a34ec
    001a348asub r15, 72
    001a348ecmp r15, [r14]
    001a3491jb 0x1a37c8
    001a3497
    001a3497loc_1a3497:
    001a3497lea rax, [r15+8]
    001a349badd rax, 48
    001a349fmov [rax-8], 2048
    001a34a7mov rbx, [rsp+8]
    001a34acmov [rax], rbx
    001a34afmov [rax+8], 1
    001a34b7lea rbx, [rax-24]
    001a34bbmov [rbx-8], 2048
    001a34c3mov rdi, [rsp+32]
    001a34c8mov [rbx], rdi
    001a34cbmov [rbx+8], rax
    001a34cflea rdi, [rbx-24]
    001a34d3mov [rdi-8], 2048
    001a34dbmov rax, [rsp+24]
    001a34e0mov [rdi], rax
    001a34e3mov [rdi+8], rbx
    001a34e7jmp 0x1a35c9
    001a34ec
    001a34ecloc_1a34ec:
    001a34ecmov rax, [rsp+16]
    001a34f1mov rdi, [rax+24]
    001a34f5mov rax, [rsp+24]
    001a34famov rbx, [rsp+8]
    001a34ffcall caml_apply2
    001a3504cmp rax, 1
    001a3508jle 0x1a356c
    001a350asub r15, 72
    001a350ecmp r15, [r14]
    001a3511jb 0x1a37be
    001a3517
    001a3517loc_1a3517:
    001a3517lea rax, [r15+8]
    001a351badd rax, 48
    001a351fmov [rax-8], 2048
    001a3527mov rbx, [rsp+32]
    001a352cmov [rax], rbx
    001a352fmov [rax+8], 1
    001a3537lea rbx, [rax-24]
    001a353bmov [rbx-8], 2048
    001a3543mov rdi, [rsp+8]
    001a3548mov [rbx], rdi
    001a354bmov [rbx+8], rax
    001a354flea rdi, [rbx-24]
    001a3553mov [rdi-8], 2048
    001a355bmov rax, [rsp+24]
    001a3560mov [rdi], rax
    001a3563mov [rdi+8], rbx
    001a3567jmp 0x1a35c9
    001a3569
    001a3569 0f 1f 00 ...
    001a356c
    001a356cloc_1a356c:
    001a356csub r15, 72
    001a3570cmp r15, [r14]
    001a3573jb 0x1a37b4
    001a3579
    001a3579loc_1a3579:
    001a3579lea rax, [r15+8]
    001a357dadd rax, 48
    001a3581mov [rax-8], 2048
    001a3589mov rbx, [rsp+32]
    001a358emov [rax], rbx
    001a3591mov [rax+8], 1
    001a3599lea rbx, [rax-24]
    001a359dmov [rbx-8], 2048
    001a35a5mov rdi, [rsp+24]
    001a35aamov [rbx], rdi
    001a35admov [rbx+8], rax
    001a35b1lea rdi, [rbx-24]
    001a35b5mov [rdi-8], 2048
    001a35bdmov rax, [rsp+8]
    001a35c2mov [rdi], rax
    001a35c5mov [rdi+8], rbx
    001a35c9
    001a35c9loc_1a35c9:
    001a35c9sub r15, 24
    001a35cdcmp r15, [r14]
    001a35d0jb 0x1a37aa
    001a35d6
    001a35d6loc_1a35d6:
    001a35d6lea rax, [r15+8]
    001a35damov [rax-8], 2048
    001a35e2mov [rax], rdi
    001a35e5mov rbx, [rsp]
    001a35e9mov rbx, [rbx+8]
    001a35edmov [rax+8], rbx
    001a35f1add rsp, 40
    001a35f5ret
    001a35f6
    001a35f6 66 90 f.
    001a35f8
    001a35f8loc_1a35f8:
    001a35f8test sil, 1
    001a35fcje 0x1a3608
    001a35femov [rsp+16], rdi
    001a3603jmp 0x1a36fc
    001a3608
    001a3608loc_1a3608:
    001a3608mov rax, [rsi+8]
    001a360ctest al, 1
    001a360eje 0x1a361c
    001a3610mov [rsp+16], rdi
    001a3615jmp 0x1a36fc
    001a361a
    001a361a 66 90 f.
    001a361c
    001a361cloc_1a361c:
    001a361cmov [rsp], rax
    001a3620mov rbx, [rax]
    001a3623mov [rsp+8], rbx
    001a3628mov rax, [rsi]
    001a362bmov [rsp+16], rax
    001a3630mov rdi, [rdi+24]
    001a3634call caml_apply2
    001a3639cmp rax, 1
    001a363djle 0x1a3688
    001a363fsub r15, 48
    001a3643cmp r15, [r14]
    001a3646jb 0x1a37a0
    001a364c
    001a364cloc_1a364c:
    001a364clea rax, [r15+8]
    001a3650add rax, 24
    001a3654mov [rax-8], 2048
    001a365cmov rbx, [rsp+8]
    001a3661mov [rax], rbx
    001a3664mov [rax+8], 1
    001a366clea rbx, [rax-24]
    001a3670mov [rbx-8], 2048
    001a3678mov rdi, [rsp+16]
    001a367dmov [rbx], rdi
    001a3680mov [rbx+8], rax
    001a3684jmp 0x1a36cd
    001a3686
    001a3686 66 90 f.
    001a3688
    001a3688loc_1a3688:
    001a3688sub r15, 48
    001a368ccmp r15, [r14]
    001a368fjb 0x1a3796
    001a3695
    001a3695loc_1a3695:
    001a3695lea rax, [r15+8]
    001a3699add rax, 24
    001a369dmov [rax-8], 2048
    001a36a5mov rbx, [rsp+16]
    001a36aamov [rax], rbx
    001a36admov [rax+8], 1
    001a36b5lea rbx, [rax-24]
    001a36b9mov [rbx-8], 2048
    001a36c1mov rdi, [rsp+8]
    001a36c6mov [rbx], rdi
    001a36c9mov [rbx+8], rax
    001a36cd
    001a36cdloc_1a36cd:
    001a36cdsub r15, 24
    001a36d1cmp r15, [r14]
    001a36d4jb 0x1a378c
    001a36da
    001a36daloc_1a36da:
    001a36dalea rax, [r15+8]
    001a36demov [rax-8], 2048
    001a36e6mov [rax], rbx
    001a36e9mov rbx, [rsp]
    001a36edmov rbx, [rbx+8]
    001a36f1mov [rax+8], rbx
    001a36f5add rsp, 40
    001a36f9ret
    001a36fa
    001a36fa 66 90 f.
    001a36fc
    001a36fcloc_1a36fc:
    001a36fcmov rax, rdx
    001a36ffsar rax, 1
    001a3702or rax, 1
    001a3706sub rdx, rax
    001a3709inc rdx
    001a370cmov [rsp], rdx
    001a3710add rdi, -32
    001a3714mov rbx, rsi
    001a3717call Stdlib.List.sort
    001a371cmov [rsp+8], rax
    001a3721mov rdi, [rsp+16]
    001a3726add rdi, -32
    001a372amov rbx, [rax+8]
    001a372emov rax, [rsp]
    001a3732call Stdlib.List.sort
    001a3737mov [rsp], rax
    001a373bmov rbx, [rax]
    001a373emov rax, [rsp+8]
    001a3743mov rax, [rax]
    001a3746mov rdi, [rsp+16]
    001a374bmov rsi, [rdi+32]
    001a374fmov edi, 1
    001a3754call Stdlib.List.rev_merge
    001a3759sub r15, 24
    001a375dcmp r15, [r14]
    001a3760jb 0x1a3785
    001a3762
    001a3762loc_1a3762:
    001a3762lea rbx, [r15+8]
    001a3766mov [rbx-8], 2048
    001a376emov [rbx], rax
    001a3771mov rax, [rsp]
    001a3775mov rax, [rax+8]
    001a3779mov [rbx+8], rax
    001a377dmov rax, rbx
    001a3780add rsp, 40
    001a3784ret
    001a3785
    001a3785loc_1a3785:
    001a3785call caml_call_gc
    001a378ajmp 0x1a3762
    001a378c
    001a378cloc_1a378c:
    001a378ccall caml_call_gc
    001a3791jmp 0x1a36da
    001a3796
    001a3796loc_1a3796:
    001a3796call caml_call_gc
    001a379bjmp 0x1a3695
    001a37a0
    001a37a0loc_1a37a0:
    001a37a0call caml_call_gc
    001a37a5jmp 0x1a364c
    001a37aa
    001a37aaloc_1a37aa:
    001a37aacall caml_call_gc
    001a37afjmp 0x1a35d6
    001a37b4
    001a37b4loc_1a37b4:
    001a37b4call caml_call_gc
    001a37b9jmp 0x1a3579
    001a37be
    001a37beloc_1a37be:
    001a37becall caml_call_gc
    001a37c3jmp 0x1a3517
    001a37c8
    001a37c8loc_1a37c8:
    001a37c8call caml_call_gc
    001a37cdjmp 0x1a3497
    001a37d2
    001a37d2loc_1a37d2:
    001a37d2call caml_call_gc
    001a37d7jmp 0x1a3415
    001a37dc
    001a37dcloc_1a37dc:
    001a37dccall caml_call_gc
    001a37e1jmp 0x1a33b3
    001a37e6
    001a37e6loc_1a37e6:
    001a37e6call caml_call_gc
    001a37ebjmp 0x1a3332
    001a37f0
    001a37f0loc_1a37f0:
    001a37f0push 38
    001a37f2call caml_call_realloc_stack
    001a37f7pop r10
    001a37f9jmp 0x1a3292
    001a3280
    001a37fe
    001a37fe // align 0x10
    001a3800
    001a3800Stdlib.List.sort_uniq:
    001a3800lea r10, [rsp-336]
    001a3808cmp r10, [r14+40]
    001a380cjb 0x1a3944
    001a3812
    001a3812loc_1a3812:
    001a3812sub rsp, 16
    001a3816mov [rsp+8], rbx
    001a381bsub r15, 168
    001a3822cmp r15, [r14]
    001a3825jb 0x1a393a
    001a382b
    001a382bloc_1a382b:
    001a382blea rdi, [r15+8]
    001a382fadd rdi, 128
    001a3836mov [rdi-8], 4343
    001a383elea rdx, [rip-0xac915]
    001a3845mov [rdi], rdx
    001a3848mov rsi, 0x300000000000007
    001a3852mov [rdi+8], rsi
    001a3856lea rsi, [rip+259]
    001a385dmov [rdi+16], rsi
    001a3861mov [rdi+24], rax
    001a3865lea rsi, [rdi-40]
    001a3869mov [rsi-8], 4343
    001a3871mov [rsi], rdx
    001a3874mov rdx, 0x300000000000007
    001a387emov [rsi+8], rdx
    001a3882lea rdx, [rip+583]
    001a3889mov [rsi+16], rdx
    001a388dmov [rsi+24], rax
    001a3891lea rdx, [rsi-88]
    001a3895mov [rsp], rdx
    001a3899mov [rdx-8], 10487
    001a38a1lea rcx, [rip-0xac888]
    001a38a8mov [rdx], rcx
    001a38abmov r8, 0x20000000000000f
    001a38b5mov [rdx+8], r8
    001a38b9lea r8, [rip+896]
    001a38c0mov [rdx+16], r8
    001a38c4mov [rdx+24], 4345
    001a38ccmov [rdx+32], rcx
    001a38d0mov rcx, 0x200000000000007
    001a38damov [rdx+40], rcx
    001a38delea rcx, [rip+2971]
    001a38e5mov [rdx+48], rcx
    001a38e9mov [rdx+56], rax
    001a38edmov [rdx+64], rdi
    001a38f1mov [rdx+72], rsi
    001a38f5test bl, 1
    001a38f8je 0x1a3904
    001a38famov eax, 1
    001a38ffjmp 0x1a3912
    001a3901
    001a3901 0f 1f 00 ...
    001a3904
    001a3904loc_1a3904:
    001a3904mov rbx, [rbx+8]
    001a3908mov eax, 3
    001a390dcall Stdlib.List.length_aux
    001a3912
    001a3912loc_1a3912:
    001a3912cmp rax, 5
    001a3916jge 0x1a3924
    001a3918mov rax, [rsp+8]
    001a391dadd rsp, 16
    001a3921ret
    001a3922
    001a3922 66 90 f.
    001a3924
    001a3924loc_1a3924:
    001a3924mov rbx, [rsp+8]
    001a3929mov rdi, [rsp]
    001a392dcall Stdlib.List.sort
    001a3932mov rax, [rax]
    001a3935add rsp, 16
    001a3939ret
    001a393a
    001a393aloc_1a393a:
    001a393acall caml_call_gc
    001a393fjmp 0x1a382b
    001a3944
    001a3944loc_1a3944:
    001a3944push 35
    001a3946call caml_call_realloc_stack
    001a394bpop r10
    001a394djmp 0x1a3812
    001a3800
    001a3952
    001a3952 // align 0x10
    001a3960
    001a3960Stdlib.List.rev_merge:
    001a3960lea r10, [rsp-384]
    001a3968cmp r10, [r14+40]
    001a396cjb 0x1a3ab5
    001a3972
    001a3972loc_1a3972:
    001a3972sub rsp, 64
    001a3976
    001a3976loc_1a3976:
    001a3976test al, 1
    001a3978je 0x1a398c
    001a397amov rax, rbx
    001a397dmov rbx, rdi
    001a3980add rsp, 64
    001a3984jmp 0x19f950
    001a3989
    001a3989 0f 1f 00 ...
    001a398c
    001a398cloc_1a398c:
    001a398ctest bl, 1
    001a398fje 0x1a39a0
    001a3991mov rbx, rdi
    001a3994add rsp, 64
    001a3998jmp 0x19f950
    001a399d
    001a399d 0f 1f 00 ...
    001a39a0
    001a39a0loc_1a39a0:
    001a39a0mov [rsp+56], rsi
    001a39a5mov [rsp+32], rdi
    001a39aamov [rsp+16], rbx
    001a39afmov [rsp+8], rax
    001a39b4mov rdi, [rbx+8]
    001a39b8mov [rsp+48], rdi
    001a39bdmov rbx, [rbx]
    001a39c0mov [rsp], rbx
    001a39c4mov rdi, [rax+8]
    001a39c8mov [rsp+40], rdi
    001a39cdmov rax, [rax]
    001a39d0mov [rsp+24], rax
    001a39d5mov rdi, [rsi+24]
    001a39d9call caml_apply2
    001a39decmp rax, 1
    001a39e2jne 0x1a3a24
    001a39e4sub r15, 24
    001a39e8cmp r15, [r14]
    001a39ebjb 0x1a3aab
    001a39f1
    001a39f1loc_1a39f1:
    001a39f1lea rdi, [r15+8]
    001a39f5mov [rdi-8], 2048
    001a39fdmov rax, [rsp+24]
    001a3a02mov [rdi], rax
    001a3a05mov rax, [rsp+32]
    001a3a0amov [rdi+8], rax
    001a3a0emov rax, [rsp+40]
    001a3a13mov rbx, [rsp+48]
    001a3a18mov rsi, [rsp+56]
    001a3a1djmp 0x1a3976
    001a3a22
    001a3a22 66 90 f.
    001a3a24
    001a3a24loc_1a3a24:
    001a3a24cmp rax, 1
    001a3a28jge 0x1a3a64
    001a3a2asub r15, 24
    001a3a2ecmp r15, [r14]
    001a3a31jb 0x1a3aa4
    001a3a33
    001a3a33loc_1a3a33:
    001a3a33lea rdi, [r15+8]
    001a3a37mov [rdi-8], 2048
    001a3a3fmov rax, [rsp+24]
    001a3a44mov [rdi], rax
    001a3a47mov rax, [rsp+32]
    001a3a4cmov [rdi+8], rax
    001a3a50mov rax, [rsp+40]
    001a3a55mov rbx, [rsp+16]
    001a3a5amov rsi, [rsp+56]
    001a3a5fjmp 0x1a3976
    001a3a64
    001a3a64loc_1a3a64:
    001a3a64sub r15, 24
    001a3a68cmp r15, [r14]
    001a3a6bjb 0x1a3a9d
    001a3a6d
    001a3a6dloc_1a3a6d:
    001a3a6dlea rdi, [r15+8]
    001a3a71mov [rdi-8], 2048
    001a3a79mov rax, [rsp]
    001a3a7dmov [rdi], rax
    001a3a80mov rax, [rsp+32]
    001a3a85mov [rdi+8], rax
    001a3a89mov rax, [rsp+8]
    001a3a8emov rbx, [rsp+48]
    001a3a93mov rsi, [rsp+56]
    001a3a98jmp 0x1a3976
    001a3a9d
    001a3a9dloc_1a3a9d:
    001a3a9dcall caml_call_gc
    001a3aa2jmp 0x1a3a6d
    001a3aa4
    001a3aa4loc_1a3aa4:
    001a3aa4call caml_call_gc
    001a3aa9jmp 0x1a3a33
    001a3aab
    001a3aabloc_1a3aab:
    001a3aabcall caml_call_gc
    001a3ab0jmp 0x1a39f1
    001a3ab5
    001a3ab5loc_1a3ab5:
    001a3ab5push 41
    001a3ab7call caml_call_realloc_stack
    001a3abcpop r10
    001a3abejmp 0x1a3972
    001a3960
    001a3ac3
    001a3ac3 // align 0x10
    001a3ad0
    001a3ad0Stdlib.List.rev_merge_rev:
    001a3ad0lea r10, [rsp-384]
    001a3ad8cmp r10, [r14+40]
    001a3adcjb 0x1a3c25
    001a3ae2
    001a3ae2loc_1a3ae2:
    001a3ae2sub rsp, 64
    001a3ae6
    001a3ae6loc_1a3ae6:
    001a3ae6test al, 1
    001a3ae8je 0x1a3afc
    001a3aeamov rax, rbx
    001a3aedmov rbx, rdi
    001a3af0add rsp, 64
    001a3af4jmp 0x19f950
    001a3af9
    001a3af9 0f 1f 00 ...
    001a3afc
    001a3afcloc_1a3afc:
    001a3afctest bl, 1
    001a3affje 0x1a3b10
    001a3b01mov rbx, rdi
    001a3b04add rsp, 64
    001a3b08jmp 0x19f950
    001a3b0d
    001a3b0d 0f 1f 00 ...
    001a3b10
    001a3b10loc_1a3b10:
    001a3b10mov [rsp+56], rsi
    001a3b15mov [rsp+32], rdi
    001a3b1amov [rsp+16], rbx
    001a3b1fmov [rsp+8], rax
    001a3b24mov rdi, [rbx+8]
    001a3b28mov [rsp+48], rdi
    001a3b2dmov rbx, [rbx]
    001a3b30mov [rsp], rbx
    001a3b34mov rdi, [rax+8]
    001a3b38mov [rsp+40], rdi
    001a3b3dmov rax, [rax]
    001a3b40mov [rsp+24], rax
    001a3b45mov rdi, [rsi+24]
    001a3b49call caml_apply2
    001a3b4ecmp rax, 1
    001a3b52jne 0x1a3b94
    001a3b54sub r15, 24
    001a3b58cmp r15, [r14]
    001a3b5bjb 0x1a3c1b
    001a3b61
    001a3b61loc_1a3b61:
    001a3b61lea rdi, [r15+8]
    001a3b65mov [rdi-8], 2048
    001a3b6dmov rax, [rsp+24]
    001a3b72mov [rdi], rax
    001a3b75mov rax, [rsp+32]
    001a3b7amov [rdi+8], rax
    001a3b7emov rax, [rsp+40]
    001a3b83mov rbx, [rsp+48]
    001a3b88mov rsi, [rsp+56]
    001a3b8djmp 0x1a3ae6
    001a3b92
    001a3b92 66 90 f.
    001a3b94
    001a3b94loc_1a3b94:
    001a3b94cmp rax, 1
    001a3b98jle 0x1a3bd4
    001a3b9asub r15, 24
    001a3b9ecmp r15, [r14]
    001a3ba1jb 0x1a3c14
    001a3ba3
    001a3ba3loc_1a3ba3:
    001a3ba3lea rdi, [r15+8]
    001a3ba7mov [rdi-8], 2048
    001a3bafmov rax, [rsp+24]
    001a3bb4mov [rdi], rax
    001a3bb7mov rax, [rsp+32]
    001a3bbcmov [rdi+8], rax
    001a3bc0mov rax, [rsp+40]
    001a3bc5mov rbx, [rsp+16]
    001a3bcamov rsi, [rsp+56]
    001a3bcfjmp 0x1a3ae6
    001a3bd4
    001a3bd4loc_1a3bd4:
    001a3bd4sub r15, 24
    001a3bd8cmp r15, [r14]
    001a3bdbjb 0x1a3c0d
    001a3bdd
    001a3bddloc_1a3bdd:
    001a3bddlea rdi, [r15+8]
    001a3be1mov [rdi-8], 2048
    001a3be9mov rax, [rsp]
    001a3bedmov [rdi], rax
    001a3bf0mov rax, [rsp+32]
    001a3bf5mov [rdi+8], rax
    001a3bf9mov rax, [rsp+8]
    001a3bfemov rbx, [rsp+48]
    001a3c03mov rsi, [rsp+56]
    001a3c08jmp 0x1a3ae6
    001a3c0d
    001a3c0dloc_1a3c0d:
    001a3c0dcall caml_call_gc
    001a3c12jmp 0x1a3bdd
    001a3c14
    001a3c14loc_1a3c14:
    001a3c14call caml_call_gc
    001a3c19jmp 0x1a3ba3
    001a3c1b
    001a3c1bloc_1a3c1b:
    001a3c1bcall caml_call_gc
    001a3c20jmp 0x1a3b61
    001a3c25
    001a3c25loc_1a3c25:
    001a3c25push 41
    001a3c27call caml_call_realloc_stack
    001a3c2cpop r10
    001a3c2ejmp 0x1a3ae2
    001a3ad0
    001a3c33
    001a3c33 // align 0x10
    001a3c40
    001a3c40Stdlib.List.sort:
    001a3c40lea r10, [rsp-360]
    001a3c48cmp r10, [r14+40]
    001a3c4cjb 0x1a446c
    001a3c52
    001a3c52loc_1a3c52:
    001a3c52sub rsp, 40
    001a3c56mov rdx, rax
    001a3c59mov rsi, rbx
    001a3c5ccmp rdx, 5
    001a3c60je 0x1a41ec
    001a3c66mov [rsp+16], rdi
    001a3c6bcmp rdx, 7
    001a3c6fjne 0x1a4328
    001a3c75test sil, 1
    001a3c79jne 0x1a4328
    001a3c7fmov rax, [rsi+8]
    001a3c83test al, 1
    001a3c85jne 0x1a4328
    001a3c8bmov rbx, [rax+8]
    001a3c8ftest bl, 1
    001a3c92jne 0x1a4328
    001a3c98mov [rsp], rbx
    001a3c9cmov rbx, [rbx]
    001a3c9fmov [rsp+24], rbx
    001a3ca4mov rbx, [rax]
    001a3ca7mov [rsp+32], rbx
    001a3cacmov rax, [rsi]
    001a3cafmov [rsp+8], rax
    001a3cb4mov rdi, [rdi+56]
    001a3cb8call caml_apply2
    001a3cbdcmp rax, 1
    001a3cc1jne 0x1a3db0
    001a3cc7mov rax, [rsp+16]
    001a3cccmov rdi, [rax+56]
    001a3cd0mov rax, [rsp+32]
    001a3cd5mov rbx, [rsp+24]
    001a3cdacall caml_apply2
    001a3cdfcmp rax, 1
    001a3ce3jne 0x1a3d14
    001a3ce5sub r15, 24
    001a3ce9cmp r15, [r14]
    001a3cecjb 0x1a4462
    001a3cf2
    001a3cf2loc_1a3cf2:
    001a3cf2lea rbx, [r15+8]
    001a3cf6mov [rbx-8], 2048
    001a3cfemov rax, [rsp+32]
    001a3d03mov [rbx], rax
    001a3d06mov [rbx+8], 1
    001a3d0ejmp 0x1a41bd
    001a3d13
    001a3d13 90 .
    001a3d14
    001a3d14loc_1a3d14:
    001a3d14cmp rax, 1
    001a3d18jge 0x1a3d64
    001a3d1asub r15, 48
    001a3d1ecmp r15, [r14]
    001a3d21jb 0x1a4458
    001a3d27
    001a3d27loc_1a3d27:
    001a3d27lea rax, [r15+8]
    001a3d2badd rax, 24
    001a3d2fmov [rax-8], 2048
    001a3d37mov rbx, [rsp+24]
    001a3d3cmov [rax], rbx
    001a3d3fmov [rax+8], 1
    001a3d47lea rbx, [rax-24]
    001a3d4bmov [rbx-8], 2048
    001a3d53mov rdi, [rsp+32]
    001a3d58mov [rbx], rdi
    001a3d5bmov [rbx+8], rax
    001a3d5fjmp 0x1a41bd
    001a3d64
    001a3d64loc_1a3d64:
    001a3d64sub r15, 48
    001a3d68cmp r15, [r14]
    001a3d6bjb 0x1a444e
    001a3d71
    001a3d71loc_1a3d71:
    001a3d71lea rax, [r15+8]
    001a3d75add rax, 24
    001a3d79mov [rax-8], 2048
    001a3d81mov rbx, [rsp+32]
    001a3d86mov [rax], rbx
    001a3d89mov [rax+8], 1
    001a3d91lea rbx, [rax-24]
    001a3d95mov [rbx-8], 2048
    001a3d9dmov rdi, [rsp+24]
    001a3da2mov [rbx], rdi
    001a3da5mov [rbx+8], rax
    001a3da9jmp 0x1a41bd
    001a3dae
    001a3dae 66 90 f.
    001a3db0
    001a3db0loc_1a3db0:
    001a3db0cmp rax, 1
    001a3db4jge 0x1a3fc0
    001a3dbamov rax, [rsp+16]
    001a3dbfmov rdi, [rax+56]
    001a3dc3mov rax, [rsp+32]
    001a3dc8mov rbx, [rsp+24]
    001a3dcdcall caml_apply2
    001a3dd2cmp rax, 1
    001a3dd6jne 0x1a3e24
    001a3dd8sub r15, 48
    001a3ddccmp r15, [r14]
    001a3ddfjb 0x1a4444
    001a3de5
    001a3de5loc_1a3de5:
    001a3de5lea rax, [r15+8]
    001a3de9add rax, 24
    001a3dedmov [rax-8], 2048
    001a3df5mov rbx, [rsp+32]
    001a3dfamov [rax], rbx
    001a3dfdmov [rax+8], 1
    001a3e05lea rbx, [rax-24]
    001a3e09mov [rbx-8], 2048
    001a3e11mov rdi, [rsp+8]
    001a3e16mov [rbx], rdi
    001a3e19mov [rbx+8], rax
    001a3e1djmp 0x1a41bd
    001a3e22
    001a3e22 66 90 f.
    001a3e24
    001a3e24loc_1a3e24:
    001a3e24cmp rax, 1
    001a3e28jge 0x1a3e8c
    001a3e2asub r15, 72
    001a3e2ecmp r15, [r14]
    001a3e31jb 0x1a443a
    001a3e37
    001a3e37loc_1a3e37:
    001a3e37lea rax, [r15+8]
    001a3e3badd rax, 48
    001a3e3fmov [rax-8], 2048
    001a3e47mov rbx, [rsp+24]
    001a3e4cmov [rax], rbx
    001a3e4fmov [rax+8], 1
    001a3e57lea rdi, [rax-24]
    001a3e5bmov [rdi-8], 2048
    001a3e63mov rbx, [rsp+32]
    001a3e68mov [rdi], rbx
    001a3e6bmov [rdi+8], rax
    001a3e6flea rbx, [rdi-24]
    001a3e73mov [rbx-8], 2048
    001a3e7bmov rax, [rsp+8]
    001a3e80mov [rbx], rax
    001a3e83mov [rbx+8], rdi
    001a3e87jmp 0x1a41bd
    001a3e8c
    001a3e8cloc_1a3e8c:
    001a3e8cmov rax, [rsp+16]
    001a3e91mov rdi, [rax+56]
    001a3e95mov rax, [rsp+8]
    001a3e9amov rbx, [rsp+24]
    001a3e9fcall caml_apply2
    001a3ea4cmp rax, 1
    001a3ea8jne 0x1a3ef4
    001a3eaasub r15, 48
    001a3eaecmp r15, [r14]
    001a3eb1jb 0x1a4430
    001a3eb7
    001a3eb7loc_1a3eb7:
    001a3eb7lea rax, [r15+8]
    001a3ebbadd rax, 24
    001a3ebfmov [rax-8], 2048
    001a3ec7mov rbx, [rsp+32]
    001a3eccmov [rax], rbx
    001a3ecfmov [rax+8], 1
    001a3ed7lea rbx, [rax-24]
    001a3edbmov [rbx-8], 2048
    001a3ee3mov rdi, [rsp+8]
    001a3ee8mov [rbx], rdi
    001a3eebmov [rbx+8], rax
    001a3eefjmp 0x1a41bd
    001a3ef4
    001a3ef4loc_1a3ef4:
    001a3ef4cmp rax, 1
    001a3ef8jge 0x1a3f5c
    001a3efasub r15, 72
    001a3efecmp r15, [r14]
    001a3f01jb 0x1a4426
    001a3f07
    001a3f07loc_1a3f07:
    001a3f07lea rax, [r15+8]
    001a3f0badd rax, 48
    001a3f0fmov [rax-8], 2048
    001a3f17mov rbx, [rsp+32]
    001a3f1cmov [rax], rbx
    001a3f1fmov [rax+8], 1
    001a3f27lea rdi, [rax-24]
    001a3f2bmov [rdi-8], 2048
    001a3f33mov rbx, [rsp+24]
    001a3f38mov [rdi], rbx
    001a3f3bmov [rdi+8], rax
    001a3f3flea rbx, [rdi-24]
    001a3f43mov [rbx-8], 2048
    001a3f4bmov rax, [rsp+8]
    001a3f50mov [rbx], rax
    001a3f53mov [rbx+8], rdi
    001a3f57jmp 0x1a41bd
    001a3f5c
    001a3f5cloc_1a3f5c:
    001a3f5csub r15, 72
    001a3f60cmp r15, [r14]
    001a3f63jb 0x1a441c
    001a3f69
    001a3f69loc_1a3f69:
    001a3f69lea rax, [r15+8]
    001a3f6dadd rax, 48
    001a3f71mov [rax-8], 2048
    001a3f79mov rbx, [rsp+32]
    001a3f7emov [rax], rbx
    001a3f81mov [rax+8], 1
    001a3f89lea rdi, [rax-24]
    001a3f8dmov [rdi-8], 2048
    001a3f95mov rbx, [rsp+8]
    001a3f9amov [rdi], rbx
    001a3f9dmov [rdi+8], rax
    001a3fa1lea rbx, [rdi-24]
    001a3fa5mov [rbx-8], 2048
    001a3fadmov rax, [rsp+24]
    001a3fb2mov [rbx], rax
    001a3fb5mov [rbx+8], rdi
    001a3fb9jmp 0x1a41bd
    001a3fbe
    001a3fbe 66 90 f.
    001a3fc0
    001a3fc0loc_1a3fc0:
    001a3fc0mov rax, [rsp+16]
    001a3fc5mov rdi, [rax+56]
    001a3fc9mov rax, [rsp+8]
    001a3fcemov rbx, [rsp+24]
    001a3fd3call caml_apply2
    001a3fd8cmp rax, 1
    001a3fdcjne 0x1a4028
    001a3fdesub r15, 48
    001a3fe2cmp r15, [r14]
    001a3fe5jb 0x1a4412
    001a3feb
    001a3febloc_1a3feb:
    001a3feblea rax, [r15+8]
    001a3fefadd rax, 24
    001a3ff3mov [rax-8], 2048
    001a3ffbmov rbx, [rsp+8]
    001a4000mov [rax], rbx
    001a4003mov [rax+8], 1
    001a400blea rbx, [rax-24]
    001a400fmov [rbx-8], 2048
    001a4017mov rdi, [rsp+32]
    001a401cmov [rbx], rdi
    001a401fmov [rbx+8], rax
    001a4023jmp 0x1a41bd
    001a4028
    001a4028loc_1a4028:
    001a4028cmp rax, 1
    001a402cjge 0x1a4090
    001a402esub r15, 72
    001a4032cmp r15, [r14]
    001a4035jb 0x1a4408
    001a403b
    001a403bloc_1a403b:
    001a403blea rax, [r15+8]
    001a403fadd rax, 48
    001a4043mov [rax-8], 2048
    001a404bmov rbx, [rsp+24]
    001a4050mov [rax], rbx
    001a4053mov [rax+8], 1
    001a405blea rdi, [rax-24]
    001a405fmov [rdi-8], 2048
    001a4067mov rbx, [rsp+8]
    001a406cmov [rdi], rbx
    001a406fmov [rdi+8], rax
    001a4073lea rbx, [rdi-24]
    001a4077mov [rbx-8], 2048
    001a407fmov rax, [rsp+32]
    001a4084mov [rbx], rax
    001a4087mov [rbx+8], rdi
    001a408bjmp 0x1a41bd
    001a4090
    001a4090loc_1a4090:
    001a4090mov rax, [rsp+16]
    001a4095mov rdi, [rax+56]
    001a4099mov rax, [rsp+32]
    001a409emov rbx, [rsp+24]
    001a40a3call caml_apply2
    001a40a8cmp rax, 1
    001a40acjne 0x1a40f8
    001a40aesub r15, 48
    001a40b2cmp r15, [r14]
    001a40b5jb 0x1a43fe
    001a40bb
    001a40bbloc_1a40bb:
    001a40bblea rax, [r15+8]
    001a40bfadd rax, 24
    001a40c3mov [rax-8], 2048
    001a40cbmov rbx, [rsp+8]
    001a40d0mov [rax], rbx
    001a40d3mov [rax+8], 1
    001a40dblea rbx, [rax-24]
    001a40dfmov [rbx-8], 2048
    001a40e7mov rdi, [rsp+32]
    001a40ecmov [rbx], rdi
    001a40efmov [rbx+8], rax
    001a40f3jmp 0x1a41bd
    001a40f8
    001a40f8loc_1a40f8:
    001a40f8cmp rax, 1
    001a40fcjge 0x1a4160
    001a40fesub r15, 72
    001a4102cmp r15, [r14]
    001a4105jb 0x1a43f4
    001a410b
    001a410bloc_1a410b:
    001a410blea rax, [r15+8]
    001a410fadd rax, 48
    001a4113mov [rax-8], 2048
    001a411bmov rbx, [rsp+8]
    001a4120mov [rax], rbx
    001a4123mov [rax+8], 1
    001a412blea rdi, [rax-24]
    001a412fmov [rdi-8], 2048
    001a4137mov rbx, [rsp+24]
    001a413cmov [rdi], rbx
    001a413fmov [rdi+8], rax
    001a4143lea rbx, [rdi-24]
    001a4147mov [rbx-8], 2048
    001a414fmov rax, [rsp+32]
    001a4154mov [rbx], rax
    001a4157mov [rbx+8], rdi
    001a415bjmp 0x1a41bd
    001a415d
    001a415d 0f 1f 00 ...
    001a4160
    001a4160loc_1a4160:
    001a4160sub r15, 72
    001a4164cmp r15, [r14]
    001a4167jb 0x1a43ea
    001a416d
    001a416dloc_1a416d:
    001a416dlea rax, [r15+8]
    001a4171add rax, 48
    001a4175mov [rax-8], 2048
    001a417dmov rbx, [rsp+8]
    001a4182mov [rax], rbx
    001a4185mov [rax+8], 1
    001a418dlea rdi, [rax-24]
    001a4191mov [rdi-8], 2048
    001a4199mov rbx, [rsp+32]
    001a419emov [rdi], rbx
    001a41a1mov [rdi+8], rax
    001a41a5lea rbx, [rdi-24]
    001a41a9mov [rbx-8], 2048
    001a41b1mov rax, [rsp+24]
    001a41b6mov [rbx], rax
    001a41b9mov [rbx+8], rdi
    001a41bd
    001a41bdloc_1a41bd:
    001a41bdsub r15, 24
    001a41c1cmp r15, [r14]
    001a41c4jb 0x1a43e0
    001a41ca
    001a41caloc_1a41ca:
    001a41calea rax, [r15+8]
    001a41cemov [rax-8], 2048
    001a41d6mov [rax], rbx
    001a41d9mov rbx, [rsp]
    001a41ddmov rbx, [rbx+8]
    001a41e1mov [rax+8], rbx
    001a41e5add rsp, 40
    001a41e9ret
    001a41ea
    001a41ea 66 90 f.
    001a41ec
    001a41ecloc_1a41ec:
    001a41ectest sil, 1
    001a41f0je 0x1a41fc
    001a41f2mov [rsp+16], rdi
    001a41f7jmp 0x1a4328
    001a41fc
    001a41fcloc_1a41fc:
    001a41fcmov rax, [rsi+8]
    001a4200test al, 1
    001a4202je 0x1a4210
    001a4204mov [rsp+16], rdi
    001a4209jmp 0x1a4328
    001a420e
    001a420e 66 90 f.
    001a4210
    001a4210loc_1a4210:
    001a4210mov [rsp], rax
    001a4214mov rbx, [rax]
    001a4217mov [rsp+8], rbx
    001a421cmov rax, [rsi]
    001a421fmov [rsp+16], rax
    001a4224mov rdi, [rdi+56]
    001a4228call caml_apply2
    001a422dcmp rax, 1
    001a4231jne 0x1a4264
    001a4233sub r15, 24
    001a4237cmp r15, [r14]
    001a423ajb 0x1a43d6
    001a4240
    001a4240loc_1a4240:
    001a4240lea rbx, [r15+8]
    001a4244mov [rbx-8], 2048
    001a424cmov rax, [rsp+16]
    001a4251mov [rbx], rax
    001a4254mov [rbx+8], 1
    001a425cjmp 0x1a42f9
    001a4261
    001a4261 0f 1f 00 ...
    001a4264
    001a4264loc_1a4264:
    001a4264cmp rax, 1
    001a4268jge 0x1a42b4
    001a426asub r15, 48
    001a426ecmp r15, [r14]
    001a4271jb 0x1a43cc
    001a4277
    001a4277loc_1a4277:
    001a4277lea rax, [r15+8]
    001a427badd rax, 24
    001a427fmov [rax-8], 2048
    001a4287mov rbx, [rsp+8]
    001a428cmov [rax], rbx
    001a428fmov [rax+8], 1
    001a4297lea rbx, [rax-24]
    001a429bmov [rbx-8], 2048
    001a42a3mov rdi, [rsp+16]
    001a42a8mov [rbx], rdi
    001a42abmov [rbx+8], rax
    001a42afjmp 0x1a42f9
    001a42b1
    001a42b1 0f 1f 00 ...
    001a42b4
    001a42b4loc_1a42b4:
    001a42b4sub r15, 48
    001a42b8cmp r15, [r14]
    001a42bbjb 0x1a43c2
    001a42c1
    001a42c1loc_1a42c1:
    001a42c1lea rax, [r15+8]
    001a42c5add rax, 24
    001a42c9mov [rax-8], 2048
    001a42d1mov rbx, [rsp+16]
    001a42d6mov [rax], rbx
    001a42d9mov [rax+8], 1
    001a42e1lea rbx, [rax-24]
    001a42e5mov [rbx-8], 2048
    001a42edmov rdi, [rsp+8]
    001a42f2mov [rbx], rdi
    001a42f5mov [rbx+8], rax
    001a42f9
    001a42f9loc_1a42f9:
    001a42f9sub r15, 24
    001a42fdcmp r15, [r14]
    001a4300jb 0x1a43b8
    001a4306
    001a4306loc_1a4306:
    001a4306lea rax, [r15+8]
    001a430amov [rax-8], 2048
    001a4312mov [rax], rbx
    001a4315mov rbx, [rsp]
    001a4319mov rbx, [rbx+8]
    001a431dmov [rax+8], rbx
    001a4321add rsp, 40
    001a4325ret
    001a4326
    001a4326 66 90 f.
    001a4328
    001a4328loc_1a4328:
    001a4328mov rax, rdx
    001a432bsar rax, 1
    001a432eor rax, 1
    001a4332sub rdx, rax
    001a4335inc rdx
    001a4338mov [rsp], rdx
    001a433cadd rdi, 32
    001a4340mov rbx, rsi
    001a4343call Stdlib.List.rev_sort
    001a4348mov [rsp+8], rax
    001a434dmov rdi, [rsp+16]
    001a4352add rdi, 32
    001a4356mov rbx, [rax+8]
    001a435amov rax, [rsp]
    001a435ecall Stdlib.List.rev_sort
    001a4363mov [rsp], rax
    001a4367mov rbx, [rax]
    001a436amov rax, [rsp+8]
    001a436fmov rax, [rax]
    001a4372mov rdi, [rsp+16]
    001a4377mov rsi, [rdi+72]
    001a437bmov edi, 1
    001a4380call Stdlib.List.rev_merge_rev
    001a4385sub r15, 24
    001a4389cmp r15, [r14]
    001a438cjb 0x1a43b1
    001a438e
    001a438eloc_1a438e:
    001a438elea rbx, [r15+8]
    001a4392mov [rbx-8], 2048
    001a439amov [rbx], rax
    001a439dmov rax, [rsp]
    001a43a1mov rax, [rax+8]
    001a43a5mov [rbx+8], rax
    001a43a9mov rax, rbx
    001a43acadd rsp, 40
    001a43b0ret
    001a43b1
    001a43b1loc_1a43b1:
    001a43b1call caml_call_gc
    001a43b6jmp 0x1a438e
    001a43b8
    001a43b8loc_1a43b8:
    001a43b8call caml_call_gc
    001a43bdjmp 0x1a4306
    001a43c2
    001a43c2loc_1a43c2:
    001a43c2call caml_call_gc
    001a43c7jmp 0x1a42c1
    001a43cc
    001a43ccloc_1a43cc:
    001a43cccall caml_call_gc
    001a43d1jmp 0x1a4277
    001a43d6
    001a43d6loc_1a43d6:
    001a43d6call caml_call_gc
    001a43dbjmp 0x1a4240
    001a43e0
    001a43e0loc_1a43e0:
    001a43e0call caml_call_gc
    001a43e5jmp 0x1a41ca
    001a43ea
    001a43ealoc_1a43ea:
    001a43eacall caml_call_gc
    001a43efjmp 0x1a416d
    001a43f4
    001a43f4loc_1a43f4:
    001a43f4call caml_call_gc
    001a43f9jmp 0x1a410b
    001a43fe
    001a43feloc_1a43fe:
    001a43fecall caml_call_gc
    001a4403jmp 0x1a40bb
    001a4408
    001a4408loc_1a4408:
    001a4408call caml_call_gc
    001a440djmp 0x1a403b
    001a4412
    001a4412loc_1a4412:
    001a4412call caml_call_gc
    001a4417jmp 0x1a3feb
    001a441c
    001a441cloc_1a441c:
    001a441ccall caml_call_gc
    001a4421jmp 0x1a3f69
    001a4426
    001a4426loc_1a4426:
    001a4426call caml_call_gc
    001a442bjmp 0x1a3f07
    001a4430
    001a4430loc_1a4430:
    001a4430call caml_call_gc
    001a4435jmp 0x1a3eb7
    001a443a
    001a443aloc_1a443a:
    001a443acall caml_call_gc
    001a443fjmp 0x1a3e37
    001a4444
    001a4444loc_1a4444:
    001a4444call caml_call_gc
    001a4449jmp 0x1a3de5
    001a444e
    001a444eloc_1a444e:
    001a444ecall caml_call_gc
    001a4453jmp 0x1a3d71
    001a4458
    001a4458loc_1a4458:
    001a4458call caml_call_gc
    001a445djmp 0x1a3d27
    001a4462
    001a4462loc_1a4462:
    001a4462call caml_call_gc
    001a4467jmp 0x1a3cf2
    001a446c
    001a446cloc_1a446c:
    001a446cpush 38
    001a446ecall caml_call_realloc_stack
    001a4473pop r10
    001a4475jmp 0x1a3c52
    001a3c40