File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    001a83f0
    001a83f0Stdlib.Bytes.resize:
    001a83f0lea r10, [rsp-336]
    001a83f8cmp r10, [r14+40]
    001a83fcjb 0x1a84e8
    001a8402
    001a8402loc_1a8402:
    001a8402sub rsp, 16
    001a8406mov [rsp+8], rbx
    001a840bmov rax, [rbx+24]
    001a840fmov rax, [rax]
    001a8412mov rdi, [rax-8]
    001a8416shr rdi, 10
    001a841alea rdi, [8*rdi-1]
    001a8422movzx rax, [rax+rdi]
    001a8427sub rdi, rax
    001a842alea rax, [4*rdi+1]
    001a8432mov rdi, 0x3ffffffffffffef
    001a843ccmp rax, rdi
    001a843fjg 0x1a8448
    001a8441mov [rsp], rax
    001a8445jmp 0x1a8456
    001a8447
    001a8447 90 .
    001a8448
    001a8448loc_1a8448:
    001a8448mov rax, 0x3ffffffffffffef
    001a8452mov [rsp], rax
    001a8456
    001a8456loc_1a8456:
    001a8456mov rbx, [rbx+24]
    001a845amov rbx, [rbx]
    001a845dmov rdi, [rbx-8]
    001a8461shr rdi, 10
    001a8465lea rdi, [8*rdi-1]
    001a846dmovzx rbx, [rbx+rdi]
    001a8472sub rdi, rbx
    001a8475lea rbx, [rdi+rdi+1]
    001a847acmp rbx, rax
    001a847djne 0x1a848b
    001a847flea rax, [rip+0x191e6a]
    001a8486call camlStdlib.failwith_7
    001a848b
    001a848bloc_1a848b:
    001a848bmov ebx, 1
    001a8490mov rax, [rsp]
    001a8494call Stdlib.Bytes.make
    001a8499mov rdi, rax
    001a849cmov [rsp], rdi
    001a84a0mov rcx, [rsp+8]
    001a84a5mov rax, [rcx+16]
    001a84a9mov rdx, [rax]
    001a84acmov esi, 1
    001a84b1mov ebx, 1
    001a84b6mov rax, [rcx+24]
    001a84bamov rax, [rax]
    001a84bdcall Stdlib.Bytes.blit
    001a84c2mov rax, [rsp+8]
    001a84c7mov rdi, [rax+24]
    001a84cbmov rsi, [rsp]
    001a84cfmov rbx, rsp
    001a84d2mov rsp, [r14+64]
    001a84d6call caml_modify
    001a84dbmov rsp, rbx
    001a84demov eax, 1
    001a84e3add rsp, 16
    001a84e7ret
    001a84e8
    001a84e8loc_1a84e8:
    001a84e8push 35
    001a84eacall caml_call_realloc_stack
    001a84efpop r10
    001a84f1jmp 0x1a8402
    001a83f0
    001a84f6
    001a84f6 // align 0x10
    001a8500
    001a8500Stdlib.Bytes.fun:
    001a8500lea r10, [rsp-336]
    001a8508cmp r10, [r14+40]
    001a850cjb 0x1a85ad
    001a8512
    001a8512loc_1a8512:
    001a8512sub rsp, 16
    001a8516mov [rsp], rax
    001a851amov [rsp+8], rbx
    001a851fmov rax, [rbx+24]
    001a8523mov rax, [rax]
    001a8526mov rdi, [rax-8]
    001a852ashr rdi, 10
    001a852elea rdi, [8*rdi-1]
    001a8536movzx rax, [rax+rdi]
    001a853bsub rdi, rax
    001a853elea rax, [rdi+rdi+1]
    001a8543mov rdi, [rbx+16]
    001a8547mov rdi, [rdi]
    001a854acmp rdi, rax
    001a854djne 0x1a855d
    001a854fmov rbx, [rbx+32]
    001a8553mov eax, 1
    001a8558call Stdlib.Bytes.resize
    001a855d
    001a855dloc_1a855d:
    001a855dmov rax, [rsp]
    001a8561sar rax, 1
    001a8564mov rsi, [rsp+8]
    001a8569mov rbx, [rsi+16]
    001a856dmov rdi, [rbx]
    001a8570sar rdi, 1
    001a8573mov rsi, [rsi+24]
    001a8577mov rsi, [rsi]
    001a857amov rdx, [rsi-8]
    001a857eshr rdx, 10
    001a8582lea rdx, [8*rdx-1]
    001a858amovzx rcx, [rsi+rdx]
    001a858fsub rdx, rcx
    001a8592cmp rdx, rdi
    001a8595jbe 0x1a85a8
    001a8597mov [rsi+rdi], al
    001a859aadd [rbx], 2
    001a859emov eax, 1
    001a85a3add rsp, 16
    001a85a7ret
    001a85a8
    001a85a8loc_1a85a8:
    001a85a8call caml_ml_array_bound_error
    001a85ad
    001a85adloc_1a85ad:
    001a85adpush 35
    001a85afcall caml_call_realloc_stack
    001a85b4pop r10
    001a85b6jmp 0x1a8512
    001a8500
    001a85bb
    001a85bb // align 0x10
    001a85c0
    001a85c0Stdlib.Bytes.unsafe_get_uint16_le:
    001a85c0sar rbx, 1
    001a85c3movzx rax, [rax+rbx]
    001a85c8lea rax, [rax+rax+1]
    001a85cdret
    001a85c0
    001a85ce
    001a85ce // align 0x10
    001a85d0
    001a85d0Stdlib.Bytes.unsafe_get_uint16_be:
    001a85d0sar rbx, 1
    001a85d3movzx rax, [rax+rbx]
    001a85d8xchg al, ah
    001a85damovzx rax, ax
    001a85delea rax, [rax+rax+1]
    001a85e3ret
    001a85d0
    001a85e4
    001a85e4 // align 0x10
    001a85f0
    001a85f0Stdlib.Bytes.get_int8:
    001a85f0sar rbx, 1
    001a85f3mov rdi, [rax-8]
    001a85f7shr rdi, 10
    001a85fblea rdi, [8*rdi-1]
    001a8603movzx rsi, [rax+rdi]
    001a8608sub rdi, rsi
    001a860bcmp rdi, rbx
    001a860ejbe 0x1a8622
    001a8610movzx rax, [rax+rbx]
    001a8615shl rax, 56
    001a8619sar rax, 55
    001a861dor rax, 1
    001a8621ret
    001a8622
    001a8622loc_1a8622:
    001a8622call caml_ml_array_bound_error
    001a85f0
    001a8627
    001a8627 // align 0x10
    001a8630
    001a8630Stdlib.Bytes.get_uint16_le:
    001a8630sar rbx, 1
    001a8633mov rdi, [rax-8]
    001a8637shr rdi, 10
    001a863blea rdi, [8*rdi-1]
    001a8643movzx rsi, [rax+rdi]
    001a8648sub rdi, rsi
    001a864bdec rdi
    001a864emov rsi, rdi
    001a8651sar rsi, 63
    001a8655xor rsi, -1
    001a8659and rsi, rdi
    001a865ccmp rsi, rbx
    001a865fjbe 0x1a866c
    001a8661movzx rax, [rax+rbx]
    001a8666lea rax, [rax+rax+1]
    001a866bret
    001a866c
    001a866cloc_1a866c:
    001a866ccall caml_ml_array_bound_error
    001a8630
    001a8671
    001a8671 // align 0x10
    001a8680
    001a8680Stdlib.Bytes.get_uint16_be:
    001a8680sar rbx, 1
    001a8683mov rdi, [rax-8]
    001a8687shr rdi, 10
    001a868blea rdi, [8*rdi-1]
    001a8693movzx rsi, [rax+rdi]
    001a8698sub rdi, rsi
    001a869bdec rdi
    001a869emov rsi, rdi
    001a86a1sar rsi, 63
    001a86a5xor rsi, -1
    001a86a9and rsi, rdi
    001a86accmp rsi, rbx
    001a86afjbe 0x1a86c2
    001a86b1movzx rax, [rax+rbx]
    001a86b6xchg al, ah
    001a86b8movzx rax, ax
    001a86bclea rax, [rax+rax+1]
    001a86c1ret
    001a86c2
    001a86c2loc_1a86c2:
    001a86c2call caml_ml_array_bound_error
    001a8680
    001a86c7
    001a86c7 // align 0x10
    001a86d0
    001a86d0Stdlib.Bytes.get_int16_ne:
    001a86d0sar rbx, 1
    001a86d3mov rdi, [rax-8]
    001a86d7shr rdi, 10
    001a86dblea rdi, [8*rdi-1]
    001a86e3movzx rsi, [rax+rdi]
    001a86e8sub rdi, rsi
    001a86ebdec rdi
    001a86eemov rsi, rdi
    001a86f1sar rsi, 63
    001a86f5xor rsi, -1
    001a86f9and rsi, rdi
    001a86fccmp rsi, rbx
    001a86ffjbe 0x1a8713
    001a8701movzx rax, [rax+rbx]
    001a8706shl rax, 48
    001a870asar rax, 47
    001a870eor rax, 1
    001a8712ret
    001a8713
    001a8713loc_1a8713:
    001a8713call caml_ml_array_bound_error
    001a86d0
    001a8718
    001a8718 // align 0x10
    001a8720
    001a8720Stdlib.Bytes.get_int16_le:
    001a8720sar rbx, 1
    001a8723mov rdi, [rax-8]
    001a8727shr rdi, 10
    001a872blea rdi, [8*rdi-1]
    001a8733movzx rsi, [rax+rdi]
    001a8738sub rdi, rsi
    001a873bdec rdi
    001a873emov rsi, rdi
    001a8741sar rsi, 63
    001a8745xor rsi, -1
    001a8749and rsi, rdi
    001a874ccmp rsi, rbx
    001a874fjbe 0x1a8763
    001a8751movzx rax, [rax+rbx]
    001a8756shl rax, 48
    001a875asar rax, 47
    001a875eor rax, 1
    001a8762ret
    001a8763
    001a8763loc_1a8763:
    001a8763call caml_ml_array_bound_error
    001a8720
    001a8768
    001a8768 // align 0x10
    001a8770
    001a8770Stdlib.Bytes.get_int16_be:
    001a8770sar rbx, 1
    001a8773mov rdi, [rax-8]
    001a8777shr rdi, 10
    001a877blea rdi, [8*rdi-1]
    001a8783movzx rsi, [rax+rdi]
    001a8788sub rdi, rsi
    001a878bdec rdi
    001a878emov rsi, rdi
    001a8791sar rsi, 63
    001a8795xor rsi, -1
    001a8799and rsi, rdi
    001a879ccmp rsi, rbx
    001a879fjbe 0x1a87b9
    001a87a1movzx rax, [rax+rbx]
    001a87a6xchg al, ah
    001a87a8movzx rax, ax
    001a87acshl rax, 48
    001a87b0sar rax, 47
    001a87b4or rax, 1
    001a87b8ret
    001a87b9
    001a87b9loc_1a87b9:
    001a87b9call caml_ml_array_bound_error
    001a8770
    001a87be
    001a87be // align 0x10
    001a87c0
    001a87c0Stdlib.Bytes.get_int32_le:
    001a87c0mov rdi, rax
    001a87c3sub r15, 24
    001a87c7cmp r15, [r14]
    001a87cajb 0x1a881f
    001a87cc
    001a87ccloc_1a87cc:
    001a87cclea rax, [r15+8]
    001a87d0mov [rax-8], 2303
    001a87d8lea rsi, [rip+0xcd0e1]
    001a87dfmov [rax], rsi
    001a87e2sar rbx, 1
    001a87e5mov rsi, [rdi-8]
    001a87e9shr rsi, 10
    001a87edlea rsi, [8*rsi-1]
    001a87f5movzx rdx, [rdi+rsi]
    001a87fasub rsi, rdx
    001a87fdadd rsi, -3
    001a8801mov rdx, rsi
    001a8804sar rdx, 63
    001a8808xor rdx, -1
    001a880cand rdx, rsi
    001a880fcmp rdx, rbx
    001a8812jbe 0x1a8826
    001a8814mov ebx, [rdi+rbx]
    001a8817movsxd rbx, ebx
    001a881amov [rax+8], rbx
    001a881eret
    001a881f
    001a881floc_1a881f:
    001a881fcall caml_call_gc
    001a8824jmp 0x1a87cc
    001a8826
    001a8826loc_1a8826:
    001a8826call caml_ml_array_bound_error
    001a87c0
    001a882b
    001a882b // align 0x10
    001a8830
    001a8830Stdlib.Bytes.get_int32_be:
    001a8830mov rdi, rax
    001a8833sub r15, 24
    001a8837cmp r15, [r14]
    001a883ajb 0x1a8897
    001a883c
    001a883cloc_1a883c:
    001a883clea rax, [r15+8]
    001a8840mov [rax-8], 2303
    001a8848lea rsi, [rip+0xcd071]
    001a884fmov [rax], rsi
    001a8852sar rbx, 1
    001a8855mov rsi, [rdi-8]
    001a8859shr rsi, 10
    001a885dlea rsi, [8*rsi-1]
    001a8865movzx rdx, [rdi+rsi]
    001a886asub rsi, rdx
    001a886dadd rsi, -3
    001a8871mov rdx, rsi
    001a8874sar rdx, 63
    001a8878xor rdx, -1
    001a887cand rdx, rsi
    001a887fcmp rdx, rbx
    001a8882jbe 0x1a889e
    001a8884mov ebx, [rdi+rbx]
    001a8887movsxd rbx, ebx
    001a888abswap ebx
    001a888cmovsxd rbx, ebx
    001a888fmovsxd rbx, ebx
    001a8892mov [rax+8], rbx
    001a8896ret
    001a8897
    001a8897loc_1a8897:
    001a8897call caml_call_gc
    001a889cjmp 0x1a883c
    001a889e
    001a889eloc_1a889e:
    001a889ecall caml_ml_array_bound_error
    001a8830
    001a88a3
    001a88a3 // align 0x10
    001a88b0
    001a88b0Stdlib.Bytes.get_int64_le:
    001a88b0mov rdi, rax
    001a88b3sub r15, 24
    001a88b7cmp r15, [r14]
    001a88bajb 0x1a890d
    001a88bc
    001a88bcloc_1a88bc:
    001a88bclea rax, [r15+8]
    001a88c0mov [rax-8], 2303
    001a88c8lea rsi, [rip+0xccfb1]
    001a88cfmov [rax], rsi
    001a88d2sar rbx, 1
    001a88d5mov rsi, [rdi-8]
    001a88d9shr rsi, 10
    001a88ddlea rsi, [8*rsi-1]
    001a88e5movzx rdx, [rdi+rsi]
    001a88easub rsi, rdx
    001a88edadd rsi, -7
    001a88f1mov rdx, rsi
    001a88f4sar rdx, 63
    001a88f8xor rdx, -1
    001a88fcand rdx, rsi
    001a88ffcmp rdx, rbx
    001a8902jbe 0x1a8914
    001a8904mov rbx, [rdi+rbx]
    001a8908mov [rax+8], rbx
    001a890cret
    001a890d
    001a890dloc_1a890d:
    001a890dcall caml_call_gc
    001a8912jmp 0x1a88bc
    001a8914
    001a8914loc_1a8914:
    001a8914call caml_ml_array_bound_error
    001a88b0
    001a8919
    001a8919 // align 0x10
    001a8920
    001a8920Stdlib.Bytes.get_int64_be:
    001a8920mov rdi, rax
    001a8923sub r15, 24
    001a8927cmp r15, [r14]
    001a892ajb 0x1a8980
    001a892c
    001a892cloc_1a892c:
    001a892clea rax, [r15+8]
    001a8930mov [rax-8], 2303
    001a8938lea rsi, [rip+0xccf41]
    001a893fmov [rax], rsi
    001a8942sar rbx, 1
    001a8945mov rsi, [rdi-8]
    001a8949shr rsi, 10
    001a894dlea rsi, [8*rsi-1]
    001a8955movzx rdx, [rdi+rsi]
    001a895asub rsi, rdx
    001a895dadd rsi, -7
    001a8961mov rdx, rsi
    001a8964sar rdx, 63
    001a8968xor rdx, -1
    001a896cand rdx, rsi
    001a896fcmp rdx, rbx
    001a8972jbe 0x1a8987
    001a8974mov rbx, [rdi+rbx]
    001a8978bswap rbx
    001a897bmov [rax+8], rbx
    001a897fret
    001a8980
    001a8980loc_1a8980:
    001a8980call caml_call_gc
    001a8985jmp 0x1a892c
    001a8987
    001a8987loc_1a8987:
    001a8987call caml_ml_array_bound_error
    001a8920
    001a898c
    001a898c // align 0x10
    001a8990
    001a8990Stdlib.Bytes.unsafe_set_uint16_le:
    001a8990sar rdi, 1
    001a8993sar rbx, 1
    001a8996mov [rax+rbx], di
    001a899amov eax, 1
    001a899fret
    001a8990
    001a89a0
    001a89a0Stdlib.Bytes.unsafe_set_uint16_be:
    001a89a0mov rsi, rax
    001a89a3mov rax, rdi
    001a89a6sar rax, 1
    001a89a9xchg al, ah
    001a89abmovzx rax, ax
    001a89afsar rbx, 1
    001a89b2mov [rsi+rbx], ax
    001a89b6mov eax, 1
    001a89bbret
    001a89a0
    001a89bc
    001a89bc // align 0x10
    001a89c0
    001a89c0Stdlib.Bytes.set_int16_le:
    001a89c0sar rdi, 1
    001a89c3sar rbx, 1
    001a89c6mov rsi, [rax-8]
    001a89cashr rsi, 10
    001a89celea rsi, [8*rsi-1]
    001a89d6movzx rdx, [rax+rsi]
    001a89dbsub rsi, rdx
    001a89dedec rsi
    001a89e1mov rdx, rsi
    001a89e4sar rdx, 63
    001a89e8xor rdx, -1
    001a89ecand rdx, rsi
    001a89efcmp rdx, rbx
    001a89f2jbe 0x1a89fe
    001a89f4mov [rax+rbx], di
    001a89f8mov eax, 1
    001a89fdret
    001a89fe
    001a89feloc_1a89fe:
    001a89fecall caml_ml_array_bound_error
    001a89c0
    001a8a03
    001a8a03 // align 0x10
    001a8a10
    001a8a10Stdlib.Bytes.set_int16_be:
    001a8a10mov rsi, rax
    001a8a13mov rax, rdi
    001a8a16sar rax, 1
    001a8a19xchg al, ah
    001a8a1bmovzx rax, ax
    001a8a1fsar rbx, 1
    001a8a22mov rdi, [rsi-8]
    001a8a26shr rdi, 10
    001a8a2alea rdi, [8*rdi-1]
    001a8a32movzx rdx, [rsi+rdi]
    001a8a37sub rdi, rdx
    001a8a3adec rdi
    001a8a3dmov rdx, rdi
    001a8a40sar rdx, 63
    001a8a44xor rdx, -1
    001a8a48and rdx, rdi
    001a8a4bcmp rdx, rbx
    001a8a4ejbe 0x1a8a5a
    001a8a50mov [rsi+rbx], ax
    001a8a54mov eax, 1
    001a8a59ret
    001a8a5a
    001a8a5aloc_1a8a5a:
    001a8a5acall caml_ml_array_bound_error
    001a8a10
    001a8a5f
    001a8a5f // align 0x10
    001a8a60
    001a8a60Stdlib.Bytes.set_int32_le:
    001a8a60movsxd rdi, [rdi+8]
    001a8a64sar rbx, 1
    001a8a67mov rsi, [rax-8]
    001a8a6bshr rsi, 10
    001a8a6flea rsi, [8*rsi-1]
    001a8a77movzx rdx, [rax+rsi]
    001a8a7csub rsi, rdx
    001a8a7fadd rsi, -3
    001a8a83mov rdx, rsi
    001a8a86sar rdx, 63
    001a8a8axor rdx, -1
    001a8a8eand rdx, rsi
    001a8a91cmp rdx, rbx
    001a8a94jbe 0x1a8a9f
    001a8a96mov [rax+rbx], edi
    001a8a99mov eax, 1
    001a8a9eret
    001a8a9f
    001a8a9floc_1a8a9f:
    001a8a9fcall caml_ml_array_bound_error
    001a8a60
    001a8aa4
    001a8aa4 // align 0x10
    001a8ab0
    001a8ab0Stdlib.Bytes.set_int32_be:
    001a8ab0movsxd rdi, [rdi+8]
    001a8ab4bswap edi
    001a8ab6movsxd rdi, edi
    001a8ab9movsxd rdi, edi
    001a8abcsar rbx, 1
    001a8abfmov rsi, [rax-8]
    001a8ac3shr rsi, 10
    001a8ac7lea rsi, [8*rsi-1]
    001a8acfmovzx rdx, [rax+rsi]
    001a8ad4sub rsi, rdx
    001a8ad7add rsi, -3
    001a8adbmov rdx, rsi
    001a8adesar rdx, 63
    001a8ae2xor rdx, -1
    001a8ae6and rdx, rsi
    001a8ae9cmp rdx, rbx
    001a8aecjbe 0x1a8af7
    001a8aeemov [rax+rbx], edi
    001a8af1mov eax, 1
    001a8af6ret
    001a8af7
    001a8af7loc_1a8af7:
    001a8af7call caml_ml_array_bound_error
    001a8ab0
    001a8afc
    001a8afc // align 0x10
    001a8b00
    001a8b00Stdlib.Bytes.set_int64_le:
    001a8b00mov rdi, [rdi+8]
    001a8b04sar rbx, 1
    001a8b07mov rsi, [rax-8]
    001a8b0bshr rsi, 10
    001a8b0flea rsi, [8*rsi-1]
    001a8b17movzx rdx, [rax+rsi]
    001a8b1csub rsi, rdx
    001a8b1fadd rsi, -7
    001a8b23mov rdx, rsi
    001a8b26sar rdx, 63
    001a8b2axor rdx, -1
    001a8b2eand rdx, rsi
    001a8b31cmp rdx, rbx
    001a8b34jbe 0x1a8b40
    001a8b36mov [rax+rbx], rdi
    001a8b3amov eax, 1
    001a8b3fret
    001a8b40
    001a8b40loc_1a8b40:
    001a8b40call caml_ml_array_bound_error
    001a8b00
    001a8b45
    001a8b45 // align 0x10
    001a8b50
    001a8b50Stdlib.Bytes.set_int64_be:
    001a8b50mov rdi, [rdi+8]
    001a8b54bswap rdi
    001a8b57sar rbx, 1
    001a8b5amov rsi, [rax-8]
    001a8b5eshr rsi, 10
    001a8b62lea rsi, [8*rsi-1]
    001a8b6amovzx rdx, [rax+rsi]
    001a8b6fsub rsi, rdx
    001a8b72add rsi, -7
    001a8b76mov rdx, rsi
    001a8b79sar rdx, 63
    001a8b7dxor rdx, -1
    001a8b81and rdx, rsi
    001a8b84cmp rdx, rbx
    001a8b87jbe 0x1a8b93
    001a8b89mov [rax+rbx], rdi
    001a8b8dmov eax, 1
    001a8b92ret
    001a8b93
    001a8b93loc_1a8b93:
    001a8b93call caml_ml_array_bound_error
    001a8b50
    001a8b98
    001a8b98 // align 0x10
    001a8ba0
    001a8ba0Stdlib.Bytes.set_uint8:
    001a8ba0sar rdi, 1
    001a8ba3sar rbx, 1
    001a8ba6mov rsi, [rax-8]
    001a8baashr rsi, 10
    001a8baelea rsi, [8*rsi-1]
    001a8bb6movzx rdx, [rax+rsi]
    001a8bbbsub rsi, rdx
    001a8bbecmp rsi, rbx
    001a8bc1jbe 0x1a8bcd
    001a8bc3mov [rax+rbx], dil
    001a8bc7mov eax, 1
    001a8bccret
    001a8bcd
    001a8bcdloc_1a8bcd:
    001a8bcdcall caml_ml_array_bound_error
    001a8ba0
    001a8bd2
    001a8bd2 // align 0x10
    001a8be0
    001a8be0Stdlib.Bytes.set_uint16_ne:
    001a8be0sar rdi, 1
    001a8be3sar rbx, 1
    001a8be6mov rsi, [rax-8]
    001a8beashr rsi, 10
    001a8beelea rsi, [8*rsi-1]
    001a8bf6movzx rdx, [rax+rsi]
    001a8bfbsub rsi, rdx
    001a8bfedec rsi
    001a8c01mov rdx, rsi
    001a8c04sar rdx, 63
    001a8c08xor rdx, -1
    001a8c0cand rdx, rsi
    001a8c0fcmp rdx, rbx
    001a8c12jbe 0x1a8c1e
    001a8c14mov [rax+rbx], di
    001a8c18mov eax, 1
    001a8c1dret
    001a8c1e
    001a8c1eloc_1a8c1e:
    001a8c1ecall caml_ml_array_bound_error
    001a8be0
    001a8c23
    001a8c23 // align 0x10
    001a8c30
    001a8c30Stdlib.Bytes.dec_ret:
    001a8c30or rax, 17
    001a8c34shl rax, 24
    001a8c38add rax, 0xffffffffff000001
    001a8c3eor rax, rbx
    001a8c41ret
    001a8c30
    001a8c42
    001a8c42 // align 0x10
    001a8c50
    001a8c50Stdlib.Bytes.not_in_x80_to_xBF:
    001a8c50shr rax, 6
    001a8c54or rax, 1
    001a8c58cmp rax, 5
    001a8c5csetne al
    001a8c5fmovzx rax, al
    001a8c63lea rax, [rax+rax+1]
    001a8c68ret
    001a8c50
    001a8c69
    001a8c69 // align 0x10
    001a8c70
    001a8c70Stdlib.Bytes.not_in_xA0_to_xBF:
    001a8c70shr rax, 5
    001a8c74or rax, 1
    001a8c78cmp rax, 11
    001a8c7csetne al
    001a8c7fmovzx rax, al
    001a8c83lea rax, [rax+rax+1]
    001a8c88ret
    001a8c70
    001a8c89
    001a8c89 // align 0x10
    001a8c90
    001a8c90Stdlib.Bytes.not_in_x80_to_x9F:
    001a8c90shr rax, 5
    001a8c94or rax, 1
    001a8c98cmp rax, 9
    001a8c9csetne al
    001a8c9fmovzx rax, al
    001a8ca3lea rax, [rax+rax+1]
    001a8ca8ret
    001a8c90
    001a8ca9
    001a8ca9 // align 0x10
    001a8cb0
    001a8cb0Stdlib.Bytes.not_in_x90_to_xBF:
    001a8cb0cmp rax, 289
    001a8cb6jl 0x1a8ccc
    001a8cb8cmp rax, 383
    001a8cbesetg al
    001a8cc1movzx rax, al
    001a8cc5lea rax, [rax+rax+1]
    001a8ccaret
    001a8ccb
    001a8ccb 90 .
    001a8ccc
    001a8cccloc_1a8ccc:
    001a8cccmov eax, 3
    001a8cd1ret
    001a8cb0
    001a8cd2
    001a8cd2 // align 0x10
    001a8ce0
    001a8ce0Stdlib.Bytes.not_in_x80_to_x8F:
    001a8ce0shr rax, 4
    001a8ce4or rax, 1
    001a8ce8cmp rax, 17
    001a8cecsetne al
    001a8cefmovzx rax, al
    001a8cf3lea rax, [rax+rax+1]
    001a8cf8ret
    001a8ce0
    001a8cf9
    001a8cf9 // align 0x10
    001a8d00
    001a8d00Stdlib.Bytes.utf_8_uchar_2:
    001a8d00and rbx, 127
    001a8d04and rax, 63
    001a8d08shl rax, 6
    001a8d0cadd rax, -63
    001a8d10or rax, rbx
    001a8d13ret
    001a8d00
    001a8d14
    001a8d14 // align 0x10
    001a8d20
    001a8d20Stdlib.Bytes.utf_8_uchar_3:
    001a8d20and rdi, 127
    001a8d24and rbx, 127
    001a8d28shl rbx, 6
    001a8d2cadd rbx, -63
    001a8d30and rax, 31
    001a8d34shl rax, 12
    001a8d38add rax, -4095
    001a8d3eor rax, rbx
    001a8d41or rax, rdi
    001a8d44ret
    001a8d20
    001a8d45
    001a8d45 // align 0x10
    001a8d50
    001a8d50Stdlib.Bytes.utf_8_uchar_4:
    001a8d50and rsi, 127
    001a8d54and rdi, 127
    001a8d58shl rdi, 6
    001a8d5cadd rdi, -63
    001a8d60and rbx, 127
    001a8d64shl rbx, 12
    001a8d68add rbx, -4095
    001a8d6fand rax, 15
    001a8d73shl rax, 18
    001a8d77add rax, 0xfffffffffffc0001
    001a8d7dor rax, rbx
    001a8d80or rax, rdi
    001a8d83or rax, rsi
    001a8d86ret
    001a8d50
    001a8d87
    001a8d87 // align 0x10
    001a8d90
    001a8d90Stdlib.Bytes.get_utf_8_uchar:
    001a8d90mov rsi, rax
    001a8d93mov rax, rbx
    001a8d96sar rax, 1
    001a8d99mov rdi, [rsi-8]
    001a8d9dshr rdi, 10
    001a8da1lea rdi, [8*rdi-1]
    001a8da9movzx rdx, [rsi+rdi]
    001a8daesub rdi, rdx
    001a8db1cmp rdi, rax
    001a8db4jbe 0x1a932c
    001a8dbamovzx rax, [rsi+rax]
    001a8dbflea r8, [rax+rax+1]
    001a8dc4lea rdi, [rdi+rdi-1]
    001a8dc9cmp r8, 449
    001a8dd0jl 0x1a912c
    001a8dd6cmp r8, 475
    001a8dddjl 0x1a9080
    001a8de3cmp r8, 491
    001a8deajge 0x1a91a0
    001a8df0mov rax, r8
    001a8df3add rax, -474
    001a8df9sar rax, 1
    001a8dfclea rdx, [rip+0x84a9d]
    001a8e03movsxd rax, [rdx+4*rax]
    001a8e07add rdx, rax
    001a8e0ajmp rdx
    001a8e0cadd rbx, 2
    001a8e10cmp rbx, rdi
    001a8e13jle 0x1a8e1c
    001a8e15mov eax, 0x201fffb
    001a8e1aret
    001a8e1bnop
    001a8e1c
    001a8e1cloc_1a8e1c:
    001a8e1cmov rax, rbx
    001a8e1fsar rax, 1
    001a8e22movzx rax, [rsi+rax]
    001a8e27lea rdx, [rax+rax+1]
    001a8e2cmov rax, rdx
    001a8e2fshr rax, 5
    001a8e33or rax, 1
    001a8e37cmp rax, 9
    001a8e3bje 0x1a8e44
    001a8e3dmov eax, 0x201fffb
    001a8e42ret
    001a8e43nop
    001a8e44
    001a8e44loc_1a8e44:
    001a8e44add rbx, 2
    001a8e48cmp rbx, rdi
    001a8e4bjle 0x1a8e54
    001a8e4dmov eax, 0x401fffb
    001a8e52ret
    001a8e53nop
    001a8e54
    001a8e54loc_1a8e54:
    001a8e54sar rbx, 1
    001a8e57movzx rax, [rsi+rbx]
    001a8e5clea rax, [rax+rax+1]
    001a8e61mov rbx, rax
    001a8e64shr rbx, 6
    001a8e68or rbx, 1
    001a8e6ccmp rbx, 5
    001a8e70je 0x1a8e78
    001a8e72mov eax, 0x401fffb
    001a8e77ret
    001a8e78
    001a8e78loc_1a8e78:
    001a8e78mov rbx, rax
    001a8e7band rbx, 127
    001a8e7fand rdx, 127
    001a8e83shl rdx, 6
    001a8e87add rdx, -63
    001a8e8bmov rax, r8
    001a8e8eand rax, 31
    001a8e92shl rax, 12
    001a8e96add rax, -4095
    001a8e9cor rax, rdx
    001a8e9for rax, rbx
    001a8ea2or rax, 0x16000001
    001a8ea8ret
    001a8ea9nop [rax]
    001a8eacadd rbx, 2
    001a8eb0cmp rbx, rdi
    001a8eb3jle 0x1a8ebc
    001a8eb5mov eax, 0x201fffb
    001a8ebaret
    001a8ebbnop
    001a8ebc
    001a8ebcloc_1a8ebc:
    001a8ebcmov rax, rbx
    001a8ebfsar rax, 1
    001a8ec2movzx rax, [rsi+rax]
    001a8ec7lea rcx, [rax+rax+1]
    001a8ecccmp rcx, 289
    001a8ed3jl 0x1a8f94
    001a8ed9cmp rcx, 383
    001a8ee0jg 0x1a8f94
    001a8ee6add rbx, 2
    001a8eeacmp rbx, rdi
    001a8eedjle 0x1a8ef8
    001a8eefmov eax, 0x401fffb
    001a8ef4ret
    001a8ef5nop [rax]
    001a8ef8
    001a8ef8loc_1a8ef8:
    001a8ef8mov rax, rbx
    001a8efbsar rax, 1
    001a8efemovzx rax, [rsi+rax]
    001a8f03lea rdx, [rax+rax+1]
    001a8f08mov rax, rdx
    001a8f0bshr rax, 6
    001a8f0for rax, 1
    001a8f13cmp rax, 5
    001a8f17je 0x1a8f20
    001a8f19mov eax, 0x401fffb
    001a8f1eret
    001a8f1fnop
    001a8f20
    001a8f20loc_1a8f20:
    001a8f20add rbx, 2
    001a8f24cmp rbx, rdi
    001a8f27jle 0x1a8f30
    001a8f29mov eax, 0x601fffb
    001a8f2eret
    001a8f2fnop
    001a8f30
    001a8f30loc_1a8f30:
    001a8f30sar rbx, 1
    001a8f33movzx rax, [rsi+rbx]
    001a8f38lea rbx, [rax+rax+1]
    001a8f3dmov rax, rbx
    001a8f40shr rax, 6
    001a8f44or rax, 1
    001a8f48cmp rax, 5
    001a8f4cje 0x1a8f54
    001a8f4emov eax, 0x601fffb
    001a8f53ret
    001a8f54
    001a8f54loc_1a8f54:
    001a8f54and rbx, 127
    001a8f58and rdx, 127
    001a8f5cshl rdx, 6
    001a8f60add rdx, -63
    001a8f64and rcx, 127
    001a8f68shl rcx, 12
    001a8f6cadd rcx, -4095
    001a8f73mov rax, r8
    001a8f76and rax, 15
    001a8f7ashl rax, 18
    001a8f7eadd rax, 0xfffffffffffc0001
    001a8f84or rax, rcx
    001a8f87or rax, rdx
    001a8f8aor rax, rbx
    001a8f8dor rax, 0x18000001
    001a8f93ret
    001a8f94
    001a8f94loc_1a8f94:
    001a8f94mov eax, 0x201fffb
    001a8f99ret
    001a8f9anop
    001a8f9cadd rbx, 2
    001a8fa0cmp rbx, rdi
    001a8fa3jle 0x1a8fac
    001a8fa5mov eax, 0x201fffb
    001a8faaret
    001a8fabnop
    001a8fac
    001a8facloc_1a8fac:
    001a8facmov rax, rbx
    001a8fafsar rax, 1
    001a8fb2movzx rax, [rsi+rax]
    001a8fb7lea rcx, [rax+rax+1]
    001a8fbcmov rax, rcx
    001a8fbfshr rax, 4
    001a8fc3or rax, 1
    001a8fc7cmp rax, 17
    001a8fcbje 0x1a8fd4
    001a8fcdmov eax, 0x201fffb
    001a8fd2ret
    001a8fd3nop
    001a8fd4
    001a8fd4loc_1a8fd4:
    001a8fd4add rbx, 2
    001a8fd8cmp rbx, rdi
    001a8fdbjle 0x1a8fe4
    001a8fddmov eax, 0x401fffb
    001a8fe2ret
    001a8fe3nop
    001a8fe4
    001a8fe4loc_1a8fe4:
    001a8fe4mov rax, rbx
    001a8fe7sar rax, 1
    001a8feamovzx rax, [rsi+rax]
    001a8feflea rdx, [rax+rax+1]
    001a8ff4mov rax, rdx
    001a8ff7shr rax, 6
    001a8ffbor rax, 1
    001a8fffcmp rax, 5
    001a9003je 0x1a900c
    001a9005mov eax, 0x401fffb
    001a900aret
    001a900bnop
    001a900c
    001a900cloc_1a900c:
    001a900cadd rbx, 2
    001a9010cmp rbx, rdi
    001a9013jle 0x1a901c
    001a9015mov eax, 0x601fffb
    001a901aret
    001a901bnop
    001a901c
    001a901cloc_1a901c:
    001a901csar rbx, 1
    001a901fmovzx rax, [rsi+rbx]
    001a9024lea rbx, [rax+rax+1]
    001a9029mov rax, rbx
    001a902cshr rax, 6
    001a9030or rax, 1
    001a9034cmp rax, 5
    001a9038je 0x1a9040
    001a903amov eax, 0x601fffb
    001a903fret
    001a9040
    001a9040loc_1a9040:
    001a9040and rbx, 127
    001a9044and rdx, 127
    001a9048shl rdx, 6
    001a904cadd rdx, -63
    001a9050and rcx, 127
    001a9054shl rcx, 12
    001a9058add rcx, -4095
    001a905fmov rax, r8
    001a9062and rax, 15
    001a9066shl rax, 18
    001a906aadd rax, 0xfffffffffffc0001
    001a9070or rax, rcx
    001a9073or rax, rdx
    001a9076or rax, rbx
    001a9079or rax, 0x18000001
    001a907fret
    001a9080
    001a9080loc_1a9080:
    001a9080cmp r8, 451
    001a9087jge 0x1a91a8
    001a908dadd rbx, 2
    001a9091cmp rbx, rdi
    001a9094jle 0x1a909c
    001a9096mov eax, 0x201fffb
    001a909bret
    001a909c
    001a909cloc_1a909c:
    001a909cmov rax, rbx
    001a909fsar rax, 1
    001a90a2movzx rax, [rsi+rax]
    001a90a7lea rdx, [rax+rax+1]
    001a90acmov rax, rdx
    001a90afshr rax, 5
    001a90b3or rax, 1
    001a90b7cmp rax, 11
    001a90bbje 0x1a90c4
    001a90bdmov eax, 0x201fffb
    001a90c2ret
    001a90c3nop
    001a90c4
    001a90c4loc_1a90c4:
    001a90c4add rbx, 2
    001a90c8cmp rbx, rdi
    001a90cbjle 0x1a90d4
    001a90cdmov eax, 0x401fffb
    001a90d2ret
    001a90d3nop
    001a90d4
    001a90d4loc_1a90d4:
    001a90d4sar rbx, 1
    001a90d7movzx rax, [rsi+rbx]
    001a90dclea rax, [rax+rax+1]
    001a90e1mov rbx, rax
    001a90e4shr rbx, 6
    001a90e8or rbx, 1
    001a90eccmp rbx, 5
    001a90f0je 0x1a90f8
    001a90f2mov eax, 0x401fffb
    001a90f7ret
    001a90f8
    001a90f8loc_1a90f8:
    001a90f8mov rbx, rax
    001a90fband rbx, 127
    001a90ffand rdx, 127
    001a9103shl rdx, 6
    001a9107add rdx, -63
    001a910bmov rax, r8
    001a910eand rax, 31
    001a9112shl rax, 12
    001a9116add rax, -4095
    001a911cor rax, rdx
    001a911for rax, rbx
    001a9122or rax, 0x16000001
    001a9128ret
    001a9129nop [rax]
    001a912c
    001a912cloc_1a912c:
    001a912ccmp r8, 257
    001a9133jl 0x1a9194
    001a9135cmp r8, 389
    001a913cjl 0x1a91a0
    001a913eadd rbx, 2
    001a9142cmp rbx, rdi
    001a9145jle 0x1a9150
    001a9147mov eax, 0x201fffb
    001a914cret
    001a914dnop [rax]
    001a9150
    001a9150loc_1a9150:
    001a9150sar rbx, 1
    001a9153movzx rax, [rsi+rbx]
    001a9158lea rax, [rax+rax+1]
    001a915dmov rbx, rax
    001a9160shr rbx, 6
    001a9164or rbx, 1
    001a9168cmp rbx, 5
    001a916cje 0x1a9174
    001a916emov eax, 0x201fffb
    001a9173ret
    001a9174
    001a9174loc_1a9174:
    001a9174mov rbx, rax
    001a9177and rbx, 127
    001a917bmov rax, r8
    001a917eand rax, 63
    001a9182shl rax, 6
    001a9186add rax, -63
    001a918aor rax, rbx
    001a918dor rax, 0x14000001
    001a9193ret
    001a9194
    001a9194loc_1a9194:
    001a9194mov rax, r8
    001a9197or rax, 0x12000001
    001a919dret
    001a919enop
    001a91a0
    001a91a0loc_1a91a0:
    001a91a0mov eax, 0x201fffb
    001a91a5ret
    001a91a6nop
    001a91a8
    001a91a8loc_1a91a8:
    001a91a8add rbx, 2
    001a91accmp rbx, rdi
    001a91afjle 0x1a91b8
    001a91b1mov eax, 0x201fffb
    001a91b6ret
    001a91b7nop
    001a91b8
    001a91b8loc_1a91b8:
    001a91b8mov rax, rbx
    001a91bbsar rax, 1
    001a91bemovzx rax, [rsi+rax]
    001a91c3lea rdx, [rax+rax+1]
    001a91c8mov rax, rdx
    001a91cbshr rax, 6
    001a91cfor rax, 1
    001a91d3cmp rax, 5
    001a91d7je 0x1a91e0
    001a91d9mov eax, 0x201fffb
    001a91deret
    001a91dfnop
    001a91e0
    001a91e0loc_1a91e0:
    001a91e0add rbx, 2
    001a91e4cmp rbx, rdi
    001a91e7jle 0x1a91f0
    001a91e9mov eax, 0x401fffb
    001a91eeret
    001a91efnop
    001a91f0
    001a91f0loc_1a91f0:
    001a91f0sar rbx, 1
    001a91f3movzx rax, [rsi+rbx]
    001a91f8lea rax, [rax+rax+1]
    001a91fdmov rbx, rax
    001a9200shr rbx, 6
    001a9204or rbx, 1
    001a9208cmp rbx, 5
    001a920cje 0x1a9214
    001a920emov eax, 0x401fffb
    001a9213ret
    001a9214
    001a9214loc_1a9214:
    001a9214mov rbx, rax
    001a9217and rbx, 127
    001a921band rdx, 127
    001a921fshl rdx, 6
    001a9223add rdx, -63
    001a9227mov rax, r8
    001a922aand rax, 31
    001a922eshl rax, 12
    001a9232add rax, -4095
    001a9238or rax, rdx
    001a923bor rax, rbx
    001a923eor rax, 0x16000001
    001a9244ret
    001a9245nop [rax]
    001a9248add rbx, 2
    001a924ccmp rbx, rdi
    001a924fjle 0x1a9258
    001a9251mov eax, 0x201fffb
    001a9256ret
    001a9257nop
    001a9258
    001a9258loc_1a9258:
    001a9258mov rax, rbx
    001a925bsar rax, 1
    001a925emovzx rax, [rsi+rax]
    001a9263lea rcx, [rax+rax+1]
    001a9268mov rax, rcx
    001a926bshr rax, 6
    001a926for rax, 1
    001a9273cmp rax, 5
    001a9277je 0x1a9280
    001a9279mov eax, 0x201fffb
    001a927eret
    001a927fnop
    001a9280
    001a9280loc_1a9280:
    001a9280add rbx, 2
    001a9284cmp rbx, rdi
    001a9287jle 0x1a9290
    001a9289mov eax, 0x401fffb
    001a928eret
    001a928fnop
    001a9290
    001a9290loc_1a9290:
    001a9290mov rax, rbx
    001a9293sar rax, 1
    001a9296movzx rax, [rsi+rax]
    001a929blea rdx, [rax+rax+1]
    001a92a0mov rax, rdx
    001a92a3shr rax, 6
    001a92a7or rax, 1
    001a92abcmp rax, 5
    001a92afje 0x1a92b8
    001a92b1mov eax, 0x401fffb
    001a92b6ret
    001a92b7nop
    001a92b8
    001a92b8loc_1a92b8:
    001a92b8add rbx, 2
    001a92bccmp rbx, rdi
    001a92bfjle 0x1a92c8
    001a92c1mov eax, 0x601fffb
    001a92c6ret
    001a92c7nop
    001a92c8
    001a92c8loc_1a92c8:
    001a92c8sar rbx, 1
    001a92cbmovzx rax, [rsi+rbx]
    001a92d0lea rbx, [rax+rax+1]
    001a92d5mov rax, rbx
    001a92d8shr rax, 6
    001a92dcor rax, 1
    001a92e0cmp rax, 5
    001a92e4je 0x1a92ec
    001a92e6mov eax, 0x601fffb
    001a92ebret
    001a92ec
    001a92ecloc_1a92ec:
    001a92ecand rbx, 127
    001a92f0and rdx, 127
    001a92f4shl rdx, 6
    001a92f8add rdx, -63
    001a92fcand rcx, 127
    001a9300shl rcx, 12
    001a9304add rcx, -4095
    001a930bmov rax, r8
    001a930eand rax, 15
    001a9312shl rax, 18
    001a9316add rax, 0xfffffffffffc0001
    001a931cor rax, rcx
    001a931for rax, rdx
    001a9322or rax, rbx
    001a9325or rax, 0x18000001
    001a932bret
    001a932c
    001a932cloc_1a932c:
    001a932ccall caml_ml_array_bound_error
    001a8d90
    001a9331
    001a9331 // align 0x10
    001a9340
    001a9340Stdlib.Bytes.get:
    001a9340sar rbx, 1
    001a9343movzx rax, [rax+rbx]
    001a9348lea rax, [rax+rax+1]
    001a934dret
    001a9340
    001a934e
    001a934e // align 0x10
    001a9350
    001a9350Stdlib.Bytes.set_utf_8_uchar:
    001a9350mov rsi, [rax-8]
    001a9354shr rsi, 10
    001a9358lea rdx, [8*rsi-1]
    001a9360movzx rsi, [rax+rdx]
    001a9365sub rdx, rsi
    001a9368lea rcx, [rdx+rdx-1]
    001a936dcmp rdi, 1
    001a9371jge 0x1a93a8
    001a9373sub r15, 24
    001a9377cmp r15, [r14]
    001a937ajb 0x1a958e
    001a9380
    001a9380loc_1a9380:
    001a9380lea rax, [r15+8]
    001a9384mov [rax-8], 2048
    001a938clea rbx, [rip+0xcce75]
    001a9393mov [rax], rbx
    001a9396lea rbx, [rip+0x190f1b]
    001a939dmov [rax+8], rbx
    001a93a1call caml_raise_exn
    001a93a6nop
    001a93a8
    001a93a8loc_1a93a8:
    001a93a8cmp rdi, 255
    001a93afjg 0x1a93cc
    001a93b1sar rdi, 1
    001a93b4sar rbx, 1
    001a93b7cmp rdx, rbx
    001a93bajbe 0x1a95a7
    001a93c0mov [rax+rbx], dil
    001a93c4mov eax, 3
    001a93c9ret
    001a93ca
    001a93ca 66 90 f.
    001a93cc
    001a93ccloc_1a93cc:
    001a93cccmp rdi, 4095
    001a93d3jg 0x1a9428
    001a93d5mov rsi, rbx
    001a93d8add rsi, 2
    001a93dccmp rsi, rcx
    001a93dfjle 0x1a93e8
    001a93e1mov eax, 1
    001a93e6ret
    001a93e7
    001a93e7 90 .
    001a93e8
    001a93e8loc_1a93e8:
    001a93e8mov rcx, rdi
    001a93ebshr rcx, 6
    001a93efor rcx, 1
    001a93f3or rcx, 385
    001a93fasar rcx, 1
    001a93fdsar rbx, 1
    001a9400cmp rdx, rbx
    001a9403jbe 0x1a95a2
    001a9409mov [rax+rbx], cl
    001a940cand rdi, 127
    001a9410or rdi, 257
    001a9417sar rsi, 1
    001a941asar rdi, 1
    001a941dmov [rax+rsi], dil
    001a9421mov eax, 5
    001a9426ret
    001a9427
    001a9427 90 .
    001a9428
    001a9428loc_1a9428:
    001a9428cmp rdi, 0x1ffff
    001a942fjg 0x1a94ac
    001a9431mov rsi, rbx
    001a9434add rsi, 4
    001a9438cmp rsi, rcx
    001a943bjle 0x1a9444
    001a943dmov eax, 1
    001a9442ret
    001a9443
    001a9443 90 .
    001a9444
    001a9444loc_1a9444:
    001a9444mov rcx, rdi
    001a9447shr rcx, 12
    001a944bor rcx, 1
    001a944for rcx, 449
    001a9456sar rcx, 1
    001a9459mov r8, rbx
    001a945csar r8, 1
    001a945fcmp rdx, r8
    001a9462jbe 0x1a959d
    001a9468mov [rax+r8], cl
    001a946cmov rdx, rdi
    001a946fshr rdx, 6
    001a9473or rdx, 1
    001a9477and rdx, 127
    001a947bor rdx, 257
    001a9482add rbx, 2
    001a9486sar rbx, 1
    001a9489sar rdx, 1
    001a948cmov [rax+rbx], dl
    001a948fand rdi, 127
    001a9493or rdi, 257
    001a949asar rsi, 1
    001a949dsar rdi, 1
    001a94a0mov [rax+rsi], dil
    001a94a4mov eax, 7
    001a94a9ret
    001a94aa
    001a94aa 66 90 f.
    001a94ac
    001a94acloc_1a94ac:
    001a94accmp rdi, 0x21ffff
    001a94b3jg 0x1a9558
    001a94b9mov rsi, rbx
    001a94bcadd rsi, 6
    001a94c0cmp rsi, rcx
    001a94c3jle 0x1a94cc
    001a94c5mov eax, 1
    001a94caret
    001a94cb
    001a94cb 90 .
    001a94cc
    001a94ccloc_1a94cc:
    001a94ccmov rcx, rdi
    001a94cfshr rcx, 18
    001a94d3or rcx, 1
    001a94d7or rcx, 481
    001a94desar rcx, 1
    001a94e1mov r8, rbx
    001a94e4sar r8, 1
    001a94e7cmp rdx, r8
    001a94eajbe 0x1a9598
    001a94f0mov [rax+r8], cl
    001a94f4mov rdx, rdi
    001a94f7shr rdx, 12
    001a94fbor rdx, 1
    001a94ffand rdx, 127
    001a9503or rdx, 257
    001a950amov rcx, rbx
    001a950dadd rcx, 2
    001a9511sar rcx, 1
    001a9514sar rdx, 1
    001a9517mov [rax+rcx], dl
    001a951amov rdx, rdi
    001a951dshr rdx, 6
    001a9521or rdx, 1
    001a9525and rdx, 127
    001a9529or rdx, 257
    001a9530add rbx, 4
    001a9534sar rbx, 1
    001a9537sar rdx, 1
    001a953amov [rax+rbx], dl
    001a953dand rdi, 127
    001a9541or rdi, 257
    001a9548sar rsi, 1
    001a954bsar rdi, 1
    001a954emov [rax+rsi], dil
    001a9552mov eax, 9
    001a9557ret
    001a9558
    001a9558loc_1a9558:
    001a9558sub r15, 24
    001a955ccmp r15, [r14]
    001a955fjb 0x1a9587
    001a9561
    001a9561loc_1a9561:
    001a9561lea rax, [r15+8]
    001a9565mov [rax-8], 2048
    001a956dlea rbx, [rip+0xccc94]
    001a9574mov [rax], rbx
    001a9577lea rbx, [rip+0x190d1a]
    001a957emov [rax+8], rbx
    001a9582call caml_raise_exn
    001a9587
    001a9587loc_1a9587:
    001a9587call caml_call_gc
    001a958cjmp 0x1a9561
    001a958e
    001a958eloc_1a958e:
    001a958ecall caml_call_gc
    001a9593jmp 0x1a9380
    001a9598
    001a9598loc_1a9598:
    001a9598call caml_ml_array_bound_error
    001a959d
    001a959dloc_1a959d:
    001a959dcall caml_ml_array_bound_error
    001a95a2
    001a95a2loc_1a95a2:
    001a95a2call caml_ml_array_bound_error
    001a95a7
    001a95a7loc_1a95a7:
    001a95a7call caml_ml_array_bound_error
    001a9350
    001a95ac
    001a95ac // align 0x10
    001a95b0
    001a95b0Stdlib.Bytes.set:
    001a95b0sar rbx, 1
    001a95b3sar rdi, 1
    001a95b6mov [rax+rbx], dil
    001a95bamov eax, 1
    001a95bfret
    001a95b0
    001a95c0
    001a95c0Stdlib.Bytes.is_valid_utf_8:
    001a95c0mov rbx, rax
    001a95c3cmp r15, [r14]
    001a95c6jbe 0x1a95ef
    001a95c8
    001a95c8loc_1a95c8:
    001a95c8mov edi, 1
    001a95cdmov rax, [rbx-8]
    001a95d1shr rax, 10
    001a95d5lea rax, [8*rax-1]
    001a95ddmovzx rsi, [rbx+rax]
    001a95e2sub rax, rsi
    001a95e5lea rax, [rax+rax-1]
    001a95eajmp 0x1a9600
    001a95ef
    001a95efloc_1a95ef:
    001a95efcall caml_call_gc
    001a95f4jmp 0x1a95c8
    001a95c0
    001a95f6
    001a95f6 // align 0x10
    001a9600
    001a9600Stdlib.Bytes.loop:
    001a9600mov rcx, rax
    001a9603mov rsi, rdi
    001a9606cmp r15, [r14]
    001a9609jbe 0x1a9982
    001a960f
    001a960floc_1a960f:
    001a960fcmp rsi, rcx
    001a9612jle 0x1a961c
    001a9614mov eax, 3
    001a9619ret
    001a961anop
    001a961c
    001a961cloc_1a961c:
    001a961cmov rax, rsi
    001a961fsar rax, 1
    001a9622movzx rax, [rbx+rax]
    001a9627lea rax, [rax+rax+1]
    001a962ccmp rax, 449
    001a9632jl 0x1a983c
    001a9638cmp rax, 475
    001a963ejl 0x1a97d0
    001a9644cmp rax, 491
    001a964ajge 0x1a989c
    001a9650add rax, -474
    001a9656sar rax, 1
    001a9659lea rdx, [rip+0x84260]
    001a9660movsxd rax, [rdx+4*rax]
    001a9664add rdx, rax
    001a9667jmp rdx
    001a9669nop [rax]
    001a966cmov rdi, rsi
    001a966fadd rdi, 4
    001a9673cmp rdi, rcx
    001a9676jg 0x1a96c4
    001a9678add rsi, 2
    001a967csar rsi, 1
    001a967fmovzx rax, [rbx+rsi]
    001a9684lea rax, [rax+rax+1]
    001a9689shr rax, 5
    001a968dor rax, 1
    001a9691cmp rax, 9
    001a9695jne 0x1a96c4
    001a9697mov rax, rdi
    001a969asar rax, 1
    001a969dmovzx rax, [rbx+rax]
    001a96a2lea rax, [rax+rax+1]
    001a96a7shr rax, 6
    001a96abor rax, 1
    001a96afcmp rax, 5
    001a96b3jne 0x1a96c4
    001a96b5add rdi, 2
    001a96b9mov rax, rcx
    001a96bcjmp 0x1a9600
    001a96c1nop [rax]
    001a96c4
    001a96c4loc_1a96c4:
    001a96c4mov eax, 1
    001a96c9ret
    001a96canop
    001a96ccmov rdi, rsi
    001a96cfadd rdi, 6
    001a96d3cmp rdi, rcx
    001a96d6jg 0x1a9748
    001a96d8mov rax, rsi
    001a96dbadd rax, 2
    001a96dfsar rax, 1
    001a96e2movzx rax, [rbx+rax]
    001a96e7lea rax, [rax+rax+1]
    001a96eccmp rax, 289
    001a96f2jl 0x1a9748
    001a96f4cmp rax, 383
    001a96fajg 0x1a9748
    001a96fcadd rsi, 4
    001a9700sar rsi, 1
    001a9703movzx rax, [rbx+rsi]
    001a9708lea rax, [rax+rax+1]
    001a970dshr rax, 6
    001a9711or rax, 1
    001a9715cmp rax, 5
    001a9719jne 0x1a9748
    001a971bmov rax, rdi
    001a971esar rax, 1
    001a9721movzx rax, [rbx+rax]
    001a9726lea rax, [rax+rax+1]
    001a972bshr rax, 6
    001a972for rax, 1
    001a9733cmp rax, 5
    001a9737jne 0x1a9748
    001a9739add rdi, 2
    001a973dmov rax, rcx
    001a9740jmp 0x1a9600
    001a9745nop [rax]
    001a9748
    001a9748loc_1a9748:
    001a9748mov eax, 1
    001a974dret
    001a974enop
    001a9750mov rdi, rsi
    001a9753add rdi, 6
    001a9757cmp rdi, rcx
    001a975ajg 0x1a97c8
    001a975cmov rax, rsi
    001a975fadd rax, 2
    001a9763sar rax, 1
    001a9766movzx rax, [rbx+rax]
    001a976blea rax, [rax+rax+1]
    001a9770shr rax, 4
    001a9774or rax, 1
    001a9778cmp rax, 17
    001a977cjne 0x1a97c8
    001a977eadd rsi, 4
    001a9782sar rsi, 1
    001a9785movzx rax, [rbx+rsi]
    001a978alea rax, [rax+rax+1]
    001a978fshr rax, 6
    001a9793or rax, 1
    001a9797cmp rax, 5
    001a979bjne 0x1a97c8
    001a979dmov rax, rdi
    001a97a0sar rax, 1
    001a97a3movzx rax, [rbx+rax]
    001a97a8lea rax, [rax+rax+1]
    001a97adshr rax, 6
    001a97b1or rax, 1
    001a97b5cmp rax, 5
    001a97b9jne 0x1a97c8
    001a97bbadd rdi, 2
    001a97bfmov rax, rcx
    001a97c2jmp 0x1a9600
    001a97c7nop
    001a97c8
    001a97c8loc_1a97c8:
    001a97c8mov eax, 1
    001a97cdret
    001a97cenop
    001a97d0
    001a97d0loc_1a97d0:
    001a97d0cmp rax, 451
    001a97d6jge 0x1a98a4
    001a97dcmov rdi, rsi
    001a97dfadd rdi, 4
    001a97e3cmp rdi, rcx
    001a97e6jg 0x1a9834
    001a97e8add rsi, 2
    001a97ecsar rsi, 1
    001a97efmovzx rax, [rbx+rsi]
    001a97f4lea rax, [rax+rax+1]
    001a97f9shr rax, 5
    001a97fdor rax, 1
    001a9801cmp rax, 11
    001a9805jne 0x1a9834
    001a9807mov rax, rdi
    001a980asar rax, 1
    001a980dmovzx rax, [rbx+rax]
    001a9812lea rax, [rax+rax+1]
    001a9817shr rax, 6
    001a981bor rax, 1
    001a981fcmp rax, 5
    001a9823jne 0x1a9834
    001a9825add rdi, 2
    001a9829mov rax, rcx
    001a982cjmp 0x1a9600
    001a9831nop [rax]
    001a9834
    001a9834loc_1a9834:
    001a9834mov eax, 1
    001a9839ret
    001a983anop
    001a983c
    001a983cloc_1a983c:
    001a983ccmp rax, 257
    001a9842jl 0x1a988c
    001a9844cmp rax, 389
    001a984ajl 0x1a989c
    001a984cmov rdi, rsi
    001a984fadd rdi, 2
    001a9853cmp rdi, rcx
    001a9856jg 0x1a9884
    001a9858mov rax, rdi
    001a985bsar rax, 1
    001a985emovzx rax, [rbx+rax]
    001a9863lea rax, [rax+rax+1]
    001a9868shr rax, 6
    001a986cor rax, 1
    001a9870cmp rax, 5
    001a9874jne 0x1a9884
    001a9876add rdi, 2
    001a987amov rax, rcx
    001a987djmp 0x1a9600
    001a9882nop
    001a9884
    001a9884loc_1a9884:
    001a9884mov eax, 1
    001a9889ret
    001a988anop
    001a988c
    001a988cloc_1a988c:
    001a988cmov rdi, rsi
    001a988fadd rdi, 2
    001a9893mov rax, rcx
    001a9896jmp 0x1a9600
    001a989bnop
    001a989c
    001a989cloc_1a989c:
    001a989cmov eax, 1
    001a98a1ret
    001a98a2nop
    001a98a4
    001a98a4loc_1a98a4:
    001a98a4mov rdi, rsi
    001a98a7add rdi, 4
    001a98abcmp rdi, rcx
    001a98aejg 0x1a98fc
    001a98b0add rsi, 2
    001a98b4sar rsi, 1
    001a98b7movzx rax, [rbx+rsi]
    001a98bclea rax, [rax+rax+1]
    001a98c1shr rax, 6
    001a98c5or rax, 1
    001a98c9cmp rax, 5
    001a98cdjne 0x1a98fc
    001a98cfmov rax, rdi
    001a98d2sar rax, 1
    001a98d5movzx rax, [rbx+rax]
    001a98dalea rax, [rax+rax+1]
    001a98dfshr rax, 6
    001a98e3or rax, 1
    001a98e7cmp rax, 5
    001a98ebjne 0x1a98fc
    001a98edadd rdi, 2
    001a98f1mov rax, rcx
    001a98f4jmp 0x1a9600
    001a98f9nop [rax]
    001a98fc
    001a98fcloc_1a98fc:
    001a98fcmov eax, 1
    001a9901ret
    001a9902nop
    001a9904mov rdi, rsi
    001a9907add rdi, 6
    001a990bcmp rdi, rcx
    001a990ejg 0x1a997c
    001a9910mov rax, rsi
    001a9913add rax, 2
    001a9917sar rax, 1
    001a991amovzx rax, [rbx+rax]
    001a991flea rax, [rax+rax+1]
    001a9924shr rax, 6
    001a9928or rax, 1
    001a992ccmp rax, 5
    001a9930jne 0x1a997c
    001a9932add rsi, 4
    001a9936sar rsi, 1
    001a9939movzx rax, [rbx+rsi]
    001a993elea rax, [rax+rax+1]
    001a9943shr rax, 6
    001a9947or rax, 1
    001a994bcmp rax, 5
    001a994fjne 0x1a997c
    001a9951mov rax, rdi
    001a9954sar rax, 1
    001a9957movzx rax, [rbx+rax]
    001a995clea rax, [rax+rax+1]
    001a9961shr rax, 6
    001a9965or rax, 1
    001a9969cmp rax, 5
    001a996djne 0x1a997c
    001a996fadd rdi, 2
    001a9973mov rax, rcx
    001a9976jmp 0x1a9600
    001a997bnop
    001a997c
    001a997cloc_1a997c:
    001a997cmov eax, 1
    001a9981ret
    001a9982
    001a9982loc_1a9982:
    001a9982call caml_call_gc
    001a9987jmp 0x1a960f
    001a9600
    001a998c
    001a998c // align 0x10
    001a9990
    001a9990Stdlib.Bytes.get:
    001a9990sar rbx, 1
    001a9993movzx rax, [rax+rbx]
    001a9998lea rax, [rax+rax+1]
    001a999dret
    001a9990
    001a999e
    001a999e // align 0x10
    001a99a0
    001a99a0Stdlib.Bytes.get_utf_16be_uchar:
    001a99a0mov rdi, rax
    001a99a3mov rax, [rdi-8]
    001a99a7shr rax, 10
    001a99ablea rax, [8*rax-1]
    001a99b3movzx rsi, [rdi+rax]
    001a99b8sub rax, rsi
    001a99bblea rsi, [rax+rax-1]
    001a99c0cmp rbx, 1
    001a99c4jl 0x1a9ab0
    001a99cacmp rbx, rsi
    001a99cdjg 0x1a9ab0
    001a99d3cmp rbx, rsi
    001a99d6jne 0x1a99e0
    001a99d8mov eax, 0x201fffb
    001a99ddret
    001a99de
    001a99de 66 90 f.
    001a99e0
    001a99e0loc_1a99e0:
    001a99e0mov rax, rbx
    001a99e3sar rax, 1
    001a99e6movzx rax, [rdi+rax]
    001a99ebxchg al, ah
    001a99edmovzx rax, ax
    001a99f1lea rdx, [rax+rax+1]
    001a99f6cmp rdx, 0x1b001
    001a99fdjl 0x1a9aa4
    001a9a03cmp rdx, 0x1bfff
    001a9a0ajg 0x1a9aa4
    001a9a10cmp rdx, 0x1b7ff
    001a9a17jle 0x1a9a20
    001a9a19mov eax, 0x401fffb
    001a9a1eret
    001a9a1f
    001a9a1f 90 .
    001a9a20
    001a9a20loc_1a9a20:
    001a9a20mov rax, rbx
    001a9a23add rax, 6
    001a9a27cmp rax, rsi
    001a9a2ajle 0x1a9a48
    001a9a2cmov rax, rsi
    001a9a2fsub rax, rbx
    001a9a32add rax, 3
    001a9a36shl rax, 24
    001a9a3aadd rax, 0xffffffffff000001
    001a9a40or rax, 0x1fffb
    001a9a46ret
    001a9a47
    001a9a47 90 .
    001a9a48
    001a9a48loc_1a9a48:
    001a9a48add rbx, 4
    001a9a4csar rbx, 1
    001a9a4fmovzx rax, [rdi+rbx]
    001a9a54xchg al, ah
    001a9a56movzx rax, ax
    001a9a5alea rax, [rax+rax+1]
    001a9a5fcmp rax, 0x1b801
    001a9a65jl 0x1a9a9c
    001a9a67cmp rax, 0x1bfff
    001a9a6djg 0x1a9a9c
    001a9a6fmov rbx, rax
    001a9a72and rbx, 2047
    001a9a79mov rax, rdx
    001a9a7cand rax, 2047
    001a9a82shl rax, 10
    001a9a86add rax, -1023
    001a9a8cor rax, rbx
    001a9a8fadd rax, 0x20000
    001a9a95or rax, 0x18000001
    001a9a9bret
    001a9a9c
    001a9a9cloc_1a9a9c:
    001a9a9cmov eax, 0x401fffb
    001a9aa1ret
    001a9aa2
    001a9aa2 66 90 f.
    001a9aa4
    001a9aa4loc_1a9aa4:
    001a9aa4mov rax, rdx
    001a9aa7or rax, 0x14000001
    001a9aadret
    001a9aae
    001a9aae 66 90 f.
    001a9ab0
    001a9ab0loc_1a9ab0:
    001a9ab0lea rax, [rip+0x1907c1]
    001a9ab7jmp 0x195ab0
    001a99a0
    001a9abc
    001a9abc // align 0x10
    001a9ac0
    001a9ac0Stdlib.Bytes.set_utf_16be_uchar:
    001a9ac0mov rsi, rax
    001a9ac3mov rax, [rsi-8]
    001a9ac7shr rax, 10
    001a9acblea rax, [8*rax-1]
    001a9ad3movzx rdx, [rsi+rax]
    001a9ad8sub rax, rdx
    001a9adblea rdx, [rax+rax-1]
    001a9ae0cmp rbx, 1
    001a9ae4jl 0x1a9c08
    001a9aeacmp rbx, rdx
    001a9aedjg 0x1a9c08
    001a9af3cmp rdi, 1
    001a9af7jge 0x1a9b2c
    001a9af9sub r15, 24
    001a9afdcmp r15, [r14]
    001a9b00jb 0x1a9c1b
    001a9b06
    001a9b06loc_1a9b06:
    001a9b06lea rax, [r15+8]
    001a9b0amov [rax-8], 2048
    001a9b12lea rbx, [rip+0xcc6ef]
    001a9b19mov [rax], rbx
    001a9b1clea rbx, [rip+0x190735]
    001a9b23mov [rax+8], rbx
    001a9b27call caml_raise_exn
    001a9b2c
    001a9b2cloc_1a9b2c:
    001a9b2ccmp rdi, 0x1ffff
    001a9b33jg 0x1a9b64
    001a9b35mov rax, rbx
    001a9b38add rax, 2
    001a9b3ccmp rax, rdx
    001a9b3fjle 0x1a9b48
    001a9b41mov eax, 1
    001a9b46ret
    001a9b47
    001a9b47 90 .
    001a9b48
    001a9b48loc_1a9b48:
    001a9b48mov rax, rdi
    001a9b4bsar rax, 1
    001a9b4exchg al, ah
    001a9b50movzx rax, ax
    001a9b54sar rbx, 1
    001a9b57mov [rsi+rbx], ax
    001a9b5bmov eax, 5
    001a9b60ret
    001a9b61
    001a9b61 0f 1f 00 ...
    001a9b64
    001a9b64loc_1a9b64:
    001a9b64cmp rdi, 0x21ffff
    001a9b6bjg 0x1a9bd8
    001a9b6dmov rax, rbx
    001a9b70add rax, 6
    001a9b74cmp rax, rdx
    001a9b77jle 0x1a9b80
    001a9b79mov eax, 1
    001a9b7eret
    001a9b7f
    001a9b7f 90 .
    001a9b80
    001a9b80loc_1a9b80:
    001a9b80add rdi, 0xfffffffffffe0000
    001a9b87mov rax, rdi
    001a9b8ashr rax, 10
    001a9b8eor rax, 1
    001a9b92or rax, 0x1b001
    001a9b98and rdi, 2047
    001a9b9for rdi, 0x1b801
    001a9ba6sar rax, 1
    001a9ba9xchg al, ah
    001a9babmovzx rax, ax
    001a9bafmov rdx, rbx
    001a9bb2sar rdx, 1
    001a9bb5mov [rsi+rdx], ax
    001a9bb9add rbx, 4
    001a9bbdmov rax, rdi
    001a9bc0sar rax, 1
    001a9bc3xchg al, ah
    001a9bc5movzx rax, ax
    001a9bc9sar rbx, 1
    001a9bccmov [rsi+rbx], ax
    001a9bd0mov eax, 9
    001a9bd5ret
    001a9bd6
    001a9bd6 66 90 f.
    001a9bd8
    001a9bd8loc_1a9bd8:
    001a9bd8sub r15, 24
    001a9bdccmp r15, [r14]
    001a9bdfjb 0x1a9c14
    001a9be1
    001a9be1loc_1a9be1:
    001a9be1lea rax, [r15+8]
    001a9be5mov [rax-8], 2048
    001a9bedlea rbx, [rip+0xcc614]
    001a9bf4mov [rax], rbx
    001a9bf7lea rbx, [rip+0x190622]
    001a9bfemov [rax+8], rbx
    001a9c02call caml_raise_exn
    001a9c07nop
    001a9c08
    001a9c08loc_1a9c08:
    001a9c08lea rax, [rip+0x190669]
    001a9c0fjmp 0x195ab0
    001a9c14
    001a9c14loc_1a9c14:
    001a9c14call caml_call_gc
    001a9c19jmp 0x1a9be1
    001a9c1b
    001a9c1bloc_1a9c1b:
    001a9c1bcall caml_call_gc
    001a9c20jmp 0x1a9b06
    001a9ac0
    001a9c25
    001a9c25 // align 0x10
    001a9c30
    001a9c30Stdlib.Bytes.is_valid_utf_16be:
    001a9c30mov rbx, rax
    001a9c33cmp r15, [r14]
    001a9c36jbe 0x1a9c5f
    001a9c38
    001a9c38loc_1a9c38:
    001a9c38mov edi, 1
    001a9c3dmov rax, [rbx-8]
    001a9c41shr rax, 10
    001a9c45lea rax, [8*rax-1]
    001a9c4dmovzx rsi, [rbx+rax]
    001a9c52sub rax, rsi
    001a9c55lea rax, [rax+rax-1]
    001a9c5ajmp 0x1a9c70
    001a9c5f
    001a9c5floc_1a9c5f:
    001a9c5fcall caml_call_gc
    001a9c64jmp 0x1a9c38
    001a9c30
    001a9c66
    001a9c66 // align 0x10
    001a9c70
    001a9c70Stdlib.Bytes.loop:
    001a9c70mov rsi, rax
    001a9c73cmp r15, [r14]
    001a9c76jbe 0x1a9d28
    001a9c7c
    001a9c7cloc_1a9c7c:
    001a9c7ccmp rdi, rsi
    001a9c7fjle 0x1a9c88
    001a9c81mov eax, 3
    001a9c86ret
    001a9c87
    001a9c87 90 .
    001a9c88
    001a9c88loc_1a9c88:
    001a9c88cmp rdi, rsi
    001a9c8bjne 0x1a9c94
    001a9c8dmov eax, 1
    001a9c92ret
    001a9c93
    001a9c93 90 .
    001a9c94
    001a9c94loc_1a9c94:
    001a9c94mov rax, rdi
    001a9c97sar rax, 1
    001a9c9amovzx rax, [rbx+rax]
    001a9c9fxchg al, ah
    001a9ca1movzx rax, ax
    001a9ca5lea rax, [rax+rax+1]
    001a9caacmp rax, 0x1b001
    001a9cb0jl 0x1a9d1c
    001a9cb2cmp rax, 0x1bfff
    001a9cb8jg 0x1a9d1c
    001a9cbacmp rax, 0x1b7ff
    001a9cc0jle 0x1a9cc8
    001a9cc2mov eax, 1
    001a9cc7ret
    001a9cc8
    001a9cc8loc_1a9cc8:
    001a9cc8mov rax, rdi
    001a9ccbadd rax, 6
    001a9ccfcmp rax, rsi
    001a9cd2jle 0x1a9cdc
    001a9cd4mov eax, 1
    001a9cd9ret
    001a9cda
    001a9cda 66 90 f.
    001a9cdc
    001a9cdcloc_1a9cdc:
    001a9cdcmov rax, rdi
    001a9cdfadd rax, 4
    001a9ce3sar rax, 1
    001a9ce6movzx rax, [rbx+rax]
    001a9cebxchg al, ah
    001a9cedmovzx rax, ax
    001a9cf1lea rax, [rax+rax+1]
    001a9cf6cmp rax, 0x1b801
    001a9cfcjl 0x1a9d14
    001a9cfecmp rax, 0x1bfff
    001a9d04jg 0x1a9d14
    001a9d06add rdi, 8
    001a9d0amov rax, rsi
    001a9d0djmp 0x1a9c70
    001a9d12
    001a9d12 66 90 f.
    001a9d14
    001a9d14loc_1a9d14:
    001a9d14mov eax, 1
    001a9d19ret
    001a9d1a
    001a9d1a 66 90 f.
    001a9d1c
    001a9d1cloc_1a9d1c:
    001a9d1cadd rdi, 4
    001a9d20mov rax, rsi
    001a9d23jmp 0x1a9c70
    001a9d28
    001a9d28loc_1a9d28:
    001a9d28call caml_call_gc
    001a9d2djmp 0x1a9c7c
    001a9c70
    001a9d32
    001a9d32 // align 0x10
    001a9d40
    001a9d40Stdlib.Bytes.get_utf_16le_uchar:
    001a9d40mov rdi, rax
    001a9d43mov rax, [rdi-8]
    001a9d47shr rax, 10
    001a9d4blea rax, [8*rax-1]
    001a9d53movzx rsi, [rdi+rax]
    001a9d58sub rax, rsi
    001a9d5blea rax, [rax+rax-1]
    001a9d60cmp rbx, 1
    001a9d64jl 0x1a9e44
    001a9d6acmp rbx, rax
    001a9d6djg 0x1a9e44
    001a9d73cmp rbx, rax
    001a9d76jne 0x1a9d80
    001a9d78mov eax, 0x201fffb
    001a9d7dret
    001a9d7e
    001a9d7e 66 90 f.
    001a9d80
    001a9d80loc_1a9d80:
    001a9d80mov rsi, rbx
    001a9d83sar rsi, 1
    001a9d86movzx rsi, [rdi+rsi]
    001a9d8blea rsi, [rsi+rsi+1]
    001a9d90cmp rsi, 0x1b001
    001a9d97jl 0x1a9e38
    001a9d9dcmp rsi, 0x1bfff
    001a9da4jg 0x1a9e38
    001a9daacmp rsi, 0x1b7ff
    001a9db1jle 0x1a9dbc
    001a9db3mov eax, 0x401fffb
    001a9db8ret
    001a9db9
    001a9db9 0f 1f 00 ...
    001a9dbc
    001a9dbcloc_1a9dbc:
    001a9dbcmov rdx, rbx
    001a9dbfadd rdx, 6
    001a9dc3cmp rdx, rax
    001a9dc6jle 0x1a9de0
    001a9dc8sub rax, rbx
    001a9dcbadd rax, 3
    001a9dcfshl rax, 24
    001a9dd3add rax, 0xffffffffff000001
    001a9dd9or rax, 0x1fffb
    001a9ddfret
    001a9de0
    001a9de0loc_1a9de0:
    001a9de0add rbx, 4
    001a9de4sar rbx, 1
    001a9de7movzx rax, [rdi+rbx]
    001a9declea rax, [rax+rax+1]
    001a9df1cmp rax, 0x1b801
    001a9df7jl 0x1a9e30
    001a9df9cmp rax, 0x1bfff
    001a9dffjg 0x1a9e30
    001a9e01mov rbx, rax
    001a9e04and rbx, 2047
    001a9e0bmov rax, rsi
    001a9e0eand rax, 2047
    001a9e14shl rax, 10
    001a9e18add rax, -1023
    001a9e1eor rax, rbx
    001a9e21add rax, 0x20000
    001a9e27or rax, 0x18000001
    001a9e2dret
    001a9e2e
    001a9e2e 66 90 f.
    001a9e30
    001a9e30loc_1a9e30:
    001a9e30mov eax, 0x401fffb
    001a9e35ret
    001a9e36
    001a9e36 66 90 f.
    001a9e38
    001a9e38loc_1a9e38:
    001a9e38mov rax, rsi
    001a9e3bor rax, 0x14000001
    001a9e41ret
    001a9e42
    001a9e42 66 90 f.
    001a9e44
    001a9e44loc_1a9e44:
    001a9e44lea rax, [rip+0x19042d]
    001a9e4bjmp 0x195ab0
    001a9d40
    001a9e50
    001a9e50Stdlib.Bytes.set_utf_16le_uchar:
    001a9e50mov rsi, [rax-8]
    001a9e54shr rsi, 10
    001a9e58lea rsi, [8*rsi-1]
    001a9e60movzx rdx, [rax+rsi]
    001a9e65sub rsi, rdx
    001a9e68lea rsi, [rsi+rsi-1]
    001a9e6dcmp rbx, 1
    001a9e71jl 0x1a9f7c
    001a9e77cmp rbx, rsi
    001a9e7ajg 0x1a9f7c
    001a9e80cmp rdi, 1
    001a9e84jge 0x1a9ebc
    001a9e86sub r15, 24
    001a9e8acmp r15, [r14]
    001a9e8djb 0x1a9f8f
    001a9e93
    001a9e93loc_1a9e93:
    001a9e93lea rax, [r15+8]
    001a9e97mov [rax-8], 2048
    001a9e9flea rbx, [rip+0xcc362]
    001a9ea6mov [rax], rbx
    001a9ea9lea rbx, [rip+0x190350]
    001a9eb0mov [rax+8], rbx
    001a9eb4call caml_raise_exn
    001a9eb9nop [rax]
    001a9ebc
    001a9ebcloc_1a9ebc:
    001a9ebccmp rdi, 0x1ffff
    001a9ec3jg 0x1a9ee8
    001a9ec5mov rdx, rbx
    001a9ec8add rdx, 2
    001a9ecccmp rdx, rsi
    001a9ecfjle 0x1a9ed8
    001a9ed1mov eax, 1
    001a9ed6ret
    001a9ed7
    001a9ed7 90 .
    001a9ed8
    001a9ed8loc_1a9ed8:
    001a9ed8sar rdi, 1
    001a9edbsar rbx, 1
    001a9edemov [rax+rbx], di
    001a9ee2mov eax, 5
    001a9ee7ret
    001a9ee8
    001a9ee8loc_1a9ee8:
    001a9ee8cmp rdi, 0x21ffff
    001a9eefjg 0x1a9f4c
    001a9ef1mov rdx, rbx
    001a9ef4add rdx, 6
    001a9ef8cmp rdx, rsi
    001a9efbjle 0x1a9f04
    001a9efdmov eax, 1
    001a9f02ret
    001a9f03
    001a9f03 90 .
    001a9f04
    001a9f04loc_1a9f04:
    001a9f04add rdi, 0xfffffffffffe0000
    001a9f0bmov rsi, rdi
    001a9f0eshr rsi, 10
    001a9f12or rsi, 1
    001a9f16or rsi, 0x1b001
    001a9f1dand rdi, 2047
    001a9f24or rdi, 0x1b801
    001a9f2bsar rsi, 1
    001a9f2emov rdx, rbx
    001a9f31sar rdx, 1
    001a9f34mov [rax+rdx], si
    001a9f38add rbx, 4
    001a9f3csar rdi, 1
    001a9f3fsar rbx, 1
    001a9f42mov [rax+rbx], di
    001a9f46mov eax, 9
    001a9f4bret
    001a9f4c
    001a9f4cloc_1a9f4c:
    001a9f4csub r15, 24
    001a9f50cmp r15, [r14]
    001a9f53jb 0x1a9f88
    001a9f55
    001a9f55loc_1a9f55:
    001a9f55lea rax, [r15+8]
    001a9f59mov [rax-8], 2048
    001a9f61lea rbx, [rip+0xcc2a0]
    001a9f68mov [rax], rbx
    001a9f6blea rbx, [rip+0x19026e]
    001a9f72mov [rax+8], rbx
    001a9f76call caml_raise_exn
    001a9f7bnop
    001a9f7c
    001a9f7cloc_1a9f7c:
    001a9f7clea rax, [rip+0x1902f5]
    001a9f83jmp 0x195ab0
    001a9f88
    001a9f88loc_1a9f88:
    001a9f88call caml_call_gc
    001a9f8djmp 0x1a9f55
    001a9f8f
    001a9f8floc_1a9f8f:
    001a9f8fcall caml_call_gc
    001a9f94jmp 0x1a9e93
    001a9e50
    001a9f99
    001a9f99 // align 0x10
    001a9fa0
    001a9fa0Stdlib.Bytes.is_valid_utf_16le:
    001a9fa0mov rbx, rax
    001a9fa3cmp r15, [r14]
    001a9fa6jbe 0x1a9fcf
    001a9fa8
    001a9fa8loc_1a9fa8:
    001a9fa8mov edi, 1
    001a9fadmov rax, [rbx-8]
    001a9fb1shr rax, 10
    001a9fb5lea rax, [8*rax-1]
    001a9fbdmovzx rsi, [rbx+rax]
    001a9fc2sub rax, rsi
    001a9fc5lea rax, [rax+rax-1]
    001a9fcajmp 0x1a9fe0
    001a9fcf
    001a9fcfloc_1a9fcf:
    001a9fcfcall caml_call_gc
    001a9fd4jmp 0x1a9fa8
    001a9fa0
    001a9fd6
    001a9fd6 // align 0x10
    001a9fe0
    001a9fe0Stdlib.Bytes.loop:
    001a9fe0cmp r15, [r14]
    001a9fe3jbe 0x1aa089
    001a9fe9
    001a9fe9loc_1a9fe9:
    001a9fe9cmp rdi, rax
    001a9fecjle 0x1a9ff4
    001a9feemov eax, 3
    001a9ff3ret
    001a9ff4
    001a9ff4loc_1a9ff4:
    001a9ff4cmp rdi, rax
    001a9ff7jne 0x1aa000
    001a9ff9mov eax, 1
    001a9fferet
    001a9fff
    001a9fff 90 .
    001aa000
    001aa000loc_1aa000:
    001aa000mov rsi, rdi
    001aa003sar rsi, 1
    001aa006movzx rsi, [rbx+rsi]
    001aa00blea rsi, [rsi+rsi+1]
    001aa010cmp rsi, 0x1b001
    001aa017jl 0x1aa080
    001aa019cmp rsi, 0x1bfff
    001aa020jg 0x1aa080
    001aa022cmp rsi, 0x1b7ff
    001aa029jle 0x1aa034
    001aa02bmov eax, 1
    001aa030ret
    001aa031
    001aa031 0f 1f 00 ...
    001aa034
    001aa034loc_1aa034:
    001aa034mov rsi, rdi
    001aa037add rsi, 6
    001aa03bcmp rsi, rax
    001aa03ejle 0x1aa048
    001aa040mov eax, 1
    001aa045ret
    001aa046
    001aa046 66 90 f.
    001aa048
    001aa048loc_1aa048:
    001aa048mov rsi, rdi
    001aa04badd rsi, 4
    001aa04fsar rsi, 1
    001aa052movzx rsi, [rbx+rsi]
    001aa057lea rsi, [rsi+rsi+1]
    001aa05ccmp rsi, 0x1b801
    001aa063jl 0x1aa078
    001aa065cmp rsi, 0x1bfff
    001aa06cjg 0x1aa078
    001aa06eadd rdi, 8
    001aa072jmp 0x1a9fe0
    001aa077
    001aa077 90 .
    001aa078
    001aa078loc_1aa078:
    001aa078mov eax, 1
    001aa07dret
    001aa07e
    001aa07e 66 90 f.
    001aa080
    001aa080loc_1aa080:
    001aa080add rdi, 4
    001aa084jmp 0x1a9fe0
    001aa089
    001aa089loc_1aa089:
    001aa089call caml_call_gc
    001aa08ejmp 0x1a9fe9
    001a9fe0
    001aa093
    001aa093 // align 0x10
    001aa0a0
    001aa0a0Stdlib.Bytes.entry:
    001aa0a0lea rsi, [rip+0x18f8f9]
    001aa0a7lea rdi, [rip+0x18fc8a]
    001aa0aeadd rdi, 664
    001aa0b5mov rbx, rsp
    001aa0b8mov rsp, [r14+64]
    001aa0bccall caml_initialize
    001aa0c1mov rsp, rbx
    001aa0c4lea rsi, [rip+0x18f8f5]
    001aa0cblea rdi, [rip+0x18fc66]
    001aa0d2add rdi, 640
    001aa0d9mov rbx, rsp
    001aa0dcmov rsp, [r14+64]
    001aa0e0call caml_initialize
    001aa0e5mov rsp, rbx
    001aa0e8lea rsi, [rip+0x18f8f1]
    001aa0eflea rdi, [rip+0x18fc42]
    001aa0f6add rdi, 616
    001aa0fdmov rbx, rsp
    001aa100mov rsp, [r14+64]
    001aa104call caml_initialize
    001aa109mov rsp, rbx
    001aa10clea rsi, [rip+0x18f8ed]
    001aa113lea rdi, [rip+0x18fc1e]
    001aa11aadd rdi, 584
    001aa121mov rbx, rsp
    001aa124mov rsp, [r14+64]
    001aa128call caml_initialize
    001aa12dmov rsp, rbx
    001aa130lea rsi, [rip+0x18f8e9]
    001aa137lea rdi, [rip+0x18fbfa]
    001aa13eadd rdi, 552
    001aa145mov rbx, rsp
    001aa148mov rsp, [r14+64]
    001aa14ccall caml_initialize
    001aa151mov rsp, rbx
    001aa154lea rsi, [rip+0x18f8e5]
    001aa15blea rdi, [rip+0x18fbd6]
    001aa162add rdi, 528
    001aa169mov rbx, rsp
    001aa16cmov rsp, [r14+64]
    001aa170call caml_initialize
    001aa175mov rsp, rbx
    001aa178lea rsi, [rip+0x18f8e1]
    001aa17flea rdi, [rip+0x18fbb2]
    001aa186add rdi, 480
    001aa18dmov rbx, rsp
    001aa190mov rsp, [r14+64]
    001aa194call caml_initialize
    001aa199mov rsp, rbx
    001aa19clea rsi, [rip+0x18f8dd]
    001aa1a3lea rdi, [rip+0x18fb8e]
    001aa1aaadd rdi, 464
    001aa1b1mov rbx, rsp
    001aa1b4mov rsp, [r14+64]
    001aa1b8call caml_initialize
    001aa1bdmov rsp, rbx
    001aa1c0lea rsi, [rip+0x18f8d9]
    001aa1c7lea rdi, [rip+0x18fb6a]
    001aa1ceadd rdi, 352
    001aa1d5mov rbx, rsp
    001aa1d8mov rsp, [r14+64]
    001aa1dccall caml_initialize
    001aa1e1mov rsp, rbx
    001aa1e4lea rsi, [rip+0x18f8cd]
    001aa1eblea rdi, [rip+0x18fb46]
    001aa1f2add rdi, 344
    001aa1f9mov rbx, rsp
    001aa1fcmov rsp, [r14+64]
    001aa200call caml_initialize
    001aa205mov rsp, rbx
    001aa208lea rsi, [rip+0x18f8c1]
    001aa20flea rdi, [rip+0x18fb22]
    001aa216add rdi, 320
    001aa21dmov rbx, rsp
    001aa220mov rsp, [r14+64]
    001aa224call caml_initialize
    001aa229mov rsp, rbx
    001aa22clea rsi, [rip+0x18f8bd]
    001aa233lea rdi, [rip+0x18fafe]
    001aa23amov rbx, rsp
    001aa23dmov rsp, [r14+64]
    001aa241call caml_initialize
    001aa246mov rsp, rbx
    001aa249lea rsi, [rip+0x18f8c0]
    001aa250lea rdi, [rip+0x18fae1]
    001aa257add rdi, 8
    001aa25bmov rbx, rsp
    001aa25emov rsp, [r14+64]
    001aa262call caml_initialize
    001aa267mov rsp, rbx
    001aa26amov edi, 1
    001aa26flea rax, [rip+0x76dba]
    001aa276call caml_c_call
    001aa27blea rdi, [rip+0x18fab6]
    001aa282add rdi, 16
    001aa286mov rsi, rax
    001aa289mov rbx, rsp
    001aa28cmov rsp, [r14+64]
    001aa290call caml_initialize
    001aa295mov rsp, rbx
    001aa298lea rsi, [rip+0x18f891]
    001aa29flea rdi, [rip+0x18fa92]
    001aa2a6add rdi, 24
    001aa2aamov rbx, rsp
    001aa2admov rsp, [r14+64]
    001aa2b1call caml_initialize
    001aa2b6mov rsp, rbx
    001aa2b9lea rsi, [rip+0x18f888]
    001aa2c0lea rdi, [rip+0x18fa71]
    001aa2c7add rdi, 40
    001aa2cbmov rbx, rsp
    001aa2cemov rsp, [r14+64]
    001aa2d2call caml_initialize
    001aa2d7mov rsp, rbx
    001aa2dalea rsi, [rip+0x18f87f]
    001aa2e1lea rdi, [rip+0x18fa50]
    001aa2e8add rdi, 32
    001aa2ecmov rbx, rsp
    001aa2efmov rsp, [r14+64]
    001aa2f3call caml_initialize
    001aa2f8mov rsp, rbx
    001aa2fblea rsi, [rip+0x18f876]
    001aa302lea rdi, [rip+0x18fa2f]
    001aa309add rdi, 48
    001aa30dmov rbx, rsp
    001aa310mov rsp, [r14+64]
    001aa314call caml_initialize
    001aa319mov rsp, rbx
    001aa31clea rsi, [rip+0x18f875]
    001aa323lea rdi, [rip+0x18fa0e]
    001aa32aadd rdi, 56
    001aa32emov rbx, rsp
    001aa331mov rsp, [r14+64]
    001aa335call caml_initialize
    001aa33amov rsp, rbx
    001aa33dlea rsi, [rip+0x18f874]
    001aa344lea rdi, [rip+0x18f9ed]
    001aa34badd rdi, 696
    001aa352mov rbx, rsp
    001aa355mov rsp, [r14+64]
    001aa359call caml_initialize
    001aa35emov rsp, rbx
    001aa361lea rsi, [rip+0x18f870]
    001aa368lea rdi, [rip+0x18f9c9]
    001aa36fadd rdi, 64
    001aa373mov rbx, rsp
    001aa376mov rsp, [r14+64]
    001aa37acall caml_initialize
    001aa37fmov rsp, rbx
    001aa382lea rsi, [rip+0x18f86f]
    001aa389lea rdi, [rip+0x18f9a8]
    001aa390add rdi, 72
    001aa394mov rbx, rsp
    001aa397mov rsp, [r14+64]
    001aa39bcall caml_initialize
    001aa3a0mov rsp, rbx
    001aa3a3lea rsi, [rip+0x18f86e]
    001aa3aalea rdi, [rip+0x18f987]
    001aa3b1add rdi, 80
    001aa3b5mov rbx, rsp
    001aa3b8mov rsp, [r14+64]
    001aa3bccall caml_initialize
    001aa3c1mov rsp, rbx
    001aa3c4lea rsi, [rip+0x18f86d]
    001aa3cblea rdi, [rip+0x18f966]
    001aa3d2add rdi, 88
    001aa3d6mov rbx, rsp
    001aa3d9mov rsp, [r14+64]
    001aa3ddcall caml_initialize
    001aa3e2mov rsp, rbx
    001aa3e5lea rsi, [rip+0x18f86c]
    001aa3eclea rdi, [rip+0x18f945]
    001aa3f3add rdi, 112
    001aa3f7mov rbx, rsp
    001aa3famov rsp, [r14+64]
    001aa3fecall caml_initialize
    001aa403mov rsp, rbx
    001aa406lea rsi, [rip+0x18f86b]
    001aa40dlea rdi, [rip+0x18f924]
    001aa414add rdi, 120
    001aa418mov rbx, rsp
    001aa41bmov rsp, [r14+64]
    001aa41fcall caml_initialize
    001aa424mov rsp, rbx
    001aa427lea rsi, [rip+0x18f86a]
    001aa42elea rdi, [rip+0x18f903]
    001aa435add rdi, 704
    001aa43cmov rbx, rsp
    001aa43fmov rsp, [r14+64]
    001aa443call caml_initialize
    001aa448mov rsp, rbx
    001aa44blea rsi, [rip+0x18f866]
    001aa452lea rdi, [rip+0x18f8df]
    001aa459add rdi, 712
    001aa460mov rbx, rsp
    001aa463mov rsp, [r14+64]
    001aa467call caml_initialize
    001aa46cmov rsp, rbx
    001aa46flea rsi, [rip+0x18f862]
    001aa476lea rdi, [rip+0x18f8bb]
    001aa47dadd rdi, 720
    001aa484mov rbx, rsp
    001aa487mov rsp, [r14+64]
    001aa48bcall caml_initialize
    001aa490mov rsp, rbx
    001aa493lea rsi, [rip+0x18f85e]
    001aa49alea rdi, [rip+0x18f897]
    001aa4a1add rdi, 96
    001aa4a5mov rbx, rsp
    001aa4a8mov rsp, [r14+64]
    001aa4accall caml_initialize
    001aa4b1mov rsp, rbx
    001aa4b4lea rsi, [rip+0x18f85d]
    001aa4bblea rdi, [rip+0x18f876]
    001aa4c2add rdi, 104
    001aa4c6mov rbx, rsp
    001aa4c9mov rsp, [r14+64]
    001aa4cdcall caml_initialize
    001aa4d2mov rsp, rbx
    001aa4d5lea rsi, [rip+0x18eafc]
    001aa4dclea rdi, [rip+0x18f855]
    001aa4e3add rdi, 728
    001aa4eamov rbx, rsp
    001aa4edmov rsp, [r14+64]
    001aa4f1call caml_initialize
    001aa4f6mov rsp, rbx
    001aa4f9lea rsi, [rip+0x18eaf0]
    001aa500lea rdi, [rip+0x18f831]
    001aa507add rdi, 176
    001aa50emov rbx, rsp
    001aa511mov rsp, [r14+64]
    001aa515call caml_initialize
    001aa51amov rsp, rbx
    001aa51dlea rsi, [rip+0x18eae4]
    001aa524lea rdi, [rip+0x18f80d]
    001aa52badd rdi, 688
    001aa532mov rbx, rsp
    001aa535mov rsp, [r14+64]
    001aa539call caml_initialize
    001aa53emov rsp, rbx
    001aa541lea rsi, [rip+0x18ead8]
    001aa548lea rdi, [rip+0x18f7e9]
    001aa54fadd rdi, 184
    001aa556mov rbx, rsp
    001aa559mov rsp, [r14+64]
    001aa55dcall caml_initialize
    001aa562mov rsp, rbx
    001aa565lea rsi, [rip+0x18eacc]
    001aa56clea rdi, [rip+0x18f7c5]
    001aa573add rdi, 128
    001aa57amov rbx, rsp
    001aa57dmov rsp, [r14+64]
    001aa581call caml_initialize
    001aa586mov rsp, rbx
    001aa589lea rsi, [rip+0x18eac8]
    001aa590lea rdi, [rip+0x18f7a1]
    001aa597add rdi, 136
    001aa59emov rbx, rsp
    001aa5a1mov rsp, [r14+64]
    001aa5a5call caml_initialize
    001aa5aamov rsp, rbx
    001aa5adlea rsi, [rip+0x18eac4]
    001aa5b4lea rdi, [rip+0x18f77d]
    001aa5bbadd rdi, 144
    001aa5c2mov rbx, rsp
    001aa5c5mov rsp, [r14+64]
    001aa5c9call caml_initialize
    001aa5cemov rsp, rbx
    001aa5d1lea rsi, [rip+0x18eac0]
    001aa5d8lea rdi, [rip+0x18f759]
    001aa5dfadd rdi, 152
    001aa5e6mov rbx, rsp
    001aa5e9mov rsp, [r14+64]
    001aa5edcall caml_initialize
    001aa5f2mov rsp, rbx
    001aa5f5lea rsi, [rip+0x18eabc]
    001aa5fclea rdi, [rip+0x18f735]
    001aa603add rdi, 168
    001aa60amov rbx, rsp
    001aa60dmov rsp, [r14+64]
    001aa611call caml_initialize
    001aa616mov rsp, rbx
    001aa619lea rsi, [rip+0x18eab8]
    001aa620lea rdi, [rip+0x18f711]
    001aa627add rdi, 160
    001aa62emov rbx, rsp
    001aa631mov rsp, [r14+64]
    001aa635call caml_initialize
    001aa63amov rsp, rbx
    001aa63dlea rsi, [rip+0x18eab4]
    001aa644lea rdi, [rip+0x18f6ed]
    001aa64badd rdi, 280
    001aa652mov rbx, rsp
    001aa655mov rsp, [r14+64]
    001aa659call caml_initialize
    001aa65emov rsp, rbx
    001aa661lea rsi, [rip+0x18eaa8]
    001aa668lea rdi, [rip+0x18f6c9]
    001aa66fadd rdi, 288
    001aa676mov rbx, rsp
    001aa679mov rsp, [r14+64]
    001aa67dcall caml_initialize
    001aa682mov rsp, rbx
    001aa685lea rsi, [rip+0x18ea9c]
    001aa68clea rdi, [rip+0x18f6a5]
    001aa693add rdi, 736
    001aa69amov rbx, rsp
    001aa69dmov rsp, [r14+64]
    001aa6a1call caml_initialize
    001aa6a6mov rsp, rbx
    001aa6a9lea rsi, [rip+0x18ea98]
    001aa6b0lea rdi, [rip+0x18f681]
    001aa6b7add rdi, 296
    001aa6bemov rbx, rsp
    001aa6c1mov rsp, [r14+64]
    001aa6c5call caml_initialize
    001aa6camov rsp, rbx
    001aa6cdlea rsi, [rip+0x18ea8c]
    001aa6d4lea rdi, [rip+0x18f65d]
    001aa6dbadd rdi, 304
    001aa6e2mov rbx, rsp
    001aa6e5mov rsp, [r14+64]
    001aa6e9call caml_initialize
    001aa6eemov rsp, rbx
    001aa6f1lea rsi, [rip+0x18ea80]
    001aa6f8lea rdi, [rip+0x18f639]
    001aa6ffadd rdi, 328
    001aa706mov rbx, rsp
    001aa709mov rsp, [r14+64]
    001aa70dcall caml_initialize
    001aa712mov rsp, rbx
    001aa715lea rsi, [rip+0x18ea7c]
    001aa71clea rdi, [rip+0x18f615]
    001aa723add rdi, 336
    001aa72amov rbx, rsp
    001aa72dmov rsp, [r14+64]
    001aa731call caml_initialize
    001aa736mov rsp, rbx
    001aa739lea rsi, [rip+0x18ea78]
    001aa740lea rdi, [rip+0x18f5f1]
    001aa747add rdi, 744
    001aa74emov rbx, rsp
    001aa751mov rsp, [r14+64]
    001aa755call caml_initialize
    001aa75amov rsp, rbx
    001aa75dlea rsi, [rip+0x18ea74]
    001aa764lea rdi, [rip+0x18f5cd]
    001aa76badd rdi, 192
    001aa772mov rbx, rsp
    001aa775mov rsp, [r14+64]
    001aa779call caml_initialize
    001aa77emov rsp, rbx
    001aa781lea rsi, [rip+0x18ea70]
    001aa788lea rdi, [rip+0x18f5a9]
    001aa78fadd rdi, 752
    001aa796mov rbx, rsp
    001aa799mov rsp, [r14+64]
    001aa79dcall caml_initialize
    001aa7a2mov rsp, rbx
    001aa7a5lea rsi, [rip+0x18ea6c]
    001aa7aclea rdi, [rip+0x18f585]
    001aa7b3add rdi, 200
    001aa7bamov rbx, rsp
    001aa7bdmov rsp, [r14+64]
    001aa7c1call caml_initialize
    001aa7c6mov rsp, rbx
    001aa7c9lea rsi, [rip+0x18ea68]
    001aa7d0lea rdi, [rip+0x18f561]
    001aa7d7add rdi, 224
    001aa7demov rbx, rsp
    001aa7e1mov rsp, [r14+64]
    001aa7e5call caml_initialize
    001aa7eamov rsp, rbx
    001aa7edlea rsi, [rip+0x18ea64]
    001aa7f4lea rdi, [rip+0x18f53d]
    001aa7fbadd rdi, 232
    001aa802mov rbx, rsp
    001aa805mov rsp, [r14+64]
    001aa809call caml_initialize
    001aa80emov rsp, rbx
    001aa811lea rsi, [rip+0x18ea60]
    001aa818lea rdi, [rip+0x18f519]
    001aa81fadd rdi, 760
    001aa826mov rbx, rsp
    001aa829mov rsp, [r14+64]
    001aa82dcall caml_initialize
    001aa832mov rsp, rbx
    001aa835lea rsi, [rip+0x18ea5c]
    001aa83clea rdi, [rip+0x18f4f5]
    001aa843add rdi, 208
    001aa84amov rbx, rsp
    001aa84dmov rsp, [r14+64]
    001aa851call caml_initialize
    001aa856mov rsp, rbx
    001aa859lea rsi, [rip+0x18ea58]
    001aa860lea rdi, [rip+0x18f4d1]
    001aa867add rdi, 240
    001aa86emov rbx, rsp
    001aa871mov rsp, [r14+64]
    001aa875call caml_initialize
    001aa87amov rsp, rbx
    001aa87dlea rsi, [rip+0x18ea54]
    001aa884lea rdi, [rip+0x18f4ad]
    001aa88badd rdi, 768
    001aa892mov rbx, rsp
    001aa895mov rsp, [r14+64]
    001aa899call caml_initialize
    001aa89emov rsp, rbx
    001aa8a1lea rsi, [rip+0x18ea50]
    001aa8a8lea rdi, [rip+0x18f489]
    001aa8afadd rdi, 216
    001aa8b6mov rbx, rsp
    001aa8b9mov rsp, [r14+64]
    001aa8bdcall caml_initialize
    001aa8c2mov rsp, rbx
    001aa8c5lea rsi, [rip+0x18ea4c]
    001aa8cclea rdi, [rip+0x18f465]
    001aa8d3add rdi, 248
    001aa8damov rbx, rsp
    001aa8ddmov rsp, [r14+64]
    001aa8e1call caml_initialize
    001aa8e6mov rsp, rbx
    001aa8e9lea rsi, [rip+0x18ea48]
    001aa8f0lea rdi, [rip+0x18f441]
    001aa8f7add rdi, 264
    001aa8femov rbx, rsp
    001aa901mov rsp, [r14+64]
    001aa905call caml_initialize
    001aa90amov rsp, rbx
    001aa90dlea rsi, [rip+0x18ea44]
    001aa914lea rdi, [rip+0x18f41d]
    001aa91badd rdi, 256
    001aa922mov rbx, rsp
    001aa925mov rsp, [r14+64]
    001aa929call caml_initialize
    001aa92emov rsp, rbx
    001aa931lea rsi, [rip+0x18ea40]
    001aa938lea rdi, [rip+0x18f3f9]
    001aa93fadd rdi, 272
    001aa946mov rbx, rsp
    001aa949mov rsp, [r14+64]
    001aa94dcall caml_initialize
    001aa952mov rsp, rbx
    001aa955lea rsi, [rip+0x18ea3c]
    001aa95clea rdi, [rip+0x18f3d5]
    001aa963add rdi, 312
    001aa96amov rbx, rsp
    001aa96dmov rsp, [r14+64]
    001aa971call caml_initialize
    001aa976mov rsp, rbx
    001aa979lea rsi, [rip+0x18ea38]
    001aa980lea rdi, [rip+0x18f3b1]
    001aa987add rdi, 360
    001aa98emov rbx, rsp
    001aa991mov rsp, [r14+64]
    001aa995call caml_initialize
    001aa99amov rsp, rbx
    001aa99dlea rsi, [rip+0x18ea34]
    001aa9a4lea rdi, [rip+0x18f38d]
    001aa9abadd rdi, 368
    001aa9b2mov rbx, rsp
    001aa9b5mov rsp, [r14+64]
    001aa9b9call caml_initialize
    001aa9bemov rsp, rbx
    001aa9c1lea rsi, [rip+0x18ea28]
    001aa9c8lea rdi, [rip+0x18f369]
    001aa9cfadd rdi, 376
    001aa9d6mov rbx, rsp
    001aa9d9mov rsp, [r14+64]
    001aa9ddcall caml_initialize
    001aa9e2mov rsp, rbx
    001aa9e5lea rsi, [rip+0x18ea1c]
    001aa9eclea rdi, [rip+0x18f345]
    001aa9f3add rdi, 384
    001aa9famov rbx, rsp
    001aa9fdmov rsp, [r14+64]
    001aaa01call caml_initialize
    001aaa06mov rsp, rbx
    001aaa09lea rsi, [rip+0x18ea10]
    001aaa10lea rdi, [rip+0x18f321]
    001aaa17add rdi, 776
    001aaa1emov rbx, rsp
    001aaa21mov rsp, [r14+64]
    001aaa25call caml_initialize
    001aaa2amov rsp, rbx
    001aaa2dlea rsi, [rip+0x18ea0c]
    001aaa34lea rdi, [rip+0x18f2fd]
    001aaa3badd rdi, 784
    001aaa42mov rbx, rsp
    001aaa45mov rsp, [r14+64]
    001aaa49call caml_initialize
    001aaa4emov rsp, rbx
    001aaa51lea rsi, [rip+0x18ea08]
    001aaa58lea rdi, [rip+0x18f2d9]
    001aaa5fadd rdi, 472
    001aaa66mov rbx, rsp
    001aaa69mov rsp, [r14+64]
    001aaa6dcall caml_initialize
    001aaa72mov rsp, rbx
    001aaa75lea rsi, [rip+0x18ea04]
    001aaa7clea rdi, [rip+0x18f2b5]
    001aaa83add rdi, 496
    001aaa8amov rbx, rsp
    001aaa8dmov rsp, [r14+64]
    001aaa91call caml_initialize
    001aaa96mov rsp, rbx
    001aaa99lea rsi, [rip+0x18ea00]
    001aaaa0lea rdi, [rip+0x18f291]
    001aaaa7add rdi, 488
    001aaaaemov rbx, rsp
    001aaab1mov rsp, [r14+64]
    001aaab5call caml_initialize
    001aaabamov rsp, rbx
    001aaabdlea rsi, [rip+0x18e9fc]
    001aaac4lea rdi, [rip+0x18f26d]
    001aaacbadd rdi, 504
    001aaad2mov rbx, rsp
    001aaad5mov rsp, [r14+64]
    001aaad9call caml_initialize
    001aaademov rsp, rbx
    001aaae1lea rsi, [rip+0x18e9f8]
    001aaae8lea rdi, [rip+0x18f249]
    001aaaefadd rdi, 520
    001aaaf6mov rbx, rsp
    001aaaf9mov rsp, [r14+64]
    001aaafdcall caml_initialize
    001aab02mov rsp, rbx
    001aab05lea rsi, [rip+0x18e9f4]
    001aab0clea rdi, [rip+0x18f225]
    001aab13add rdi, 512
    001aab1amov rbx, rsp
    001aab1dmov rsp, [r14+64]
    001aab21call caml_initialize
    001aab26mov rsp, rbx
    001aab29lea rsi, [rip+0x18e9f0]
    001aab30lea rdi, [rip+0x18f201]
    001aab37add rdi, 544
    001aab3emov rbx, rsp
    001aab41mov rsp, [r14+64]
    001aab45call caml_initialize
    001aab4amov rsp, rbx
    001aab4dlea rsi, [rip+0x18e9ec]
    001aab54lea rdi, [rip+0x18f1dd]
    001aab5badd rdi, 536
    001aab62mov rbx, rsp
    001aab65mov rsp, [r14+64]
    001aab69call caml_initialize
    001aab6emov rsp, rbx
    001aab71lea rsi, [rip+0x18e9e8]
    001aab78lea rdi, [rip+0x18f1b9]
    001aab7fadd rdi, 568
    001aab86mov rbx, rsp
    001aab89mov rsp, [r14+64]
    001aab8dcall caml_initialize
    001aab92mov rsp, rbx
    001aab95lea rsi, [rip+0x18e9e4]
    001aab9clea rdi, [rip+0x18f195]
    001aaba3add rdi, 560
    001aabaamov rbx, rsp
    001aabadmov rsp, [r14+64]
    001aabb1call caml_initialize
    001aabb6mov rsp, rbx
    001aabb9lea rsi, [rip+0x18e9e0]
    001aabc0lea rdi, [rip+0x18f171]
    001aabc7add rdi, 792
    001aabcemov rbx, rsp
    001aabd1mov rsp, [r14+64]
    001aabd5call caml_initialize
    001aabdamov rsp, rbx
    001aabddlea rsi, [rip+0x18e9dc]
    001aabe4lea rdi, [rip+0x18f14d]
    001aabebadd rdi, 800
    001aabf2mov rbx, rsp
    001aabf5mov rsp, [r14+64]
    001aabf9call caml_initialize
    001aabfemov rsp, rbx
    001aac01lea rsi, [rip+0x18e9d8]
    001aac08lea rdi, [rip+0x18f129]
    001aac0fadd rdi, 632
    001aac16mov rbx, rsp
    001aac19mov rsp, [r14+64]
    001aac1dcall caml_initialize
    001aac22mov rsp, rbx
    001aac25lea rsi, [rip+0x18e9d4]
    001aac2clea rdi, [rip+0x18f105]
    001aac33add rdi, 624
    001aac3amov rbx, rsp
    001aac3dmov rsp, [r14+64]
    001aac41call caml_initialize
    001aac46mov rsp, rbx
    001aac49lea rsi, [rip+0x18e9d0]
    001aac50lea rdi, [rip+0x18f0e1]
    001aac57add rdi, 656
    001aac5emov rbx, rsp
    001aac61mov rsp, [r14+64]
    001aac65call caml_initialize
    001aac6amov rsp, rbx
    001aac6dlea rsi, [rip+0x18e9cc]
    001aac74lea rdi, [rip+0x18f0bd]
    001aac7badd rdi, 648
    001aac82mov rbx, rsp
    001aac85mov rsp, [r14+64]
    001aac89call caml_initialize
    001aac8emov rsp, rbx
    001aac91lea rsi, [rip+0x18e9c8]
    001aac98lea rdi, [rip+0x18f099]
    001aac9fadd rdi, 680
    001aaca6mov rbx, rsp
    001aaca9mov rsp, [r14+64]
    001aacadcall caml_initialize
    001aacb2mov rsp, rbx
    001aacb5lea rsi, [rip+0x18e9c4]
    001aacbclea rdi, [rip+0x18f075]
    001aacc3add rdi, 672
    001aaccamov rbx, rsp
    001aaccdmov rsp, [r14+64]
    001aacd1call caml_initialize
    001aacd6mov rsp, rbx
    001aacd9lea rsi, [rip+0x18e9c0]
    001aace0lea rdi, [rip+0x18f051]
    001aace7add rdi, 576
    001aaceemov rbx, rsp
    001aacf1mov rsp, [r14+64]
    001aacf5call caml_initialize
    001aacfamov rsp, rbx
    001aacfdlea rsi, [rip+0x18e9bc]
    001aad04lea rdi, [rip+0x18f02d]
    001aad0badd rdi, 592
    001aad12mov rbx, rsp
    001aad15mov rsp, [r14+64]
    001aad19call caml_initialize
    001aad1emov rsp, rbx
    001aad21lea rdi, [rip+0x18f010]
    001aad28mov rsi, [rdi+624]
    001aad2fadd rdi, 600
    001aad36mov rbx, rsp
    001aad39mov rsp, [r14+64]
    001aad3dcall caml_initialize
    001aad42mov rsp, rbx
    001aad45lea rdi, [rip+0x18efec]
    001aad4cmov rsi, [rdi+632]
    001aad53add rdi, 608
    001aad5amov rbx, rsp
    001aad5dmov rsp, [r14+64]
    001aad61call caml_initialize
    001aad66mov rsp, rbx
    001aad69lea rax, [rip+0x1895b8]
    001aad70mov rsi, [rax+176]
    001aad77lea rdi, [rip+0x18efba]
    001aad7eadd rdi, 808
    001aad85mov rbx, rsp
    001aad88mov rsp, [r14+64]
    001aad8ccall caml_initialize
    001aad91mov rsp, rbx
    001aad94lea rsi, [rip+0x18e945]
    001aad9blea rdi, [rip+0x18ef96]
    001aada2add rdi, 816
    001aada9mov rbx, rsp
    001aadacmov rsp, [r14+64]
    001aadb0call caml_initialize
    001aadb5mov rsp, rbx
    001aadb8lea rsi, [rip+0x18e941]
    001aadbflea rdi, [rip+0x18ef72]
    001aadc6add rdi, 824
    001aadcdmov rbx, rsp
    001aadd0mov rsp, [r14+64]
    001aadd4call caml_initialize
    001aadd9mov rsp, rbx
    001aaddclea rsi, [rip+0x18e935]
    001aade3lea rdi, [rip+0x18ef4e]
    001aadeaadd rdi, 832
    001aadf1mov rbx, rsp
    001aadf4mov rsp, [r14+64]
    001aadf8call caml_initialize
    001aadfdmov rsp, rbx
    001aae00lea rsi, [rip+0x18e929]
    001aae07lea rdi, [rip+0x18ef2a]
    001aae0eadd rdi, 840
    001aae15mov rbx, rsp
    001aae18mov rsp, [r14+64]
    001aae1ccall caml_initialize
    001aae21mov rsp, rbx
    001aae24lea rsi, [rip+0x18e91d]
    001aae2blea rdi, [rip+0x18ef06]
    001aae32add rdi, 848
    001aae39mov rbx, rsp
    001aae3cmov rsp, [r14+64]
    001aae40call caml_initialize
    001aae45mov rsp, rbx
    001aae48lea rsi, [rip+0x18e911]
    001aae4flea rdi, [rip+0x18eee2]
    001aae56add rdi, 856
    001aae5dmov rbx, rsp
    001aae60mov rsp, [r14+64]
    001aae64call caml_initialize
    001aae69mov rsp, rbx
    001aae6clea rsi, [rip+0x18e905]
    001aae73lea rdi, [rip+0x18eebe]
    001aae7aadd rdi, 864
    001aae81mov rbx, rsp
    001aae84mov rsp, [r14+64]
    001aae88call caml_initialize
    001aae8dmov rsp, rbx
    001aae90lea rsi, [rip+0x18e901]
    001aae97lea rdi, [rip+0x18ee9a]
    001aae9eadd rdi, 872
    001aaea5mov rbx, rsp
    001aaea8mov rsp, [r14+64]
    001aaeaccall caml_initialize
    001aaeb1mov rsp, rbx
    001aaeb4lea rsi, [rip+0x18e8fd]
    001aaebblea rdi, [rip+0x18ee76]
    001aaec2add rdi, 880
    001aaec9mov rbx, rsp
    001aaeccmov rsp, [r14+64]
    001aaed0call caml_initialize
    001aaed5mov rsp, rbx
    001aaed8lea rsi, [rip+0x18e8f9]
    001aaedflea rdi, [rip+0x18ee52]
    001aaee6add rdi, 392
    001aaeedmov rbx, rsp
    001aaef0mov rsp, [r14+64]
    001aaef4call caml_initialize
    001aaef9mov rsp, rbx
    001aaefclea rsi, [rip+0x18e8f5]
    001aaf03lea rdi, [rip+0x18ee2e]
    001aaf0aadd rdi, 400
    001aaf11mov rbx, rsp
    001aaf14mov rsp, [r14+64]
    001aaf18call caml_initialize
    001aaf1dmov rsp, rbx
    001aaf20lea rsi, [rip+0x18e8f1]
    001aaf27lea rdi, [rip+0x18ee0a]
    001aaf2eadd rdi, 408
    001aaf35mov rbx, rsp
    001aaf38mov rsp, [r14+64]
    001aaf3ccall caml_initialize
    001aaf41mov rsp, rbx
    001aaf44lea rsi, [rip+0x18e8e5]
    001aaf4blea rdi, [rip+0x18ede6]
    001aaf52add rdi, 416
    001aaf59mov rbx, rsp
    001aaf5cmov rsp, [r14+64]
    001aaf60call caml_initialize
    001aaf65mov rsp, rbx
    001aaf68lea rsi, [rip+0x18e8e1]
    001aaf6flea rdi, [rip+0x18edc2]
    001aaf76add rdi, 424
    001aaf7dmov rbx, rsp
    001aaf80mov rsp, [r14+64]
    001aaf84call caml_initialize
    001aaf89mov rsp, rbx
    001aaf8clea rsi, [rip+0x18e8dd]
    001aaf93lea rdi, [rip+0x18ed9e]
    001aaf9aadd rdi, 432
    001aafa1mov rbx, rsp
    001aafa4mov rsp, [r14+64]
    001aafa8call caml_initialize
    001aafadmov rsp, rbx
    001aafb0lea rsi, [rip+0x18e8d1]
    001aafb7lea rdi, [rip+0x18ed7a]
    001aafbeadd rdi, 440
    001aafc5mov rbx, rsp
    001aafc8mov rsp, [r14+64]
    001aafcccall caml_initialize
    001aafd1mov rsp, rbx
    001aafd4lea rsi, [rip+0x18e8cd]
    001aafdblea rdi, [rip+0x18ed56]
    001aafe2add rdi, 448
    001aafe9mov rbx, rsp
    001aafecmov rsp, [r14+64]
    001aaff0call caml_initialize
    001aaff5mov rsp, rbx
    001aaff8lea rsi, [rip+0x18e8c9]
    001aaffflea rdi, [rip+0x18ed32]
    001ab006add rdi, 456
    001ab00dmov rbx, rsp
    001ab010mov rsp, [r14+64]
    001ab014call caml_initialize
    001ab019mov rsp, rbx
    001ab01cmov eax, 1
    001ab021ret
    001aa0a0