File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    0018a3c0
    0018a3c0camlDoOut.do_rec_812:
    0018a3c0lea r10, [rsp-336]
    0018a3c8cmp r10, [r14+40]
    0018a3ccjb 0x18a429
    0018a3ce
    0018a3celoc_18a3ce:
    0018a3cesub rsp, 16
    0018a3d2
    0018a3d2loc_18a3d2:
    0018a3d2mov rdi, rax
    0018a3d5mov [rsp], rdi
    0018a3d9mov [rsp+8], rbx
    0018a3decmp r15, [r14]
    0018a3e1jbe 0x18a422
    0018a3e3
    0018a3e3loc_18a3e3:
    0018a3e3mov eax, 1
    0018a3e8mov rsi, [rdi]
    0018a3ebmov rbx, rdi
    0018a3eecall rsi
    0018a3f0cmp rax, -1
    0018a3f4je 0x18a418
    0018a3f6call Stdlib.Char.chr
    0018a3fbmov rbx, [rsp+8]
    0018a400mov rdi, [rbx+16]
    0018a404mov rbx, [rsp]
    0018a408call caml_apply2
    0018a40dmov rax, [rsp]
    0018a411mov rbx, [rsp+8]
    0018a416jmp 0x18a3d2
    0018a418
    0018a418loc_18a418:
    0018a418mov eax, 1
    0018a41dadd rsp, 16
    0018a421ret
    0018a422
    0018a422loc_18a422:
    0018a422call caml_call_gc
    0018a427jmp 0x18a3e3
    0018a429
    0018a429loc_18a429:
    0018a429push 35
    0018a42bcall caml_call_realloc_stack
    0018a430pop r10
    0018a432jmp 0x18a3ce
    0018a3c0
    0018a434
    0018a434 // align 0x10
    0018a440
    0018a440camlDoOut.fun_1194:
    0018a440lea r10, [rsp-344]
    0018a448cmp r10, [r14+40]
    0018a44cjb 0x18a4b5
    0018a44e
    0018a44eloc_18a44e:
    0018a44esub rsp, 24
    0018a452mov [rsp+16], rbx
    0018a457mov rax, [rbx+40]
    0018a45bmov rax, [rax]
    0018a45emov [rsp+8], rax
    0018a463mov rax, [rbx+32]
    0018a467mov [rsp], rax
    0018a46bmov rax, [rax+24]
    0018a46fcall camlSimpleRope.length_290
    0018a474mov rbx, [rsp]
    0018a478mov rbx, [rbx+8]
    0018a47cadd rbx, rax
    0018a47fdec rbx
    0018a482mov rdi, [rsp+8]
    0018a487cmp rdi, rbx
    0018a48ajl 0x18a498
    0018a48cmov rax, -1
    0018a493add rsp, 24
    0018a497ret
    0018a498
    0018a498loc_18a498:
    0018a498mov rbx, [rsp+16]
    0018a49dmov rax, [rbx+40]
    0018a4a1add [rax], 2
    0018a4a5mov rax, [rbx+32]
    0018a4a9mov rbx, rdi
    0018a4acadd rsp, 24
    0018a4b0jmp 0x189bb0
    0018a4b5
    0018a4b5loc_18a4b5:
    0018a4b5push 36
    0018a4b7call caml_call_realloc_stack
    0018a4bcpop r10
    0018a4bejmp 0x18a44e
    0018a440
    0018a4c0
    0018a4c0camlDoOut.to_string_830:
    0018a4c0lea r10, [rsp-328]
    0018a4c8cmp r10, [r14+40]
    0018a4ccjb 0x18a545
    0018a4ce
    0018a4celoc_18a4ce:
    0018a4cesub rsp, 8
    0018a4d2test al, 1
    0018a4d4je 0x18a4e4
    0018a4d6lea rax, [rip+0x198853]
    0018a4ddadd rsp, 8
    0018a4e1ret
    0018a4e2nop
    0018a4e4
    0018a4e4loc_18a4e4:
    0018a4e4movzx rbx, [rax-8]
    0018a4e9test rbx, rbx
    0018a4ecje 0x18a508
    0018a4eelea rax, [rip+0x198823]
    0018a4f5call camlMisc.fatal_310
    0018a4famov rsp, [r14+48]
    0018a4fepop [r14+48]
    0018a502pop r11
    0018a504jmp r11
    0018a507nop
    0018a508
    0018a508loc_18a508:
    0018a508mov rax, [rax]
    0018a50bmov [rsp], rax
    0018a50fcall camlDoOut.to_string_buff_539
    0018a514mov r12, rax
    0018a517mov rdi, [rsp]
    0018a51bmov [rdi+8], 1
    0018a523lea rsi, [rip+0x199dd6]
    0018a52aadd rdi, 24
    0018a52emov rbx, rsp
    0018a531mov rsp, [r14+64]
    0018a535call caml_modify
    0018a53amov rsp, rbx
    0018a53dmov rax, r12
    0018a540add rsp, 8
    0018a544ret
    0018a545
    0018a545loc_18a545:
    0018a545push 34
    0018a547call caml_call_realloc_stack
    0018a54cpop r10
    0018a54ejmp 0x18a4ce
    0018a4c0
    0018a553
    0018a553 // align 0x10
    0018a560
    0018a560camlDoOut.to_list_835:
    0018a560lea r10, [rsp-344]
    0018a568cmp r10, [r14+40]
    0018a56cjb 0x18a6aa
    0018a572
    0018a572loc_18a572:
    0018a572sub rsp, 24
    0018a576test al, 1
    0018a578je 0x18a584
    0018a57amov eax, 1
    0018a57fadd rsp, 24
    0018a583ret
    0018a584
    0018a584loc_18a584:
    0018a584movzx rbx, [rax-8]
    0018a589test rbx, rbx
    0018a58cje 0x18a5a8
    0018a58elea rax, [rip+0x19864b]
    0018a595call camlMisc.fatal_310
    0018a59amov rsp, [r14+48]
    0018a59epop [r14+48]
    0018a5a2pop r11
    0018a5a4jmp r11
    0018a5a7nop
    0018a5a8
    0018a5a8loc_18a5a8:
    0018a5a8mov rax, [rax]
    0018a5abmov [rsp], rax
    0018a5afmov rdi, [rax+8]
    0018a5b3cmp rdi, 1
    0018a5b7jle 0x18a5ec
    0018a5b9mov rax, [rax]
    0018a5bcmov ebx, 1
    0018a5c1call Stdlib.Bytes.sub
    0018a5c6sub r15, 24
    0018a5cacmp r15, [r14]
    0018a5cdjb 0x18a6a0
    0018a5d3
    0018a5d3loc_18a5d3:
    0018a5d3lea rdi, [r15+8]
    0018a5d7mov [rdi-8], 2048
    0018a5dfmov [rdi], rax
    0018a5e2mov [rdi+8], 1
    0018a5eajmp 0x18a5f1
    0018a5ec
    0018a5ecloc_18a5ec:
    0018a5ecmov edi, 1
    0018a5f1
    0018a5f1loc_18a5f1:
    0018a5f1mov rax, [rsp]
    0018a5f5mov rbx, [rax+24]
    0018a5f9mov rax, rdi
    0018a5fccall camlSimpleRope.do_to_list_612
    0018a601mov rbx, rax
    0018a604mov [rsp+8], rbx
    0018a609lea rax, [rip+0x198480]
    0018a610mov rax, [rax]
    0018a613mov rax, [rax]
    0018a616cmp rax, 5
    0018a61ajle 0x18a670
    0018a61ctest bl, 1
    0018a61fjne 0x18a670
    0018a621mov rax, [rbx+8]
    0018a625test al, 1
    0018a627jne 0x18a670
    0018a629lea rax, [rip+0x1981f0]
    0018a630call Stdlib.List.map
    0018a635mov rbx, rax
    0018a638lea rax, [rip+0x198629]
    0018a63fcall Stdlib.String.concat
    0018a644mov [rsp+16], rax
    0018a649lea rbx, [rip+0x198628]
    0018a650lea rax, [rip+0x1a2fc1]
    0018a657mov rax, [rax+312]
    0018a65ecall Stdlib.Printf.fprintf
    0018a663mov rbx, rax
    0018a666mov rdi, [rbx]
    0018a669mov rax, [rsp+16]
    0018a66ecall rdi
    0018a670
    0018a670loc_18a670:
    0018a670mov rdi, [rsp]
    0018a674mov [rdi+8], 1
    0018a67clea rsi, [rip+0x199c7d]
    0018a683add rdi, 24
    0018a687mov rbx, rsp
    0018a68amov rsp, [r14+64]
    0018a68ecall caml_modify
    0018a693mov rsp, rbx
    0018a696mov rax, [rsp+8]
    0018a69badd rsp, 24
    0018a69fret
    0018a6a0
    0018a6a0loc_18a6a0:
    0018a6a0call caml_call_gc
    0018a6a5jmp 0x18a5d3
    0018a6aa
    0018a6aaloc_18a6aa:
    0018a6aapush 36
    0018a6accall caml_call_realloc_stack
    0018a6b1pop r10
    0018a6b3jmp 0x18a572
    0018a560
    0018a6b8
    0018a6b8 // align 0x10
    0018a6c0
    0018a6c0camlDoOut.fun_1205:
    0018a6c0lea r10, [rsp-336]
    0018a6c8cmp r10, [r14+40]
    0018a6ccjb 0x18a723
    0018a6ce
    0018a6celoc_18a6ce:
    0018a6cesub rsp, 16
    0018a6d2mov [rsp+8], rax
    0018a6d7cmp r15, [r14]
    0018a6dajbe 0x18a71c
    0018a6dc
    0018a6dcloc_18a6dc:
    0018a6dcmov [rsp], rax
    0018a6e0call Stdlib.Bytes.unsafe_escape
    0018a6e5mov rbx, [rsp]
    0018a6e9cmp rbx, rax
    0018a6ecjne 0x18a6fc
    0018a6eemov rax, [rsp+8]
    0018a6f3mov [rsp], rax
    0018a6f7jmp 0x18a700
    0018a6f9nop [rax]
    0018a6fc
    0018a6fcloc_18a6fc:
    0018a6fcmov [rsp], rax
    0018a700
    0018a700loc_18a700:
    0018a700lea rax, [rip+0x1984f1]
    0018a707call Stdlib.Printf.sprintf
    0018a70cmov rbx, rax
    0018a70fmov rdi, [rbx]
    0018a712mov rax, [rsp]
    0018a716add rsp, 16
    0018a71ajmp rdi
    0018a71c
    0018a71cloc_18a71c:
    0018a71ccall caml_call_gc
    0018a721jmp 0x18a6dc
    0018a723
    0018a723loc_18a723:
    0018a723push 35
    0018a725call caml_call_realloc_stack
    0018a72apop r10
    0018a72cjmp 0x18a6ce
    0018a6c0
    0018a72e
    0018a72e // align 0x10
    0018a730
    0018a730camlDoOut.to_chan_912:
    0018a730lea r10, [rsp-336]
    0018a738cmp r10, [r14+40]
    0018a73cjb 0x18a81c
    0018a742
    0018a742loc_18a742:
    0018a742sub rsp, 16
    0018a746test bl, 1
    0018a749je 0x18a758
    0018a74bmov eax, 1
    0018a750add rsp, 16
    0018a754ret
    0018a755nop [rax]
    0018a758
    0018a758loc_18a758:
    0018a758movzx rdi, [rbx-8]
    0018a75dtest rdi, rdi
    0018a760je 0x18a7bc
    0018a762test bl, 1
    0018a765je 0x18a774
    0018a767lea rax, [rip+0x198652]
    0018a76emov [rsp], rax
    0018a772jmp 0x18a78f
    0018a774
    0018a774loc_18a774:
    0018a774test rdi, rdi
    0018a777je 0x18a784
    0018a779lea rax, [rip+0x198630]
    0018a780jmp 0x18a78b
    0018a782nop
    0018a784
    0018a784loc_18a784:
    0018a784lea rax, [rip+0x198615]
    0018a78b
    0018a78bloc_18a78b:
    0018a78bmov [rsp], rax
    0018a78f
    0018a78floc_18a78f:
    0018a78flea rax, [rip+0x1983d2]
    0018a796call Stdlib.Printf.sprintf
    0018a79bmov rbx, rax
    0018a79emov rdi, [rbx]
    0018a7a1mov rax, [rsp]
    0018a7a5call rdi
    0018a7a7call camlMisc.fatal_310
    0018a7acmov rsp, [r14+48]
    0018a7b0pop [r14+48]
    0018a7b4pop r11
    0018a7b6jmp r11
    0018a7b9nop [rax]
    0018a7bc
    0018a7bcloc_18a7bc:
    0018a7bcmov [rsp], rax
    0018a7c0mov rbx, [rbx]
    0018a7c3mov [rsp+8], rbx
    0018a7c8mov rbx, [rbx+24]
    0018a7cccall camlSimpleRope.output_561
    0018a7d1mov rax, [rsp+8]
    0018a7d6mov rsi, [rax+8]
    0018a7damov edi, 1
    0018a7dfmov rbx, [rax]
    0018a7e2mov rax, [rsp]
    0018a7e6call camlStdlib.output_257
    0018a7ebmov rdi, [rsp+8]
    0018a7f0mov [rdi+8], 1
    0018a7f8lea rsi, [rip+0x199b01]
    0018a7ffadd rdi, 24
    0018a803mov rbx, rsp
    0018a806mov rsp, [r14+64]
    0018a80acall caml_modify
    0018a80fmov rsp, rbx
    0018a812mov eax, 1
    0018a817add rsp, 16
    0018a81bret
    0018a81c
    0018a81cloc_18a81c:
    0018a81cpush 35
    0018a81ecall caml_call_realloc_stack
    0018a823pop r10
    0018a825jmp 0x18a742
    0018a730
    0018a82a
    0018a82a // align 0x10
    0018a830
    0018a830camlDoOut.hidden_copy_917:
    0018a830lea r10, [rsp-336]
    0018a838cmp r10, [r14+40]
    0018a83cjb 0x18a8a4
    0018a83e
    0018a83eloc_18a83e:
    0018a83esub rsp, 16
    0018a842test bl, 1
    0018a845je 0x18a854
    0018a847mov eax, 1
    0018a84cadd rsp, 16
    0018a850ret
    0018a851
    0018a851 0f 1f 00 ...
    0018a854
    0018a854loc_18a854:
    0018a854movzx rsi, [rbx-8]
    0018a859test rsi, rsi
    0018a85cje 0x18a894
    0018a85emov [rsp], rax
    0018a862mov rdi, [rbx]
    0018a865mov [rsp+8], rdi
    0018a86amov rbx, [rax+24]
    0018a86emov rax, rdi
    0018a871call camlSimpleRope.output_561
    0018a876mov rax, [rsp]
    0018a87amov rsi, [rax+8]
    0018a87emov edi, 1
    0018a883mov rbx, [rax]
    0018a886mov rax, [rsp+8]
    0018a88badd rsp, 16
    0018a88fjmp 0x196410
    0018a894
    0018a894loc_18a894:
    0018a894mov rbx, [rbx]
    0018a897mov rdi, [rdi+32]
    0018a89badd rsp, 16
    0018a89fjmp 0x189c20
    0018a8a4
    0018a8a4loc_18a8a4:
    0018a8a4push 35
    0018a8a6call caml_call_realloc_stack
    0018a8abpop r10
    0018a8adjmp 0x18a83e
    0018a830
    0018a8af
    0018a8af // align 0x10
    0018a8b0
    0018a8b0camlDoOut.copy_923:
    0018a8b0lea r10, [rsp-320]
    0018a8b8cmp r10, [r14+40]
    0018a8bcjb 0x18a8f1
    0018a8be
    0018a8beloc_18a8be:
    0018a8betest al, 1
    0018a8c0jne 0x18a8d8
    0018a8c2movzx rsi, [rax-8]
    0018a8c7test rsi, rsi
    0018a8cajne 0x18a8d8
    0018a8ccmov rax, [rax]
    0018a8cfmov rdi, [rdi+24]
    0018a8d3jmp 0x18a830
    0018a8d8
    0018a8d8loc_18a8d8:
    0018a8d8lea rax, [rip+0x198271]
    0018a8dfcall camlMisc.fatal_310
    0018a8e4mov rsp, [r14+48]
    0018a8e8pop [r14+48]
    0018a8ecpop r11
    0018a8eejmp r11
    0018a8f1
    0018a8f1loc_18a8f1:
    0018a8f1push 33
    0018a8f3call caml_call_realloc_stack
    0018a8f8pop r10
    0018a8fajmp 0x18a8be
    0018a8b0
    0018a8fc
    0018a8fc // align 0x10
    0018a900
    0018a900camlDoOut.copy_fun_928:
    0018a900lea r10, [rsp-344]
    0018a908cmp r10, [r14+40]
    0018a90cjb 0x18a975
    0018a90e
    0018a90eloc_18a90e:
    0018a90esub rsp, 24
    0018a912test bl, 1
    0018a915jne 0x18a95c
    0018a917movzx rdx, [rbx-8]
    0018a91ctest rdx, rdx
    0018a91fjne 0x18a95c
    0018a921mov [rsp+8], rsi
    0018a926mov [rsp+16], rdi
    0018a92bmov [rsp], rax
    0018a92fmov rax, [rbx]
    0018a932call camlDoOut.to_string_buff_539
    0018a937mov rbx, [rsp]
    0018a93bmov rdi, [rbx]
    0018a93ecall rdi
    0018a940mov rbx, rax
    0018a943mov rax, [rsp+8]
    0018a948mov rdi, [rax+32]
    0018a94cmov rax, [rsp+16]
    0018a951add rsp, 24
    0018a955jmp 0x18a0c0
    0018a95anop
    0018a95c
    0018a95cloc_18a95c:
    0018a95clea rax, [rip+0x1981d5]
    0018a963call camlMisc.fatal_310
    0018a968mov rsp, [r14+48]
    0018a96cpop [r14+48]
    0018a970pop r11
    0018a972jmp r11
    0018a975
    0018a975loc_18a975:
    0018a975push 36
    0018a977call caml_call_realloc_stack
    0018a97cpop r10
    0018a97ejmp 0x18a90e
    0018a900
    0018a980
    0018a980camlDoOut.copy_no_tag_934:
    0018a980lea r10, [rsp-376]
    0018a988cmp r10, [r14+40]
    0018a98cjb 0x18abd5
    0018a992
    0018a992loc_18a992:
    0018a992sub rsp, 40
    0018a996mov [rsp+24], rax
    0018a99bmov [rsp+8], rbx
    0018a9a0mov [rsp], rdi
    0018a9a4lea rax, [rip+0x1980e5]
    0018a9abmov rax, [rax]
    0018a9aemov rax, [rax]
    0018a9b1cmp rax, 5
    0018a9b5jle 0x18a9f3
    0018a9b7lea rbx, [rip+0x19815a]
    0018a9belea rax, [rip+0x1a2c53]
    0018a9c5mov rax, [rax+312]
    0018a9cccall camlStdlib.output_string_253
    0018a9d1lea rax, [rip+0x1a2c40]
    0018a9d8mov rax, [rax+312]
    0018a9dfmov rbx, [rsp+24]
    0018a9e4call camlDoOut.debug_683
    0018a9e9mov eax, 1
    0018a9eecall camlStdlib.prerr_newline_393
    0018a9f3
    0018a9f3loc_18a9f3:
    0018a9f3mov rbx, [rsp+24]
    0018a9f8test bl, 1
    0018a9fbjne 0x18abbc
    0018aa01movzx rax, [rbx-8]
    0018aa06test rax, rax
    0018aa09jne 0x18abbc
    0018aa0fmov [rsp+24], rbx
    0018aa14mov rax, [rbx]
    0018aa17mov [rsp+16], rax
    0018aa1cmov rbx, [rsp]
    0018aa20mov rbx, [rbx+32]
    0018aa24mov rdi, [rax+8]
    0018aa28cmp rdi, 1
    0018aa2cjle 0x18aa37
    0018aa2emov rbx, [rbx+16]
    0018aa32call camlDoOut.do_flush_buff_543
    0018aa37
    0018aa37loc_18aa37:
    0018aa37lea r11, [rip+314]
    0018aa3epush r11
    0018aa40push [r14+48]
    0018aa44mov [r14+48], rsp
    0018aa48mov rax, [rsp+32]
    0018aa4dmov rax, [rax+24]
    0018aa51mov rbx, [rsp+16]
    0018aa56mov rbx, [rbx+24]
    0018aa5amov rdi, [rbx+128]
    0018aa61mov ebx, 125
    0018aa66call camlSimpleRope.index_634
    0018aa6bmov [rsp+48], rax
    0018aa70mov rax, [rsp+40]
    0018aa75call camlDoOut.is_empty_702
    0018aa7acmp rax, 1
    0018aa7eje 0x18aa8c
    0018aa80mov rdi, [rsp+48]
    0018aa85add rdi, 2
    0018aa89jmp 0x18aab8
    0018aa8bnop
    0018aa8c
    0018aa8cloc_18aa8c:
    0018aa8cmov rax, [rsp+32]
    0018aa91mov rax, [rax+24]
    0018aa95mov [rsp+40], rax
    0018aa9acall camlSimpleRope.length_290
    0018aa9fmov rbx, rax
    0018aaa2add rbx, -2
    0018aaa6mov edi, 121
    0018aaabmov rax, [rsp+40]
    0018aab0call camlSimpleRope.rindex_from_639
    0018aab5mov rdi, rax
    0018aab8
    0018aab8loc_18aab8:
    0018aab8mov rbx, [rsp+48]
    0018aabdsub rdi, rbx
    0018aac0dec rdi
    0018aac3add rbx, 2
    0018aac7mov rax, [rsp+32]
    0018aaccmov rax, [rax+24]
    0018aad0mov rsi, [rsp+16]
    0018aad5mov rsi, [rsi+24]
    0018aad9mov rsi, [rsi+56]
    0018aaddcall camlSimpleRope.sub_529
    0018aae2mov r12, [rsp+32]
    0018aae7mov rdi, r12
    0018aaeaadd rdi, 24
    0018aaeemov rsi, rax
    0018aaf1mov rbx, rsp
    0018aaf4mov rsp, [r14+64]
    0018aaf8call caml_modify
    0018aafdmov rsp, rbx
    0018ab00mov rax, [rsp+16]
    0018ab05mov rdi, [rax+56]
    0018ab09mov rax, r12
    0018ab0cmov rbx, [rsp+24]
    0018ab11call camlDoOut.hidden_copy_917
    0018ab16lea rax, [rip+0x197f73]
    0018ab1dmov rax, [rax]
    0018ab20mov rax, [rax]
    0018ab23cmp rax, 5
    0018ab27jle 0x18ab68
    0018ab29lea rbx, [rip+0x197fc8]
    0018ab30lea rax, [rip+0x1a2ae1]
    0018ab37mov rax, [rax+312]
    0018ab3ecall camlStdlib.output_string_253
    0018ab43lea rax, [rip+0x1a2ace]
    0018ab4amov rax, [rax+312]
    0018ab51mov rbx, [rsp+24]
    0018ab56call camlDoOut.debug_683
    0018ab5bmov eax, 1
    0018ab60call camlStdlib.prerr_newline_393
    0018ab65jmp 0x18ab6d
    0018ab67nop
    0018ab68
    0018ab68loc_18ab68:
    0018ab68mov eax, 1
    0018ab6d
    0018ab6dloc_18ab6d:
    0018ab6dpop [r14+48]
    0018ab71add rsp, 8
    0018ab75jmp 0x18abb4
    0018ab77nop
    0018ab78lea rbx, [rip+0x1a2a99]
    0018ab7fmov rbx, [rbx+56]
    0018ab83cmp rax, rbx
    0018ab86jne 0x18aba4
    0018ab88lea rax, [rip+0x197f41]
    0018ab8fcall camlMisc.fatal_310
    0018ab94mov rsp, [r14+48]
    0018ab98pop [r14+48]
    0018ab9cpop r11
    0018ab9ejmp r11
    0018aba1nop [rax]
    0018aba4
    0018aba4loc_18aba4:
    0018aba4mov rsp, [r14+48]
    0018aba8pop [r14+48]
    0018abacpop r11
    0018abaejmp r11
    0018abb1nop [rax]
    0018abb4
    0018abb4loc_18abb4:
    0018abb4add rsp, 40
    0018abb8ret
    0018abb9nop [rax]
    0018abbc
    0018abbcloc_18abbc:
    0018abbclea rax, [rip+0x197ef5]
    0018abc3call camlMisc.fatal_310
    0018abc8mov rsp, [r14+48]
    0018abccpop [r14+48]
    0018abd0pop r11
    0018abd2jmp r11
    0018abd5
    0018abd5loc_18abd5:
    0018abd5push 40
    0018abd7call caml_call_realloc_stack
    0018abdcpop r10
    0018abdejmp 0x18a992
    0018a980
    0018abe3
    0018abe3 // align 0x10
    0018abf0
    0018abf0camlDoOut.close_941:
    0018abf0test al, 1
    0018abf2jne 0x18ac08
    0018abf4movzx rbx, [rax-8]
    0018abf9test rbx, rbx
    0018abfcje 0x18ac08
    0018abfemov rax, [rax]
    0018ac01jmp 0x1964f0
    0018ac06
    0018ac06 66 90 f.
    0018ac08
    0018ac08loc_18ac08:
    0018ac08mov eax, 1
    0018ac0dret
    0018abf0
    0018ac0e
    0018ac0e // align 0x10
    0018ac10
    0018ac10camlDoOut.is_space_945:
    0018ac10add rax, -18
    0018ac14cmp rax, 9
    0018ac18jbe 0x18ac24
    0018ac1acmp rax, 47
    0018ac1eje 0x18ac34
    0018ac20jmp 0x18ac2e
    0018ac22
    0018ac22 66 90 f.
    0018ac24
    0018ac24loc_18ac24:
    0018ac24add rax, -4
    0018ac28cmp rax, 3
    0018ac2cja 0x18ac34
    0018ac2e
    0018ac2eloc_18ac2e:
    0018ac2emov eax, 1
    0018ac33ret
    0018ac34
    0018ac34loc_18ac34:
    0018ac34mov eax, 3
    0018ac39ret
    0018ac10
    0018ac3a
    0018ac3a // align 0x10
    0018ac40
    0018ac40camlDoOut.unskip_948:
    0018ac40lea r10, [rsp-336]
    0018ac48cmp r10, [r14+40]
    0018ac4cjb 0x18acda
    0018ac52
    0018ac52loc_18ac52:
    0018ac52sub rsp, 16
    0018ac56test al, 1
    0018ac58jne 0x18acd0
    0018ac5amovzx rdi, [rax-8]
    0018ac5ftest rdi, rdi
    0018ac62jne 0x18acd0
    0018ac64mov [rsp], rbx
    0018ac68mov rax, [rax]
    0018ac6bmov [rsp+8], rax
    0018ac70mov rbx, [rbx+24]
    0018ac74mov rdi, [rax+8]
    0018ac78cmp rdi, 1
    0018ac7cjle 0x18ac87
    0018ac7emov rbx, [rbx+16]
    0018ac82call camlDoOut.do_flush_buff_543
    0018ac87
    0018ac87loc_18ac87:
    0018ac87mov rdi, [rsp]
    0018ac8bmov rbx, [rdi+32]
    0018ac8fmov rax, [rsp+8]
    0018ac94mov rax, [rax+24]
    0018ac98mov rdi, [rdi+16]
    0018ac9cmov rdi, [rdi+144]
    0018aca3call camlSimpleRope.erase_651
    0018aca8mov rdi, [rsp+8]
    0018acadadd rdi, 24
    0018acb1mov rsi, rax
    0018acb4mov rbx, rsp
    0018acb7mov rsp, [r14+64]
    0018acbbcall caml_modify
    0018acc0mov rsp, rbx
    0018acc3mov eax, 1
    0018acc8add rsp, 16
    0018acccret
    0018accd
    0018accd 0f 1f 00 ...
    0018acd0
    0018acd0loc_18acd0:
    0018acd0mov eax, 1
    0018acd5add rsp, 16
    0018acd9ret
    0018acda
    0018acdaloc_18acda:
    0018acdapush 35
    0018acdccall caml_call_realloc_stack
    0018ace1pop r10
    0018ace3jmp 0x18ac52
    0018ac40
    0018ace8
    0018ace8 // align 0x10
    0018acf0
    0018acf0camlDoOut.entry:
    0018acf0call caml_alloc1
    0018acf5lea rsi, [r15+8]
    0018acf9mov [rsi-8], 1024
    0018ad01mov [rsi], 1
    0018ad08lea rdi, [rip+0x197d81]
    0018ad0fmov rbx, rsp
    0018ad12mov rsp, [r14+64]
    0018ad16call caml_initialize
    0018ad1bmov rsp, rbx
    0018ad1elea rsi, [rip+0x197d3b]
    0018ad25lea rdi, [rip+0x197d64]
    0018ad2cadd rdi, 8
    0018ad30mov rbx, rsp
    0018ad33mov rsp, [r14+64]
    0018ad37call caml_initialize
    0018ad3cmov rsp, rbx
    0018ad3fmov eax, 1
    0018ad44ret
    0018acf0
    0018ad45
    0018ad45 // align 0x10
    0018ad50
    0018ad50camlSimpleRope.fun_1011:
    0018ad50lea r10, [rsp-320]
    0018ad58cmp r10, [r14+40]
    0018ad5cjb 0x18ae51
    0018ad62
    0018ad62loc_18ad62:
    0018ad62call camlSimpleRope.Make_666
    0018ad67mov rbx, rax
    0018ad6asub r15, 160
    0018ad71cmp r15, [r14]
    0018ad74jb 0x18ae47
    0018ad7a
    0018ad7aloc_18ad7a:
    0018ad7alea rax, [r15+8]
    0018ad7emov [rax-8], 19456
    0018ad86mov rdi, [rbx]
    0018ad89mov [rax], rdi
    0018ad8cmov rdi, [rbx+8]
    0018ad90mov [rax+8], rdi
    0018ad94mov rdi, [rbx+16]
    0018ad98mov [rax+16], rdi
    0018ad9clea rdi, [rip+0x19955d]
    0018ada3mov [rax+24], rdi
    0018ada7mov rdi, [rbx+40]
    0018adabmov [rax+32], rdi
    0018adafmov rdi, [rbx+56]
    0018adb3mov [rax+40], rdi
    0018adb7mov rdi, [rbx+80]
    0018adbbmov [rax+48], rdi
    0018adbfmov rdi, [rbx+96]
    0018adc3mov [rax+56], rdi
    0018adc7mov rdi, [rbx+112]
    0018adcbmov [rax+64], rdi
    0018adcfmov rdi, [rbx+136]
    0018add6mov [rax+72], rdi
    0018addamov rdi, [rbx+144]
    0018ade1mov [rax+80], rdi
    0018ade5mov rdi, [rbx+160]
    0018adecmov [rax+88], rdi
    0018adf0mov rdi, [rbx+168]
    0018adf7mov [rax+96], rdi
    0018adfbmov rdi, [rbx+176]
    0018ae02mov [rax+104], rdi
    0018ae06mov rdi, [rbx+192]
    0018ae0dmov [rax+112], rdi
    0018ae11mov rdi, [rbx+200]
    0018ae18mov [rax+120], rdi
    0018ae1cmov rdi, [rbx+216]
    0018ae23mov [rax+128], rdi
    0018ae2amov rdi, [rbx+232]
    0018ae31mov [rax+136], rdi
    0018ae38mov rbx, [rbx+240]
    0018ae3fmov [rax+144], rbx
    0018ae46ret
    0018ae47
    0018ae47loc_18ae47:
    0018ae47call caml_call_gc
    0018ae4cjmp 0x18ad7a
    0018ae51
    0018ae51loc_18ae51:
    0018ae51push 33
    0018ae53call caml_call_realloc_stack
    0018ae58pop r10
    0018ae5ajmp 0x18ad62
    0018ad50
    0018ae5f
    0018ae5f // align 0x10
    0018ae60
    0018ae60camlSimpleRope.Make_666:
    0018ae60sub rsp, 176
    0018ae67lea rsi, [rip+0x19931a]
    0018ae6emov [rsp+24], rsi
    0018ae73lea rbx, [rip+0x1992f6]
    0018ae7amov [rsp+32], rbx
    0018ae7flea rbx, [rip+0x1992d2]
    0018ae86mov [rsp+40], rbx
    0018ae8bsub r15, 784
    0018ae92cmp r15, [r14]
    0018ae95jb 0x18b2f4
    0018ae9b
    0018ae9bloc_18ae9b:
    0018ae9blea rdi, [r15+8]
    0018ae9fadd rdi, 736
    0018aea6mov [rsp+48], rdi
    0018aeabmov [rdi-8], 5367
    0018aeb3lea rcx, [rip-0x93e9a]
    0018aebamov [rdi], rcx
    0018aebdmov rbx, 0x200000000000007
    0018aec7mov [rdi+8], rbx
    0018aecblea rbx, [rip+1262]
    0018aed2mov [rdi+16], rbx
    0018aed6mov [rdi+24], rsi
    0018aedamov [rdi+32], rax
    0018aedelea rbx, [rdi-40]
    0018aee2mov [rsp+16], rbx
    0018aee7mov [rbx-8], 4343
    0018aeefmov [rbx], rcx
    0018aef2mov rdx, 0x200000000000007
    0018aefcmov [rbx+8], rdx
    0018af00lea rdx, [rip+2089]
    0018af07mov [rbx+16], rdx
    0018af0bmov [rbx+24], rdi
    0018af0fadd rbx, -40
    0018af13mov [rsp+56], rbx
    0018af18mov [rbx-8], 4343
    0018af20lea rdx, [rip-0x93ff7]
    0018af27mov [rbx], rdx
    0018af2amov r8, 0x300000000000007
    0018af34mov [rbx+8], r8
    0018af38lea r8, [rip+2049]
    0018af3fmov [rbx+16], r8
    0018af43mov [rbx+24], rax
    0018af47lea r8, [rbx-56]
    0018af4bmov [rsp+64], r8
    0018af50mov [r8-8], 6391
    0018af58mov [r8], rcx
    0018af5bmov r9, 0x200000000000007
    0018af65mov [r8+8], r9
    0018af69lea r9, [rip+2256]
    0018af70mov [r8+16], r9
    0018af74mov [r8+24], rsi
    0018af78mov [r8+32], rbx
    0018af7cmov [r8+40], rax
    0018af80lea r9, [rip+0x1991b1]
    0018af87mov [rsp+72], r9
    0018af8clea rbx, [r8-48]
    0018af90mov [rsp+80], rbx
    0018af95mov [rbx-8], 5367
    0018af9dmov [rbx], rcx
    0018afa0mov r8, 0x200000000000007
    0018afaamov [rbx+8], r8
    0018afaelea r8, [rip+2747]
    0018afb5mov [rbx+16], r8
    0018afb9mov [rbx+24], r9
    0018afbdmov [rbx+32], rax
    0018afc1lea rax, [rbx-48]
    0018afc5mov [rsp+88], rax
    0018afcamov [rax-8], 5367
    0018afd2mov [rsp], rcx
    0018afd6mov [rax], rcx
    0018afd9mov rcx, 0x200000000000007
    0018afe3mov [rax+8], rcx
    0018afe7lea rcx, [rip+2946]
    0018afeemov [rax+16], rcx
    0018aff2mov [rax+24], rsi
    0018aff6mov [rax+32], rbx
    0018affalea rbx, [rax-48]
    0018affemov [rsp+96], rbx
    0018b003mov [rbx-8], 5367
    0018b00bmov [rbx], rdx
    0018b00emov rax, 0x300000000000007
    0018b018mov [rbx+8], rax
    0018b01clea rax, [rip+3133]
    0018b023mov [rbx+16], rax
    0018b027mov [rbx+24], rsi
    0018b02bmov [rbx+32], rdi
    0018b02flea rax, [rbx-56]
    0018b033mov [rsp+104], rax
    0018b038mov [rax-8], 6391
    0018b040mov [rax], rdx
    0018b043mov rdi, 0x300000000000007
    0018b04dmov [rax+8], rdi
    0018b051lea rdi, [rip+3464]
    0018b058mov [rax+16], rdi
    0018b05cmov [rax+24], rsi
    0018b060lea rdi, [rip+0x199299]
    0018b067mov [rsp+8], rdi
    0018b06cmov [rax+32], rdi
    0018b070mov [rax+40], rbx
    0018b074lea rbx, [rip+0x19909d]
    0018b07bmov [rsp+112], rbx
    0018b080lea rbx, [rip+0x199071]
    0018b087mov [rsp+120], rbx
    0018b08clea rbx, [rip+0x199045]
    0018b093mov [rsp+128], rbx
    0018b09blea rbx, [rip+0x199016]
    0018b0a2mov [rsp+136], rbx
    0018b0aalea rbx, [rip+0x198fe7]
    0018b0b1mov [rsp+144], rbx
    0018b0b9lea rbx, [rip+0x198fb8]
    0018b0c0mov [rsp+152], rbx
    0018b0c8lea rbx, [rip+0x198f89]
    0018b0cfmov [rsp+160], rbx
    0018b0d7lea rdi, [rip+0x199282]
    0018b0delea rsi, [rax-48]
    0018b0e2mov [rsi-8], 5367
    0018b0eamov rax, [rsp]
    0018b0eemov [rsi], rax
    0018b0f1mov rdx, 0x200000000000007
    0018b0fbmov [rsi+8], rdx
    0018b0fflea rdx, [rip+4442]
    0018b106mov [rsi+16], rdx
    0018b10amov [rsi+24], rdi
    0018b10emov [rsi+32], rbx
    0018b112lea rbx, [rip+0x198f1f]
    0018b119mov [rsp], rbx
    0018b11dlea r13, [rip+0x198efc]
    0018b124lea r10, [rip+0x198ed5]
    0018b12blea r11, [rip+0x198eb6]
    0018b132lea rdx, [rip+0x198e8f]
    0018b139mov [rsp+168], rdx
    0018b141lea r8, [rip+0x198e60]
    0018b148lea rdi, [rsi-48]
    0018b14cmov [rdi-8], 5367
    0018b154mov [rdi], rax
    0018b157mov rbx, 0x200000000000007
    0018b161mov [rdi+8], rbx
    0018b165lea rbx, [rip+5156]
    0018b16cmov [rdi+16], rbx
    0018b170mov [rdi+24], rsi
    0018b174mov [rdi+32], r8
    0018b178lea r9, [rip+0x198e09]
    0018b17flea r12, [rip+0x198de2]
    0018b186lea rbx, [rdi-48]
    0018b18amov [rbx-8], 5367
    0018b192mov [rbx], rax
    0018b195mov rax, 0x200000000000007
    0018b19fmov [rbx+8], rax
    0018b1a3lea rax, [rip+5654]
    0018b1aamov [rbx+16], rax
    0018b1aemov rdx, [rsp+8]
    0018b1b3mov [rbx+24], rdx
    0018b1b7mov rcx, [rsp+16]
    0018b1bcmov [rbx+32], rcx
    0018b1c0lea rax, [rbx-256]
    0018b1c7mov [rax-8], 31744
    0018b1cfmov rbp, [rsp+24]
    0018b1d4mov [rax], rbp
    0018b1d7mov rbp, [rsp+32]
    0018b1dcmov [rax+8], rbp
    0018b1e0mov rbp, [rsp+40]
    0018b1e5mov [rax+16], rbp
    0018b1e9mov [rax+24], rdx
    0018b1edmov rdx, [rsp+48]
    0018b1f2mov [rax+32], rdx
    0018b1f6mov [rax+40], rcx
    0018b1famov rdx, [rsp+56]
    0018b1ffmov [rax+48], rdx
    0018b203mov rdx, [rsp+64]
    0018b208mov [rax+56], rdx
    0018b20cmov rdx, [rsp+72]
    0018b211mov [rax+64], rdx
    0018b215mov rdx, [rsp+80]
    0018b21amov [rax+72], rdx
    0018b21emov rdx, [rsp+88]
    0018b223mov [rax+80], rdx
    0018b227mov rdx, [rsp+96]
    0018b22cmov [rax+88], rdx
    0018b230mov rdx, [rsp+104]
    0018b235mov [rax+96], rdx
    0018b239mov rdx, [rsp+112]
    0018b23emov [rax+104], rdx
    0018b242mov rdx, [rsp+120]
    0018b247mov [rax+112], rdx
    0018b24bmov rdx, [rsp+128]
    0018b253mov [rax+120], rdx
    0018b257mov rdx, [rsp+136]
    0018b25fmov [rax+128], rdx
    0018b266mov rdx, [rsp+144]
    0018b26emov [rax+136], rdx
    0018b275mov rdx, [rsp+152]
    0018b27dmov [rax+144], rdx
    0018b284mov rdx, [rsp+160]
    0018b28cmov [rax+152], rdx
    0018b293mov [rax+160], rsi
    0018b29amov rsi, [rsp]
    0018b29emov [rax+168], rsi
    0018b2a5mov [rax+176], r13
    0018b2acmov [rax+184], r10
    0018b2b3mov [rax+192], r11
    0018b2bamov rdx, [rsp+168]
    0018b2c2mov [rax+200], rdx
    0018b2c9mov [rax+208], r8
    0018b2d0mov [rax+216], rdi
    0018b2d7mov [rax+224], r9
    0018b2demov [rax+232], r12
    0018b2e5mov [rax+240], rbx
    0018b2ecadd rsp, 176
    0018b2f3ret
    0018b2f4
    0018b2f4loc_18b2f4:
    0018b2f4call caml_call_gc
    0018b2f9jmp 0x18ae9b
    0018ae60
    0018b2fe
    0018b2fe // align 0x10
    0018b300
    0018b300camlSimpleRope.length_290:
    0018b300movzx rbx, [rax-8]
    0018b305test rbx, rbx
    0018b308je 0x18b310
    0018b30amov rax, [rax+16]
    0018b30eret
    0018b30f
    0018b30f 90 .
    0018b310
    0018b310loc_18b310:
    0018b310mov rax, [rax]
    0018b313mov rbx, [rax-8]
    0018b317shr rbx, 10
    0018b31blea rbx, [8*rbx-1]
    0018b323movzx rax, [rax+rbx]
    0018b328sub rbx, rax
    0018b32blea rax, [rbx+rbx+1]
    0018b330ret
    0018b300
    0018b331
    0018b331 // align 0x10
    0018b340
    0018b340camlSimpleRope.of_string_364:
    0018b340sub r15, 16
    0018b344cmp r15, [r14]
    0018b347jb 0x18b35c
    0018b349
    0018b349loc_18b349:
    0018b349lea rbx, [r15+8]
    0018b34dmov [rbx-8], 1024
    0018b355mov [rbx], rax
    0018b358mov rax, rbx
    0018b35bret
    0018b35c
    0018b35cloc_18b35c:
    0018b35ccall caml_call_gc
    0018b361jmp 0x18b349
    0018b340
    0018b363
    0018b363 // align 0x10
    0018b370
    0018b370camlSimpleRope.singleton_367:
    0018b370lea r10, [rsp-320]
    0018b378cmp r10, [r14+40]
    0018b37cjb 0x18b3ae
    0018b37e
    0018b37eloc_18b37e:
    0018b37emov rbx, rax
    0018b381mov eax, 3
    0018b386call Stdlib.Bytes.make
    0018b38bsub r15, 16
    0018b38fcmp r15, [r14]
    0018b392jb 0x18b3a7
    0018b394
    0018b394loc_18b394:
    0018b394lea rbx, [r15+8]
    0018b398mov [rbx-8], 1024
    0018b3a0mov [rbx], rax
    0018b3a3mov rax, rbx
    0018b3a6ret
    0018b3a7
    0018b3a7loc_18b3a7:
    0018b3a7call caml_call_gc
    0018b3acjmp 0x18b394
    0018b3ae
    0018b3aeloc_18b3ae:
    0018b3aepush 33
    0018b3b0call caml_call_realloc_stack
    0018b3b5pop r10
    0018b3b7jmp 0x18b37e
    0018b370
    0018b3b9
    0018b3b9 // align 0x10
    0018b3c0
    0018b3c0camlSimpleRope.app_371:
    0018b3c0lea r10, [rsp-344]
    0018b3c8cmp r10, [r14+40]
    0018b3ccjb 0x18b713
    0018b3d2
    0018b3d2loc_18b3d2:
    0018b3d2sub rsp, 24
    0018b3d6mov rsi, rax
    0018b3d9mov rdx, rbx
    0018b3dcmovzx rax, [rsi-8]
    0018b3e1test rax, rax
    0018b3e4je 0x18b3f8
    0018b3e6mov [rsp+16], rdx
    0018b3ebmov [rsp+8], rsi
    0018b3f0jmp 0x18b510
    0018b3f5
    0018b3f5 0f 1f 00 ...
    0018b3f8
    0018b3f8loc_18b3f8:
    0018b3f8mov rax, [rsi]
    0018b3fbmov rbx, [rax-8]
    0018b3ffshr rbx, 10
    0018b403cmp rbx, 2
    0018b407jl 0x18b418
    0018b409mov [rsp+16], rdx
    0018b40emov [rsp+8], rsi
    0018b413jmp 0x18b43e
    0018b415
    0018b415 0f 1f 00 ...
    0018b418
    0018b418loc_18b418:
    0018b418mov rbx, [rax]
    0018b41bmov rcx, 0x700000000000000
    0018b425cmp rbx, rcx
    0018b428jne 0x18b434
    0018b42amov rax, rdx
    0018b42djmp 0x18b6ec
    0018b432
    0018b432 66 90 f.
    0018b434
    0018b434loc_18b434:
    0018b434mov [rsp+16], rdx
    0018b439mov [rsp+8], rsi
    0018b43e
    0018b43eloc_18b43e:
    0018b43emovzx rbx, [rdx-8]
    0018b443test rbx, rbx
    0018b446je 0x18b510
    0018b44cmov rbx, [rdx]
    0018b44fmovzx rsi, [rbx-8]
    0018b454test rsi, rsi
    0018b457jne 0x18b698
    0018b45dmov rbx, [rbx]
    0018b460mov rdi, [rdi+32]
    0018b464mov rsi, [rdi]
    0018b467mov rdi, [rax-8]
    0018b46bshr rdi, 10
    0018b46flea rdi, [8*rdi-1]
    0018b477movzx rcx, [rax+rdi]
    0018b47csub rdi, rcx
    0018b47flea rcx, [rdi+rdi+1]
    0018b484cmp rcx, rsi
    0018b487jge 0x18b698
    0018b48dmov rcx, [rbx-8]
    0018b491shr rcx, 10
    0018b495lea rcx, [8*rcx-1]
    0018b49dmovzx r8, [rbx+rcx]
    0018b4a2sub rcx, r8
    0018b4a5lea rcx, [rcx+rcx+1]
    0018b4aacmp rcx, rsi
    0018b4adjge 0x18b698
    0018b4b3mov rsi, [rdx+16]
    0018b4b7lea rdi, [rsi+2*rdi]
    0018b4bbmov [rsp], rdi
    0018b4bfcall camlStdlib.$5e_139
    0018b4c4sub r15, 48
    0018b4c8cmp r15, [r14]
    0018b4cbjb 0x18b709
    0018b4d1
    0018b4d1loc_18b4d1:
    0018b4d1lea rbx, [r15+8]
    0018b4d5add rbx, 32
    0018b4d9mov [rbx-8], 1024
    0018b4e1mov [rbx], rax
    0018b4e4lea rax, [rbx-32]
    0018b4e8mov [rax-8], 3073
    0018b4f0mov [rax], rbx
    0018b4f3mov rbx, [rsp+16]
    0018b4f8mov rbx, [rbx+8]
    0018b4fcmov [rax+8], rbx
    0018b500mov rbx, [rsp]
    0018b504mov [rax+16], rbx
    0018b508add rsp, 24
    0018b50cret
    0018b50d
    0018b50d 0f 1f 00 ...
    0018b510
    0018b510loc_18b510:
    0018b510movzx rax, [rdx-8]
    0018b515test rax, rax
    0018b518jne 0x18b698
    0018b51emov rax, [rdx]
    0018b521mov rbx, [rax-8]
    0018b525shr rbx, 10
    0018b529cmp rbx, 2
    0018b52djge 0x18b54c
    0018b52fmov rax, [rax]
    0018b532mov rbx, 0x700000000000000
    0018b53ccmp rax, rbx
    0018b53fjne 0x18b54c
    0018b541mov rax, rsi
    0018b544jmp 0x18b6ec
    0018b549
    0018b549 0f 1f 00 ...
    0018b54c
    0018b54cloc_18b54c:
    0018b54cmovzx rax, [rsi-8]
    0018b551test rax, rax
    0018b554je 0x18b620
    0018b55amov rax, [rsi+8]
    0018b55emovzx rbx, [rax-8]
    0018b563test rbx, rbx
    0018b566jne 0x18b698
    0018b56cmov rbx, [rdx]
    0018b56fmov rax, [rax]
    0018b572mov rdi, [rdi+32]
    0018b576mov rdi, [rdi]
    0018b579mov rcx, [rax-8]
    0018b57dshr rcx, 10
    0018b581lea rcx, [8*rcx-1]
    0018b589movzx r8, [rax+rcx]
    0018b58esub rcx, r8
    0018b591lea rcx, [rcx+rcx+1]
    0018b596cmp rcx, rdi
    0018b599jge 0x18b698
    0018b59fmov rcx, [rbx-8]
    0018b5a3shr rcx, 10
    0018b5a7lea rcx, [8*rcx-1]
    0018b5afmovzx r8, [rbx+rcx]
    0018b5b4sub rcx, r8
    0018b5b7lea r8, [rcx+rcx+1]
    0018b5bccmp r8, rdi
    0018b5bfjge 0x18b698
    0018b5c5mov rdi, [rsi+16]
    0018b5c9lea rdi, [rdi+2*rcx]
    0018b5cdmov [rsp], rdi
    0018b5d1call camlStdlib.$5e_139
    0018b5d6sub r15, 48
    0018b5dacmp r15, [r14]
    0018b5ddjb 0x18b6ff
    0018b5e3
    0018b5e3loc_18b5e3:
    0018b5e3lea rbx, [r15+8]
    0018b5e7add rbx, 32
    0018b5ebmov [rbx-8], 1024
    0018b5f3mov [rbx], rax
    0018b5f6lea rax, [rbx-32]
    0018b5famov [rax-8], 3073
    0018b602mov rdi, [rsp+8]
    0018b607mov rdi, [rdi]
    0018b60amov [rax], rdi
    0018b60dmov [rax+8], rbx
    0018b611mov rbx, [rsp]
    0018b615mov [rax+16], rbx
    0018b619add rsp, 24
    0018b61dret
    0018b61e
    0018b61e 66 90 f.
    0018b620
    0018b620loc_18b620:
    0018b620mov rbx, [rdx]
    0018b623mov rax, [rsi]
    0018b626mov rdi, [rdi+32]
    0018b62amov rdi, [rdi]
    0018b62dmov rsi, [rax-8]
    0018b631shr rsi, 10
    0018b635lea rsi, [8*rsi-1]
    0018b63dmovzx rcx, [rax+rsi]
    0018b642sub rsi, rcx
    0018b645lea rsi, [rsi+rsi+1]
    0018b64acmp rsi, rdi
    0018b64djge 0x18b698
    0018b64fmov rsi, [rbx-8]
    0018b653shr rsi, 10
    0018b657lea rsi, [8*rsi-1]
    0018b65fmovzx rcx, [rbx+rsi]
    0018b664sub rsi, rcx
    0018b667lea rsi, [rsi+rsi+1]
    0018b66ccmp rsi, rdi
    0018b66fjge 0x18b698
    0018b671call camlStdlib.$5e_139
    0018b676sub r15, 16
    0018b67acmp r15, [r14]
    0018b67djb 0x18b6f8
    0018b67f
    0018b67floc_18b67f:
    0018b67flea rbx, [r15+8]
    0018b683mov [rbx-8], 1024
    0018b68bmov [rbx], rax
    0018b68emov rax, rbx
    0018b691add rsp, 24
    0018b695ret
    0018b696
    0018b696 66 90 f.
    0018b698
    0018b698loc_18b698:
    0018b698mov rax, rdx
    0018b69bcall camlSimpleRope.length_290
    0018b6a0mov [rsp], rax
    0018b6a4mov rax, [rsp+8]
    0018b6a9call camlSimpleRope.length_290
    0018b6aemov rbx, [rsp]
    0018b6b2add rax, rbx
    0018b6b5dec rax
    0018b6b8sub r15, 32
    0018b6bccmp r15, [r14]
    0018b6bfjb 0x18b6f1
    0018b6c1
    0018b6c1loc_18b6c1:
    0018b6c1lea rbx, [r15+8]
    0018b6c5mov [rbx-8], 3073
    0018b6cdmov rdi, [rsp+8]
    0018b6d2mov [rbx], rdi
    0018b6d5mov rdi, [rsp+16]
    0018b6damov [rbx+8], rdi
    0018b6demov [rbx+16], rax
    0018b6e2mov rax, rbx
    0018b6e5add rsp, 24
    0018b6e9ret
    0018b6ea
    0018b6ea 66 90 f.
    0018b6ec
    0018b6ecloc_18b6ec:
    0018b6ecadd rsp, 24
    0018b6f0ret
    0018b6f1
    0018b6f1loc_18b6f1:
    0018b6f1call caml_call_gc
    0018b6f6jmp 0x18b6c1
    0018b6f8
    0018b6f8loc_18b6f8:
    0018b6f8call caml_call_gc
    0018b6fdjmp 0x18b67f
    0018b6ff
    0018b6ffloc_18b6ff:
    0018b6ffcall caml_call_gc
    0018b704jmp 0x18b5e3
    0018b709
    0018b709loc_18b709:
    0018b709call caml_call_gc
    0018b70ejmp 0x18b4d1
    0018b713
    0018b713loc_18b713:
    0018b713push 36
    0018b715call caml_call_realloc_stack
    0018b71apop r10
    0018b71cjmp 0x18b3d2
    0018b3c0
    0018b721
    0018b721 // align 0x10
    0018b730
    0018b730camlSimpleRope.append_387:
    0018b730mov rdi, [rdi+24]
    0018b734jmp 0x18b3c0
    0018b730
    0018b739
    0018b739 // align 0x10
    0018b740
    0018b740camlSimpleRope.app_string_391:
    0018b740lea r10, [rsp-336]
    0018b748cmp r10, [r14+40]
    0018b74cjb 0x18b831
    0018b752
    0018b752loc_18b752:
    0018b752sub rsp, 16
    0018b756movzx rdx, [rax-8]
    0018b75btest rdx, rdx
    0018b75eje 0x18b7b4
    0018b760mov [rsp+8], rdi
    0018b765mov [rsp], rax
    0018b769mov rax, [rax+8]
    0018b76dcall camlSimpleRope.app_string_391
    0018b772sub r15, 32
    0018b776cmp r15, [r14]
    0018b779jb 0x18b827
    0018b77f
    0018b77floc_18b77f:
    0018b77flea rbx, [r15+8]
    0018b783mov [rbx-8], 3073
    0018b78bmov rsi, [rsp]
    0018b78fmov rdi, [rsi]
    0018b792mov [rbx], rdi
    0018b795mov [rbx+8], rax
    0018b799mov rax, [rsi+16]
    0018b79dmov rdi, [rsp+8]
    0018b7a2lea rax, [rax+rdi-1]
    0018b7a7mov [rbx+16], rax
    0018b7abmov rax, rbx
    0018b7aeadd rsp, 16
    0018b7b2ret
    0018b7b3nop
    0018b7b4
    0018b7b4loc_18b7b4:
    0018b7b4mov rax, [rax]
    0018b7b7mov rdi, [rsi+24]
    0018b7bbmov rdi, [rdi]
    0018b7bemov rsi, [rax-8]
    0018b7c2shr rsi, 10
    0018b7c6lea rsi, [8*rsi-1]
    0018b7cemovzx rdx, [rax+rsi]
    0018b7d3sub rsi, rdx
    0018b7d6lea rsi, [rsi+rsi+1]
    0018b7dbcmp rsi, rdi
    0018b7dejge 0x18b808
    0018b7e0call camlStdlib.$5e_139
    0018b7e5sub r15, 16
    0018b7e9cmp r15, [r14]
    0018b7ecjb 0x18b820
    0018b7ee
    0018b7eeloc_18b7ee:
    0018b7eelea rbx, [r15+8]
    0018b7f2mov [rbx-8], 1024
    0018b7famov [rbx], rax
    0018b7fdmov rax, rbx
    0018b800add rsp, 16
    0018b804ret
    0018b805nop [rax]
    0018b808
    0018b808loc_18b808:
    0018b808lea rax, [rip+0x1a1e09]
    0018b80fmov rax, [rax+16]
    0018b813mov rsp, [r14+48]
    0018b817pop [r14+48]
    0018b81bpop r11
    0018b81djmp r11
    0018b820
    0018b820loc_18b820:
    0018b820call caml_call_gc
    0018b825jmp 0x18b7ee
    0018b827
    0018b827loc_18b827:
    0018b827call caml_call_gc
    0018b82cjmp 0x18b77f
    0018b831
    0018b831loc_18b831:
    0018b831push 35
    0018b833call caml_call_realloc_stack
    0018b838pop r10
    0018b83ajmp 0x18b752
    0018b740
    0018b83f
    0018b83f // align 0x10
    0018b840
    0018b840camlSimpleRope.append_string_400:
    0018b840lea r10, [rsp-360]
    0018b848cmp r10, [r14+40]
    0018b84cjb 0x18b9a9
    0018b852
    0018b852loc_18b852:
    0018b852sub rsp, 24
    0018b856mov [rsp+16], rax
    0018b85bmov [rsp+8], rbx
    0018b860mov rsi, [rbx-8]
    0018b864shr rsi, 10
    0018b868lea rsi, [8*rsi-1]
    0018b870movzx rdx, [rbx+rsi]
    0018b875sub rsi, rdx
    0018b878lea rdx, [rsi+rsi+1]
    0018b87dmov [rsp], rdx
    0018b881mov rsi, [rdi+40]
    0018b885mov rsi, [rsi]
    0018b888cmp rdx, rsi
    0018b88bjge 0x18b944
    0018b891lea r11, [rip+36]
    0018b898push r11
    0018b89apush [r14+48]
    0018b89emov [r14+48], rsp
    0018b8a2mov rsi, [rdi+32]
    0018b8a6mov rdi, rdx
    0018b8a9call camlSimpleRope.app_string_391
    0018b8aepop [r14+48]
    0018b8b2add rsp, 8
    0018b8b6jmp 0x18b93c
    0018b8bbnop
    0018b8bclea rbx, [rip+0x1a1d55]
    0018b8c3mov rbx, [rbx+16]
    0018b8c7cmp rax, rbx
    0018b8cajne 0x18b92c
    0018b8ccmov rax, [rsp+16]
    0018b8d1call camlSimpleRope.length_290
    0018b8d6mov rbx, [rsp]
    0018b8daadd rax, rbx
    0018b8dddec rax
    0018b8e0sub r15, 48
    0018b8e4cmp r15, [r14]
    0018b8e7jb 0x18b99f
    0018b8ed
    0018b8edloc_18b8ed:
    0018b8edlea rbx, [r15+8]
    0018b8f1add rbx, 32
    0018b8f5mov [rbx-8], 1024
    0018b8fdmov rdi, [rsp+8]
    0018b902mov [rbx], rdi
    0018b905lea rdi, [rbx-32]
    0018b909mov [rdi-8], 3073
    0018b911mov rsi, [rsp+16]
    0018b916mov [rdi], rsi
    0018b919mov [rdi+8], rbx
    0018b91dmov [rdi+16], rax
    0018b921mov rax, rdi
    0018b924add rsp, 24
    0018b928ret
    0018b929nop [rax]
    0018b92c
    0018b92cloc_18b92c:
    0018b92cmov rsp, [r14+48]
    0018b930pop [r14+48]
    0018b934pop r11
    0018b936jmp r11
    0018b939nop [rax]
    0018b93c
    0018b93cloc_18b93c:
    0018b93cadd rsp, 24
    0018b940ret
    0018b941nop [rax]
    0018b944
    0018b944loc_18b944:
    0018b944call camlSimpleRope.length_290
    0018b949mov rbx, [rsp]
    0018b94dadd rax, rbx
    0018b950dec rax
    0018b953sub r15, 48
    0018b957cmp r15, [r14]
    0018b95ajb 0x18b998
    0018b95c
    0018b95cloc_18b95c:
    0018b95clea rbx, [r15+8]
    0018b960add rbx, 32
    0018b964mov [rbx-8], 1024
    0018b96cmov rdi, [rsp+8]
    0018b971mov [rbx], rdi
    0018b974lea rdi, [rbx-32]
    0018b978mov [rdi-8], 3073
    0018b980mov rsi, [rsp+16]
    0018b985mov [rdi], rsi
    0018b988mov [rdi+8], rbx
    0018b98cmov [rdi+16], rax
    0018b990mov rax, rdi
    0018b993add rsp, 24
    0018b997ret
    0018b998
    0018b998loc_18b998:
    0018b998call caml_call_gc
    0018b99djmp 0x18b95c
    0018b99f
    0018b99floc_18b99f:
    0018b99fcall caml_call_gc
    0018b9a4jmp 0x18b8ed
    0018b9a9
    0018b9a9loc_18b9a9:
    0018b9a9push 38
    0018b9abcall caml_call_realloc_stack
    0018b9b0pop r10
    0018b9b2jmp 0x18b852
    0018b840
    0018b9b7
    0018b9b7 // align 0x10
    0018b9c0
    0018b9c0camlSimpleRope.sc2c_405:
    0018b9c0lea r10, [rsp-352]
    0018b9c8cmp r10, [r14+40]
    0018b9ccjb 0x18ba56
    0018b9d2
    0018b9d2loc_18b9d2:
    0018b9d2sub rsp, 32
    0018b9d6mov [rsp], rax
    0018b9damov [rsp+16], rbx
    0018b9dfmov [rsp+8], rdi
    0018b9e4add rbx, 2
    0018b9e8mov rdi, rbx
    0018b9eblea rax, [rip+0x9563e]
    0018b9f2call caml_c_call
    0018b9f7mov rdi, rax
    0018b9famov [rsp+24], rdi
    0018b9ffmov esi, 1
    0018ba04mov ebx, 1
    0018ba09mov rax, [rsp]
    0018ba0dmov rdx, [rsp+16]
    0018ba12call Stdlib.Bytes.blit_string
    0018ba17mov rbx, [rsp+8]
    0018ba1csar rbx, 1
    0018ba1fmov rdi, [rsp+16]
    0018ba24sar rdi, 1
    0018ba27mov rax, [rsp+24]
    0018ba2cmov rsi, [rax-8]
    0018ba30shr rsi, 10
    0018ba34lea rsi, [8*rsi-1]
    0018ba3cmovzx rdx, [rax+rsi]
    0018ba41sub rsi, rdx
    0018ba44cmp rsi, rdi
    0018ba47jbe 0x18ba51
    0018ba49mov [rax+rdi], bl
    0018ba4cadd rsp, 32
    0018ba50ret
    0018ba51
    0018ba51loc_18ba51:
    0018ba51call caml_ml_array_bound_error
    0018ba56
    0018ba56loc_18ba56:
    0018ba56push 37
    0018ba58call caml_call_realloc_stack
    0018ba5dpop r10
    0018ba5fjmp 0x18b9d2
    0018b9c0
    0018ba64
    0018ba64 // align 0x10
    0018ba70
    0018ba70camlSimpleRope.app_char_508:
    0018ba70lea r10, [rsp-328]
    0018ba78cmp r10, [r14+40]
    0018ba7cjb 0x18bb5d
    0018ba82
    0018ba82loc_18ba82:
    0018ba82sub rsp, 8
    0018ba86mov rsi, rbx
    0018ba89movzx rbx, [rax-8]
    0018ba8etest rbx, rbx
    0018ba91je 0x18bae0
    0018ba93mov [rsp], rax
    0018ba97mov rax, [rax+8]
    0018ba9bmov rbx, rsi
    0018ba9ecall camlSimpleRope.app_char_508
    0018baa3sub r15, 32
    0018baa7cmp r15, [r14]
    0018baaajb 0x18bb53
    0018bab0
    0018bab0loc_18bab0:
    0018bab0lea rbx, [r15+8]
    0018bab4mov [rbx-8], 3073
    0018babcmov rsi, [rsp]
    0018bac0mov rdi, [rsi]
    0018bac3mov [rbx], rdi
    0018bac6mov [rbx+8], rax
    0018bacamov rax, [rsi+16]
    0018baceadd rax, 2
    0018bad2mov [rbx+16], rax
    0018bad6mov rax, rbx
    0018bad9add rsp, 8
    0018baddret
    0018badenop
    0018bae0
    0018bae0loc_18bae0:
    0018bae0mov rax, [rax]
    0018bae3mov rbx, [rax-8]
    0018bae7shr rbx, 10
    0018baeblea rbx, [8*rbx-1]
    0018baf3movzx rdx, [rax+rbx]
    0018baf8sub rbx, rdx
    0018bafblea rbx, [rbx+rbx+1]
    0018bb00mov rdi, [rdi+32]
    0018bb04mov rdi, [rdi]
    0018bb07cmp rbx, rdi
    0018bb0ajge 0x18bb34
    0018bb0cmov rdi, rsi
    0018bb0fcall camlSimpleRope.sc2c_405
    0018bb14sub r15, 16
    0018bb18cmp r15, [r14]
    0018bb1bjb 0x18bb4c
    0018bb1d
    0018bb1dloc_18bb1d:
    0018bb1dlea rbx, [r15+8]
    0018bb21mov [rbx-8], 1024
    0018bb29mov [rbx], rax
    0018bb2cmov rax, rbx
    0018bb2fadd rsp, 8
    0018bb33ret
    0018bb34
    0018bb34loc_18bb34:
    0018bb34lea rax, [rip+0x1a1add]
    0018bb3bmov rax, [rax+16]
    0018bb3fmov rsp, [r14+48]
    0018bb43pop [r14+48]
    0018bb47pop r11
    0018bb49jmp r11
    0018bb4c
    0018bb4cloc_18bb4c:
    0018bb4ccall caml_call_gc
    0018bb51jmp 0x18bb1d
    0018bb53
    0018bb53loc_18bb53:
    0018bb53call caml_call_gc
    0018bb58jmp 0x18bab0
    0018bb5d
    0018bb5dloc_18bb5d:
    0018bb5dpush 34
    0018bb5fcall caml_call_realloc_stack
    0018bb64pop r10
    0018bb66jmp 0x18ba82
    0018ba70
    0018bb6b
    0018bb6b // align 0x10
    0018bb70
    0018bb70camlSimpleRope.append_char_517:
    0018bb70lea r10, [rsp-360]
    0018bb78cmp r10, [r14+40]
    0018bb7cjb 0x18bc48
    0018bb82
    0018bb82loc_18bb82:
    0018bb82sub rsp, 24
    0018bb86mov [rsp+8], rax
    0018bb8bmov [rsp], rbx
    0018bb8flea r11, [rip+34]
    0018bb96push r11
    0018bb98push [r14+48]
    0018bb9cmov [r14+48], rsp
    0018bba0mov rdi, [rdi+32]
    0018bba4call camlSimpleRope.app_char_508
    0018bba9pop [r14+48]
    0018bbadadd rsp, 8
    0018bbb1jmp 0x18bc3c
    0018bbb6nop
    0018bbb8lea rbx, [rip+0x1a1a59]
    0018bbbfmov rbx, [rbx+16]
    0018bbc3cmp rax, rbx
    0018bbc6jne 0x18bc2c
    0018bbc8mov rax, [rsp+8]
    0018bbcdcall camlSimpleRope.length_290
    0018bbd2add rax, 2
    0018bbd6mov [rsp+16], rax
    0018bbdbmov eax, 3
    0018bbe0mov rbx, [rsp]
    0018bbe4call Stdlib.Bytes.make
    0018bbe9sub r15, 48
    0018bbedcmp r15, [r14]
    0018bbf0jb 0x18bc41
    0018bbf2
    0018bbf2loc_18bbf2:
    0018bbf2lea rbx, [r15+8]
    0018bbf6add rbx, 32
    0018bbfamov [rbx-8], 1024
    0018bc02mov [rbx], rax
    0018bc05lea rax, [rbx-32]
    0018bc09mov [rax-8], 3073
    0018bc11mov rdi, [rsp+8]
    0018bc16mov [rax], rdi
    0018bc19mov [rax+8], rbx
    0018bc1dmov rbx, [rsp+16]
    0018bc22mov [rax+16], rbx
    0018bc26add rsp, 24
    0018bc2aret
    0018bc2bnop
    0018bc2c
    0018bc2cloc_18bc2c:
    0018bc2cmov rsp, [r14+48]
    0018bc30pop [r14+48]
    0018bc34pop r11
    0018bc36jmp r11
    0018bc39nop [rax]
    0018bc3c
    0018bc3cloc_18bc3c:
    0018bc3cadd rsp, 24
    0018bc40ret
    0018bc41
    0018bc41loc_18bc41:
    0018bc41call caml_call_gc
    0018bc46jmp 0x18bbf2
    0018bc48
    0018bc48loc_18bc48:
    0018bc48push 38
    0018bc4acall caml_call_realloc_stack
    0018bc4fpop r10
    0018bc51jmp 0x18bb82
    0018bb70
    0018bc56
    0018bc56 // align 0x10
    0018bc60
    0018bc60camlSimpleRope.mksub_521:
    0018bc60lea r10, [rsp-368]
    0018bc68cmp r10, [r14+40]
    0018bc6cjb 0x18bdc7
    0018bc72
    0018bc72loc_18bc72:
    0018bc72sub rsp, 48
    0018bc76
    0018bc76loc_18bc76:
    0018bc76mov [rsp+16], rax
    0018bc7bmov [rsp+40], rbx
    0018bc80mov [rsp], rdi
    0018bc84mov [rsp+32], rsi
    0018bc89cmp r15, [r14]
    0018bc8cjbe 0x18bdbd
    0018bc92
    0018bc92loc_18bc92:
    0018bc92cmp rax, 1
    0018bc96jne 0x18bcb9
    0018bc98mov rax, rdi
    0018bc9bcall camlSimpleRope.length_290
    0018bca0mov rbx, [rsp+40]
    0018bca5cmp rbx, rax
    0018bca8jne 0x18bcb4
    0018bcaamov rax, [rsp]
    0018bcaeadd rsp, 48
    0018bcb2ret
    0018bcb3
    0018bcb3 90 .
    0018bcb4
    0018bcb4loc_18bcb4:
    0018bcb4mov [rsp+40], rbx
    0018bcb9
    0018bcb9loc_18bcb9:
    0018bcb9mov rsi, [rsp]
    0018bcbdmovzx rax, [rsi-8]
    0018bcc2test rax, rax
    0018bcc5je 0x18bd80
    0018bccbmov rax, [rsi+8]
    0018bccfmov [rsp+8], rax
    0018bcd4mov rax, [rsi]
    0018bcd7mov [rsp+24], rax
    0018bcdccall camlSimpleRope.length_290
    0018bce1mov rdi, rax
    0018bce4mov [rsp], rdi
    0018bce8mov rbx, [rsp+40]
    0018bcedcmp rbx, rdi
    0018bcf0jg 0x18bd08
    0018bcf2mov rax, [rsp+16]
    0018bcf7mov rdi, [rsp+24]
    0018bcfcmov rsi, [rsp+32]
    0018bd01jmp 0x18bc76
    0018bd06
    0018bd06 66 90 f.
    0018bd08
    0018bd08loc_18bd08:
    0018bd08mov rax, [rsp+16]
    0018bd0dcmp rax, rdi
    0018bd10jl 0x18bd30
    0018bd12sub rbx, rdi
    0018bd15inc rbx
    0018bd18sub rax, rdi
    0018bd1binc rax
    0018bd1emov rdi, [rsp+8]
    0018bd23mov rsi, [rsp+32]
    0018bd28jmp 0x18bc76
    0018bd2d
    0018bd2d 0f 1f 00 ...
    0018bd30
    0018bd30loc_18bd30:
    0018bd30sub rbx, rdi
    0018bd33inc rbx
    0018bd36mov eax, 1
    0018bd3bmov rdi, [rsp+8]
    0018bd40mov rsi, [rsp+32]
    0018bd45call camlSimpleRope.mksub_521
    0018bd4amov [rsp+8], rax
    0018bd4fmov rax, [rsp+16]
    0018bd54mov rbx, [rsp]
    0018bd58mov rdi, [rsp+24]
    0018bd5dmov rsi, [rsp+32]
    0018bd62call camlSimpleRope.mksub_521
    0018bd67mov rbx, [rsp+32]
    0018bd6cmov rdi, [rbx+32]
    0018bd70mov rbx, [rsp+8]
    0018bd75add rsp, 48
    0018bd79jmp 0x18b3c0
    0018bd7e
    0018bd7e 66 90 f.
    0018bd80
    0018bd80loc_18bd80:
    0018bd80mov rdi, rbx
    0018bd83mov rbx, [rsp+16]
    0018bd88sub rdi, rbx
    0018bd8binc rdi
    0018bd8emov rax, [rsi]
    0018bd91call Stdlib.Bytes.sub
    0018bd96sub r15, 16
    0018bd9acmp r15, [r14]
    0018bd9djb 0x18bdb6
    0018bd9f
    0018bd9floc_18bd9f:
    0018bd9flea rbx, [r15+8]
    0018bda3mov [rbx-8], 1024
    0018bdabmov [rbx], rax
    0018bdaemov rax, rbx
    0018bdb1add rsp, 48
    0018bdb5ret
    0018bdb6
    0018bdb6loc_18bdb6:
    0018bdb6call caml_call_gc
    0018bdbbjmp 0x18bd9f
    0018bdbd
    0018bdbdloc_18bdbd:
    0018bdbdcall caml_call_gc
    0018bdc2jmp 0x18bc92
    0018bdc7
    0018bdc7loc_18bdc7:
    0018bdc7push 39
    0018bdc9call caml_call_realloc_stack
    0018bdcepop r10
    0018bdd0jmp 0x18bc72
    0018bc60
    0018bdd5
    0018bdd5 // align 0x10
    0018bde0
    0018bde0camlSimpleRope.sub_529:
    0018bde0lea r10, [rsp-360]
    0018bde8cmp r10, [r14+40]
    0018bdecjb 0x18be7c
    0018bdf2
    0018bdf2loc_18bdf2:
    0018bdf2sub rsp, 40
    0018bdf6lea rdx, [rbx+rdi-1]
    0018bdfbcmp rbx, 1
    0018bdffjl 0x18be2e
    0018be01cmp rdi, 1
    0018be05jl 0x18be2e
    0018be07mov [rsp+32], rdx
    0018be0cmov [rsp+8], rsi
    0018be11mov [rsp], rdi
    0018be15mov [rsp+16], rbx
    0018be1amov [rsp+24], rax
    0018be1fcall camlSimpleRope.length_290
    0018be24mov rbx, [rsp+32]
    0018be29cmp rbx, rax
    0018be2cjle 0x18be48
    0018be2e
    0018be2eloc_18be2e:
    0018be2elea rax, [rip+0x19839b]
    0018be35mov rax, [rax+8]
    0018be39mov rsp, [r14+48]
    0018be3dpop [r14+48]
    0018be41pop r11
    0018be43jmp r11
    0018be46nop
    0018be48
    0018be48loc_18be48:
    0018be48mov rax, [rsp]
    0018be4ccmp rax, 1
    0018be50jne 0x18be60
    0018be52lea rax, [rip+0x1984a7]
    0018be59add rsp, 40
    0018be5dret
    0018be5enop
    0018be60
    0018be60loc_18be60:
    0018be60mov rax, [rsp+8]
    0018be65mov rsi, [rax+40]
    0018be69mov rax, [rsp+16]
    0018be6emov rdi, [rsp+24]
    0018be73add rsp, 40
    0018be77jmp 0x18bc60
    0018be7c
    0018be7cloc_18be7c:
    0018be7cpush 38
    0018be7ecall caml_call_realloc_stack
    0018be83pop r10
    0018be85jmp 0x18bdf2
    0018bde0
    0018be8a
    0018be8a // align 0x10
    0018be90
    0018be90camlSimpleRope.get_rec_535:
    0018be90lea r10, [rsp-344]
    0018be98cmp r10, [r14+40]
    0018be9cjb 0x18bf08
    0018be9e
    0018be9eloc_18be9e:
    0018be9esub rsp, 24
    0018bea2
    0018bea2loc_18bea2:
    0018bea2cmp r15, [r14]
    0018bea5jbe 0x18bf01
    0018bea7
    0018bea7loc_18bea7:
    0018bea7movzx rdi, [rax-8]
    0018beactest rdi, rdi
    0018beafje 0x18beec
    0018beb1mov [rsp], rbx
    0018beb5mov [rsp+8], rax
    0018bebamov rax, [rax]
    0018bebdmov [rsp+16], rax
    0018bec2call camlSimpleRope.length_290
    0018bec7mov rbx, [rsp]
    0018becbcmp rbx, rax
    0018becejge 0x18bed8
    0018bed0mov rax, [rsp+16]
    0018bed5jmp 0x18bea2
    0018bed7
    0018bed7 90 .
    0018bed8
    0018bed8loc_18bed8:
    0018bed8sub rbx, rax
    0018bedbinc rbx
    0018bedemov rax, [rsp+8]
    0018bee3mov rax, [rax+8]
    0018bee7jmp 0x18bea2
    0018bee9
    0018bee9 0f 1f 00 ...
    0018beec
    0018beecloc_18beec:
    0018beecsar rbx, 1
    0018beefmov rax, [rax]
    0018bef2movzx rax, [rax+rbx]
    0018bef7lea rax, [rax+rax+1]
    0018befcadd rsp, 24
    0018bf00ret
    0018bf01
    0018bf01loc_18bf01:
    0018bf01call caml_call_gc
    0018bf06jmp 0x18bea7
    0018bf08
    0018bf08loc_18bf08:
    0018bf08push 36
    0018bf0acall caml_call_realloc_stack
    0018bf0fpop r10
    0018bf11jmp 0x18be9e
    0018be90
    0018bf13
    0018bf13 // align 0x10
    0018bf20
    0018bf20camlSimpleRope.get_542:
    0018bf20lea r10, [rsp-336]
    0018bf28cmp r10, [r14+40]
    0018bf2cjb 0x18bf75
    0018bf2e
    0018bf2eloc_18bf2e:
    0018bf2esub rsp, 16
    0018bf32cmp rbx, 1
    0018bf36jl 0x18bf50
    0018bf38mov [rsp+8], rbx
    0018bf3dmov [rsp], rax
    0018bf41call camlSimpleRope.length_290
    0018bf46mov rbx, [rsp+8]
    0018bf4bcmp rbx, rax
    0018bf4ejl 0x18bf68
    0018bf50
    0018bf50loc_18bf50:
    0018bf50lea rax, [rip+0x198279]
    0018bf57mov rax, [rax+8]
    0018bf5bmov rsp, [r14+48]
    0018bf5fpop [r14+48]
    0018bf63pop r11
    0018bf65jmp r11
    0018bf68
    0018bf68loc_18bf68:
    0018bf68mov rax, [rsp]
    0018bf6cadd rsp, 16
    0018bf70jmp 0x18be90
    0018bf75
    0018bf75loc_18bf75:
    0018bf75push 35
    0018bf77call caml_call_realloc_stack
    0018bf7cpop r10
    0018bf7ejmp 0x18bf2e
    0018bf20
    0018bf80
    0018bf80camlSimpleRope.iter_string_546:
    0018bf80lea r10, [rsp-352]
    0018bf88cmp r10, [r14+40]
    0018bf8cjb 0x18c01e
    0018bf92
    0018bf92loc_18bf92:
    0018bf92sub rsp, 32
    0018bf96mov edi, 1
    0018bf9bmov rsi, [rbx-8]
    0018bf9fshr rsi, 10
    0018bfa3lea rsi, [8*rsi-1]
    0018bfabmovzx rdx, [rbx+rsi]
    0018bfb0sub rsi, rdx
    0018bfb3lea rsi, [rsi+rsi-1]
    0018bfb8cmp rdi, rsi
    0018bfbbjg 0x18c00d
    0018bfbdmov [rsp+24], rsi
    0018bfc2mov [rsp+16], rdi
    0018bfc7mov [rsp], rbx
    0018bfcbmov [rsp+8], rax
    0018bfd0
    0018bfd0loc_18bfd0:
    0018bfd0sar rdi, 1
    0018bfd3mov rax, [rsp]
    0018bfd7movzx rax, [rax+rdi]
    0018bfdclea rax, [rax+rax+1]
    0018bfe1mov rbx, [rsp+8]
    0018bfe6mov rdi, [rbx]
    0018bfe9call rdi
    0018bfebmov rdi, [rsp+16]
    0018bff0mov rax, rdi
    0018bff3add rdi, 2
    0018bff7mov [rsp+16], rdi
    0018bffcmov rbx, [rsp+24]
    0018c001cmp rax, rbx
    0018c004je 0x18c00d
    0018c006cmp r15, [r14]
    0018c009ja 0x18bfd0
    0018c00bjmp 0x18c017
    0018c00d
    0018c00dloc_18c00d:
    0018c00dmov eax, 1
    0018c012add rsp, 32
    0018c016ret
    0018c017
    0018c017loc_18c017:
    0018c017call caml_call_gc
    0018c01cjmp 0x18bfd0
    0018c01e
    0018c01eloc_18c01e:
    0018c01epush 37
    0018c020call caml_call_realloc_stack
    0018c025pop r10
    0018c027jmp 0x18bf92
    0018bf80
    0018c02c
    0018c02c // align 0x10
    0018c030
    0018c030camlSimpleRope.iter_rec_551:
    0018c030lea r10, [rsp-336]
    0018c038cmp r10, [r14+40]
    0018c03cjb 0x18c087
    0018c03e
    0018c03eloc_18c03e:
    0018c03esub rsp, 16
    0018c042
    0018c042loc_18c042:
    0018c042cmp r15, [r14]
    0018c045jbe 0x18c080
    0018c047
    0018c047loc_18c047:
    0018c047movzx rdi, [rbx-8]
    0018c04ctest rdi, rdi
    0018c04fje 0x18c074
    0018c051mov [rsp], rbx
    0018c055mov [rsp+8], rax
    0018c05amov rbx, [rbx]
    0018c05dcall camlSimpleRope.iter_rec_551
    0018c062mov rax, [rsp]
    0018c066mov rbx, [rax+8]
    0018c06amov rax, [rsp+8]
    0018c06fjmp 0x18c042
    0018c071
    0018c071 0f 1f 00 ...
    0018c074
    0018c074loc_18c074:
    0018c074mov rbx, [rbx]
    0018c077add rsp, 16
    0018c07bjmp 0x18bf80
    0018c080
    0018c080loc_18c080:
    0018c080call caml_call_gc
    0018c085jmp 0x18c047
    0018c087
    0018c087loc_18c087:
    0018c087push 35
    0018c089call caml_call_realloc_stack
    0018c08epop r10
    0018c090jmp 0x18c03e
    0018c030
    0018c092
    0018c092 // align 0x10
    0018c0a0
    0018c0a0camlSimpleRope.iter_557:
    0018c0a0jmp 0x18c030
    0018c0a0
    0018c0a5
    0018c0a5 // align 0x10
    0018c0b0
    0018c0b0camlSimpleRope.output_561:
    0018c0b0lea r10, [rsp-336]
    0018c0b8cmp r10, [r14+40]
    0018c0bcjb 0x18c107
    0018c0be
    0018c0beloc_18c0be:
    0018c0besub rsp, 16
    0018c0c2
    0018c0c2loc_18c0c2:
    0018c0c2cmp r15, [r14]
    0018c0c5jbe 0x18c100
    0018c0c7
    0018c0c7loc_18c0c7:
    0018c0c7movzx rdi, [rbx-8]
    0018c0cctest rdi, rdi
    0018c0cfje 0x18c0f4
    0018c0d1mov [rsp], rbx
    0018c0d5mov [rsp+8], rax
    0018c0damov rbx, [rbx]
    0018c0ddcall camlSimpleRope.output_561
    0018c0e2mov rax, [rsp]
    0018c0e6mov rbx, [rax+8]
    0018c0eamov rax, [rsp+8]
    0018c0efjmp 0x18c0c2
    0018c0f1
    0018c0f1 0f 1f 00 ...
    0018c0f4
    0018c0f4loc_18c0f4:
    0018c0f4mov rbx, [rbx]
    0018c0f7add rsp, 16
    0018c0fbjmp 0x1963d0
    0018c100
    0018c100loc_18c100:
    0018c100call caml_call_gc
    0018c105jmp 0x18c0c7
    0018c107
    0018c107loc_18c107:
    0018c107push 35
    0018c109call caml_call_realloc_stack
    0018c10epop r10
    0018c110jmp 0x18c0be
    0018c0b0
    0018c112
    0018c112 // align 0x10
    0018c120
    0018c120camlSimpleRope.debug_rec_567:
    0018c120lea r10, [rsp-360]
    0018c128cmp r10, [r14+40]
    0018c12cjb 0x18c249
    0018c132
    0018c132loc_18c132:
    0018c132sub rsp, 40
    0018c136cmp r15, [r14]
    0018c139jbe 0x18c23f
    0018c13f
    0018c13floc_18c13f:
    0018c13fmovzx rsi, [rdi-8]
    0018c144test rsi, rsi
    0018c147je 0x18c1f4
    0018c14dmov [rsp+8], rdi
    0018c152mov [rsp+32], rbx
    0018c157mov [rsp+24], rax
    0018c15clea rbx, [rip+0x1982b5]
    0018c163call camlStdlib.$5e_139
    0018c168mov [rsp+16], rax
    0018c16dmov rax, [rsp+24]
    0018c172mov [rsp], rax
    0018c176lea rbx, [rip+0x198233]
    0018c17dmov rax, [rsp+32]
    0018c182call Stdlib.Printf.fprintf
    0018c187mov rbx, rax
    0018c18amov rdi, [rbx]
    0018c18dmov rax, [rsp]
    0018c191call rdi
    0018c193mov rax, [rsp+8]
    0018c198mov rdi, [rax]
    0018c19bmov rax, [rsp+16]
    0018c1a0mov rbx, [rsp+32]
    0018c1a5call camlSimpleRope.debug_rec_567
    0018c1aamov rax, [rsp+8]
    0018c1afmov rdi, [rax+8]
    0018c1b3mov rax, [rsp+16]
    0018c1b8mov rbx, [rsp+32]
    0018c1bdcall camlSimpleRope.debug_rec_567
    0018c1c2mov rax, [rsp+24]
    0018c1c7mov [rsp], rax
    0018c1cblea rbx, [rip+0x198166]
    0018c1d2mov rax, [rsp+32]
    0018c1d7call Stdlib.Printf.fprintf
    0018c1dcmov rbx, rax
    0018c1dfmov rdi, [rbx]
    0018c1e2mov rax, [rsp]
    0018c1e6call rdi
    0018c1e8mov eax, 1
    0018c1edadd rsp, 40
    0018c1f1ret
    0018c1f2
    0018c1f2 66 90 f.
    0018c1f4
    0018c1f4loc_18c1f4:
    0018c1f4mov rdi, [rdi]
    0018c1f7mov [rsp+16], rdi
    0018c1fclea rdi, [rip+0x1a1415]
    0018c203mov rdi, [rdi+520]
    0018c20amov [rsp+8], rdi
    0018c20fmov [rsp], rax
    0018c213lea rdi, [rip+0x19820e]
    0018c21amov rax, rbx
    0018c21dmov rbx, rdi
    0018c220call Stdlib.Printf.fprintf
    0018c225mov rsi, rax
    0018c228mov rax, [rsp]
    0018c22cmov rbx, [rsp+8]
    0018c231mov rdi, [rsp+16]
    0018c236add rsp, 40
    0018c23ajmp 0xf7370
    0018c23f
    0018c23floc_18c23f:
    0018c23fcall caml_call_gc
    0018c244jmp 0x18c13f
    0018c249
    0018c249loc_18c249:
    0018c249push 38
    0018c24bcall caml_call_realloc_stack
    0018c250pop r10
    0018c252jmp 0x18c132
    0018c120
    0018c257
    0018c257 // align 0x10
    0018c260
    0018c260camlSimpleRope.fun_792:
    0018c260mov rsi, rax
    0018c263mov rdx, rbx
    0018c266mov rax, [rdi+24]
    0018c26amov rbx, rsi
    0018c26dmov rdi, rdx
    0018c270jmp 0x18c120
    0018c260
    0018c275
    0018c275 // align 0x10
    0018c280
    0018c280camlSimpleRope.blit_599:
    0018c280lea r10, [rsp-352]
    0018c288cmp r10, [r14+40]
    0018c28cjb 0x18c32f
    0018c292
    0018c292loc_18c292:
    0018c292sub rsp, 32
    0018c296
    0018c296loc_18c296:
    0018c296mov rcx, rbx
    0018c299mov rsi, rdi
    0018c29ccmp r15, [r14]
    0018c29fjbe 0x18c325
    0018c2a5
    0018c2a5loc_18c2a5:
    0018c2a5movzx rbx, [rax-8]
    0018c2aatest rbx, rbx
    0018c2adje 0x18c2f4
    0018c2afmov [rsp+8], rsi
    0018c2b4mov [rsp+24], rcx
    0018c2b9mov [rsp+16], rax
    0018c2bemov rax, [rax]
    0018c2c1mov [rsp], rax
    0018c2c5mov rbx, rcx
    0018c2c8mov rdi, rsi
    0018c2cbcall camlSimpleRope.blit_599
    0018c2d0mov rax, [rsp]
    0018c2d4call camlSimpleRope.length_290
    0018c2d9mov rdi, [rsp+8]
    0018c2deadd rdi, rax
    0018c2e1dec rdi
    0018c2e4mov rax, [rsp+16]
    0018c2e9mov rax, [rax+8]
    0018c2edmov rbx, [rsp+24]
    0018c2f2jmp 0x18c296
    0018c2f4
    0018c2f4loc_18c2f4:
    0018c2f4mov rax, [rax]
    0018c2f7mov rbx, [rax-8]
    0018c2fbshr rbx, 10
    0018c2fflea rbx, [8*rbx-1]
    0018c307movzx rdi, [rax+rbx]
    0018c30csub rbx, rdi
    0018c30flea rdx, [rbx+rbx+1]
    0018c314mov ebx, 1
    0018c319mov rdi, rcx
    0018c31cadd rsp, 32
    0018c320jmp 0x1a66f0
    0018c325
    0018c325loc_18c325:
    0018c325call caml_call_gc
    0018c32ajmp 0x18c2a5
    0018c32f
    0018c32floc_18c32f:
    0018c32fpush 37
    0018c331call caml_call_realloc_stack
    0018c336pop r10
    0018c338jmp 0x18c292
    0018c280
    0018c33d
    0018c33d // align 0x10
    0018c340
    0018c340camlSimpleRope.to_string_606:
    0018c340lea r10, [rsp-336]
    0018c348cmp r10, [r14+40]
    0018c34cjb 0x18c398
    0018c34e
    0018c34eloc_18c34e:
    0018c34esub rsp, 16
    0018c352movzx rbx, [rax-8]
    0018c357test rbx, rbx
    0018c35aje 0x18c390
    0018c35cmov [rsp], rax
    0018c360mov rdi, [rax+16]
    0018c364lea rax, [rip+0x94cc5]
    0018c36bcall caml_c_call
    0018c370mov rbx, rax
    0018c373mov [rsp+8], rbx
    0018c378mov edi, 1
    0018c37dmov rax, [rsp]
    0018c381call camlSimpleRope.blit_599
    0018c386mov rax, [rsp+8]
    0018c38badd rsp, 16
    0018c38fret
    0018c390
    0018c390loc_18c390:
    0018c390mov rax, [rax]
    0018c393add rsp, 16
    0018c397ret
    0018c398
    0018c398loc_18c398:
    0018c398push 35
    0018c39acall caml_call_realloc_stack
    0018c39fpop r10
    0018c3a1jmp 0x18c34e
    0018c340
    0018c3a3
    0018c3a3 // align 0x10
    0018c3b0
    0018c3b0camlSimpleRope.do_to_list_612:
    0018c3b0lea r10, [rsp-328]
    0018c3b8cmp r10, [r14+40]
    0018c3bcjb 0x18c44b
    0018c3c2
    0018c3c2loc_18c3c2:
    0018c3c2sub rsp, 8
    0018c3c6
    0018c3c6loc_18c3c6:
    0018c3c6cmp r15, [r14]
    0018c3c9jbe 0x18c444
    0018c3cb
    0018c3cbloc_18c3cb:
    0018c3cbmovzx rdi, [rbx-8]
    0018c3d0test rdi, rdi
    0018c3d3je 0x18c3ec
    0018c3d5mov [rsp], rbx
    0018c3d9mov rbx, [rbx+8]
    0018c3ddcall camlSimpleRope.do_to_list_612
    0018c3e2mov rbx, [rsp]
    0018c3e6mov rbx, [rbx]
    0018c3e9jmp 0x18c3c6
    0018c3eb
    0018c3eb 90 .
    0018c3ec
    0018c3ecloc_18c3ec:
    0018c3ecmov rbx, [rbx]
    0018c3efmov rdi, [rbx-8]
    0018c3f3shr rdi, 10
    0018c3f7lea rdi, [8*rdi-1]
    0018c3ffmovzx rsi, [rbx+rdi]
    0018c404sub rdi, rsi
    0018c407lea rdi, [rdi+rdi+1]
    0018c40ccmp rdi, 1
    0018c410jle 0x18c438
    0018c412sub r15, 24
    0018c416cmp r15, [r14]
    0018c419jb 0x18c43d
    0018c41b
    0018c41bloc_18c41b:
    0018c41blea rdi, [r15+8]
    0018c41fmov [rdi-8], 2048
    0018c427mov [rdi], rbx
    0018c42amov [rdi+8], rax
    0018c42emov rax, rdi
    0018c431add rsp, 8
    0018c435ret
    0018c436
    0018c436 66 90 f.
    0018c438
    0018c438loc_18c438:
    0018c438add rsp, 8
    0018c43cret
    0018c43d
    0018c43dloc_18c43d:
    0018c43dcall caml_call_gc
    0018c442jmp 0x18c41b
    0018c444
    0018c444loc_18c444:
    0018c444call caml_call_gc
    0018c449jmp 0x18c3cb
    0018c44b
    0018c44bloc_18c44b:
    0018c44bpush 34
    0018c44dcall caml_call_realloc_stack
    0018c452pop r10
    0018c454jmp 0x18c3c2
    0018c3b0