File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    001f49b0
    001f49b0Stdlib.Filename.find_beg:
    001f49b0lea r10, [rsp-344]
    001f49b8cmp r10, [r14+40]
    001f49bcjb 0x1f4a65
    001f49c2
    001f49c2loc_1f49c2:
    001f49c2sub rsp, 24
    001f49c6
    001f49c6loc_1f49c6:
    001f49c6mov rsi, rax
    001f49c9mov rdx, rbx
    001f49cccmp r15, [r14]
    001f49cfjbe 0x1f4a5b
    001f49d5
    001f49d5loc_1f49d5:
    001f49d5cmp rsi, 1
    001f49d9jge 0x1f49f4
    001f49dbmov rax, [rdi+32]
    001f49dfmov ebx, 1
    001f49e4mov rdi, rdx
    001f49e7call Stdlib.Bytes.sub
    001f49ecadd rsp, 24
    001f49f0ret
    001f49f1
    001f49f1 0f 1f 00 ...
    001f49f4
    001f49f4loc_1f49f4:
    001f49f4mov [rsp+16], rdi
    001f49f9mov [rsp], rdx
    001f49fdmov [rsp+8], rsi
    001f4a02mov rdx, [rdi+24]
    001f4a06mov rax, [rdi+32]
    001f4a0amov rbx, rsi
    001f4a0dmov rdi, rdx
    001f4a10call caml_apply2
    001f4a15cmp rax, 1
    001f4a19je 0x1f4a44
    001f4a1bmov rdi, [rsp]
    001f4a1fmov rbx, [rsp+8]
    001f4a24sub rdi, rbx
    001f4a27dec rdi
    001f4a2aadd rbx, 2
    001f4a2emov rax, [rsp+16]
    001f4a33mov rax, [rax+32]
    001f4a37call Stdlib.Bytes.sub
    001f4a3cadd rsp, 24
    001f4a40ret
    001f4a41
    001f4a41 0f 1f 00 ...
    001f4a44
    001f4a44loc_1f4a44:
    001f4a44mov rax, [rsp+8]
    001f4a49add rax, -2
    001f4a4dmov rbx, [rsp]
    001f4a51mov rdi, [rsp+16]
    001f4a56jmp 0x1f49c6
    001f4a5b
    001f4a5bloc_1f4a5b:
    001f4a5bcall caml_call_gc
    001f4a60jmp 0x1f49d5
    001f4a65
    001f4a65loc_1f4a65:
    001f4a65push 36
    001f4a67call caml_call_realloc_stack
    001f4a6cpop r10
    001f4a6ejmp 0x1f49c2
    001f49b0
    001f4a73
    001f4a73 // align 0x10
    001f4a80
    001f4a80Stdlib.Filename.generic_dirname:
    001f4a80mov rbp, rbx
    001f4a83mov r13, rdi
    001f4a86sub r15, 96
    001f4a8acmp r15, [r14]
    001f4a8djb 0x1f4b5a
    001f4a93
    001f4a93loc_1f4a93:
    001f4a93lea r12, [r15+8]
    001f4a97mov [r12-8], 11511
    001f4aa0lea rbx, [rip+201]
    001f4aa7mov [r12], rbx
    001f4aabmov rbx, 0x100000000000011
    001f4ab5mov [r12+8], rbx
    001f4abamov [r12+16], 3321
    001f4ac3lea rbx, [rip+326]
    001f4acamov [r12+24], rbx
    001f4acfmov rbx, 0x10000000000000b
    001f4ad9mov [r12+32], rbx
    001f4ademov [r12+40], 6393
    001f4ae7lea rbx, [rip+434]
    001f4aeemov [r12+48], rbx
    001f4af3mov rbx, 0x100000000000005
    001f4afdmov [r12+56], rbx
    001f4b02mov [r12+64], rax
    001f4b07mov [r12+72], rbp
    001f4b0cmov [r12+80], r13
    001f4b11lea rsi, [rip+0x1817c8]
    001f4b18mov rdi, r13
    001f4b1bmov rbx, rsp
    001f4b1emov rsp, [r14+64]
    001f4b22call caml_string_equal
    001f4b27mov rsp, rbx
    001f4b2acmp rax, 1
    001f4b2eje 0x1f4b34
    001f4b30mov rax, rbp
    001f4b33ret
    001f4b34
    001f4b34loc_1f4b34:
    001f4b34mov rax, [r13-8]
    001f4b38shr rax, 10
    001f4b3clea rax, [8*rax-1]
    001f4b44movzx rbx, [r13+rax]
    001f4b4asub rax, rbx
    001f4b4dlea rax, [rax+rax-1]
    001f4b52mov rbx, r12
    001f4b55jmp 0x1f4b70
    001f4b5a
    001f4b5aloc_1f4b5a:
    001f4b5acall caml_call_gc
    001f4b5fjmp 0x1f4a93
    001f4a80
    001f4b64
    001f4b64 // align 0x10
    001f4b70
    001f4b70Stdlib.Filename.trailing_sep:
    001f4b70lea r10, [rsp-336]
    001f4b78cmp r10, [r14+40]
    001f4b7cjb 0x1f4bf5
    001f4b7e
    001f4b7eloc_1f4b7e:
    001f4b7esub rsp, 16
    001f4b82
    001f4b82loc_1f4b82:
    001f4b82mov rsi, rax
    001f4b85cmp r15, [r14]
    001f4b88jbe 0x1f4bee
    001f4b8a
    001f4b8aloc_1f4b8a:
    001f4b8acmp rsi, 1
    001f4b8ejge 0x1f4ba8
    001f4b90mov rax, [rbx+80]
    001f4b94mov edi, 3
    001f4b99mov ebx, 1
    001f4b9ecall Stdlib.Bytes.sub
    001f4ba3add rsp, 16
    001f4ba7ret
    001f4ba8
    001f4ba8loc_1f4ba8:
    001f4ba8mov [rsp+8], rbx
    001f4badmov [rsp], rsi
    001f4bb1mov rdi, [rbx+64]
    001f4bb5mov rax, [rbx+80]
    001f4bb9mov rbx, rsi
    001f4bbccall caml_apply2
    001f4bc1cmp rax, 1
    001f4bc5je 0x1f4bd8
    001f4bc7mov rax, [rsp]
    001f4bcbadd rax, -2
    001f4bcfmov rbx, [rsp+8]
    001f4bd4jmp 0x1f4b82
    001f4bd6
    001f4bd6 66 90 f.
    001f4bd8
    001f4bd8loc_1f4bd8:
    001f4bd8mov rbx, [rsp+8]
    001f4bddadd rbx, 24
    001f4be1mov rax, [rsp]
    001f4be5add rsp, 16
    001f4be9jmp 0x1f4c10
    001f4bee
    001f4beeloc_1f4bee:
    001f4beecall caml_call_gc
    001f4bf3jmp 0x1f4b8a
    001f4bf5
    001f4bf5loc_1f4bf5:
    001f4bf5push 35
    001f4bf7call caml_call_realloc_stack
    001f4bfcpop r10
    001f4bfejmp 0x1f4b7e
    001f4b70
    001f4c03
    001f4c03 // align 0x10
    001f4c10
    001f4c10Stdlib.Filename.base:
    001f4c10lea r10, [rsp-336]
    001f4c18cmp r10, [r14+40]
    001f4c1cjb 0x1f4c8a
    001f4c1e
    001f4c1eloc_1f4c1e:
    001f4c1esub rsp, 16
    001f4c22
    001f4c22loc_1f4c22:
    001f4c22mov rsi, rax
    001f4c25cmp r15, [r14]
    001f4c28jbe 0x1f4c83
    001f4c2a
    001f4c2aloc_1f4c2a:
    001f4c2acmp rsi, 1
    001f4c2ejge 0x1f4c3c
    001f4c30mov rax, [rbx+48]
    001f4c34add rsp, 16
    001f4c38ret
    001f4c39
    001f4c39 0f 1f 00 ...
    001f4c3c
    001f4c3cloc_1f4c3c:
    001f4c3cmov [rsp], rbx
    001f4c40mov [rsp+8], rsi
    001f4c45mov rdi, [rbx+40]
    001f4c49mov rax, [rbx+56]
    001f4c4dmov rbx, rsi
    001f4c50call caml_apply2
    001f4c55cmp rax, 1
    001f4c59je 0x1f4c74
    001f4c5bmov rbx, [rsp]
    001f4c5fadd rbx, 24
    001f4c63mov rax, [rsp+8]
    001f4c68add rsp, 16
    001f4c6cjmp 0x1f4ca0
    001f4c71
    001f4c71 0f 1f 00 ...
    001f4c74
    001f4c74loc_1f4c74:
    001f4c74mov rax, [rsp+8]
    001f4c79add rax, -2
    001f4c7dmov rbx, [rsp]
    001f4c81jmp 0x1f4c22
    001f4c83
    001f4c83loc_1f4c83:
    001f4c83call caml_call_gc
    001f4c88jmp 0x1f4c2a
    001f4c8a
    001f4c8aloc_1f4c8a:
    001f4c8apush 35
    001f4c8ccall caml_call_realloc_stack
    001f4c91pop r10
    001f4c93jmp 0x1f4c1e
    001f4c10
    001f4c95
    001f4c95 // align 0x10
    001f4ca0
    001f4ca0Stdlib.Filename.intermediate_sep:
    001f4ca0lea r10, [rsp-336]
    001f4ca8cmp r10, [r14+40]
    001f4cacjb 0x1f4d33
    001f4cb2
    001f4cb2loc_1f4cb2:
    001f4cb2sub rsp, 16
    001f4cb6
    001f4cb6loc_1f4cb6:
    001f4cb6mov rsi, rax
    001f4cb9cmp r15, [r14]
    001f4cbcjbe 0x1f4d2c
    001f4cbe
    001f4cbeloc_1f4cbe:
    001f4cbecmp rsi, 1
    001f4cc2jge 0x1f4cdc
    001f4cc4mov rax, [rbx+32]
    001f4cc8mov edi, 3
    001f4ccdmov ebx, 1
    001f4cd2call Stdlib.Bytes.sub
    001f4cd7add rsp, 16
    001f4cdbret
    001f4cdc
    001f4cdcloc_1f4cdc:
    001f4cdcmov [rsp+8], rbx
    001f4ce1mov [rsp], rsi
    001f4ce5mov rdi, [rbx+16]
    001f4ce9mov rax, [rbx+32]
    001f4cedmov rbx, rsi
    001f4cf0call caml_apply2
    001f4cf5cmp rax, 1
    001f4cf9je 0x1f4d0c
    001f4cfbmov rax, [rsp]
    001f4cffadd rax, -2
    001f4d03mov rbx, [rsp+8]
    001f4d08jmp 0x1f4cb6
    001f4d0a
    001f4d0a 66 90 f.
    001f4d0c
    001f4d0cloc_1f4d0c:
    001f4d0cmov rdi, [rsp]
    001f4d10add rdi, 2
    001f4d14mov rax, [rsp+8]
    001f4d19mov rax, [rax+32]
    001f4d1dmov ebx, 1
    001f4d22call Stdlib.Bytes.sub
    001f4d27add rsp, 16
    001f4d2bret
    001f4d2c
    001f4d2cloc_1f4d2c:
    001f4d2ccall caml_call_gc
    001f4d31jmp 0x1f4cbe
    001f4d33
    001f4d33loc_1f4d33:
    001f4d33push 35
    001f4d35call caml_call_realloc_stack
    001f4d3apop r10
    001f4d3cjmp 0x1f4cb2
    001f4ca0
    001f4d41
    001f4d41 // align 0x10
    001f4d50
    001f4d50Stdlib.Filename.is_dir_sep:
    001f4d50sar rbx, 1
    001f4d53mov rdi, [rax-8]
    001f4d57shr rdi, 10
    001f4d5blea rdi, [8*rdi-1]
    001f4d63movzx rsi, [rax+rdi]
    001f4d68sub rdi, rsi
    001f4d6bcmp rdi, rbx
    001f4d6ejbe 0x1f4d8b
    001f4d70movzx rax, [rax+rbx]
    001f4d75lea rax, [rax+rax+1]
    001f4d7acmp rax, 95
    001f4d7esete al
    001f4d81movzx rax, al
    001f4d85lea rax, [rax+rax+1]
    001f4d8aret
    001f4d8b
    001f4d8bloc_1f4d8b:
    001f4d8bcall caml_ml_array_bound_error
    001f4d50
    001f4d90
    001f4d90Stdlib.Filename.is_relative:
    001f4d90mov rbx, [rax-8]
    001f4d94shr rbx, 10
    001f4d98lea rbx, [8*rbx-1]
    001f4da0movzx rdi, [rax+rbx]
    001f4da5sub rbx, rdi
    001f4da8lea rdi, [rbx+rbx+1]
    001f4dadcmp rdi, 3
    001f4db1jl 0x1f4dd4
    001f4db3cmp rbx, 0
    001f4db7jbe 0x1f4dda
    001f4db9movzx rax, [rax]
    001f4dbdlea rax, [rax+rax+1]
    001f4dc2cmp rax, 95
    001f4dc6setne al
    001f4dc9movzx rax, al
    001f4dcdlea rax, [rax+rax+1]
    001f4dd2ret
    001f4dd3
    001f4dd3 90 .
    001f4dd4
    001f4dd4loc_1f4dd4:
    001f4dd4mov eax, 3
    001f4dd9ret
    001f4dda
    001f4ddaloc_1f4dda:
    001f4ddacall caml_ml_array_bound_error
    001f4d90
    001f4ddf
    001f4ddf // align 0x10
    001f4de0
    001f4de0Stdlib.Filename.is_implicit:
    001f4de0lea r10, [rsp-328]
    001f4de8cmp r10, [r14+40]
    001f4decjb 0x1f4eca
    001f4df2
    001f4df2loc_1f4df2:
    001f4df2sub rsp, 8
    001f4df6mov [rsp], rax
    001f4dfacall Stdlib.Filename.is_relative
    001f4dffcmp rax, 1
    001f4e03je 0x1f4ec0
    001f4e09mov rax, [rsp]
    001f4e0dmov rbx, [rax-8]
    001f4e11shr rbx, 10
    001f4e15lea rbx, [8*rbx-1]
    001f4e1dmovzx rdi, [rax+rbx]
    001f4e22sub rbx, rdi
    001f4e25lea rbx, [rbx+rbx+1]
    001f4e2acmp rbx, 5
    001f4e2ejl 0x1f4e5e
    001f4e30mov edi, 5
    001f4e35mov ebx, 1
    001f4e3acall Stdlib.Bytes.sub
    001f4e3flea rsi, [rip+0x1811fa]
    001f4e46mov rdi, rax
    001f4e49mov rbx, rsp
    001f4e4cmov rsp, [r14+64]
    001f4e50call caml_string_notequal
    001f4e55mov rsp, rbx
    001f4e58cmp rax, 1
    001f4e5cje 0x1f4ec0
    001f4e5e
    001f4e5eloc_1f4e5e:
    001f4e5emov rax, [rsp]
    001f4e62mov rbx, [rax-8]
    001f4e66shr rbx, 10
    001f4e6alea rbx, [8*rbx-1]
    001f4e72movzx rdi, [rax+rbx]
    001f4e77sub rbx, rdi
    001f4e7alea rbx, [rbx+rbx+1]
    001f4e7fcmp rbx, 7
    001f4e83jl 0x1f4eb4
    001f4e85mov edi, 7
    001f4e8amov ebx, 1
    001f4e8fcall Stdlib.Bytes.sub
    001f4e94lea rsi, [rip+0x181195]
    001f4e9bmov rdi, rax
    001f4e9emov rbx, rsp
    001f4ea1mov rsp, [r14+64]
    001f4ea5call caml_string_notequal
    001f4eaamov rsp, rbx
    001f4eadadd rsp, 8
    001f4eb1ret
    001f4eb2
    001f4eb2 66 90 f.
    001f4eb4
    001f4eb4loc_1f4eb4:
    001f4eb4mov eax, 3
    001f4eb9add rsp, 8
    001f4ebdret
    001f4ebe
    001f4ebe 66 90 f.
    001f4ec0
    001f4ec0loc_1f4ec0:
    001f4ec0mov eax, 1
    001f4ec5add rsp, 8
    001f4ec9ret
    001f4eca
    001f4ecaloc_1f4eca:
    001f4ecapush 34
    001f4ecccall caml_call_realloc_stack
    001f4ed1pop r10
    001f4ed3jmp 0x1f4df2
    001f4de0
    001f4ed8
    001f4ed8 // align 0x10
    001f4ee0
    001f4ee0Stdlib.Filename.check_suffix:
    001f4ee0mov rdi, rax
    001f4ee3mov rax, rbx
    001f4ee6mov rbx, rdi
    001f4ee9jmp 0x1abeb0
    001f4ee0
    001f4eee
    001f4eee // align 0x10
    001f4ef0
    001f4ef0Stdlib.Filename.chop_suffix_opt:
    001f4ef0lea r10, [rsp-352]
    001f4ef8cmp r10, [r14+40]
    001f4efcjb 0x1f4fe5
    001f4f02
    001f4f02loc_1f4f02:
    001f4f02sub rsp, 32
    001f4f06mov rsi, rax
    001f4f09mov rax, rbx
    001f4f0cmov rbx, [rsi-8]
    001f4f10shr rbx, 10
    001f4f14lea rbx, [8*rbx-1]
    001f4f1cmovzx rdi, [rsi+rbx]
    001f4f21sub rbx, rdi
    001f4f24lea rdi, [rbx+rbx+1]
    001f4f29mov rbx, [rax-8]
    001f4f2dshr rbx, 10
    001f4f31lea rbx, [8*rbx-1]
    001f4f39movzx rdx, [rax+rbx]
    001f4f3esub rbx, rdx
    001f4f41lea rbx, [rbx+rbx+1]
    001f4f46cmp rbx, rdi
    001f4f49jl 0x1f4fd4
    001f4f4fmov [rsp+8], rbx
    001f4f54mov [rsp+16], rdi
    001f4f59mov [rsp+24], rax
    001f4f5emov [rsp], rsi
    001f4f62sub rbx, rdi
    001f4f65inc rbx
    001f4f68call Stdlib.Bytes.sub
    001f4f6dmov rdi, rax
    001f4f70mov rsi, [rsp]
    001f4f74mov rbx, rsp
    001f4f77mov rsp, [r14+64]
    001f4f7bcall caml_string_equal
    001f4f80mov rsp, rbx
    001f4f83cmp rax, 1
    001f4f87je 0x1f4fc8
    001f4f89mov rdi, [rsp+8]
    001f4f8emov rax, [rsp+16]
    001f4f93sub rdi, rax
    001f4f96inc rdi
    001f4f99mov ebx, 1
    001f4f9emov rax, [rsp+24]
    001f4fa3call Stdlib.Bytes.sub
    001f4fa8sub r15, 16
    001f4faccmp r15, [r14]
    001f4fafjb 0x1f4fde
    001f4fb1
    001f4fb1loc_1f4fb1:
    001f4fb1lea rbx, [r15+8]
    001f4fb5mov [rbx-8], 1024
    001f4fbdmov [rbx], rax
    001f4fc0mov rax, rbx
    001f4fc3add rsp, 32
    001f4fc7ret
    001f4fc8
    001f4fc8loc_1f4fc8:
    001f4fc8mov eax, 1
    001f4fcdadd rsp, 32
    001f4fd1ret
    001f4fd2
    001f4fd2 66 90 f.
    001f4fd4
    001f4fd4loc_1f4fd4:
    001f4fd4mov eax, 1
    001f4fd9add rsp, 32
    001f4fddret
    001f4fde
    001f4fdeloc_1f4fde:
    001f4fdecall caml_call_gc
    001f4fe3jmp 0x1f4fb1
    001f4fe5
    001f4fe5loc_1f4fe5:
    001f4fe5push 37
    001f4fe7call caml_call_realloc_stack
    001f4fecpop r10
    001f4feejmp 0x1f4f02
    001f4ef0
    001f4ff3
    001f4ff3 // align 0x10
    001f5000
    001f5000Stdlib.Filename.fun:
    001f5000mov rdi, rax
    001f5003mov rax, [rbx+16]
    001f5007mov rbx, rdi
    001f500ajmp 0x1f46e0
    001f5000
    001f500f
    001f500f // align 0x10
    001f5010
    001f5010Stdlib.Filename.quote_command:
    001f5010lea r10, [rsp-368]
    001f5018cmp r10, [r14+40]
    001f501cjb 0x1f518c
    001f5022
    001f5022loc_1f5022:
    001f5022sub rsp, 48
    001f5026mov [rsp+24], rax
    001f502bmov [rsp+16], rbx
    001f5030mov rax, rdi
    001f5033mov [rsp], rax
    001f5037mov rdi, rsi
    001f503amov [rsp+32], rdx
    001f503fmov [rsp+40], rcx
    001f5044test dil, 1
    001f5048je 0x1f5058
    001f504alea rax, [rip+0x18128f]
    001f5051mov [rsp+8], rax
    001f5056jmp 0x1f50ae
    001f5058
    001f5058loc_1f5058:
    001f5058mov [rsp+8], rdi
    001f505dmov rsi, rax
    001f5060lea rax, [rip+47225]
    001f5067call caml_c_call
    001f506ccmp rax, 1
    001f5070je 0x1f5080
    001f5072lea rax, [rip+0x181217]
    001f5079mov [rsp+8], rax
    001f507ejmp 0x1f50ae
    001f5080
    001f5080loc_1f5080:
    001f5080mov rax, [rsp+8]
    001f5085mov rbx, [rax]
    001f5088mov rax, [rsp+40]
    001f508dmov rax, [rax+24]
    001f5091mov rax, [rax+16]
    001f5095call Stdlib.Filename.generic_quote
    001f509amov rbx, rax
    001f509dlea rax, [rip+0x1811c4]
    001f50a4call camlStdlib.$5e_139
    001f50a9mov [rsp+8], rax
    001f50ae
    001f50aeloc_1f50ae:
    001f50aemov rax, [rsp]
    001f50b2test al, 1
    001f50b4je 0x1f50c0
    001f50b6lea rax, [rip+0x181223]
    001f50bdjmp 0x1f50e4
    001f50bf
    001f50bf 90 .
    001f50c0
    001f50c0loc_1f50c0:
    001f50c0mov rbx, [rax]
    001f50c3mov rax, [rsp+40]
    001f50c8mov rax, [rax+24]
    001f50ccmov rax, [rax+16]
    001f50d0call Stdlib.Filename.generic_quote
    001f50d5mov rbx, rax
    001f50d8lea rax, [rip+0x1811c1]
    001f50dfcall camlStdlib.$5e_139
    001f50e4
    001f50e4loc_1f50e4:
    001f50e4mov rbx, [rsp+8]
    001f50e9call camlStdlib.$5e_139
    001f50eemov [rsp], rax
    001f50f2mov rax, [rsp+16]
    001f50f7test al, 1
    001f50f9je 0x1f5104
    001f50fblea rax, [rip+0x1811de]
    001f5102jmp 0x1f5128
    001f5104
    001f5104loc_1f5104:
    001f5104mov rbx, [rax]
    001f5107mov rax, [rsp+40]
    001f510cmov rax, [rax+24]
    001f5110mov rax, [rax+16]
    001f5114call Stdlib.Filename.generic_quote
    001f5119mov rbx, rax
    001f511clea rax, [rip+0x18118d]
    001f5123call camlStdlib.$5e_139
    001f5128
    001f5128loc_1f5128:
    001f5128mov rbx, [rsp]
    001f512ccall camlStdlib.$5e_139
    001f5131mov [rsp], rax
    001f5135sub r15, 24
    001f5139cmp r15, [r14]
    001f513cjb 0x1f5185
    001f513e
    001f513eloc_1f513e:
    001f513elea rbx, [r15+8]
    001f5142mov [rbx-8], 2048
    001f514amov rax, [rsp+24]
    001f514fmov [rbx], rax
    001f5152mov rax, [rsp+32]
    001f5157mov [rbx+8], rax
    001f515bmov rax, [rsp+40]
    001f5160mov rax, [rax+24]
    001f5164call Stdlib.List.map
    001f5169mov rbx, rax
    001f516clea rax, [rip+0x18114d]
    001f5173call Stdlib.String.concat
    001f5178mov rbx, [rsp]
    001f517cadd rsp, 48
    001f5180jmp 0x195ba0
    001f5185
    001f5185loc_1f5185:
    001f5185call caml_call_gc
    001f518ajmp 0x1f513e
    001f518c
    001f518cloc_1f518c:
    001f518cpush 39
    001f518ecall caml_call_realloc_stack
    001f5193pop r10
    001f5195jmp 0x1f5022
    001f5010
    001f519a
    001f519a // align 0x10
    001f51a0
    001f51a0Stdlib.Filename.fun:
    001f51a0mov rdi, rax
    001f51a3mov rsi, [rbx+24]
    001f51a7mov rax, [rbx+16]
    001f51abmov rbx, rsi
    001f51aejmp 0x1f4840
    001f51a0
    001f51b3
    001f51b3 // align 0x10
    001f51c0
    001f51c0Stdlib.Filename.fun:
    001f51c0mov rdi, rax
    001f51c3mov rsi, [rbx+24]
    001f51c7mov rax, [rbx+16]
    001f51cbmov rbx, rsi
    001f51cejmp 0x1f4a80
    001f51c0
    001f51d3
    001f51d3 // align 0x10
    001f51e0
    001f51e0Stdlib.Filename.is_dir_sep:
    001f51e0sar rbx, 1
    001f51e3mov rdi, [rax-8]
    001f51e7shr rdi, 10
    001f51eblea rdi, [8*rdi-1]
    001f51f3movzx rsi, [rax+rdi]
    001f51f8sub rdi, rsi
    001f51fbcmp rdi, rbx
    001f51fejbe 0x1f5232
    001f5200movzx rax, [rax+rbx]
    001f5205lea rax, [rax+rax+1]
    001f520acmp rax, 95
    001f520eje 0x1f522c
    001f5210cmp rax, 185
    001f5216je 0x1f522c
    001f5218cmp rax, 117
    001f521csete al
    001f521fmovzx rax, al
    001f5223lea rax, [rax+rax+1]
    001f5228ret
    001f5229
    001f5229 0f 1f 00 ...
    001f522c
    001f522cloc_1f522c:
    001f522cmov eax, 3
    001f5231ret
    001f5232
    001f5232loc_1f5232:
    001f5232call caml_ml_array_bound_error
    001f51e0
    001f5237
    001f5237 // align 0x10
    001f5240
    001f5240Stdlib.Filename.is_relative:
    001f5240mov rbx, [rax-8]
    001f5244shr rbx, 10
    001f5248lea rbx, [8*rbx-1]
    001f5250movzx rdi, [rax+rbx]
    001f5255sub rbx, rdi
    001f5258lea rdi, [rbx+rbx+1]
    001f525dcmp rdi, 3
    001f5261jl 0x1f5280
    001f5263cmp rbx, 0
    001f5267jbe 0x1f5318
    001f526dmovzx rbx, [rax]
    001f5271lea rbx, [rbx+rbx+1]
    001f5276cmp rbx, 95
    001f527aje 0x1f5308
    001f5280
    001f5280loc_1f5280:
    001f5280mov rbx, [rax-8]
    001f5284shr rbx, 10
    001f5288lea rbx, [8*rbx-1]
    001f5290movzx rdi, [rax+rbx]
    001f5295sub rbx, rdi
    001f5298lea rdi, [rbx+rbx+1]
    001f529dcmp rdi, 3
    001f52a1jl 0x1f52bb
    001f52a3cmp rbx, 0
    001f52a7jbe 0x1f5313
    001f52a9movzx rbx, [rax]
    001f52adlea rbx, [rbx+rbx+1]
    001f52b2cmp rbx, 185
    001f52b9je 0x1f5308
    001f52bb
    001f52bbloc_1f52bb:
    001f52bbmov rbx, [rax-8]
    001f52bfshr rbx, 10
    001f52c3lea rbx, [8*rbx-1]
    001f52cbmovzx rdi, [rax+rbx]
    001f52d0sub rbx, rdi
    001f52d3lea rdi, [rbx+rbx+1]
    001f52d8cmp rdi, 5
    001f52dcjl 0x1f5300
    001f52decmp rbx, 1
    001f52e2jbe 0x1f530e
    001f52e4movzx rax, [rax+1]
    001f52e9lea rax, [rax+rax+1]
    001f52eecmp rax, 117
    001f52f2setne al
    001f52f5movzx rax, al
    001f52f9lea rax, [rax+rax+1]
    001f52feret
    001f52ff
    001f52ff 90 .
    001f5300
    001f5300loc_1f5300:
    001f5300mov eax, 3
    001f5305ret
    001f5306
    001f5306 66 90 f.
    001f5308
    001f5308loc_1f5308:
    001f5308mov eax, 1
    001f530dret
    001f530e
    001f530eloc_1f530e:
    001f530ecall caml_ml_array_bound_error
    001f5313
    001f5313loc_1f5313:
    001f5313call caml_ml_array_bound_error
    001f5318
    001f5318loc_1f5318:
    001f5318call caml_ml_array_bound_error
    001f5240
    001f531d
    001f531d // align 0x10
    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