File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    0015d610
    0015d610camlTable.apply_341:
    0015d610cmp r15, [r14]
    0015d613jbe 0x15d693
    0015d615
    0015d615loc_15d615:
    0015d615mov rdi, [rax]
    0015d618cmp rdi, 1
    0015d61cjne 0x15d638
    0015d61elea rax, [rip+0x1932fb]
    0015d625mov rax, [rax]
    0015d628mov rsp, [r14+48]
    0015d62cpop [r14+48]
    0015d630pop r11
    0015d632jmp r11
    0015d635nop [rax]
    0015d638
    0015d638loc_15d638:
    0015d638mov rdi, [rax]
    0015d63badd rdi, -2
    0015d63fmov rsi, [rax+8]
    0015d643mov rax, [rsi-8]
    0015d647mov rdx, rax
    0015d64ashr rdx, 9
    0015d64ecmp rdx, rdi
    0015d651jbe 0x15d69d
    0015d653and rax, 255
    0015d659cmp rax, 254
    0015d65fje 0x15d668
    0015d661mov rax, [rsi+4*rdi-4]
    0015d666jmp 0x15d687
    0015d668
    0015d668loc_15d668:
    0015d668sub r15, 16
    0015d66ccmp r15, [r14]
    0015d66fjb 0x15d68c
    0015d671
    0015d671loc_15d671:
    0015d671lea rax, [r15+8]
    0015d675mov [rax-8], 1277
    0015d67dmovsd_xmm x0, [rsi+4*rdi-4]
    0015d683movsd_xmm [rax], x0
    0015d687
    0015d687loc_15d687:
    0015d687mov rdi, [rbx]
    0015d68ajmp rdi
    0015d68c
    0015d68cloc_15d68c:
    0015d68ccall caml_call_gc
    0015d691jmp 0x15d671
    0015d693
    0015d693loc_15d693:
    0015d693call caml_call_gc
    0015d698jmp 0x15d615
    0015d69d
    0015d69dloc_15d69d:
    0015d69dcall caml_ml_array_bound_error
    0015d610
    0015d6a2
    0015d6a2 // align 0x10
    0015d6b0
    0015d6b0camlTable.to_array_345:
    0015d6b0mov rdi, [rax]
    0015d6b3mov ebx, 1
    0015d6b8mov rax, [rax+8]
    0015d6bcjmp 0x1ad440
    0015d6b0
    0015d6c1
    0015d6c1 // align 0x10
    0015d6d0
    0015d6d0camlTable.trim_348:
    0015d6d0lea r10, [rsp-328]
    0015d6d8cmp r10, [r14+40]
    0015d6dcjb 0x15d707
    0015d6de
    0015d6deloc_15d6de:
    0015d6desub rsp, 8
    0015d6e2mov [rsp], rax
    0015d6e6mov rdi, [rax]
    0015d6e9mov ebx, 1
    0015d6eemov rax, [rax+8]
    0015d6f2call Stdlib.Array.sub
    0015d6f7mov rbx, [rsp]
    0015d6fbmov [rbx], 1
    0015d702add rsp, 8
    0015d706ret
    0015d707
    0015d707loc_15d707:
    0015d707push 34
    0015d709call caml_call_realloc_stack
    0015d70epop r10
    0015d710jmp 0x15d6de
    0015d6d0
    0015d712
    0015d712 // align 0x10
    0015d720
    0015d720camlTable.remove_last_352:
    0015d720add [rax], -2
    0015d724mov rbx, [rax]
    0015d727cmp rbx, 1
    0015d72bjge 0x15d73c
    0015d72dmov [rax], 1
    0015d734mov eax, 1
    0015d739ret
    0015d73a
    0015d73a 66 90 f.
    0015d73c
    0015d73cloc_15d73c:
    0015d73cmov eax, 1
    0015d741ret
    0015d720
    0015d742
    0015d742 // align 0x10
    0015d750
    0015d750camlTable.get_size_355:
    0015d750mov rax, [rax]
    0015d753ret
    0015d750
    0015d754
    0015d754 // align 0x10
    0015d760
    0015d760camlTable.entry:
    0015d760mov edi, 1
    0015d765mov rbx, rsp
    0015d768mov rsp, [r14+64]
    0015d76ccall caml_fresh_oo_id
    0015d771mov rsp, rbx
    0015d774call caml_alloc2
    0015d779lea rsi, [r15+8]
    0015d77dmov [rsi-8], 2296
    0015d785lea rbx, [rip+0x193204]
    0015d78cmov [rsi], rbx
    0015d78fmov [rsi+8], rax
    0015d793lea rdi, [rip+0x193186]
    0015d79amov rbx, rsp
    0015d79dmov rsp, [r14+64]
    0015d7a1call caml_initialize
    0015d7a6mov rsp, rbx
    0015d7a9mov esi, 65
    0015d7aelea rdi, [rip+0x19316b]
    0015d7b5add rdi, 72
    0015d7b9mov rbx, rsp
    0015d7bcmov rsp, [r14+64]
    0015d7c0call caml_initialize
    0015d7c5mov rsp, rbx
    0015d7c8lea rsi, [rip+0x193061]
    0015d7cflea r12, [rip+0x193132]
    0015d7d6lea rdi, [rip+0x193143]
    0015d7ddadd rdi, 8
    0015d7e1mov rbx, rsp
    0015d7e4mov rsp, [r14+64]
    0015d7e8call caml_initialize
    0015d7edmov rsp, rbx
    0015d7f0lea rdi, [rip+0x193129]
    0015d7f7add rdi, 16
    0015d7fbmov rsi, r12
    0015d7femov rbx, rsp
    0015d801mov rsp, [r14+64]
    0015d805call caml_initialize
    0015d80amov rsp, rbx
    0015d80dlea rsi, [rip+0x193034]
    0015d814lea rdi, [rip+0x193105]
    0015d81badd rdi, 80
    0015d81fmov rbx, rsp
    0015d822mov rsp, [r14+64]
    0015d826call caml_initialize
    0015d82bmov rsp, rbx
    0015d82elea rsi, [rip+0x193033]
    0015d835lea rdi, [rip+0x1930e4]
    0015d83cadd rdi, 24
    0015d840mov rbx, rsp
    0015d843mov rsp, [r14+64]
    0015d847call caml_initialize
    0015d84cmov rsp, rbx
    0015d84flea rsi, [rip+0x193032]
    0015d856lea rdi, [rip+0x1930c3]
    0015d85dadd rdi, 32
    0015d861mov rbx, rsp
    0015d864mov rsp, [r14+64]
    0015d868call caml_initialize
    0015d86dmov rsp, rbx
    0015d870lea rsi, [rip+0x193031]
    0015d877lea rdi, [rip+0x1930a2]
    0015d87eadd rdi, 48
    0015d882mov rbx, rsp
    0015d885mov rsp, [r14+64]
    0015d889call caml_initialize
    0015d88emov rsp, rbx
    0015d891lea rsi, [rip+0x193028]
    0015d898lea rdi, [rip+0x193081]
    0015d89fadd rdi, 40
    0015d8a3mov rbx, rsp
    0015d8a6mov rsp, [r14+64]
    0015d8aacall caml_initialize
    0015d8afmov rsp, rbx
    0015d8b2lea rsi, [rip+0x19301f]
    0015d8b9lea rdi, [rip+0x193060]
    0015d8c0add rdi, 56
    0015d8c4mov rbx, rsp
    0015d8c7mov rsp, [r14+64]
    0015d8cbcall caml_initialize
    0015d8d0mov rsp, rbx
    0015d8d3lea rsi, [rip+0x193016]
    0015d8dalea rdi, [rip+0x19303f]
    0015d8e1add rdi, 64
    0015d8e5mov rbx, rsp
    0015d8e8mov rsp, [r14+64]
    0015d8eccall caml_initialize
    0015d8f1mov rsp, rbx
    0015d8f4mov eax, 1
    0015d8f9ret
    0015d760
    0015d8fa
    0015d8fa // align 0x10
    0015d900
    0015d900camlSubst.subst_472:
    0015d900mov rsi, rdi
    0015d903cmp r15, [r14]
    0015d906jbe 0x15d916
    0015d908
    0015d908loc_15d908:
    0015d908add rsi, 32
    0015d90cmov edi, 1
    0015d911jmp 0x15d920
    0015d916
    0015d916loc_15d916:
    0015d916call caml_call_gc
    0015d91bjmp 0x15d908
    0015d900
    0015d91d
    0015d91d // align 0x10
    0015d920
    0015d920Subst..ocaml_lex_subst_rec:
    0015d920lea r10, [rsp-392]
    0015d928cmp r10, [r14+40]
    0015d92cjb 0x15dee9
    0015d932
    0015d932loc_15d932:
    0015d932sub rsp, 56
    0015d936
    0015d936loc_15d936:
    0015d936mov [rsp+32], rax
    0015d93bmov rdx, rbx
    0015d93emov [rsp+40], rdx
    0015d943mov rbx, rdi
    0015d946mov [rsp+48], rsi
    0015d94bcmp r15, [r14]
    0015d94ejbe 0x15deda
    0015d954
    0015d954loc_15d954:
    0015d954lea rax, [rip+0x1934d5]
    0015d95bmov rdi, rdx
    0015d95ecall Stdlib.Lexing.engine
    0015d963cmp rax, 13
    0015d967jbe 0x15d990
    0015d969mov [rsp], rax
    0015d96dmov rax, [rsp+40]
    0015d972mov rbx, [rax]
    0015d975mov rdi, [rbx]
    0015d978call rdi
    0015d97amov rax, [rsp+32]
    0015d97fmov rbx, [rsp+40]
    0015d984mov rdi, [rsp]
    0015d988mov rsi, [rsp+48]
    0015d98djmp 0x15d936
    0015d98fnop
    0015d990
    0015d990loc_15d990:
    0015d990sar rax, 1
    0015d993lea rdx, [rip+0xcd182]
    0015d99amovsxd rax, [rdx+4*rax]
    0015d99eadd rdx, rax
    0015d9a1jmp rdx
    0015d9a3nop
    0015d9a4mov rax, [rsp+40]
    0015d9a9mov rbx, [rax+32]
    0015d9admov rdi, rbx
    0015d9b0add rdi, 4
    0015d9b4sub rdi, rbx
    0015d9b7inc rdi
    0015d9bamov rax, [rax+8]
    0015d9becall Stdlib.Bytes.sub
    0015d9c3mov [rsp], rax
    0015d9c7mov eax, 71
    0015d9cccall camlLexstate.is_plain_833
    0015d9d1cmp rax, 1
    0015d9d5je 0x15da5c
    0015d9dbmov rdi, [rsp]
    0015d9dfmov rax, [rdi-8]
    0015d9e3shr rax, 10
    0015d9e7lea rax, [8*rax-1]
    0015d9efmovzx rbx, [rdi+rax]
    0015d9f4sub rax, rbx
    0015d9f7cmp rax, 1
    0015d9fbjbe 0x15dee4
    0015da01movzx rax, [rdi+1]
    0015da06lea rbx, [rax+rax-97]
    0015da0bsub r15, 40
    0015da0fcmp r15, [r14]
    0015da12jb 0x15ded0
    0015da18
    0015da18loc_15da18:
    0015da18lea rax, [r15+8]
    0015da1cmov [rax-8], 4343
    0015da24lea rdi, [rip+1813]
    0015da2bmov [rax], rdi
    0015da2emov rdi, 0x100000000000005
    0015da38mov [rax+8], rdi
    0015da3cmov rdi, [rsp+48]
    0015da41add rdi, -32
    0015da45mov [rax+16], rdi
    0015da49mov rdi, [rsp+32]
    0015da4emov [rax+24], rdi
    0015da52call camlLexstate.scan_arg_855
    0015da57jmp 0x15da7b
    0015da59nop [rax]
    0015da5c
    0015da5cloc_15da5c:
    0015da5clea rax, [rip+0x1932fd]
    0015da63mov rax, [rax+96]
    0015da67lea rbx, [rip+0x1c3f8a]
    0015da6emov rdi, [rbx+48]
    0015da72mov rbx, [rsp]
    0015da76call camlDoOut.put_754
    0015da7b
    0015da7bloc_15da7b:
    0015da7bmov rsi, [rsp+48]
    0015da80add rsi, -32
    0015da84add rsi, 32
    0015da88mov edi, 1
    0015da8dmov rax, [rsp+32]
    0015da92mov rbx, [rsp+40]
    0015da97jmp 0x15d936
    0015da9cmov eax, 71
    0015daa1call camlLexstate.is_plain_833
    0015daa6cmp rax, 1
    0015daaaje 0x15dad0
    0015daaclea rax, [rip+0x1932ad]
    0015dab3mov rax, [rax+96]
    0015dab7lea rbx, [rip+0x1c3f3a]
    0015dabemov rdi, [rbx+64]
    0015dac2mov ebx, 71
    0015dac7call camlDoOut.put_char_792
    0015daccjmp 0x15daf2
    0015dacenop
    0015dad0
    0015dad0loc_15dad0:
    0015dad0lea rax, [rip+0x193289]
    0015dad7mov rax, [rax+96]
    0015dadblea rbx, [rip+0x1c3f16]
    0015dae2mov rdi, [rbx+48]
    0015dae6lea rbx, [rip+0x194e23]
    0015daedcall camlDoOut.put_754
    0015daf2
    0015daf2loc_15daf2:
    0015daf2mov rsi, [rsp+48]
    0015daf7add rsi, -32
    0015dafbadd rsi, 32
    0015daffmov edi, 1
    0015db04mov rax, [rsp+32]
    0015db09mov rbx, [rsp+40]
    0015db0ejmp 0x15d936
    0015db13nop
    0015db14lea rax, [rip+0x193245]
    0015db1bmov rax, [rax+96]
    0015db1flea rbx, [rip+0x1c3ed2]
    0015db26mov rdi, [rbx+56]
    0015db2amov rbx, [rsp+40]
    0015db2fcall camlDoOut.blit_760
    0015db34mov rsi, [rsp+48]
    0015db39add rsi, -32
    0015db3dadd rsi, 32
    0015db41mov edi, 1
    0015db46mov rax, [rsp+32]
    0015db4bmov rbx, [rsp+40]
    0015db50jmp 0x15d936
    0015db55nop [rax]
    0015db58mov rax, [rsp+40]
    0015db5dmov rbx, [rax+32]
    0015db61mov rdi, rbx
    0015db64add rdi, 14
    0015db68sub rdi, rbx
    0015db6binc rdi
    0015db6emov rax, [rax+8]
    0015db72call Stdlib.Bytes.sub
    0015db77mov [rsp], rax
    0015db7blea rax, [rip+0x1c39be]
    0015db82mov rbx, [rax+80]
    0015db86mov [rbx], 3
    0015db8dmov rax, [rax+64]
    0015db91call camlDoOut.reset_705
    0015db96lea rax, [rip+0x1bd5b3]
    0015db9dmov rdi, [rax+128]
    0015dba4add rdi, 24
    0015dba8mov ebx, 41
    0015dbadmov rax, [rsp+40]
    0015dbb2call Saver..ocaml_lex_arg_rec
    0015dbb7lea rax, [rip+0x1c3982]
    0015dbbemov rbx, [rax+80]
    0015dbc2mov [rbx], 1
    0015dbc9mov rax, [rax+64]
    0015dbcdcall camlDoOut.to_string_830
    0015dbd2mov [rsp+8], rax
    0015dbd7lea rax, [rip+0x193182]
    0015dbdemov rax, [rax+96]
    0015dbe2lea rbx, [rip+0x1c3e0f]
    0015dbe9mov rdi, [rbx+48]
    0015dbedmov rbx, [rsp]
    0015dbf1call camlDoOut.put_754
    0015dbf6lea rax, [rip+0x193163]
    0015dbfdmov rax, [rax+96]
    0015dc01lea rbx, [rip+0x1c3df0]
    0015dc08mov rdi, [rbx+48]
    0015dc0cmov rbx, [rsp+8]
    0015dc11call camlDoOut.put_754
    0015dc16mov rsi, [rsp+48]
    0015dc1badd rsi, -32
    0015dc1fadd rsi, 32
    0015dc23mov edi, 1
    0015dc28mov rax, [rsp+32]
    0015dc2dmov rbx, [rsp+40]
    0015dc32jmp 0x15d936
    0015dc37nop
    0015dc38mov rax, [rsp+40]
    0015dc3dmov rdi, [rax+40]
    0015dc41mov rbx, [rax+32]
    0015dc45sub rdi, rbx
    0015dc48inc rdi
    0015dc4bmov rax, [rax+8]
    0015dc4fcall Stdlib.Bytes.sub
    0015dc54mov rbx, rax
    0015dc57mov [rsp+16], rbx
    0015dc5cmov rax, [rsp+32]
    0015dc61cmp rax, 1
    0015dc65je 0x15de3c
    0015dc6blea r11, [rip+390]
    0015dc72push r11
    0015dc74push [r14+48]
    0015dc78mov [r14+48], rsp
    0015dc7cmov rax, rbx
    0015dc7fcall camlLatexmacros.find_fail_942
    0015dc84mov [rsp+16], rax
    0015dc89mov rax, [rax+8]
    0015dc8dmov [rsp+24], rax
    0015dc92movzx rax, [rax-8]
    0015dc97test rax, rax
    0015dc9ajne 0x15ddcc
    0015dca0lea rax, [rip+0x1b6cc1]
    0015dca7mov rbx, [rax+216]
    0015dcaemov rbx, [rbx]
    0015dcb1mov rax, [rax+184]
    0015dcb8mov rdi, [rax+240]
    0015dcbfmov rax, [rsp+32]
    0015dcc4call Stdlib.Set.mem
    0015dcc9cmp rax, 1
    0015dccdjne 0x15ddcc
    0015dcd3lea rax, [rip+0x1cc396]
    0015dcdamov rax, [rax+80]
    0015dcdemov rax, [rax]
    0015dce1cmp rax, 5
    0015dce5jle 0x15dd18
    0015dce7mov rax, [rsp+32]
    0015dcecmov [rsp+40], rax
    0015dcf1lea rbx, [rip+0x194b88]
    0015dcf8lea rax, [rip+0x1cf919]
    0015dcffmov rax, [rax+312]
    0015dd06call Stdlib.Printf.fprintf
    0015dd0bmov rbx, rax
    0015dd0emov rdi, [rbx]
    0015dd11mov rax, [rsp+40]
    0015dd16call rdi
    0015dd18
    0015dd18loc_15dd18:
    0015dd18mov rax, [rsp+16]
    0015dd1dmov rbx, [rax]
    0015dd20mov rax, [rsp+32]
    0015dd25mov rdi, [rsp+56]
    0015dd2acall camlLexstate.make_stack_1175
    0015dd2fmov [rsp+16], rax
    0015dd34lea rax, [rip+0x193025]
    0015dd3bmov rax, [rax+96]
    0015dd3flea rbx, [rip+0x1c3cb2]
    0015dd46mov rdi, [rbx+64]
    0015dd4amov ebx, 247
    0015dd4fcall camlDoOut.put_char_792
    0015dd54sub r15, 40
    0015dd58cmp r15, [r14]
    0015dd5bjb 0x15dec6
    0015dd61
    0015dd61loc_15dd61:
    0015dd61lea rax, [r15+8]
    0015dd65mov [rax-8], 4343
    0015dd6dlea rbx, [rip+1052]
    0015dd74mov [rax], rbx
    0015dd77mov rbx, 0x100000000000005
    0015dd81mov [rax+8], rbx
    0015dd85mov rbx, [rsp+64]
    0015dd8aadd rbx, -32
    0015dd8emov [rax+16], rbx
    0015dd92mov rbx, [rsp+48]
    0015dd97mov [rax+24], rbx
    0015dd9bmov rbx, [rsp+24]
    0015dda0mov rdi, [rsp+16]
    0015dda5call camlLexstate.scan_body_856
    0015ddaalea rax, [rip+0x192faf]
    0015ddb1mov rax, [rax+96]
    0015ddb5lea rbx, [rip+0x1c3c3c]
    0015ddbcmov rdi, [rbx+64]
    0015ddc0mov ebx, 251
    0015ddc5call camlDoOut.put_char_792
    0015ddcajmp 0x15ddec
    0015ddcc
    0015ddccloc_15ddcc:
    0015ddcclea rax, [rip+0x192f8d]
    0015ddd3mov rax, [rax+96]
    0015ddd7lea rbx, [rip+0x1c3c1a]
    0015dddemov rdi, [rbx+48]
    0015dde2mov rbx, [rsp+32]
    0015dde7call camlDoOut.put_754
    0015ddec
    0015ddecloc_15ddec:
    0015ddecpop [r14+48]
    0015ddf0add rsp, 8
    0015ddf4jmp 0x15de57
    0015ddf6nop
    0015ddf8lea rbx, [rip+0x1b6b69]
    0015ddffmov rbx, [rbx]
    0015de02cmp rax, rbx
    0015de05jne 0x15de2c
    0015de07lea rax, [rip+0x192f52]
    0015de0emov rax, [rax+96]
    0015de12lea rbx, [rip+0x1c3bdf]
    0015de19mov rdi, [rbx+48]
    0015de1dmov rbx, [rsp+16]
    0015de22call camlDoOut.put_754
    0015de27jmp 0x15de57
    0015de29nop [rax]
    0015de2c
    0015de2cloc_15de2c:
    0015de2cmov rsp, [r14+48]
    0015de30pop [r14+48]
    0015de34pop r11
    0015de36jmp r11
    0015de39nop [rax]
    0015de3c
    0015de3cloc_15de3c:
    0015de3clea rax, [rip+0x192f1d]
    0015de43mov rax, [rax+96]
    0015de47lea rdi, [rip+0x1c3baa]
    0015de4emov rdi, [rdi+48]
    0015de52call camlDoOut.put_754
    0015de57
    0015de57loc_15de57:
    0015de57mov rsi, [rsp+48]
    0015de5cadd rsi, -32
    0015de60add rsi, 32
    0015de64mov edi, 1
    0015de69mov rax, [rsp+32]
    0015de6emov rbx, [rsp+40]
    0015de73jmp 0x15d936
    0015de78mov eax, 1
    0015de7dadd rsp, 56
    0015de81ret
    0015de82nop
    0015de84sub r15, 24
    0015de88cmp r15, [r14]
    0015de8bjb 0x15debf
    0015de8d
    0015de8dloc_15de8d:
    0015de8dlea rax, [r15+8]
    0015de91mov [rax-8], 2048
    0015de99lea rbx, [rip+0x1b8b00]
    0015dea0mov rbx, [rbx+104]
    0015dea4mov [rax], rbx
    0015dea7lea rbx, [rip+0x194932]
    0015deaemov [rax+8], rbx
    0015deb2mov rsp, [r14+48]
    0015deb6pop [r14+48]
    0015debapop r11
    0015debcjmp r11
    0015debf
    0015debfloc_15debf:
    0015debfcall caml_call_gc
    0015dec4jmp 0x15de8d
    0015dec6
    0015dec6loc_15dec6:
    0015dec6call caml_call_gc
    0015decbjmp 0x15dd61
    0015ded0
    0015ded0loc_15ded0:
    0015ded0call caml_call_gc
    0015ded5jmp 0x15da18
    0015deda
    0015dedaloc_15deda:
    0015dedacall caml_call_gc
    0015dedfjmp 0x15d954
    0015dee4
    0015dee4loc_15dee4:
    0015dee4call caml_ml_array_bound_error
    0015dee9
    0015dee9loc_15dee9:
    0015dee9push 42
    0015deebcall caml_call_realloc_stack
    0015def0pop r10
    0015def2jmp 0x15d932
    0015d920
    0015def7
    0015def7 // align 0x10
    0015df00
    0015df00camlSubst.do_translate_474:
    0015df00mov rdi, rbx
    0015df03cmp r15, [r14]
    0015df06jbe 0x15df16
    0015df08
    0015df08loc_15df08:
    0015df08add rdi, 24
    0015df0cmov ebx, 35
    0015df11jmp 0x15df20
    0015df16
    0015df16loc_15df16:
    0015df16call caml_call_gc
    0015df1bjmp 0x15df08
    0015df00
    0015df1d
    0015df1d // align 0x10
    0015df20
    0015df20Subst..ocaml_lex_do_translate_rec:
    0015df20lea r10, [rsp-344]
    0015df28cmp r10, [r14+40]
    0015df2cjb 0x15e10e
    0015df32
    0015df32loc_15df32:
    0015df32sub rsp, 24
    0015df36
    0015df36loc_15df36:
    0015df36mov rsi, rax
    0015df39mov [rsp], rsi
    0015df3dmov [rsp+16], rdi
    0015df42cmp r15, [r14]
    0015df45jbe 0x15e0ff
    0015df4b
    0015df4bloc_15df4b:
    0015df4blea rax, [rip+0x192ede]
    0015df52mov rdi, rsi
    0015df55call Stdlib.Lexing.engine
    0015df5acmp rax, 7
    0015df5ejbe 0x15df84
    0015df60mov [rsp+8], rax
    0015df65mov rax, [rsp]
    0015df69mov rbx, [rax]
    0015df6cmov rdi, [rbx]
    0015df6fcall rdi
    0015df71mov rax, [rsp]
    0015df75mov rbx, [rsp+8]
    0015df7amov rdi, [rsp+16]
    0015df7fjmp 0x15df36
    0015df81nop [rax]
    0015df84
    0015df84loc_15df84:
    0015df84sar rax, 1
    0015df87lea rdx, [rip+0xccbaa]
    0015df8emovsxd rax, [rdx+4*rax]
    0015df92add rdx, rax
    0015df95jmp rdx
    0015df97nop
    0015df98mov rax, [rsp]
    0015df9cmov rbx, [rax+32]
    0015dfa0mov rdi, rbx
    0015dfa3add rdi, 14
    0015dfa7sub rdi, rbx
    0015dfaainc rdi
    0015dfadmov rax, [rax+8]
    0015dfb1call Stdlib.Bytes.sub
    0015dfb6sub r15, 48
    0015dfbacmp r15, [r14]
    0015dfbdjb 0x15e0f5
    0015dfc3
    0015dfc3loc_15dfc3:
    0015dfc3lea rbx, [r15+8]
    0015dfc7mov [rbx-8], 5367
    0015dfcflea rdi, [rip+634]
    0015dfd6mov [rbx], rdi
    0015dfd9mov rdi, 0x100000000000005
    0015dfe3mov [rbx+8], rdi
    0015dfe7mov rdi, [rsp+16]
    0015dfecadd rdi, -24
    0015dff0mov [rbx+16], rdi
    0015dff4mov rdi, [rsp]
    0015dff8mov [rbx+24], rdi
    0015dffcmov [rbx+32], rax
    0015e000mov rax, rbx
    0015e003add rsp, 24
    0015e007ret
    0015e008sub r15, 40
    0015e00ccmp r15, [r14]
    0015e00fjb 0x15e0eb
    0015e015
    0015e015loc_15e015:
    0015e015lea rax, [r15+8]
    0015e019mov [rax-8], 4343
    0015e021lea rbx, [rip+840]
    0015e028mov [rax], rbx
    0015e02bmov rbx, 0x100000000000005
    0015e035mov [rax+8], rbx
    0015e039mov rbx, [rsp+16]
    0015e03eadd rbx, -24
    0015e042mov [rax+16], rbx
    0015e046mov rbx, [rsp]
    0015e04amov [rax+24], rbx
    0015e04eadd rsp, 24
    0015e052ret
    0015e053nop
    0015e054mov rbx, [rsp]
    0015e058mov rax, [rbx+32]
    0015e05csar rax, 1
    0015e05fmov rdi, [rbx+8]
    0015e063mov rsi, [rdi-8]
    0015e067shr rsi, 10
    0015e06blea rsi, [8*rsi-1]
    0015e073movzx rdx, [rdi+rsi]
    0015e078sub rsi, rdx
    0015e07bcmp rsi, rax
    0015e07ejbe 0x15e109
    0015e084movzx rax, [rdi+rax]
    0015e089lea rdi, [rax+rax+1]
    0015e08esub r15, 48
    0015e092cmp r15, [r14]
    0015e095jb 0x15e0e4
    0015e097
    0015e097loc_15e097:
    0015e097lea rax, [r15+8]
    0015e09bmov [rax-8], 5367
    0015e0a3lea rsi, [rip+854]
    0015e0aamov [rax], rsi
    0015e0admov rsi, 0x100000000000005
    0015e0b7mov [rax+8], rsi
    0015e0bbmov rsi, [rsp+16]
    0015e0c0add rsi, -24
    0015e0c4mov [rax+16], rsi
    0015e0c8mov [rax+24], rbx
    0015e0ccmov [rax+32], rdi
    0015e0d0add rsp, 24
    0015e0d4ret
    0015e0d5nop [rax]
    0015e0d8lea rax, [rip+0x192a39]
    0015e0dfadd rsp, 24
    0015e0e3ret
    0015e0e4
    0015e0e4loc_15e0e4:
    0015e0e4call caml_call_gc
    0015e0e9jmp 0x15e097
    0015e0eb
    0015e0ebloc_15e0eb:
    0015e0ebcall caml_call_gc
    0015e0f0jmp 0x15e015
    0015e0f5
    0015e0f5loc_15e0f5:
    0015e0f5call caml_call_gc
    0015e0fajmp 0x15dfc3
    0015e0ff
    0015e0ffloc_15e0ff:
    0015e0ffcall caml_call_gc
    0015e104jmp 0x15df4b
    0015e109
    0015e109loc_15e109:
    0015e109call caml_ml_array_bound_error
    0015e10e
    0015e10eloc_15e10e:
    0015e10epush 36
    0015e110call caml_call_realloc_stack
    0015e115pop r10
    0015e117jmp 0x15df32
    0015df20
    0015e11c
    0015e11c // align 0x10
    0015e120
    0015e120camlSubst.fun_955:
    0015e120mov rdx, rax
    0015e123mov rax, [rbx+16]
    0015e127mov rsi, [rbx+24]
    0015e12badd rsi, 32
    0015e12fmov edi, 1
    0015e134mov rbx, rdx
    0015e137jmp 0x15d920
    0015e120
    0015e13c
    0015e13c // align 0x10
    0015e140
    0015e140camlSubst.fun_939:
    0015e140mov rdi, rax
    0015e143mov rsi, [rbx+24]
    0015e147mov rbx, [rbx+16]
    0015e14bsub r15, 40
    0015e14fcmp r15, [r14]
    0015e152jb 0x15e188
    0015e154
    0015e154loc_15e154:
    0015e154lea rax, [r15+8]
    0015e158mov [rax-8], 4343
    0015e160lea rdx, [rip-71]
    0015e167mov [rax], rdx
    0015e16amov rdx, 0x100000000000005
    0015e174mov [rax+8], rdx
    0015e178mov [rax+16], rsi
    0015e17cmov [rax+24], rbx
    0015e180mov rbx, rdi
    0015e183jmp 0x17f460
    0015e188
    0015e188loc_15e188:
    0015e188call caml_call_gc
    0015e18djmp 0x15e154
    0015e140
    0015e18f
    0015e18f // align 0x10
    0015e190
    0015e190camlSubst.fun_989:
    0015e190movzx rdi, [rax-8]
    0015e195test rdi, rdi
    0015e198jne 0x15e1e4
    0015e19amov rdi, [rbx+24]
    0015e19emov rbx, [rbx+16]
    0015e1a2sub r15, 40
    0015e1a6cmp r15, [r14]
    0015e1a9jb 0x15e222
    0015e1ab
    0015e1abloc_15e1ab:
    0015e1ablea rsi, [r15+8]
    0015e1afmov [rsi-8], 4343
    0015e1b7lea rdx, [rip+114]
    0015e1bemov [rsi], rdx
    0015e1c1mov rdx, 0x100000000000005
    0015e1cbmov [rsi+8], rdx
    0015e1cfmov [rsi+16], rdi
    0015e1d3mov [rsi+24], rbx
    0015e1d7mov rbx, [rax]
    0015e1damov rax, rsi
    0015e1ddjmp 0x17f240
    0015e1e2nop
    0015e1e4
    0015e1e4loc_15e1e4:
    0015e1e4sub r15, 24
    0015e1e8cmp r15, [r14]
    0015e1ebjb 0x15e21b
    0015e1ed
    0015e1edloc_15e1ed:
    0015e1edlea rax, [r15+8]
    0015e1f1mov [rax-8], 2048
    0015e1f9lea rbx, [rip+0x118008]
    0015e200mov [rax], rbx
    0015e203lea rbx, [rip+0x1945f6]
    0015e20amov [rax+8], rbx
    0015e20emov rsp, [r14+48]
    0015e212pop [r14+48]
    0015e216pop r11
    0015e218jmp r11
    0015e21b
    0015e21bloc_15e21b:
    0015e21bcall caml_call_gc
    0015e220jmp 0x15e1ed
    0015e222
    0015e222loc_15e222:
    0015e222call caml_call_gc
    0015e227jmp 0x15e1ab
    0015e190
    0015e229
    0015e229 // align 0x10
    0015e230
    0015e230camlSubst.fun_1005:
    0015e230mov rdx, rax
    0015e233mov rax, [rbx+16]
    0015e237mov rsi, [rbx+24]
    0015e23badd rsi, 32
    0015e23fmov edi, 1
    0015e244mov rbx, rdx
    0015e247jmp 0x15d920
    0015e230
    0015e24c
    0015e24c // align 0x10
    0015e250
    0015e250camlSubst.fun_1026:
    0015e250lea r10, [rsp-344]
    0015e258cmp r10, [r14+40]
    0015e25cjb 0x15e359
    0015e262
    0015e262loc_15e262:
    0015e262sub rsp, 24
    0015e266mov [rsp+8], rax
    0015e26bmov [rsp+16], rbx
    0015e270cmp r15, [r14]
    0015e273jbe 0x15e34f
    0015e279
    0015e279loc_15e279:
    0015e279lea rax, [rip+0x1c32c0]
    0015e280mov rbx, [rax+80]
    0015e284mov [rbx], 3
    0015e28bmov rax, [rax+64]
    0015e28fcall camlDoOut.reset_705
    0015e294mov rax, [rsp+16]
    0015e299mov rax, [rax+24]
    0015e29dlea rbx, [rip+0x1bceac]
    0015e2a4mov rdi, [rbx+128]
    0015e2abadd rdi, 24
    0015e2afmov ebx, 41
    0015e2b4call Saver..ocaml_lex_arg_rec
    0015e2b9lea rax, [rip+0x1c3280]
    0015e2c0mov rbx, [rax+80]
    0015e2c4mov [rbx], 1
    0015e2cbmov rax, [rax+64]
    0015e2cfcall camlDoOut.to_string_830
    0015e2d4mov [rsp], rax
    0015e2d8mov rax, [rsp+16]
    0015e2ddmov rbx, [rax+32]
    0015e2e1lea rax, [rip+0x192a78]
    0015e2e8mov rax, [rax+96]
    0015e2eclea rdi, [rip+0x1c3705]
    0015e2f3mov rdi, [rdi+48]
    0015e2f7call camlDoOut.put_754
    0015e2fclea rax, [rip+0x192a5d]
    0015e303mov rax, [rax+96]
    0015e307lea rbx, [rip+0x1c36ea]
    0015e30emov rdi, [rbx+48]
    0015e312mov rbx, [rsp]
    0015e316call camlDoOut.put_754
    0015e31bmov rax, [rsp+8]
    0015e320mov [rsp], rax
    0015e324mov rbx, [rsp+16]
    0015e329mov rax, [rbx+24]
    0015e32dmov rdi, [rbx+16]
    0015e331add rdi, 24
    0015e335mov ebx, 35
    0015e33acall Subst..ocaml_lex_do_translate_rec
    0015e33fmov rbx, rax
    0015e342mov rdi, [rbx]
    0015e345mov rax, [rsp]
    0015e349add rsp, 24
    0015e34djmp rdi
    0015e34f
    0015e34floc_15e34f:
    0015e34fcall caml_call_gc
    0015e354jmp 0x15e279
    0015e359
    0015e359loc_15e359:
    0015e359push 36
    0015e35bcall caml_call_realloc_stack
    0015e360pop r10
    0015e362jmp 0x15e262
    0015e250
    0015e367
    0015e367 // align 0x10
    0015e370
    0015e370camlSubst.fun_1049:
    0015e370lea r10, [rsp-336]
    0015e378cmp r10, [r14+40]
    0015e37cjb 0x15e3e9
    0015e37e
    0015e37eloc_15e37e:
    0015e37esub rsp, 16
    0015e382mov [rsp], rax
    0015e386mov [rsp+8], rbx
    0015e38bcmp r15, [r14]
    0015e38ejbe 0x15e3e2
    0015e390
    0015e390loc_15e390:
    0015e390mov rbx, [rbx+24]
    0015e394lea rax, [rip+0x1929c5]
    0015e39bmov rax, [rax+96]
    0015e39flea rdi, [rip+0x1c3652]
    0015e3a6mov rdi, [rdi+56]
    0015e3aacall camlDoOut.blit_760
    0015e3afmov rax, [rsp]
    0015e3b3mov [rsp], rax
    0015e3b7mov rbx, [rsp+8]
    0015e3bcmov rax, [rbx+24]
    0015e3c0mov rdi, [rbx+16]
    0015e3c4add rdi, 24
    0015e3c8mov ebx, 35
    0015e3cdcall Subst..ocaml_lex_do_translate_rec
    0015e3d2mov rbx, rax
    0015e3d5mov rdi, [rbx]
    0015e3d8mov rax, [rsp]
    0015e3dcadd rsp, 16
    0015e3e0jmp rdi
    0015e3e2
    0015e3e2loc_15e3e2:
    0015e3e2call caml_call_gc
    0015e3e7jmp 0x15e390
    0015e3e9
    0015e3e9loc_15e3e9:
    0015e3e9push 35
    0015e3ebcall caml_call_realloc_stack
    0015e3f0pop r10
    0015e3f2jmp 0x15e37e
    0015e370
    0015e3f4
    0015e3f4 // align 0x10
    0015e400
    0015e400camlSubst.fun_1065:
    0015e400lea r10, [rsp-336]
    0015e408cmp r10, [r14+40]
    0015e40cjb 0x15e487
    0015e40e
    0015e40eloc_15e40e:
    0015e40esub rsp, 16
    0015e412mov rdi, rax
    0015e415mov [rsp], rdi
    0015e419mov [rsp+8], rbx
    0015e41ecmp r15, [r14]
    0015e421jbe 0x15e480
    0015e423
    0015e423loc_15e423:
    0015e423mov rax, [rbx+32]
    0015e427mov rsi, [rdi]
    0015e42amov rbx, rdi
    0015e42dcall rsi
    0015e42fmov rbx, rax
    0015e432lea rax, [rip+0x192927]
    0015e439mov rax, [rax+96]
    0015e43dlea rdi, [rip+0x1c35b4]
    0015e444mov rdi, [rdi+64]
    0015e448call camlDoOut.put_char_792
    0015e44dmov rax, [rsp]
    0015e451mov [rsp], rax
    0015e455mov rbx, [rsp+8]
    0015e45amov rax, [rbx+24]
    0015e45emov rdi, [rbx+16]
    0015e462add rdi, 24
    0015e466mov ebx, 35
    0015e46bcall Subst..ocaml_lex_do_translate_rec
    0015e470mov rbx, rax
    0015e473mov rdi, [rbx]
    0015e476mov rax, [rsp]
    0015e47aadd rsp, 16
    0015e47ejmp rdi
    0015e480
    0015e480loc_15e480:
    0015e480call caml_call_gc
    0015e485jmp 0x15e423
    0015e487
    0015e487loc_15e487:
    0015e487push 35
    0015e489call caml_call_realloc_stack
    0015e48epop r10
    0015e490jmp 0x15e40e
    0015e400
    0015e495
    0015e495 // align 0x10
    0015e4a0
    0015e4a0camlSubst.fun_1080:
    0015e4a0lea rax, [rip+0x1928b9]
    0015e4a7mov rax, [rax+96]
    0015e4abjmp 0x18a4c0
    0015e4a0
    0015e4b0
    0015e4b0camlSubst.sharp_inside_694:
    0015e4b0lea r10, [rsp-336]
    0015e4b8cmp r10, [r14+40]
    0015e4bcjb 0x15e535
    0015e4be
    0015e4beloc_15e4be:
    0015e4belea r11, [rip+71]
    0015e4c5push r11
    0015e4c7push [r14+48]
    0015e4cbmov [r14+48], rsp
    0015e4cfmov esi, 71
    0015e4d4mov edi, 1
    0015e4d9mov rbx, [rax-8]
    0015e4ddshr rbx, 10
    0015e4e1lea rbx, [8*rbx-1]
    0015e4e9movzx rdx, [rax+rbx]
    0015e4eesub rbx, rdx
    0015e4f1lea rbx, [rbx+rbx+1]
    0015e4f6call Stdlib.String.index_rec
    0015e4fbmov eax, 3
    0015e500pop [r14+48]
    0015e504add rsp, 8
    0015e508jmp 0x15e534
    0015e50anop
    0015e50clea rbx, [rip+0x1cf105]
    0015e513mov rbx, [rbx+56]
    0015e517cmp rax, rbx
    0015e51ajne 0x15e524
    0015e51cmov eax, 1
    0015e521ret
    0015e522nop
    0015e524
    0015e524loc_15e524:
    0015e524mov rsp, [r14+48]
    0015e528pop [r14+48]
    0015e52cpop r11
    0015e52ejmp r11
    0015e531nop [rax]
    0015e534
    0015e534loc_15e534:
    0015e534ret
    0015e535
    0015e535loc_15e535:
    0015e535push 35
    0015e537call caml_call_realloc_stack
    0015e53cpop r10
    0015e53ejmp 0x15e4be
    0015e4b0
    0015e543
    0015e543 // align 0x10
    0015e550
    0015e550camlSubst.do_do_subst_this_697:
    0015e550lea r10, [rsp-352]
    0015e558cmp r10, [r14+40]
    0015e55cjb 0x15e6bc
    0015e562
    0015e562loc_15e562:
    0015e562sub rsp, 32
    0015e566mov rdi, [rbx]
    0015e569mov [rsp+16], rdi
    0015e56emov rsi, [rbx+8]
    0015e572test sil, 1
    0015e576jne 0x15e6a8
    0015e57cmov [rsp+8], rbx
    0015e581mov [rsp], rax
    0015e585mov rax, rdi
    0015e588call camlSubst.sharp_inside_694
    0015e58dcmp rax, 1
    0015e591je 0x15e6a8
    0015e597lea rax, [rip+0x1cbad2]
    0015e59emov rax, [rax+80]
    0015e5a2mov rax, [rax]
    0015e5a5cmp rax, 3
    0015e5a9jle 0x15e5f2
    0015e5abmov rax, [rsp+16]
    0015e5b0mov [rsp+24], rax
    0015e5b5lea rbx, [rip+0x19417c]
    0015e5bclea rax, [rip+0x1cf055]
    0015e5c3mov rax, [rax+312]
    0015e5cacall Stdlib.Printf.fprintf
    0015e5cfmov rbx, rax
    0015e5d2mov rdi, [rbx]
    0015e5d5mov rax, [rsp+24]
    0015e5dacall rdi
    0015e5dclea rax, [rip+0x1b83bd]
    0015e5e3mov rax, [rax+728]
    0015e5eamov rax, [rax]
    0015e5edcall camlLexstate.pretty_subst_612
    0015e5f2
    0015e5f2loc_15e5f2:
    0015e5f2mov rbx, [rsp]
    0015e5f6lea rax, [rip+0x192763]
    0015e5fdmov rdi, [rax+112]
    0015e601sub r15, 40
    0015e605cmp r15, [r14]
    0015e608jb 0x15e6b2
    0015e60e
    0015e60eloc_15e60e:
    0015e60elea rax, [r15+8]
    0015e612mov [rax-8], 4343
    0015e61alea rsi, [rip+175]
    0015e621mov [rax], rsi
    0015e624mov rsi, 0x100000000000005
    0015e62emov [rax+8], rsi
    0015e632mov [rax+16], rbx
    0015e636mov [rax+24], rdi
    0015e63amov rbx, [rsp+8]
    0015e63fcall camlLexstate.scan_this_arg_1187
    0015e644lea rax, [rip+0x192715]
    0015e64bmov rax, [rax+96]
    0015e64fcall camlDoOut.to_string_830
    0015e654mov rbx, rax
    0015e657mov [rsp], rbx
    0015e65blea rax, [rip+0x1cba0e]
    0015e662mov rax, [rax+80]
    0015e666mov rax, [rax]
    0015e669cmp rax, 3
    0015e66djle 0x15e69c
    0015e66flea rax, [rip+0x1934fa]
    0015e676call camlStdlib.$5e_139
    0015e67bmov rbx, rax
    0015e67emov rax, [rsp+16]
    0015e683call camlStdlib.$5e_139
    0015e688mov rbx, rax
    0015e68blea rax, [rip+0x19408e]
    0015e692call camlStdlib.$5e_139
    0015e697call camlStdlib.prerr_endline_390
    0015e69c
    0015e69cloc_15e69c:
    0015e69cmov rax, [rsp]
    0015e6a0add rsp, 32
    0015e6a4ret
    0015e6a5
    0015e6a5 0f 1f 00 ...
    0015e6a8
    0015e6a8loc_15e6a8:
    0015e6a8mov rax, [rsp+16]
    0015e6adadd rsp, 32
    0015e6b1ret
    0015e6b2
    0015e6b2loc_15e6b2:
    0015e6b2call caml_call_gc
    0015e6b7jmp 0x15e60e
    0015e6bc
    0015e6bcloc_15e6bc:
    0015e6bcpush 37
    0015e6becall caml_call_realloc_stack
    0015e6c3pop r10
    0015e6c5jmp 0x15e562
    0015e550
    0015e6ca
    0015e6ca // align 0x10
    0015e6d0
    0015e6d0camlSubst.fun_1092:
    0015e6d0mov rdx, rax
    0015e6d3mov rax, [rbx+16]
    0015e6d7mov rsi, [rbx+24]
    0015e6dbadd rsi, 32
    0015e6dfmov edi, 1
    0015e6e4mov rbx, rdx
    0015e6e7jmp 0x15d920
    0015e6d0
    0015e6ec
    0015e6ec // align 0x10
    0015e6f0
    0015e6f0camlSubst.sharp_inside_list_704:
    0015e6f0mov rbx, rax
    0015e6f3lea rax, [rip+0x192666]
    0015e6famov rax, [rax+144]
    0015e701jmp 0x1a0c10
    0015e6f0
    0015e706
    0015e706 // align 0x10
    0015e710
    0015e710camlSubst.do_do_subst_this_list_777:
    0015e710lea r10, [rsp-360]
    0015e718cmp r10, [r14+40]
    0015e71cjb 0x15e8c4
    0015e722
    0015e722loc_15e722:
    0015e722sub rsp, 40
    0015e726mov rdi, [rbx]
    0015e729mov [rsp+16], rdi
    0015e72emov rsi, [rbx+8]
    0015e732test sil, 1
    0015e736jne 0x15e8b0
    0015e73cmov [rsp+8], rbx
    0015e741mov [rsp], rax
    0015e745lea rax, [rip+0x192614]
    0015e74cmov rax, [rax+144]
    0015e753mov rbx, rdi
    0015e756call Stdlib.List.exists
    0015e75bcmp rax, 1
    0015e75fje 0x15e8b0
    0015e765lea rax, [rip+0x1cb904]
    0015e76cmov rax, [rax+80]
    0015e770mov rax, [rax]
    0015e773cmp rax, 3
    0015e777jle 0x15e7d4
    0015e779mov rax, [rsp+16]
    0015e77emov [rsp+32], rax
    0015e783lea rax, [rip+0x1b8216]
    0015e78amov rax, [rax]
    0015e78dmov [rsp+24], rax
    0015e792lea rbx, [rip+0x193357]
    0015e799lea rax, [rip+0x1cee78]
    0015e7a0mov rax, [rax+312]
    0015e7a7call Stdlib.Printf.fprintf
    0015e7acmov rdi, rax
    0015e7afmov rax, [rsp+24]
    0015e7b4mov rbx, [rsp+32]
    0015e7b9call caml_apply2
    0015e7belea rax, [rip+0x1b81db]
    0015e7c5mov rax, [rax+728]
    0015e7ccmov rax, [rax]
    0015e7cfcall camlLexstate.pretty_subst_612
    0015e7d4
    0015e7d4loc_15e7d4:
    0015e7d4mov rbx, [rsp]
    0015e7d8lea rax, [rip+0x192581]
    0015e7dfmov rdi, [rax+112]
    0015e7e3sub r15, 40
    0015e7e7cmp r15, [r14]
    0015e7eajb 0x15e8ba
    0015e7f0
    0015e7f0loc_15e7f0:
    0015e7f0lea rax, [r15+8]
    0015e7f4mov [rax-8], 4343
    0015e7fclea rsi, [rip+221]
    0015e803mov [rax], rsi
    0015e806mov rsi, 0x100000000000005
    0015e810mov [rax+8], rsi
    0015e814mov [rax+16], rbx
    0015e818mov [rax+24], rdi
    0015e81cmov rbx, [rsp+8]
    0015e821call camlLexstate.scan_this_arg_list_1188
    0015e826lea rax, [rip+0x192533]
    0015e82dmov rax, [rax+96]
    0015e831call camlDoOut.to_list_835
    0015e836mov [rsp], rax
    0015e83alea rbx, [rip+0x1cb82f]
    0015e841mov rbx, [rbx+80]
    0015e845mov rbx, [rbx]
    0015e848cmp rbx, 3
    0015e84cjle 0x15e8a7
    0015e84emov [rsp+32], rax
    0015e853lea rax, [rip+0x1b8146]
    0015e85amov rax, [rax]
    0015e85dmov [rsp+24], rax
    0015e862mov rbx, [rsp+16]
    0015e867mov [rsp+16], rbx
    0015e86cmov [rsp+8], rax
    0015e871lea rbx, [rip+0x192628]
    0015e878lea rax, [rip+0x1ced99]
    0015e87fmov rax, [rax+312]
    0015e886call Stdlib.Printf.fprintf
    0015e88bmov rdx, rax
    0015e88emov rax, [rsp+8]
    0015e893mov rbx, [rsp+16]
    0015e898mov rdi, [rsp+24]
    0015e89dmov rsi, [rsp+32]
    0015e8a2call caml_apply4
    0015e8a7
    0015e8a7loc_15e8a7:
    0015e8a7mov rax, [rsp]
    0015e8abadd rsp, 40
    0015e8afret
    0015e8b0
    0015e8b0loc_15e8b0:
    0015e8b0mov rax, [rsp+16]
    0015e8b5add rsp, 40
    0015e8b9ret
    0015e8ba
    0015e8baloc_15e8ba:
    0015e8bacall caml_call_gc
    0015e8bfjmp 0x15e7f0
    0015e8c4
    0015e8c4loc_15e8c4:
    0015e8c4push 38
    0015e8c6call caml_call_realloc_stack
    0015e8cbpop r10
    0015e8cdjmp 0x15e722
    0015e710
    0015e8d2
    0015e8d2 // align 0x10
    0015e8e0
    0015e8e0camlSubst.fun_1109:
    0015e8e0mov rdx, rax
    0015e8e3mov rax, [rbx+16]
    0015e8e7mov rsi, [rbx+24]
    0015e8ebadd rsi, 32
    0015e8efmov edi, 1
    0015e8f4mov rbx, rdx
    0015e8f7jmp 0x15d920
    0015e8e0
    0015e8fc
    0015e8fc // align 0x10
    0015e900
    0015e900camlSubst.do_subst_this_list_784:
    0015e900lea r10, [rsp-320]
    0015e908cmp r10, [r14+40]
    0015e90cjb 0x15e92a
    0015e90e
    0015e90eloc_15e90e:
    0015e90emov rbx, rax
    0015e911mov eax, 1
    0015e916call camlSubst.do_do_subst_this_list_777
    0015e91bmov rbx, rax
    0015e91elea rax, [rip+0x19256b]
    0015e925jmp 0x1ab480
    0015e92a
    0015e92aloc_15e92a:
    0015e92apush 33
    0015e92ccall caml_call_realloc_stack
    0015e931pop r10
    0015e933jmp 0x15e90e
    0015e900
    0015e935
    0015e935 // align 0x10
    0015e940
    0015e940camlSubst.do_subst_this_787:
    0015e940mov rbx, rax
    0015e943mov eax, 1
    0015e948jmp 0x15e550
    0015e940
    0015e94d
    0015e94d // align 0x10
    0015e950
    0015e950camlSubst.subst_list_790:
    0015e950mov rbx, [rax+8]
    0015e954sub r15, 32
    0015e958cmp r15, [r14]
    0015e95bjb 0x15e990
    0015e95d
    0015e95dloc_15e95d:
    0015e95dlea rdi, [r15+8]
    0015e961mov [rdi-8], 3319
    0015e969lea rsi, [rip+48]
    0015e970mov [rdi], rsi
    0015e973mov rsi, 0x100000000000005
    0015e97dmov [rdi+8], rsi
    0015e981mov [rdi+16], rbx
    0015e985mov rbx, [rax]
    0015e988mov rax, rdi
    0015e98bjmp 0x19fe40
    0015e990
    0015e990loc_15e990:
    0015e990call caml_call_gc
    0015e995jmp 0x15e95d
    0015e950
    0015e997
    0015e997 // align 0x10
    0015e9a0
    0015e9a0camlSubst.fun_1124:
    0015e9a0sub r15, 24
    0015e9a4cmp r15, [r14]
    0015e9a7jb 0x15e9cd
    0015e9a9
    0015e9a9loc_15e9a9:
    0015e9a9lea rdi, [r15+8]
    0015e9admov [rdi-8], 2048
    0015e9b5mov [rdi], rax
    0015e9b8mov rax, [rbx+16]
    0015e9bcmov [rdi+8], rax
    0015e9c0mov eax, 1
    0015e9c5mov rbx, rdi
    0015e9c8jmp 0x15e550
    0015e9cd
    0015e9cdloc_15e9cd:
    0015e9cdcall caml_call_gc
    0015e9d2jmp 0x15e9a9
    0015e9a0
    0015e9d4
    0015e9d4 // align 0x10
    0015e9e0
    0015e9e0camlSubst.subst_this_796:
    0015e9e0lea rbx, [rip+0x1b7fb9]
    0015e9e7mov rbx, [rbx+728]
    0015e9eemov rdi, [rbx]
    0015e9f1sub r15, 24
    0015e9f5cmp r15, [r14]
    0015e9f8jb 0x15ea17
    0015e9fa
    0015e9faloc_15e9fa:
    0015e9falea rbx, [r15+8]
    0015e9femov [rbx-8], 2048
    0015ea06mov [rbx], rax
    0015ea09mov [rbx+8], rdi
    0015ea0dmov eax, 1
    0015ea12jmp 0x15e550
    0015ea17
    0015ea17loc_15ea17:
    0015ea17call caml_call_gc
    0015ea1cjmp 0x15e9fa
    0015e9e0
    0015ea1e
    0015ea1e // align 0x10
    0015ea20
    0015ea20camlSubst.subst_arg_799:
    0015ea20lea r10, [rsp-320]
    0015ea28cmp r10, [r14+40]
    0015ea2cjb 0x15ea40
    0015ea2e
    0015ea2eloc_15ea2e:
    0015ea2ecall camlLexstate.save_arg_1030
    0015ea33mov rbx, rax
    0015ea36mov eax, 1
    0015ea3bjmp 0x15e550
    0015ea40
    0015ea40loc_15ea40:
    0015ea40push 33
    0015ea42call caml_call_realloc_stack
    0015ea47pop r10
    0015ea49jmp 0x15ea2e
    0015ea20
    0015ea4b
    0015ea4b // align 0x10
    0015ea50
    0015ea50camlSubst.subst_opt_800:
    0015ea50lea r10, [rsp-320]
    0015ea58cmp r10, [r14+40]
    0015ea5cjb 0x15ea75
    0015ea5e
    0015ea5eloc_15ea5e:
    0015ea5ecall camlLexstate.save_arg_opt_1107
    0015ea63call camlLexstate.from_ok_1113
    0015ea68mov rbx, rax
    0015ea6bmov eax, 1
    0015ea70jmp 0x15e710
    0015ea75
    0015ea75loc_15ea75:
    0015ea75push 33
    0015ea77call caml_call_realloc_stack
    0015ea7cpop r10
    0015ea7ejmp 0x15ea5e
    0015ea50
    0015ea80
    0015ea80camlSubst.subst_body_806:
    0015ea80lea r10, [rsp-320]
    0015ea88cmp r10, [r14+40]
    0015ea8cjb 0x15eaa0
    0015ea8e
    0015ea8eloc_15ea8e:
    0015ea8ecall camlLexstate.save_body_1031
    0015ea93mov rbx, rax
    0015ea96mov eax, 1
    0015ea9bjmp 0x15e710
    0015eaa0
    0015eaa0loc_15eaa0:
    0015eaa0push 33
    0015eaa2call caml_call_realloc_stack
    0015eaa7pop r10
    0015eaa9jmp 0x15ea8e
    0015ea80
    0015eaab
    0015eaab // align 0x10
    0015eab0
    0015eab0camlSubst.subst_arg_list_809:
    0015eab0lea r10, [rsp-320]
    0015eab8cmp r10, [r14+40]
    0015eabcjb 0x15ead0
    0015eabe
    0015eabeloc_15eabe:
    0015eabecall camlLexstate.save_body_1031
    0015eac3mov rbx, rax
    0015eac6mov eax, 1
    0015eacbjmp 0x15e710
    0015ead0
    0015ead0loc_15ead0:
    0015ead0push 33
    0015ead2call caml_call_realloc_stack
    0015ead7pop r10
    0015ead9jmp 0x15eabe
    0015eab0
    0015eadb
    0015eadb // align 0x10
    0015eae0
    0015eae0camlSubst.subst_expn_arg_812:
    0015eae0lea r10, [rsp-320]
    0015eae8cmp r10, [r14+40]
    0015eaecjb 0x15eb00
    0015eaee
    0015eaeeloc_15eaee:
    0015eaeecall camlLexstate.save_arg_1030
    0015eaf3mov rbx, rax
    0015eaf6mov eax, 3
    0015eafbjmp 0x15e550
    0015eb00
    0015eb00loc_15eb00:
    0015eb00push 33
    0015eb02call caml_call_realloc_stack
    0015eb07pop r10
    0015eb09jmp 0x15eaee
    0015eae0
    0015eb0b
    0015eb0b // align 0x10
    0015eb10
    0015eb10camlSubst.subst_expn_body_815:
    0015eb10lea r10, [rsp-320]
    0015eb18cmp r10, [r14+40]
    0015eb1cjb 0x15eb30
    0015eb1e
    0015eb1eloc_15eb1e:
    0015eb1ecall camlLexstate.save_body_1031
    0015eb23mov rbx, rax
    0015eb26mov eax, 3
    0015eb2bjmp 0x15e710
    0015eb30
    0015eb30loc_15eb30:
    0015eb30push 33
    0015eb32call caml_call_realloc_stack
    0015eb37pop r10
    0015eb39jmp 0x15eb1e
    0015eb10
    0015eb3b
    0015eb3b // align 0x10
    0015eb40
    0015eb40camlSubst.translate_818:
    0015eb40lea r10, [rsp-328]
    0015eb48cmp r10, [r14+40]
    0015eb4cjb 0x15eb9e
    0015eb4e
    0015eb4eloc_15eb4e:
    0015eb4esub rsp, 8
    0015eb52mov [rsp], rax
    0015eb56mov rax, rbx
    0015eb59cmp r15, [r14]
    0015eb5cjbe 0x15eb97
    0015eb5e
    0015eb5eloc_15eb5e:
    0015eb5ecall camlMyLexing.from_string_309
    0015eb63mov rbx, [rsp]
    0015eb67mov [rsp], rbx
    0015eb6blea rbx, [rip+0x1921ee]
    0015eb72mov rdi, [rbx+128]
    0015eb79add rdi, 24
    0015eb7dmov ebx, 35
    0015eb82call Subst..ocaml_lex_do_translate_rec
    0015eb87mov rbx, rax
    0015eb8amov rdi, [rbx]
    0015eb8dmov rax, [rsp]
    0015eb91add rsp, 8
    0015eb95jmp rdi
    0015eb97
    0015eb97loc_15eb97:
    0015eb97call caml_call_gc
    0015eb9cjmp 0x15eb5e
    0015eb9e
    0015eb9eloc_15eb9e:
    0015eb9epush 34
    0015eba0call caml_call_realloc_stack
    0015eba5pop r10
    0015eba7jmp 0x15eb4e
    0015eb40
    0015eba9
    0015eba9 // align 0x10
    0015ebb0
    0015ebb0camlSubst.lowercase_825:
    0015ebb0mov rbx, rax
    0015ebb3lea rax, [rip+0x1d53c6]
    0015ebbamov rax, [rax+16]
    0015ebbejmp 0x15eb40
    0015ebb0
    0015ebc3
    0015ebc3 // align 0x10
    0015ebd0
    0015ebd0camlSubst.uppercase_826:
    0015ebd0mov rbx, rax
    0015ebd3lea rax, [rip+0x1d53a6]
    0015ebdamov rax, [rax+24]
    0015ebdejmp 0x15eb40
    0015ebd0
    0015ebe3
    0015ebe3 // align 0x10
    0015ebf0
    0015ebf0camlSubst.entry:
    0015ebf0lea r10, [rsp-320]
    0015ebf8cmp r10, [r14+40]
    0015ebfcjb 0x15ef3e
    0015ec02
    0015ec02loc_15ec02:
    0015ec02lea rax, [rip+0x1c2def]
    0015ec09mov rax, [rax]
    0015ec0cmov rbx, [rax+16]
    0015ec10mov eax, 1
    0015ec15call camlDoOut.alloc_buff_526
    0015ec1acall caml_alloc1
    0015ec1flea rsi, [r15+8]
    0015ec23mov [rsi-8], 1024
    0015ec2bmov [rsi], rax
    0015ec2elea rdi, [rip+0x19212b]
    0015ec35add rdi, 96
    0015ec39mov rbx, rsp
    0015ec3cmov rsp, [r14+64]
    0015ec40call caml_initialize
    0015ec45mov rsp, rbx
    0015ec48lea rsi, [rip+0x1921e1]
    0015ec4flea rdi, [rip+0x19210a]
    0015ec56add rdi, 104
    0015ec5amov rbx, rsp
    0015ec5dmov rsp, [r14+64]
    0015ec61call caml_initialize
    0015ec66mov rsp, rbx
    0015ec69lea r12, [rip+0x191ec0]
    0015ec70lea rdi, [rip+0x1920e9]
    0015ec77add rdi, 112
    0015ec7bmov rsi, r12
    0015ec7emov rbx, rsp
    0015ec81mov rsp, [r14+64]
    0015ec85call caml_initialize
    0015ec8amov rsp, rbx
    0015ec8dmov rsi, r12
    0015ec90add rsi, 32
    0015ec94lea rdi, [rip+0x1920c5]
    0015ec9badd rdi, 120
    0015ec9fmov rbx, rsp
    0015eca2mov rsp, [r14+64]
    0015eca6call caml_initialize
    0015ecabmov rsp, rbx
    0015ecaemov rsi, r12
    0015ecb1add rsi, 64
    0015ecb5lea rdi, [rip+0x1920a4]
    0015ecbcadd rdi, 128
    0015ecc3mov rbx, rsp
    0015ecc6mov rsp, [r14+64]
    0015eccacall caml_initialize
    0015eccfmov rsp, rbx
    0015ecd2mov rsi, r12
    0015ecd5add rsi, 88
    0015ecd9lea rdi, [rip+0x192080]
    0015ece0add rdi, 136
    0015ece7mov rbx, rsp
    0015eceamov rsp, [r14+64]
    0015eceecall caml_initialize
    0015ecf3mov rsp, rbx
    0015ecf6lea rsi, [rip+0x191eab]
    0015ecfdlea rdi, [rip+0x19205c]
    0015ed04add rdi, 144
    0015ed0bmov rbx, rsp
    0015ed0emov rsp, [r14+64]
    0015ed12call caml_initialize
    0015ed17mov rsp, rbx
    0015ed1alea rsi, [rip+0x191e9f]
    0015ed21lea rdi, [rip+0x192038]
    0015ed28add rdi, 152
    0015ed2fmov rbx, rsp
    0015ed32mov rsp, [r14+64]
    0015ed36call caml_initialize
    0015ed3bmov rsp, rbx
    0015ed3elea rsi, [rip+0x191e9b]
    0015ed45lea rdi, [rip+0x192014]
    0015ed4cadd rdi, 160
    0015ed53mov rbx, rsp
    0015ed56mov rsp, [r14+64]
    0015ed5acall caml_initialize
    0015ed5fmov rsp, rbx
    0015ed62lea rsi, [rip+0x191e8f]
    0015ed69lea rdi, [rip+0x191ff0]
    0015ed70add rdi, 168
    0015ed77mov rbx, rsp
    0015ed7amov rsp, [r14+64]
    0015ed7ecall caml_initialize
    0015ed83mov rsp, rbx
    0015ed86lea rsi, [rip+0x191e8b]
    0015ed8dlea rdi, [rip+0x191fcc]
    0015ed94add rdi, 8
    0015ed98mov rbx, rsp
    0015ed9bmov rsp, [r14+64]
    0015ed9fcall caml_initialize
    0015eda4mov rsp, rbx
    0015eda7lea rsi, [rip+0x191e82]
    0015edaelea rdi, [rip+0x191fab]
    0015edb5mov rbx, rsp
    0015edb8mov rsp, [r14+64]
    0015edbccall caml_initialize
    0015edc1mov rsp, rbx
    0015edc4lea rsi, [rip+0x191e7d]
    0015edcblea rdi, [rip+0x191f8e]
    0015edd2add rdi, 16
    0015edd6mov rbx, rsp
    0015edd9mov rsp, [r14+64]
    0015edddcall caml_initialize
    0015ede2mov rsp, rbx
    0015ede5lea rsi, [rip+0x191e74]
    0015edeclea rdi, [rip+0x191f6d]
    0015edf3add rdi, 24
    0015edf7mov rbx, rsp
    0015edfamov rsp, [r14+64]
    0015edfecall caml_initialize
    0015ee03mov rsp, rbx
    0015ee06lea rsi, [rip+0x191e8b]
    0015ee0dlea r12, [rip+0x191e64]
    0015ee14lea rdi, [rip+0x191f45]
    0015ee1badd rdi, 32
    0015ee1fmov rbx, rsp
    0015ee22mov rsp, [r14+64]
    0015ee26call caml_initialize
    0015ee2bmov rsp, rbx
    0015ee2elea rdi, [rip+0x191f2b]
    0015ee35add rdi, 48
    0015ee39mov rsi, r12
    0015ee3cmov rbx, rsp
    0015ee3fmov rsp, [r14+64]
    0015ee43call caml_initialize
    0015ee48mov rsp, rbx
    0015ee4blea rsi, [rip+0x191e5e]
    0015ee52lea rdi, [rip+0x191f07]
    0015ee59add rdi, 56
    0015ee5dmov rbx, rsp
    0015ee60mov rsp, [r14+64]
    0015ee64call caml_initialize
    0015ee69mov rsp, rbx
    0015ee6clea rsi, [rip+0x191e55]
    0015ee73lea rdi, [rip+0x191ee6]
    0015ee7aadd rdi, 72
    0015ee7emov rbx, rsp
    0015ee81mov rsp, [r14+64]
    0015ee85call caml_initialize
    0015ee8amov rsp, rbx
    0015ee8dlea rsi, [rip+0x191e4c]
    0015ee94lea rdi, [rip+0x191ec5]
    0015ee9badd rdi, 40
    0015ee9fmov rbx, rsp
    0015eea2mov rsp, [r14+64]
    0015eea6call caml_initialize
    0015eeabmov rsp, rbx
    0015eeaelea rsi, [rip+0x191e43]
    0015eeb5lea rdi, [rip+0x191ea4]
    0015eebcadd rdi, 64
    0015eec0mov rbx, rsp
    0015eec3mov rsp, [r14+64]
    0015eec7call caml_initialize
    0015eeccmov rsp, rbx
    0015eecflea rsi, [rip+0x191e3a]
    0015eed6lea rdi, [rip+0x191e83]
    0015eeddadd rdi, 176
    0015eee4mov rbx, rsp
    0015eee7mov rsp, [r14+64]
    0015eeebcall caml_initialize
    0015eef0mov rsp, rbx
    0015eef3lea rsi, [rip+0x191e4e]
    0015eefalea r12, [rip+0x191e2f]
    0015ef01lea rdi, [rip+0x191e58]
    0015ef08add rdi, 88
    0015ef0cmov rbx, rsp
    0015ef0fmov rsp, [r14+64]
    0015ef13call caml_initialize
    0015ef18mov rsp, rbx
    0015ef1blea rdi, [rip+0x191e3e]
    0015ef22add rdi, 80
    0015ef26mov rsi, r12
    0015ef29mov rbx, rsp
    0015ef2cmov rsp, [r14+64]
    0015ef30call caml_initialize
    0015ef35mov rsp, rbx
    0015ef38mov eax, 1
    0015ef3dret
    0015ef3e
    0015ef3eloc_15ef3e:
    0015ef3epush 33
    0015ef40call caml_call_realloc_stack
    0015ef45pop r10
    0015ef47jmp 0x15ec02
    0015ebf0
    0015ef4c
    0015ef4c // align 0x10
    0015ef50
    0015ef50camlOutUnicode.show_271:
    0015ef50lea r10, [rsp-328]
    0015ef58cmp r10, [r14+40]
    0015ef5cjb 0x15ef8e
    0015ef5e
    0015ef5eloc_15ef5e:
    0015ef5esub rsp, 8
    0015ef62cmp r15, [r14]
    0015ef65jbe 0x15ef87
    0015ef67
    0015ef67loc_15ef67:
    0015ef67mov [rsp], rax
    0015ef6blea rax, [rip+0x19518e]
    0015ef72call Stdlib.Printf.sprintf
    0015ef77mov rbx, rax
    0015ef7amov rdi, [rbx]
    0015ef7dmov rax, [rsp]
    0015ef81add rsp, 8
    0015ef85jmp rdi
    0015ef87
    0015ef87loc_15ef87:
    0015ef87call caml_call_gc
    0015ef8cjmp 0x15ef67
    0015ef8e
    0015ef8eloc_15ef8e:
    0015ef8epush 34
    0015ef90call caml_call_realloc_stack
    0015ef95pop r10
    0015ef97jmp 0x15ef5e
    0015ef50
    0015ef99
    0015ef99 // align 0x10
    0015efa0
    0015efa0camlOutUnicode.bad_char_311:
    0015efa0lea r10, [rsp-328]
    0015efa8cmp r10, [r14+40]
    0015efacjb 0x15f00f
    0015efae
    0015efaeloc_15efae:
    0015efaesub rsp, 8
    0015efb2mov [rsp], rax
    0015efb6lea rax, [rip+0x1955bb]
    0015efbdcall Stdlib.Printf.sprintf
    0015efc2mov rbx, rax
    0015efc5mov rdi, [rbx]
    0015efc8mov rax, [rsp]
    0015efcccall rdi
    0015efcesub r15, 24
    0015efd2cmp r15, [r14]
    0015efd5jb 0x15f008
    0015efd7
    0015efd7loc_15efd7:
    0015efd7lea rbx, [r15+8]
    0015efdbmov [rbx-8], 2048
    0015efe3lea rdi, [rip+0x194d4e]
    0015efeamov rdi, [rdi+680]
    0015eff1mov [rbx], rdi
    0015eff4mov [rbx+8], rax
    0015eff8mov rax, rbx
    0015effbmov rsp, [r14+48]
    0015efffpop [r14+48]
    0015f003pop r11
    0015f005jmp r11
    0015f008
    0015f008loc_15f008:
    0015f008call caml_call_gc
    0015f00djmp 0x15efd7
    0015f00f
    0015f00floc_15f00f:
    0015f00fpush 34
    0015f011call caml_call_realloc_stack
    0015f016pop r10
    0015f018jmp 0x15efae
    0015efa0
    0015f01a
    0015f01a // align 0x10
    0015f020
    0015f020camlOutUnicode.parse10_314:
    0015f020lea r10, [rsp-352]
    0015f028cmp r10, [r14+40]
    0015f02cjb 0x15f0e3
    0015f032
    0015f032loc_15f032:
    0015f032sub rsp, 32
    0015f036
    0015f036loc_15f036:
    0015f036cmp r15, [r14]
    0015f039jbe 0x15f0d4
    0015f03f
    0015f03floc_15f03f:
    0015f03fcmp rdi, rax
    0015f042jge 0x15f0cc
    0015f048mov [rsp], rsi
    0015f04cmov [rsp+8], rdi
    0015f051mov [rsp+24], rbx
    0015f056mov [rsp+16], rax
    0015f05bsar rdi, 1
    0015f05emov rax, [rbx-8]
    0015f062shr rax, 10
    0015f066lea rax, [8*rax-1]
    0015f06emovzx rsi, [rbx+rax]
    0015f073sub rax, rsi
    0015f076cmp rax, rdi
    0015f079jbe 0x15f0de
    0015f07bmovzx rax, [rbx+rdi]
    0015f080lea rax, [rax+rax+1]
    0015f085mov rbx, rax
    0015f088add rbx, -96
    0015f08ccmp rbx, 19
    0015f090jbe 0x15f09c
    0015f092call camlOutUnicode.bad_char_311
    0015f097jmp 0x15f0a4
    0015f099
    0015f099 0f 1f 00 ...
    0015f09c
    0015f09cloc_15f09c:
    0015f09csar rbx, 1
    0015f09flea rax, [rbx+rbx+1]
    0015f0a4
    0015f0a4loc_15f0a4:
    0015f0a4mov rbx, [rsp]
    0015f0a8imul rbx, rbx, 10
    0015f0aclea rsi, [rbx+rax-10]
    0015f0b1mov rdi, [rsp+8]
    0015f0b6add rdi, 2
    0015f0bamov rax, [rsp+16]
    0015f0bfmov rbx, [rsp+24]
    0015f0c4jmp 0x15f036
    0015f0c9
    0015f0c9 0f 1f 00 ...
    0015f0cc
    0015f0ccloc_15f0cc:
    0015f0ccmov rax, rsi
    0015f0cfadd rsp, 32
    0015f0d3ret
    0015f0d4
    0015f0d4loc_15f0d4:
    0015f0d4call caml_call_gc
    0015f0d9jmp 0x15f03f
    0015f0de
    0015f0deloc_15f0de:
    0015f0decall caml_ml_array_bound_error
    0015f0e3
    0015f0e3loc_15f0e3:
    0015f0e3push 37
    0015f0e5call caml_call_realloc_stack
    0015f0eapop r10
    0015f0ecjmp 0x15f032
    0015f020
    0015f0f1
    0015f0f1 // align 0x10
    0015f100
    0015f100camlOutUnicode.parse16_390:
    0015f100lea r10, [rsp-352]
    0015f108cmp r10, [r14+40]
    0015f10cjb 0x15f257
    0015f112
    0015f112loc_15f112:
    0015f112sub rsp, 32
    0015f116
    0015f116loc_15f116:
    0015f116cmp r15, [r14]
    0015f119jbe 0x15f248
    0015f11f
    0015f11floc_15f11f:
    0015f11fcmp rdi, rax
    0015f122jge 0x15f240
    0015f128mov [rsp], rsi
    0015f12cmov [rsp+8], rdi
    0015f131mov [rsp+24], rbx
    0015f136mov [rsp+16], rax
    0015f13bsar rdi, 1
    0015f13emov rax, [rbx-8]
    0015f142shr rax, 10
    0015f146lea rax, [8*rax-1]
    0015f14emovzx rsi, [rbx+rax]
    0015f153sub rax, rsi
    0015f156cmp rax, rdi
    0015f159jbe 0x15f252
    0015f15fmovzx rax, [rbx+rdi]
    0015f164lea rbx, [rax+rax+1]
    0015f169mov rax, rbx
    0015f16cadd rax, -96
    0015f170cmp rax, 109
    0015f174ja 0x15f1e0
    0015f176sar rax, 1
    0015f179lea rdx, [rip+0xcb9c8]
    0015f180movsxd rax, [rdx+4*rax]
    0015f184add rdx, rax
    0015f187jmp rdx
    0015f189nop [rax]
    0015f18cmov eax, 1
    0015f191jmp 0x15f219
    0015f196nop
    0015f198mov eax, 3
    0015f19djmp 0x15f219
    0015f19fnop
    0015f1a0mov eax, 5
    0015f1a5jmp 0x15f219
    0015f1a7nop
    0015f1a8mov eax, 7
    0015f1adjmp 0x15f219
    0015f1afnop
    0015f1b0mov eax, 9
    0015f1b5jmp 0x15f219
    0015f1b7nop
    0015f1b8mov eax, 11
    0015f1bdjmp 0x15f219
    0015f1bfnop
    0015f1c0mov eax, 13
    0015f1c5jmp 0x15f219
    0015f1c7nop
    0015f1c8mov eax, 15
    0015f1cdjmp 0x15f219
    0015f1cfnop
    0015f1d0mov eax, 17
    0015f1d5jmp 0x15f219
    0015f1d7nop
    0015f1d8mov eax, 19
    0015f1ddjmp 0x15f219
    0015f1dfnop
    0015f1e0
    0015f1e0loc_15f1e0:
    0015f1e0mov rax, rbx
    0015f1e3call camlOutUnicode.bad_char_311
    0015f1e8jmp 0x15f219
    0015f1eanop
    0015f1ecmov eax, 21
    0015f1f1jmp 0x15f219
    0015f1f3nop
    0015f1f4mov eax, 23
    0015f1f9jmp 0x15f219
    0015f1fbnop
    0015f1fcmov eax, 25
    0015f201jmp 0x15f219
    0015f203nop
    0015f204mov eax, 27
    0015f209jmp 0x15f219
    0015f20bnop
    0015f20cmov eax, 29
    0015f211jmp 0x15f219
    0015f213nop
    0015f214mov eax, 31
    0015f219
    0015f219loc_15f219:
    0015f219mov rbx, [rsp]
    0015f21dshl rbx, 4
    0015f221lea rsi, [rbx+rax-16]
    0015f226mov rdi, [rsp+8]
    0015f22badd rdi, 2
    0015f22fmov rax, [rsp+16]
    0015f234mov rbx, [rsp+24]
    0015f239jmp 0x15f116
    0015f23enop
    0015f240
    0015f240loc_15f240:
    0015f240mov rax, rsi
    0015f243add rsp, 32
    0015f247ret
    0015f248
    0015f248loc_15f248:
    0015f248call caml_call_gc
    0015f24djmp 0x15f11f
    0015f252
    0015f252loc_15f252:
    0015f252call caml_ml_array_bound_error
    0015f257
    0015f257loc_15f257:
    0015f257push 37
    0015f259call caml_call_realloc_stack
    0015f25epop r10
    0015f260jmp 0x15f112
    0015f100
    0015f265
    0015f265 // align 0x10
    0015f270
    0015f270camlOutUnicode.do_parse_397:
    0015f270mov rbx, rax
    0015f273mov rax, [rbx-8]
    0015f277shr rax, 10
    0015f27blea rax, [8*rax-1]
    0015f283movzx rdi, [rbx+rax]
    0015f288sub rax, rdi
    0015f28blea rdx, [rax+rax+1]
    0015f290cmp rdx, 1
    0015f294jne 0x15f2d8
    0015f296sub r15, 24
    0015f29acmp r15, [r14]
    0015f29djb 0x15f335
    0015f2a3
    0015f2a3loc_15f2a3:
    0015f2a3lea rax, [r15+8]
    0015f2a7mov [rax-8], 2048
    0015f2aflea rbx, [rip+0x194a82]
    0015f2b6mov rbx, [rbx+680]
    0015f2bdmov [rax], rbx
    0015f2c0lea rbx, [rip+0x195281]
    0015f2c7mov [rax+8], rbx
    0015f2cbmov rsp, [r14+48]
    0015f2cfpop [r14+48]
    0015f2d3pop r11
    0015f2d5jmp r11
    0015f2d8
    0015f2d8loc_15f2d8:
    0015f2d8cmp rax, 0
    0015f2dcjbe 0x15f33f
    0015f2demovzx rax, [rbx]
    0015f2e2lea rax, [rax+rax+1]
    0015f2e7mov rdi, rax
    0015f2eaadd rdi, -176
    0015f2f1cmp rdi, 65
    0015f2f5jbe 0x15f314
    0015f2f7add rdi, 80
    0015f2fbcmp rdi, 19
    0015f2ffja 0x15f330
    0015f301mov esi, 1
    0015f306mov edi, 1
    0015f30bmov rax, rdx
    0015f30ejmp 0x15f020
    0015f313nop
    0015f314
    0015f314loc_15f314:
    0015f314add rdi, -2
    0015f318cmp rdi, 61
    0015f31cjbe 0x15f330
    0015f31emov esi, 1
    0015f323mov edi, 3
    0015f328mov rax, rdx
    0015f32bjmp 0x15f100
    0015f330
    0015f330loc_15f330:
    0015f330jmp 0x15efa0
    0015f335
    0015f335loc_15f335:
    0015f335call caml_call_gc
    0015f33ajmp 0x15f2a3
    0015f33f
    0015f33floc_15f33f:
    0015f33fcall caml_ml_array_bound_error
    0015f270
    0015f344
    0015f344 // align 0x10
    0015f350
    0015f350camlOutUnicode.parse_402:
    0015f350lea r10, [rsp-336]
    0015f358cmp r10, [r14+40]
    0015f35cjb 0x15f3b9
    0015f35e
    0015f35eloc_15f35e:
    0015f35elea r11, [rip+27]
    0015f365push r11
    0015f367push [r14+48]
    0015f36bmov [r14+48], rsp
    0015f36fcall camlOutUnicode.do_parse_397
    0015f374pop [r14+48]
    0015f378add rsp, 8
    0015f37cjmp 0x15f3b8
    0015f37enop
    0015f380lea rbx, [rip+0x1949b1]
    0015f387mov rbx, [rbx+680]
    0015f38emov rdi, [rax]
    0015f391cmp rdi, rbx
    0015f394jne 0x15f3a8
    0015f396mov rax, [rax+8]
    0015f39acall camlMisc.warning_287
    0015f39fmov eax, 1
    0015f3a4ret
    0015f3a5nop [rax]
    0015f3a8
    0015f3a8loc_15f3a8:
    0015f3a8mov rsp, [r14+48]
    0015f3acpop [r14+48]
    0015f3b0pop r11
    0015f3b2jmp r11
    0015f3b5nop [rax]
    0015f3b8
    0015f3b8loc_15f3b8:
    0015f3b8ret
    0015f3b9
    0015f3b9loc_15f3b9:
    0015f3b9push 35
    0015f3bbcall caml_call_realloc_stack
    0015f3c0pop r10
    0015f3c2jmp 0x15f35e
    0015f350
    0015f3c4
    0015f3c4 // align 0x10
    0015f3d0
    0015f3d0camlOutUnicode.cannot_443:
    0015f3d0lea rax, [rip+0x194961]
    0015f3d7mov rax, [rax+40]
    0015f3dbmov rsp, [r14+48]
    0015f3dfpop [r14+48]
    0015f3e3pop r11
    0015f3e5jmp r11
    0015f3d0
    0015f3e8
    0015f3e8 // align 0x10
    0015f3f0
    0015f3f0camlOutUnicode.translate_ascii_out_446:
    0015f3f0cmp r15, [r14]
    0015f3f3jbe 0x15f41c
    0015f3f5
    0015f3f5loc_15f3f5:
    0015f3f5cmp rax, 257
    0015f3fbjge 0x15f404
    0015f3fdmov rdi, [rbx]
    0015f400jmp rdi
    0015f402nop
    0015f404
    0015f404loc_15f404:
    0015f404lea rax, [rip+0x19492d]
    0015f40bmov rax, [rax+40]
    0015f40fmov rsp, [r14+48]
    0015f413pop [r14+48]
    0015f417pop r11
    0015f419jmp r11
    0015f41c
    0015f41cloc_15f41c:
    0015f41ccall caml_call_gc
    0015f421jmp 0x15f3f5
    0015f3f0
    0015f423
    0015f423 // align 0x10
    0015f430
    0015f430camlOutUnicode.translate_ascii_in_447:
    0015f430cmp rax, 257
    0015f436jge 0x15f43c
    0015f438ret
    0015f439nop [rax]
    0015f43c
    0015f43cloc_15f43c:
    0015f43clea rax, [rip+0x1948f5]
    0015f443mov rax, [rax+40]
    0015f447mov rsp, [r14+48]
    0015f44bpop [r14+48]
    0015f44fpop r11
    0015f451jmp r11
    0015f430
    0015f454
    0015f454 // align 0x10
    0015f460
    0015f460camlOutUnicode.translate_latin1_out_466:
    0015f460cmp r15, [r14]
    0015f463jbe 0x15f48c
    0015f465
    0015f465loc_15f465:
    0015f465cmp rax, 513
    0015f46bjge 0x15f474
    0015f46dmov rdi, [rbx]
    0015f470jmp rdi
    0015f472nop
    0015f474
    0015f474loc_15f474:
    0015f474lea rax, [rip+0x1948bd]
    0015f47bmov rax, [rax+40]
    0015f47fmov rsp, [r14+48]
    0015f483pop [r14+48]
    0015f487pop r11
    0015f489jmp r11
    0015f48c
    0015f48cloc_15f48c:
    0015f48ccall caml_call_gc
    0015f491jmp 0x15f465
    0015f460
    0015f493
    0015f493 // align 0x10
    0015f4a0
    0015f4a0camlOutUnicode.translate_latin1_in_467:
    0015f4a0ret
    0015f4a0
    0015f4a1
    0015f4a1 // align 0x10
    0015f4b0
    0015f4b0camlOutUnicode.translate_utf8_in_474:
    0015f4b0lea r10, [rsp-352]
    0015f4b8cmp r10, [r14+40]
    0015f4bcjb 0x15f7f9
    0015f4c2
    0015f4c2loc_15f4c2:
    0015f4c2sub rsp, 32
    0015f4c6cmp rax, 257
    0015f4ccjl 0x15f7f4
    0015f4d2cmp rax, 481
    0015f4d8jl 0x15f64c
    0015f4decmp rax, 497
    0015f4e4jl 0x15f500
    0015f4e6lea rax, [rip+0x19484b]
    0015f4edmov rax, [rax+40]
    0015f4f1mov rsp, [r14+48]
    0015f4f5pop [r14+48]
    0015f4f9pop r11
    0015f4fbjmp r11
    0015f4fenop
    0015f500
    0015f500loc_15f500:
    0015f500mov [rsp+8], rbx
    0015f505mov [rsp+16], rax
    0015f50amov eax, 1
    0015f50fmov rdi, [rbx]
    0015f512call rdi
    0015f514mov [rsp+24], rax
    0015f519mov eax, 1
    0015f51emov rbx, [rsp+8]
    0015f523mov rdi, [rbx]
    0015f526call rdi
    0015f528mov [rsp], rax
    0015f52cmov eax, 1
    0015f531mov rbx, [rsp+8]
    0015f536mov rdi, [rbx]
    0015f539call rdi
    0015f53bmov rsi, [rsp+24]
    0015f540cmp rsi, 257
    0015f547jl 0x15f552
    0015f549cmp rsi, 383
    0015f550jle 0x15f56c
    0015f552
    0015f552loc_15f552:
    0015f552lea rax, [rip+0x1947df]
    0015f559mov rax, [rax+40]
    0015f55dmov rsp, [r14+48]
    0015f561pop [r14+48]
    0015f565pop r11
    0015f567jmp r11
    0015f56anop
    0015f56c
    0015f56cloc_15f56c:
    0015f56cmov rdi, [rsp]
    0015f570cmp rdi, 257
    0015f577jl 0x15f582
    0015f579cmp rdi, 383
    0015f580jle 0x15f59c
    0015f582
    0015f582loc_15f582:
    0015f582lea rax, [rip+0x1947af]
    0015f589mov rax, [rax+40]
    0015f58dmov rsp, [r14+48]
    0015f591pop [r14+48]
    0015f595pop r11
    0015f597jmp r11
    0015f59anop
    0015f59c
    0015f59cloc_15f59c:
    0015f59ccmp rax, 257
    0015f5a2jl 0x15f5ac
    0015f5a4cmp rax, 383
    0015f5aajle 0x15f5c4
    0015f5ac
    0015f5acloc_15f5ac:
    0015f5aclea rax, [rip+0x194785]
    0015f5b3mov rax, [rax+40]
    0015f5b7mov rsp, [r14+48]
    0015f5bbpop [r14+48]
    0015f5bfpop r11
    0015f5c1jmp r11
    0015f5c4
    0015f5c4loc_15f5c4:
    0015f5c4mov rbx, rax
    0015f5c7and rbx, 127
    0015f5cband rdi, 127
    0015f5cfshl rdi, 6
    0015f5d3add rdi, -63
    0015f5d7and rsi, 127
    0015f5dbshl rsi, 12
    0015f5dfadd rsi, -4095
    0015f5e6mov rax, [rsp+16]
    0015f5eband rax, 15
    0015f5efshl rax, 18
    0015f5f3add rax, 0xfffffffffffc0001
    0015f5f9or rax, rsi
    0015f5fcor rax, rdi
    0015f5ffor rax, rbx
    0015f602cmp rax, 0x20001
    0015f608jge 0x15f624
    0015f60alea rax, [rip+0x194727]
    0015f611mov rax, [rax+40]
    0015f615mov rsp, [r14+48]
    0015f619pop [r14+48]
    0015f61dpop r11
    0015f61fjmp r11
    0015f622nop
    0015f624
    0015f624loc_15f624:
    0015f624cmp rax, 0x220001
    0015f62ajl 0x15f644
    0015f62clea rax, [rip+0x194705]
    0015f633mov rax, [rax+40]
    0015f637mov rsp, [r14+48]
    0015f63bpop [r14+48]
    0015f63fpop r11
    0015f641jmp r11
    0015f644
    0015f644loc_15f644:
    0015f644add rsp, 32
    0015f648ret
    0015f649nop [rax]
    0015f64c
    0015f64cloc_15f64c:
    0015f64cmov [rsp+16], rax
    0015f651cmp rax, 449
    0015f657jl 0x15f77c
    0015f65dmov [rsp+8], rbx
    0015f662mov eax, 1
    0015f667mov rdi, [rbx]
    0015f66acall rdi
    0015f66cmov [rsp], rax
    0015f670mov eax, 1
    0015f675mov rbx, [rsp+8]
    0015f67amov rdi, [rbx]
    0015f67dcall rdi
    0015f67fmov rdi, [rsp]
    0015f683cmp rdi, 257
    0015f68ajl 0x15f695
    0015f68ccmp rdi, 383
    0015f693jle 0x15f6b0
    0015f695
    0015f695loc_15f695:
    0015f695lea rax, [rip+0x19469c]
    0015f69cmov rax, [rax+40]
    0015f6a0mov rsp, [r14+48]
    0015f6a4pop [r14+48]
    0015f6a8pop r11
    0015f6aajmp r11
    0015f6adnop [rax]
    0015f6b0
    0015f6b0loc_15f6b0:
    0015f6b0cmp rax, 257
    0015f6b6jl 0x15f6c0
    0015f6b8cmp rax, 383
    0015f6bejle 0x15f6d8
    0015f6c0
    0015f6c0loc_15f6c0:
    0015f6c0lea rax, [rip+0x194671]
    0015f6c7mov rax, [rax+40]
    0015f6cbmov rsp, [r14+48]
    0015f6cfpop [r14+48]
    0015f6d3pop r11
    0015f6d5jmp r11
    0015f6d8
    0015f6d8loc_15f6d8:
    0015f6d8mov rbx, rax
    0015f6dband rbx, 127
    0015f6dfand rdi, 127
    0015f6e3shl rdi, 6
    0015f6e7add rdi, -63
    0015f6ebmov rax, [rsp+16]
    0015f6f0and rax, 31
    0015f6f4shl rax, 12
    0015f6f8add rax, -4095
    0015f6feor rax, rdi
    0015f701or rax, rbx
    0015f704cmp rax, 4097
    0015f70ajge 0x15f724
    0015f70clea rax, [rip+0x194625]
    0015f713mov rax, [rax+40]
    0015f717mov rsp, [r14+48]
    0015f71bpop [r14+48]
    0015f71fpop r11
    0015f721jmp r11
    0015f724
    0015f724loc_15f724:
    0015f724cmp rax, 0x1b001
    0015f72ajl 0x15f74c
    0015f72ccmp rax, 0x1c001
    0015f732jge 0x15f74c
    0015f734lea rax, [rip+0x1945fd]
    0015f73bmov rax, [rax+40]
    0015f73fmov rsp, [r14+48]
    0015f743pop [r14+48]
    0015f747pop r11
    0015f749jmp r11
    0015f74c
    0015f74cloc_15f74c:
    0015f74ccmp rax, 0x1fffd
    0015f752jl 0x15f774
    0015f754cmp rax, 0x1ffff
    0015f75ajg 0x15f774
    0015f75clea rax, [rip+0x1945d5]
    0015f763mov rax, [rax+40]
    0015f767mov rsp, [r14+48]
    0015f76bpop [r14+48]
    0015f76fpop r11
    0015f771jmp r11
    0015f774
    0015f774loc_15f774:
    0015f774add rsp, 32
    0015f778ret
    0015f779nop [rax]
    0015f77c
    0015f77cloc_15f77c:
    0015f77cmov eax, 1
    0015f781mov rdi, [rbx]
    0015f784call rdi
    0015f786cmp rax, 257
    0015f78cjl 0x15f796
    0015f78ecmp rax, 383
    0015f794jle 0x15f7b0
    0015f796
    0015f796loc_15f796:
    0015f796lea rax, [rip+0x19459b]
    0015f79dmov rax, [rax+40]
    0015f7a1mov rsp, [r14+48]
    0015f7a5pop [r14+48]
    0015f7a9pop r11
    0015f7abjmp r11
    0015f7aenop
    0015f7b0
    0015f7b0loc_15f7b0:
    0015f7b0mov rbx, rax
    0015f7b3and rbx, 127
    0015f7b7mov rax, [rsp+16]
    0015f7bcand rax, 63
    0015f7c0shl rax, 6
    0015f7c4add rax, -63
    0015f7c8or rax, rbx
    0015f7cbcmp rax, 257
    0015f7d1jge 0x15f7ec
    0015f7d3lea rax, [rip+0x19455e]
    0015f7damov rax, [rax+40]
    0015f7demov rsp, [r14+48]
    0015f7e2pop [r14+48]
    0015f7e6pop r11
    0015f7e8jmp r11
    0015f7ebnop
    0015f7ec
    0015f7ecloc_15f7ec:
    0015f7ecadd rsp, 32
    0015f7f0ret
    0015f7f1nop [rax]
    0015f7f4
    0015f7f4loc_15f7f4:
    0015f7f4add rsp, 32
    0015f7f8ret
    0015f7f9
    0015f7f9loc_15f7f9:
    0015f7f9push 37
    0015f7fbcall caml_call_realloc_stack
    0015f800pop r10
    0015f802jmp 0x15f4c2
    0015f4b0