File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    001abfd0
    001abfd0Stdlib.String.split_on_char:
    001abfd0lea r10, [rsp-352]
    001abfd8cmp r10, [r14+40]
    001abfdcjb 0x1ac0f7
    001abfe2
    001abfe2loc_1abfe2:
    001abfe2sub rsp, 32
    001abfe6mov [rsp], rbx
    001abfeamov edi, 1
    001abfefmov [rsp+16], rdi
    001abff4mov rdi, [rbx-8]
    001abff8shr rdi, 10
    001abffclea rsi, [8*rdi-1]
    001ac004movzx rbx, [rbx+rsi]
    001ac009sub rsi, rbx
    001ac00clea rdi, [rsi+rsi+1]
    001ac011lea rbx, [rsi+rsi-1]
    001ac016cmp rbx, 1
    001ac01ajl 0x1ac0a5
    001ac020mov [rsp+24], rbx
    001ac025mov [rsp+8], rax
    001ac02a
    001ac02aloc_1ac02a:
    001ac02amov rsi, rbx
    001ac02dsar rsi, 1
    001ac030mov rax, [rsp]
    001ac034movzx rsi, [rax+rsi]
    001ac039lea rsi, [rsi+rsi+1]
    001ac03emov rdx, [rsp+8]
    001ac043cmp rsi, rdx
    001ac046jne 0x1ac08c
    001ac048sub rdi, rbx
    001ac04bdec rdi
    001ac04eadd rbx, 2
    001ac052call Stdlib.Bytes.sub
    001ac057sub r15, 24
    001ac05bcmp r15, [r14]
    001ac05ejb 0x1ac0ed
    001ac064
    001ac064loc_1ac064:
    001ac064lea rbx, [r15+8]
    001ac068mov [rbx-8], 2048
    001ac070mov [rbx], rax
    001ac073mov rax, [rsp+16]
    001ac078mov [rbx+8], rax
    001ac07cmov rax, rbx
    001ac07fmov [rsp+16], rax
    001ac084mov rbx, [rsp+24]
    001ac089mov rdi, rbx
    001ac08c
    001ac08cloc_1ac08c:
    001ac08cmov rax, rbx
    001ac08fsub rbx, 2
    001ac093mov [rsp+24], rbx
    001ac098cmp rax, 1
    001ac09cje 0x1ac0a5
    001ac09ecmp r15, [r14]
    001ac0a1ja 0x1ac02a
    001ac0a3jmp 0x1ac0e3
    001ac0a5
    001ac0a5loc_1ac0a5:
    001ac0a5mov ebx, 1
    001ac0aamov rax, [rsp]
    001ac0aecall Stdlib.Bytes.sub
    001ac0b3sub r15, 24
    001ac0b7cmp r15, [r14]
    001ac0bajb 0x1ac0dc
    001ac0bc
    001ac0bcloc_1ac0bc:
    001ac0bclea rbx, [r15+8]
    001ac0c0mov [rbx-8], 2048
    001ac0c8mov [rbx], rax
    001ac0cbmov rax, [rsp+16]
    001ac0d0mov [rbx+8], rax
    001ac0d4mov rax, rbx
    001ac0d7add rsp, 32
    001ac0dbret
    001ac0dc
    001ac0dcloc_1ac0dc:
    001ac0dccall caml_call_gc
    001ac0e1jmp 0x1ac0bc
    001ac0e3
    001ac0e3loc_1ac0e3:
    001ac0e3call caml_call_gc
    001ac0e8jmp 0x1ac02a
    001ac0ed
    001ac0edloc_1ac0ed:
    001ac0edcall caml_call_gc
    001ac0f2jmp 0x1ac064
    001ac0f7
    001ac0f7loc_1ac0f7:
    001ac0f7push 37
    001ac0f9call caml_call_realloc_stack
    001ac0fepop r10
    001ac100jmp 0x1abfe2
    001abfd0
    001ac105
    001ac105 // align 0x10
    001ac110
    001ac110Stdlib.String.compare:
    001ac110mov rdi, rax
    001ac113mov rsi, rbx
    001ac116mov rbx, rsp
    001ac119mov rsp, [r14+64]
    001ac11dcall caml_string_compare
    001ac122mov rsp, rbx
    001ac125ret
    001ac110
    001ac126
    001ac126 // align 0x10
    001ac130
    001ac130Stdlib.String.to_seq:
    001ac130jmp 0x1a7ff0
    001ac130
    001ac135
    001ac135 // align 0x10
    001ac140
    001ac140Stdlib.String.to_seqi:
    001ac140jmp 0x1a8150
    001ac140
    001ac145
    001ac145 // align 0x10
    001ac150
    001ac150Stdlib.String.of_seq:
    001ac150lea r10, [rsp-320]
    001ac158cmp r10, [r14+40]
    001ac15cjb 0x1ac164
    001ac15e
    001ac15eloc_1ac15e:
    001ac15ecall Stdlib.Bytes.of_seq
    001ac163ret
    001ac164
    001ac164loc_1ac164:
    001ac164push 33
    001ac166call caml_call_realloc_stack
    001ac16bpop r10
    001ac16djmp 0x1ac15e
    001ac150
    001ac16f
    001ac16f // align 0x10
    001ac170
    001ac170Stdlib.String.get_utf_8_uchar:
    001ac170jmp 0x1a8d90
    001ac170
    001ac175
    001ac175 // align 0x10
    001ac180
    001ac180Stdlib.String.is_valid_utf_8:
    001ac180jmp 0x1a95c0
    001ac180
    001ac185
    001ac185 // align 0x10
    001ac190
    001ac190Stdlib.String.get_utf_16be_uchar:
    001ac190jmp 0x1a99a0
    001ac190
    001ac195
    001ac195 // align 0x10
    001ac1a0
    001ac1a0Stdlib.String.is_valid_utf_16be:
    001ac1a0jmp 0x1a9c30
    001ac1a0
    001ac1a5
    001ac1a5 // align 0x10
    001ac1b0
    001ac1b0Stdlib.String.get_utf_16le_uchar:
    001ac1b0jmp 0x1a9d40
    001ac1b0
    001ac1b5
    001ac1b5 // align 0x10
    001ac1c0
    001ac1c0Stdlib.String.is_valid_utf_16le:
    001ac1c0jmp 0x1a9fa0
    001ac1c0
    001ac1c5
    001ac1c5 // align 0x10
    001ac1d0
    001ac1d0Stdlib.String.get_int8:
    001ac1d0sar rbx, 1
    001ac1d3mov rdi, [rax-8]
    001ac1d7shr rdi, 10
    001ac1dblea rdi, [8*rdi-1]
    001ac1e3movzx rsi, [rax+rdi]
    001ac1e8sub rdi, rsi
    001ac1ebcmp rdi, rbx
    001ac1eejbe 0x1ac202
    001ac1f0movzx rax, [rax+rbx]
    001ac1f5shl rax, 56
    001ac1f9sar rax, 55
    001ac1fdor rax, 1
    001ac201ret
    001ac202
    001ac202loc_1ac202:
    001ac202call caml_ml_array_bound_error
    001ac1d0
    001ac207
    001ac207 // align 0x10
    001ac210
    001ac210Stdlib.String.get_uint16_le:
    001ac210sar rbx, 1
    001ac213mov rdi, [rax-8]
    001ac217shr rdi, 10
    001ac21blea rdi, [8*rdi-1]
    001ac223movzx rsi, [rax+rdi]
    001ac228sub rdi, rsi
    001ac22bdec rdi
    001ac22emov rsi, rdi
    001ac231sar rsi, 63
    001ac235xor rsi, -1
    001ac239and rsi, rdi
    001ac23ccmp rsi, rbx
    001ac23fjbe 0x1ac24c
    001ac241movzx rax, [rax+rbx]
    001ac246lea rax, [rax+rax+1]
    001ac24bret
    001ac24c
    001ac24cloc_1ac24c:
    001ac24ccall caml_ml_array_bound_error
    001ac210
    001ac251
    001ac251 // align 0x10
    001ac260
    001ac260Stdlib.String.get_uint16_be:
    001ac260sar rbx, 1
    001ac263mov rdi, [rax-8]
    001ac267shr rdi, 10
    001ac26blea rdi, [8*rdi-1]
    001ac273movzx rsi, [rax+rdi]
    001ac278sub rdi, rsi
    001ac27bdec rdi
    001ac27emov rsi, rdi
    001ac281sar rsi, 63
    001ac285xor rsi, -1
    001ac289and rsi, rdi
    001ac28ccmp rsi, rbx
    001ac28fjbe 0x1ac2a2
    001ac291movzx rax, [rax+rbx]
    001ac296xchg al, ah
    001ac298movzx rax, ax
    001ac29clea rax, [rax+rax+1]
    001ac2a1ret
    001ac2a2
    001ac2a2loc_1ac2a2:
    001ac2a2call caml_ml_array_bound_error
    001ac260
    001ac2a7
    001ac2a7 // align 0x10
    001ac2b0
    001ac2b0Stdlib.String.get_int16_ne:
    001ac2b0sar rbx, 1
    001ac2b3mov rdi, [rax-8]
    001ac2b7shr rdi, 10
    001ac2bblea rdi, [8*rdi-1]
    001ac2c3movzx rsi, [rax+rdi]
    001ac2c8sub rdi, rsi
    001ac2cbdec rdi
    001ac2cemov rsi, rdi
    001ac2d1sar rsi, 63
    001ac2d5xor rsi, -1
    001ac2d9and rsi, rdi
    001ac2dccmp rsi, rbx
    001ac2dfjbe 0x1ac2f3
    001ac2e1movzx rax, [rax+rbx]
    001ac2e6shl rax, 48
    001ac2easar rax, 47
    001ac2eeor rax, 1
    001ac2f2ret
    001ac2f3
    001ac2f3loc_1ac2f3:
    001ac2f3call caml_ml_array_bound_error
    001ac2b0
    001ac2f8
    001ac2f8 // align 0x10
    001ac300
    001ac300Stdlib.String.get_int16_le:
    001ac300sar rbx, 1
    001ac303mov rdi, [rax-8]
    001ac307shr rdi, 10
    001ac30blea rdi, [8*rdi-1]
    001ac313movzx rsi, [rax+rdi]
    001ac318sub rdi, rsi
    001ac31bdec rdi
    001ac31emov rsi, rdi
    001ac321sar rsi, 63
    001ac325xor rsi, -1
    001ac329and rsi, rdi
    001ac32ccmp rsi, rbx
    001ac32fjbe 0x1ac343
    001ac331movzx rax, [rax+rbx]
    001ac336shl rax, 48
    001ac33asar rax, 47
    001ac33eor rax, 1
    001ac342ret
    001ac343
    001ac343loc_1ac343:
    001ac343call caml_ml_array_bound_error
    001ac300
    001ac348
    001ac348 // align 0x10
    001ac350
    001ac350Stdlib.String.get_int16_be:
    001ac350sar rbx, 1
    001ac353mov rdi, [rax-8]
    001ac357shr rdi, 10
    001ac35blea rdi, [8*rdi-1]
    001ac363movzx rsi, [rax+rdi]
    001ac368sub rdi, rsi
    001ac36bdec rdi
    001ac36emov rsi, rdi
    001ac371sar rsi, 63
    001ac375xor rsi, -1
    001ac379and rsi, rdi
    001ac37ccmp rsi, rbx
    001ac37fjbe 0x1ac399
    001ac381movzx rax, [rax+rbx]
    001ac386xchg al, ah
    001ac388movzx rax, ax
    001ac38cshl rax, 48
    001ac390sar rax, 47
    001ac394or rax, 1
    001ac398ret
    001ac399
    001ac399loc_1ac399:
    001ac399call caml_ml_array_bound_error
    001ac350
    001ac39e
    001ac39e // align 0x10
    001ac3a0
    001ac3a0Stdlib.String.get_int32_le:
    001ac3a0mov rdi, rax
    001ac3a3sub r15, 24
    001ac3a7cmp r15, [r14]
    001ac3aajb 0x1ac3ff
    001ac3ac
    001ac3acloc_1ac3ac:
    001ac3aclea rax, [r15+8]
    001ac3b0mov [rax-8], 2303
    001ac3b8lea rsi, [rip+0xc9501]
    001ac3bfmov [rax], rsi
    001ac3c2sar rbx, 1
    001ac3c5mov rsi, [rdi-8]
    001ac3c9shr rsi, 10
    001ac3cdlea rsi, [8*rsi-1]
    001ac3d5movzx rdx, [rdi+rsi]
    001ac3dasub rsi, rdx
    001ac3ddadd rsi, -3
    001ac3e1mov rdx, rsi
    001ac3e4sar rdx, 63
    001ac3e8xor rdx, -1
    001ac3ecand rdx, rsi
    001ac3efcmp rdx, rbx
    001ac3f2jbe 0x1ac406
    001ac3f4mov ebx, [rdi+rbx]
    001ac3f7movsxd rbx, ebx
    001ac3famov [rax+8], rbx
    001ac3feret
    001ac3ff
    001ac3ffloc_1ac3ff:
    001ac3ffcall caml_call_gc
    001ac404jmp 0x1ac3ac
    001ac406
    001ac406loc_1ac406:
    001ac406call caml_ml_array_bound_error
    001ac3a0
    001ac40b
    001ac40b // align 0x10
    001ac410
    001ac410Stdlib.String.get_int32_be:
    001ac410mov rdi, rax
    001ac413sub r15, 24
    001ac417cmp r15, [r14]
    001ac41ajb 0x1ac477
    001ac41c
    001ac41cloc_1ac41c:
    001ac41clea rax, [r15+8]
    001ac420mov [rax-8], 2303
    001ac428lea rsi, [rip+0xc9491]
    001ac42fmov [rax], rsi
    001ac432sar rbx, 1
    001ac435mov rsi, [rdi-8]
    001ac439shr rsi, 10
    001ac43dlea rsi, [8*rsi-1]
    001ac445movzx rdx, [rdi+rsi]
    001ac44asub rsi, rdx
    001ac44dadd rsi, -3
    001ac451mov rdx, rsi
    001ac454sar rdx, 63
    001ac458xor rdx, -1
    001ac45cand rdx, rsi
    001ac45fcmp rdx, rbx
    001ac462jbe 0x1ac47e
    001ac464mov ebx, [rdi+rbx]
    001ac467movsxd rbx, ebx
    001ac46abswap ebx
    001ac46cmovsxd rbx, ebx
    001ac46fmovsxd rbx, ebx
    001ac472mov [rax+8], rbx
    001ac476ret
    001ac477
    001ac477loc_1ac477:
    001ac477call caml_call_gc
    001ac47cjmp 0x1ac41c
    001ac47e
    001ac47eloc_1ac47e:
    001ac47ecall caml_ml_array_bound_error
    001ac410
    001ac483
    001ac483 // align 0x10
    001ac490
    001ac490Stdlib.String.get_int64_le:
    001ac490mov rdi, rax
    001ac493sub r15, 24
    001ac497cmp r15, [r14]
    001ac49ajb 0x1ac4ed
    001ac49c
    001ac49cloc_1ac49c:
    001ac49clea rax, [r15+8]
    001ac4a0mov [rax-8], 2303
    001ac4a8lea rsi, [rip+0xc93d1]
    001ac4afmov [rax], rsi
    001ac4b2sar rbx, 1
    001ac4b5mov rsi, [rdi-8]
    001ac4b9shr rsi, 10
    001ac4bdlea rsi, [8*rsi-1]
    001ac4c5movzx rdx, [rdi+rsi]
    001ac4casub rsi, rdx
    001ac4cdadd rsi, -7
    001ac4d1mov rdx, rsi
    001ac4d4sar rdx, 63
    001ac4d8xor rdx, -1
    001ac4dcand rdx, rsi
    001ac4dfcmp rdx, rbx
    001ac4e2jbe 0x1ac4f4
    001ac4e4mov rbx, [rdi+rbx]
    001ac4e8mov [rax+8], rbx
    001ac4ecret
    001ac4ed
    001ac4edloc_1ac4ed:
    001ac4edcall caml_call_gc
    001ac4f2jmp 0x1ac49c
    001ac4f4
    001ac4f4loc_1ac4f4:
    001ac4f4call caml_ml_array_bound_error
    001ac490
    001ac4f9
    001ac4f9 // align 0x10
    001ac500
    001ac500Stdlib.String.get_int64_be:
    001ac500mov rdi, rax
    001ac503sub r15, 24
    001ac507cmp r15, [r14]
    001ac50ajb 0x1ac560
    001ac50c
    001ac50cloc_1ac50c:
    001ac50clea rax, [r15+8]
    001ac510mov [rax-8], 2303
    001ac518lea rsi, [rip+0xc9361]
    001ac51fmov [rax], rsi
    001ac522sar rbx, 1
    001ac525mov rsi, [rdi-8]
    001ac529shr rsi, 10
    001ac52dlea rsi, [8*rsi-1]
    001ac535movzx rdx, [rdi+rsi]
    001ac53asub rsi, rdx
    001ac53dadd rsi, -7
    001ac541mov rdx, rsi
    001ac544sar rdx, 63
    001ac548xor rdx, -1
    001ac54cand rdx, rsi
    001ac54fcmp rdx, rbx
    001ac552jbe 0x1ac567
    001ac554mov rbx, [rdi+rbx]
    001ac558bswap rbx
    001ac55bmov [rax+8], rbx
    001ac55fret
    001ac560
    001ac560loc_1ac560:
    001ac560call caml_call_gc
    001ac565jmp 0x1ac50c
    001ac567
    001ac567loc_1ac567:
    001ac567call caml_ml_array_bound_error
    001ac500
    001ac56c
    001ac56c // align 0x10
    001ac570
    001ac570Stdlib.String.entry:
    001ac570lea rsi, [rip+0x18f4b9]
    001ac577lea rdi, [rip+0x18fc82]
    001ac57eadd rdi, 488
    001ac585mov rbx, rsp
    001ac588mov rsp, [r14+64]
    001ac58ccall caml_initialize
    001ac591mov rsp, rbx
    001ac594lea rsi, [rip+0x18f4b5]
    001ac59blea rdi, [rip+0x18fc5e]
    001ac5a2add rdi, 464
    001ac5a9mov rbx, rsp
    001ac5acmov rsp, [r14+64]
    001ac5b0call caml_initialize
    001ac5b5mov rsp, rbx
    001ac5b8lea rsi, [rip+0x18f4b1]
    001ac5bflea rdi, [rip+0x18fc3a]
    001ac5c6add rdi, 448
    001ac5cdmov rbx, rsp
    001ac5d0mov rsp, [r14+64]
    001ac5d4call caml_initialize
    001ac5d9mov rsp, rbx
    001ac5dclea rsi, [rip+0x18f4ad]
    001ac5e3lea rdi, [rip+0x18fc16]
    001ac5eaadd rdi, 400
    001ac5f1mov rbx, rsp
    001ac5f4mov rsp, [r14+64]
    001ac5f8call caml_initialize
    001ac5fdmov rsp, rbx
    001ac600lea rsi, [rip+0x18f4a9]
    001ac607lea rdi, [rip+0x18fbf2]
    001ac60eadd rdi, 384
    001ac615mov rbx, rsp
    001ac618mov rsp, [r14+64]
    001ac61ccall caml_initialize
    001ac621mov rsp, rbx
    001ac624lea rsi, [rip+0x18f4a5]
    001ac62blea rdi, [rip+0x18fbce]
    001ac632add rdi, 64
    001ac636mov rbx, rsp
    001ac639mov rsp, [r14+64]
    001ac63dcall caml_initialize
    001ac642mov rsp, rbx
    001ac645lea rax, [rip+0x18d6ec]
    001ac64cmov rsi, [rax+344]
    001ac653lea rdi, [rip+0x18fba6]
    001ac65aadd rdi, 512
    001ac661mov rbx, rsp
    001ac664mov rsp, [r14+64]
    001ac668call caml_initialize
    001ac66dmov rsp, rbx
    001ac670lea rax, [rip+0x18d6c1]
    001ac677mov rsi, [rax+352]
    001ac67elea rdi, [rip+0x18fb7b]
    001ac685add rdi, 520
    001ac68cmov rbx, rsp
    001ac68fmov rsp, [r14+64]
    001ac693call caml_initialize
    001ac698mov rsp, rbx
    001ac69blea rsi, [rip+0x18f44e]
    001ac6a2lea rdi, [rip+0x18fb57]
    001ac6a9mov rbx, rsp
    001ac6acmov rsp, [r14+64]
    001ac6b0call caml_initialize
    001ac6b5mov rsp, rbx
    001ac6b8lea rsi, [rip+0x18f451]
    001ac6bflea rdi, [rip+0x18fb3a]
    001ac6c6add rdi, 8
    001ac6camov rbx, rsp
    001ac6cdmov rsp, [r14+64]
    001ac6d1call caml_initialize
    001ac6d6mov rsp, rbx
    001ac6d9lea rsi, [rip+0x18fee0]
    001ac6e0lea rdi, [rip+0x18fb19]
    001ac6e7add rdi, 16
    001ac6ebmov rbx, rsp
    001ac6eemov rsp, [r14+64]
    001ac6f2call caml_initialize
    001ac6f7mov rsp, rbx
    001ac6falea rax, [rip+0x18d637]
    001ac701mov rsi, [rax+40]
    001ac705lea rdi, [rip+0x18faf4]
    001ac70cadd rdi, 24
    001ac710mov rbx, rsp
    001ac713mov rsp, [r14+64]
    001ac717call caml_initialize
    001ac71cmov rsp, rbx
    001ac71flea rax, [rip+0x18d612]
    001ac726mov rsi, [rax+32]
    001ac72alea rdi, [rip+0x18facf]
    001ac731add rdi, 32
    001ac735mov rbx, rsp
    001ac738mov rsp, [r14+64]
    001ac73ccall caml_initialize
    001ac741mov rsp, rbx
    001ac744lea rsi, [rip+0x18f3e5]
    001ac74blea rdi, [rip+0x18faae]
    001ac752add rdi, 120
    001ac756mov rbx, rsp
    001ac759mov rsp, [r14+64]
    001ac75dcall caml_initialize
    001ac762mov rsp, rbx
    001ac765lea rax, [rip+0x18d5cc]
    001ac76cmov rsi, [rax+88]
    001ac770lea rdi, [rip+0x18fa89]
    001ac777add rdi, 40
    001ac77bmov rbx, rsp
    001ac77emov rsp, [r14+64]
    001ac782call caml_initialize
    001ac787mov rsp, rbx
    001ac78alea rsi, [rip+0x18f3bf]
    001ac791lea rdi, [rip+0x18fa68]
    001ac798add rdi, 528
    001ac79fmov rbx, rsp
    001ac7a2mov rsp, [r14+64]
    001ac7a6call caml_initialize
    001ac7abmov rsp, rbx
    001ac7aelea rsi, [rip+0x18f3bb]
    001ac7b5lea rdi, [rip+0x18fa44]
    001ac7bcadd rdi, 536
    001ac7c3mov rbx, rsp
    001ac7c6mov rsp, [r14+64]
    001ac7cacall caml_initialize
    001ac7cfmov rsp, rbx
    001ac7d2lea rsi, [rip+0x18f3b7]
    001ac7d9lea rdi, [rip+0x18fa20]
    001ac7e0add rdi, 544
    001ac7e7mov rbx, rsp
    001ac7eamov rsp, [r14+64]
    001ac7eecall caml_initialize
    001ac7f3mov rsp, rbx
    001ac7f6lea rsi, [rip+0x18f3b3]
    001ac7fdlea rdi, [rip+0x18f9fc]
    001ac804add rdi, 48
    001ac808mov rbx, rsp
    001ac80bmov rsp, [r14+64]
    001ac80fcall caml_initialize
    001ac814mov rsp, rbx
    001ac817lea rax, [rip+0x180dfa]
    001ac81emov rsi, [rax+216]
    001ac825lea rdi, [rip+0x18f9d4]
    001ac82cadd rdi, 56
    001ac830mov rbx, rsp
    001ac833mov rsp, [r14+64]
    001ac837call caml_initialize
    001ac83cmov rsp, rbx
    001ac83flea rsi, [rip+0x18f38a]
    001ac846lea rdi, [rip+0x18f9b3]
    001ac84dadd rdi, 232
    001ac854mov rbx, rsp
    001ac857mov rsp, [r14+64]
    001ac85bcall caml_initialize
    001ac860mov rsp, rbx
    001ac863lea rsi, [rip+0x18f386]
    001ac86alea rdi, [rip+0x18f98f]
    001ac871add rdi, 240
    001ac878mov rbx, rsp
    001ac87bmov rsp, [r14+64]
    001ac87fcall caml_initialize
    001ac884mov rsp, rbx
    001ac887lea rsi, [rip+0x18f382]
    001ac88elea rdi, [rip+0x18f96b]
    001ac895add rdi, 136
    001ac89cmov rbx, rsp
    001ac89fmov rsp, [r14+64]
    001ac8a3call caml_initialize
    001ac8a8mov rsp, rbx
    001ac8ablea rsi, [rip+0x18f37e]
    001ac8b2lea rdi, [rip+0x18f947]
    001ac8b9add rdi, 144
    001ac8c0mov rbx, rsp
    001ac8c3mov rsp, [r14+64]
    001ac8c7call caml_initialize
    001ac8ccmov rsp, rbx
    001ac8cflea rsi, [rip+0x18f37a]
    001ac8d6lea rdi, [rip+0x18f923]
    001ac8ddadd rdi, 160
    001ac8e4mov rbx, rsp
    001ac8e7mov rsp, [r14+64]
    001ac8ebcall caml_initialize
    001ac8f0mov rsp, rbx
    001ac8f3lea rsi, [rip+0x18f376]
    001ac8falea rdi, [rip+0x18f8ff]
    001ac901add rdi, 152
    001ac908mov rbx, rsp
    001ac90bmov rsp, [r14+64]
    001ac90fcall caml_initialize
    001ac914mov rsp, rbx
    001ac917lea rsi, [rip+0x18f372]
    001ac91elea rdi, [rip+0x18f8db]
    001ac925add rdi, 176
    001ac92cmov rbx, rsp
    001ac92fmov rsp, [r14+64]
    001ac933call caml_initialize
    001ac938mov rsp, rbx
    001ac93blea rsi, [rip+0x18f36e]
    001ac942lea rdi, [rip+0x18f8b7]
    001ac949add rdi, 168
    001ac950mov rbx, rsp
    001ac953mov rsp, [r14+64]
    001ac957call caml_initialize
    001ac95cmov rsp, rbx
    001ac95flea rsi, [rip+0x18f36a]
    001ac966lea rdi, [rip+0x18f893]
    001ac96dadd rdi, 552
    001ac974mov rbx, rsp
    001ac977mov rsp, [r14+64]
    001ac97bcall caml_initialize
    001ac980mov rsp, rbx
    001ac983lea rsi, [rip+0x18f35e]
    001ac98alea rdi, [rip+0x18f86f]
    001ac991add rdi, 184
    001ac998mov rbx, rsp
    001ac99bmov rsp, [r14+64]
    001ac99fcall caml_initialize
    001ac9a4mov rsp, rbx
    001ac9a7lea rsi, [rip+0x18f352]
    001ac9aelea rdi, [rip+0x18f84b]
    001ac9b5add rdi, 192
    001ac9bcmov rbx, rsp
    001ac9bfmov rsp, [r14+64]
    001ac9c3call caml_initialize
    001ac9c8mov rsp, rbx
    001ac9cblea rsi, [rip+0x18f346]
    001ac9d2lea rdi, [rip+0x18f827]
    001ac9d9add rdi, 560
    001ac9e0mov rbx, rsp
    001ac9e3mov rsp, [r14+64]
    001ac9e7call caml_initialize
    001ac9ecmov rsp, rbx
    001ac9eflea rsi, [rip+0x18f342]
    001ac9f6lea rdi, [rip+0x18f803]
    001ac9fdadd rdi, 280
    001aca04mov rbx, rsp
    001aca07mov rsp, [r14+64]
    001aca0bcall caml_initialize
    001aca10mov rsp, rbx
    001aca13lea rsi, [rip+0x18f33e]
    001aca1alea rdi, [rip+0x18f7df]
    001aca21add rdi, 568
    001aca28mov rbx, rsp
    001aca2bmov rsp, [r14+64]
    001aca2fcall caml_initialize
    001aca34mov rsp, rbx
    001aca37lea rsi, [rip+0x18f33a]
    001aca3elea rdi, [rip+0x18f7bb]
    001aca45add rdi, 288
    001aca4cmov rbx, rsp
    001aca4fmov rsp, [r14+64]
    001aca53call caml_initialize
    001aca58mov rsp, rbx
    001aca5blea rsi, [rip+0x18f336]
    001aca62lea rdi, [rip+0x18f797]
    001aca69add rdi, 248
    001aca70mov rbx, rsp
    001aca73mov rsp, [r14+64]
    001aca77call caml_initialize
    001aca7cmov rsp, rbx
    001aca7flea rsi, [rip+0x18f332]
    001aca86lea rdi, [rip+0x18f773]
    001aca8dadd rdi, 256
    001aca94mov rbx, rsp
    001aca97mov rsp, [r14+64]
    001aca9bcall caml_initialize
    001acaa0mov rsp, rbx
    001acaa3lea rsi, [rip+0x18f32e]
    001acaaalea rdi, [rip+0x18f74f]
    001acab1add rdi, 576
    001acab8mov rbx, rsp
    001acabbmov rsp, [r14+64]
    001acabfcall caml_initialize
    001acac4mov rsp, rbx
    001acac7lea rsi, [rip+0x18f32a]
    001acacelea rdi, [rip+0x18f72b]
    001acad5add rdi, 296
    001acadcmov rbx, rsp
    001acadfmov rsp, [r14+64]
    001acae3call caml_initialize
    001acae8mov rsp, rbx
    001acaeblea rsi, [rip+0x18f326]
    001acaf2lea rdi, [rip+0x18f707]
    001acaf9add rdi, 264
    001acb00mov rbx, rsp
    001acb03mov rsp, [r14+64]
    001acb07call caml_initialize
    001acb0cmov rsp, rbx
    001acb0flea rsi, [rip+0x18f322]
    001acb16lea rdi, [rip+0x18f6e3]
    001acb1dadd rdi, 584
    001acb24mov rbx, rsp
    001acb27mov rsp, [r14+64]
    001acb2bcall caml_initialize
    001acb30mov rsp, rbx
    001acb33lea rsi, [rip+0x18f31e]
    001acb3alea rdi, [rip+0x18f6bf]
    001acb41add rdi, 304
    001acb48mov rbx, rsp
    001acb4bmov rsp, [r14+64]
    001acb4fcall caml_initialize
    001acb54mov rsp, rbx
    001acb57lea rsi, [rip+0x18f31a]
    001acb5elea rdi, [rip+0x18f69b]
    001acb65add rdi, 272
    001acb6cmov rbx, rsp
    001acb6fmov rsp, [r14+64]
    001acb73call caml_initialize
    001acb78mov rsp, rbx
    001acb7blea rsi, [rip+0x18f316]
    001acb82lea rdi, [rip+0x18f677]
    001acb89add rdi, 96
    001acb8dmov rbx, rsp
    001acb90mov rsp, [r14+64]
    001acb94call caml_initialize
    001acb99mov rsp, rbx
    001acb9clea rsi, [rip+0x18f315]
    001acba3lea rdi, [rip+0x18f656]
    001acbaaadd rdi, 112
    001acbaemov rbx, rsp
    001acbb1mov rsp, [r14+64]
    001acbb5call caml_initialize
    001acbbamov rsp, rbx
    001acbbdlea rsi, [rip+0x18f314]
    001acbc4lea rdi, [rip+0x18f635]
    001acbcbadd rdi, 104
    001acbcfmov rbx, rsp
    001acbd2mov rsp, [r14+64]
    001acbd6call caml_initialize
    001acbdbmov rsp, rbx
    001acbdelea rsi, [rip+0x18f313]
    001acbe5lea rdi, [rip+0x18f614]
    001acbecadd rdi, 200
    001acbf3mov rbx, rsp
    001acbf6mov rsp, [r14+64]
    001acbfacall caml_initialize
    001acbffmov rsp, rbx
    001acc02lea rsi, [rip+0x18f307]
    001acc09lea rdi, [rip+0x18f5f0]
    001acc10add rdi, 208
    001acc17mov rbx, rsp
    001acc1amov rsp, [r14+64]
    001acc1ecall caml_initialize
    001acc23mov rsp, rbx
    001acc26lea rsi, [rip+0x18f2fb]
    001acc2dlea rdi, [rip+0x18f5cc]
    001acc34add rdi, 216
    001acc3bmov rbx, rsp
    001acc3emov rsp, [r14+64]
    001acc42call caml_initialize
    001acc47mov rsp, rbx
    001acc4alea rsi, [rip+0x18f2ef]
    001acc51lea rdi, [rip+0x18f5a8]
    001acc58add rdi, 224
    001acc5fmov rbx, rsp
    001acc62mov rsp, [r14+64]
    001acc66call caml_initialize
    001acc6bmov rsp, rbx
    001acc6elea rsi, [rip+0x18f2e3]
    001acc75lea rdi, [rip+0x18f584]
    001acc7cadd rdi, 80
    001acc80mov rbx, rsp
    001acc83mov rsp, [r14+64]
    001acc87call caml_initialize
    001acc8cmov rsp, rbx
    001acc8flea rsi, [rip+0x18f2e2]
    001acc96lea rdi, [rip+0x18f563]
    001acc9dadd rdi, 88
    001acca1mov rbx, rsp
    001acca4mov rsp, [r14+64]
    001acca8call caml_initialize
    001accadmov rsp, rbx
    001accb0lea rsi, [rip+0x18f2e1]
    001accb7lea rdi, [rip+0x18f542]
    001accbeadd rdi, 456
    001accc5mov rbx, rsp
    001accc8mov rsp, [r14+64]
    001acccccall caml_initialize
    001accd1mov rsp, rbx
    001accd4lea rsi, [rip+0x18f2d5]
    001accdblea rdi, [rip+0x18f51e]
    001acce2add rdi, 128
    001acce9mov rbx, rsp
    001accecmov rsp, [r14+64]
    001accf0call caml_initialize
    001accf5mov rsp, rbx
    001accf8lea rsi, [rip+0x18f2d1]
    001accfflea rdi, [rip+0x18f4fa]
    001acd06add rdi, 72
    001acd0amov rbx, rsp
    001acd0dmov rsp, [r14+64]
    001acd11call caml_initialize
    001acd16mov rsp, rbx
    001acd19lea rsi, [rip+0x18f2d0]
    001acd20lea rdi, [rip+0x18f4d9]
    001acd27add rdi, 312
    001acd2emov rbx, rsp
    001acd31mov rsp, [r14+64]
    001acd35call caml_initialize
    001acd3amov rsp, rbx
    001acd3dlea rsi, [rip+0x18f2c4]
    001acd44lea rdi, [rip+0x18f4b5]
    001acd4badd rdi, 320
    001acd52mov rbx, rsp
    001acd55mov rsp, [r14+64]
    001acd59call caml_initialize
    001acd5emov rsp, rbx
    001acd61lea rsi, [rip+0x18f2b8]
    001acd68lea rdi, [rip+0x18f491]
    001acd6fadd rdi, 328
    001acd76mov rbx, rsp
    001acd79mov rsp, [r14+64]
    001acd7dcall caml_initialize
    001acd82mov rsp, rbx
    001acd85lea rsi, [rip+0x18f2ac]
    001acd8clea rdi, [rip+0x18f46d]
    001acd93add rdi, 336
    001acd9amov rbx, rsp
    001acd9dmov rsp, [r14+64]
    001acda1call caml_initialize
    001acda6mov rsp, rbx
    001acda9lea rsi, [rip+0x18f2a8]
    001acdb0lea rdi, [rip+0x18f449]
    001acdb7add rdi, 344
    001acdbemov rbx, rsp
    001acdc1mov rsp, [r14+64]
    001acdc5call caml_initialize
    001acdcamov rsp, rbx
    001acdcdlea rsi, [rip+0x18f29c]
    001acdd4lea rdi, [rip+0x18f425]
    001acddbadd rdi, 352
    001acde2mov rbx, rsp
    001acde5mov rsp, [r14+64]
    001acde9call caml_initialize
    001acdeemov rsp, rbx
    001acdf1lea rsi, [rip+0x18f298]
    001acdf8lea rdi, [rip+0x18f401]
    001acdffadd rdi, 360
    001ace06mov rbx, rsp
    001ace09mov rsp, [r14+64]
    001ace0dcall caml_initialize
    001ace12mov rsp, rbx
    001ace15lea rsi, [rip+0x18f28c]
    001ace1clea rdi, [rip+0x18f3dd]
    001ace23add rdi, 368
    001ace2amov rbx, rsp
    001ace2dmov rsp, [r14+64]
    001ace31call caml_initialize
    001ace36mov rsp, rbx
    001ace39lea rsi, [rip+0x18f288]
    001ace40lea rdi, [rip+0x18f3b9]
    001ace47add rdi, 376
    001ace4emov rbx, rsp
    001ace51mov rsp, [r14+64]
    001ace55call caml_initialize
    001ace5amov rsp, rbx
    001ace5dlea rsi, [rip+0x18f27c]
    001ace64lea rdi, [rip+0x18f395]
    001ace6badd rdi, 392
    001ace72mov rbx, rsp
    001ace75mov rsp, [r14+64]
    001ace79call caml_initialize
    001ace7emov rsp, rbx
    001ace81lea rsi, [rip+0x18f278]
    001ace88lea rdi, [rip+0x18f371]
    001ace8fadd rdi, 416
    001ace96mov rbx, rsp
    001ace99mov rsp, [r14+64]
    001ace9dcall caml_initialize
    001acea2mov rsp, rbx
    001acea5lea rsi, [rip+0x18f274]
    001aceaclea rdi, [rip+0x18f34d]
    001aceb3add rdi, 408
    001acebamov rbx, rsp
    001acebdmov rsp, [r14+64]
    001acec1call caml_initialize
    001acec6mov rsp, rbx
    001acec9lea rsi, [rip+0x18f270]
    001aced0lea rdi, [rip+0x18f329]
    001aced7add rdi, 424
    001acedemov rbx, rsp
    001acee1mov rsp, [r14+64]
    001acee5call caml_initialize
    001aceeamov rsp, rbx
    001aceedlea rsi, [rip+0x18f26c]
    001acef4lea rdi, [rip+0x18f305]
    001acefbadd rdi, 440
    001acf02mov rbx, rsp
    001acf05mov rsp, [r14+64]
    001acf09call caml_initialize
    001acf0emov rsp, rbx
    001acf11lea rsi, [rip+0x18f268]
    001acf18lea rdi, [rip+0x18f2e1]
    001acf1fadd rdi, 432
    001acf26mov rbx, rsp
    001acf29mov rsp, [r14+64]
    001acf2dcall caml_initialize
    001acf32mov rsp, rbx
    001acf35lea rsi, [rip+0x18f264]
    001acf3clea rdi, [rip+0x18f2bd]
    001acf43add rdi, 480
    001acf4amov rbx, rsp
    001acf4dmov rsp, [r14+64]
    001acf51call caml_initialize
    001acf56mov rsp, rbx
    001acf59lea rsi, [rip+0x18f260]
    001acf60lea rdi, [rip+0x18f299]
    001acf67add rdi, 472
    001acf6emov rbx, rsp
    001acf71mov rsp, [r14+64]
    001acf75call caml_initialize
    001acf7amov rsp, rbx
    001acf7dlea rsi, [rip+0x18f25c]
    001acf84lea rdi, [rip+0x18f275]
    001acf8badd rdi, 504
    001acf92mov rbx, rsp
    001acf95mov rsp, [r14+64]
    001acf99call caml_initialize
    001acf9emov rsp, rbx
    001acfa1lea rsi, [rip+0x18ea68]
    001acfa8lea rdi, [rip+0x18f251]
    001acfafadd rdi, 496
    001acfb6mov rbx, rsp
    001acfb9mov rsp, [r14+64]
    001acfbdcall caml_initialize
    001acfc2mov rsp, rbx
    001acfc5mov eax, 1
    001acfcaret
    001ac570
    001acfcb
    001acfcb // align 0x10
    001acfd0
    001acfd0Stdlib.Array.fun:
    001acfd0mov rdi, rax
    001acfd3lea rax, [rip+0x4d426]
    001acfdacall caml_c_call
    001acfdfret
    001acfd0
    001acfe0
    001acfe0Stdlib.Array.init:
    001acfe0lea r10, [rsp-352]
    001acfe8cmp r10, [r14+40]
    001acfecjb 0x1ad0e4
    001acff2
    001acff2loc_1acff2:
    001acff2sub rsp, 32
    001acff6cmp rax, 1
    001acffajne 0x1ad008
    001acffclea rax, [rip+0x190c9d]
    001ad003add rsp, 32
    001ad007ret
    001ad008
    001ad008loc_1ad008:
    001ad008cmp rax, 1
    001ad00cjge 0x1ad020
    001ad00elea rax, [rip+0x190bab]
    001ad015add rsp, 32
    001ad019jmp 0x195ab0
    001ad01e
    001ad01e 66 90 f.
    001ad020
    001ad020loc_1ad020:
    001ad020mov [rsp+8], rbx
    001ad025mov [rsp], rax
    001ad029mov eax, 1
    001ad02emov rdi, [rbx]
    001ad031call rdi
    001ad033mov rdi, [rsp]
    001ad037mov rsi, rax
    001ad03alea rax, [rip+0x4cc5f]
    001ad041call caml_c_call
    001ad046mov r13, rax
    001ad049mov r12l, 3
    001ad04fmov rax, [rsp]
    001ad053add rax, -2
    001ad057cmp r12, rax
    001ad05ajg 0x1ad0d5
    001ad05cmov [rsp+16], rax
    001ad061mov [rsp+24], r12
    001ad066mov [rsp], r13
    001ad06a
    001ad06aloc_1ad06a:
    001ad06amov rbx, [rsp+8]
    001ad06fmov rdi, [rbx]
    001ad072mov rax, r12
    001ad075call rdi
    001ad077mov r13, [rsp]
    001ad07bmovzx rbx, [r13-8]
    001ad080cmp rbx, 254
    001ad087je 0x1ad0a8
    001ad089mov r12, [rsp+24]
    001ad08elea rdi, [r13+4*r12-4]
    001ad093mov rsi, rax
    001ad096mov rbx, rsp
    001ad099mov rsp, [r14+64]
    001ad09dcall caml_modify
    001ad0a2mov rsp, rbx
    001ad0a5jmp 0x1ad0b8
    001ad0a7
    001ad0a7 90 .
    001ad0a8
    001ad0a8loc_1ad0a8:
    001ad0a8movsd_xmm x0, [rax]
    001ad0acmov r12, [rsp+24]
    001ad0b1movsd_xmm [r13+4*r12-4], x0
    001ad0b8
    001ad0b8loc_1ad0b8:
    001ad0b8mov rax, r12
    001ad0bbadd r12, 2
    001ad0bfmov [rsp+24], r12
    001ad0c4mov rbx, [rsp+16]
    001ad0c9cmp rax, rbx
    001ad0ccje 0x1ad0d5
    001ad0cecmp r15, [r14]
    001ad0d1ja 0x1ad06a
    001ad0d3jmp 0x1ad0dd
    001ad0d5
    001ad0d5loc_1ad0d5:
    001ad0d5mov rax, r13
    001ad0d8add rsp, 32
    001ad0dcret
    001ad0dd
    001ad0ddloc_1ad0dd:
    001ad0ddcall caml_call_gc
    001ad0e2jmp 0x1ad06a
    001ad0e4
    001ad0e4loc_1ad0e4:
    001ad0e4push 37
    001ad0e6call caml_call_realloc_stack
    001ad0ebpop r10
    001ad0edjmp 0x1acff2
    001acfe0
    001ad0f2
    001ad0f2 // align 0x10
    001ad100
    001ad100Stdlib.Array.make_matrix:
    001ad100lea r10, [rsp-360]
    001ad108cmp r10, [r14+40]
    001ad10cjb 0x1ad1e1
    001ad112
    001ad112loc_1ad112:
    001ad112sub rsp, 40
    001ad116mov [rsp], rax
    001ad11amov [rsp+8], rbx
    001ad11fmov [rsp+16], rdi
    001ad124cmp rbx, 1
    001ad128jge 0x1ad136
    001ad12alea rax, [rip+0x1909e7]
    001ad131call camlStdlib.invalid_arg_10
    001ad136
    001ad136loc_1ad136:
    001ad136lea rsi, [rip+0x190b63]
    001ad13dmov rdi, [rsp]
    001ad141lea rax, [rip+0x4cb58]
    001ad148call caml_c_call
    001ad14dmov r13, rax
    001ad150mov rdi, [rsp+8]
    001ad155cmp rdi, 1
    001ad159jle 0x1ad1d2
    001ad15bmov eax, 1
    001ad160mov rbx, [rsp]
    001ad164add rbx, -2
    001ad168cmp rax, rbx
    001ad16bjg 0x1ad1d2
    001ad16dmov [rsp+32], rbx
    001ad172mov [rsp], rax
    001ad176mov [rsp+24], r13
    001ad17bmov [rsp+8], rdi
    001ad180
    001ad180loc_1ad180:
    001ad180mov rdi, [rsp+8]
    001ad185mov rsi, [rsp+16]
    001ad18alea rax, [rip+0x4cb0f]
    001ad191call caml_c_call
    001ad196mov r12, [rsp]
    001ad19amov r13, [rsp+24]
    001ad19flea rdi, [r13+4*r12-4]
    001ad1a4mov rsi, rax
    001ad1a7mov rbx, rsp
    001ad1aamov rsp, [r14+64]
    001ad1aecall caml_modify
    001ad1b3mov rsp, rbx
    001ad1b6mov rax, r12
    001ad1b9add r12, 2
    001ad1bdmov [rsp], r12
    001ad1c1mov rbx, [rsp+32]
    001ad1c6cmp rax, rbx
    001ad1c9je 0x1ad1d2
    001ad1cbcmp r15, [r14]
    001ad1ceja 0x1ad180
    001ad1d0jmp 0x1ad1da
    001ad1d2
    001ad1d2loc_1ad1d2:
    001ad1d2mov rax, r13
    001ad1d5add rsp, 40
    001ad1d9ret
    001ad1da
    001ad1daloc_1ad1da:
    001ad1dacall caml_call_gc
    001ad1dfjmp 0x1ad180
    001ad1e1
    001ad1e1loc_1ad1e1:
    001ad1e1push 38
    001ad1e3call caml_call_realloc_stack
    001ad1e8pop r10
    001ad1eajmp 0x1ad112
    001ad100
    001ad1ef
    001ad1ef // align 0x10
    001ad1f0
    001ad1f0Stdlib.Array.init_matrix:
    001ad1f0lea r10, [rsp-384]
    001ad1f8cmp r10, [r14+40]
    001ad1fcjb 0x1ad392
    001ad202
    001ad202loc_1ad202:
    001ad202sub rsp, 64
    001ad206mov [rsp], rax
    001ad20amov [rsp+8], rbx
    001ad20fmov [rsp+32], rdi
    001ad214cmp rbx, 1
    001ad218jge 0x1ad226
    001ad21alea rax, [rip+0x1908d7]
    001ad221call camlStdlib.invalid_arg_10
    001ad226
    001ad226loc_1ad226:
    001ad226lea rsi, [rip+0x190a73]
    001ad22dmov rdi, [rsp]
    001ad231lea rax, [rip+0x4ca68]
    001ad238call caml_c_call
    001ad23dmov rbp, rax
    001ad240mov rbx, [rsp+8]
    001ad245cmp rbx, 1
    001ad249jle 0x1ad376
    001ad24fmov r12l, 1
    001ad255mov rax, [rsp]
    001ad259add rax, -2
    001ad25dcmp r12, rax
    001ad260jg 0x1ad376
    001ad266mov [rsp+16], rax
    001ad26bmov [rsp+24], r12
    001ad270mov [rsp], rbp
    001ad274mov [rsp+8], rbx
    001ad279
    001ad279loc_1ad279:
    001ad279mov ebx, 1
    001ad27emov rax, r12
    001ad281mov rdi, [rsp+32]
    001ad286call caml_apply2
    001ad28bmov rdi, [rsp+8]
    001ad290mov rsi, rax
    001ad293lea rax, [rip+0x4ca06]
    001ad29acall caml_c_call
    001ad29fmov r13, rax
    001ad2a2mov [rsp+40], r13
    001ad2a7mov r12l, 3
    001ad2admov [rsp+56], r12
    001ad2b2mov rax, [rsp+8]
    001ad2b7add rax, -2
    001ad2bbmov [rsp+48], rax
    001ad2c0cmp r12, rax
    001ad2c3jg 0x1ad335
    001ad2c5
    001ad2c5loc_1ad2c5:
    001ad2c5mov rax, [rsp+24]
    001ad2camov rbx, r12
    001ad2cdmov rdi, [rsp+32]
    001ad2d2call caml_apply2
    001ad2d7mov r13, [rsp+40]
    001ad2dcmovzx rbx, [r13-8]
    001ad2e1cmp rbx, 254
    001ad2e8je 0x1ad308
    001ad2eamov r12, [rsp+56]
    001ad2eflea rdi, [r13+4*r12-4]
    001ad2f4mov rsi, rax
    001ad2f7mov rbx, rsp
    001ad2famov rsp, [r14+64]
    001ad2fecall caml_modify
    001ad303mov rsp, rbx
    001ad306jmp 0x1ad318
    001ad308
    001ad308loc_1ad308:
    001ad308movsd_xmm x0, [rax]
    001ad30cmov r12, [rsp+56]
    001ad311movsd_xmm [r13+4*r12-4], x0
    001ad318
    001ad318loc_1ad318:
    001ad318mov rax, r12
    001ad31badd r12, 2
    001ad31fmov [rsp+56], r12
    001ad324mov rbx, [rsp+48]
    001ad329cmp rax, rbx
    001ad32cje 0x1ad335
    001ad32ecmp r15, [r14]
    001ad331ja 0x1ad2c5
    001ad333jmp 0x1ad388
    001ad335
    001ad335loc_1ad335:
    001ad335mov r12, [rsp+24]
    001ad33amov rbp, [rsp]
    001ad33elea rdi, [rbp+4*r12-4]
    001ad343mov rsi, r13
    001ad346mov rbx, rsp
    001ad349mov rsp, [r14+64]
    001ad34dcall caml_modify
    001ad352mov rsp, rbx
    001ad355mov rax, r12
    001ad358add r12, 2
    001ad35cmov [rsp+24], r12
    001ad361mov rbx, [rsp+16]
    001ad366cmp rax, rbx
    001ad369je 0x1ad376
    001ad36bcmp r15, [r14]
    001ad36eja 0x1ad279
    001ad374jmp 0x1ad37e
    001ad376
    001ad376loc_1ad376:
    001ad376mov rax, rbp
    001ad379add rsp, 64
    001ad37dret
    001ad37e
    001ad37eloc_1ad37e:
    001ad37ecall caml_call_gc
    001ad383jmp 0x1ad279
    001ad388
    001ad388loc_1ad388:
    001ad388call caml_call_gc
    001ad38djmp 0x1ad2c5
    001ad392
    001ad392loc_1ad392:
    001ad392push 41
    001ad394call caml_call_realloc_stack
    001ad399pop r10
    001ad39bjmp 0x1ad202
    001ad1f0
    001ad3a0
    001ad3a0Stdlib.Array.copy:
    001ad3a0mov rdx, [rax-8]
    001ad3a4shr rdx, 9
    001ad3a8or rdx, 1
    001ad3accmp rdx, 1
    001ad3b0jne 0x1ad3bc
    001ad3b2lea rax, [rip+0x1908e7]
    001ad3b9ret
    001ad3ba
    001ad3ba 66 90 f.
    001ad3bc
    001ad3bcloc_1ad3bc:
    001ad3bcmov esi, 1
    001ad3c1mov rdi, rax
    001ad3c4lea rax, [rip+0x4cdc5]
    001ad3cbcall caml_c_call
    001ad3d0ret
    001ad3a0
    001ad3d1
    001ad3d1 // align 0x10
    001ad3e0
    001ad3e0Stdlib.Array.append:
    001ad3e0mov rdi, rax
    001ad3e3mov rax, rbx
    001ad3e6mov rdx, [rdi-8]
    001ad3eashr rdx, 9
    001ad3eeor rdx, 1
    001ad3f2cmp rdx, 1
    001ad3f6jne 0x1ad400
    001ad3f8jmp 0x1ad3a0
    001ad3fd
    001ad3fd 0f 1f 00 ...
    001ad400
    001ad400loc_1ad400:
    001ad400mov rbx, [rax-8]
    001ad404shr rbx, 9
    001ad408or rbx, 1
    001ad40ccmp rbx, 1
    001ad410jne 0x1ad424
    001ad412mov esi, 1
    001ad417lea rax, [rip+0x4cd72]
    001ad41ecall caml_c_call
    001ad423ret
    001ad424
    001ad424loc_1ad424:
    001ad424mov rsi, rax
    001ad427lea rax, [rip+0x4cef2]
    001ad42ecall caml_c_call
    001ad433ret
    001ad3e0
    001ad434
    001ad434 // align 0x10
    001ad440
    001ad440Stdlib.Array.sub:
    001ad440mov rdx, rdi
    001ad443cmp rbx, 1
    001ad447jl 0x1ad47c
    001ad449cmp rdx, 1
    001ad44djl 0x1ad47c
    001ad44fmov rdi, [rax-8]
    001ad453shr rdi, 9
    001ad457or rdi, 1
    001ad45bsub rdi, rdx
    001ad45einc rdi
    001ad461cmp rbx, rdi
    001ad464jg 0x1ad47c
    001ad466mov rdi, rax
    001ad469mov rsi, rbx
    001ad46clea rax, [rip+0x4cd1d]
    001ad473call caml_c_call
    001ad478ret
    001ad479
    001ad479 0f 1f 00 ...
    001ad47c
    001ad47cloc_1ad47c:
    001ad47clea rax, [rip+0x19065d]
    001ad483jmp 0x195ab0
    001ad440
    001ad488
    001ad488 // align 0x10
    001ad490
    001ad490Stdlib.Array.fill:
    001ad490mov rdx, rdi
    001ad493mov rcx, rsi
    001ad496cmp rbx, 1
    001ad49ajl 0x1ad4cc
    001ad49ccmp rdx, 1
    001ad4a0jl 0x1ad4cc
    001ad4a2mov rdi, [rax-8]
    001ad4a6shr rdi, 9
    001ad4aaor rdi, 1
    001ad4aesub rdi, rdx
    001ad4b1inc rdi
    001ad4b4cmp rbx, rdi
    001ad4b7jg 0x1ad4cc
    001ad4b9mov rdi, rax
    001ad4bcmov rsi, rbx
    001ad4bflea rax, [rip+0x4d2ea]
    001ad4c6call caml_c_call
    001ad4cbret
    001ad4cc
    001ad4ccloc_1ad4cc:
    001ad4cclea rax, [rip+0x1905f5]
    001ad4d3jmp 0x195ab0
    001ad490
    001ad4d8
    001ad4d8 // align 0x10
    001ad4e0
    001ad4e0Stdlib.Array.blit:
    001ad4e0mov r9, rdi
    001ad4e3mov rcx, rsi
    001ad4e6mov r8, rdx
    001ad4e9cmp r8, 1
    001ad4edjl 0x1ad540
    001ad4efcmp rbx, 1
    001ad4f3jl 0x1ad540
    001ad4f5mov rdi, [rax-8]
    001ad4f9shr rdi, 9
    001ad4fdor rdi, 1
    001ad501sub rdi, r8
    001ad504inc rdi
    001ad507cmp rbx, rdi
    001ad50ajg 0x1ad540
    001ad50ccmp rcx, 1
    001ad510jl 0x1ad540
    001ad512mov rdi, [r9-8]
    001ad516shr rdi, 9
    001ad51aor rdi, 1
    001ad51esub rdi, r8
    001ad521inc rdi
    001ad524cmp rcx, rdi
    001ad527jg 0x1ad540
    001ad529mov rdi, rax
    001ad52cmov rsi, rbx
    001ad52fmov rdx, r9
    001ad532lea rax, [rip+0x4cb47]
    001ad539call caml_c_call
    001ad53eret
    001ad53f
    001ad53f 90 .
    001ad540
    001ad540loc_1ad540:
    001ad540lea rax, [rip+0x190569]
    001ad547jmp 0x195ab0
    001ad4e0
    001ad54c
    001ad54c // align 0x10
    001ad550
    001ad550Stdlib.Array.iter:
    001ad550lea r10, [rsp-352]
    001ad558cmp r10, [r14+40]
    001ad55cjb 0x1ad60f
    001ad562
    001ad562loc_1ad562:
    001ad562sub rsp, 32
    001ad566mov edi, 1
    001ad56bmov rsi, [rbx-8]
    001ad56fshr rsi, 9
    001ad573or rsi, 1
    001ad577add rsi, -2
    001ad57bcmp rdi, rsi
    001ad57ejg 0x1ad5f7
    001ad580mov [rsp+24], rsi
    001ad585mov [rsp+16], rdi
    001ad58amov [rsp], rbx
    001ad58emov [rsp+8], rax
    001ad593
    001ad593loc_1ad593:
    001ad593mov rbx, [rsp]
    001ad597movzx rax, [rbx-8]
    001ad59ccmp rax, 254
    001ad5a2je 0x1ad5ac
    001ad5a4mov rax, [rbx+4*rdi-4]
    001ad5a9jmp 0x1ad5cb
    001ad5ab
    001ad5ab 90 .
    001ad5ac
    001ad5acloc_1ad5ac:
    001ad5acsub r15, 16
    001ad5b0cmp r15, [r14]
    001ad5b3jb 0x1ad608
    001ad5b5
    001ad5b5loc_1ad5b5:
    001ad5b5lea rax, [r15+8]
    001ad5b9mov [rax-8], 1277
    001ad5c1movsd_xmm x0, [rbx+4*rdi-4]
    001ad5c7movsd_xmm [rax], x0
    001ad5cb
    001ad5cbloc_1ad5cb:
    001ad5cbmov rbx, [rsp+8]
    001ad5d0mov rdi, [rbx]
    001ad5d3call rdi
    001ad5d5mov rdi, [rsp+16]
    001ad5damov rax, rdi
    001ad5ddadd rdi, 2
    001ad5e1mov [rsp+16], rdi
    001ad5e6mov rbx, [rsp+24]
    001ad5ebcmp rax, rbx
    001ad5eeje 0x1ad5f7
    001ad5f0cmp r15, [r14]
    001ad5f3ja 0x1ad593
    001ad5f5jmp 0x1ad601
    001ad5f7
    001ad5f7loc_1ad5f7:
    001ad5f7mov eax, 1
    001ad5fcadd rsp, 32
    001ad600ret
    001ad601
    001ad601loc_1ad601:
    001ad601call caml_call_gc
    001ad606jmp 0x1ad593
    001ad608
    001ad608loc_1ad608:
    001ad608call caml_call_gc
    001ad60djmp 0x1ad5b5
    001ad60f
    001ad60floc_1ad60f:
    001ad60fpush 37
    001ad611call caml_call_realloc_stack
    001ad616pop r10
    001ad618jmp 0x1ad562
    001ad550
    001ad61d
    001ad61d // align 0x10
    001ad620
    001ad620Stdlib.Array.iter2:
    001ad620lea r10, [rsp-360]
    001ad628cmp r10, [r14+40]
    001ad62cjb 0x1ad758
    001ad632
    001ad632loc_1ad632:
    001ad632sub rsp, 40
    001ad636mov rsi, [rdi-8]
    001ad63ashr rsi, 9
    001ad63eor rsi, 1
    001ad642mov rdx, [rbx-8]
    001ad646shr rdx, 9
    001ad64aor rdx, 1
    001ad64ecmp rdx, rsi
    001ad651je 0x1ad664
    001ad653lea rax, [rip+0x19041e]
    001ad65aadd rsp, 40
    001ad65ejmp 0x195ab0
    001ad663
    001ad663 90 .
    001ad664
    001ad664loc_1ad664:
    001ad664mov esi, 1
    001ad669add rdx, -2
    001ad66dcmp rsi, rdx
    001ad670jg 0x1ad733
    001ad676mov [rsp+32], rdx
    001ad67bmov [rsp+24], rsi
    001ad680mov [rsp], rdi
    001ad684mov [rsp+8], rbx
    001ad689mov [rsp+16], rax
    001ad68e
    001ad68eloc_1ad68e:
    001ad68emov rdi, [rsp]
    001ad692movzx rax, [rdi-8]
    001ad697cmp rax, 254
    001ad69dje 0x1ad6a8
    001ad69fmov rbx, [rdi+4*rsi-4]
    001ad6a4jmp 0x1ad6cb
    001ad6a6
    001ad6a6 66 90 f.
    001ad6a8
    001ad6a8loc_1ad6a8:
    001ad6a8sub r15, 16
    001ad6accmp r15, [r14]
    001ad6afjb 0x1ad74e
    001ad6b5
    001ad6b5loc_1ad6b5:
    001ad6b5lea rbx, [r15+8]
    001ad6b9mov [rbx-8], 1277
    001ad6c1movsd_xmm x0, [rdi+4*rsi-4]
    001ad6c7movsd_xmm [rbx], x0
    001ad6cb
    001ad6cbloc_1ad6cb:
    001ad6cbmov rdi, [rsp+8]
    001ad6d0movzx rax, [rdi-8]
    001ad6d5cmp rax, 254
    001ad6dbje 0x1ad6e4
    001ad6ddmov rax, [rdi+4*rsi-4]
    001ad6e2jmp 0x1ad703
    001ad6e4
    001ad6e4loc_1ad6e4:
    001ad6e4sub r15, 16
    001ad6e8cmp r15, [r14]
    001ad6ebjb 0x1ad747
    001ad6ed
    001ad6edloc_1ad6ed:
    001ad6edlea rax, [r15+8]
    001ad6f1mov [rax-8], 1277
    001ad6f9movsd_xmm x0, [rdi+4*rsi-4]
    001ad6ffmovsd_xmm [rax], x0
    001ad703
    001ad703loc_1ad703:
    001ad703mov rdi, [rsp+16]
    001ad708call caml_apply2
    001ad70dmov rsi, [rsp+24]
    001ad712mov rax, rsi
    001ad715add rsi, 2
    001ad719mov [rsp+24], rsi
    001ad71emov rbx, [rsp+32]
    001ad723cmp rax, rbx
    001ad726je 0x1ad733
    001ad728cmp r15, [r14]
    001ad72bja 0x1ad68e
    001ad731jmp 0x1ad73d
    001ad733
    001ad733loc_1ad733:
    001ad733mov eax, 1
    001ad738add rsp, 40
    001ad73cret
    001ad73d
    001ad73dloc_1ad73d:
    001ad73dcall caml_call_gc
    001ad742jmp 0x1ad68e
    001ad747
    001ad747loc_1ad747:
    001ad747call caml_call_gc
    001ad74cjmp 0x1ad6ed
    001ad74e
    001ad74eloc_1ad74e:
    001ad74ecall caml_call_gc
    001ad753jmp 0x1ad6b5
    001ad758
    001ad758loc_1ad758:
    001ad758push 38
    001ad75acall caml_call_realloc_stack
    001ad75fpop r10
    001ad761jmp 0x1ad632
    001ad620
    001ad766
    001ad766 // align 0x10
    001ad770
    001ad770Stdlib.Array.map:
    001ad770lea r10, [rsp-360]
    001ad778cmp r10, [r14+40]
    001ad77cjb 0x1ad8ff
    001ad782
    001ad782loc_1ad782:
    001ad782sub rsp, 40
    001ad786mov rdi, rax
    001ad789mov rax, [rbx-8]
    001ad78dshr rax, 9
    001ad791or rax, 1
    001ad795cmp rax, 1
    001ad799jne 0x1ad7a8
    001ad79blea rax, [rip+0x1904fe]
    001ad7a2add rsp, 40
    001ad7a6ret
    001ad7a7
    001ad7a7 90 .
    001ad7a8
    001ad7a8loc_1ad7a8:
    001ad7a8mov [rsp], rax
    001ad7acmov [rsp+8], rbx
    001ad7b1mov [rsp+16], rdi
    001ad7b6movzx rax, [rbx-8]
    001ad7bbcmp rax, 254
    001ad7c1je 0x1ad7c8
    001ad7c3mov rax, [rbx]
    001ad7c6jmp 0x1ad7e9
    001ad7c8
    001ad7c8loc_1ad7c8:
    001ad7c8sub r15, 16
    001ad7cccmp r15, [r14]
    001ad7cfjb 0x1ad8f5
    001ad7d5
    001ad7d5loc_1ad7d5:
    001ad7d5lea rax, [r15+8]
    001ad7d9mov [rax-8], 1277
    001ad7e1movsd_xmm x0, [rbx]
    001ad7e5movsd_xmm [rax], x0
    001ad7e9
    001ad7e9loc_1ad7e9:
    001ad7e9mov rsi, [rdi]
    001ad7ecmov rbx, rdi
    001ad7efcall rsi
    001ad7f1mov rdi, [rsp]
    001ad7f5mov rsi, rax
    001ad7f8lea rax, [rip+0x4c4a1]
    001ad7ffcall caml_c_call
    001ad804mov r13, rax
    001ad807mov r12l, 3
    001ad80dmov rax, [rsp]
    001ad811add rax, -2
    001ad815cmp r12, rax
    001ad818jg 0x1ad8d9
    001ad81emov [rsp+24], rax
    001ad823mov [rsp+32], r12
    001ad828mov [rsp], r13
    001ad82c
    001ad82cloc_1ad82c:
    001ad82cmov rbx, [rsp+8]
    001ad831movzx rax, [rbx-8]
    001ad836cmp rax, 254
    001ad83cje 0x1ad848
    001ad83emov rax, [rbx+4*r12-4]
    001ad843jmp 0x1ad86c
    001ad845
    001ad845 0f 1f 00 ...
    001ad848
    001ad848loc_1ad848:
    001ad848sub r15, 16
    001ad84ccmp r15, [r14]
    001ad84fjb 0x1ad8eb
    001ad855
    001ad855loc_1ad855:
    001ad855lea rax, [r15+8]
    001ad859mov [rax-8], 1277
    001ad861movsd_xmm x0, [rbx+4*r12-4]
    001ad868movsd_xmm [rax], x0
    001ad86c
    001ad86cloc_1ad86c:
    001ad86cmov rbx, [rsp+16]
    001ad871mov rdi, [rbx]
    001ad874call rdi
    001ad876mov r13, [rsp]
    001ad87amovzx rbx, [r13-8]
    001ad87fcmp rbx, 254
    001ad886je 0x1ad8a8
    001ad888mov r12, [rsp+32]
    001ad88dlea rdi, [r13+4*r12-4]
    001ad892mov rsi, rax
    001ad895mov rbx, rsp
    001ad898mov rsp, [r14+64]
    001ad89ccall caml_modify
    001ad8a1mov rsp, rbx
    001ad8a4jmp 0x1ad8b8
    001ad8a6
    001ad8a6 66 90 f.
    001ad8a8
    001ad8a8loc_1ad8a8:
    001ad8a8movsd_xmm x0, [rax]
    001ad8acmov r12, [rsp+32]
    001ad8b1movsd_xmm [r13+4*r12-4], x0
    001ad8b8
    001ad8b8loc_1ad8b8:
    001ad8b8mov rax, r12
    001ad8bbadd r12, 2
    001ad8bfmov [rsp+32], r12
    001ad8c4mov rbx, [rsp+24]
    001ad8c9cmp rax, rbx
    001ad8ccje 0x1ad8d9
    001ad8cecmp r15, [r14]
    001ad8d1ja 0x1ad82c
    001ad8d7jmp 0x1ad8e1
    001ad8d9
    001ad8d9loc_1ad8d9:
    001ad8d9mov rax, r13
    001ad8dcadd rsp, 40
    001ad8e0ret
    001ad8e1
    001ad8e1loc_1ad8e1:
    001ad8e1call caml_call_gc
    001ad8e6jmp 0x1ad82c
    001ad8eb
    001ad8ebloc_1ad8eb:
    001ad8ebcall caml_call_gc
    001ad8f0jmp 0x1ad855
    001ad8f5
    001ad8f5loc_1ad8f5:
    001ad8f5call caml_call_gc
    001ad8fajmp 0x1ad7d5
    001ad8ff
    001ad8ffloc_1ad8ff:
    001ad8ffpush 38
    001ad901call caml_call_realloc_stack
    001ad906pop r10
    001ad908jmp 0x1ad782
    001ad770
    001ad90d
    001ad90d // align 0x10
    001ad910
    001ad910Stdlib.Array.map_inplace:
    001ad910lea r10, [rsp-352]
    001ad918cmp r10, [r14+40]
    001ad91cjb 0x1ada1f
    001ad922
    001ad922loc_1ad922:
    001ad922sub rsp, 32
    001ad926mov r13, rbx
    001ad929mov r12l, 1
    001ad92fmov rbx, [r13-8]
    001ad933shr rbx, 9
    001ad937or rbx, 1
    001ad93badd rbx, -2
    001ad93fcmp r12, rbx
    001ad942jg 0x1ada01
    001ad948mov [rsp+16], rbx
    001ad94dmov [rsp+24], r12
    001ad952mov [rsp+8], r13
    001ad957mov [rsp], rax
    001ad95b
    001ad95bloc_1ad95b:
    001ad95bmovzx rax, [r13-8]
    001ad960cmp rax, 254
    001ad966je 0x1ad970
    001ad968mov rax, [r13+4*r12-4]
    001ad96djmp 0x1ad994
    001ad96f
    001ad96f 90 .
    001ad970
    001ad970loc_1ad970:
    001ad970sub r15, 16
    001ad974cmp r15, [r14]
    001ad977jb 0x1ada15
    001ad97d
    001ad97dloc_1ad97d:
    001ad97dlea rax, [r15+8]
    001ad981mov [rax-8], 1277
    001ad989movsd_xmm x0, [r13+4*r12-4]
    001ad990movsd_xmm [rax], x0
    001ad994
    001ad994loc_1ad994:
    001ad994mov rbx, [rsp]
    001ad998mov rdi, [rbx]
    001ad99bcall rdi
    001ad99dmov r13, [rsp+8]
    001ad9a2movzx rbx, [r13-8]
    001ad9a7cmp rbx, 254
    001ad9aeje 0x1ad9d0
    001ad9b0mov r12, [rsp+24]
    001ad9b5lea rdi, [r13+4*r12-4]
    001ad9bamov rsi, rax
    001ad9bdmov rbx, rsp
    001ad9c0mov rsp, [r14+64]
    001ad9c4call caml_modify
    001ad9c9mov rsp, rbx
    001ad9ccjmp 0x1ad9e0
    001ad9ce
    001ad9ce 66 90 f.
    001ad9d0
    001ad9d0loc_1ad9d0:
    001ad9d0movsd_xmm x0, [rax]
    001ad9d4mov r12, [rsp+24]
    001ad9d9movsd_xmm [r13+4*r12-4], x0
    001ad9e0
    001ad9e0loc_1ad9e0:
    001ad9e0mov rax, r12
    001ad9e3add r12, 2
    001ad9e7mov [rsp+24], r12
    001ad9ecmov rbx, [rsp+16]
    001ad9f1cmp rax, rbx
    001ad9f4je 0x1ada01
    001ad9f6cmp r15, [r14]
    001ad9f9ja 0x1ad95b
    001ad9ffjmp 0x1ada0b
    001ada01
    001ada01loc_1ada01:
    001ada01mov eax, 1
    001ada06add rsp, 32
    001ada0aret
    001ada0b
    001ada0bloc_1ada0b:
    001ada0bcall caml_call_gc
    001ada10jmp 0x1ad95b
    001ada15
    001ada15loc_1ada15:
    001ada15call caml_call_gc
    001ada1ajmp 0x1ad97d
    001ada1f
    001ada1floc_1ada1f:
    001ada1fpush 37
    001ada21call caml_call_realloc_stack
    001ada26pop r10
    001ada28jmp 0x1ad922
    001ad910
    001ada2d
    001ada2d // align 0x10
    001ada30
    001ada30Stdlib.Array.mapi_inplace:
    001ada30lea r10, [rsp-352]
    001ada38cmp r10, [r14+40]
    001ada3cjb 0x1adb43
    001ada42
    001ada42loc_1ada42:
    001ada42sub rsp, 32
    001ada46mov r13, rbx
    001ada49mov r12l, 1
    001ada4fmov rbx, [r13-8]
    001ada53shr rbx, 9
    001ada57or rbx, 1
    001ada5badd rbx, -2
    001ada5fcmp r12, rbx
    001ada62jg 0x1adb25
    001ada68mov [rsp+16], rbx
    001ada6dmov [rsp+24], r12
    001ada72mov [rsp+8], r13
    001ada77mov [rsp], rax
    001ada7b
    001ada7bloc_1ada7b:
    001ada7bmovzx rax, [r13-8]
    001ada80cmp rax, 254
    001ada86je 0x1ada90
    001ada88mov rbx, [r13+4*r12-4]
    001ada8djmp 0x1adab4
    001ada8f
    001ada8f 90 .
    001ada90
    001ada90loc_1ada90:
    001ada90sub r15, 16
    001ada94cmp r15, [r14]
    001ada97jb 0x1adb39
    001ada9d
    001ada9dloc_1ada9d:
    001ada9dlea rbx, [r15+8]
    001adaa1mov [rbx-8], 1277
    001adaa9movsd_xmm x0, [r13+4*r12-4]
    001adab0movsd_xmm [rbx], x0
    001adab4
    001adab4loc_1adab4:
    001adab4mov rax, r12
    001adab7mov rdi, [rsp]
    001adabbcall caml_apply2
    001adac0mov r13, [rsp+8]
    001adac5movzx rbx, [r13-8]
    001adacacmp rbx, 254
    001adad1je 0x1adaf4
    001adad3mov r12, [rsp+24]
    001adad8lea rdi, [r13+4*r12-4]
    001adaddmov rsi, rax
    001adae0mov rbx, rsp
    001adae3mov rsp, [r14+64]
    001adae7call caml_modify
    001adaecmov rsp, rbx
    001adaefjmp 0x1adb04
    001adaf1
    001adaf1 0f 1f 00 ...
    001adaf4
    001adaf4loc_1adaf4:
    001adaf4movsd_xmm x0, [rax]
    001adaf8mov r12, [rsp+24]
    001adafdmovsd_xmm [r13+4*r12-4], x0
    001adb04
    001adb04loc_1adb04:
    001adb04mov rax, r12
    001adb07add r12, 2
    001adb0bmov [rsp+24], r12
    001adb10mov rbx, [rsp+16]
    001adb15cmp rax, rbx
    001adb18je 0x1adb25
    001adb1acmp r15, [r14]
    001adb1dja 0x1ada7b
    001adb23jmp 0x1adb2f
    001adb25
    001adb25loc_1adb25:
    001adb25mov eax, 1
    001adb2aadd rsp, 32
    001adb2eret
    001adb2f
    001adb2floc_1adb2f:
    001adb2fcall caml_call_gc
    001adb34jmp 0x1ada7b
    001adb39
    001adb39loc_1adb39:
    001adb39call caml_call_gc
    001adb3ejmp 0x1ada9d
    001adb43
    001adb43loc_1adb43:
    001adb43push 37
    001adb45call caml_call_realloc_stack
    001adb4apop r10
    001adb4cjmp 0x1ada42
    001ada30
    001adb51
    001adb51 // align 0x10
    001adb60
    001adb60Stdlib.Array.map2:
    001adb60lea r10, [rsp-368]
    001adb68cmp r10, [r14+40]
    001adb6cjb 0x1adda7
    001adb72
    001adb72loc_1adb72:
    001adb72sub rsp, 48
    001adb76mov rdx, rax
    001adb79mov rsi, rbx
    001adb7cmov rax, [rsi-8]
    001adb80shr rax, 9
    001adb84or rax, 1
    001adb88mov rbx, [rdi-8]
    001adb8cshr rbx, 9
    001adb90or rbx, 1
    001adb94cmp rax, rbx
    001adb97je 0x1adbac
    001adb99lea rax, [rip+0x18fea0]
    001adba0add rsp, 48
    001adba4jmp 0x195ab0
    001adba9
    001adba9 0f 1f 00 ...
    001adbac
    001adbacloc_1adbac:
    001adbaccmp rax, 1
    001adbb0jne 0x1adbc0
    001adbb2lea rax, [rip+0x1900e7]
    001adbb9add rsp, 48
    001adbbdret
    001adbbe
    001adbbe 66 90 f.
    001adbc0
    001adbc0loc_1adbc0:
    001adbc0mov [rsp], rax
    001adbc4mov [rsp+8], rdi
    001adbc9mov [rsp+16], rsi
    001adbcemov [rsp+24], rdx
    001adbd3movzx rax, [rdi-8]
    001adbd8cmp rax, 254
    001adbdeje 0x1adbe8
    001adbe0mov rbx, [rdi]
    001adbe3jmp 0x1adc09
    001adbe5
    001adbe5 0f 1f 00 ...
    001adbe8
    001adbe8loc_1adbe8:
    001adbe8sub r15, 16
    001adbeccmp r15, [r14]
    001adbefjb 0x1add9d
    001adbf5
    001adbf5loc_1adbf5:
    001adbf5lea rbx, [r15+8]
    001adbf9mov [rbx-8], 1277
    001adc01movsd_xmm x0, [rdi]
    001adc05movsd_xmm [rbx], x0
    001adc09
    001adc09loc_1adc09:
    001adc09movzx rax, [rsi-8]
    001adc0ecmp rax, 254
    001adc14je 0x1adc1c
    001adc16mov rax, [rsi]
    001adc19jmp 0x1adc3d
    001adc1b
    001adc1b 90 .
    001adc1c
    001adc1cloc_1adc1c:
    001adc1csub r15, 16
    001adc20cmp r15, [r14]
    001adc23jb 0x1add93
    001adc29
    001adc29loc_1adc29:
    001adc29lea rax, [r15+8]
    001adc2dmov [rax-8], 1277
    001adc35movsd_xmm x0, [rsi]
    001adc39movsd_xmm [rax], x0
    001adc3d
    001adc3dloc_1adc3d:
    001adc3dmov rdi, rdx
    001adc40call caml_apply2
    001adc45mov rdi, [rsp]
    001adc49mov rsi, rax
    001adc4clea rax, [rip+0x4c04d]
    001adc53call caml_c_call
    001adc58mov r13, rax
    001adc5bmov r12l, 3
    001adc61mov rax, [rsp]
    001adc65add rax, -2
    001adc69cmp r12, rax
    001adc6cjg 0x1add6d
    001adc72mov [rsp+32], rax
    001adc77mov [rsp+40], r12
    001adc7cmov [rsp], r13
    001adc80
    001adc80loc_1adc80:
    001adc80mov rdi, [rsp+8]
    001adc85movzx rax, [rdi-8]
    001adc8acmp rax, 254
    001adc90je 0x1adc9c
    001adc92mov rbx, [rdi+4*r12-4]
    001adc97jmp 0x1adcc0
    001adc99
    001adc99 0f 1f 00 ...
    001adc9c
    001adc9cloc_1adc9c:
    001adc9csub r15, 16
    001adca0cmp r15, [r14]
    001adca3jb 0x1add89
    001adca9
    001adca9loc_1adca9:
    001adca9lea rbx, [r15+8]
    001adcadmov [rbx-8], 1277
    001adcb5movsd_xmm x0, [rdi+4*r12-4]
    001adcbcmovsd_xmm [rbx], x0
    001adcc0
    001adcc0loc_1adcc0:
    001adcc0mov rdi, [rsp+16]
    001adcc5movzx rax, [rdi-8]
    001adccacmp rax, 254
    001adcd0je 0x1adcdc
    001adcd2mov rax, [rdi+4*r12-4]
    001adcd7jmp 0x1add00
    001adcd9
    001adcd9 0f 1f 00 ...
    001adcdc
    001adcdcloc_1adcdc:
    001adcdcsub r15, 16
    001adce0cmp r15, [r14]
    001adce3jb 0x1add7f
    001adce9
    001adce9loc_1adce9:
    001adce9lea rax, [r15+8]
    001adcedmov [rax-8], 1277
    001adcf5movsd_xmm x0, [rdi+4*r12-4]
    001adcfcmovsd_xmm [rax], x0
    001add00
    001add00loc_1add00:
    001add00mov rdi, [rsp+24]
    001add05call caml_apply2
    001add0amov r13, [rsp]
    001add0emovzx rbx, [r13-8]
    001add13cmp rbx, 254
    001add1aje 0x1add3c
    001add1cmov r12, [rsp+40]
    001add21lea rdi, [r13+4*r12-4]
    001add26mov rsi, rax
    001add29mov rbx, rsp
    001add2cmov rsp, [r14+64]
    001add30call caml_modify
    001add35mov rsp, rbx
    001add38jmp 0x1add4c
    001add3a
    001add3a 66 90 f.
    001add3c
    001add3cloc_1add3c:
    001add3cmovsd_xmm x0, [rax]
    001add40mov r12, [rsp+40]
    001add45movsd_xmm [r13+4*r12-4], x0
    001add4c
    001add4cloc_1add4c:
    001add4cmov rax, r12
    001add4fadd r12, 2
    001add53mov [rsp+40], r12
    001add58mov rbx, [rsp+32]
    001add5dcmp rax, rbx
    001add60je 0x1add6d
    001add62cmp r15, [r14]
    001add65ja 0x1adc80
    001add6bjmp 0x1add75
    001add6d
    001add6dloc_1add6d:
    001add6dmov rax, r13
    001add70add rsp, 48
    001add74ret
    001add75
    001add75loc_1add75:
    001add75call caml_call_gc
    001add7ajmp 0x1adc80
    001add7f
    001add7floc_1add7f:
    001add7fcall caml_call_gc
    001add84jmp 0x1adce9
    001add89
    001add89loc_1add89:
    001add89call caml_call_gc
    001add8ejmp 0x1adca9
    001add93
    001add93loc_1add93:
    001add93call caml_call_gc
    001add98jmp 0x1adc29
    001add9d
    001add9dloc_1add9d:
    001add9dcall caml_call_gc
    001adda2jmp 0x1adbf5
    001adda7
    001adda7loc_1adda7:
    001adda7push 39
    001adda9call caml_call_realloc_stack
    001addaepop r10
    001addb0jmp 0x1adb72
    001adb60
    001addb5
    001addb5 // align 0x10
    001addc0
    001addc0Stdlib.Array.iteri:
    001addc0lea r10, [rsp-352]
    001addc8cmp r10, [r14+40]
    001addccjb 0x1ade83
    001addd2
    001addd2loc_1addd2:
    001addd2sub rsp, 32
    001addd6mov rdi, rax
    001addd9mov eax, 1
    001adddemov rsi, [rbx-8]
    001adde2shr rsi, 9
    001adde6or rsi, 1
    001addeaadd rsi, -2
    001addeecmp rax, rsi
    001addf1jg 0x1ade6b
    001addf3mov [rsp+24], rsi
    001addf8mov [rsp+16], rax
    001addfdmov [rsp], rbx
    001ade01mov [rsp+8], rdi
    001ade06
    001ade06loc_1ade06:
    001ade06mov rdi, [rsp]
    001ade0amovzx rbx, [rdi-8]
    001ade0fcmp rbx, 254
    001ade16je 0x1ade20
    001ade18mov rbx, [rdi+4*rax-4]
    001ade1djmp 0x1ade3f
    001ade1f
    001ade1f 90 .
    001ade20
    001ade20loc_1ade20:
    001ade20sub r15, 16
    001ade24cmp r15, [r14]
    001ade27jb 0x1ade7c
    001ade29
    001ade29loc_1ade29:
    001ade29lea rbx, [r15+8]
    001ade2dmov [rbx-8], 1277
    001ade35movsd_xmm x0, [rdi+4*rax-4]
    001ade3bmovsd_xmm [rbx], x0
    001ade3f
    001ade3floc_1ade3f:
    001ade3fmov rdi, [rsp+8]
    001ade44call caml_apply2
    001ade49mov rax, [rsp+16]
    001ade4emov rbx, rax
    001ade51add rax, 2
    001ade55mov [rsp+16], rax
    001ade5amov rdi, [rsp+24]
    001ade5fcmp rbx, rdi
    001ade62je 0x1ade6b
    001ade64cmp r15, [r14]
    001ade67ja 0x1ade06
    001ade69jmp 0x1ade75
    001ade6b
    001ade6bloc_1ade6b:
    001ade6bmov eax, 1
    001ade70add rsp, 32
    001ade74ret
    001ade75
    001ade75loc_1ade75:
    001ade75call caml_call_gc
    001ade7ajmp 0x1ade06
    001ade7c
    001ade7cloc_1ade7c:
    001ade7ccall caml_call_gc
    001ade81jmp 0x1ade29
    001ade83
    001ade83loc_1ade83:
    001ade83push 37
    001ade85call caml_call_realloc_stack
    001ade8apop r10
    001ade8cjmp 0x1addd2
    001addc0
    001ade91
    001ade91 // align 0x10
    001adea0
    001adea0Stdlib.Array.mapi:
    001adea0lea r10, [rsp-360]
    001adea8cmp r10, [r14+40]
    001adeacjb 0x1ae037
    001adeb2
    001adeb2loc_1adeb2:
    001adeb2sub rsp, 40
    001adeb6mov rdi, rax
    001adeb9mov rax, [rbx-8]
    001adebdshr rax, 9
    001adec1or rax, 1
    001adec5cmp rax, 1
    001adec9jne 0x1aded8
    001adecblea rax, [rip+0x18fdce]
    001aded2add rsp, 40
    001aded6ret
    001aded7
    001aded7 90 .
    001aded8
    001aded8loc_1aded8:
    001aded8mov [rsp], rax
    001adedcmov [rsp+8], rbx
    001adee1mov [rsp+16], rdi
    001adee6movzx rax, [rbx-8]
    001adeebcmp rax, 254
    001adef1je 0x1adef8
    001adef3mov rbx, [rbx]
    001adef6jmp 0x1adf1c
    001adef8
    001adef8loc_1adef8:
    001adef8sub r15, 16
    001adefccmp r15, [r14]
    001adeffjb 0x1ae02d
    001adf05
    001adf05loc_1adf05:
    001adf05lea rax, [r15+8]
    001adf09mov [rax-8], 1277
    001adf11movsd_xmm x0, [rbx]
    001adf15movsd_xmm [rax], x0
    001adf19mov rbx, rax
    001adf1c
    001adf1cloc_1adf1c:
    001adf1cmov eax, 1
    001adf21call caml_apply2
    001adf26mov rdi, [rsp]
    001adf2amov rsi, rax
    001adf2dlea rax, [rip+0x4bd6c]
    001adf34call caml_c_call
    001adf39mov r13, rax
    001adf3cmov r12l, 3
    001adf42mov rax, [rsp]
    001adf46add rax, -2
    001adf4acmp r12, rax
    001adf4djg 0x1ae011
    001adf53mov [rsp+24], rax
    001adf58mov [rsp+32], r12
    001adf5dmov [rsp], r13
    001adf61
    001adf61loc_1adf61:
    001adf61mov rdi, [rsp+8]
    001adf66movzx rax, [rdi-8]
    001adf6bcmp rax, 254
    001adf71je 0x1adf7c
    001adf73mov rbx, [rdi+4*r12-4]
    001adf78jmp 0x1adfa0
    001adf7a
    001adf7a 66 90 f.
    001adf7c
    001adf7cloc_1adf7c:
    001adf7csub r15, 16
    001adf80cmp r15, [r14]
    001adf83jb 0x1ae023
    001adf89
    001adf89loc_1adf89:
    001adf89lea rbx, [r15+8]
    001adf8dmov [rbx-8], 1277
    001adf95movsd_xmm x0, [rdi+4*r12-4]
    001adf9cmovsd_xmm [rbx], x0
    001adfa0
    001adfa0loc_1adfa0:
    001adfa0mov rax, r12
    001adfa3mov rdi, [rsp+16]
    001adfa8call caml_apply2
    001adfadmov r13, [rsp]
    001adfb1movzx rbx, [r13-8]
    001adfb6cmp rbx, 254
    001adfbdje 0x1adfe0
    001adfbfmov r12, [rsp+32]
    001adfc4lea rdi, [r13+4*r12-4]
    001adfc9mov rsi, rax
    001adfccmov rbx, rsp
    001adfcfmov rsp, [r14+64]
    001adfd3call caml_modify
    001adfd8mov rsp, rbx
    001adfdbjmp 0x1adff0
    001adfdd
    001adfdd 0f 1f 00 ...
    001adfe0
    001adfe0loc_1adfe0:
    001adfe0movsd_xmm x0, [rax]
    001adfe4mov r12, [rsp+32]
    001adfe9movsd_xmm [r13+4*r12-4], x0
    001adff0
    001adff0loc_1adff0:
    001adff0mov rax, r12
    001adff3add r12, 2
    001adff7mov [rsp+32], r12
    001adffcmov rbx, [rsp+24]
    001ae001cmp rax, rbx
    001ae004je 0x1ae011
    001ae006cmp r15, [r14]
    001ae009ja 0x1adf61
    001ae00fjmp 0x1ae019
    001ae011
    001ae011loc_1ae011:
    001ae011mov rax, r13
    001ae014add rsp, 40
    001ae018ret
    001ae019
    001ae019loc_1ae019:
    001ae019call caml_call_gc
    001ae01ejmp 0x1adf61
    001ae023
    001ae023loc_1ae023:
    001ae023call caml_call_gc
    001ae028jmp 0x1adf89
    001ae02d
    001ae02dloc_1ae02d:
    001ae02dcall caml_call_gc
    001ae032jmp 0x1adf05
    001ae037
    001ae037loc_1ae037:
    001ae037push 38
    001ae039call caml_call_realloc_stack
    001ae03epop r10
    001ae040jmp 0x1adeb2
    001adea0
    001ae045
    001ae045 // align 0x10
    001ae050
    001ae050Stdlib.Array.to_list:
    001ae050sub r15, 40
    001ae054cmp r15, [r14]
    001ae057jb 0x1ae0a6
    001ae059
    001ae059loc_1ae059:
    001ae059lea rdi, [r15+8]
    001ae05dmov [rdi-8], 4343
    001ae065lea rbx, [rip-0xb704c]
    001ae06cmov [rdi], rbx
    001ae06fmov rbx, 0x200000000000007
    001ae079mov [rdi+8], rbx
    001ae07dlea rbx, [rip+44]
    001ae084mov [rdi+16], rbx
    001ae088mov [rdi+24], rax
    001ae08cmov ebx, 1
    001ae091mov rax, [rax-8]
    001ae095shr rax, 9
    001ae099or rax, 1
    001ae09dadd rax, -2
    001ae0a1jmp 0x1ae0b0
    001ae0a6
    001ae0a6loc_1ae0a6:
    001ae0a6call caml_call_gc
    001ae0abjmp 0x1ae059
    001ae050
    001ae0ad
    001ae0ad // align 0x10
    001ae0b0
    001ae0b0Stdlib.Array.tolist:
    001ae0b0cmp rax, 1
    001ae0b4jge 0x1ae0bc
    001ae0b6mov rax, rbx
    001ae0b9ret
    001ae0ba
    001ae0ba 66 90 f.
    001ae0bc
    001ae0bcloc_1ae0bc:
    001ae0bcmov rsi, [rdi+24]
    001ae0c0movzx rdx, [rsi-8]
    001ae0c5cmp rdx, 254
    001ae0ccje 0x1ae0d8
    001ae0cemov rdx, [rsi+4*rax-4]
    001ae0d3jmp 0x1ae0f7
    001ae0d5
    001ae0d5 0f 1f 00 ...
    001ae0d8
    001ae0d8loc_1ae0d8:
    001ae0d8sub r15, 16
    001ae0dccmp r15, [r14]
    001ae0dfjb 0x1ae123
    001ae0e1
    001ae0e1loc_1ae0e1:
    001ae0e1lea rdx, [r15+8]
    001ae0e5mov [rdx-8], 1277
    001ae0edmovsd_xmm x0, [rsi+4*rax-4]
    001ae0f3movsd_xmm [rdx], x0
    001ae0f7
    001ae0f7loc_1ae0f7:
    001ae0f7sub r15, 24
    001ae0fbcmp r15, [r14]
    001ae0fejb 0x1ae11c
    001ae100
    001ae100loc_1ae100:
    001ae100lea rsi, [r15+8]
    001ae104mov [rsi-8], 2048
    001ae10cmov [rsi], rdx
    001ae10fmov [rsi+8], rbx
    001ae113add rax, -2
    001ae117mov rbx, rsi
    001ae11ajmp 0x1ae0b0
    001ae11c
    001ae11cloc_1ae11c:
    001ae11ccall caml_call_gc
    001ae121jmp 0x1ae100
    001ae123
    001ae123loc_1ae123:
    001ae123call caml_call_gc
    001ae128jmp 0x1ae0e1
    001ae0b0