File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    001f5320
    001f5320Stdlib.Filename.is_implicit:
    001f5320lea r10, [rsp-328]
    001f5328cmp r10, [r14+40]
    001f532cjb 0x1f54ba
    001f5332
    001f5332loc_1f5332:
    001f5332sub rsp, 8
    001f5336mov [rsp], rax
    001f533acall Stdlib.Filename.is_relative
    001f533fcmp rax, 1
    001f5343je 0x1f54b0
    001f5349mov rax, [rsp]
    001f534dmov rbx, [rax-8]
    001f5351shr rbx, 10
    001f5355lea rbx, [8*rbx-1]
    001f535dmovzx rdi, [rax+rbx]
    001f5362sub rbx, rdi
    001f5365lea rbx, [rbx+rbx+1]
    001f536acmp rbx, 5
    001f536ejl 0x1f53a2
    001f5370mov edi, 5
    001f5375mov ebx, 1
    001f537acall Stdlib.Bytes.sub
    001f537flea rsi, [rip+0x180cba]
    001f5386mov rdi, rax
    001f5389mov rbx, rsp
    001f538cmov rsp, [r14+64]
    001f5390call caml_string_notequal
    001f5395mov rsp, rbx
    001f5398cmp rax, 1
    001f539cje 0x1f54b0
    001f53a2
    001f53a2loc_1f53a2:
    001f53a2mov rax, [rsp]
    001f53a6mov rbx, [rax-8]
    001f53aashr rbx, 10
    001f53aelea rbx, [8*rbx-1]
    001f53b6movzx rdi, [rax+rbx]
    001f53bbsub rbx, rdi
    001f53belea rbx, [rbx+rbx+1]
    001f53c3cmp rbx, 5
    001f53c7jl 0x1f53fb
    001f53c9mov edi, 5
    001f53cemov ebx, 1
    001f53d3call Stdlib.Bytes.sub
    001f53d8lea rsi, [rip+0x180e59]
    001f53dfmov rdi, rax
    001f53e2mov rbx, rsp
    001f53e5mov rsp, [r14+64]
    001f53e9call caml_string_notequal
    001f53eemov rsp, rbx
    001f53f1cmp rax, 1
    001f53f5je 0x1f54b0
    001f53fb
    001f53fbloc_1f53fb:
    001f53fbmov rax, [rsp]
    001f53ffmov rbx, [rax-8]
    001f5403shr rbx, 10
    001f5407lea rbx, [8*rbx-1]
    001f540fmovzx rdi, [rax+rbx]
    001f5414sub rbx, rdi
    001f5417lea rbx, [rbx+rbx+1]
    001f541ccmp rbx, 7
    001f5420jl 0x1f5450
    001f5422mov edi, 7
    001f5427mov ebx, 1
    001f542ccall Stdlib.Bytes.sub
    001f5431lea rsi, [rip+0x180bf8]
    001f5438mov rdi, rax
    001f543bmov rbx, rsp
    001f543emov rsp, [r14+64]
    001f5442call caml_string_notequal
    001f5447mov rsp, rbx
    001f544acmp rax, 1
    001f544eje 0x1f54b0
    001f5450
    001f5450loc_1f5450:
    001f5450mov rax, [rsp]
    001f5454mov rbx, [rax-8]
    001f5458shr rbx, 10
    001f545clea rbx, [8*rbx-1]
    001f5464movzx rdi, [rax+rbx]
    001f5469sub rbx, rdi
    001f546clea rbx, [rbx+rbx+1]
    001f5471cmp rbx, 7
    001f5475jl 0x1f54a4
    001f5477mov edi, 7
    001f547cmov ebx, 1
    001f5481call Stdlib.Bytes.sub
    001f5486lea rsi, [rip+0x180d9b]
    001f548dmov rdi, rax
    001f5490mov rbx, rsp
    001f5493mov rsp, [r14+64]
    001f5497call caml_string_notequal
    001f549cmov rsp, rbx
    001f549fadd rsp, 8
    001f54a3ret
    001f54a4
    001f54a4loc_1f54a4:
    001f54a4mov eax, 3
    001f54a9add rsp, 8
    001f54adret
    001f54ae
    001f54ae 66 90 f.
    001f54b0
    001f54b0loc_1f54b0:
    001f54b0mov eax, 1
    001f54b5add rsp, 8
    001f54b9ret
    001f54ba
    001f54baloc_1f54ba:
    001f54bapush 34
    001f54bccall caml_call_realloc_stack
    001f54c1pop r10
    001f54c3jmp 0x1f5332
    001f5320
    001f54c8
    001f54c8 // align 0x10
    001f54d0
    001f54d0Stdlib.Filename.check_suffix:
    001f54d0lea r10, [rsp-336]
    001f54d8cmp r10, [r14+40]
    001f54dcjb 0x1f559a
    001f54e2
    001f54e2loc_1f54e2:
    001f54e2sub rsp, 16
    001f54e6mov rsi, rbx
    001f54e9mov rbx, [rsi-8]
    001f54edshr rbx, 10
    001f54f1lea rbx, [8*rbx-1]
    001f54f9movzx rdi, [rsi+rbx]
    001f54femov rdx, rbx
    001f5501sub rdx, rdi
    001f5504lea rdi, [rdx+rdx+1]
    001f5509mov rbx, [rax-8]
    001f550dshr rbx, 10
    001f5511lea rbx, [8*rbx-1]
    001f5519movzx rcx, [rax+rbx]
    001f551esub rbx, rcx
    001f5521lea rcx, [rbx+rbx+1]
    001f5526cmp rcx, rdi
    001f5529jl 0x1f5590
    001f552bmov [rsp], rsi
    001f552fshl rdx, 1
    001f5532shl rbx, 1
    001f5535sub rbx, rdx
    001f5538inc rbx
    001f553bcall Stdlib.Bytes.sub
    001f5540mov [rsp+8], rax
    001f5545lea rax, [rip+0x13ea34]
    001f554cmov rax, [rax+16]
    001f5550mov rbx, [rsp]
    001f5554call Stdlib.Bytes.map
    001f5559mov [rsp], rax
    001f555dlea rax, [rip+0x13ea1c]
    001f5564mov rax, [rax+16]
    001f5568mov rbx, [rsp+8]
    001f556dcall Stdlib.Bytes.map
    001f5572mov rdi, rax
    001f5575mov rsi, [rsp]
    001f5579mov rbx, rsp
    001f557cmov rsp, [r14+64]
    001f5580call caml_string_equal
    001f5585mov rsp, rbx
    001f5588add rsp, 16
    001f558cret
    001f558d
    001f558d 0f 1f 00 ...
    001f5590
    001f5590loc_1f5590:
    001f5590mov eax, 1
    001f5595add rsp, 16
    001f5599ret
    001f559a
    001f559aloc_1f559a:
    001f559apush 35
    001f559ccall caml_call_realloc_stack
    001f55a1pop r10
    001f55a3jmp 0x1f54e2
    001f54d0
    001f55a8
    001f55a8 // align 0x10
    001f55b0
    001f55b0Stdlib.Filename.chop_suffix_opt:
    001f55b0lea r10, [rsp-360]
    001f55b8cmp r10, [r14+40]
    001f55bcjb 0x1f56d9
    001f55c2
    001f55c2loc_1f55c2:
    001f55c2sub rsp, 40
    001f55c6mov rsi, rax
    001f55c9mov rax, rbx
    001f55ccmov rbx, [rsi-8]
    001f55d0shr rbx, 10
    001f55d4lea rbx, [8*rbx-1]
    001f55dcmovzx rdi, [rsi+rbx]
    001f55e1sub rbx, rdi
    001f55e4lea rdi, [rbx+rbx+1]
    001f55e9mov rbx, [rax-8]
    001f55edshr rbx, 10
    001f55f1lea rbx, [8*rbx-1]
    001f55f9movzx rdx, [rax+rbx]
    001f55fesub rbx, rdx
    001f5601lea rbx, [rbx+rbx+1]
    001f5606cmp rbx, rdi
    001f5609jl 0x1f56c8
    001f560fmov [rsp+16], rbx
    001f5614mov [rsp+24], rdi
    001f5619mov [rsp+32], rax
    001f561emov [rsp], rsi
    001f5622sub rbx, rdi
    001f5625inc rbx
    001f5628call Stdlib.Bytes.sub
    001f562dmov [rsp+8], rax
    001f5632lea rax, [rip+0x13e947]
    001f5639mov rax, [rax+16]
    001f563dmov rbx, [rsp]
    001f5641call Stdlib.Bytes.map
    001f5646mov [rsp], rax
    001f564alea rax, [rip+0x13e92f]
    001f5651mov rax, [rax+16]
    001f5655mov rbx, [rsp+8]
    001f565acall Stdlib.Bytes.map
    001f565fmov rdi, rax
    001f5662mov rsi, [rsp]
    001f5666mov rbx, rsp
    001f5669mov rsp, [r14+64]
    001f566dcall caml_string_equal
    001f5672mov rsp, rbx
    001f5675cmp rax, 1
    001f5679je 0x1f56bc
    001f567bmov rdi, [rsp+16]
    001f5680mov rax, [rsp+24]
    001f5685sub rdi, rax
    001f5688inc rdi
    001f568bmov ebx, 1
    001f5690mov rax, [rsp+32]
    001f5695call Stdlib.Bytes.sub
    001f569asub r15, 16
    001f569ecmp r15, [r14]
    001f56a1jb 0x1f56d2
    001f56a3
    001f56a3loc_1f56a3:
    001f56a3lea rbx, [r15+8]
    001f56a7mov [rbx-8], 1024
    001f56afmov [rbx], rax
    001f56b2mov rax, rbx
    001f56b5add rsp, 40
    001f56b9ret
    001f56ba
    001f56ba 66 90 f.
    001f56bc
    001f56bcloc_1f56bc:
    001f56bcmov eax, 1
    001f56c1add rsp, 40
    001f56c5ret
    001f56c6
    001f56c6 66 90 f.
    001f56c8
    001f56c8loc_1f56c8:
    001f56c8mov eax, 1
    001f56cdadd rsp, 40
    001f56d1ret
    001f56d2
    001f56d2loc_1f56d2:
    001f56d2call caml_call_gc
    001f56d7jmp 0x1f56a3
    001f56d9
    001f56d9loc_1f56d9:
    001f56d9push 38
    001f56dbcall caml_call_realloc_stack
    001f56e0pop r10
    001f56e2jmp 0x1f55c2
    001f55b0
    001f56e7
    001f56e7 // align 0x10
    001f56f0
    001f56f0Stdlib.Filename.quote:
    001f56f0lea r10, [rsp-344]
    001f56f8cmp r10, [r14+40]
    001f56fcjb 0x1f580d
    001f5702
    001f5702loc_1f5702:
    001f5702sub rsp, 24
    001f5706mov [rsp], rax
    001f570amov rbx, [rax-8]
    001f570eshr rbx, 10
    001f5712lea rbx, [8*rbx-1]
    001f571amovzx rax, [rax+rbx]
    001f571fsub rbx, rax
    001f5722lea rax, [rbx+rbx+1]
    001f5727mov [rsp+8], rax
    001f572cadd rax, 40
    001f5730call Stdlib.Buffer.create
    001f5735mov [rsp+16], rax
    001f573amov ebx, 69
    001f573fcall Stdlib.Buffer.add_char
    001f5744sub r15, 104
    001f5748cmp r15, [r14]
    001f574bjb 0x1f5803
    001f5751
    001f5751loc_1f5751:
    001f5751lea rbx, [r15+8]
    001f5755mov [rbx-8], 12535
    001f575dlea rax, [rip+188]
    001f5764mov [rbx], rax
    001f5767mov rax, 0x100000000000013
    001f5771mov [rbx+8], rax
    001f5775mov [rbx+16], 3321
    001f577dlea rax, [rip-0xfe764]
    001f5784mov [rbx+24], rax
    001f5788mov rax, 0x20000000000000d
    001f5792mov [rbx+32], rax
    001f5796lea rax, [rip+355]
    001f579dmov [rbx+40], rax
    001f57a1mov [rbx+48], 7417
    001f57a9lea rax, [rip+656]
    001f57b0mov [rbx+56], rax
    001f57b4mov rax, 0x100000000000005
    001f57bemov [rbx+64], rax
    001f57c2mov rax, [rsp]
    001f57c6mov [rbx+72], rax
    001f57camov rax, [rsp+8]
    001f57cfmov [rbx+80], rax
    001f57d3mov rax, [rsp+16]
    001f57d8mov [rbx+88], rax
    001f57dcmov eax, 1
    001f57e1call Stdlib.Filename.loop
    001f57e6mov rax, [rsp+16]
    001f57ebmov rdi, [rax+8]
    001f57efmov rax, [rax]
    001f57f2mov rax, [rax]
    001f57f5mov ebx, 1
    001f57faadd rsp, 24
    001f57fejmp 0x1a63e0
    001f5803
    001f5803loc_1f5803:
    001f5803call caml_call_gc
    001f5808jmp 0x1f5751
    001f580d
    001f580dloc_1f580d:
    001f580dpush 36
    001f580fcall caml_call_realloc_stack
    001f5814pop r10
    001f5816jmp 0x1f5702
    001f56f0
    001f581b
    001f581b // align 0x10
    001f5820
    001f5820Stdlib.Filename.loop:
    001f5820lea r10, [rsp-336]
    001f5828cmp r10, [r14+40]
    001f582cjb 0x1f58e8
    001f5832
    001f5832loc_1f5832:
    001f5832sub rsp, 16
    001f5836
    001f5836loc_1f5836:
    001f5836mov rsi, rax
    001f5839mov rdi, rbx
    001f583ccmp r15, [r14]
    001f583fjbe 0x1f58d9
    001f5845
    001f5845loc_1f5845:
    001f5845mov rax, [rdi+80]
    001f5849cmp rsi, rax
    001f584cjne 0x1f5860
    001f584emov ebx, 69
    001f5853mov rax, [rdi+88]
    001f5857add rsp, 16
    001f585bjmp 0x1c0b10
    001f5860
    001f5860loc_1f5860:
    001f5860mov rax, rsi
    001f5863sar rax, 1
    001f5866mov rbx, [rdi+72]
    001f586amov rdx, [rbx-8]
    001f586eshr rdx, 10
    001f5872lea rdx, [8*rdx-1]
    001f587amovzx rcx, [rbx+rdx]
    001f587fsub rdx, rcx
    001f5882cmp rdx, rax
    001f5885jbe 0x1f58e3
    001f5887movzx rax, [rbx+rax]
    001f588clea rbx, [rax+rax+1]
    001f5891cmp rbx, 69
    001f5895je 0x1f58c4
    001f5897cmp rbx, 185
    001f589eje 0x1f58c4
    001f58a0mov [rsp+8], rdi
    001f58a5mov [rsp], rsi
    001f58a9mov rax, [rdi+88]
    001f58adcall Stdlib.Buffer.add_char
    001f58b2mov rax, [rsp]
    001f58b6add rax, 2
    001f58bamov rbx, [rsp+8]
    001f58bfjmp 0x1f5836
    001f58c4
    001f58c4loc_1f58c4:
    001f58c4add rdi, 24
    001f58c8mov eax, 1
    001f58cdmov rbx, rsi
    001f58d0add rsp, 16
    001f58d4jmp 0x1f5900
    001f58d9
    001f58d9loc_1f58d9:
    001f58d9call caml_call_gc
    001f58dejmp 0x1f5845
    001f58e3
    001f58e3loc_1f58e3:
    001f58e3call caml_ml_array_bound_error
    001f58e8
    001f58e8loc_1f58e8:
    001f58e8push 35
    001f58eacall caml_call_realloc_stack
    001f58efpop r10
    001f58f1jmp 0x1f5832
    001f5820
    001f58f6
    001f58f6 // align 0x10
    001f5900
    001f5900Stdlib.Filename.loop_bs:
    001f5900lea r10, [rsp-336]
    001f5908cmp r10, [r14+40]
    001f590cjb 0x1f5a2e
    001f5912
    001f5912loc_1f5912:
    001f5912sub rsp, 16
    001f5916
    001f5916loc_1f5916:
    001f5916cmp r15, [r14]
    001f5919jbe 0x1f5a1f
    001f591f
    001f591floc_1f591f:
    001f591fmov rsi, [rdi+56]
    001f5923cmp rbx, rsi
    001f5926jne 0x1f5958
    001f5928mov [rsp+8], rdi
    001f592dmov [rsp], rax
    001f5931mov ebx, 69
    001f5936mov rax, [rdi+64]
    001f593acall Stdlib.Buffer.add_char
    001f593fmov rbx, [rsp+8]
    001f5944add rbx, 32
    001f5948mov rax, [rsp]
    001f594cadd rsp, 16
    001f5950jmp 0x1f5a40
    001f5955
    001f5955 0f 1f 00 ...
    001f5958
    001f5958loc_1f5958:
    001f5958mov rsi, rbx
    001f595bsar rsi, 1
    001f595emov rdx, [rdi+48]
    001f5962mov rcx, [rdx-8]
    001f5966shr rcx, 10
    001f596alea rcx, [8*rcx-1]
    001f5972movzx r8, [rdx+rcx]
    001f5977sub rcx, r8
    001f597acmp rcx, rsi
    001f597djbe 0x1f5a29
    001f5983movzx rsi, [rdx+rsi]
    001f5988lea rsi, [rsi+rsi+1]
    001f598dcmp rsi, 69
    001f5991je 0x1f59d8
    001f5993cmp rsi, 185
    001f599aje 0x1f59c8
    001f599cmov [rsp+8], rdi
    001f59a1mov [rsp], rbx
    001f59a5mov rbx, rdi
    001f59a8add rbx, 32
    001f59accall Stdlib.Filename.add_bs
    001f59b1mov rbx, [rsp+8]
    001f59b6add rbx, -24
    001f59bamov rax, [rsp]
    001f59beadd rsp, 16
    001f59c2jmp 0x1f5820
    001f59c7
    001f59c7 90 .
    001f59c8
    001f59c8loc_1f59c8:
    001f59c8add rbx, 2
    001f59ccadd rax, 2
    001f59d0jmp 0x1f5916
    001f59d5
    001f59d5 0f 1f 00 ...
    001f59d8
    001f59d8loc_1f59d8:
    001f59d8mov [rsp+8], rdi
    001f59ddmov [rsp], rbx
    001f59e1mov rbx, rdi
    001f59e4add rbx, 32
    001f59e8lea rax, [rax+rax+1]
    001f59edcall Stdlib.Filename.add_bs
    001f59f2mov ebx, 69
    001f59f7mov rax, [rsp+8]
    001f59fcmov rax, [rax+64]
    001f5a00call Stdlib.Buffer.add_char
    001f5a05mov rbx, [rsp+8]
    001f5a0aadd rbx, -24
    001f5a0emov rax, [rsp]
    001f5a12add rax, 2
    001f5a16add rsp, 16
    001f5a1ajmp 0x1f5820
    001f5a1f
    001f5a1floc_1f5a1f:
    001f5a1fcall caml_call_gc
    001f5a24jmp 0x1f591f
    001f5a29
    001f5a29loc_1f5a29:
    001f5a29call caml_ml_array_bound_error
    001f5a2e
    001f5a2eloc_1f5a2e:
    001f5a2epush 35
    001f5a30call caml_call_realloc_stack
    001f5a35pop r10
    001f5a37jmp 0x1f5912
    001f5900
    001f5a3c
    001f5a3c // align 0x10
    001f5a40
    001f5a40Stdlib.Filename.add_bs:
    001f5a40lea r10, [rsp-344]
    001f5a48cmp r10, [r14+40]
    001f5a4cjb 0x1f5aaf
    001f5a4e
    001f5a4eloc_1f5a4e:
    001f5a4esub rsp, 24
    001f5a52mov edi, 3
    001f5a57cmp rdi, rax
    001f5a5ajg 0x1f5a9e
    001f5a5cmov [rsp+16], rax
    001f5a61mov [rsp+8], rdi
    001f5a66mov [rsp], rbx
    001f5a6a
    001f5a6aloc_1f5a6a:
    001f5a6amov ebx, 185
    001f5a6fmov rax, [rsp]
    001f5a73mov rax, [rax+32]
    001f5a77call Stdlib.Buffer.add_char
    001f5a7cmov rbx, [rsp+8]
    001f5a81mov rax, rbx
    001f5a84add rbx, 2
    001f5a88mov [rsp+8], rbx
    001f5a8dmov rbx, [rsp+16]
    001f5a92cmp rax, rbx
    001f5a95je 0x1f5a9e
    001f5a97cmp r15, [r14]
    001f5a9aja 0x1f5a6a
    001f5a9cjmp 0x1f5aa8
    001f5a9e
    001f5a9eloc_1f5a9e:
    001f5a9emov eax, 1
    001f5aa3add rsp, 24
    001f5aa7ret
    001f5aa8
    001f5aa8loc_1f5aa8:
    001f5aa8call caml_call_gc
    001f5aadjmp 0x1f5a6a
    001f5aaf
    001f5aafloc_1f5aaf:
    001f5aafpush 36
    001f5ab1call caml_call_realloc_stack
    001f5ab6pop r10
    001f5ab8jmp 0x1f5a4e
    001f5a40
    001f5aba
    001f5aba // align 0x10
    001f5ac0
    001f5ac0Stdlib.Filename.quote_cmd:
    001f5ac0lea r10, [rsp-336]
    001f5ac8cmp r10, [r14+40]
    001f5accjb 0x1f5b62
    001f5ad2
    001f5ad2loc_1f5ad2:
    001f5ad2sub rsp, 16
    001f5ad6mov [rsp], rax
    001f5adamov rbx, [rax-8]
    001f5adeshr rbx, 10
    001f5ae2lea rbx, [8*rbx-1]
    001f5aeamovzx rax, [rax+rbx]
    001f5aefsub rbx, rax
    001f5af2lea rax, [rbx+rbx+41]
    001f5af7call Stdlib.Buffer.create
    001f5afcmov [rsp+8], rax
    001f5b01sub r15, 32
    001f5b05cmp r15, [r14]
    001f5b08jb 0x1f5b5b
    001f5b0a
    001f5b0aloc_1f5b0a:
    001f5b0alea rbx, [r15+8]
    001f5b0emov [rbx-8], 3319
    001f5b16lea rdi, [rip+83]
    001f5b1dmov [rbx], rdi
    001f5b20mov rdi, 0x100000000000005
    001f5b2amov [rbx+8], rdi
    001f5b2emov [rbx+16], rax
    001f5b32mov rax, rbx
    001f5b35mov rbx, [rsp]
    001f5b39call Stdlib.String.iter
    001f5b3emov rax, [rsp+8]
    001f5b43mov rdi, [rax+8]
    001f5b47mov rax, [rax]
    001f5b4amov rax, [rax]
    001f5b4dmov ebx, 1
    001f5b52add rsp, 16
    001f5b56jmp 0x1a63e0
    001f5b5b
    001f5b5bloc_1f5b5b:
    001f5b5bcall caml_call_gc
    001f5b60jmp 0x1f5b0a
    001f5b62
    001f5b62loc_1f5b62:
    001f5b62push 35
    001f5b64call caml_call_realloc_stack
    001f5b69pop r10
    001f5b6bjmp 0x1f5ad2
    001f5ac0
    001f5b70
    001f5b70Stdlib.Filename.fun:
    001f5b70lea r10, [rsp-336]
    001f5b78cmp r10, [r14+40]
    001f5b7cjb 0x1f5c3f
    001f5b82
    001f5b82loc_1f5b82:
    001f5b82sub rsp, 16
    001f5b86mov rdi, rax
    001f5b89cmp rdi, 125
    001f5b8djl 0x1f5bc4
    001f5b8fmov rax, rdi
    001f5b92add rax, -126
    001f5b96cmp rax, 121
    001f5b9ajbe 0x1f5bb0
    001f5b9ccmp rax, 125
    001f5ba0jge 0x1f5c08
    001f5ba2mov [rsp], rbx
    001f5ba6mov [rsp+8], rdi
    001f5babjmp 0x1f5c18
    001f5badnop [rax]
    001f5bb0
    001f5bb0loc_1f5bb0:
    001f5bb0cmp rax, 63
    001f5bb4jne 0x1f5c08
    001f5bb6mov [rsp], rbx
    001f5bbamov [rsp+8], rdi
    001f5bbfjmp 0x1f5c18
    001f5bc1nop [rax]
    001f5bc4
    001f5bc4loc_1f5bc4:
    001f5bc4cmp rdi, 85
    001f5bc8jl 0x1f5bdc
    001f5bcacmp rdi, 121
    001f5bcejne 0x1f5c08
    001f5bd0mov [rsp], rbx
    001f5bd4mov [rsp+8], rdi
    001f5bd9jmp 0x1f5c18
    001f5bdbnop
    001f5bdc
    001f5bdcloc_1f5bdc:
    001f5bdccmp rdi, 67
    001f5be0jl 0x1f5c08
    001f5be2mov [rsp], rbx
    001f5be6mov [rsp+8], rdi
    001f5bebmov rax, rdi
    001f5beeadd rax, -66
    001f5bf2sar rax, 1
    001f5bf5lea rdx, [rip+0x3908c]
    001f5bfcmovsxd rax, [rdx+4*rax]
    001f5c00add rdx, rax
    001f5c03jmp rdx
    001f5c05nop [rax]
    001f5c08
    001f5c08loc_1f5c08:
    001f5c08mov rax, [rbx+16]
    001f5c0cmov rbx, rdi
    001f5c0fadd rsp, 16
    001f5c13jmp 0x1c0b10
    001f5c18
    001f5c18loc_1f5c18:
    001f5c18mov edi, 189
    001f5c1dmov rax, [rbx+16]
    001f5c21mov rbx, rdi
    001f5c24call Stdlib.Buffer.add_char
    001f5c29mov rax, [rsp]
    001f5c2dmov rax, [rax+16]
    001f5c31mov rbx, [rsp+8]
    001f5c36add rsp, 16
    001f5c3ajmp 0x1c0b10
    001f5c3f
    001f5c3floc_1f5c3f:
    001f5c3fpush 35
    001f5c41call caml_call_realloc_stack
    001f5c46pop r10
    001f5c48jmp 0x1f5b82
    001f5b70
    001f5c4d
    001f5c4d // align 0x10
    001f5c50
    001f5c50Stdlib.Filename.quote_cmd_filename:
    001f5c50lea r10, [rsp-328]
    001f5c58cmp r10, [r14+40]
    001f5c5cjb 0x1f5d4c
    001f5c62
    001f5c62loc_1f5c62:
    001f5c62sub rsp, 8
    001f5c66mov [rsp], rax
    001f5c6amov edi, 95
    001f5c6fmov ebx, 1
    001f5c74call Stdlib.String.contains_from
    001f5c79cmp rax, 1
    001f5c7dje 0x1f5c98
    001f5c7flea rax, [rip+0x17fcaa]
    001f5c86mov rbx, [rsp]
    001f5c8acall Stdlib.Bytes.map
    001f5c8fmov rbx, rax
    001f5c92mov [rsp], rbx
    001f5c96jmp 0x1f5ca0
    001f5c98
    001f5c98loc_1f5c98:
    001f5c98mov rbx, [rsp]
    001f5c9cmov [rsp], rbx
    001f5ca0
    001f5ca0loc_1f5ca0:
    001f5ca0lea rax, [rip+0x17fc71]
    001f5ca7call Stdlib.Bytes.exists
    001f5caccmp rax, 1
    001f5cb0je 0x1f5ccc
    001f5cb2lea rax, [rip+0x18052f]
    001f5cb9mov rbx, [rsp]
    001f5cbdcall camlStdlib.$5e_139
    001f5cc2add rsp, 8
    001f5cc6jmp 0x195a70
    001f5ccb
    001f5ccb 90 .
    001f5ccc
    001f5cccloc_1f5ccc:
    001f5cccmov edi, 65
    001f5cd1mov ebx, 1
    001f5cd6mov rax, [rsp]
    001f5cdacall Stdlib.String.contains_from
    001f5cdfcmp rax, 1
    001f5ce3je 0x1f5d3c
    001f5ce5sub r15, 48
    001f5ce9cmp r15, [r14]
    001f5cecjb 0x1f5d45
    001f5cee
    001f5ceeloc_1f5cee:
    001f5ceelea rax, [r15+8]
    001f5cf2add rax, 24
    001f5cf6mov [rax-8], 2048
    001f5cfemov rbx, [rsp]
    001f5d02mov [rax], rbx
    001f5d05lea rbx, [rip+0x1804b4]
    001f5d0cmov [rax+8], rbx
    001f5d10lea rbx, [rax-24]
    001f5d14mov [rbx-8], 2048
    001f5d1clea rdi, [rip+0x1804b5]
    001f5d23mov [rbx], rdi
    001f5d26mov [rbx+8], rax
    001f5d2alea rax, [rip+0x1805af]
    001f5d31add rsp, 8
    001f5d35jmp 0x1ab480
    001f5d3a
    001f5d3a 66 90 f.
    001f5d3c
    001f5d3cloc_1f5d3c:
    001f5d3cmov rax, [rsp]
    001f5d40add rsp, 8
    001f5d44ret
    001f5d45
    001f5d45loc_1f5d45:
    001f5d45call caml_call_gc
    001f5d4ajmp 0x1f5cee
    001f5d4c
    001f5d4cloc_1f5d4c:
    001f5d4cpush 34
    001f5d4ecall caml_call_realloc_stack
    001f5d53pop r10
    001f5d55jmp 0x1f5c62
    001f5c50
    001f5d5a
    001f5d5a // align 0x10
    001f5d60
    001f5d60Stdlib.Filename.fun:
    001f5d60cmp rax, 95
    001f5d64je 0x1f5d68
    001f5d66ret
    001f5d67
    001f5d67 90 .
    001f5d68
    001f5d68loc_1f5d68:
    001f5d68mov eax, 185
    001f5d6dret
    001f5d60
    001f5d6e
    001f5d6e // align 0x10
    001f5d70
    001f5d70Stdlib.Filename.fun:
    001f5d70cmp rax, 69
    001f5d74je 0x1f5d84
    001f5d76cmp rax, 75
    001f5d7aje 0x1f5d84
    001f5d7cmov eax, 1
    001f5d81ret
    001f5d82
    001f5d82 66 90 f.
    001f5d84
    001f5d84loc_1f5d84:
    001f5d84mov eax, 3
    001f5d89ret
    001f5d70
    001f5d8a
    001f5d8a // align 0x10
    001f5d90
    001f5d90Stdlib.Filename.quote_command:
    001f5d90lea r10, [rsp-360]
    001f5d98cmp r10, [r14+40]
    001f5d9cjb 0x1f5fde
    001f5da2
    001f5da2loc_1f5da2:
    001f5da2sub rsp, 40
    001f5da6mov [rsp+32], rax
    001f5dabmov [rsp+16], rbx
    001f5db0mov rax, rdi
    001f5db3mov [rsp], rax
    001f5db7mov rdi, rsi
    001f5dbamov [rsp+24], rdx
    001f5dbftest dil, 1
    001f5dc3je 0x1f5dd0
    001f5dc5lea rax, [rip+0x180514]
    001f5dccjmp 0x1f5e10
    001f5dce
    001f5dce 66 90 f.
    001f5dd0
    001f5dd0loc_1f5dd0:
    001f5dd0mov [rsp+8], rdi
    001f5dd5mov rsi, rax
    001f5dd8lea rax, [rip+43777]
    001f5ddfcall caml_c_call
    001f5de4cmp rax, 1
    001f5de8je 0x1f5df4
    001f5dealea rax, [rip+0x18049f]
    001f5df1jmp 0x1f5e10
    001f5df3
    001f5df3 90 .
    001f5df4
    001f5df4loc_1f5df4:
    001f5df4mov rax, [rsp+8]
    001f5df9mov rax, [rax]
    001f5dfccall Stdlib.Filename.quote_cmd_filename
    001f5e01mov rbx, rax
    001f5e04lea rax, [rip+0x18045d]
    001f5e0bcall camlStdlib.$5e_139
    001f5e10
    001f5e10loc_1f5e10:
    001f5e10sub r15, 24
    001f5e14cmp r15, [r14]
    001f5e17jb 0x1f5fd4
    001f5e1d
    001f5e1dloc_1f5e1d:
    001f5e1dlea rbx, [r15+8]
    001f5e21mov [rsp+8], rbx
    001f5e26mov [rbx-8], 2048
    001f5e2emov [rbx], rax
    001f5e31lea rax, [rip+0x180388]
    001f5e38mov [rbx+8], rax
    001f5e3cmov rax, [rsp]
    001f5e40test al, 1
    001f5e42je 0x1f5e50
    001f5e44lea rax, [rip+0x180495]
    001f5e4bjmp 0x1f5e67
    001f5e4d
    001f5e4d 0f 1f 00 ...
    001f5e50
    001f5e50loc_1f5e50:
    001f5e50mov rax, [rax]
    001f5e53call Stdlib.Filename.quote_cmd_filename
    001f5e58mov rbx, rax
    001f5e5blea rax, [rip+0x18043e]
    001f5e62call camlStdlib.$5e_139
    001f5e67
    001f5e67loc_1f5e67:
    001f5e67sub r15, 24
    001f5e6bcmp r15, [r14]
    001f5e6ejb 0x1f5fca
    001f5e74
    001f5e74loc_1f5e74:
    001f5e74lea rbx, [r15+8]
    001f5e78mov [rsp], rbx
    001f5e7cmov [rbx-8], 2048
    001f5e84mov [rbx], rax
    001f5e87mov rax, [rsp+8]
    001f5e8cmov [rbx+8], rax
    001f5e90mov rax, [rsp+16]
    001f5e95test al, 1
    001f5e97je 0x1f5ea4
    001f5e99lea rax, [rip+0x180440]
    001f5ea0jmp 0x1f5ebb
    001f5ea2
    001f5ea2 66 90 f.
    001f5ea4
    001f5ea4loc_1f5ea4:
    001f5ea4mov rax, [rax]
    001f5ea7call Stdlib.Filename.quote_cmd_filename
    001f5eacmov rbx, rax
    001f5eaflea rax, [rip+0x1803fa]
    001f5eb6call camlStdlib.$5e_139
    001f5ebb
    001f5ebbloc_1f5ebb:
    001f5ebbsub r15, 24
    001f5ebfcmp r15, [r14]
    001f5ec2jb 0x1f5fc0
    001f5ec8
    001f5ec8loc_1f5ec8:
    001f5ec8lea rbx, [r15+8]
    001f5eccmov [rsp+8], rbx
    001f5ed1mov [rbx-8], 2048
    001f5ed9mov [rbx], rax
    001f5edcmov rax, [rsp]
    001f5ee0mov [rbx+8], rax
    001f5ee4lea rax, [rip+0x17fe85]
    001f5eebmov rax, [rax+472]
    001f5ef2mov rbx, [rsp+24]
    001f5ef7call Stdlib.List.map
    001f5efcmov rbx, rax
    001f5efflea rax, [rip+0x1803ba]
    001f5f06call Stdlib.String.concat
    001f5f0bcall Stdlib.Filename.quote_cmd
    001f5f10sub r15, 48
    001f5f14cmp r15, [r14]
    001f5f17jb 0x1f5fb6
    001f5f1d
    001f5f1dloc_1f5f1d:
    001f5f1dlea rbx, [r15+8]
    001f5f21add rbx, 24
    001f5f25mov [rbx-8], 2048
    001f5f2dmov [rbx], rax
    001f5f30mov rax, [rsp+8]
    001f5f35mov [rbx+8], rax
    001f5f39lea rax, [rbx-24]
    001f5f3dmov [rsp], rax
    001f5f41mov [rax-8], 2048
    001f5f49lea rdi, [rip+0x180370]
    001f5f50mov [rax], rdi
    001f5f53mov [rax+8], rbx
    001f5f57mov rax, [rsp+32]
    001f5f5ccall Stdlib.Filename.quote_cmd_filename
    001f5f61sub r15, 48
    001f5f65cmp r15, [r14]
    001f5f68jb 0x1f5faf
    001f5f6a
    001f5f6aloc_1f5f6a:
    001f5f6alea rdi, [r15+8]
    001f5f6eadd rdi, 24
    001f5f72mov [rdi-8], 2048
    001f5f7amov [rdi], rax
    001f5f7dmov rax, [rsp]
    001f5f81mov [rdi+8], rax
    001f5f85lea rbx, [rdi-24]
    001f5f89mov [rbx-8], 2048
    001f5f91lea rax, [rip+0x180240]
    001f5f98mov [rbx], rax
    001f5f9bmov [rbx+8], rdi
    001f5f9flea rax, [rip+0x18033a]
    001f5fa6add rsp, 40
    001f5faajmp 0x1ab480
    001f5faf
    001f5fafloc_1f5faf:
    001f5fafcall caml_call_gc
    001f5fb4jmp 0x1f5f6a
    001f5fb6
    001f5fb6loc_1f5fb6:
    001f5fb6call caml_call_gc
    001f5fbbjmp 0x1f5f1d
    001f5fc0
    001f5fc0loc_1f5fc0:
    001f5fc0call caml_call_gc
    001f5fc5jmp 0x1f5ec8
    001f5fca
    001f5fcaloc_1f5fca:
    001f5fcacall caml_call_gc
    001f5fcfjmp 0x1f5e74
    001f5fd4
    001f5fd4loc_1f5fd4:
    001f5fd4call caml_call_gc
    001f5fd9jmp 0x1f5e1d
    001f5fde
    001f5fdeloc_1f5fde:
    001f5fdepush 38
    001f5fe0call caml_call_realloc_stack
    001f5fe5pop r10
    001f5fe7jmp 0x1f5da2
    001f5d90
    001f5fec
    001f5fec // align 0x10
    001f5ff0
    001f5ff0Stdlib.Filename.has_drive:
    001f5ff0mov rbx, [rax-8]
    001f5ff4shr rbx, 10
    001f5ff8lea rbx, [8*rbx-1]
    001f6000movzx rdi, [rax+rbx]
    001f6005sub rbx, rdi
    001f6008lea rdi, [rbx+rbx+1]
    001f600dcmp rdi, 5
    001f6011jl 0x1f6098
    001f6017cmp rbx, 0
    001f601bjbe 0x1f60a3
    001f6021movzx rbx, [rax]
    001f6025lea rbx, [rbx+rbx+1]
    001f602acmp rbx, 183
    001f6031jl 0x1f6044
    001f6033add rbx, -194
    001f603acmp rbx, 51
    001f603ejbe 0x1f6054
    001f6040jmp 0x1f604d
    001f6042
    001f6042 66 90 f.
    001f6044
    001f6044loc_1f6044:
    001f6044cmp rbx, 131
    001f604bjge 0x1f6054
    001f604d
    001f604dloc_1f604d:
    001f604dmov ebx, 1
    001f6052jmp 0x1f6059
    001f6054
    001f6054loc_1f6054:
    001f6054mov ebx, 3
    001f6059
    001f6059loc_1f6059:
    001f6059cmp rbx, 1
    001f605dje 0x1f6098
    001f605fmov rbx, [rax-8]
    001f6063shr rbx, 10
    001f6067lea rbx, [8*rbx-1]
    001f606fmovzx rdi, [rax+rbx]
    001f6074sub rbx, rdi
    001f6077cmp rbx, 1
    001f607bjbe 0x1f609e
    001f607dmovzx rax, [rax+1]
    001f6082lea rax, [rax+rax+1]
    001f6087cmp rax, 117
    001f608bsete al
    001f608emovzx rax, al
    001f6092lea rax, [rax+rax+1]
    001f6097ret
    001f6098
    001f6098loc_1f6098:
    001f6098mov eax, 1
    001f609dret
    001f609e
    001f609eloc_1f609e:
    001f609ecall caml_ml_array_bound_error
    001f60a3
    001f60a3loc_1f60a3:
    001f60a3call caml_ml_array_bound_error
    001f5ff0
    001f60a8
    001f60a8 // align 0x10
    001f60b0
    001f60b0Stdlib.Filename.drive_and_path:
    001f60b0lea r10, [rsp-336]
    001f60b8cmp r10, [r14+40]
    001f60bcjb 0x1f617e
    001f60c2
    001f60c2loc_1f60c2:
    001f60c2sub rsp, 16
    001f60c6mov [rsp], rax
    001f60cacall Stdlib.Filename.has_drive
    001f60cfcmp rax, 1
    001f60d3je 0x1f6144
    001f60d5mov rax, [rsp]
    001f60d9mov rbx, [rax-8]
    001f60ddshr rbx, 10
    001f60e1lea rbx, [8*rbx-1]
    001f60e9movzx rdi, [rax+rbx]
    001f60eesub rbx, rdi
    001f60f1lea rdi, [rbx+rbx-3]
    001f60f6mov ebx, 5
    001f60fbcall Stdlib.Bytes.sub
    001f6100mov [rsp+8], rax
    001f6105mov edi, 5
    001f610amov ebx, 1
    001f610fmov rax, [rsp]
    001f6113call Stdlib.Bytes.sub
    001f6118sub r15, 24
    001f611ccmp r15, [r14]
    001f611fjb 0x1f6177
    001f6121
    001f6121loc_1f6121:
    001f6121lea rbx, [r15+8]
    001f6125mov [rbx-8], 2048
    001f612dmov [rbx], rax
    001f6130mov rax, [rsp+8]
    001f6135mov [rbx+8], rax
    001f6139mov rax, rbx
    001f613cadd rsp, 16
    001f6140ret
    001f6141
    001f6141 0f 1f 00 ...
    001f6144
    001f6144loc_1f6144:
    001f6144sub r15, 24
    001f6148cmp r15, [r14]
    001f614bjb 0x1f6170
    001f614d
    001f614dloc_1f614d:
    001f614dlea rax, [r15+8]
    001f6151mov [rax-8], 2048
    001f6159lea rbx, [rip+0x180180]
    001f6160mov [rax], rbx
    001f6163mov rbx, [rsp]
    001f6167mov [rax+8], rbx
    001f616badd rsp, 16
    001f616fret
    001f6170
    001f6170loc_1f6170:
    001f6170call caml_call_gc
    001f6175jmp 0x1f614d
    001f6177
    001f6177loc_1f6177:
    001f6177call caml_call_gc
    001f617cjmp 0x1f6121
    001f617e
    001f617eloc_1f617e:
    001f617epush 35
    001f6180call caml_call_realloc_stack
    001f6185pop r10
    001f6187jmp 0x1f60c2
    001f60b0
    001f618c
    001f618c // align 0x10
    001f6190
    001f6190Stdlib.Filename.dirname:
    001f6190lea r10, [rsp-328]
    001f6198cmp r10, [r14+40]
    001f619cjb 0x1f61dc
    001f619e
    001f619eloc_1f619e:
    001f619esub rsp, 8
    001f61a2call Stdlib.Filename.drive_and_path
    001f61a7mov [rsp], rax
    001f61abmov rdi, [rax+8]
    001f61aflea rbx, [rip+0x17ffda]
    001f61b6lea rax, [rip+0x17fbb3]
    001f61bdmov rax, [rax+424]
    001f61c4call Stdlib.Filename.generic_dirname
    001f61c9mov rbx, rax
    001f61ccmov rax, [rsp]
    001f61d0mov rax, [rax]
    001f61d3add rsp, 8
    001f61d7jmp 0x195ba0
    001f61dc
    001f61dcloc_1f61dc:
    001f61dcpush 34
    001f61decall caml_call_realloc_stack
    001f61e3pop r10
    001f61e5jmp 0x1f619e
    001f6190
    001f61e7
    001f61e7 // align 0x10
    001f61f0
    001f61f0Stdlib.Filename.basename:
    001f61f0lea r10, [rsp-320]
    001f61f8cmp r10, [r14+40]
    001f61fcjb 0x1f6221
    001f61fe
    001f61feloc_1f61fe:
    001f61fecall Stdlib.Filename.drive_and_path
    001f6203mov rdi, [rax+8]
    001f6207lea rbx, [rip+0x17ff82]
    001f620elea rax, [rip+0x17fb5b]
    001f6215mov rax, [rax+424]
    001f621cjmp 0x1f4840
    001f6221
    001f6221loc_1f6221:
    001f6221push 33
    001f6223call caml_call_realloc_stack
    001f6228pop r10
    001f622ajmp 0x1f61fe
    001f61f0
    001f622c
    001f622c // align 0x10
    001f6230
    001f6230Stdlib.Filename.fun:
    001f6230mov rdi, rax
    001f6233mov rsi, [rbx+24]
    001f6237mov rax, [rbx+16]
    001f623bmov rbx, rsi
    001f623ejmp 0x1f4840
    001f6230
    001f6243
    001f6243 // align 0x10
    001f6250
    001f6250Stdlib.Filename.fun:
    001f6250mov rdi, rax
    001f6253mov rsi, [rbx+24]
    001f6257mov rax, [rbx+16]
    001f625bmov rbx, rsi
    001f625ejmp 0x1f4a80
    001f6250
    001f6263
    001f6263 // align 0x10
    001f6270
    001f6270Stdlib.Filename.concat:
    001f6270lea r10, [rsp-336]
    001f6278cmp r10, [r14+40]
    001f627cjb 0x1f6306
    001f6282
    001f6282loc_1f6282:
    001f6282sub rsp, 16
    001f6286mov [rsp+8], rax
    001f628bmov [rsp], rbx
    001f628fmov rbx, [rax-8]
    001f6293shr rbx, 10
    001f6297lea rbx, [8*rbx-1]
    001f629fmovzx rdi, [rax+rbx]
    001f62a4sub rbx, rdi
    001f62a7lea rbx, [rbx+rbx+1]
    001f62accmp rbx, 1
    001f62b0je 0x1f62f4
    001f62b2lea rdi, [rip+0x17fab7]
    001f62b9mov rdi, [rdi+232]
    001f62c0add rbx, -2
    001f62c4call caml_apply2
    001f62c9cmp rax, 1
    001f62cdjne 0x1f62f4
    001f62cflea rax, [rip+0x17fa9a]
    001f62d6mov rax, [rax+16]
    001f62damov rbx, [rsp]
    001f62decall camlStdlib.$5e_139
    001f62e3mov rbx, rax
    001f62e6mov rax, [rsp+8]
    001f62ebadd rsp, 16
    001f62efjmp 0x195ba0
    001f62f4
    001f62f4loc_1f62f4:
    001f62f4mov rax, [rsp+8]
    001f62f9mov rbx, [rsp]
    001f62fdadd rsp, 16
    001f6301jmp 0x195ba0
    001f6306
    001f6306loc_1f6306:
    001f6306push 35
    001f6308call caml_call_realloc_stack
    001f630dpop r10
    001f630fjmp 0x1f6282
    001f6270
    001f6314
    001f6314 // align 0x10
    001f6320
    001f6320Stdlib.Filename.chop_suffix:
    001f6320lea r10, [rsp-336]
    001f6328cmp r10, [r14+40]
    001f632cjb 0x1f63bc
    001f6332
    001f6332loc_1f6332:
    001f6332sub rsp, 16
    001f6336mov [rsp+8], rax
    001f633bmov [rsp], rbx
    001f633flea rdi, [rip+0x17fa2a]
    001f6346mov rdi, [rdi+48]
    001f634acall caml_apply2
    001f634fcmp rax, 1
    001f6353je 0x1f63ac
    001f6355mov rbx, [rsp]
    001f6359mov rax, [rbx-8]
    001f635dshr rax, 10
    001f6361lea rax, [8*rax-1]
    001f6369movzx rbx, [rbx+rax]
    001f636esub rax, rbx
    001f6371shl rax, 1
    001f6374mov rsi, [rsp+8]
    001f6379mov rbx, [rsi-8]
    001f637dshr rbx, 10
    001f6381lea rdi, [8*rbx-1]
    001f6389movzx rbx, [rsi+rdi]
    001f638esub rdi, rbx
    001f6391shl rdi, 1
    001f6394sub rdi, rax
    001f6397inc rdi
    001f639amov ebx, 1
    001f639fmov rax, rsi
    001f63a2call Stdlib.Bytes.sub
    001f63a7add rsp, 16
    001f63abret
    001f63ac
    001f63acloc_1f63ac:
    001f63aclea rax, [rip+0x17fded]
    001f63b3add rsp, 16
    001f63b7jmp 0x195ab0
    001f63bc
    001f63bcloc_1f63bc:
    001f63bcpush 35
    001f63becall caml_call_realloc_stack
    001f63c3pop r10
    001f63c5jmp 0x1f6332
    001f6320
    001f63ca
    001f63ca // align 0x10
    001f63d0
    001f63d0Stdlib.Filename.extension_len:
    001f63d0sub r15, 80
    001f63d4cmp r15, [r14]
    001f63d7jb 0x1f6462
    001f63dd
    001f63ddloc_1f63dd:
    001f63ddlea rdi, [r15+8]
    001f63e1add rdi, 40
    001f63e5mov [rdi-8], 4343
    001f63edlea rbx, [rip-0xff3d4]
    001f63f4mov [rdi], rbx
    001f63f7mov rbx, 0x200000000000007
    001f6401mov [rdi+8], rbx
    001f6405lea rbx, [rip+100]
    001f640cmov [rdi+16], rbx
    001f6410mov [rdi+24], rax
    001f6414lea rbx, [rdi-40]
    001f6418mov [rbx-8], 4343
    001f6420lea rsi, [rip+313]
    001f6427mov [rbx], rsi
    001f642amov rsi, 0x100000000000005
    001f6434mov [rbx+8], rsi
    001f6438mov [rbx+16], rax
    001f643cmov [rbx+24], rdi
    001f6440mov rdi, [rax-8]
    001f6444shr rdi, 10
    001f6448lea rdi, [8*rdi-1]
    001f6450movzx rax, [rax+rdi]
    001f6455sub rdi, rax
    001f6458lea rax, [rdi+rdi-1]
    001f645djmp 0x1f6560
    001f6462
    001f6462loc_1f6462:
    001f6462call caml_call_gc
    001f6467jmp 0x1f63dd
    001f63d0
    001f646c
    001f646c // align 0x10
    001f6470
    001f6470Stdlib.Filename.check:
    001f6470lea r10, [rsp-344]
    001f6478cmp r10, [r14+40]
    001f647cjb 0x1f6545
    001f6482
    001f6482loc_1f6482:
    001f6482sub rsp, 24
    001f6486
    001f6486loc_1f6486:
    001f6486cmp r15, [r14]
    001f6489jbe 0x1f6536
    001f648f
    001f648floc_1f648f:
    001f648fcmp rbx, 1
    001f6493jl 0x1f652c
    001f6499mov [rsp+8], rdi
    001f649emov [rsp], rbx
    001f64a2mov [rsp+16], rax
    001f64a7lea rax, [rip+0x17f8c2]
    001f64aemov rsi, [rax+232]
    001f64b5mov rax, [rdi+24]
    001f64b9mov rdi, rsi
    001f64bccall caml_apply2
    001f64c1cmp rax, 1
    001f64c5jne 0x1f652c
    001f64c7mov rbx, [rsp]
    001f64cbmov rsi, rbx
    001f64cesar rsi, 1
    001f64d1mov rdi, [rsp+8]
    001f64d6mov rdx, [rdi+24]
    001f64damov rax, [rdx-8]
    001f64deshr rax, 10
    001f64e2lea rax, [8*rax-1]
    001f64eamovzx rcx, [rdx+rax]
    001f64efsub rax, rcx
    001f64f2cmp rax, rsi
    001f64f5jbe 0x1f6540
    001f64f7movzx rsi, [rdx+rsi]
    001f64fclea rsi, [rsi+rsi+1]
    001f6501cmp rsi, 93
    001f6505jne 0x1f6518
    001f6507add rbx, -2
    001f650bmov rax, [rsp+16]
    001f6510jmp 0x1f6486
    001f6515
    001f6515 0f 1f 00 ...
    001f6518
    001f6518loc_1f6518:
    001f6518shl rax, 1
    001f651bmov rbx, [rsp+16]
    001f6520sub rax, rbx
    001f6523add rax, 2
    001f6527add rsp, 24
    001f652bret
    001f652c
    001f652cloc_1f652c:
    001f652cmov eax, 1
    001f6531add rsp, 24
    001f6535ret
    001f6536
    001f6536loc_1f6536:
    001f6536call caml_call_gc
    001f653bjmp 0x1f648f
    001f6540
    001f6540loc_1f6540:
    001f6540call caml_ml_array_bound_error
    001f6545
    001f6545loc_1f6545:
    001f6545push 36
    001f6547call caml_call_realloc_stack
    001f654cpop r10
    001f654ejmp 0x1f6482
    001f6470
    001f6553
    001f6553 // align 0x10
    001f6560
    001f6560Stdlib.Filename.search_dot:
    001f6560lea r10, [rsp-336]
    001f6568cmp r10, [r14+40]
    001f656cjb 0x1f6631
    001f6572
    001f6572loc_1f6572:
    001f6572sub rsp, 16
    001f6576
    001f6576loc_1f6576:
    001f6576mov rsi, rax
    001f6579cmp r15, [r14]
    001f657cjbe 0x1f6622
    001f6582
    001f6582loc_1f6582:
    001f6582cmp rsi, 1
    001f6586jl 0x1f6618
    001f658cmov [rsp+8], rbx
    001f6591mov [rsp], rsi
    001f6595lea rax, [rip+0x17f7d4]
    001f659cmov rdi, [rax+232]
    001f65a3mov rax, [rbx+16]
    001f65a7mov rbx, rsi
    001f65aacall caml_apply2
    001f65afcmp rax, 1
    001f65b3jne 0x1f6618
    001f65b5mov rax, [rsp]
    001f65b9mov rdi, rax
    001f65bcsar rdi, 1
    001f65bfmov rbx, [rsp+8]
    001f65c4mov rsi, [rbx+16]
    001f65c8mov rdx, [rsi-8]
    001f65ccshr rdx, 10
    001f65d0lea rdx, [8*rdx-1]
    001f65d8movzx rcx, [rsi+rdx]
    001f65ddsub rdx, rcx
    001f65e0cmp rdx, rdi
    001f65e3jbe 0x1f662c
    001f65e5movzx rdi, [rsi+rdi]
    001f65ealea rdi, [rdi+rdi+1]
    001f65efcmp rdi, 93
    001f65f3jne 0x1f660c
    001f65f5mov rsi, rax
    001f65f8add rsi, -2
    001f65fcmov rdi, [rbx+24]
    001f6600mov rbx, rsi
    001f6603add rsp, 16
    001f6607jmp 0x1f6470
    001f660c
    001f660cloc_1f660c:
    001f660cadd rax, -2
    001f6610jmp 0x1f6576
    001f6615
    001f6615 0f 1f 00 ...
    001f6618
    001f6618loc_1f6618:
    001f6618mov eax, 1
    001f661dadd rsp, 16
    001f6621ret
    001f6622
    001f6622loc_1f6622:
    001f6622call caml_call_gc
    001f6627jmp 0x1f6582
    001f662c
    001f662cloc_1f662c:
    001f662ccall caml_ml_array_bound_error
    001f6631
    001f6631loc_1f6631:
    001f6631push 35
    001f6633call caml_call_realloc_stack
    001f6638pop r10
    001f663ajmp 0x1f6572
    001f6560
    001f663f
    001f663f // align 0x10
    001f6640
    001f6640Stdlib.Filename.extension:
    001f6640lea r10, [rsp-328]
    001f6648cmp r10, [r14+40]
    001f664cjb 0x1f66a0
    001f664e
    001f664eloc_1f664e:
    001f664esub rsp, 8
    001f6652mov [rsp], rax
    001f6656call Stdlib.Filename.extension_len
    001f665bmov rdi, rax
    001f665ecmp rdi, 1
    001f6662jne 0x1f6670
    001f6664lea rax, [rip+0x17fc75]
    001f666badd rsp, 8
    001f666fret
    001f6670
    001f6670loc_1f6670:
    001f6670mov rax, [rsp]
    001f6674mov rbx, [rax-8]
    001f6678shr rbx, 10
    001f667clea rbx, [8*rbx-1]
    001f6684movzx rsi, [rax+rbx]
    001f6689sub rbx, rsi
    001f668cshl rbx, 1
    001f668fsub rbx, rdi
    001f6692add rbx, 2
    001f6696call Stdlib.Bytes.sub
    001f669badd rsp, 8
    001f669fret
    001f66a0
    001f66a0loc_1f66a0:
    001f66a0push 34
    001f66a2call caml_call_realloc_stack
    001f66a7pop r10
    001f66a9jmp 0x1f664e
    001f6640
    001f66ab
    001f66ab // align 0x10
    001f66b0
    001f66b0Stdlib.Filename.chop_extension:
    001f66b0lea r10, [rsp-328]
    001f66b8cmp r10, [r14+40]
    001f66bcjb 0x1f671c
    001f66be
    001f66beloc_1f66be:
    001f66besub rsp, 8
    001f66c2mov [rsp], rax
    001f66c6call Stdlib.Filename.extension_len
    001f66cbcmp rax, 1
    001f66cfjne 0x1f66e4
    001f66d1lea rax, [rip+0x17fa98]
    001f66d8add rsp, 8
    001f66dcjmp 0x195ab0
    001f66e1
    001f66e1 0f 1f 00 ...
    001f66e4
    001f66e4loc_1f66e4:
    001f66e4mov rsi, [rsp]
    001f66e8mov rbx, [rsi-8]
    001f66ecshr rbx, 10
    001f66f0lea rdi, [8*rbx-1]
    001f66f8movzx rbx, [rsi+rdi]
    001f66fdsub rdi, rbx
    001f6700shl rdi, 1
    001f6703sub rdi, rax
    001f6706add rdi, 2
    001f670amov ebx, 1
    001f670fmov rax, rsi
    001f6712call Stdlib.Bytes.sub
    001f6717add rsp, 8
    001f671bret
    001f671c
    001f671cloc_1f671c:
    001f671cpush 34
    001f671ecall caml_call_realloc_stack
    001f6723pop r10
    001f6725jmp 0x1f66be
    001f66b0
    001f6727
    001f6727 // align 0x10
    001f6730
    001f6730Stdlib.Filename.remove_extension:
    001f6730lea r10, [rsp-328]
    001f6738cmp r10, [r14+40]
    001f673cjb 0x1f6794
    001f673e
    001f673eloc_1f673e:
    001f673esub rsp, 8
    001f6742mov [rsp], rax
    001f6746call Stdlib.Filename.extension_len
    001f674bcmp rax, 1
    001f674fjne 0x1f675c
    001f6751mov rax, [rsp]
    001f6755add rsp, 8
    001f6759ret
    001f675a
    001f675a 66 90 f.
    001f675c
    001f675cloc_1f675c:
    001f675cmov rsi, [rsp]
    001f6760mov rbx, [rsi-8]
    001f6764shr rbx, 10
    001f6768lea rdi, [8*rbx-1]
    001f6770movzx rbx, [rsi+rdi]
    001f6775sub rdi, rbx
    001f6778shl rdi, 1
    001f677bsub rdi, rax
    001f677eadd rdi, 2
    001f6782mov ebx, 1
    001f6787mov rax, rsi
    001f678acall Stdlib.Bytes.sub
    001f678fadd rsp, 8
    001f6793ret
    001f6794
    001f6794loc_1f6794:
    001f6794push 34
    001f6796call caml_call_realloc_stack
    001f679bpop r10
    001f679djmp 0x1f673e
    001f6730
    001f679f
    001f679f // align 0x10
    001f67a0
    001f67a0Stdlib.Filename.temp_file_name:
    001f67a0lea r10, [rsp-360]
    001f67a8cmp r10, [r14+40]
    001f67acjb 0x1f6854
    001f67b2
    001f67b2loc_1f67b2:
    001f67b2sub rsp, 40
    001f67b6mov [rsp+32], rax
    001f67bbmov [rsp+8], rbx
    001f67c0mov [rsp], rdi
    001f67c4lea rax, [rip+0x155b7d]
    001f67cbmov rax, [rax+80]
    001f67cfmov rbx, [rax+8]
    001f67d3lea rax, [rip+0x17f596]
    001f67damov rax, [rax+256]
    001f67e1mov rdi, [rbx]
    001f67e4call rdi
    001f67e6mov rdi, rax
    001f67e9mov rbx, rsp
    001f67ecmov rsp, [r14+64]
    001f67f0call caml_lxm_next_unboxed
    001f67f5mov rsp, rbx
    001f67f8shl rax, 1
    001f67fbinc rax
    001f67feand rax, 0x7fffffff
    001f6804and rax, 0x1ffffff
    001f680amov rbx, [rsp]
    001f680emov [rsp+24], rbx
    001f6813mov [rsp+16], rax
    001f6818mov rax, [rsp+8]
    001f681dmov [rsp], rax
    001f6821lea rax, [rip+0x17f8a8]
    001f6828call Stdlib.Printf.sprintf
    001f682dmov rsi, rax
    001f6830mov rax, [rsp]
    001f6834mov rbx, [rsp+16]
    001f6839mov rdi, [rsp+24]
    001f683ecall caml_apply3
    001f6843mov rbx, rax
    001f6846mov rax, [rsp+32]
    001f684badd rsp, 40
    001f684fjmp 0x1f6270
    001f6854
    001f6854loc_1f6854:
    001f6854push 38
    001f6856call caml_call_realloc_stack
    001f685bpop r10
    001f685djmp 0x1f67b2
    001f67a0
    001f6862
    001f6862 // align 0x10
    001f6870
    001f6870Stdlib.Filename.fun:
    001f6870ret
    001f6870
    001f6871
    001f6871 // align 0x10
    001f6880
    001f6880Stdlib.Filename.fun:
    001f6880lea rax, [rip+0x17f4e9]
    001f6887mov rax, [rax+240]
    001f688eret
    001f6880
    001f688f
    001f688f // align 0x10
    001f6890
    001f6890Stdlib.Filename.set_temp_dir_name:
    001f6890mov rbx, rax
    001f6893lea rax, [rip+0x17f4d6]
    001f689amov rax, [rax+272]
    001f68a1jmp 0x1c3260
    001f6890
    001f68a6
    001f68a6 // align 0x10
    001f68b0
    001f68b0Stdlib.Filename.get_temp_dir_name:
    001f68b0cmp r15, [r14]
    001f68b3jbe 0x1f68d7
    001f68b5
    001f68b5loc_1f68b5:
    001f68b5lea rax, [rip+0x155a8c]
    001f68bcmov rax, [rax+80]
    001f68c0mov rbx, [rax+8]
    001f68c4lea rax, [rip+0x17f4a5]
    001f68cbmov rax, [rax+272]
    001f68d2mov rdi, [rbx]
    001f68d5jmp rdi
    001f68d7
    001f68d7loc_1f68d7:
    001f68d7call caml_call_gc
    001f68dcjmp 0x1f68b5
    001f68b0
    001f68de
    001f68de // align 0x10
    001f68e0
    001f68e0Stdlib.Filename.temp_file_inner:
    001f68e0sub r15, 48
    001f68e4cmp r15, [r14]
    001f68e7jb 0x1f6926
    001f68e9
    001f68e9loc_1f68e9:
    001f68e9lea rsi, [r15+8]
    001f68edmov [rsi-8], 5367
    001f68f5lea rdx, [rip+164]
    001f68fcmov [rsi], rdx
    001f68ffmov rdx, 0x100000000000005
    001f6909mov [rsi+8], rdx
    001f690dmov [rsi+16], rax
    001f6911mov [rsi+24], rbx
    001f6915mov [rsi+32], rdi
    001f6919mov eax, 1
    001f691emov rbx, rsi
    001f6921jmp 0x1f69a0
    001f6926
    001f6926loc_1f6926:
    001f6926call caml_call_gc
    001f692bjmp 0x1f68e9
    001f68e0
    001f692d
    001f692d // align 0x10
    001f6930
    001f6930Stdlib.Filename.temp_file:
    001f6930lea r10, [rsp-336]
    001f6938cmp r10, [r14+40]
    001f693cjb 0x1f6989
    001f693e
    001f693eloc_1f693e:
    001f693esub rsp, 16
    001f6942mov [rsp], rbx
    001f6946mov [rsp+8], rdi
    001f694btest al, 1
    001f694dje 0x1f6974
    001f694flea rax, [rip+0x1559f2]
    001f6956mov rax, [rax+80]
    001f695amov rbx, [rax+8]
    001f695elea rax, [rip+0x17f40b]
    001f6965mov rax, [rax+272]
    001f696cmov rdi, [rbx]
    001f696fcall rdi
    001f6971jmp 0x1f6977
    001f6973
    001f6973 90 .
    001f6974
    001f6974loc_1f6974:
    001f6974mov rax, [rax]
    001f6977
    001f6977loc_1f6977:
    001f6977mov rbx, [rsp]
    001f697bmov rdi, [rsp+8]
    001f6980add rsp, 16
    001f6984jmp 0x1f68e0
    001f6989
    001f6989loc_1f6989:
    001f6989push 35
    001f698bcall caml_call_realloc_stack
    001f6990pop r10
    001f6992jmp 0x1f693e
    001f6930
    001f6994
    001f6994 // align 0x10
    001f69a0
    001f69a0Stdlib.Filename.try_name:
    001f69a0lea r10, [rsp-360]
    001f69a8cmp r10, [r14+40]
    001f69acjb 0x1f6a7b
    001f69b2
    001f69b2loc_1f69b2:
    001f69b2sub rsp, 24
    001f69b6
    001f69b6loc_1f69b6:
    001f69b6mov [rsp+8], rax
    001f69bbmov [rsp+16], rbx
    001f69c0cmp r15, [r14]
    001f69c3jbe 0x1f6a71
    001f69c9
    001f69c9loc_1f69c9:
    001f69c9mov rdi, [rbx+32]
    001f69cdmov rsi, [rbx+24]
    001f69d1mov rax, [rbx+16]
    001f69d5mov rbx, rsi
    001f69d8call Stdlib.Filename.temp_file_name
    001f69ddmov [rsp], rax
    001f69e1lea r11, [rip+64]
    001f69e8push r11
    001f69eapush [r14+48]
    001f69eemov [r14+48], rsp
    001f69f2mov edx, 769
    001f69f7lea rsi, [rip+0x17f67a]
    001f69femov rdi, rax
    001f6a01lea rax, [rip+0x2ba78]
    001f6a08call caml_c_call
    001f6a0dmov rdi, rax
    001f6a10lea rax, [rip+0x2bb99]
    001f6a17call caml_c_call
    001f6a1cpop [r14+48]
    001f6a20add rsp, 8
    001f6a24jmp 0x1f6a68
    001f6a26
    001f6a26 66 90 f.
    001f6a28lea rbx, [rip+0x136be9]
    001f6a2fmov rbx, [rbx+80]
    001f6a33mov rdi, [rax]
    001f6a36cmp rdi, rbx
    001f6a39jne 0x1f6a60
    001f6a3bmov rbx, [rsp+8]
    001f6a40cmp rbx, 41
    001f6a44jl 0x1f6a4c
    001f6a46call caml_reraise_exn
    001f6a4bnop
    001f6a4c
    001f6a4cloc_1f6a4c:
    001f6a4cmov rax, rbx
    001f6a4fadd rax, 2
    001f6a53mov rbx, [rsp+16]
    001f6a58jmp 0x1f69b6
    001f6a5d
    001f6a5d 0f 1f 00 ...
    001f6a60
    001f6a60loc_1f6a60:
    001f6a60call caml_reraise_exn
    001f6a65nop [rax]
    001f6a68
    001f6a68loc_1f6a68:
    001f6a68mov rax, [rsp]
    001f6a6cadd rsp, 24
    001f6a70ret
    001f6a71
    001f6a71loc_1f6a71:
    001f6a71call caml_call_gc
    001f6a76jmp 0x1f69c9
    001f6a7b
    001f6a7bloc_1f6a7b:
    001f6a7bpush 38
    001f6a7dcall caml_call_realloc_stack
    001f6a82pop r10
    001f6a84jmp 0x1f69b2
    001f69a0
    001f6a89
    001f6a89 // align 0x10
    001f6a90
    001f6a90Stdlib.Filename.open_temp_file_inner:
    001f6a90sub r15, 64
    001f6a94cmp r15, [r14]
    001f6a97jb 0x1f6ade
    001f6a99
    001f6a99loc_1f6a99:
    001f6a99lea rcx, [r15+8]
    001f6a9dmov [rcx-8], 7415
    001f6aa5lea r8, [rip+260]
    001f6aacmov [rcx], r8
    001f6aafmov r8, 0x100000000000005
    001f6ab9mov [rcx+8], r8
    001f6abdmov [rcx+16], rax
    001f6ac1mov [rcx+24], rbx
    001f6ac5mov [rcx+32], rdi
    001f6ac9mov [rcx+40], rsi
    001f6acdmov [rcx+48], rdx
    001f6ad1mov eax, 1
    001f6ad6mov rbx, rcx
    001f6ad9jmp 0x1f6bb0
    001f6ade
    001f6adeloc_1f6ade:
    001f6adecall caml_call_gc
    001f6ae3jmp 0x1f6a99
    001f6a90
    001f6ae5
    001f6ae5 // align 0x10
    001f6af0
    001f6af0Stdlib.Filename.open_temp_file:
    001f6af0lea r10, [rsp-352]
    001f6af8cmp r10, [r14+40]
    001f6afcjb 0x1f6b93
    001f6b02
    001f6b02loc_1f6b02:
    001f6b02sub rsp, 32
    001f6b06mov [rsp+16], rsi
    001f6b0bmov [rsp+24], rdx
    001f6b10test al, 1
    001f6b12je 0x1f6b24
    001f6b14lea rax, [rip+0x17f545]
    001f6b1bmov [rsp], rax
    001f6b1fjmp 0x1f6b2b
    001f6b21
    001f6b21 0f 1f 00 ...
    001f6b24
    001f6b24loc_1f6b24:
    001f6b24mov rax, [rax]
    001f6b27mov [rsp], rax
    001f6b2b
    001f6b2bloc_1f6b2b:
    001f6b2btest bl, 1
    001f6b2eje 0x1f6b3c
    001f6b30mov eax, 769
    001f6b35mov [rsp+8], rax
    001f6b3ajmp 0x1f6b44
    001f6b3c
    001f6b3cloc_1f6b3c:
    001f6b3cmov rax, [rbx]
    001f6b3fmov [rsp+8], rax
    001f6b44
    001f6b44loc_1f6b44:
    001f6b44test dil, 1
    001f6b48je 0x1f6b74
    001f6b4alea rax, [rip+0x1557f7]
    001f6b51mov rax, [rax+80]
    001f6b55mov rbx, [rax+8]
    001f6b59lea rax, [rip+0x17f210]
    001f6b60mov rax, [rax+272]
    001f6b67mov rdi, [rbx]
    001f6b6acall rdi
    001f6b6cmov rdi, rax
    001f6b6fjmp 0x1f6b77
    001f6b71
    001f6b71 0f 1f 00 ...
    001f6b74
    001f6b74loc_1f6b74:
    001f6b74mov rdi, [rdi]
    001f6b77
    001f6b77loc_1f6b77:
    001f6b77mov rax, [rsp]
    001f6b7bmov rbx, [rsp+8]
    001f6b80mov rsi, [rsp+16]
    001f6b85mov rdx, [rsp+24]
    001f6b8aadd rsp, 32
    001f6b8ejmp 0x1f6a90
    001f6b93
    001f6b93loc_1f6b93:
    001f6b93push 37
    001f6b95call caml_call_realloc_stack
    001f6b9apop r10
    001f6b9cjmp 0x1f6b02
    001f6af0
    001f6ba1
    001f6ba1 // align 0x10
    001f6bb0
    001f6bb0Stdlib.Filename.try_name:
    001f6bb0lea r10, [rsp-360]
    001f6bb8cmp r10, [r14+40]
    001f6bbcjb 0x1f6ce9
    001f6bc2
    001f6bc2loc_1f6bc2:
    001f6bc2sub rsp, 24
    001f6bc6
    001f6bc6loc_1f6bc6:
    001f6bc6mov [rsp], rax
    001f6bcamov [rsp+8], rbx
    001f6bcfmov rdi, [rbx+48]
    001f6bd3mov rsi, [rbx+40]
    001f6bd7mov rax, [rbx+32]
    001f6bdbmov rbx, rsi
    001f6bdecall Stdlib.Filename.temp_file_name
    001f6be3mov rdi, rax
    001f6be6mov [rsp+16], rdi
    001f6beblea r11, [rip+158]
    001f6bf2push r11
    001f6bf4push [r14+48]
    001f6bf8mov [r14+48], rsp
    001f6bfcsub r15, 72
    001f6c00cmp r15, [r14]
    001f6c03jb 0x1f6cdf
    001f6c09
    001f6c09loc_1f6c09:
    001f6c09lea rax, [r15+8]
    001f6c0dadd rax, 48
    001f6c11mov [rax-8], 2048
    001f6c19mov [rax], 11
    001f6c20mov rsi, [rsp+24]
    001f6c25mov rbx, [rsi+16]
    001f6c29mov [rax+8], rbx
    001f6c2dlea rbx, [rax-24]
    001f6c31mov [rbx-8], 2048
    001f6c39mov [rbx], 7
    001f6c40mov [rbx+8], rax
    001f6c44lea rax, [rbx-24]
    001f6c48mov [rax-8], 2048
    001f6c50mov [rax], 3
    001f6c57mov [rax+8], rbx
    001f6c5bmov rbx, [rsi+24]
    001f6c5fcall camlStdlib.open_out_gen_225
    001f6c64sub r15, 24
    001f6c68cmp r15, [r14]
    001f6c6bjb 0x1f6cd8
    001f6c6d
    001f6c6dloc_1f6c6d:
    001f6c6dlea rbx, [r15+8]
    001f6c71mov [rbx-8], 2048
    001f6c79mov rdi, [rsp+32]
    001f6c7emov [rbx], rdi
    001f6c81mov [rbx+8], rax
    001f6c85pop [r14+48]
    001f6c89add rsp, 8
    001f6c8djmp 0x1f6cd0
    001f6c8f
    001f6c8f 90 .
    001f6c90lea rbx, [rip+0x136981]
    001f6c97mov rbx, [rbx+80]
    001f6c9bmov rdi, [rax]
    001f6c9ecmp rdi, rbx
    001f6ca1jne 0x1f6cc8
    001f6ca3mov rbx, [rsp]
    001f6ca7cmp rbx, 41
    001f6cabjl 0x1f6cb4
    001f6cadcall caml_reraise_exn
    001f6cb2nop
    001f6cb4
    001f6cb4loc_1f6cb4:
    001f6cb4mov rax, rbx
    001f6cb7add rax, 2
    001f6cbbmov rbx, [rsp+8]
    001f6cc0jmp 0x1f6bc6
    001f6cc5
    001f6cc5 0f 1f 00 ...
    001f6cc8
    001f6cc8loc_1f6cc8:
    001f6cc8call caml_reraise_exn
    001f6ccdnop [rax]
    001f6cd0
    001f6cd0loc_1f6cd0:
    001f6cd0mov rax, rbx
    001f6cd3add rsp, 24
    001f6cd7ret
    001f6cd8
    001f6cd8loc_1f6cd8:
    001f6cd8call caml_call_gc
    001f6cddjmp 0x1f6c6d
    001f6cdf
    001f6cdfloc_1f6cdf:
    001f6cdfcall caml_call_gc
    001f6ce4jmp 0x1f6c09
    001f6ce9
    001f6ce9loc_1f6ce9:
    001f6ce9push 38
    001f6cebcall caml_call_realloc_stack
    001f6cf0pop r10
    001f6cf2jmp 0x1f6bc2
    001f6bb0
    001f6cf7
    001f6cf7 // align 0x10
    001f6d00
    001f6d00Stdlib.Filename.temp_dir_inner:
    001f6d00sub r15, 56
    001f6d04cmp r15, [r14]
    001f6d07jb 0x1f6d4a
    001f6d09
    001f6d09loc_1f6d09:
    001f6d09lea rdx, [r15+8]
    001f6d0dmov [rdx-8], 6391
    001f6d15lea rcx, [rip+196]
    001f6d1cmov [rdx], rcx
    001f6d1fmov rcx, 0x100000000000005
    001f6d29mov [rdx+8], rcx
    001f6d2dmov [rdx+16], rax
    001f6d31mov [rdx+24], rbx
    001f6d35mov [rdx+32], rdi
    001f6d39mov [rdx+40], rsi
    001f6d3dmov eax, 1
    001f6d42mov rbx, rdx
    001f6d45jmp 0x1f6de0
    001f6d4a
    001f6d4aloc_1f6d4a:
    001f6d4acall caml_call_gc
    001f6d4fjmp 0x1f6d09
    001f6d00
    001f6d51
    001f6d51 // align 0x10
    001f6d60
    001f6d60Stdlib.Filename.temp_dir:
    001f6d60lea r10, [rsp-344]
    001f6d68cmp r10, [r14+40]
    001f6d6cjb 0x1f6dd2
    001f6d6e
    001f6d6eloc_1f6d6e:
    001f6d6esub rsp, 24
    001f6d72mov [rsp], rbx
    001f6d76mov [rsp+8], rdi
    001f6d7bmov [rsp+16], rsi
    001f6d80test al, 1
    001f6d82je 0x1f6da8
    001f6d84lea rax, [rip+0x1555bd]
    001f6d8bmov rax, [rax+80]
    001f6d8fmov rbx, [rax+8]
    001f6d93lea rax, [rip+0x17efd6]
    001f6d9amov rax, [rax+272]
    001f6da1mov rdi, [rbx]
    001f6da4call rdi
    001f6da6jmp 0x1f6dab
    001f6da8
    001f6da8loc_1f6da8:
    001f6da8mov rax, [rax]
    001f6dab
    001f6dabloc_1f6dab:
    001f6dabmov rbx, [rsp]
    001f6daftest bl, 1
    001f6db2je 0x1f6dbc
    001f6db4mov ebx, 897
    001f6db9jmp 0x1f6dbf
    001f6dbb
    001f6dbb 90 .
    001f6dbc
    001f6dbcloc_1f6dbc:
    001f6dbcmov rbx, [rbx]
    001f6dbf
    001f6dbfloc_1f6dbf:
    001f6dbfmov rdi, [rsp+8]
    001f6dc4mov rsi, [rsp+16]
    001f6dc9add rsp, 24
    001f6dcdjmp 0x1f6d00
    001f6dd2
    001f6dd2loc_1f6dd2:
    001f6dd2push 36
    001f6dd4call caml_call_realloc_stack
    001f6dd9pop r10
    001f6ddbjmp 0x1f6d6e
    001f6d60
    001f6ddd
    001f6ddd // align 0x10
    001f6de0
    001f6de0Stdlib.Filename.try_name:
    001f6de0lea r10, [rsp-360]
    001f6de8cmp r10, [r14+40]
    001f6decjb 0x1f6ea7
    001f6df2
    001f6df2loc_1f6df2:
    001f6df2sub rsp, 24
    001f6df6
    001f6df6loc_1f6df6:
    001f6df6mov [rsp+8], rax
    001f6dfbmov [rsp+16], rbx
    001f6e00cmp r15, [r14]
    001f6e03jbe 0x1f6e9d
    001f6e09
    001f6e09loc_1f6e09:
    001f6e09mov rdi, [rbx+40]
    001f6e0dmov rsi, [rbx+32]
    001f6e11mov rax, [rbx+16]
    001f6e15mov rbx, rsi
    001f6e18call Stdlib.Filename.temp_file_name
    001f6e1dmov [rsp], rax
    001f6e21lea r11, [rip+44]
    001f6e28push r11
    001f6e2apush [r14+48]
    001f6e2emov [r14+48], rsp
    001f6e32mov rbx, [rsp+32]
    001f6e37mov rsi, [rbx+24]
    001f6e3bmov rdi, rax
    001f6e3elea rax, [rip+0x2bb6b]
    001f6e45call caml_c_call
    001f6e4apop [r14+48]
    001f6e4eadd rsp, 8
    001f6e52jmp 0x1f6e94
    001f6e54lea rbx, [rip+0x1367bd]
    001f6e5bmov rbx, [rbx+80]
    001f6e5fmov rdi, [rax]
    001f6e62cmp rdi, rbx
    001f6e65jne 0x1f6e8c
    001f6e67mov rbx, [rsp+8]
    001f6e6ccmp rbx, 41
    001f6e70jl 0x1f6e78
    001f6e72call caml_reraise_exn
    001f6e77nop
    001f6e78
    001f6e78loc_1f6e78:
    001f6e78mov rax, rbx
    001f6e7badd rax, 2
    001f6e7fmov rbx, [rsp+16]
    001f6e84jmp 0x1f6df6
    001f6e89
    001f6e89 0f 1f 00 ...
    001f6e8c
    001f6e8cloc_1f6e8c:
    001f6e8ccall caml_reraise_exn
    001f6e91nop [rax]
    001f6e94
    001f6e94loc_1f6e94:
    001f6e94mov rax, [rsp]
    001f6e98add rsp, 24
    001f6e9cret
    001f6e9d
    001f6e9dloc_1f6e9d:
    001f6e9dcall caml_call_gc
    001f6ea2jmp 0x1f6e09
    001f6ea7
    001f6ea7loc_1f6ea7:
    001f6ea7push 38
    001f6ea9call caml_call_realloc_stack
    001f6eaepop r10
    001f6eb0jmp 0x1f6df2
    001f6de0
    001f6eb5
    001f6eb5 // align 0x10
    001f6ec0
    001f6ec0Stdlib.Filename.entry:
    001f6ec0lea r10, [rsp-376]
    001f6ec8cmp r10, [r14+40]
    001f6eccjb 0x1f7a9d
    001f6ed2
    001f6ed2loc_1f6ed2:
    001f6ed2sub rsp, 40
    001f6ed6lea rsi, [rip+0x17ea6b]
    001f6eddlea rdi, [rip+0x17ee8c]
    001f6ee4add rdi, 176
    001f6eebmov rbx, rsp
    001f6eeemov rsp, [r14+64]
    001f6ef2call caml_initialize
    001f6ef7mov rsp, rbx
    001f6efalea rsi, [rip+0x17ea67]
    001f6f01lea rdi, [rip+0x17ee68]
    001f6f08add rdi, 184
    001f6f0fmov rbx, rsp
    001f6f12mov rsp, [r14+64]
    001f6f16call caml_initialize
    001f6f1bmov rsp, rbx
    001f6f1elea rsi, [rip+0x17ea63]
    001f6f25lea rdi, [rip+0x17ee44]
    001f6f2cadd rdi, 192
    001f6f33mov rbx, rsp
    001f6f36mov rsp, [r14+64]
    001f6f3acall caml_initialize
    001f6f3fmov rsp, rbx
    001f6f42lea rax, [rip+0x17ee07]
    001f6f49mov [rsp], rax
    001f6f4dlea rax, [rip+0x17ede4]
    001f6f54mov [rsp+8], rax
    001f6f59lea rax, [rip+0x17edc0]
    001f6f60mov [rsp+16], rax
    001f6f65lea rax, [rip+0x17ed94]
    001f6f6cmov [rsp+24], rax
    001f6f71lea rax, [rip+0x17ed68]
    001f6f78mov [rsp+32], rax
    001f6f7dlea r11, [rip+39]
    001f6f84push r11
    001f6f86push [r14+48]
    001f6f8amov [r14+48], rsp
    001f6f8elea rdi, [rip+0x17f08b]
    001f6f95lea rax, [rip+0x2bca4]
    001f6f9ccall caml_c_call
    001f6fa1pop [r14+48]
    001f6fa5add rsp, 8
    001f6fa9jmp 0x1f6fc9
    001f6fablea rbx, [rip+0x136666]
    001f6fb2mov rbx, [rbx+56]
    001f6fb6cmp rax, rbx
    001f6fb9jne 0x1f6fc4
    001f6fbblea rax, [rip+0x17f04e]
    001f6fc2jmp 0x1f6fc9
    001f6fc4
    001f6fc4loc_1f6fc4:
    001f6fc4call caml_reraise_exn
    001f6fc9
    001f6fc9loc_1f6fc9:
    001f6fc9lea rbx, [rip+0x17f300]
    001f6fd0lea rdi, [rip+0x17ed99]
    001f6fd7mov rsi, [rdi+176]
    001f6fdesub r15, 296
    001f6fe5call caml_allocN
    001f6fealea rcx, [r15+8]
    001f6feeadd rcx, 256
    001f6ff5mov [rcx-8], 4343
    001f6ffdlea rdx, [rip-8196]
    001f7004mov [rcx], rdx
    001f7007mov rdx, 0x100000000000005
    001f7011mov [rcx+8], rdx
    001f7015mov [rcx+16], rbx
    001f7019mov [rcx+24], rsi
    001f701dlea r8, [rcx-40]
    001f7021mov [r8-8], 4343
    001f7029lea rbx, [rip-0x1004a0]
    001f7030mov [r8], rbx
    001f7033mov rbx, 0x500000000000007
    001f703dmov [r8+8], rbx
    001f7041lea rbx, [rip-8248]
    001f7048mov [r8+16], rbx
    001f704cmov [r8+24], rcx
    001f7050lea r9, [rip+0x17f139]
    001f7057mov r12, [rsp]
    001f705bmov rbx, [rdi+184]
    001f7062lea rdx, [r8-48]
    001f7066mov [rdx-8], 5367
    001f706elea rsi, [rip-7893]
    001f7075mov [rdx], rsi
    001f7078mov rsi, 0x100000000000005
    001f7082mov [rdx+8], rsi
    001f7086mov [rdx+16], r12
    001f708amov [rdx+24], r9
    001f708emov [rdx+32], rbx
    001f7092mov rsi, [rdi+192]
    001f7099lea rbx, [rdx-48]
    001f709dmov [rbx-8], 5367
    001f70a5lea r13, [rip-7916]
    001f70acmov [rbx], r13
    001f70afmov r13, 0x100000000000005
    001f70b9mov [rbx+8], r13
    001f70bdmov [rbx+16], r12
    001f70c1mov [rbx+24], r9
    001f70c5mov [rbx+32], rsi
    001f70c9lea rsi, [rbx-120]
    001f70cdmov [rsi-8], 14336
    001f70d5lea r13, [rip+0x17f19c]
    001f70dcmov [rsi], r13
    001f70dfmov [rsi+8], r9
    001f70e3lea r9, [rip+0x17efd6]
    001f70eamov [rsi+16], r9
    001f70eelea r9, [rip+0x17ef5b]
    001f70f5mov [rsi+24], r9
    001f70f9mov [rsi+32], r12
    001f70fdmov r9, [rsp+8]
    001f7102mov [rsi+40], r9
    001f7106mov r9, [rsp+16]
    001f710bmov [rsi+48], r9
    001f710fmov r9, [rsp+24]
    001f7114mov [rsi+56], r9
    001f7118mov r9, [rsp+32]
    001f711dmov [rsi+64], r9
    001f7121mov [rsi+72], rax
    001f7125mov [rsi+80], rcx
    001f7129mov [rsi+88], r8
    001f712dmov [rsi+96], rdx
    001f7131mov [rsi+104], rbx
    001f7135add rdi, 200
    001f713cmov rbx, rsp
    001f713fmov rsp, [r14+64]
    001f7143call caml_initialize
    001f7148mov rsp, rbx
    001f714blea rsi, [rip+0x17f106]
    001f7152lea rdi, [rip+0x17ec17]
    001f7159add rdi, 392
    001f7160mov rbx, rsp
    001f7163mov rsp, [r14+64]
    001f7167call caml_initialize
    001f716cmov rsp, rbx
    001f716flea rsi, [rip+0x17f01a]
    001f7176lea rdi, [rip+0x17ebf3]
    001f717dadd rdi, 400
    001f7184mov rbx, rsp
    001f7187mov rsp, [r14+64]
    001f718bcall caml_initialize
    001f7190mov rsp, rbx
    001f7193lea rsi, [rip+0x17ef26]
    001f719alea rdi, [rip+0x17ebcf]
    001f71a1add rdi, 408
    001f71a8mov rbx, rsp
    001f71abmov rsp, [r14+64]
    001f71afcall caml_initialize
    001f71b4mov rsp, rbx
    001f71b7lea rsi, [rip+0x17f08a]
    001f71belea rdi, [rip+0x17ebab]
    001f71c5add rdi, 416
    001f71ccmov rbx, rsp
    001f71cfmov rsp, [r14+64]
    001f71d3call caml_initialize
    001f71d8mov rsp, rbx
    001f71dblea rsi, [rip+0x17e7c6]
    001f71e2lea rdi, [rip+0x17eb87]
    001f71e9add rdi, 424
    001f71f0mov rbx, rsp
    001f71f3mov rsp, [r14+64]
    001f71f7call caml_initialize
    001f71fcmov rsp, rbx
    001f71fflea rsi, [rip+0x17e7c2]
    001f7206lea rdi, [rip+0x17eb63]
    001f720dadd rdi, 432
    001f7214mov rbx, rsp
    001f7217mov rsp, [r14+64]
    001f721bcall caml_initialize
    001f7220mov rsp, rbx
    001f7223lea rsi, [rip+0x17e7b6]
    001f722alea rdi, [rip+0x17eb3f]
    001f7231add rdi, 440
    001f7238mov rbx, rsp
    001f723bmov rsp, [r14+64]
    001f723fcall caml_initialize
    001f7244mov rsp, rbx
    001f7247lea rsi, [rip+0x17e7aa]
    001f724elea rdi, [rip+0x17eb1b]
    001f7255add rdi, 448
    001f725cmov rbx, rsp
    001f725fmov rsp, [r14+64]
    001f7263call caml_initialize
    001f7268mov rsp, rbx
    001f726blea rsi, [rip+0x17e7a6]
    001f7272lea rdi, [rip+0x17eaf7]
    001f7279add rdi, 456
    001f7280mov rbx, rsp
    001f7283mov rsp, [r14+64]
    001f7287call caml_initialize
    001f728cmov rsp, rbx
    001f728flea r11, [rip+39]
    001f7296push r11
    001f7298push [r14+48]
    001f729cmov [r14+48], rsp
    001f72a0lea rdi, [rip+0x17ef71]
    001f72a7lea rax, [rip+0x2b992]
    001f72aecall caml_c_call
    001f72b3pop [r14+48]
    001f72b7add rsp, 8
    001f72bbjmp 0x1f72db
    001f72bdlea rbx, [rip+0x136354]
    001f72c4mov rbx, [rbx+56]
    001f72c8cmp rax, rbx
    001f72cbjne 0x1f72d6
    001f72cdlea rax, [rip+0x17eebc]
    001f72d4jmp 0x1f72db
    001f72d6
    001f72d6loc_1f72d6:
    001f72d6call caml_reraise_exn
    001f72db
    001f72dbloc_1f72db:
    001f72dblea rdi, [rip+0x17ea8e]
    001f72e2add rdi, 464
    001f72e9mov rsi, rax
    001f72ecmov rbx, rsp
    001f72efmov rsp, [r14+64]
    001f72f3call caml_initialize
    001f72f8mov rsp, rbx
    001f72fblea rsi, [rip+0x17e736]
    001f7302lea rdi, [rip+0x17ea67]
    001f7309add rdi, 472
    001f7310mov rbx, rsp
    001f7313mov rsp, [r14+64]
    001f7317call caml_initialize
    001f731cmov rsp, rbx
    001f731flea rsi, [rip+0x17e72a]
    001f7326lea rdi, [rip+0x17ea43]
    001f732dadd rdi, 480
    001f7334mov rbx, rsp
    001f7337mov rsp, [r14+64]
    001f733bcall caml_initialize
    001f7340mov rsp, rbx
    001f7343lea rsi, [rip+0x17e71e]
    001f734alea rdi, [rip+0x17ea1f]
    001f7351add rdi, 488
    001f7358mov rbx, rsp
    001f735bmov rsp, [r14+64]
    001f735fcall caml_initialize
    001f7364mov rsp, rbx
    001f7367lea rsi, [rip+0x17e712]
    001f736elea rdi, [rip+0x17e9fb]
    001f7375add rdi, 496
    001f737cmov rbx, rsp
    001f737fmov rsp, [r14+64]
    001f7383call caml_initialize
    001f7388mov rsp, rbx
    001f738blea rsi, [rip+0x17e70e]
    001f7392lea rdi, [rip+0x17e9d7]
    001f7399add rdi, 504
    001f73a0mov rbx, rsp
    001f73a3mov rsp, [r14+64]
    001f73a7call caml_initialize
    001f73acmov rsp, rbx
    001f73aflea rsi, [rip+0x17e702]
    001f73b6lea rdi, [rip+0x17e9b3]
    001f73bdadd rdi, 512
    001f73c4mov rbx, rsp
    001f73c7mov rsp, [r14+64]
    001f73cbcall caml_initialize
    001f73d0mov rsp, rbx
    001f73d3lea rsi, [rip+0x17e6f6]
    001f73dalea rdi, [rip+0x17e98f]
    001f73e1add rdi, 520
    001f73e8mov rbx, rsp
    001f73ebmov rsp, [r14+64]
    001f73efcall caml_initialize
    001f73f4mov rsp, rbx
    001f73f7lea rsi, [rip+0x17e6ea]
    001f73felea rdi, [rip+0x17e96b]
    001f7405add rdi, 528
    001f740cmov rbx, rsp
    001f740fmov rsp, [r14+64]
    001f7413call caml_initialize
    001f7418mov rsp, rbx
    001f741bsub r15, 120
    001f741fcall caml_allocN
    001f7424lea rsi, [r15+8]
    001f7428mov [rsi-8], 14336
    001f7430lea rax, [rip+0x17ee21]
    001f7437mov [rsi], rax
    001f743alea rax, [rip+0x17ed4f]
    001f7441mov [rsi+8], rax
    001f7445lea rax, [rip+0x17ec74]
    001f744cmov [rsi+16], rax
    001f7450lea rax, [rip+0x17edf1]
    001f7457mov [rsi+24], rax
    001f745blea rdi, [rip+0x17e90e]
    001f7462mov rax, [rdi+424]
    001f7469mov [rsi+32], rax
    001f746dmov rax, [rdi+432]
    001f7474mov [rsi+40], rax
    001f7478mov rax, [rdi+440]
    001f747fmov [rsi+48], rax
    001f7483mov rax, [rdi+448]
    001f748amov [rsi+56], rax
    001f748emov rax, [rdi+456]
    001f7495mov [rsi+64], rax
    001f7499mov rax, [rdi+464]
    001f74a0mov [rsi+72], rax
    001f74a4mov rax, [rdi+472]
    001f74abmov [rsi+80], rax
    001f74afmov rax, [rdi+496]
    001f74b6mov [rsi+88], rax
    001f74bamov rax, [rdi+528]
    001f74c1mov [rsi+96], rax
    001f74c5mov rax, [rdi+520]
    001f74ccmov [rsi+104], rax
    001f74d0add rdi, 208
    001f74d7mov rbx, rsp
    001f74damov rsp, [r14+64]
    001f74decall caml_initialize
    001f74e3mov rsp, rbx
    001f74e6lea rdi, [rip+0x17e883]
    001f74edmov rax, [rdi+208]
    001f74f4mov rcx, [rax+32]
    001f74f8mov rbx, [rax+40]
    001f74fcmov [rsp], rbx
    001f7500mov rbx, [rax+48]
    001f7504mov [rsp+8], rbx
    001f7509mov rbx, [rax+56]
    001f750dmov [rsp+16], rbx
    001f7512mov r13, [rax+64]
    001f7516mov rax, [rdi+200]
    001f751dmov r12, [rax+72]
    001f7521mov r9, [rax+80]
    001f7525mov r8, [rax+88]
    001f7529lea rdx, [rip+0x17ec60]
    001f7530mov rax, [rdi+184]
    001f7537sub r15, 216
    001f753ecall caml_allocN
    001f7543lea rbx, [r15+8]
    001f7547add rbx, 168
    001f754emov [rbx-8], 5367
    001f7556lea rsi, [rip-4909]
    001f755dmov [rbx], rsi
    001f7560mov rsi, 0x100000000000005
    001f756amov [rbx+8], rsi
    001f756emov [rbx+16], rcx
    001f7572mov [rbx+24], rdx
    001f7576mov [rbx+32], rax
    001f757amov rsi, [rdi+192]
    001f7581lea rax, [rbx-48]
    001f7585mov [rax-8], 5367
    001f758dlea r10, [rip-4932]
    001f7594mov [rax], r10
    001f7597mov r10, 0x100000000000005
    001f75a1mov [rax+8], r10
    001f75a5mov [rax+16], rcx
    001f75a9mov [rax+24], rdx
    001f75admov [rax+32], rsi
    001f75b1lea rsi, [rax-120]
    001f75b5mov [rsi-8], 14336
    001f75bdlea r10, [rip+0x17ecb4]
    001f75c4mov [rsi], r10
    001f75c7mov [rsi+8], rdx
    001f75cblea rdx, [rip+0x17eaee]
    001f75d2mov [rsi+16], rdx
    001f75d6lea rdx, [rip+0x17ea73]
    001f75ddmov [rsi+24], rdx
    001f75e1mov [rsi+32], rcx
    001f75e5mov rdx, [rsp]
    001f75e9mov [rsi+40], rdx
    001f75edmov rdx, [rsp+8]
    001f75f2mov [rsi+48], rdx
    001f75f6mov rdx, [rsp+16]
    001f75fbmov [rsi+56], rdx
    001f75ffmov [rsi+64], r13
    001f7603mov [rsi+72], r12
    001f7607mov [rsi+80], r9
    001f760bmov [rsi+88], r8
    001f760fmov [rsi+96], rbx
    001f7613mov [rsi+104], rax
    001f7617add rdi, 216
    001f761emov rbx, rsp
    001f7621mov rsp, [r14+64]
    001f7625call caml_initialize
    001f762amov rsp, rbx
    001f762dlea rax, [rip+0x137da4]
    001f7634mov rax, [rax+24]
    001f7638mov rbx, [rax-8]
    001f763cshr rbx, 10
    001f7640cmp rbx, 2
    001f7644jge 0x1f7687
    001f7646mov rax, [rax]
    001f7649mov rbx, 0x1006e6977677943
    001f7653cmp rax, rbx
    001f7656jne 0x1f7668
    001f7658lea rax, [rip+0x17e711]
    001f765fmov rsi, [rax+216]
    001f7666jmp 0x1f7695
    001f7668
    001f7668loc_1f7668:
    001f7668mov rbx, 0x2000032336e6957
    001f7672cmp rax, rbx
    001f7675jne 0x1f7687
    001f7677lea rax, [rip+0x17e6f2]
    001f767emov rsi, [rax+208]
    001f7685jmp 0x1f7695
    001f7687
    001f7687loc_1f7687:
    001f7687lea rax, [rip+0x17e6e2]
    001f768emov rsi, [rax+200]
    001f7695
    001f7695loc_1f7695:
    001f7695lea rdi, [rip+0x17e6d4]
    001f769cadd rdi, 224
    001f76a3mov rbx, rsp
    001f76a6mov rsp, [r14+64]
    001f76aacall caml_initialize
    001f76afmov rsp, rbx
    001f76b2lea rdi, [rip+0x17e6b7]
    001f76b9mov r12, [rdi+224]
    001f76c0mov rsi, [r12]
    001f76c4add rdi, 112
    001f76c8mov rbx, rsp
    001f76cbmov rsp, [r14+64]
    001f76cfcall caml_initialize
    001f76d4mov rsp, rbx
    001f76d7mov rsi, [r12+8]
    001f76dclea rdi, [rip+0x17e68d]
    001f76e3mov rbx, rsp
    001f76e6mov rsp, [r14+64]
    001f76eacall caml_initialize
    001f76efmov rsp, rbx
    001f76f2mov rsi, [r12+16]
    001f76f7lea rdi, [rip+0x17e672]
    001f76feadd rdi, 8
    001f7702mov rbx, rsp
    001f7705mov rsp, [r14+64]
    001f7709call caml_initialize
    001f770emov rsp, rbx
    001f7711mov rsi, [r12+24]
    001f7716lea rdi, [rip+0x17e653]
    001f771dadd rdi, 16
    001f7721mov rbx, rsp
    001f7724mov rsp, [r14+64]
    001f7728call caml_initialize
    001f772dmov rsp, rbx
    001f7730mov rsi, [r12+32]
    001f7735lea rdi, [rip+0x17e634]
    001f773cadd rdi, 232
    001f7743mov rbx, rsp
    001f7746mov rsp, [r14+64]
    001f774acall caml_initialize
    001f774fmov rsp, rbx
    001f7752mov rsi, [r12+40]
    001f7757lea rdi, [rip+0x17e612]
    001f775eadd rdi, 32
    001f7762mov rbx, rsp
    001f7765mov rsp, [r14+64]
    001f7769call caml_initialize
    001f776emov rsp, rbx
    001f7771mov rsi, [r12+48]
    001f7776lea rdi, [rip+0x17e5f3]
    001f777dadd rdi, 40
    001f7781mov rbx, rsp
    001f7784mov rsp, [r14+64]
    001f7788call caml_initialize
    001f778dmov rsp, rbx
    001f7790mov rsi, [r12+56]
    001f7795lea rdi, [rip+0x17e5d4]
    001f779cadd rdi, 48
    001f77a0mov rbx, rsp
    001f77a3mov rsp, [r14+64]
    001f77a7call caml_initialize
    001f77acmov rsp, rbx
    001f77afmov rsi, [r12+64]
    001f77b4lea rdi, [rip+0x17e5b5]
    001f77bbadd rdi, 64
    001f77bfmov rbx, rsp
    001f77c2mov rsp, [r14+64]
    001f77c6call caml_initialize
    001f77cbmov rsp, rbx
    001f77cemov rsi, [r12+72]
    001f77d3lea rdi, [rip+0x17e596]
    001f77daadd rdi, 240
    001f77e1mov rbx, rsp
    001f77e4mov rsp, [r14+64]
    001f77e8call caml_initialize
    001f77edmov rsp, rbx
    001f77f0mov rsi, [r12+80]
    001f77f5lea rdi, [rip+0x17e574]
    001f77fcadd rdi, 160
    001f7803mov rbx, rsp
    001f7806mov rsp, [r14+64]
    001f780acall caml_initialize
    001f780fmov rsp, rbx
    001f7812mov rsi, [r12+88]
    001f7817lea rdi, [rip+0x17e552]
    001f781eadd rdi, 168
    001f7825mov rbx, rsp
    001f7828mov rsp, [r14+64]
    001f782ccall caml_initialize
    001f7831mov rsp, rbx
    001f7834mov rsi, [r12+96]
    001f7839lea rdi, [rip+0x17e530]
    001f7840add rdi, 96
    001f7844mov rbx, rsp
    001f7847mov rsp, [r14+64]
    001f784bcall caml_initialize
    001f7850mov rsp, rbx
    001f7853mov rsi, [r12+104]
    001f7858lea rdi, [rip+0x17e511]
    001f785fadd rdi, 104
    001f7863mov rbx, rsp
    001f7866mov rsp, [r14+64]
    001f786acall caml_initialize
    001f786fmov rsp, rbx
    001f7872lea rsi, [rip+0x17e287]
    001f7879lea rdi, [rip+0x17e4f0]
    001f7880add rdi, 24
    001f7884mov rbx, rsp
    001f7887mov rsp, [r14+64]
    001f788bcall caml_initialize
    001f7890mov rsp, rbx
    001f7893lea rsi, [rip+0x17e286]
    001f789alea rdi, [rip+0x17e4cf]
    001f78a1add rdi, 56
    001f78a5mov rbx, rsp
    001f78a8mov rsp, [r14+64]
    001f78accall caml_initialize
    001f78b1mov rsp, rbx
    001f78b4lea rsi, [rip+0x17e285]
    001f78bblea rdi, [rip+0x17e4ae]
    001f78c2add rdi, 248
    001f78c9mov rbx, rsp
    001f78ccmov rsp, [r14+64]
    001f78d0call caml_initialize
    001f78d5mov rsp, rbx
    001f78d8lea rsi, [rip+0x17e279]
    001f78dflea rdi, [rip+0x17e48a]
    001f78e6add rdi, 72
    001f78eamov rbx, rsp
    001f78edmov rsp, [r14+64]
    001f78f1call caml_initialize
    001f78f6mov rsp, rbx
    001f78f9lea rsi, [rip+0x17e270]
    001f7900lea rdi, [rip+0x17e469]
    001f7907add rdi, 88
    001f790bmov rbx, rsp
    001f790emov rsp, [r14+64]
    001f7912call caml_initialize
    001f7917mov rsp, rbx
    001f791alea rsi, [rip+0x17e267]
    001f7921lea rdi, [rip+0x17e448]
    001f7928add rdi, 80
    001f792cmov rbx, rsp
    001f792fmov rsp, [r14+64]
    001f7933call caml_initialize
    001f7938mov rsp, rbx
    001f793blea rax, [rip+0x1705be]
    001f7942mov rax, [rax+144]
    001f7949mov rbx, [rax+8]
    001f794dmov eax, 1
    001f7952call Stdlib.Domain.new_key
    001f7957lea rdi, [rip+0x17e412]
    001f795eadd rdi, 256
    001f7965mov rsi, rax
    001f7968mov rbx, rsp
    001f796bmov rsp, [r14+64]
    001f796fcall caml_initialize
    001f7974mov rsp, rbx
    001f7977lea rsi, [rip+0x17e222]
    001f797elea rdi, [rip+0x17e3eb]
    001f7985add rdi, 264
    001f798cmov rbx, rsp
    001f798fmov rsp, [r14+64]
    001f7993call caml_initialize
    001f7998mov rsp, rbx
    001f799bcall caml_alloc1
    001f79a0lea rax, [r15+8]
    001f79a4mov [rax-8], 1024
    001f79aclea rbx, [rip+0x17e225]
    001f79b3mov [rax], rbx
    001f79b6lea rbx, [rip+0x17e203]
    001f79bdcall Stdlib.Domain.new_key
    001f79c2lea rdi, [rip+0x17e3a7]
    001f79c9add rdi, 272
    001f79d0mov rsi, rax
    001f79d3mov rbx, rsp
    001f79d6mov rsp, [r14+64]
    001f79dacall caml_initialize
    001f79dfmov rsp, rbx
    001f79e2lea rsi, [rip+0x17e207]
    001f79e9lea rdi, [rip+0x17e380]
    001f79f0add rdi, 152
    001f79f7mov rbx, rsp
    001f79famov rsp, [r14+64]
    001f79fecall caml_initialize
    001f7a03mov rsp, rbx
    001f7a06lea rsi, [rip+0x17e1fb]
    001f7a0dlea rdi, [rip+0x17e35c]
    001f7a14add rdi, 144
    001f7a1bmov rbx, rsp
    001f7a1emov rsp, [r14+64]
    001f7a22call caml_initialize
    001f7a27mov rsp, rbx
    001f7a2alea rsi, [rip+0x17e1ef]
    001f7a31lea rdi, [rip+0x17e338]
    001f7a38add rdi, 120
    001f7a3cmov rbx, rsp
    001f7a3fmov rsp, [r14+64]
    001f7a43call caml_initialize
    001f7a48mov rsp, rbx
    001f7a4blea rsi, [rip+0x17e20e]
    001f7a52lea rdi, [rip+0x17e317]
    001f7a59add rdi, 128
    001f7a60mov rbx, rsp
    001f7a63mov rsp, [r14+64]
    001f7a67call caml_initialize
    001f7a6cmov rsp, rbx
    001f7a6flea rsi, [rip+0x17e22a]
    001f7a76lea rdi, [rip+0x17e2f3]
    001f7a7dadd rdi, 136
    001f7a84mov rbx, rsp
    001f7a87mov rsp, [r14+64]
    001f7a8bcall caml_initialize
    001f7a90mov rsp, rbx
    001f7a93mov eax, 1
    001f7a98add rsp, 40
    001f7a9cret
    001f7a9d
    001f7a9dloc_1f7a9d:
    001f7a9dpush 40
    001f7a9fcall caml_call_realloc_stack
    001f7aa4pop r10
    001f7aa6jmp 0x1f6ed2
    001f6ec0