File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    001506d0
    001506d0camlText.save_stacks_915:
    001506d0sub r15, 112
    001506d4cmp r15, [r14]
    001506d7jb 0x150785
    001506dd
    001506ddloc_1506dd:
    001506ddlea rax, [r15+8]
    001506e1mov [rax-8], 13312
    001506e9lea rbx, [rip+0x1963c8]
    001506f0mov rbx, [rbx+848]
    001506f7mov rdi, [rbx]
    001506famov rdi, [rdi]
    001506fdmov [rax], rdi
    00150700mov rdi, [rbx+8]
    00150704mov rdi, [rdi]
    00150707mov [rax+8], rdi
    0015070bmov rdi, [rbx+16]
    0015070fmov rdi, [rdi]
    00150712mov [rax+16], rdi
    00150716mov rdi, [rbx+24]
    0015071amov rdi, [rdi]
    0015071dmov [rax+24], rdi
    00150721mov rdi, [rbx+32]
    00150725mov rdi, [rdi]
    00150728mov [rax+32], rdi
    0015072cmov rdi, [rbx+40]
    00150730mov rdi, [rdi]
    00150733mov [rax+40], rdi
    00150737mov rdi, [rbx+48]
    0015073bmov rdi, [rdi]
    0015073emov [rax+48], rdi
    00150742mov rdi, [rbx+56]
    00150746mov rdi, [rdi]
    00150749mov [rax+56], rdi
    0015074dmov rdi, [rbx+64]
    00150751mov rdi, [rdi]
    00150754mov [rax+64], rdi
    00150758mov rdi, [rbx+72]
    0015075cmov rdi, [rdi]
    0015075fmov [rax+72], rdi
    00150763mov rdi, [rbx+80]
    00150767mov rdi, [rdi]
    0015076amov [rax+80], rdi
    0015076emov rdi, [rbx+88]
    00150772mov rdi, [rdi]
    00150775mov [rax+88], rdi
    00150779mov rbx, [rbx+96]
    0015077dmov rbx, [rbx]
    00150780mov [rax+96], rbx
    00150784ret
    00150785
    00150785loc_150785:
    00150785call caml_call_gc
    0015078ajmp 0x1506dd
    001506d0
    0015078f
    0015078f // align 0x10
    00150790
    00150790camlText.restore_stacks_916:
    00150790mov r12, rax
    00150793mov rsi, [r12]
    00150797lea rax, [rip+0x19631a]
    0015079emov rax, [rax+848]
    001507a5mov rdi, [rax]
    001507a8mov rbx, rsp
    001507abmov rsp, [r14+64]
    001507afcall caml_modify
    001507b4mov rsp, rbx
    001507b7mov rsi, [r12+8]
    001507bclea rax, [rip+0x1962f5]
    001507c3mov rax, [rax+848]
    001507camov rdi, [rax+8]
    001507cemov rbx, rsp
    001507d1mov rsp, [r14+64]
    001507d5call caml_modify
    001507damov rsp, rbx
    001507ddmov rsi, [r12+16]
    001507e2lea rax, [rip+0x1962cf]
    001507e9mov rax, [rax+848]
    001507f0mov rdi, [rax+16]
    001507f4mov rbx, rsp
    001507f7mov rsp, [r14+64]
    001507fbcall caml_modify
    00150800mov rsp, rbx
    00150803mov rsi, [r12+24]
    00150808lea rax, [rip+0x1962a9]
    0015080fmov rax, [rax+848]
    00150816mov rdi, [rax+24]
    0015081amov rbx, rsp
    0015081dmov rsp, [r14+64]
    00150821call caml_modify
    00150826mov rsp, rbx
    00150829mov rsi, [r12+32]
    0015082elea rax, [rip+0x196283]
    00150835mov rax, [rax+848]
    0015083cmov rdi, [rax+32]
    00150840mov rbx, rsp
    00150843mov rsp, [r14+64]
    00150847call caml_modify
    0015084cmov rsp, rbx
    0015084fmov rsi, [r12+40]
    00150854lea rax, [rip+0x19625d]
    0015085bmov rax, [rax+848]
    00150862mov rdi, [rax+40]
    00150866mov rbx, rsp
    00150869mov rsp, [r14+64]
    0015086dcall caml_modify
    00150872mov rsp, rbx
    00150875mov rsi, [r12+48]
    0015087alea rax, [rip+0x196237]
    00150881mov rax, [rax+848]
    00150888mov rdi, [rax+48]
    0015088cmov rbx, rsp
    0015088fmov rsp, [r14+64]
    00150893call caml_modify
    00150898mov rsp, rbx
    0015089bmov rsi, [r12+56]
    001508a0lea rax, [rip+0x196211]
    001508a7mov rax, [rax+848]
    001508aemov rdi, [rax+56]
    001508b2mov rbx, rsp
    001508b5mov rsp, [r14+64]
    001508b9call caml_modify
    001508bemov rsp, rbx
    001508c1mov rsi, [r12+64]
    001508c6lea rax, [rip+0x1961eb]
    001508cdmov rax, [rax+848]
    001508d4mov rdi, [rax+64]
    001508d8mov rbx, rsp
    001508dbmov rsp, [r14+64]
    001508dfcall caml_modify
    001508e4mov rsp, rbx
    001508e7mov rsi, [r12+72]
    001508eclea rax, [rip+0x1961c5]
    001508f3mov rax, [rax+848]
    001508famov rdi, [rax+72]
    001508femov rbx, rsp
    00150901mov rsp, [r14+64]
    00150905call caml_modify
    0015090amov rsp, rbx
    0015090dmov rsi, [r12+80]
    00150912lea rax, [rip+0x19619f]
    00150919mov rax, [rax+848]
    00150920mov rdi, [rax+80]
    00150924mov rbx, rsp
    00150927mov rsp, [r14+64]
    0015092bcall caml_modify
    00150930mov rsp, rbx
    00150933mov rsi, [r12+88]
    00150938lea rax, [rip+0x196179]
    0015093fmov rax, [rax+848]
    00150946mov rdi, [rax+88]
    0015094amov rbx, rsp
    0015094dmov rsp, [r14+64]
    00150951call caml_modify
    00150956mov rsp, rbx
    00150959mov rsi, [r12+96]
    0015095elea rax, [rip+0x196153]
    00150965mov rax, [rax+848]
    0015096cmov rdi, [rax+96]
    00150970mov rbx, rsp
    00150973mov rsp, [r14+64]
    00150977call caml_modify
    0015097cmov rsp, rbx
    0015097fmov eax, 1
    00150984ret
    00150790
    00150985
    00150985 // align 0x10
    00150990
    00150990camlText.check_stack_934:
    00150990lea r10, [rsp-320]
    00150998cmp r10, [r14+40]
    0015099cjb 0x1509e6
    0015099e
    0015099eloc_15099e:
    0015099emov rbx, [rax]
    001509a1test bl, 1
    001509a4jne 0x1509e0
    001509a6lea rbx, [rip+0x1d96c3]
    001509admov rbx, [rbx+104]
    001509b1mov rbx, [rbx]
    001509b4cmp rbx, 1
    001509b8jne 0x1509e0
    001509balea rbx, [rip+0x196717]
    001509c1mov rax, [rax+8]
    001509c5call camlStdlib.$5e_139
    001509camov rbx, rax
    001509cdlea rax, [rip+0x196744]
    001509d4call camlStdlib.$5e_139
    001509d9jmp 0x196d50
    001509de
    001509de 66 90 f.
    001509e0
    001509e0loc_1509e0:
    001509e0mov eax, 1
    001509e5ret
    001509e6
    001509e6loc_1509e6:
    001509e6push 33
    001509e8call caml_call_realloc_stack
    001509edpop r10
    001509efjmp 0x15099e
    00150990
    001509f1
    001509f1 // align 0x10
    00150a00
    00150a00camlText.check_stacks_937:
    00150a00lea r10, [rsp-320]
    00150a08cmp r10, [r14+40]
    00150a0cjb 0x150b3c
    00150a12
    00150a12loc_150a12:
    00150a12lea rax, [rip+0x19609f]
    00150a19mov rax, [rax+848]
    00150a20mov rax, [rax]
    00150a23call camlText.check_stack_934
    00150a28lea rax, [rip+0x196089]
    00150a2fmov rax, [rax+848]
    00150a36mov rax, [rax+8]
    00150a3acall camlText.check_stack_934
    00150a3flea rax, [rip+0x196072]
    00150a46mov rax, [rax+848]
    00150a4dmov rax, [rax+16]
    00150a51call camlText.check_stack_934
    00150a56lea rax, [rip+0x19605b]
    00150a5dmov rax, [rax+848]
    00150a64mov rax, [rax+24]
    00150a68call camlText.check_stack_934
    00150a6dlea rax, [rip+0x196044]
    00150a74mov rax, [rax+848]
    00150a7bmov rax, [rax+32]
    00150a7fcall camlText.check_stack_934
    00150a84lea rax, [rip+0x19602d]
    00150a8bmov rax, [rax+848]
    00150a92mov rax, [rax+40]
    00150a96call camlText.check_stack_934
    00150a9blea rax, [rip+0x196016]
    00150aa2mov rax, [rax+848]
    00150aa9mov rax, [rax+48]
    00150aadcall camlText.check_stack_934
    00150ab2lea rax, [rip+0x195fff]
    00150ab9mov rax, [rax+848]
    00150ac0mov rax, [rax+56]
    00150ac4call camlText.check_stack_934
    00150ac9lea rax, [rip+0x195fe8]
    00150ad0mov rax, [rax+848]
    00150ad7mov rax, [rax+64]
    00150adbcall camlText.check_stack_934
    00150ae0lea rax, [rip+0x195fd1]
    00150ae7mov rax, [rax+848]
    00150aeemov rax, [rax+72]
    00150af2call camlText.check_stack_934
    00150af7lea rax, [rip+0x195fba]
    00150afemov rax, [rax+848]
    00150b05mov rax, [rax+80]
    00150b09call camlText.check_stack_934
    00150b0elea rax, [rip+0x195fa3]
    00150b15mov rax, [rax+848]
    00150b1cmov rax, [rax+88]
    00150b20call camlText.check_stack_934
    00150b25lea rax, [rip+0x195f8c]
    00150b2cmov rax, [rax+848]
    00150b33mov rax, [rax+96]
    00150b37jmp 0x150990
    00150b3c
    00150b3cloc_150b3c:
    00150b3cpush 33
    00150b3ecall caml_call_realloc_stack
    00150b43pop r10
    00150b45jmp 0x150a12
    00150a00
    00150b4a
    00150b4a // align 0x10
    00150b50
    00150b50camlText.check_1052:
    00150b50lea r10, [rsp-344]
    00150b58cmp r10, [r14+40]
    00150b5cjb 0x150bef
    00150b62
    00150b62loc_150b62:
    00150b62sub rsp, 24
    00150b66lea rax, [rip+0x195f4b]
    00150b6dmov rax, [rax+824]
    00150b74call camlText.copy_flags_861
    00150b79mov [rsp], rax
    00150b7dmov eax, 1
    00150b82call camlText.save_stacks_915
    00150b87mov [rsp+8], rax
    00150b8cmov eax, 1
    00150b91call camlText.save_out_805
    00150b96mov [rsp+16], rax
    00150b9blea rax, [rip+0x195f16]
    00150ba2mov rax, [rax+888]
    00150ba9call Stdlib.Bytes.copy
    00150baesub r15, 40
    00150bb2cmp r15, [r14]
    00150bb5jb 0x150be8
    00150bb7
    00150bb7loc_150bb7:
    00150bb7lea rbx, [r15+8]
    00150bbbmov [rbx-8], 4096
    00150bc3mov [rbx], rax
    00150bc6mov rax, [rsp]
    00150bcamov [rbx+8], rax
    00150bcemov rax, [rsp+8]
    00150bd3mov [rbx+16], rax
    00150bd7mov rax, [rsp+16]
    00150bdcmov [rbx+24], rax
    00150be0mov rax, rbx
    00150be3add rsp, 24
    00150be7ret
    00150be8
    00150be8loc_150be8:
    00150be8call caml_call_gc
    00150bedjmp 0x150bb7
    00150bef
    00150befloc_150bef:
    00150befpush 36
    00150bf1call caml_call_realloc_stack
    00150bf6pop r10
    00150bf8jmp 0x150b62
    00150b50
    00150bfd
    00150bfd // align 0x10
    00150c00
    00150c00camlText.hot_1053:
    00150c00lea r10, [rsp-344]
    00150c08cmp r10, [r14+40]
    00150c0cjb 0x150ca7
    00150c12
    00150c12loc_150c12:
    00150c12sub rsp, 24
    00150c16mov [rsp], rbx
    00150c1amov [rsp+8], rdi
    00150c1fmov [rsp+16], rsi
    00150c24cmp r15, [r14]
    00150c27jbe 0x150ca0
    00150c29
    00150c29loc_150c29:
    00150c29mov rbx, [rax-8]
    00150c2dshr rbx, 10
    00150c31lea rbx, [8*rbx-1]
    00150c39movzx rdi, [rax+rbx]
    00150c3esub rbx, rdi
    00150c41lea rdx, [rbx+rbx+1]
    00150c46mov esi, 1
    00150c4blea rbx, [rip+0x195e66]
    00150c52mov rdi, [rbx+888]
    00150c59mov ebx, 1
    00150c5ecall Stdlib.Bytes.blit_string
    00150c63lea rax, [rip+0x195e4e]
    00150c6amov rax, [rax+824]
    00150c71mov rbx, [rsp]
    00150c75call camlText.set_flags_862
    00150c7amov rax, [rsp+8]
    00150c7fcall camlText.restore_stacks_916
    00150c84lea rax, [rip+0x195e2d]
    00150c8bmov rbx, [rax+816]
    00150c92mov rdi, [rbx]
    00150c95mov rax, [rsp+16]
    00150c9aadd rsp, 24
    00150c9ejmp rdi
    00150ca0
    00150ca0loc_150ca0:
    00150ca0call caml_call_gc
    00150ca5jmp 0x150c29
    00150ca7
    00150ca7loc_150ca7:
    00150ca7push 36
    00150ca9call caml_call_realloc_stack
    00150caepop r10
    00150cb0jmp 0x150c12
    00150c00
    00150cb5
    00150cb5 // align 0x10
    00150cc0
    00150cc0camlText.stop_1065:
    00150cc0lea rax, [rip+0x195df1]
    00150cc7mov rbx, [rax+792]
    00150ccemov rbx, [rbx]
    00150cd1mov rbx, [rbx+16]
    00150cd5mov rax, [rax+848]
    00150cdcmov rdi, [rax+80]
    00150ce0sub r15, 24
    00150ce4cmp r15, [r14]
    00150ce7jb 0x150d92
    00150ced
    00150cedloc_150ced:
    00150cedlea rsi, [r15+8]
    00150cf1mov [rsi-8], 2048
    00150cf9mov [rsi], rbx
    00150cfcmov rax, [rdi]
    00150cffmov [rsi+8], rax
    00150d03mov rbx, rsp
    00150d06mov rsp, [r14+64]
    00150d0acall caml_modify
    00150d0fmov rsp, rbx
    00150d12lea rax, [rip+0x195d9f]
    00150d19mov rbx, [rax+824]
    00150d20mov rbx, [rbx]
    00150d23mov rax, [rax+848]
    00150d2amov rdi, [rax+88]
    00150d2esub r15, 24
    00150d32cmp r15, [r14]
    00150d35jb 0x150d8b
    00150d37
    00150d37loc_150d37:
    00150d37lea rsi, [r15+8]
    00150d3bmov [rsi-8], 2048
    00150d43mov [rsi], rbx
    00150d46mov rax, [rdi]
    00150d49mov [rsi+8], rax
    00150d4dmov rbx, rsp
    00150d50mov rsp, [r14+64]
    00150d54call caml_modify
    00150d59mov rsp, rbx
    00150d5cmov esi, 1
    00150d61lea rax, [rip+0x195d50]
    00150d68mov rax, [rax+792]
    00150d6fmov rdi, [rax]
    00150d72add rdi, 16
    00150d76mov rbx, rsp
    00150d79mov rsp, [r14+64]
    00150d7dcall caml_modify
    00150d82mov rsp, rbx
    00150d85mov eax, 1
    00150d8aret
    00150d8b
    00150d8bloc_150d8b:
    00150d8bcall caml_call_gc
    00150d90jmp 0x150d37
    00150d92
    00150d92loc_150d92:
    00150d92call caml_call_gc
    00150d97jmp 0x150ced
    00150cc0
    00150d9c
    00150d9c // align 0x10
    00150da0
    00150da0camlText.restart_1066:
    00150da0lea r10, [rsp-320]
    00150da8cmp r10, [r14+40]
    00150dacjb 0x150e29
    00150dae
    00150daeloc_150dae:
    00150daelea rax, [rip+0x195d03]
    00150db5mov rax, [rax+848]
    00150dbcmov rax, [rax+80]
    00150dc0call camlMyStack.pop_292
    00150dc5lea rbx, [rip+0x195cec]
    00150dccmov rbx, [rbx+792]
    00150dd3mov rdi, [rbx]
    00150dd6add rdi, 16
    00150ddamov rsi, rax
    00150dddmov rbx, rsp
    00150de0mov rsp, [r14+64]
    00150de4call caml_modify
    00150de9mov rsp, rbx
    00150declea rax, [rip+0x195cc5]
    00150df3mov rax, [rax+848]
    00150dfamov rax, [rax+88]
    00150dfecall camlMyStack.pop_292
    00150e03lea rbx, [rip+0x195cae]
    00150e0amov rdi, [rbx+824]
    00150e11mov rsi, rax
    00150e14mov rbx, rsp
    00150e17mov rsp, [r14+64]
    00150e1bcall caml_modify
    00150e20mov rsp, rbx
    00150e23mov eax, 1
    00150e28ret
    00150e29
    00150e29loc_150e29:
    00150e29push 33
    00150e2bcall caml_call_realloc_stack
    00150e30pop r10
    00150e32jmp 0x150dae
    00150da0
    00150e37
    00150e37 // align 0x10
    00150e40
    00150e40camlText.do_do_put_char_1071:
    00150e40mov rbx, rax
    00150e43lea rax, [rip+0x195c6e]
    00150e4amov rax, [rax+792]
    00150e51mov rax, [rax]
    00150e54mov rax, [rax+16]
    00150e58lea rdi, [rip+0x1d0b99]
    00150e5fmov rdi, [rdi+64]
    00150e63jmp 0x18a170
    00150e40
    00150e68
    00150e68 // align 0x10
    00150e70
    00150e70camlText.is_empty_line_1074:
    00150e70mov rbx, [rax-8]
    00150e74shr rbx, 10
    00150e78lea rbx, [8*rbx-1]
    00150e80movzx rdi, [rax+rbx]
    00150e85sub rbx, rdi
    00150e88lea rdi, [rbx+rbx+1]
    00150e8dsub r15, 40
    00150e91cmp r15, [r14]
    00150e94jb 0x150ecc
    00150e96
    00150e96loc_150e96:
    00150e96lea rbx, [r15+8]
    00150e9amov [rbx-8], 4343
    00150ea2lea rsi, [rip+55]
    00150ea9mov [rbx], rsi
    00150eacmov rsi, 0x100000000000005
    00150eb6mov [rbx+8], rsi
    00150ebamov [rbx+16], rax
    00150ebemov [rbx+24], rdi
    00150ec2mov eax, 1
    00150ec7jmp 0x150ee0
    00150ecc
    00150eccloc_150ecc:
    00150ecccall caml_call_gc
    00150ed1jmp 0x150e96
    00150e70
    00150ed3
    00150ed3 // align 0x10
    00150ee0
    00150ee0camlText.do_rec_1078:
    00150ee0cmp r15, [r14]
    00150ee3jbe 0x150f86
    00150ee9
    00150ee9loc_150ee9:
    00150ee9mov rdi, [rbx+24]
    00150eedcmp rax, rdi
    00150ef0jl 0x150ef8
    00150ef2mov eax, 1
    00150ef7ret
    00150ef8
    00150ef8loc_150ef8:
    00150ef8add rdi, -2
    00150efccmp rax, rdi
    00150effjne 0x150f40
    00150f01sar rax, 1
    00150f04mov rbx, [rbx+16]
    00150f08mov rdi, [rbx-8]
    00150f0cshr rdi, 10
    00150f10lea rdi, [8*rdi-1]
    00150f18movzx rsi, [rbx+rdi]
    00150f1dsub rdi, rsi
    00150f20cmp rdi, rax
    00150f23jbe 0x150f90
    00150f25movzx rax, [rbx+rax]
    00150f2alea rax, [rax+rax+1]
    00150f2fcmp rax, 21
    00150f33sete al
    00150f36movzx rax, al
    00150f3alea rax, [rax+rax+1]
    00150f3fret
    00150f40
    00150f40loc_150f40:
    00150f40mov rdi, rax
    00150f43sar rdi, 1
    00150f46mov rsi, [rbx+16]
    00150f4amov rdx, [rsi-8]
    00150f4eshr rdx, 10
    00150f52lea rdx, [8*rdx-1]
    00150f5amovzx rcx, [rsi+rdx]
    00150f5fsub rdx, rcx
    00150f62cmp rdx, rdi
    00150f65jbe 0x150f90
    00150f67movzx rdi, [rsi+rdi]
    00150f6clea rdi, [rdi+rdi+1]
    00150f71cmp rdi, 65
    00150f75jne 0x150f80
    00150f77add rax, 2
    00150f7bjmp 0x150ee0
    00150f80
    00150f80loc_150f80:
    00150f80mov eax, 1
    00150f85ret
    00150f86
    00150f86loc_150f86:
    00150f86call caml_call_gc
    00150f8bjmp 0x150ee9
    00150f90
    00150f90loc_150f90:
    00150f90call caml_ml_array_bound_error
    00150ee0
    00150f95
    00150f95 // align 0x10
    00150fa0
    00150fa0camlText.tr_empty_1080:
    00150fa0lea r10, [rsp-328]
    00150fa8cmp r10, [r14+40]
    00150facjb 0x150fd9
    00150fae
    00150faeloc_150fae:
    00150faesub rsp, 8
    00150fb2mov [rsp], rax
    00150fb6call camlText.is_empty_line_1074
    00150fbbcmp rax, 1
    00150fbfje 0x150fd0
    00150fc1lea rax, [rip+0x196100]
    00150fc8add rsp, 8
    00150fccret
    00150fcd
    00150fcd 0f 1f 00 ...
    00150fd0
    00150fd0loc_150fd0:
    00150fd0mov rax, [rsp]
    00150fd4add rsp, 8
    00150fd8ret
    00150fd9
    00150fd9loc_150fd9:
    00150fd9push 34
    00150fdbcall caml_call_realloc_stack
    00150fe0pop r10
    00150fe2jmp 0x150fae
    00150fa0
    00150fe4
    00150fe4 // align 0x10
    00150ff0
    00150ff0camlText.do_do_put_1083:
    00150ff0lea r10, [rsp-328]
    00150ff8cmp r10, [r14+40]
    00150ffcjb 0x151049
    00150ffe
    00150ffeloc_150ffe:
    00150ffesub rsp, 8
    00151002mov [rsp], rax
    00151006call camlText.is_empty_line_1074
    0015100bcmp rax, 1
    0015100fje 0x15101c
    00151011lea rbx, [rip+0x1960b0]
    00151018jmp 0x151020
    0015101a
    0015101a 66 90 f.
    0015101c
    0015101cloc_15101c:
    0015101cmov rbx, [rsp]
    00151020
    00151020loc_151020:
    00151020lea rax, [rip+0x195a91]
    00151027mov rax, [rax+792]
    0015102emov rax, [rax]
    00151031mov rax, [rax+16]
    00151035lea rdi, [rip+0x1d09bc]
    0015103cmov rdi, [rdi+48]
    00151040add rsp, 8
    00151044jmp 0x18a0c0
    00151049
    00151049loc_151049:
    00151049push 34
    0015104bcall caml_call_realloc_stack
    00151050pop r10
    00151052jmp 0x150ffe
    00150ff0
    00151054
    00151054 // align 0x10
    00151060
    00151060camlText.do_put_line_1086:
    00151060lea r10, [rsp-360]
    00151068cmp r10, [r14+40]
    0015106cjb 0x1515d9
    00151072
    00151072loc_151072:
    00151072sub rsp, 40
    00151076mov r12, rax
    00151079mov [rsp+32], r12
    0015107emov rax, [r12-8]
    00151083shr rax, 10
    00151087lea rax, [8*rax-1]
    0015108fmovzx rbx, [r12+rax]
    00151094sub rax, rbx
    00151097lea r13, [rax+rax+1]
    0015109cmov [rsp+24], r13
    001510a1mov rbx, r13
    001510a4add rbx, -2
    001510a8mov rdi, rbx
    001510absar rdi, 1
    001510aecmp rax, rdi
    001510b1jbe 0x1515d4
    001510b7movzx rax, [r12+rdi]
    001510bclea rax, [rax+rax+1]
    001510c1cmp rax, 21
    001510c5jne 0x1510d4
    001510c7mov r13, rbx
    001510camov [rsp+16], r13
    001510cfjmp 0x1510d9
    001510d1nop [rax]
    001510d4
    001510d4loc_1510d4:
    001510d4mov [rsp+16], r13
    001510d9
    001510d9loc_1510d9:
    001510d9mov eax, 1
    001510demov edi, 1
    001510e3mov rbx, r13
    001510e6add rbx, -2
    001510eacmp rdi, rbx
    001510edjg 0x151157
    001510ef
    001510efloc_1510ef:
    001510efcmp rax, 1
    001510f3jne 0x15113c
    001510f5mov rax, rdi
    001510f8sar rax, 1
    001510fbmov rsi, [r12-8]
    00151100shr rsi, 10
    00151104lea rsi, [8*rsi-1]
    0015110cmovzx rdx, [r12+rsi]
    00151111sub rsi, rdx
    00151114cmp rsi, rax
    00151117jbe 0x1515d4
    0015111dmovzx rax, [r12+rax]
    00151122lea rax, [rax+rax+1]
    00151127cmp rax, 65
    0015112bsetne al
    0015112emovzx rax, al
    00151132lea rax, [rax+rax+1]
    00151137jmp 0x151141
    00151139nop [rax]
    0015113c
    0015113cloc_15113c:
    0015113cmov eax, 3
    00151141
    00151141loc_151141:
    00151141mov rsi, rdi
    00151144add rdi, 2
    00151148cmp rsi, rbx
    0015114bje 0x151157
    0015114dcmp r15, [r14]
    00151150ja 0x1510ef
    00151152jmp 0x1515ca
    00151157
    00151157loc_151157:
    00151157cmp rax, 1
    0015115bje 0x1511a8
    0015115dlea rsi, [rip+0x195f64]
    00151164mov rdi, r12
    00151167mov rbx, rsp
    0015116amov rsp, [r14+64]
    0015116ecall caml_string_notequal
    00151173mov rsp, rbx
    00151176cmp rax, 1
    0015117aje 0x1511a8
    0015117clea rsi, [rip+0x1969b5]
    00151183lea rax, [rip+0x19592e]
    0015118amov rax, [rax+824]
    00151191mov rdi, [rax+112]
    00151195mov rbx, rsp
    00151198mov rsp, [r14+64]
    0015119ccall caml_string_notequal
    001511a1mov rsp, rbx
    001511a4jmp 0x1511ad
    001511a6nop
    001511a8
    001511a8loc_1511a8:
    001511a8mov eax, 1
    001511ad
    001511adloc_1511ad:
    001511admov [rsp+8], rax
    001511b2lea rax, [rip+0x1958ff]
    001511b9mov rbx, [rax+824]
    001511c0mov rax, [rbx+48]
    001511c4sar rax, 1
    001511c7cmp rax, 1
    001511cbje 0x1511d8
    001511cdja 0x151214
    001511cfmov rbx, r12
    001511d2mov [rsp], rbx
    001511d6jmp 0x15123d
    001511d8
    001511d8loc_1511d8:
    001511d8mov rax, [rbx+80]
    001511dcsub r13, rax
    001511dfmov rax, [rbx+64]
    001511e3sub rax, r13
    001511e6sar rax, 1
    001511e9mov rbx, rax
    001511ecshr rbx, 63
    001511f0add rax, rbx
    001511f3or rax, 1
    001511f7mov ebx, 65
    001511fccall Stdlib.Bytes.make
    00151201mov rbx, [rsp+32]
    00151206call camlStdlib.$5e_139
    0015120bmov rbx, rax
    0015120emov [rsp], rbx
    00151212jmp 0x15123d
    00151214
    00151214loc_151214:
    00151214mov rdi, [rbx+80]
    00151218mov rax, [rbx+64]
    0015121csub rax, r13
    0015121fadd rax, rdi
    00151222mov ebx, 65
    00151227call Stdlib.Bytes.make
    0015122cmov rbx, [rsp+32]
    00151231call camlStdlib.$5e_139
    00151236mov rbx, rax
    00151239mov [rsp], rbx
    0015123d
    0015123dloc_15123d:
    0015123dlea rax, [rip+0x1d8e2c]
    00151244mov rax, [rax+80]
    00151248mov rax, [rax]
    0015124bcmp rax, 7
    0015124fjle 0x151262
    00151251lea rax, [rip+0x195e60]
    00151258call camlStdlib.$5e_139
    0015125dcall camlStdlib.prerr_endline_390
    00151262
    00151262loc_151262:
    00151262mov rax, [rsp]
    00151266call camlText.do_do_put_1083
    0015126bmov rax, [rsp+8]
    00151270cmp rax, 1
    00151274je 0x1515ac
    0015127amov ebx, 65
    0015127fmov rax, [rsp+24]
    00151284call Stdlib.Bytes.make
    00151289mov rsi, rax
    0015128clea rax, [rip+0x195825]
    00151293mov rax, [rax+824]
    0015129amov rdi, [rax+112]
    0015129emov rax, [rdi-8]
    001512a2shr rax, 10
    001512a6lea rax, [8*rax-1]
    001512aemovzx rbx, [rdi+rax]
    001512b3sub rax, rbx
    001512b6lea r8, [rax+rax+1]
    001512bbcmp r8, 1
    001512bfjne 0x151388
    001512c5lea rsi, [rip+0x19686c]
    001512ccmov rbx, rsp
    001512cfmov rsp, [r14+64]
    001512d3call caml_string_notequal
    001512d8mov rsp, rbx
    001512dbcmp rax, 1
    001512dfje 0x1512ec
    001512e1lea rbx, [rip+0x195d88]
    001512e8jmp 0x1512f3
    001512eanop
    001512ec
    001512ecloc_1512ec:
    001512eclea rbx, [rip+0x195d6d]
    001512f3
    001512f3loc_1512f3:
    001512f3lea rax, [rip+0x195d86]
    001512facall camlStdlib.$5e_139
    001512ffmov [rsp+8], rax
    00151304lea rax, [rip+0x1957ad]
    0015130bmov rax, [rax+824]
    00151312mov rax, [rax+112]
    00151316mov [rsp+16], rax
    0015131bmov [rsp], rax
    0015131fcall Stdlib.Bytes.unsafe_escape
    00151324mov rbx, [rsp]
    00151328cmp rbx, rax
    0015132bjne 0x151332
    0015132dmov rax, [rsp+16]
    00151332
    00151332loc_151332:
    00151332mov rbx, [rsp+8]
    00151337call camlStdlib.$5e_139
    0015133cmov rbx, rax
    0015133flea rax, [rip+0x195d4a]
    00151346call camlStdlib.$5e_139
    0015134bsub r15, 24
    0015134fcmp r15, [r14]
    00151352jb 0x1515c0
    00151358
    00151358loc_151358:
    00151358lea rbx, [r15+8]
    0015135cmov [rbx-8], 2048
    00151364lea rdi, [rip+0x1d8d05]
    0015136bmov rdi, [rdi]
    0015136emov [rbx], rdi
    00151371mov [rbx+8], rax
    00151375mov rax, rbx
    00151378mov rsp, [r14+48]
    0015137cpop [r14+48]
    00151380pop r11
    00151382jmp r11
    00151385nop [rax]
    00151388
    00151388loc_151388:
    00151388mov [rsp], rsi
    0015138clea rax, [rip+0x195725]
    00151393mov rax, [rax+824]
    0015139amov rbx, [rax+80]
    0015139emov r9, [rsp+16]
    001513a3mov rdi, r9
    001513a6add rdi, -2
    001513aacmp rbx, rdi
    001513adjg 0x151472
    001513b3
    001513b3loc_1513b3:
    001513b3mov rcx, r8
    001513b6sar rcx, 1
    001513b9lea rax, [rip+0x1956f8]
    001513c0mov rax, [rax+824]
    001513c7mov rdx, [rax+80]
    001513cbmov rax, rbx
    001513cesub rax, rdx
    001513d1inc rax
    001513d4sar rax, 1
    001513d7test rcx, rcx
    001513daje 0x1513e4
    001513dccqo
    001513deidiv rcx
    001513e1jmp 0x1513f0
    001513e3nop
    001513e4
    001513e4loc_1513e4:
    001513e4lea rax, [rip+0x124d25]
    001513ebcall caml_raise_exn
    001513f0
    001513f0loc_1513f0:
    001513f0shl rdx, 1
    001513f3sar rdx, 1
    001513f6lea rax, [rip+0x1956bb]
    001513fdmov rax, [rax+824]
    00151404mov rax, [rax+112]
    00151408mov rcx, [rax-8]
    0015140cshr rcx, 10
    00151410lea rcx, [8*rcx-1]
    00151418movzx r12, [rax+rcx]
    0015141dsub rcx, r12
    00151420cmp rcx, rdx
    00151423jbe 0x1515d4
    00151429movzx rax, [rax+rdx]
    0015142emov rdx, rbx
    00151431sar rdx, 1
    00151434mov rcx, [rsi-8]
    00151438shr rcx, 10
    0015143clea rcx, [8*rcx-1]
    00151444movzx r12, [rsi+rcx]
    00151449sub rcx, r12
    0015144ccmp rcx, rdx
    0015144fjbe 0x1515d4
    00151455mov [rsi+rdx], al
    00151458mov rax, rbx
    0015145badd rbx, 2
    0015145fcmp rax, rdi
    00151462je 0x151472
    00151464cmp r15, [r14]
    00151467ja 0x1513b3
    0015146djmp 0x1515b6
    00151472
    00151472loc_151472:
    00151472mov rax, [rsp+24]
    00151477cmp rax, r9
    0015147aje 0x1514ab
    0015147cmov rax, r9
    0015147fsar rax, 1
    00151482mov rbx, [rsi-8]
    00151486shr rbx, 10
    0015148alea rbx, [8*rbx-1]
    00151492movzx rdi, [rsi+rbx]
    00151497sub rbx, rdi
    0015149acmp rbx, rax
    0015149djbe 0x1515d4
    001514a3mov ebx, 10
    001514a8mov [rsi+rax], bl
    001514ab
    001514abloc_1514ab:
    001514ablea rax, [rip+0x195606]
    001514b2mov rbx, [rax+824]
    001514b9mov rax, [rbx+48]
    001514bdsar rax, 1
    001514c0cmp rax, 1
    001514c4je 0x1514d4
    001514c6ja 0x151524
    001514c8mov rax, rsi
    001514cbmov [rsp], rax
    001514cfjmp 0x151549
    001514d1nop [rax]
    001514d4
    001514d4loc_1514d4:
    001514d4mov rax, [rbx+80]
    001514d8sar rax, 1
    001514dbmov rdi, rax
    001514deshr rdi, 63
    001514e2add rax, rdi
    001514e5or rax, 1
    001514e9mov rbx, [rbx+64]
    001514edsub rbx, r9
    001514f0inc rbx
    001514f3sar rbx, 1
    001514f6mov rdi, rbx
    001514f9shr rdi, 63
    001514fdadd rbx, rdi
    00151500or rbx, 1
    00151504lea rax, [rbx+rax-1]
    00151509mov ebx, 65
    0015150ecall Stdlib.Bytes.make
    00151513mov rbx, [rsp]
    00151517call Stdlib.Bytes.cat
    0015151cmov [rsp], rax
    00151520jmp 0x151549
    00151522nop
    00151524
    00151524loc_151524:
    00151524mov rdi, [rbx+80]
    00151528mov rax, [rbx+64]
    0015152csub rax, r9
    0015152fadd rax, rdi
    00151532mov ebx, 65
    00151537call Stdlib.Bytes.make
    0015153cmov rbx, [rsp]
    00151540call Stdlib.Bytes.cat
    00151545mov [rsp], rax
    00151549
    00151549loc_151549:
    00151549lea rbx, [rip+0x1d8b20]
    00151550mov rbx, [rbx+80]
    00151554mov rbx, [rbx]
    00151557cmp rbx, 7
    0015155bjle 0x15159d
    0015155dcall Stdlib.Bytes.copy
    00151562mov [rsp+16], rax
    00151567mov rax, [rsp+32]
    0015156cmov [rsp+8], rax
    00151571lea rbx, [rip+0x197ad0]
    00151578lea rax, [rip+0x1dc099]
    0015157fmov rax, [rax+312]
    00151586call Stdlib.Printf.fprintf
    0015158bmov rdi, rax
    0015158emov rax, [rsp+8]
    00151593mov rbx, [rsp+16]
    00151598call caml_apply2
    0015159d
    0015159dloc_15159d:
    0015159dmov rax, [rsp]
    001515a1add rsp, 40
    001515a5jmp 0x150ff0
    001515aanop
    001515ac
    001515acloc_1515ac:
    001515acmov eax, 1
    001515b1add rsp, 40
    001515b5ret
    001515b6
    001515b6loc_1515b6:
    001515b6call caml_call_gc
    001515bbjmp 0x1513b3
    001515c0
    001515c0loc_1515c0:
    001515c0call caml_call_gc
    001515c5jmp 0x151358
    001515ca
    001515caloc_1515ca:
    001515cacall caml_call_gc
    001515cfjmp 0x1510ef
    001515d4
    001515d4loc_1515d4:
    001515d4call caml_ml_array_bound_error
    001515d9
    001515d9loc_1515d9:
    001515d9push 38
    001515dbcall caml_call_realloc_stack
    001515e0pop r10
    001515e2jmp 0x151072
    00151060
    001515e7
    001515e7 // align 0x10
    001515f0
    001515f0camlText.do_flush_1102:
    001515f0lea r10, [rsp-320]
    001515f8cmp r10, [r14+40]
    001515fcjb 0x1516a9
    00151602
    00151602loc_151602:
    00151602lea rax, [rip+0x1d8a67]
    00151609mov rax, [rax+80]
    0015160dmov rax, [rax]
    00151610cmp rax, 7
    00151614jle 0x15165f
    00151616lea rax, [rip+0x19549b]
    0015161dmov rbx, [rax+824]
    00151624mov rdi, [rbx+72]
    00151628cmp rdi, 1
    0015162cjle 0x15165f
    0015162emov rax, [rax+888]
    00151635mov ebx, 1
    0015163acall Stdlib.Bytes.sub
    0015163flea rbx, [rip+0x195a3a]
    00151646call camlStdlib.$5e_139
    0015164bmov rbx, rax
    0015164elea rax, [rip+0x1979db]
    00151655call camlStdlib.$5e_139
    0015165acall camlStdlib.prerr_endline_390
    0015165f
    0015165floc_15165f:
    0015165flea rax, [rip+0x195452]
    00151666mov rbx, [rax+824]
    0015166dmov rdi, [rbx+72]
    00151671cmp rdi, 1
    00151675jle 0x15168d
    00151677mov rax, [rax+888]
    0015167emov ebx, 1
    00151683call Stdlib.Bytes.sub
    00151688call camlText.do_put_line_1086
    0015168d
    0015168dloc_15168d:
    0015168dlea rax, [rip+0x195424]
    00151694mov rax, [rax+824]
    0015169bmov [rax+72], -1
    001516a3mov eax, 1
    001516a8ret
    001516a9
    001516a9loc_1516a9:
    001516a9push 33
    001516abcall caml_call_realloc_stack
    001516b0pop r10
    001516b2jmp 0x151602
    001515f0
    001516b7
    001516b7 // align 0x10
    001516c0
    001516c0camlText.do_put_char_format_1105:
    001516c0lea r10, [rsp-344]
    001516c8cmp r10, [r14+40]
    001516ccjb 0x151e97
    001516d2
    001516d2loc_1516d2:
    001516d2sub rsp, 24
    001516d6mov [rsp], rax
    001516damov [rsp+16], rbx
    001516dflea rax, [rip+0x1d898a]
    001516e6mov rax, [rax+80]
    001516eamov rax, [rax]
    001516edcmp rax, 7
    001516f1jle 0x15177f
    001516f7lea rax, [rip+0x1953ba]
    001516femov rax, [rax+824]
    00151705mov rax, [rax+64]
    00151709call camlStdlib.string_of_int_175
    0015170emov rbx, rax
    00151711lea rax, [rip+0x1978b8]
    00151718call camlStdlib.$5e_139
    0015171dmov [rsp+8], rax
    00151722lea rax, [rip+0x19538f]
    00151729mov rax, [rax+824]
    00151730mov rax, [rax+72]
    00151734call camlStdlib.string_of_int_175
    00151739mov rbx, [rsp+8]
    0015173ecall camlStdlib.$5e_139
    00151743mov rbx, rax
    00151746lea rax, [rip+0x1978b3]
    0015174dcall camlStdlib.$5e_139
    00151752mov [rsp+8], rax
    00151757mov rax, [rsp+16]
    0015175ccall Stdlib.Char.escaped
    00151761mov rbx, [rsp+8]
    00151766call camlStdlib.$5e_139
    0015176bmov rbx, rax
    0015176elea rax, [rip+0x19789b]
    00151775call camlStdlib.$5e_139
    0015177acall camlStdlib.prerr_endline_390
    0015177f
    0015177floc_15177f:
    0015177fmov rax, [rsp]
    00151783cmp rax, 1
    00151787jne 0x1517aa
    00151789mov rax, [rsp+16]
    0015178ecmp rax, 65
    00151792jne 0x1517aa
    00151794lea rax, [rip+0x19531d]
    0015179bmov rax, [rax+824]
    001517a2mov rbx, [rax+72]
    001517a6mov [rax+96], rbx
    001517aa
    001517aaloc_1517aa:
    001517aalea rax, [rip+0x195307]
    001517b1mov rbx, [rax+824]
    001517b8mov rax, [rbx+72]
    001517bccmp rax, -1
    001517c0jne 0x151859
    001517c6mov rax, [rbx+104]
    001517camov rdi, rbx
    001517cdmov rsi, [rdi+80]
    001517d1lea rax, [rsi+rax-1]
    001517d6mov [rbx+72], rax
    001517damov eax, 1
    001517dfmov rbx, [rdi+72]
    001517e3add rbx, -2
    001517e7cmp rax, rbx
    001517eajg 0x15183f
    001517ec
    001517ecloc_1517ec:
    001517ecmov rdi, rax
    001517efsar rdi, 1
    001517f2lea rsi, [rip+0x1952bf]
    001517f9mov rsi, [rsi+888]
    00151800mov rdx, [rsi-8]
    00151804shr rdx, 10
    00151808lea rdx, [8*rdx-1]
    00151810movzx rcx, [rsi+rdx]
    00151815sub rdx, rcx
    00151818cmp rdx, rdi
    0015181bjbe 0x151e92
    00151821mov edx, 32
    00151826mov [rsi+rdi], dl
    00151829mov rdi, rax
    0015182cadd rax, 2
    00151830cmp rdi, rbx
    00151833je 0x15183f
    00151835cmp r15, [r14]
    00151838ja 0x1517ec
    0015183ajmp 0x151e88
    0015183f
    0015183floc_15183f:
    0015183flea rax, [rip+0x195272]
    00151846mov rax, [rax+824]
    0015184dmov rbx, [rax+72]
    00151851add rbx, -2
    00151855mov [rax+96], rbx
    00151859
    00151859loc_151859:
    00151859mov r8, [rsp+16]
    0015185emov rbx, r8
    00151861sar rbx, 1
    00151864lea rax, [rip+0x19524d]
    0015186bmov rdi, [rax+824]
    00151872mov rsi, [rdi+72]
    00151876sar rsi, 1
    00151879mov rax, [rax+888]
    00151880mov rdx, [rax-8]
    00151884shr rdx, 10
    00151888lea rdx, [8*rdx-1]
    00151890movzx rcx, [rax+rdx]
    00151895sub rdx, rcx
    00151898cmp rdx, rsi
    0015189bjbe 0x151e92
    001518a1mov [rax+rsi], bl
    001518a4cmp r8, 21
    001518a8jne 0x151928
    001518aalea rbx, [rip+0x1d87bf]
    001518b1mov rbx, [rbx+80]
    001518b5mov rbx, [rbx]
    001518b8cmp rbx, 5
    001518bcjle 0x1518e3
    001518becall Stdlib.Bytes.copy
    001518c3lea rbx, [rip+0x1976de]
    001518cacall camlStdlib.$5e_139
    001518cfmov rbx, rax
    001518d2lea rax, [rip+0x1976df]
    001518d9call camlStdlib.$5e_139
    001518decall camlStdlib.prerr_endline_390
    001518e3
    001518e3loc_1518e3:
    001518e3lea rax, [rip+0x1951ce]
    001518eamov rbx, [rax+824]
    001518f1mov rdi, [rbx+72]
    001518f5add rdi, 2
    001518f9mov rax, [rax+888]
    00151900mov ebx, 1
    00151905call Stdlib.Bytes.sub
    0015190acall camlText.do_put_line_1086
    0015190flea rax, [rip+0x1951a2]
    00151916mov rax, [rax+824]
    0015191dmov [rax+72], -1
    00151925jmp 0x151934
    00151927
    00151927 90 .
    00151928
    00151928loc_151928:
    00151928mov rax, [rdi+72]
    0015192cadd rax, 2
    00151930mov [rdi+72], rax
    00151934
    00151934loc_151934:
    00151934lea rax, [rip+0x19517d]
    0015193bmov rbx, [rax+824]
    00151942mov rdi, [rbx+88]
    00151946add rdi, 2
    0015194amov rsi, [rbx+72]
    0015194ecmp rsi, rdi
    00151951jle 0x151e60
    00151957mov rdi, [rbx+64]
    0015195bmov rbx, [rbx+96]
    0015195fsub rsi, rbx
    00151962inc rsi
    00151965cmp rsi, rdi
    00151968jl 0x151ae8
    0015196elea rbx, [rip+0x1d86fb]
    00151975mov rbx, [rbx+80]
    00151979mov rbx, [rbx]
    0015197ccmp rbx, 5
    00151980jle 0x1519a2
    00151982mov rax, [rax+888]
    00151989call Stdlib.Bytes.copy
    0015198emov rbx, rax
    00151991lea rax, [rip+0x1975f8]
    00151998call camlStdlib.$5e_139
    0015199dcall camlStdlib.prerr_endline_390
    001519a2
    001519a2loc_1519a2:
    001519a2lea rax, [rip+0x1975cf]
    001519a9call camlMisc.warning_287
    001519aelea rax, [rip+0x195103]
    001519b5mov rbx, [rax+824]
    001519bcmov rdi, [rbx+72]
    001519c0add rdi, -2
    001519c4sar rdi, 1
    001519c7mov rax, [rax+888]
    001519cemov rsi, [rax-8]
    001519d2shr rsi, 10
    001519d6lea rsi, [8*rsi-1]
    001519demovzx rdx, [rax+rsi]
    001519e3sub rsi, rdx
    001519e6cmp rsi, rdi
    001519e9jbe 0x151e92
    001519efmov esi, 10
    001519f4mov [rax+rdi], sil
    001519f8mov rdi, [rbx+72]
    001519fcmov ebx, 1
    00151a01call Stdlib.Bytes.sub
    00151a06call camlText.do_put_line_1086
    00151a0bmov eax, 1
    00151a10lea rbx, [rip+0x1950a1]
    00151a17mov rbx, [rbx+824]
    00151a1emov rbx, [rbx+80]
    00151a22add rbx, -2
    00151a26cmp rax, rbx
    00151a29jg 0x151a7e
    00151a2b
    00151a2bloc_151a2b:
    00151a2bmov rdi, rax
    00151a2esar rdi, 1
    00151a31lea rsi, [rip+0x195080]
    00151a38mov rsi, [rsi+888]
    00151a3fmov rdx, [rsi-8]
    00151a43shr rdx, 10
    00151a47lea rdx, [8*rdx-1]
    00151a4fmovzx rcx, [rsi+rdx]
    00151a54sub rdx, rcx
    00151a57cmp rdx, rdi
    00151a5ajbe 0x151e92
    00151a60mov edx, 32
    00151a65mov [rsi+rdi], dl
    00151a68mov rdi, rax
    00151a6badd rax, 2
    00151a6fcmp rdi, rbx
    00151a72je 0x151a7e
    00151a74cmp r15, [r14]
    00151a77ja 0x151a2b
    00151a79jmp 0x151e7e
    00151a7e
    00151a7eloc_151a7e:
    00151a7emov rax, [rsp+16]
    00151a83sar rax, 1
    00151a86lea rbx, [rip+0x19502b]
    00151a8dmov rdi, [rbx+824]
    00151a94mov rsi, [rdi+80]
    00151a98sar rsi, 1
    00151a9bmov rbx, [rbx+888]
    00151aa2mov rdx, [rbx-8]
    00151aa6shr rdx, 10
    00151aaalea rdx, [8*rdx-1]
    00151ab2movzx rcx, [rbx+rdx]
    00151ab7sub rdx, rcx
    00151abacmp rdx, rsi
    00151abdjbe 0x151e92
    00151ac3mov [rbx+rsi], al
    00151ac6mov rax, [rdi+80]
    00151acaadd rax, 2
    00151acemov [rdi+72], rax
    00151ad2mov rax, [rdi+80]
    00151ad6add rax, -2
    00151adamov [rdi+96], rax
    00151ademov eax, 1
    00151ae3add rsp, 24
    00151ae7ret
    00151ae8
    00151ae8loc_151ae8:
    00151ae8lea rbx, [rip+0x1d8581]
    00151aefmov rbx, [rbx+80]
    00151af3mov rbx, [rbx]
    00151af6cmp rbx, 5
    00151afajle 0x151c3b
    00151b00mov rax, [rax+888]
    00151b07call Stdlib.Bytes.copy
    00151b0cmov rbx, rax
    00151b0flea rax, [rip+0x19742a]
    00151b16call camlStdlib.$5e_139
    00151b1bcall camlStdlib.prerr_endline_390
    00151b20lea rax, [rip+0x194f91]
    00151b27mov rax, [rax+824]
    00151b2emov rax, [rax+72]
    00151b32call camlStdlib.string_of_int_175
    00151b37mov rbx, rax
    00151b3alea rax, [rip+0x1973ef]
    00151b41call camlStdlib.$5e_139
    00151b46call camlStdlib.prerr_endline_390
    00151b4blea rax, [rip+0x194f66]
    00151b52mov rax, [rax+824]
    00151b59mov rax, [rax+80]
    00151b5dcall camlStdlib.string_of_int_175
    00151b62mov rbx, rax
    00151b65lea rax, [rip+0x1973ac]
    00151b6ccall camlStdlib.$5e_139
    00151b71call camlStdlib.prerr_endline_390
    00151b76lea rax, [rip+0x194f3b]
    00151b7dmov rax, [rax+824]
    00151b84mov rax, [rax+88]
    00151b88call camlStdlib.string_of_int_175
    00151b8dmov rbx, rax
    00151b90lea rax, [rip+0x197371]
    00151b97call camlStdlib.$5e_139
    00151b9ccall camlStdlib.prerr_endline_390
    00151ba1lea rax, [rip+0x194f10]
    00151ba8mov rax, [rax+824]
    00151bafmov rax, [rax+64]
    00151bb3call camlStdlib.string_of_int_175
    00151bb8mov rbx, rax
    00151bbblea rax, [rip+0x197336]
    00151bc2call camlStdlib.$5e_139
    00151bc7call camlStdlib.prerr_endline_390
    00151bcclea rax, [rip+0x194ee5]
    00151bd3mov rax, [rax+824]
    00151bdamov rax, [rax+96]
    00151bdecall camlStdlib.string_of_int_175
    00151be3mov rbx, rax
    00151be6lea rax, [rip+0x1972e3]
    00151bedcall camlStdlib.$5e_139
    00151bf2call camlStdlib.prerr_endline_390
    00151bf7lea rax, [rip+0x194eba]
    00151bfemov rax, [rax+888]
    00151c05mov rbx, [rax-8]
    00151c09shr rbx, 10
    00151c0dlea rbx, [8*rbx-1]
    00151c15movzx rax, [rax+rbx]
    00151c1asub rbx, rax
    00151c1dlea rax, [rbx+rbx+1]
    00151c22call camlStdlib.string_of_int_175
    00151c27mov rbx, rax
    00151c2alea rax, [rip+0x197287]
    00151c31call camlStdlib.$5e_139
    00151c36call camlStdlib.prerr_endline_390
    00151c3b
    00151c3bloc_151c3b:
    00151c3blea rax, [rip+0x194e76]
    00151c42mov rdi, [rax+824]
    00151c49mov rbx, [rdi+96]
    00151c4dmov rdi, [rdi+72]
    00151c51sub rdi, rbx
    00151c54dec rdi
    00151c57cmp rdi, 1
    00151c5bjne 0x151c6c
    00151c5dlea rax, [rip+0x195ed4]
    00151c64mov [rsp], rax
    00151c68jmp 0x151c80
    00151c6a
    00151c6a 66 90 f.
    00151c6c
    00151c6cloc_151c6c:
    00151c6cadd rbx, 2
    00151c70mov rax, [rax+888]
    00151c77call Stdlib.Bytes.sub
    00151c7cmov [rsp], rax
    00151c80
    00151c80loc_151c80:
    00151c80lea rax, [rip+0x194e31]
    00151c87mov rbx, [rax+824]
    00151c8emov rdi, [rbx+96]
    00151c92sar rdi, 1
    00151c95mov rax, [rax+888]
    00151c9cmov rsi, [rax-8]
    00151ca0shr rsi, 10
    00151ca4lea rsi, [8*rsi-1]
    00151cacmovzx rdx, [rax+rsi]
    00151cb1sub rsi, rdx
    00151cb4cmp rsi, rdi
    00151cb7jbe 0x151e92
    00151cbdmov esi, 10
    00151cc2mov [rax+rdi], sil
    00151cc6mov rdi, [rbx+96]
    00151ccaadd rdi, 2
    00151ccemov ebx, 1
    00151cd3call Stdlib.Bytes.sub
    00151cd8call camlText.do_put_line_1086
    00151cddmov eax, 1
    00151ce2lea rbx, [rip+0x194dcf]
    00151ce9mov rbx, [rbx+824]
    00151cf0mov rbx, [rbx+80]
    00151cf4add rbx, -2
    00151cf8cmp rax, rbx
    00151cfbjg 0x151d50
    00151cfd
    00151cfdloc_151cfd:
    00151cfdmov rdi, rax
    00151d00sar rdi, 1
    00151d03lea rsi, [rip+0x194dae]
    00151d0amov rsi, [rsi+888]
    00151d11mov rdx, [rsi-8]
    00151d15shr rdx, 10
    00151d19lea rdx, [8*rdx-1]
    00151d21movzx rcx, [rsi+rdx]
    00151d26sub rdx, rcx
    00151d29cmp rdx, rdi
    00151d2cjbe 0x151e92
    00151d32mov edx, 32
    00151d37mov [rsi+rdi], dl
    00151d3amov rdi, rax
    00151d3dadd rax, 2
    00151d41cmp rdi, rbx
    00151d44je 0x151d50
    00151d46cmp r15, [r14]
    00151d49ja 0x151cfd
    00151d4bjmp 0x151e74
    00151d50
    00151d50loc_151d50:
    00151d50lea rax, [rip+0x194d61]
    00151d57mov rax, [rax+824]
    00151d5emov rbx, [rax+80]
    00151d62mov rdi, [rsp]
    00151d66mov rax, [rdi-8]
    00151d6ashr rax, 10
    00151d6elea rax, [8*rax-1]
    00151d76movzx rsi, [rdi+rax]
    00151d7bsub rax, rsi
    00151d7elea rsi, [rbx+2*rax-2]
    00151d83cmp rbx, rsi
    00151d86jg 0x151e18
    00151d8c
    00151d8cloc_151d8c:
    00151d8clea rax, [rip+0x194d25]
    00151d93mov rdx, [rax+824]
    00151d9amov rdx, [rdx+80]
    00151d9emov rcx, rbx
    00151da1sub rcx, rdx
    00151da4inc rcx
    00151da7sar rcx, 1
    00151daamov rdx, [rdi-8]
    00151daeshr rdx, 10
    00151db2lea rdx, [8*rdx-1]
    00151dbamovzx r8, [rdi+rdx]
    00151dbfsub rdx, r8
    00151dc2cmp rdx, rcx
    00151dc5jbe 0x151e92
    00151dcbmovzx rdx, [rdi+rcx]
    00151dd0mov rcx, rbx
    00151dd3sar rcx, 1
    00151dd6mov rax, [rax+888]
    00151dddmov r8, [rax-8]
    00151de1shr r8, 10
    00151de5lea r8, [8*r8-1]
    00151dedmovzx r9, [rax+r8]
    00151df2sub r8, r9
    00151df5cmp r8, rcx
    00151df8jbe 0x151e92
    00151dfemov [rax+rcx], dl
    00151e01mov rax, rbx
    00151e04add rbx, 2
    00151e08cmp rax, rsi
    00151e0bje 0x151e18
    00151e0dcmp r15, [r14]
    00151e10ja 0x151d8c
    00151e16jmp 0x151e6a
    00151e18
    00151e18loc_151e18:
    00151e18lea rax, [rip+0x194c99]
    00151e1fmov rax, [rax+824]
    00151e26mov rbx, [rdi-8]
    00151e2ashr rbx, 10
    00151e2elea rbx, [8*rbx-1]
    00151e36movzx rdi, [rdi+rbx]
    00151e3bsub rbx, rdi
    00151e3emov rdi, [rax+80]
    00151e42lea rbx, [rdi+2*rbx]
    00151e46mov [rax+72], rbx
    00151e4amov rbx, [rax+80]
    00151e4eadd rbx, -2
    00151e52mov [rax+96], rbx
    00151e56mov eax, 1
    00151e5badd rsp, 24
    00151e5fret
    00151e60
    00151e60loc_151e60:
    00151e60mov eax, 1
    00151e65add rsp, 24
    00151e69ret
    00151e6a
    00151e6aloc_151e6a:
    00151e6acall caml_call_gc
    00151e6fjmp 0x151d8c
    00151e74
    00151e74loc_151e74:
    00151e74call caml_call_gc
    00151e79jmp 0x151cfd
    00151e7e
    00151e7eloc_151e7e:
    00151e7ecall caml_call_gc
    00151e83jmp 0x151a2b
    00151e88
    00151e88loc_151e88:
    00151e88call caml_call_gc
    00151e8djmp 0x1517ec
    00151e92
    00151e92loc_151e92:
    00151e92call caml_ml_array_bound_error
    00151e97
    00151e97loc_151e97:
    00151e97push 36
    00151e99call caml_call_realloc_stack
    00151e9epop r10
    00151ea0jmp 0x1516d2
    001516c0
    00151ea5
    00151ea5 // align 0x10
    00151eb0
    00151eb0camlText.direct_output_1126:
    00151eb0lea rax, [rip+0x194c01]
    00151eb7mov rax, [rax+792]
    00151ebemov rax, [rax]
    00151ec1mov rbx, [rax+24]
    00151ec5cmp rbx, 1
    00151ec9jne 0x151ee0
    00151ecbmov rax, [rax+16]
    00151ecflea rbx, [rip+0x1cfb22]
    00151ed6mov rbx, [rbx+24]
    00151edajmp 0x189e90
    00151edf
    00151edf 90 .
    00151ee0
    00151ee0loc_151ee0:
    00151ee0mov eax, 3
    00151ee5ret
    00151eb0
    00151ee6
    00151ee6 // align 0x10
    00151ef0
    00151ef0camlText.do_put_char_1129:
    00151ef0lea r10, [rsp-344]
    00151ef8cmp r10, [r14+40]
    00151efcjb 0x151fba
    00151f02
    00151f02loc_151f02:
    00151f02sub rsp, 24
    00151f06mov rbx, rax
    00151f09mov [rsp], rbx
    00151f0dlea rax, [rip+0x1d815c]
    00151f14mov rax, [rax+80]
    00151f18mov rax, [rax]
    00151f1bcmp rax, 7
    00151f1fjle 0x151f69
    00151f21mov eax, 3
    00151f26call Stdlib.Bytes.make
    00151f2bmov [rsp+16], rax
    00151f30mov [rsp+8], rax
    00151f35call Stdlib.Bytes.unsafe_escape
    00151f3amov rbx, [rsp+8]
    00151f3fcmp rbx, rax
    00151f42jne 0x151f49
    00151f44mov rax, [rsp+16]
    00151f49
    00151f49loc_151f49:
    00151f49lea rbx, [rip+0x196f40]
    00151f50call camlStdlib.$5e_139
    00151f55mov rbx, rax
    00151f58lea rax, [rip+0x196f41]
    00151f5fcall camlStdlib.$5e_139
    00151f64call camlStdlib.prerr_endline_390
    00151f69
    00151f69loc_151f69:
    00151f69mov eax, 1
    00151f6ecall camlText.direct_output_1126
    00151f73cmp rax, 1
    00151f77je 0x151fa8
    00151f79lea rax, [rip+0x194b38]
    00151f80mov rax, [rax+792]
    00151f87mov rax, [rax]
    00151f8amov rax, [rax+16]
    00151f8elea rbx, [rip+0x1cfa63]
    00151f95mov rdi, [rbx+64]
    00151f99mov rbx, [rsp]
    00151f9dadd rsp, 24
    00151fa1jmp 0x18a170
    00151fa6
    00151fa6 66 90 f.
    00151fa8
    00151fa8loc_151fa8:
    00151fa8mov eax, 1
    00151fadmov rbx, [rsp]
    00151fb1add rsp, 24
    00151fb5jmp 0x1516c0
    00151fba
    00151fbaloc_151fba:
    00151fbapush 36
    00151fbccall caml_call_realloc_stack
    00151fc1pop r10
    00151fc3jmp 0x151f02
    00151ef0
    00151fc8
    00151fc8 // align 0x10
    00151fd0
    00151fd0camlText.do_put_nbsp_1130:
    00151fd0lea r10, [rsp-320]
    00151fd8cmp r10, [r14+40]
    00151fdcjb 0x152027
    00151fde
    00151fdeloc_151fde:
    00151fdemov eax, 1
    00151fe3call camlText.direct_output_1126
    00151fe8cmp rax, 1
    00151fecje 0x152018
    00151feelea rax, [rip+0x194ac3]
    00151ff5mov rax, [rax+792]
    00151ffcmov rax, [rax]
    00151fffmov rax, [rax+16]
    00152003lea rbx, [rip+0x1cf9ee]
    0015200amov rdi, [rbx+64]
    0015200emov ebx, 65
    00152013jmp 0x18a170
    00152018
    00152018loc_152018:
    00152018mov ebx, 65
    0015201dmov eax, 3
    00152022jmp 0x1516c0
    00152027
    00152027loc_152027:
    00152027push 33
    00152029call caml_call_realloc_stack
    0015202epop r10
    00152030jmp 0x151fde
    00151fd0
    00152032
    00152032 // align 0x10
    00152040
    00152040camlText.finit_ligne_1135:
    00152040lea r10, [rsp-320]
    00152048cmp r10, [r14+40]
    0015204cjb 0x152096
    0015204e
    0015204eloc_15204e:
    0015204elea rax, [rip+0x1d801b]
    00152055mov rax, [rax+80]
    00152059mov rax, [rax]
    0015205ccmp rax, 7
    00152060jle 0x15206e
    00152062lea rax, [rip+0x196e07]
    00152069call camlStdlib.prerr_endline_390
    0015206e
    0015206eloc_15206e:
    0015206elea rax, [rip+0x194a43]
    00152075mov rax, [rax+824]
    0015207cmov rax, [rax+72]
    00152080cmp rax, 1
    00152084jle 0x152090
    00152086mov eax, 21
    0015208bjmp 0x151ef0
    00152090
    00152090loc_152090:
    00152090mov eax, 1
    00152095ret
    00152096
    00152096loc_152096:
    00152096push 33
    00152098call caml_call_realloc_stack
    0015209dpop r10
    0015209fjmp 0x15204e
    00152040
    001520a1
    001520a1 // align 0x10
    001520b0
    001520b0camlText.do_unskip_1138:
    001520b0lea r10, [rsp-320]
    001520b8cmp r10, [r14+40]
    001520bcjb 0x152279
    001520c2
    001520c2loc_1520c2:
    001520c2lea rax, [rip+0x1949ef]
    001520c9mov rax, [rax+792]
    001520d0mov rax, [rax]
    001520d3mov rbx, [rax+24]
    001520d7cmp rbx, 1
    001520dbjne 0x152238
    001520e1mov rax, [rax+16]
    001520e5lea rbx, [rip+0x1cf90c]
    001520ecmov rbx, [rbx+24]
    001520f0call camlDoOut.fun_1127
    001520f5cmp rax, 1
    001520f9jne 0x152238
    001520ff
    001520ffloc_1520ff:
    001520fflea rdi, [rip+0x1949b2]
    00152106mov rbx, [rdi+824]
    0015210dmov rsi, [rbx+80]
    00152111mov rax, [rbx+72]
    00152115cmp rax, rsi
    00152118jle 0x15216a
    0015211aadd rax, -2
    0015211emov rsi, rax
    00152121sar rsi, 1
    00152124mov rdi, [rdi+888]
    0015212bmov rdx, [rdi-8]
    0015212fshr rdx, 10
    00152133lea rdx, [8*rdx-1]
    0015213bmovzx rcx, [rdi+rdx]
    00152140sub rdx, rcx
    00152143cmp rdx, rsi
    00152146jbe 0x152274
    0015214cmovzx rdi, [rdi+rsi]
    00152151lea rdi, [rdi+rdi+1]
    00152156cmp rdi, 65
    0015215ajne 0x15216a
    0015215cmov [rbx+72], rax
    00152160cmp r15, [r14]
    00152163ja 0x1520ff
    00152165jmp 0x15226a
    0015216a
    0015216aloc_15216a:
    0015216alea rax, [rip+0x194947]
    00152171mov rax, [rax+824]
    00152178mov rbx, [rax+72]
    0015217cmov [rax+96], rbx
    00152180
    00152180loc_152180:
    00152180lea rdi, [rip+0x194931]
    00152187mov rbx, [rdi+824]
    0015218emov rsi, [rbx+80]
    00152192mov rax, [rbx+96]
    00152196cmp rax, rsi
    00152199jl 0x1521e8
    0015219bmov rsi, rax
    0015219esar rsi, 1
    001521a1mov rdi, [rdi+888]
    001521a8mov rdx, [rdi-8]
    001521acshr rdx, 10
    001521b0lea rdx, [8*rdx-1]
    001521b8movzx rcx, [rdi+rdx]
    001521bdsub rdx, rcx
    001521c0cmp rdx, rsi
    001521c3jbe 0x152274
    001521c9movzx rdi, [rdi+rsi]
    001521celea rdi, [rdi+rdi+1]
    001521d3cmp rdi, 65
    001521d7je 0x1521e8
    001521d9add rax, -2
    001521ddmov [rbx+96], rax
    001521e1cmp r15, [r14]
    001521e4ja 0x152180
    001521e6jmp 0x152260
    001521e8
    001521e8loc_1521e8:
    001521e8lea rax, [rip+0x1948c9]
    001521efmov rbx, [rax+824]
    001521f6mov rdi, [rbx+80]
    001521famov rbx, [rbx+72]
    001521fecmp rbx, rdi
    00152201jne 0x152230
    00152203mov rax, [rax+792]
    0015220amov rax, [rax]
    0015220dmov rbx, [rax+24]
    00152211cmp rbx, 1
    00152215je 0x152230
    00152217mov rax, [rax+16]
    0015221blea rbx, [rip+0x1cf7d6]
    00152222mov rbx, [rbx+176]
    00152229jmp 0x18ac40
    0015222e
    0015222e 66 90 f.
    00152230
    00152230loc_152230:
    00152230mov eax, 1
    00152235ret
    00152236
    00152236 66 90 f.
    00152238
    00152238loc_152238:
    00152238lea rax, [rip+0x194879]
    0015223fmov rax, [rax+792]
    00152246mov rax, [rax]
    00152249mov rax, [rax+16]
    0015224dlea rbx, [rip+0x1cf7a4]
    00152254mov rbx, [rbx+176]
    0015225bjmp 0x18ac40
    00152260
    00152260loc_152260:
    00152260call caml_call_gc
    00152265jmp 0x152180
    0015226a
    0015226aloc_15226a:
    0015226acall caml_call_gc
    0015226fjmp 0x1520ff
    00152274
    00152274loc_152274:
    00152274call caml_ml_array_bound_error
    00152279
    00152279loc_152279:
    00152279push 33
    0015227bcall caml_call_realloc_stack
    00152280pop r10
    00152282jmp 0x1520c2
    001520b0
    00152287
    00152287 // align 0x10
    00152290
    00152290camlText.do_put_1141:
    00152290lea r10, [rsp-344]
    00152298cmp r10, [r14+40]
    0015229cjb 0x15239a
    001522a2
    001522a2loc_1522a2:
    001522a2sub rsp, 24
    001522a6mov [rsp+16], rax
    001522ablea rbx, [rip+0x1d7dbe]
    001522b2mov rbx, [rbx+80]
    001522b6mov rbx, [rbx]
    001522b9cmp rbx, 7
    001522bdjle 0x1522f6
    001522bfmov [rsp], rax
    001522c3call Stdlib.Bytes.unsafe_escape
    001522c8mov rbx, [rsp]
    001522cccmp rbx, rax
    001522cfjne 0x1522d6
    001522d1mov rax, [rsp+16]
    001522d6
    001522d6loc_1522d6:
    001522d6lea rbx, [rip+0x196bb3]
    001522ddcall camlStdlib.$5e_139
    001522e2mov rbx, rax
    001522e5lea rax, [rip+0x196b74]
    001522eccall camlStdlib.$5e_139
    001522f1call camlStdlib.prerr_endline_390
    001522f6
    001522f6loc_1522f6:
    001522f6mov eax, 1
    001522fbmov rsi, [rsp+16]
    00152300mov rbx, [rsi-8]
    00152304shr rbx, 10
    00152308lea rbx, [8*rbx-1]
    00152310movzx rdi, [rsi+rbx]
    00152315sub rbx, rdi
    00152318lea rbx, [rbx+rbx-1]
    0015231dcmp rax, rbx
    00152320jg 0x152384
    00152322mov [rsp+8], rbx
    00152327mov [rsp], rax
    0015232bmov [rsp+16], rsi
    00152330
    00152330loc_152330:
    00152330sar rax, 1
    00152333mov rsi, [rsp+16]
    00152338mov rbx, [rsi-8]
    0015233cshr rbx, 10
    00152340lea rbx, [8*rbx-1]
    00152348movzx rdi, [rsi+rbx]
    0015234dsub rbx, rdi
    00152350cmp rbx, rax
    00152353jbe 0x152395
    00152355movzx rax, [rsi+rax]
    0015235alea rax, [rax+rax+1]
    0015235fcall camlText.do_put_char_1129
    00152364mov rax, [rsp]
    00152368mov rbx, rax
    0015236badd rax, 2
    0015236fmov [rsp], rax
    00152373mov rdi, [rsp+8]
    00152378cmp rbx, rdi
    0015237bje 0x152384
    0015237dcmp r15, [r14]
    00152380ja 0x152330
    00152382jmp 0x15238e
    00152384
    00152384loc_152384:
    00152384mov eax, 1
    00152389add rsp, 24
    0015238dret
    0015238e
    0015238eloc_15238e:
    0015238ecall caml_call_gc
    00152393jmp 0x152330
    00152395
    00152395loc_152395:
    00152395call caml_ml_array_bound_error
    0015239a
    0015239aloc_15239a:
    0015239apush 36
    0015239ccall caml_call_realloc_stack
    001523a1pop r10
    001523a3jmp 0x1522a2
    00152290
    001523a8
    001523a8 // align 0x10
    001523b0
    001523b0camlText.is_list_1145:
    001523b0test al, 1
    001523b2je 0x1523c4
    001523b4add rax, -20
    001523b8cmp rax, 5
    001523bcja 0x1523c4
    001523bemov eax, 3
    001523c3ret
    001523c4
    001523c4loc_1523c4:
    001523c4mov eax, 1
    001523c9ret
    001523b0
    001523ca
    001523ca // align 0x10
    001523d0
    001523d0camlText.get_fontsize_1148:
    001523d0mov eax, 7
    001523d5ret
    001523d0
    001523d6
    001523d6 // align 0x10
    001523e0
    001523e0camlText.nostyle_1151:
    001523e0lea rax, [rip+0x1946d1]
    001523e7mov rax, [rax+792]
    001523eemov rax, [rax]
    001523f1mov [rax], 3
    001523f8mov eax, 1
    001523fdret
    001523e0
    001523fe
    001523fe // align 0x10
    00152400
    00152400camlText.clearstyle_1154:
    00152400mov esi, 1
    00152405lea rax, [rip+0x1946ac]
    0015240cmov rax, [rax+792]
    00152413mov rdi, [rax]
    00152416add rdi, 8
    0015241amov rbx, rsp
    0015241dmov rsp, [r14+64]
    00152421call caml_modify
    00152426mov rsp, rbx
    00152429mov eax, 1
    0015242eret
    00152400
    0015242f
    0015242f // align 0x10
    00152430
    00152430camlText.open_mod_1157:
    00152430lea r10, [rsp-328]
    00152438cmp r10, [r14+40]
    0015243cjb 0x1524d5
    00152442
    00152442loc_152442:
    00152442sub rsp, 8
    00152446mov [rsp], rax
    0015244alea rsi, [rip+0x1969ef]
    00152451mov rdi, rax
    00152454lea rax, [rip+0xae485]
    0015245bcall caml_c_call
    00152460cmp rax, 1
    00152464je 0x1524c4
    00152466lea rax, [rip+0x1969c3]
    0015246dcall camlText.do_put_1141
    00152472sub r15, 24
    00152476cmp r15, [r14]
    00152479jb 0x1524ce
    0015247b
    0015247bloc_15247b:
    0015247blea rsi, [r15+8]
    0015247fmov [rsi-8], 2048
    00152487mov rax, [rsp]
    0015248bmov [rsi], rax
    0015248elea rax, [rip+0x194623]
    00152495mov rax, [rax+792]
    0015249cmov rdi, [rax]
    0015249fmov rax, [rdi+8]
    001524a3mov [rsi+8], rax
    001524a7add rdi, 8
    001524abmov rbx, rsp
    001524aemov rsp, [r14+64]
    001524b2call caml_modify
    001524b7mov rsp, rbx
    001524bamov eax, 1
    001524bfadd rsp, 8
    001524c3ret
    001524c4
    001524c4loc_1524c4:
    001524c4mov eax, 1
    001524c9add rsp, 8
    001524cdret
    001524ce
    001524celoc_1524ce:
    001524cecall caml_call_gc
    001524d3jmp 0x15247b
    001524d5
    001524d5loc_1524d5:
    001524d5push 34
    001524d7call caml_call_realloc_stack
    001524dcpop r10
    001524dejmp 0x152442
    00152430
    001524e3
    001524e3 // align 0x10
    001524f0
    001524f0camlText.do_close_mod_1160:
    001524f0movzx rbx, [rax-8]
    001524f5test rbx, rbx
    001524f8jne 0x15252c
    001524famov rax, [rax]
    001524fdmov rbx, [rax-8]
    00152501shr rbx, 10
    00152505cmp rbx, 2
    00152509jge 0x15252c
    0015250bmov rax, [rax]
    0015250emov rbx, 0x300000045444f43
    00152518cmp rax, rbx
    0015251bjne 0x15252c
    0015251dlea rax, [rip+0x19690c]
    00152524jmp 0x152290
    00152529
    00152529 0f 1f 00 ...
    0015252c
    0015252cloc_15252c:
    0015252cmov eax, 1
    00152531ret
    001524f0
    00152532
    00152532 // align 0x10
    00152540
    00152540camlText.close_mod_1163:
    00152540lea r10, [rsp-328]
    00152548cmp r10, [r14+40]
    0015254cjb 0x1525f6
    00152552
    00152552loc_152552:
    00152552sub rsp, 8
    00152556lea rax, [rip+0x19455b]
    0015255dmov rax, [rax+792]
    00152564mov rax, [rax]
    00152567mov rbx, [rax+8]
    0015256btest bl, 1
    0015256eje 0x15257c
    00152570mov eax, 1
    00152575add rsp, 8
    00152579ret
    0015257a
    0015257a 66 90 f.
    0015257c
    0015257cloc_15257c:
    0015257cmov rax, [rbx]
    0015257fmovzx rdi, [rax-8]
    00152584test rdi, rdi
    00152587jne 0x1525ec
    00152589mov rdi, [rax]
    0015258cmov rsi, [rdi-8]
    00152590shr rsi, 10
    00152594cmp rsi, 2
    00152598jge 0x1525ec
    0015259amov rdi, [rdi]
    0015259dmov rsi, 0x300000045444f43
    001525a7cmp rdi, rsi
    001525aajne 0x1525ec
    001525acmov [rsp], rbx
    001525b0call camlText.do_close_mod_1160
    001525b5mov rax, [rsp]
    001525b9mov rsi, [rax+8]
    001525bdlea rax, [rip+0x1944f4]
    001525c4mov rax, [rax+792]
    001525cbmov rdi, [rax]
    001525ceadd rdi, 8
    001525d2mov rbx, rsp
    001525d5mov rsp, [r14+64]
    001525d9call caml_modify
    001525demov rsp, rbx
    001525e1mov eax, 1
    001525e6add rsp, 8
    001525earet
    001525eb
    001525eb 90 .
    001525ec
    001525ecloc_1525ec:
    001525ecmov eax, 1
    001525f1add rsp, 8
    001525f5ret
    001525f6
    001525f6loc_1525f6:
    001525f6push 34
    001525f8call caml_call_realloc_stack
    001525fdpop r10
    001525ffjmp 0x152552
    00152540
    00152604
    00152604 // align 0x10
    00152610
    00152610camlText.has_mod_1168:
    00152610mov eax, 1
    00152615ret
    00152610
    00152616
    00152616 // align 0x10
    00152620
    00152620camlText.erase_mods_1171:
    00152620mov eax, 1
    00152625ret
    00152620
    00152626
    00152626 // align 0x10
    00152630
    00152630camlText.close_mods_1174:
    00152630lea r10, [rsp-320]
    00152638cmp r10, [r14+40]
    0015263cjb 0x15268e
    0015263e
    0015263eloc_15263e:
    0015263elea rax, [rip+0x194473]
    00152645mov rbx, [rax+792]
    0015264cmov rbx, [rbx]
    0015264fmov rbx, [rbx+8]
    00152653mov rax, [rax+1008]
    0015265acall Stdlib.List.iter
    0015265fmov esi, 1
    00152664lea rax, [rip+0x19444d]
    0015266bmov rax, [rax+792]
    00152672mov rdi, [rax]
    00152675add rdi, 8
    00152679mov rbx, rsp
    0015267cmov rsp, [r14+64]
    00152680call caml_modify
    00152685mov rsp, rbx
    00152688mov eax, 1
    0015268dret
    0015268e
    0015268eloc_15268e:
    0015268epush 33
    00152690call caml_call_realloc_stack
    00152695pop r10
    00152697jmp 0x15263e
    00152630
    00152699
    00152699 // align 0x10
    001526a0
    001526a0camlText.open_par_inner_2265:
    001526a0mov eax, 1
    001526a5ret
    001526a0
    001526a6
    001526a6 // align 0x10
    001526b0
    001526b0camlText.open_par_1177:
    001526b0test al, 1
    001526b2je 0x1526c0
    001526b4lea rax, [rip+0x19547d]
    001526bbjmp 0x1526c3
    001526bd
    001526bd 0f 1f 00 ...
    001526c0
    001526c0loc_1526c0:
    001526c0mov rax, [rax]
    001526c3
    001526c3loc_1526c3:
    001526c3jmp 0x1526a0
    001526b0
    001526c8
    001526c8 // align 0x10
    001526d0
    001526d0camlText.close_par_1178:
    001526d0mov eax, 1
    001526d5ret
    001526d0