File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    001f7ac0
    001f7ac0caml_alloc:
    001f7ac0push r13
    001f7ac2push r12
    001f7ac4push rbp
    001f7ac5mov ebp, esi
    001f7ac7push rbx
    001f7ac8mov rbx, rdi
    001f7acbsub rsp, 8
    001f7acfcmp rdi, 256
    001f7ad6ja 0x1f7ba8
    001f7adctest rdi, rdi
    001f7adfje 0x1f7b90
    001f7ae5mov rax, [rip+0x7e4f8]
    001f7aecmov r12, [rax]
    001f7af0test r12, r12
    001f7af3je 0x1f7c10
    001f7af9lea r13, [8*rdi]
    001f7b01mov rax, -8
    001f7b08sub rax, r13
    001f7b0badd [r12+8], rax
    001f7b10mov rdx, [r12]
    001f7b14mov rax, [r12+8]
    001f7b19cmp rax, rdx
    001f7b1cjb 0x1f7be8
    001f7b22mov edx, ebp
    001f7b24shl rbx, 10
    001f7b28add rbx, rdx
    001f7b2bmov [rax], rbx
    001f7b2emov rsi, [r12+8]
    001f7b33lea rdx, [rsi+8]
    001f7b37cmp ebp, 250
    001f7b3dja 0x1f7b78
    001f7b3flea rcx, [rdx+r13]
    001f7b43and r13l, 8
    001f7b47mov rax, rdx
    001f7b4aje 0x1f7b60
    001f7b4clea rax, [rsi+16]
    001f7b50mov [rdx], 1
    001f7b57cmp rcx, rax
    001f7b5aje 0x1f7b78
    001f7b5cmov [rax], 1
    001f7b63add rax, 16
    001f7b67mov [rax-8], 1
    001f7b6fcmp rcx, rax
    001f7b72jne 0x1f7b60
    001f7b74add rsp, 8
    001f7b78
    001f7b78loc_1f7b78:
    001f7b78mov rax, rdx
    001f7b7bpop rbx
    001f7b7cpop rbp
    001f7b7dpop r12
    001f7b7fpop r13
    001f7b81ret
    001f7b82db 0x5c
    001f7b83pop r13
    001f7b85ret
    001f7b86
    001f7b86 66 2e 0f 1f 84 00 00 00 00 00 f.........
    001f7b90
    001f7b90loc_1f7b90:
    001f7b90add rsp, 8
    001f7b94mov edi, esi
    001f7b96pop rbx
    001f7b97pop rbp
    001f7b98pop r12
    001f7b9apop r13
    001f7b9cjmp 0x21ec80
    001f7ba1
    001f7ba1 0f 1f 80 00 00 00 00 .......
    001f7ba8
    001f7ba8loc_1f7ba8:
    001f7ba8call caml_alloc_shr
    001f7badmov rdi, rax
    001f7bb0cmp ebp, 250
    001f7bb6ja 0x1f7bd4
    001f7bb8mov rcx, rax
    001f7bbbxor edx, edx
    001f7bbdnop [rax]
    001f7bc0
    001f7bc0loc_1f7bc0:
    001f7bc0add rdx, 1
    001f7bc4mov [rcx], 1
    001f7bcbadd rcx, 8
    001f7bcfcmp rbx, rdx
    001f7bd2jne 0x1f7bc0
    001f7bd4
    001f7bd4loc_1f7bd4:
    001f7bd4add rsp, 8
    001f7bd8pop rbx
    001f7bd9pop rbp
    001f7bdapop r12
    001f7bdcpop r13
    001f7bdejmp 0x21aac0
    001f7be3
    001f7be3 0f 1f 44 00 00 ..D..
    001f7be8
    001f7be8loc_1f7be8:
    001f7be8mov rsi, rdi
    001f7bebxor r8l, r8l
    001f7beemov ecx, 1
    001f7bf3mov edx, 1
    001f7bf8mov rdi, r12
    001f7bfbcall caml_alloc_small_dispatch
    001f7c00mov rax, [r12+8]
    001f7c05jmp 0x1f7b26
    001f7c0a
    001f7c0a 66 0f 1f 44 00 00 f..D..
    001f7c10
    001f7c10loc_1f7c10:
    001f7c10call caml_bad_caml_state
    001f7ac0
    001f7c15
    001f7c15 // align 0x10
    001f7c20
    001f7c20caml_alloc_shr_check_gc:
    001f7c20push rbp
    001f7c21mov ebp, esi
    001f7c23push rbx
    001f7c24mov rbx, rdi
    001f7c27mov edi, 1
    001f7c2csub rsp, 8
    001f7c30call caml_check_urgent_gc
    001f7c35mov esi, ebp
    001f7c37mov rdi, rbx
    001f7c3acall caml_alloc_shr
    001f7c3ftest rbx, rbx
    001f7c42je 0x1f7c74
    001f7c44mov rcx, rax
    001f7c47xor edx, edx
    001f7c49nop [rax+rax]
    001f7c54nop [rax+rax]
    001f7c5cadd rdx, 1
    001f7c60
    001f7c60loc_1f7c60:
    001f7c60mov [rcx], 1
    001f7c67add rcx, 8
    001f7c6bcmp rbx, rdx
    001f7c6ejne 0x1f7c60
    001f7c70add rsp, 8
    001f7c74
    001f7c74loc_1f7c74:
    001f7c74pop rbx
    001f7c75pop rbp
    001f7c76ret
    001f7c77db 0x08
    001f7c78pop rbx
    001f7c79pop rbp
    001f7c7aret
    001f7c20
    001f7c7b
    001f7c7b // align 0x10
    001f7c80
    001f7c80caml_alloc_1:
    001f7c80push r13
    001f7c82push r12
    001f7c84push rbp
    001f7c85push rbx
    001f7c86sub rsp, 104
    001f7c8amov rcx, [0x28]
    001f7c93mov [rsp+88], rcx
    001f7c98mov rcx, [rip+0x7e345]
    001f7c9fmov rbx, [rcx]
    001f7ca3test rbx, rbx
    001f7ca6je 0x1f7d70
    001f7cacsub [rbx+8], 16
    001f7cb1mov rax, [rbx]
    001f7cb4mov ebp, edi
    001f7cb6mov rdx, [rbx+8]
    001f7cbacmp rdx, rax
    001f7cbdjb 0x1f7d00
    001f7cbfmov eax, ebp
    001f7cc1add rax, 1024
    001f7cc7mov [rdx], rax
    001f7ccamov rax, [rbx+8]
    001f7ccemov [rax+8], rsi
    001f7cd2add rax, 8
    001f7cd6mov rdx, [rsp+88]
    001f7cdbsub rdx, [0x28]
    001f7ce4jne 0x1f7d75
    001f7ceaadd rsp, 104
    001f7ceepop rbx
    001f7cefpop rbp
    001f7cf0pop r12
    001f7cf2pop r13
    001f7cf4ret
    001f7cf5db 0x5c
    001f7cf6pop r13
    001f7cf8ret
    001f7cf9
    001f7cf9 0f 1f 80 00 00 00 00 .......
    001f7d00
    001f7d00loc_1f7d00:
    001f7d00lea rax, [rsp+16]
    001f7d05mov edx, 1
    001f7d0axor r8l, r8l
    001f7d0dmov rdi, rbx
    001f7d10mov r12, [rcx]
    001f7d14mov [rsp+8], rsi
    001f7d19mov ecx, 1
    001f7d1emov esi, 1
    001f7d23mov r13, [r12+160]
    001f7d2bmov [r12+160], rax
    001f7d33mov eax, 1
    001f7d38movq x0, rax
    001f7d3dlea rax, [rsp+8]
    001f7d42punpcklqdq x0, x0
    001f7d46mov [rsp+16], r13
    001f7d4bmov [rsp+40], rax
    001f7d50movups [rsp+24], x0
    001f7d55call caml_alloc_small_dispatch
    001f7d5amov [r12+160], r13
    001f7d62mov rsi, [rsp+8]
    001f7d67mov rdx, [rbx+8]
    001f7d6bjmp 0x1f7cc3
    001f7d70
    001f7d70loc_1f7d70:
    001f7d70call caml_bad_caml_state
    001f7d75
    001f7d75loc_1f7d75:
    001f7d75call fn_f4590
    001f7c80
    001f7d7a
    001f7d7a // align 0x10
    001f7d80
    001f7d80caml_alloc_2:
    001f7d80push r13
    001f7d82push r12
    001f7d84push rbp
    001f7d85mov ebp, edi
    001f7d87push rbx
    001f7d88sub rsp, 104
    001f7d8cmov rdi, [0x28]
    001f7d95mov [rsp+88], rdi
    001f7d9amov rdi, rsi
    001f7d9dmov rsi, [rip+0x7e240]
    001f7da4mov rbx, [rsi]
    001f7da8test rbx, rbx
    001f7dabje 0x1f7e78
    001f7db1sub [rbx+8], 24
    001f7db6mov rax, [rbx]
    001f7db9mov rcx, [rbx+8]
    001f7dbdcmp rcx, rax
    001f7dc0jb 0x1f7e08
    001f7dc2mov eax, ebp
    001f7dc4add rax, 2048
    001f7dcamov [rcx], rax
    001f7dcdmov rax, [rbx+8]
    001f7dd1mov [rax+8], rdi
    001f7dd5lea rcx, [rax+8]
    001f7dd9mov [rax+16], rdx
    001f7dddmov rax, [rsp+88]
    001f7de2sub rax, [0x28]
    001f7debjne 0x1f7e7d
    001f7df1add rsp, 104
    001f7df5mov rax, rcx
    001f7df8pop rbx
    001f7df9pop rbp
    001f7dfapop r12
    001f7dfcpop r13
    001f7dferet
    001f7dffdb 0x5c
    001f7e00pop r13
    001f7e02ret
    001f7e03
    001f7e03 0f 1f 44 00 00 ..D..
    001f7e08
    001f7e08loc_1f7e08:
    001f7e08lea rax, [rsp+16]
    001f7e0dmov ecx, 1
    001f7e12xor r8l, r8l
    001f7e15mov r12, [rsi]
    001f7e19movdqa x0, [rip+0x3222f]
    001f7e21mov [rsp], rdi
    001f7e25mov esi, 2
    001f7e2amov [rsp+8], rdx
    001f7e2fmov rdi, rbx
    001f7e32mov edx, 1
    001f7e37mov r13, [r12+160]
    001f7e3fmov [r12+160], rax
    001f7e47mov [rsp+40], rsp
    001f7e4cmov [rsp+16], r13
    001f7e51movups [rsp+24], x0
    001f7e56call caml_alloc_small_dispatch
    001f7e5bmov rdi, [rsp]
    001f7e5fmov rdx, [rsp+8]
    001f7e64mov [r12+160], r13
    001f7e6cmov rcx, [rbx+8]
    001f7e70jmp 0x1f7dc6
    001f7e75
    001f7e75 0f 1f 00 ...
    001f7e78
    001f7e78loc_1f7e78:
    001f7e78call caml_bad_caml_state
    001f7e7d
    001f7e7dloc_1f7e7d:
    001f7e7dcall fn_f4590
    001f7d80
    001f7e82
    001f7e82 // align 0x10
    001f7e90
    001f7e90caml_alloc_3:
    001f7e90push r13
    001f7e92push r12
    001f7e94push rbp
    001f7e95push rbx
    001f7e96sub rsp, 120
    001f7e9amov r8, [0x28]
    001f7ea3mov [rsp+104], r8
    001f7ea8mov r8, rsi
    001f7eabmov rsi, [rip+0x7e132]
    001f7eb2mov rbx, [rsi]
    001f7eb6test rbx, rbx
    001f7eb9je 0x1f7fa0
    001f7ebfsub [rbx+8], 32
    001f7ec4mov ebp, edi
    001f7ec6mov rax, [rbx]
    001f7ec9mov rdi, rdx
    001f7eccmov rdx, rcx
    001f7ecfmov rcx, [rbx+8]
    001f7ed3cmp rcx, rax
    001f7ed6jb 0x1f7f20
    001f7ed8mov eax, ebp
    001f7edaadd rax, 3072
    001f7ee0mov [rcx], rax
    001f7ee3mov rax, [rbx+8]
    001f7ee7mov [rax+8], r8
    001f7eeblea rcx, [rax+8]
    001f7eefmov [rax+16], rdi
    001f7ef3mov [rax+24], rdx
    001f7ef7mov rax, [rsp+104]
    001f7efcsub rax, [0x28]
    001f7f05jne 0x1f7fa5
    001f7f0badd rsp, 120
    001f7f0fmov rax, rcx
    001f7f12pop rbx
    001f7f13pop rbp
    001f7f14pop r12
    001f7f16pop r13
    001f7f18ret
    001f7f19db 0x5c
    001f7f1apop r13
    001f7f1cret
    001f7f1d
    001f7f1d 0f 1f 00 ...
    001f7f20
    001f7f20loc_1f7f20:
    001f7f20lea rax, [rsp+32]
    001f7f25mov ecx, 1
    001f7f2amov r12, [rsi]
    001f7f2emovdqa x0, [rip+0x3212a]
    001f7f36mov [rsp], r8
    001f7f3amov esi, 3
    001f7f3fmov [rsp+8], rdi
    001f7f44xor r8l, r8l
    001f7f47mov rdi, rbx
    001f7f4amov r13, [r12+160]
    001f7f52mov [r12+160], rax
    001f7f5amov [rsp+16], rdx
    001f7f5fmov edx, 1
    001f7f64mov [rsp+32], r13
    001f7f69mov [rsp+56], rsp
    001f7f6emovups [rsp+40], x0
    001f7f73call caml_alloc_small_dispatch
    001f7f78mov r8, [rsp]
    001f7f7cmov rdi, [rsp+8]
    001f7f81mov [r12+160], r13
    001f7f89mov rdx, [rsp+16]
    001f7f8emov rcx, [rbx+8]
    001f7f92jmp 0x1f7edc
    001f7f97
    001f7f97 66 0f 1f 84 00 00 00 00 00 f........
    001f7fa0
    001f7fa0loc_1f7fa0:
    001f7fa0call caml_bad_caml_state
    001f7fa5
    001f7fa5loc_1f7fa5:
    001f7fa5call fn_f4590
    001f7e90
    001f7faa
    001f7faa // align 0x10
    001f7fb0
    001f7fb0caml_alloc_4:
    001f7fb0push r13
    001f7fb2push r12
    001f7fb4push rbp
    001f7fb5push rbx
    001f7fb6mov ebx, edi
    001f7fb8mov rdi, rsi
    001f7fbbmov rsi, rdx
    001f7fbesub rsp, 152
    001f7fc5mov rax, [0x28]
    001f7fcemov [rsp+136], rax
    001f7fd6mov rax, rcx
    001f7fd9mov rcx, [rip+0x7e004]
    001f7fe0mov rbp, [rcx]
    001f7fe4test rbp, rbp
    001f7fe7je 0x1f8108
    001f7fedsub [rbp+8], 40
    001f7ff2mov [rsp+8], rdx
    001f7ff7mov [rsp], rdi
    001f7ffbmov [rsp+16], rax
    001f8000mov [rsp+24], r8
    001f8005mov r9, [rbp]
    001f8009mov rdx, [rbp+8]
    001f800dcmp rdx, r9
    001f8010jb 0x1f8078
    001f8012add rbx, 4096
    001f8019mov [rdx], rbx
    001f801cmov rdx, [rsp]
    001f8020mov rax, [rbp+8]
    001f8024mov [rax+8], rdx
    001f8028mov rdx, [rsp+8]
    001f802dlea rcx, [rax+8]
    001f8031mov [rax+16], rdx
    001f8035mov rdx, [rsp+16]
    001f803amov [rax+24], rdx
    001f803emov rdx, [rsp+24]
    001f8043mov [rax+32], rdx
    001f8047mov rax, [rsp+136]
    001f804fsub rax, [0x28]
    001f8058jne 0x1f810d
    001f805eadd rsp, 152
    001f8065mov rax, rcx
    001f8068pop rbx
    001f8069pop rbp
    001f806apop r12
    001f806cpop r13
    001f806eret
    001f806fdb 0x5c
    001f8070pop r13
    001f8072ret
    001f8073
    001f8073 0f 1f 44 00 00 ..D..
    001f8078
    001f8078loc_1f8078:
    001f8078lea rdx, [rsp+64]
    001f807dmov r12, [rcx]
    001f8081mov [rsp+32], rdi
    001f8086mov ecx, 1
    001f808bmov rdi, rbp
    001f808emovdqa x0, [rip+0x31fda]
    001f8096mov [rsp+40], rsi
    001f809bmov esi, 4
    001f80a0mov r13, [r12+160]
    001f80a8mov [r12+160], rdx
    001f80b0lea rdx, [rsp+32]
    001f80b5mov [rsp+88], rdx
    001f80bamov edx, 1
    001f80bfmov [rsp+56], r8
    001f80c4xor r8l, r8l
    001f80c7movups [rsp+72], x0
    001f80ccmov [rsp+64], r13
    001f80d1mov [rsp+48], rax
    001f80d6call caml_alloc_small_dispatch
    001f80dbmovdqa x0, [rsp+32]
    001f80e1mov [r12+160], r13
    001f80e9mov rdx, [rbp+8]
    001f80edmovaps [rsp], x0
    001f80f1movdqa x0, [rsp+48]
    001f80f7movaps [rsp+16], x0
    001f80fcjmp 0x1f8016
    001f8101
    001f8101 0f 1f 80 00 00 00 00 .......
    001f8108
    001f8108loc_1f8108:
    001f8108call caml_bad_caml_state
    001f810d
    001f810dloc_1f810d:
    001f810dcall fn_f4590
    001f7fb0
    001f8112
    001f8112 // align 0x10
    001f8120
    001f8120caml_alloc_5:
    001f8120push r13
    001f8122push r12
    001f8124push rbp
    001f8125push rbx
    001f8126sub rsp, 184
    001f812dmov rax, [0x28]
    001f8136mov [rsp+168], rax
    001f813emov rax, rsi
    001f8141mov rsi, [rip+0x7de9c]
    001f8148mov rbp, [rsi]
    001f814ctest rbp, rbp
    001f814fje 0x1f8280
    001f8155sub [rbp+8], 48
    001f815amov ebx, edi
    001f815cmov [rsp], rax
    001f8160mov [rsp+8], rdx
    001f8165mov [rsp+16], rcx
    001f816amov [rsp+24], r8
    001f816fmov [rsp+32], r9
    001f8174mov rdx, [rbp]
    001f8178mov rax, [rbp+8]
    001f817ccmp rax, rdx
    001f817fjb 0x1f81e0
    001f8181add rbx, 5120
    001f8188lea rsi, [rsp+40]
    001f818dmov [rax], rbx
    001f8190mov rdi, [rbp+8]
    001f8194mov rax, rsp
    001f8197add rdi, 8
    001f819bmov rdx, rdi
    001f819emov rcx, [rax]
    001f81a1add rax, 8
    001f81a5add rdx, 8
    001f81a9mov [rdx-8], rcx
    001f81adcmp rax, rsi
    001f81b0jne 0x1f81a2
    001f81b2mov rax, [rsp+168]
    001f81basub rax, [0x28]
    001f81c3jne 0x1f8285
    001f81c9add rsp, 184
    001f81d0mov rax, rdi
    001f81d3pop rbx
    001f81d4pop rbp
    001f81d5pop r12
    001f81d7pop r13
    001f81d9ret
    001f81dadb 0x5c
    001f81dbpop r13
    001f81ddret
    001f81de
    001f81de 66 90 f.
    001f81e0
    001f81e0loc_1f81e0:
    001f81e0lea rax, [rsp+96]
    001f81e5xor r8l, r8l
    001f81e8mov ecx, 1
    001f81edmov edx, 1
    001f81f2mov rdi, rbp
    001f81f5movdqa x0, [rip+0x31e83]
    001f81fdmov r12, [rsi]
    001f8201mov esi, 5
    001f8206movups [rsp+104], x0
    001f820bmovdqa x0, [rsp]
    001f8210mov r13, [r12+160]
    001f8218mov [r12+160], rax
    001f8220lea rax, [rsp+48]
    001f8225mov [rsp+120], rax
    001f822amov rax, [rsp+32]
    001f822fmovaps [rsp+48], x0
    001f8234movdqa x0, [rsp+16]
    001f823amov [rsp+80], rax
    001f823fmovaps [rsp+64], x0
    001f8244mov [rsp+96], r13
    001f8249call caml_alloc_small_dispatch
    001f824emovdqa x0, [rsp+48]
    001f8254mov rax, [rsp+80]
    001f8259mov [r12+160], r13
    001f8261movaps [rsp], x0
    001f8265movdqa x0, [rsp+64]
    001f826bmov [rsp+32], rax
    001f8270mov rax, [rbp+8]
    001f8274movaps [rsp+16], x0
    001f8279jmp 0x1f8185
    001f827e
    001f827e 66 90 f.
    001f8280
    001f8280loc_1f8280:
    001f8280call caml_bad_caml_state
    001f8285
    001f8285loc_1f8285:
    001f8285call fn_f4590
    001f8120
    001f828a
    001f828a // align 0x20
    001f82a0
    001f82a0caml_alloc_6:
    001f82a0push r14
    001f82a2push r13
    001f82a4push r12
    001f82a6push rbp
    001f82a7push rbx
    001f82a8sub rsp, 176
    001f82afmov rax, [0x28]
    001f82b8mov [rsp+168], rax
    001f82c0mov rax, rsi
    001f82c3mov rsi, [rip+0x7dd1a]
    001f82camov rbp, [rsi]
    001f82cetest rbp, rbp
    001f82d1je 0x1f8420
    001f82d7mov [rsp], rax
    001f82dbmov rax, [rsp+224]
    001f82e3mov ebx, edi
    001f82e5lea r12, [rsp+48]
    001f82easub [rbp+8], 56
    001f82efmov [rsp+40], rax
    001f82f4mov [rsp+8], rdx
    001f82f9mov [rsp+16], rcx
    001f82femov [rsp+24], r8
    001f8303mov [rsp+32], r9
    001f8308mov rdx, [rbp]
    001f830cmov rax, [rbp+8]
    001f8310cmp rax, rdx
    001f8313jb 0x1f8380
    001f8315add rbx, 6144
    001f831cmov [rax], rbx
    001f831fmov rsi, [rbp+8]
    001f8323mov rax, rsp
    001f8326add rsi, 8
    001f832amov rdx, rsi
    001f832dnop [rax+rax]
    001f8338nop [rax]
    001f833cmov rcx, [rax]
    001f833fadd rax, 8
    001f8343add rdx, 8
    001f8347mov [rdx-8], rcx
    001f834bcmp r12, rax
    001f834ejne 0x1f8340
    001f8350mov rax, [rsp+168]
    001f8358sub rax, [0x28]
    001f8361jne 0x1f8425
    001f8367add rsp, 176
    001f836emov rax, rsi
    001f8371pop rbx
    001f8372pop rbp
    001f8373pop r12
    001f8375pop r13
    001f8377pop r14
    001f8379ret
    001f837adb 0x5d
    001f837bpop r14
    001f837dret
    001f837e
    001f837e 66 90 f.
    001f8380
    001f8380loc_1f8380:
    001f8380lea rax, [rsp+96]
    001f8385xor r8l, r8l
    001f8388mov ecx, 1
    001f838dmov edx, 1
    001f8392mov rdi, rbp
    001f8395movdqa x0, [rip+0x31cf3]
    001f839dmov r13, [rsi]
    001f83a1mov esi, 6
    001f83a6mov [rsp+120], r12
    001f83abmovups [rsp+104], x0
    001f83b0movdqa x0, [rsp]
    001f83b5mov r14, [r13+160]
    001f83bcmov [r13+160], rax
    001f83c3movaps [rsp+48], x0
    001f83c8movdqa x0, [rsp+16]
    001f83cemov [rsp+96], r14
    001f83d3movaps [rsp+64], x0
    001f83d8movdqa x0, [rsp+32]
    001f83demovaps [rsp+80], x0
    001f83e3call caml_alloc_small_dispatch
    001f83e8movdqa x0, [rsp+48]
    001f83eemov [r13+160], r14
    001f83f5mov rax, [rbp+8]
    001f83f9movaps [rsp], x0
    001f83fdmovdqa x0, [rsp+64]
    001f8403movaps [rsp+16], x0
    001f8408movdqa x0, [rsp+80]
    001f840emovaps [rsp+32], x0
    001f8413jmp 0x1f8319
    001f8418
    001f8418 0f 1f 84 00 00 00 00 00 ........
    001f8420
    001f8420loc_1f8420:
    001f8420call caml_bad_caml_state
    001f8425
    001f8425loc_1f8425:
    001f8425call fn_f4590
    001f82a0
    001f842a
    001f842a // align 0x20
    001f8440
    001f8440caml_alloc_7:
    001f8440push r13
    001f8442push r12
    001f8444push rbp
    001f8445push rbx
    001f8446sub rsp, 216
    001f844dmov rax, [0x28]
    001f8456mov [rsp+200], rax
    001f845emov rax, rsi
    001f8461mov rsi, [rip+0x7db7c]
    001f8468mov rbp, [rsi]
    001f846ctest rbp, rbp
    001f846fje 0x1f85e0
    001f8475mov [rsp], rax
    001f8479mov rax, [rsp+256]
    001f8481mov ebx, edi
    001f8483sub [rbp+8], 64
    001f8488mov [rsp+40], rax
    001f848dmov rax, [rsp+264]
    001f8495mov [rsp+8], rdx
    001f849amov [rsp+48], rax
    001f849fmov [rsp+16], rcx
    001f84a4mov [rsp+24], r8
    001f84a9mov [rsp+32], r9
    001f84aemov rdx, [rbp]
    001f84b2mov rax, [rbp+8]
    001f84b6cmp rax, rdx
    001f84b9jb 0x1f8520
    001f84bbadd rbx, 7168
    001f84c2lea rsi, [rsp+56]
    001f84c7mov [rax], rbx
    001f84camov rdi, [rbp+8]
    001f84cemov rax, rsp
    001f84d1add rdi, 8
    001f84d5mov rdx, rdi
    001f84d8nop [rax]
    001f84dcmov rcx, [rax]
    001f84dfadd rax, 8
    001f84e3add rdx, 8
    001f84e7mov [rdx-8], rcx
    001f84ebcmp rsi, rax
    001f84eejne 0x1f84e0
    001f84f0mov rax, [rsp+200]
    001f84f8sub rax, [0x28]
    001f8501jne 0x1f85e5
    001f8507add rsp, 216
    001f850emov rax, rdi
    001f8511pop rbx
    001f8512pop rbp
    001f8513pop r12
    001f8515pop r13
    001f8517ret
    001f8518db 0x5c
    001f8519pop r13
    001f851bret
    001f851c
    001f851c 0f 1f 40 00 ..@.
    001f8520
    001f8520loc_1f8520:
    001f8520lea rax, [rsp+128]
    001f8528xor r8l, r8l
    001f852bmov rdi, rbp
    001f852emov ecx, 1
    001f8533mov edx, 1
    001f8538movdqa x0, [rip+0x31b60]
    001f8540mov r12, [rsi]
    001f8544mov esi, 7
    001f8549movups [rsp+136], x0
    001f8551movdqa x0, [rsp]
    001f8556mov r13, [r12+160]
    001f855emov [r12+160], rax
    001f8566lea rax, [rsp+64]
    001f856bmovaps [rsp+64], x0
    001f8570movdqa x0, [rsp+16]
    001f8576mov [rsp+152], rax
    001f857emov rax, [rsp+48]
    001f8583movaps [rsp+80], x0
    001f8588movdqa x0, [rsp+32]
    001f858emov [rsp+112], rax
    001f8593movaps [rsp+96], x0
    001f8598mov [rsp+128], r13
    001f85a0call caml_alloc_small_dispatch
    001f85a5movdqa x0, [rsp+64]
    001f85abmov rax, [rsp+112]
    001f85b0mov [r12+160], r13
    001f85b8movaps [rsp], x0
    001f85bcmovdqa x0, [rsp+80]
    001f85c2mov [rsp+48], rax
    001f85c7mov rax, [rbp+8]
    001f85cbmovaps [rsp+16], x0
    001f85d0movdqa x0, [rsp+96]
    001f85d6movaps [rsp+32], x0
    001f85dbjmp 0x1f84bf
    001f85e0
    001f85e0loc_1f85e0:
    001f85e0call caml_bad_caml_state
    001f85e5
    001f85e5loc_1f85e5:
    001f85e5call fn_f4590
    001f8440
    001f85ea
    001f85ea // align 0x20
    001f8600
    001f8600caml_alloc_8:
    001f8600push r14
    001f8602push r13
    001f8604push r12
    001f8606push rbp
    001f8607push rbx
    001f8608sub rsp, 208
    001f860fmov rax, [0x28]
    001f8618mov [rsp+200], rax
    001f8620mov rax, rsi
    001f8623mov rsi, [rip+0x7d9ba]
    001f862amov r12, [rsi]
    001f862etest r12, r12
    001f8631je 0x1f87c0
    001f8637mov [rsp], rax
    001f863bmov rax, [rsp+256]
    001f8643mov ebp, edi
    001f8645lea rbx, [rsp+64]
    001f864asub [r12+8], 72
    001f8650mov [rsp+40], rax
    001f8655mov rax, [rsp+264]
    001f865dmov [rsp+8], rdx
    001f8662mov [rsp+48], rax
    001f8667mov rax, [rsp+272]
    001f866fmov [rsp+16], rcx
    001f8674mov [rsp+56], rax
    001f8679mov [rsp+24], r8
    001f867emov [rsp+32], r9
    001f8683mov rdx, [r12]
    001f8687mov rax, [r12+8]
    001f868ccmp rax, rdx
    001f868fjb 0x1f8700
    001f8691add rbp, 8192
    001f8698mov [rax], rbp
    001f869bmov rsi, [r12+8]
    001f86a0mov rax, rsp
    001f86a3add rsi, 8
    001f86a7mov rdx, rsi
    001f86aanop [rax+rax]
    001f86b5nop [rax]
    001f86bcmov rcx, [rax]
    001f86bfadd rax, 8
    001f86c3add rdx, 8
    001f86c7mov [rdx-8], rcx
    001f86cbcmp rax, rbx
    001f86cejne 0x1f86c0
    001f86d0mov rax, [rsp+200]
    001f86d8sub rax, [0x28]
    001f86e1jne 0x1f87c5
    001f86e7add rsp, 208
    001f86eemov rax, rsi
    001f86f1pop rbx
    001f86f2pop rbp
    001f86f3pop r12
    001f86f5pop r13
    001f86f7pop r14
    001f86f9ret
    001f86fadb 0x5d
    001f86fbpop r14
    001f86fdret
    001f86fe
    001f86fe 66 90 f.
    001f8700
    001f8700loc_1f8700:
    001f8700lea rax, [rsp+128]
    001f8708xor r8l, r8l
    001f870bmov rdi, r12
    001f870emov ecx, 1
    001f8713mov edx, 1
    001f8718movdqa x0, [rip+0x31990]
    001f8720mov r13, [rsi]
    001f8724mov esi, 8
    001f8729mov [rsp+152], rbx
    001f8731movups [rsp+136], x0
    001f8739movdqa x0, [rsp]
    001f873emov r14, [r13+160]
    001f8745mov [r13+160], rax
    001f874cmovaps [rsp+64], x0
    001f8751movdqa x0, [rsp+16]
    001f8757mov [rsp+128], r14
    001f875fmovaps [rsp+80], x0
    001f8764movdqa x0, [rsp+32]
    001f876amovaps [rsp+96], x0
    001f876fmovdqa x0, [rsp+48]
    001f8775movaps [rsp+112], x0
    001f877acall caml_alloc_small_dispatch
    001f877fmovdqa x0, [rsp+64]
    001f8785mov [r13+160], r14
    001f878cmov rax, [r12+8]
    001f8791movaps [rsp], x0
    001f8795movdqa x0, [rsp+80]
    001f879bmovaps [rsp+16], x0
    001f87a0movdqa x0, [rsp+96]
    001f87a6movaps [rsp+32], x0
    001f87abmovdqa x0, [rsp+112]
    001f87b1movaps [rsp+48], x0
    001f87b6jmp 0x1f8695
    001f87bb
    001f87bb 0f 1f 44 00 00 ..D..
    001f87c0
    001f87c0loc_1f87c0:
    001f87c0call caml_bad_caml_state
    001f87c5
    001f87c5loc_1f87c5:
    001f87c5call fn_f4590
    001f8600
    001f87ca
    001f87ca // align 0x20
    001f87e0
    001f87e0caml_alloc_9:
    001f87e0push r13
    001f87e2push r12
    001f87e4push rbp
    001f87e5push rbx
    001f87e6sub rsp, 232
    001f87edmov rax, [0x28]
    001f87f6mov [rsp+216], rax
    001f87femov rax, rsi
    001f8801mov rsi, [rip+0x7d7dc]
    001f8808mov rbp, [rsi]
    001f880ctest rbp, rbp
    001f880fje 0x1f8a18
    001f8815mov [rsp+64], rax
    001f881amov rax, [rsp+272]
    001f8822mov ebx, edi
    001f8824sub [rbp+8], 80
    001f8829mov [rsp+104], rax
    001f882emov rax, [rsp+280]
    001f8836mov [rsp+72], rdx
    001f883bmov [rsp+112], rax
    001f8840mov rax, [rsp+288]
    001f8848mov [rsp+80], rcx
    001f884dmov [rsp+120], rax
    001f8852mov rax, [rsp+296]
    001f885amov [rsp+88], r8
    001f885fmov [rsp+128], rax
    001f8867mov [rsp+96], r9
    001f886cmov rdx, [rbp]
    001f8870mov rax, [rbp+8]
    001f8874cmp rax, rdx
    001f8877jb 0x1f8900
    001f887dmov ebx, ebx
    001f887flea rsi, [rsp+136]
    001f8887add rbx, 9216
    001f888emov [rax], rbx
    001f8891mov rdi, [rbp+8]
    001f8895lea rax, [rsp+64]
    001f889aadd rdi, 8
    001f889emov rdx, rdi
    001f88a1nop [rax+rax]
    001f88acnop [rax+rax]
    001f88b7nop [rax+rax]
    001f88bcmov rcx, [rax]
    001f88bfadd rax, 8
    001f88c3add rdx, 8
    001f88c7mov [rdx-8], rcx
    001f88cbcmp rsi, rax
    001f88cejne 0x1f88c0
    001f88d0mov rax, [rsp+216]
    001f88d8sub rax, [0x28]
    001f88e1jne 0x1f8a1d
    001f88e7add rsp, 232
    001f88eemov rax, rdi
    001f88f1pop rbx
    001f88f2pop rbp
    001f88f3pop r12
    001f88f5pop r13
    001f88f7ret
    001f88f8db 0x5c
    001f88f9pop r13
    001f88fbret
    001f88fc
    001f88fc 0f 1f 40 00 ..@.
    001f8900
    001f8900loc_1f8900:
    001f8900lea rax, [rsp+144]
    001f8908lea rdx, [rsp+216]
    001f8910mov r12, [rsi]
    001f8914movdqa x0, [rip+0x317a4]
    001f891cmov [rsp+24], rax
    001f8921mov r13, [r12+160]
    001f8929mov [r12+160], rsp
    001f8931movups [rsp+8], x0
    001f8936mov [rsp], r13
    001f893a
    001f893aloc_1f893a:
    001f893amov [rax], 1
    001f8941add rax, 24
    001f8945mov [rax-16], 1
    001f894dmov [rax-8], 1
    001f8955cmp rdx, rax
    001f8958jne 0x1f893a
    001f895axor r8l, r8l
    001f895dmov ecx, 1
    001f8962mov edx, 1
    001f8967mov rdi, rbp
    001f896amovdqa x0, [rsp+64]
    001f8970mov rax, [rsp+128]
    001f8978mov esi, 9
    001f897dmovaps [rsp+144], x0
    001f8985movdqa x0, [rsp+80]
    001f898bmov [rsp+208], rax
    001f8993movaps [rsp+160], x0
    001f899bmovdqa x0, [rsp+96]
    001f89a1movaps [rsp+176], x0
    001f89a9movdqa x0, [rsp+112]
    001f89afmovaps [rsp+192], x0
    001f89b7call caml_alloc_small_dispatch
    001f89bcmov rax, [rsp+208]
    001f89c4movdqa x0, [rsp+144]
    001f89cdmov [r12+160], r13
    001f89d5movaps [rsp+64], x0
    001f89damovdqa x0, [rsp+160]
    001f89e3mov [rsp+128], rax
    001f89ebmov rax, [rbp+8]
    001f89efmovaps [rsp+80], x0
    001f89f4movdqa x0, [rsp+176]
    001f89fdmovaps [rsp+96], x0
    001f8a02movdqa x0, [rsp+192]
    001f8a0bmovaps [rsp+112], x0
    001f8a10jmp 0x1f8881
    001f8a15
    001f8a15 0f 1f 00 ...
    001f8a18
    001f8a18loc_1f8a18:
    001f8a18call caml_bad_caml_state
    001f8a1d
    001f8a1dloc_1f8a1d:
    001f8a1dcall fn_f4590
    001f87e0
    001f8a22
    001f8a22 // align 0x10
    001f8a30
    001f8a30caml_alloc_small:
    001f8a30mov rax, [rip+0x7d5ad]
    001f8a37push r12
    001f8a39lea rdx, [8*rdi]
    001f8a41mov r12l, esi
    001f8a44push rbp
    001f8a45push rbx
    001f8a46mov rbp, [rax]
    001f8a4amov rax, -8
    001f8a51mov rbx, rdi
    001f8a54sub rax, rdx
    001f8a57add [rbp+8], rax
    001f8a5bmov rdx, [rbp]
    001f8a5fmov rax, [rbp+8]
    001f8a63cmp rax, rdx
    001f8a66jb 0x1f8a88
    001f8a68shl rbx, 10
    001f8a6c
    001f8a6cloc_1f8a6c:
    001f8a6cadd rbx, r12
    001f8a6fmov [rax], rbx
    001f8a72mov rax, [rbp+8]
    001f8a76pop rbx
    001f8a77pop rbp
    001f8a78add rax, 8
    001f8a7cpop r12
    001f8a7eret
    001f8a7fdb 0x08
    001f8a80pop r12
    001f8a82ret
    001f8a83
    001f8a83 0f 1f 44 00 00 ..D..
    001f8a88
    001f8a88loc_1f8a88:
    001f8a88mov rsi, rdi
    001f8a8bxor r8l, r8l
    001f8a8emov ecx, 1
    001f8a93mov edx, 1
    001f8a98mov rdi, rbp
    001f8a9bcall caml_alloc_small_dispatch
    001f8aa0mov rax, [rbp+8]
    001f8aa4jmp 0x1f8a6c
    001f8a30
    001f8aa6
    001f8aa6 // align 0x10
    001f8ab0
    001f8ab0caml_alloc_tuple:
    001f8ab0xor esi, esi
    001f8ab2jmp 0x1f7ac0
    001f8ab7db 0x05
    001f8ab8db 0xf0
    001f8ab9db 0xff
    001f8abadb 0xff
    001f8ab0
    001f8abb
    001f8abb // align 0x10
    001f8ac0
    001f8ac0caml_alloc_string:
    001f8ac0push r13
    001f8ac2push r12
    001f8ac4push rbp
    001f8ac5mov rbp, rdi
    001f8ac8push rbx
    001f8ac9lea rbx, [rdi+8]
    001f8acdmov r13, rbx
    001f8ad0shr r13, 3
    001f8ad4sub rsp, 8
    001f8ad8cmp rbx, 2055
    001f8adfja 0x1f8b58
    001f8ae1mov rax, [rip+0x7d4fc]
    001f8ae8mov r12, [rax]
    001f8aectest r12, r12
    001f8aefje 0x1f8b90
    001f8af5mov rax, rbx
    001f8af8not rax
    001f8afband rax, -8
    001f8affadd [r12+8], rax
    001f8b04mov rdx, [r12]
    001f8b08mov rax, [r12+8]
    001f8b0dcmp rax, rdx
    001f8b10jb 0x1f8b70
    001f8b12shl r13, 10
    001f8b16
    001f8b16loc_1f8b16:
    001f8b16add r13, 252
    001f8b1dmov [rax], r13
    001f8b20mov rax, [r12+8]
    001f8b25add rax, 8
    001f8b29and rbx, -8
    001f8b2d
    001f8b2dloc_1f8b2d:
    001f8b2dlea rdx, [rbx+rax-8]
    001f8b32mov [rdx], 0
    001f8b39lea rdx, [rbx-1]
    001f8b3dsub edx, ebp
    001f8b3fmov [rbx+rax-1], dl
    001f8b43add rsp, 8
    001f8b47pop rbx
    001f8b48pop rbp
    001f8b49pop r12
    001f8b4bpop r13
    001f8b4dret
    001f8b4edb 0x5c
    001f8b4fpop r13
    001f8b51ret
    001f8b52
    001f8b52 66 0f 1f 44 00 00 f..D..
    001f8b58
    001f8b58loc_1f8b58:
    001f8b58mov rdi, r13
    001f8b5bmov esi, 252
    001f8b60call caml_alloc_shr
    001f8b65mov rdi, rax
    001f8b68call caml_check_urgent_gc
    001f8b6djmp 0x1f8b2d
    001f8b6f
    001f8b6f 90 .
    001f8b70
    001f8b70loc_1f8b70:
    001f8b70xor r8l, r8l
    001f8b73mov ecx, 1
    001f8b78mov edx, 1
    001f8b7dmov rsi, r13
    001f8b80mov rdi, r12
    001f8b83call caml_alloc_small_dispatch
    001f8b88mov rax, [r12+8]
    001f8b8djmp 0x1f8b16
    001f8b8f
    001f8b8f 90 .
    001f8b90
    001f8b90loc_1f8b90:
    001f8b90call caml_bad_caml_state
    001f8ac0
    001f8b95
    001f8b95 // align 0x10
    001f8ba0
    001f8ba0caml_copy_string:
    001f8ba0push rbp
    001f8ba1push rbx
    001f8ba2mov rbx, rdi
    001f8ba5sub rsp, 8
    001f8ba9call fn_f43a0
    001f8baemov rdi, rax
    001f8bb1mov rbp, rax
    001f8bb4call caml_alloc_string
    001f8bb9mov rdx, rbp
    001f8bbcmov rsi, rbx
    001f8bbfmov rdi, rax
    001f8bc2call fn_f47d0
    001f8bc7add rsp, 8
    001f8bcbpop rbx
    001f8bccpop rbp
    001f8bcdret
    001f8bcedb 0x08
    001f8bcfpop rbx
    001f8bd0pop rbp
    001f8bd1ret
    001f8ba0
    001f8bd2
    001f8bd2 // align 0x10
    001f8be0
    001f8be0caml_alloc_initialized_string:
    001f8be0push rbp
    001f8be1mov rbp, rsi
    001f8be4push rbx
    001f8be5mov rbx, rdi
    001f8be8sub rsp, 8
    001f8beccall caml_alloc_string
    001f8bf1mov rdx, rbx
    001f8bf4mov rsi, rbp
    001f8bf7mov rdi, rax
    001f8bfacall fn_f47d0
    001f8bffadd rsp, 8
    001f8c03pop rbx
    001f8c04pop rbp
    001f8c05ret
    001f8c06db 0x08
    001f8c07pop rbx
    001f8c08pop rbp
    001f8c09ret
    001f8be0
    001f8c0a
    001f8c0a // align 0x10
    001f8c10
    001f8c10caml_alloc_final:
    001f8c10push r12
    001f8c12mov r12, rcx
    001f8c15push rbp
    001f8c16mov rbp, rdx
    001f8c19push rbx
    001f8c1amov rbx, rdi
    001f8c1dmov rdi, rsi
    001f8c20call caml_final_custom_operations
    001f8c25lea rsi, [8*rbx]
    001f8c2dmov rcx, r12
    001f8c30pop rbx
    001f8c31mov rdx, rbp
    001f8c34mov rdi, rax
    001f8c37pop rbp
    001f8c38pop r12
    001f8c3ajmp 0x200bd0
    001f8c3fdb 0x8d
    001f8c40jg 0x1f8c42
    001f8c42db 0x00
    001f8c10
    001f8c43
    001f8c43 // align 0x10
    001f8c50
    001f8c50caml_alloc_array:
    001f8c50push r15
    001f8c52push r14
    001f8c54push r13
    001f8c56push r12
    001f8c58push rbp
    001f8c59push rbx
    001f8c5asub rsp, 104
    001f8c5emovdqa x0, [rip+0x31466]
    001f8c66mov rax, [0x28]
    001f8c6fmov [rsp+88], rax
    001f8c74mov rax, [rip+0x7d369]
    001f8c7bmov r12, [rax]
    001f8c7flea rax, [rsp+16]
    001f8c84movups [rsp+24], x0
    001f8c89movq x0, rsp
    001f8c8emov [rsp], 1
    001f8c96mov r13, [r12+160]
    001f8c9emov [r12+160], rax
    001f8ca6lea rax, [rsp+8]
    001f8cabmovq x1, rax
    001f8cb0cmp [rsi], 0
    001f8cb4mov [rsp+8], 1
    001f8cbdpunpcklqdq x0, x1
    001f8cc1mov [rsp+16], r13
    001f8cc6movups [rsp+40], x0
    001f8ccbje 0x1f8d68
    001f8cd1mov rbp, rdi
    001f8cd4mov r15, rsi
    001f8cd7xor ebx, ebx
    001f8cd9nop [rax]
    001f8cdcmov r14, rbx
    001f8cdflea rbx, [rbx+1]
    001f8ce3cmp [r15+8*r14+8], 0
    001f8ce9jne 0x1f8ce0
    001f8cebxor esi, esi
    001f8cedmov rdi, rbx
    001f8cf0call caml_alloc
    001f8cf5mov [rsp+8], rax
    001f8cfatest rbx, rbx
    001f8cfdje 0x1f8d3c
    001f8cffxor ebx, ebx
    001f8d01nop [rax+rax]
    001f8d0cmov rdi, [r15+8*rbx]
    001f8d10
    001f8d10loc_1f8d10:
    001f8d10call rbp
    001f8d12mov [rsp], rax
    001f8d16mov rsi, rax
    001f8d19mov rax, [rsp+8]
    001f8d1elea rdi, [rax+8*rbx]
    001f8d22call caml_modify
    001f8d27mov rax, rbx
    001f8d2aadd rbx, 1
    001f8d2ecmp r14, rax
    001f8d31jne 0x1f8d10
    001f8d33mov rax, [rsp+8]
    001f8d38mov [r12+160], r13
    001f8d40mov rdx, [rsp+88]
    001f8d45sub rdx, [0x28]
    001f8d4ejne 0x1f8d73
    001f8d50add rsp, 104
    001f8d54pop rbx
    001f8d55pop rbp
    001f8d56pop r12
    001f8d58pop r13
    001f8d5apop r14
    001f8d5cpop r15
    001f8d5eret
    001f8d5fdb 0x5e
    001f8d60pop r15
    001f8d62ret
    001f8d63
    001f8d63 0f 1f 44 00 00 ..D..
    001f8d68
    001f8d68loc_1f8d68:
    001f8d68xor esi, esi
    001f8d6axor edi, edi
    001f8d6ccall caml_alloc
    001f8d71jmp 0x1f8d3c
    001f8d73
    001f8d73loc_1f8d73:
    001f8d73call fn_f4590
    001f8c50
    001f8d78
    001f8d78 // align 0x10
    001f8d80
    001f8d80caml_alloc_float_array:
    001f8d80push rbp
    001f8d81push rbx
    001f8d82sub rsp, 8
    001f8d86mov rax, [rip+0x7d257]
    001f8d8dmov rbp, [rax]
    001f8d91test rbp, rbp
    001f8d94je 0x1f8e20
    001f8d9amov rbx, rdi
    001f8d9dcmp rdi, 256
    001f8da4ja 0x1f8e00
    001f8da6test rdi, rdi
    001f8da9je 0x1f8df0
    001f8dablea rdx, [8*rdi]
    001f8db3mov rax, -8
    001f8dbasub rax, rdx
    001f8dbdadd [rbp+8], rax
    001f8dc1mov rdx, [rbp]
    001f8dc5mov rax, [rbp+8]
    001f8dc9cmp rax, rdx
    001f8dccjb 0x1f8e28
    001f8dceshl rbx, 10
    001f8dd2
    001f8dd2loc_1f8dd2:
    001f8dd2add rbx, 254
    001f8dd9mov [rax], rbx
    001f8ddcmov rax, [rbp+8]
    001f8de0add rsp, 8
    001f8de4pop rbx
    001f8de5pop rbp
    001f8de6add rax, 8
    001f8dearet
    001f8debdb 0x83
    001f8decror [rax], -61
    001f8def
    001f8def 90 .
    001f8df0
    001f8df0loc_1f8df0:
    001f8df0add rsp, 8
    001f8df4xor edi, edi
    001f8df6pop rbx
    001f8df7pop rbp
    001f8df8jmp 0x21ec80
    001f8dfd
    001f8dfd 0f 1f 00 ...
    001f8e00
    001f8e00loc_1f8e00:
    001f8e00mov esi, 254
    001f8e05call caml_alloc_shr
    001f8e0aadd rsp, 8
    001f8e0epop rbx
    001f8e0fmov rdi, rax
    001f8e12pop rbp
    001f8e13jmp 0x21aac0
    001f8e18
    001f8e18 0f 1f 84 00 00 00 00 00 ........
    001f8e20
    001f8e20loc_1f8e20:
    001f8e20call caml_bad_caml_state
    001f8e25nop [rax]
    001f8e28
    001f8e28loc_1f8e28:
    001f8e28mov rsi, rdi
    001f8e2bxor r8l, r8l
    001f8e2emov ecx, 1
    001f8e33mov edx, 1
    001f8e38mov rdi, rbp
    001f8e3bcall caml_alloc_small_dispatch
    001f8e40mov rax, [rbp+8]
    001f8e44jmp 0x1f8dd2
    001f8d80
    001f8e46
    001f8e46 // align 0x10
    001f8e50
    001f8e50caml_copy_string_array:
    001f8e50mov rsi, rdi
    001f8e53lea rdi, [rip-702]
    001f8e5ajmp 0x1f8c50
    001f8e5fdb 0xed
    001f8e60std
    001f8e61db 0xff
    001f8e62db 0xff
    001f8e50
    001f8e63
    001f8e63 // align 0x20
    001f8e80
    001f8e80caml_convert_flag_list:
    001f8e80xor edx, edx
    001f8e82cmp rdi, 1
    001f8e86je 0x1f8eb5
    001f8e88nop [rax+rax]
    001f8e93nop [rax+rax]
    001f8e9cmov rax, [rdi]
    001f8e9fmov rdi, [rdi+8]
    001f8ea3sar rax, 1
    001f8ea6cdqe
    001f8ea8or edx, [rsi+4*rax]
    001f8eabcmp rdi, 1
    001f8eafjne 0x1f8ea0
    001f8eb1mov eax, edx
    001f8eb3ret
    001f8eb4db 0xeb
    001f8eb5
    001f8eb5loc_1f8eb5:
    001f8eb5mov eax, edx
    001f8eb7ret
    001f8e80
    001f8eb8
    001f8eb8 // align 0x10
    001f8ec0
    001f8ec0caml_alloc_dummy:
    001f8ec0sar rdi, 1
    001f8ec3xor esi, esi
    001f8ec5jmp 0x1f7ac0
    001f8ecadb 0xf2
    001f8ecbjmp 0x1f8ecc
    001f8ecddb 0xff
    001f8ec0
    001f8ece
    001f8ece // align 0x10
    001f8ed0
    001f8ed0caml_alloc_dummy_function:
    001f8ed0sar rdi, 1
    001f8ed3xor esi, esi
    001f8ed5jmp 0x1f7ac0
    001f8edadb 0xe2
    001f8edbjmp 0x1f8edc
    001f8edddb 0xff
    001f8ed0
    001f8ede
    001f8ede // align 0x10
    001f8ee0
    001f8ee0caml_alloc_dummy_float:
    001f8ee0sar rdi, 1
    001f8ee3xor esi, esi
    001f8ee5jmp 0x1f7ac0
    001f8eeadb 0xd2
    001f8eebjmp 0x1f8eec
    001f8eeddb 0xff
    001f8ee0
    001f8eee
    001f8eee // align 0x10
    001f8ef0
    001f8ef0caml_alloc_dummy_infix:
    001f8ef0push rbp
    001f8ef1sar rsi, 1
    001f8ef4mov rbp, rdi
    001f8ef7sar rdi, 1
    001f8efapush rbx
    001f8efbmov rbx, rsi
    001f8efemov esi, 247
    001f8f03or rbp, 1
    001f8f07sub rsp, 8
    001f8f0bcall caml_alloc
    001f8f10mov [rax+8], rbp
    001f8f14test rbx, rbx
    001f8f17je 0x1f8f30
    001f8f19lea rax, [rax+8*rbx]
    001f8f1dshl rbx, 10
    001f8f21add rbx, 249
    001f8f28mov [rax-8], rbx
    001f8f2cadd rsp, 8
    001f8f30
    001f8f30loc_1f8f30:
    001f8f30pop rbx
    001f8f31pop rbp
    001f8f32ret
    001f8f33db 0x08
    001f8f34pop rbx
    001f8f35pop rbp
    001f8f36ret
    001f8ef0
    001f8f37
    001f8f37 // align 0x10
    001f8f40
    001f8f40caml_update_dummy:
    001f8f40movzx edx, [rsi-8]
    001f8f44mov rax, [rdi-8]
    001f8f48shr rax, 10
    001f8f4cje 0x1f8fb0
    001f8f4epush r12
    001f8f50mov rcx, rdi
    001f8f53movzx eax, dl
    001f8f56push rbp
    001f8f57push rbx
    001f8f58mov rbx, rsi
    001f8f5bcmp dl, -2
    001f8f5eje 0x1f8fc0
    001f8f60cmp eax, 249
    001f8f65je 0x1f8ff8
    001f8f6bmov [rdi-8], dl
    001f8f6emov rax, [rsi-8]
    001f8f72shr rax, 10
    001f8f76je 0x1f8fa6
    001f8f78sub rcx, rsi
    001f8f7blea r12, [rsi+8*rax]
    001f8f7fmov rbp, rcx
    001f8f82nop [rax+rax]
    001f8f8cmov rsi, [rbx]
    001f8f8flea rdi, [rbp+rbx]
    001f8f94add rbx, 8
    001f8f98call caml_modify
    001f8f9dcmp rbx, r12
    001f8fa0jne 0x1f8f90
    001f8fa2pop rbx
    001f8fa3mov eax, 1
    001f8fa8pop rbp
    001f8fa9pop r12
    001f8fabret
    001f8facmov eax, 1
    001f8fb1ret
    001f8fb2db 0x00
    001f8fb3add [rax], al
    001f8fb5ret
    001f8fb6
    001f8fb6 66 2e 0f 1f 84 00 00 00 00 00 f.........
    001f8fc0
    001f8fc0loc_1f8fc0:
    001f8fc0mov [rdi-8], -2
    001f8fc4mov rax, [rsi-8]
    001f8fc8shr rax, 10
    001f8fccje 0x1f8fa6
    001f8fcesub rcx, rsi
    001f8fd1lea rax, [rsi+8*rax]
    001f8fd5mov rbp, rcx
    001f8fd8nop [rax+rax]
    001f8fe0
    001f8fe0loc_1f8fe0:
    001f8fe0movsd_xmm x0, [rbx]
    001f8fe4movsd_xmm [rbp+rbx], x0
    001f8feaadd rbx, 8
    001f8feecmp rbx, rax
    001f8ff1jne 0x1f8fe0
    001f8ff3jmp 0x1f8fa6
    001f8ff5
    001f8ff5 0f 1f 00 ...
    001f8ff8
    001f8ff8loc_1f8ff8:
    001f8ff8mov rax, [rsi-8]
    001f8ffcmov rdx, [rdi-8]
    001f9000mov rbp, rsi
    001f9003shr rax, 10
    001f9007shr rdx, 10
    001f900bshl rax, 3
    001f900fshl rdx, 3
    001f9013sub rbp, rax
    001f9016sub rcx, rdx
    001f9019mov rdx, [rbp-8]
    001f901dshr rdx, 10
    001f9021je 0x1f8fa6
    001f9023sub rax, rsi
    001f9026lea r12, [rbp+8*rdx]
    001f902blea rbx, [rax+rcx]
    001f902fnop
    001f9030
    001f9030loc_1f9030:
    001f9030mov rsi, [rbp]
    001f9034lea rdi, [rbx+rbp]
    001f9038add rbp, 8
    001f903ccall caml_modify
    001f9041cmp rbp, r12
    001f9044jne 0x1f9030
    001f9046pop rbx
    001f9047mov eax, 1
    001f904cpop rbp
    001f904dpop r12
    001f904fret
    001f8f40
    001f9050
    001f9050caml_alloc_some:
    001f9050push rbp
    001f9051push rbx
    001f9052sub rsp, 104
    001f9056mov [rsp+8], rdi
    001f905bmov rax, [0x28]
    001f9064mov [rsp+88], rax
    001f9069mov rax, [rip+0x7cf74]
    001f9070mov rbx, [rax]
    001f9074lea rax, [rsp+16]
    001f9079mov rbp, [rbx+160]
    001f9080mov [rbx+160], rax
    001f9087mov eax, 1
    001f908cmovq x0, rax
    001f9091lea rax, [rsp+8]
    001f9096punpcklqdq x0, x0
    001f909amov [rsp+40], rax
    001f909fmovups [rsp+24], x0
    001f90a4mov [rsp+16], rbp
    001f90a9sub [rbx+8], 16
    001f90aemov rdx, [rbx]
    001f90b1mov rax, [rbx+8]
    001f90b5cmp rax, rdx
    001f90b8jb 0x1f90f8
    001f90bamov [rax], 1024
    001f90c1mov rax, [rbx+8]
    001f90c5mov rdx, [rsp+8]
    001f90caadd rax, 8
    001f90cemov [rax], rdx
    001f90d1mov [rbx+160], rbp
    001f90d8mov rdx, [rsp+88]
    001f90ddsub rdx, [0x28]
    001f90e6jne 0x1f9118
    001f90e8add rsp, 104
    001f90ecpop rbx
    001f90edpop rbp
    001f90eeret
    001f90efdb 0x68
    001f90f0pop rbx
    001f90f1pop rbp
    001f90f2ret
    001f90f3
    001f90f3 0f 1f 44 00 00 ..D..
    001f90f8
    001f90f8loc_1f90f8:
    001f90f8xor r8l, r8l
    001f90fbmov ecx, 1
    001f9100mov edx, 1
    001f9105mov esi, 1
    001f910amov rdi, rbx
    001f910dcall caml_alloc_small_dispatch
    001f9112mov rax, [rbx+8]
    001f9116jmp 0x1f90be
    001f9118
    001f9118loc_1f9118:
    001f9118call fn_f4590
    001f9050
    001f911d
    001f911d // align 0x10
    001f9120
    001f9120caml_atomic_make_contended:
    001f9120push r12
    001f9122xor esi, esi
    001f9124push rbp
    001f9125push rbx
    001f9126sub rsp, 96
    001f912amov [rsp+8], rdi
    001f912fmov edi, 7
    001f9134mov rax, [0x28]
    001f913dmov [rsp+88], rax
    001f9142mov rax, [rip+0x7ce9b]
    001f9149mov rbp, [rax]
    001f914dlea rax, [rsp+16]
    001f9152mov r12, [rbp+160]
    001f9159mov [rbp+160], rax
    001f9160mov eax, 1
    001f9165movq x0, rax
    001f916alea rax, [rsp+8]
    001f916fpunpcklqdq x0, x0
    001f9173mov [rsp+16], r12
    001f9178movups [rsp+24], x0
    001f917dmov [rsp+40], rax
    001f9182call caml_alloc_shr
    001f9187mov rsi, [rsp+8]
    001f918cmov rbx, rax
    001f918fmov rdi, rax
    001f9192call caml_initialize
    001f9197lea rdx, [rbx+8]
    001f919blea rax, [rbx+56]
    001f919fmov [rdx], 1
    001f91a6add rdx, 16
    001f91aamov [rdx-8], 1
    001f91b2cmp rdx, rax
    001f91b5jne 0x1f91a3
    001f91b7mov [rbp+160], r12
    001f91bemov rax, [rsp+88]
    001f91c3sub rax, [0x28]
    001f91ccjne 0x1f91de
    001f91ceadd rsp, 96
    001f91d2mov rax, rbx
    001f91d5pop rbx
    001f91d6pop rbp
    001f91d7pop r12
    001f91d9ret
    001f91dacall fn_f4590
    001f91dfdb 0xad
    001f91e0mov bl, 239
    001f91e2db 0xff
    001f9120
    001f91e3
    001f91e3 // align 0x20
    001f9200
    001f9200fn_1f9200:
    001f9200push r15
    001f9202push r14
    001f9204push r13
    001f9206push r12
    001f9208push rbp
    001f9209push rbx
    001f920asub rsp, 104
    001f920emov rax, [rip+0x7cdd3]
    001f9215mov rbx, [0x28]
    001f921emov [rsp+88], rbx
    001f9223mov rbx, rcx
    001f9226mov rcx, [rax]
    001f922amov [rsp+32], rdi
    001f922fmov [rsp+24], 1
    001f9238mov rax, [rcx+160]
    001f923fmov [rsp], rcx
    001f9243mov [rsp+40], rsi
    001f9248mov [rsp+8], rax
    001f924dmov [rsp+16], rax
    001f9252lea rax, [rsp+16]
    001f9257mov [rcx+160], rax
    001f925etest rdi, rdi
    001f9261je 0x1f934c
    001f9267mov r13, rdx
    001f926amov rbp, rdi
    001f926dmov r15, rsi
    001f9270xor eax, eax
    001f9272xor edx, edx
    001f9274nop [rax+rax]
    001f927fnop
    001f9280
    001f9280loc_1f9280:
    001f9280add rdx, [rbx+8*rax]
    001f9284setb r12b
    001f9288mov r14, rdx
    001f928bmovzx r12l, r12b
    001f928fjb 0x1f9364
    001f9295add rax, 1
    001f9299cmp rax, rbp
    001f929cjne 0x1f9280
    001f929etest rdx, rdx
    001f92a1je 0x1f9340
    001f92a7shr rdx, 54
    001f92abjne 0x1f9364
    001f92b1
    001f92b1loc_1f92b1:
    001f92b1mov rdi, r14
    001f92b4mov esi, 254
    001f92b9lea rbp, [rbx+8*rbp]
    001f92bdcall caml_alloc
    001f92c2mov r14, rax
    001f92c5nop [rax+rax]
    001f92d0
    001f92d0loc_1f92d0:
    001f92d0mov rax, [rbx]
    001f92d3mov rsi, [r13]
    001f92d7lea rdi, [r14+8*r12]
    001f92dbadd rbx, 8
    001f92dfadd r13, 8
    001f92e3add r15, 8
    001f92e7lea rdx, [8*rax]
    001f92efmov rax, [r15-8]
    001f92f3lea rsi, [rax+8*rsi]
    001f92f7call fn_f47d0
    001f92fcadd r12, [rbx-8]
    001f9300cmp rbp, rbx
    001f9303jne 0x1f92d0
    001f9305
    001f9305loc_1f9305:
    001f9305mov rax, [rsp]
    001f9309mov rcx, [rsp+8]
    001f930emov [rax+160], rcx
    001f9315mov rax, [rsp+88]
    001f931asub rax, [0x28]
    001f9323jne 0x1f9370
    001f9325add rsp, 104
    001f9329mov rax, r14
    001f932cpop rbx
    001f932dpop rbp
    001f932epop r12
    001f9330pop r13
    001f9332pop r14
    001f9334pop r15
    001f9336ret
    001f9337
    001f9337 66 0f 1f 84 00 00 00 00 00 f........
    001f9340
    001f9340loc_1f9340:
    001f9340xor edi, edi
    001f9342call caml_atom
    001f9347jmp 0x1f92b1
    001f934c
    001f934cloc_1f934c:
    001f934cxor edi, edi
    001f934ecall caml_atom
    001f9353mov esi, 254
    001f9358xor edi, edi
    001f935acall caml_alloc
    001f935fmov r14, rax
    001f9362jmp 0x1f9305
    001f9364
    001f9364loc_1f9364:
    001f9364lea rdi, [rip+0x35941]
    001f936bcall caml_invalid_argument
    001f9370
    001f9370loc_1f9370:
    001f9370call fn_f4590
    001f9200
    001f9375
    001f9375 // align 0x10
    001f9380
    001f9380fn_1f9380:
    001f9380push r15
    001f9382push r14
    001f9384push r13
    001f9386push r12
    001f9388push rbp
    001f9389push rbx
    001f938asub rsp, 152
    001f9391mov [rsp+24], rsi
    001f9396mov [rsp+32], rdx
    001f939bmov [rsp+8], rcx
    001f93a0mov rax, [0x28]
    001f93a9mov [rsp+136], rax
    001f93b1mov rax, [rip+0x7cc30]
    001f93b8mov rcx, [rax]
    001f93bcmov [rsp+80], rdi
    001f93c1mov [rsp+72], 1
    001f93camov rax, [rcx+160]
    001f93d1mov [rsp+48], rcx
    001f93d6mov [rsp+88], rsi
    001f93dbmov [rsp+56], rax
    001f93e0mov [rsp+64], rax
    001f93e5lea rax, [rsp+64]
    001f93eamov [rcx+160], rax
    001f93f1test rdi, rdi
    001f93f4je 0x1f959a
    001f93famov r14, rdi
    001f93fdxor r12l, r12l
    001f9400xor edi, edi
    001f9402nop [rax+rax]
    001f940dnop [rax+rax]
    001f9418nop [rax+rax]
    001f9420
    001f9420loc_1f9420:
    001f9420mov rax, [rsp+8]
    001f9425xor r13l, r13l
    001f9428add rdi, [rax+8*r12]
    001f942csetb r13b
    001f9430jb 0x1f95a9
    001f9436add r12, 1
    001f943acmp r12, r14
    001f943djne 0x1f9420
    001f943ftest rdi, rdi
    001f9442je 0x1f959a
    001f9448cmp rdi, 256
    001f944fjbe 0x1f9533
    001f9455mov rax, rdi
    001f9458shr rax, 54
    001f945cjne 0x1f95a9
    001f9462xor esi, esi
    001f9464xor r15l, r15l
    001f9467call caml_alloc_shr
    001f946cmov [rsp+40], rax
    001f9471nop [rax+rax]
    001f947cnop [rax]
    001f9480
    001f9480loc_1f9480:
    001f9480mov rax, [rsp+32]
    001f9485mov rdx, [rax+8*r15]
    001f9489mov rax, [rsp+24]
    001f948emov rax, [rax+8*r15]
    001f9492lea rbp, [rax+8*rdx]
    001f9496mov rax, [rsp+8]
    001f949bmov rbx, [rax+8*r15]
    001f949fmov [rsp+16], rbx
    001f94a4test rbx, rbx
    001f94a7je 0x1f94e0
    001f94a9mov rax, [rsp+40]
    001f94aelea r12, [rax+8*r13]
    001f94b2sub r12, rbp
    001f94b5nop [rax+rax]
    001f94c0
    001f94c0loc_1f94c0:
    001f94c0mov rsi, [rbp]
    001f94c4lea rdi, [rbp+r12]
    001f94c9add rbp, 8
    001f94cdcall caml_initialize
    001f94d2sub rbx, 1
    001f94d6jne 0x1f94c0
    001f94d8mov rax, [rsp+16]
    001f94ddadd r13, rax
    001f94e0
    001f94e0loc_1f94e0:
    001f94e0add r15, 1
    001f94e4cmp r15, r14
    001f94e7jne 0x1f9480
    001f94e9mov rdi, [rsp+40]
    001f94eecall caml_process_pending_actions_with_root
    001f94f3mov rbx, rax
    001f94f6
    001f94f6loc_1f94f6:
    001f94f6mov rax, [rsp+48]
    001f94fbmov rdx, [rsp+56]
    001f9500mov [rax+160], rdx
    001f9507mov rax, [rsp+136]
    001f950fsub rax, [0x28]
    001f9518jne 0x1f95b5
    001f951eadd rsp, 152
    001f9525mov rax, rbx
    001f9528pop rbx
    001f9529pop rbp
    001f952apop r12
    001f952cpop r13
    001f952epop r14
    001f9530pop r15
    001f9532ret
    001f9533
    001f9533loc_1f9533:
    001f9533xor esi, esi
    001f9535call caml_alloc_small
    001f953amov rbp, [rsp+8]
    001f953fmov r15, [rsp+32]
    001f9544mov r14, [rsp+24]
    001f9549mov rbx, rax
    001f954clea r12, [rbp+8*r12]
    001f9551nop [rax+rax]
    001f955cnop [rax]
    001f9560
    001f9560loc_1f9560:
    001f9560mov rax, [rbp]
    001f9564mov rcx, [r15]
    001f9567lea rdi, [rbx+8*r13]
    001f956badd rbp, 8
    001f956fadd r15, 8
    001f9573add r14, 8
    001f9577lea rdx, [8*rax]
    001f957fmov rax, [r14-8]
    001f9583lea rsi, [rax+8*rcx]
    001f9587call fn_f47d0
    001f958cadd r13, [rbp-8]
    001f9590cmp r12, rbp
    001f9593jne 0x1f9560
    001f9595jmp 0x1f94f6
    001f959a
    001f959aloc_1f959a:
    001f959axor edi, edi
    001f959ccall caml_atom
    001f95a1mov rbx, rax
    001f95a4jmp 0x1f94f6
    001f95a9
    001f95a9loc_1f95a9:
    001f95a9lea rdi, [rip+0x356fc]
    001f95b0call caml_invalid_argument
    001f95b5
    001f95b5loc_1f95b5:
    001f95b5call fn_f4590
    001f9380
    001f95ba
    001f95ba // align 0x10
    001f95c0
    001f95c0caml_array_length:
    001f95c0movzx eax, [rdi-8]
    001f95c4mov rax, [rdi-8]
    001f95c8shr rax, 10
    001f95ccret
    001f95cddb 0xc1
    001f95cedb 0xe8
    001f95cfor al, bl
    001f95c0
    001f95d1
    001f95d1 // align 0x10
    001f95e0
    001f95e0caml_is_double_array:
    001f95e0movzx eax, [rdi-8]
    001f95e4cmp al, -2
    001f95e6sete al
    001f95e9movzx eax, al
    001f95ecret
    001f95eddb 0x0f
    001f95eemov dh, 192
    001f95f0ret
    001f95e0
    001f95f1
    001f95f1 // align 0x10
    001f9600
    001f9600caml_array_get_addr:
    001f9600sar rsi, 1
    001f9603js 0x1f961e
    001f9605mov rax, [rdi-8]
    001f9609shr rax, 10
    001f960dcmp rsi, rax
    001f9610jae 0x1f961e
    001f9612lea rax, [rdi+8*rsi]
    001f9616mov rax, [rax]
    001f9619ret
    001f961apush rax
    001f961bcall caml_array_bound_error
    001f9620db 0xdc
    001f9621db 0xd4
    001f9622add [rax], al
    001f9600
    001f9624
    001f9624 // align 0x10
    001f9630
    001f9630caml_floatarray_get:
    001f9630push rbx
    001f9631sub rsp, 16
    001f9635sar rsi, 1
    001f9638js 0x1f96bc
    001f963amov rax, [rdi-8]
    001f963eshr rax, 10
    001f9642cmp rsi, rax
    001f9645jae 0x1f96bc
    001f9647mov rax, [rip+0x7c996]
    001f964emovsd_xmm x0, [rdi+8*rsi]
    001f9653mov rbx, [rax]
    001f9657sub [rbx+8], 16
    001f965cmov rdx, [rbx]
    001f965fmov rax, [rbx+8]
    001f9663cmp rax, rdx
    001f9666jb 0x1f9690
    001f9668mov [rax], 1277
    001f966fmov rax, [rbx+8]
    001f9673movsd_xmm [rax+8], x0
    001f9678add rsp, 16
    001f967cadd rax, 8
    001f9680pop rbx
    001f9681ret
    001f9682db 0xc0
    001f9683or [rbx-61], bl
    001f9686
    001f9686 66 2e 0f 1f 84 00 00 00 00 00 f.........
    001f9690
    001f9690loc_1f9690:
    001f9690xor r8l, r8l
    001f9693mov ecx, 1
    001f9698mov edx, 1
    001f969dmov rdi, rbx
    001f96a0movsd_xmm [rsp+8], x0
    001f96a6mov esi, 1
    001f96abcall caml_alloc_small_dispatch
    001f96b0mov rax, [rbx+8]
    001f96b4movsd_xmm x0, [rsp+8]
    001f96bajmp 0x1f966c
    001f96bc
    001f96bcloc_1f96bc:
    001f96bccall caml_array_bound_error
    001f9630
    001f96c1
    001f96c1 // align 0x10
    001f96d0
    001f96d0caml_array_get:
    001f96d0movzx eax, [rdi-8]
    001f96d4cmp al, -2
    001f96d6je 0x1f9700
    001f96d8sar rsi, 1
    001f96dbjs 0x1f9705
    001f96ddmov rax, [rdi-8]
    001f96e1shr rax, 10
    001f96e5cmp rsi, rax
    001f96e8jae 0x1f9705
    001f96ealea rax, [rdi+8*rsi]
    001f96eemov rax, [rax]
    001f96f1ret
    001f96f2db 0x48
    001f96f3mov eax, [rax]
    001f96f5ret
    001f96f6
    001f96f6 66 2e 0f 1f 84 00 00 00 00 00 f.........
    001f9700
    001f9700loc_1f9700:
    001f9700jmp 0x1f9630
    001f9705
    001f9705loc_1f9705:
    001f9705push rax
    001f9706call caml_array_bound_error
    001f96d0
    001f970b
    001f970b // align 0x10
    001f9710
    001f9710caml_array_set_addr:
    001f9710sub rsp, 8
    001f9714sar rsi, 1
    001f9717js 0x1f9740
    001f9719mov rax, [rdi-8]
    001f971dshr rax, 10
    001f9721cmp rsi, rax
    001f9724jae 0x1f9740
    001f9726lea rdi, [rdi+8*rsi]
    001f972amov rsi, rdx
    001f972dcall caml_modify
    001f9732mov eax, 1
    001f9737add rsp, 8
    001f973bret
    001f973ccall caml_array_bound_error
    001f9741db 0xbb
    001f9742rol [rax], cl
    001f9744db 0x00
    001f9710
    001f9745
    001f9745 // align 0x10
    001f9750
    001f9750caml_floatarray_set:
    001f9750sar rsi, 1
    001f9753movsd_xmm x0, [rdx]
    001f9757js 0x1f9775
    001f9759mov rax, [rdi-8]
    001f975dshr rax, 10
    001f9761cmp rsi, rax
    001f9764jae 0x1f9775
    001f9766movsd_xmm [rdi+8*rsi], x0
    001f976bmov eax, 1
    001f9770ret
    001f9771push rax
    001f9772call caml_array_bound_error
    001f9777db 0x85
    001f9778rol [rax], cl
    001f977adb 0x00
    001f9750
    001f977b
    001f977b // align 0x10
    001f9780
    001f9780caml_array_set:
    001f9780sub rsp, 8
    001f9784movzx eax, [rdi-8]
    001f9788sar rsi, 1
    001f978bcmp al, -2
    001f978dje 0x1f97c0
    001f978ftest rsi, rsi
    001f9792js 0x1f97e5
    001f9794mov rax, [rdi-8]
    001f9798shr rax, 10
    001f979ccmp rsi, rax
    001f979fjae 0x1f97e5
    001f97a1lea rdi, [rdi+8*rsi]
    001f97a5mov rsi, rdx
    001f97a8call caml_modify
    001f97admov eax, 1
    001f97b2add rsp, 8
    001f97b6ret
    001f97b7db 0x83
    001f97b8db 0xc4
    001f97b9or bl, al
    001f97bb
    001f97bb 0f 1f 44 00 00 ..D..
    001f97c0
    001f97c0loc_1f97c0:
    001f97c0movsd_xmm x0, [rdx]
    001f97c4test rsi, rsi
    001f97c7js 0x1f97e5
    001f97c9mov rax, [rdi-8]
    001f97cdshr rax, 10
    001f97d1cmp rsi, rax
    001f97d4jae 0x1f97e5
    001f97d6movsd_xmm [rdi+8*rsi], x0
    001f97dbmov eax, 1
    001f97e0add rsp, 8
    001f97e4ret
    001f97e5
    001f97e5loc_1f97e5:
    001f97e5call caml_array_bound_error
    001f9780
    001f97ea
    001f97ea // align 0x10
    001f97f0
    001f97f0caml_floatarray_unsafe_get:
    001f97f0push rbx
    001f97f1sar rsi, 1
    001f97f4sub rsp, 16
    001f97f8mov rax, [rip+0x7c7e5]
    001f97ffmovsd_xmm x0, [rdi+8*rsi]
    001f9804mov rbx, [rax]
    001f9808sub [rbx+8], 16
    001f980dmov rdx, [rbx]
    001f9810mov rax, [rbx+8]
    001f9814cmp rax, rdx
    001f9817jb 0x1f9840
    001f9819mov [rax], 1277
    001f9820mov rax, [rbx+8]
    001f9824movsd_xmm [rax+8], x0
    001f9829add rsp, 16
    001f982dadd rax, 8
    001f9831pop rbx
    001f9832ret
    001f9833db 0xc0
    001f9834or [rbx-61], bl
    001f9837
    001f9837 66 0f 1f 84 00 00 00 00 00 f........
    001f9840
    001f9840loc_1f9840:
    001f9840xor r8l, r8l
    001f9843mov ecx, 1
    001f9848mov edx, 1
    001f984dmov rdi, rbx
    001f9850movsd_xmm [rsp+8], x0
    001f9856mov esi, 1
    001f985bcall caml_alloc_small_dispatch
    001f9860mov rax, [rbx+8]
    001f9864movsd_xmm x0, [rsp+8]
    001f986ajmp 0x1f981d
    001f97f0
    001f986c
    001f986c // align 0x10
    001f9870
    001f9870caml_array_unsafe_get:
    001f9870movzx eax, [rdi-8]
    001f9874cmp al, -2
    001f9876je 0x1f9890
    001f9878sar rsi, 1
    001f987blea rax, [rdi+8*rsi]
    001f987fmov rax, [rax]
    001f9882ret
    001f9883db 0x48
    001f9884mov eax, [rax]
    001f9886ret
    001f9887
    001f9887 66 0f 1f 84 00 00 00 00 00 f........
    001f9890
    001f9890loc_1f9890:
    001f9890jmp 0x1f97f0
    001f9870
    001f9895
    001f9895 // align 0x10
    001f98a0
    001f98a0caml_floatarray_unsafe_set:
    001f98a0movsd_xmm x0, [rdx]
    001f98a4sar rsi, 1
    001f98a7mov eax, 1
    001f98acmovsd_xmm [rdi+8*rsi], x0
    001f98b1ret
    001f98b2db 0x11
    001f98b3add al, -9
    001f98b5ret
    001f98a0
    001f98b6
    001f98b6 // align 0x10
    001f98c0
    001f98c0caml_array_unsafe_set:
    001f98c0movzx eax, [rdi-8]
    001f98c4sar rsi, 1
    001f98c7lea rdi, [rdi+8*rsi]
    001f98cbcmp al, -2
    001f98cdje 0x1f98f0
    001f98cfsub rsp, 8
    001f98d3mov rsi, rdx
    001f98d6call caml_modify
    001f98dbmov eax, 1
    001f98e0add rsp, 8
    001f98e4ret
    001f98e5db 0x83
    001f98e6db 0xc4
    001f98e7or bl, al
    001f98e9
    001f98e9 0f 1f 80 00 00 00 00 .......
    001f98f0
    001f98f0loc_1f98f0:
    001f98f0movsd_xmm x0, [rdx]
    001f98f4mov eax, 1
    001f98f9movsd_xmm [rdi], x0
    001f98fdret
    001f98c0
    001f98fe
    001f98fe // align 0x10
    001f9900
    001f9900caml_floatarray_create:
    001f9900push rbp
    001f9901push rbx
    001f9902mov rbx, rdi
    001f9905sar rbx, 1
    001f9908sub rsp, 8
    001f990ccmp rdi, 513
    001f9913ja 0x1f9970
    001f9915test rbx, rbx
    001f9918je 0x1f9998
    001f991amov rax, [rip+0x7c6c3]
    001f9921lea rdx, [8*rbx]
    001f9929mov rbp, [rax]
    001f992dmov rax, -8
    001f9934sub rax, rdx
    001f9937add [rbp+8], rax
    001f993bmov rdx, [rbp]
    001f993fmov rax, [rbp+8]
    001f9943cmp rax, rdx
    001f9946jb 0x1f99a8
    001f9948shl rbx, 10
    001f994c
    001f994cloc_1f994c:
    001f994cadd rbx, 254
    001f9953mov [rax], rbx
    001f9956mov rdi, [rbp+8]
    001f995aadd rsp, 8
    001f995epop rbx
    001f995fpop rbp
    001f9960add rdi, 8
    001f9964jmp 0x21fee0
    001f9969db 0x73
    001f996aadd al, [rax]
    001f996d
    001f996d 0f 1f 00 ...
    001f9970
    001f9970loc_1f9970:
    001f9970mov rax, rbx
    001f9973shr rax, 54
    001f9977jne 0x1f99c6
    001f9979mov rdi, rbx
    001f997cmov esi, 254
    001f9981call caml_alloc_shr
    001f9986add rsp, 8
    001f998apop rbx
    001f998bmov rdi, rax
    001f998epop rbp
    001f998fjmp 0x21fee0
    001f9994
    001f9994 0f 1f 40 00 ..@.
    001f9998
    001f9998loc_1f9998:
    001f9998add rsp, 8
    001f999cxor edi, edi
    001f999epop rbx
    001f999fpop rbp
    001f99a0jmp 0x21ec80
    001f99a5
    001f99a5 0f 1f 00 ...
    001f99a8
    001f99a8loc_1f99a8:
    001f99a8xor r8l, r8l
    001f99abmov ecx, 1
    001f99b0mov edx, 1
    001f99b5mov rsi, rbx
    001f99b8mov rdi, rbp
    001f99bbcall caml_alloc_small_dispatch
    001f99c0mov rax, [rbp+8]
    001f99c4jmp 0x1f994c
    001f99c6
    001f99c6loc_1f99c6:
    001f99c6lea rdi, [rip+0x352ec]
    001f99cdcall caml_invalid_argument
    001f9900
    001f99d2
    001f99d2 // align 0x10
    001f99e0
    001f99e0caml_floatarray_make_unboxed:
    001f99e0test rdi, rdi
    001f99e3je 0x1f9a60
    001f99e5push rbx
    001f99e6mov rax, rdi
    001f99e9mov rbx, rdi
    001f99ecsub rsp, 16
    001f99f0shr rax, 54
    001f99f4jne 0x1f9a67
    001f99f6mov esi, 254
    001f99fbmovsd_xmm [rsp+8], x0
    001f9a01call caml_alloc
    001f9a06movsd_xmm x0, [rsp+8]
    001f9a0cmov rdi, rax
    001f9a0fmov rdx, rax
    001f9a12lea rax, [rax+8*rbx]
    001f9a16and ebx, 1
    001f9a19je 0x1f9a40
    001f9a1blea rdx, [rdi+8]
    001f9a1fmovsd_xmm [rdi], x0
    001f9a23cmp rdx, rax
    001f9a26je 0x1f9a52
    001f9a28nop [rax+rax]
    001f9a33nop [rax+rax]
    001f9a3cmovsd_xmm [rdx], x0
    001f9a40
    001f9a40loc_1f9a40:
    001f9a40add rdx, 16
    001f9a44movsd_xmm [rdx-8], x0
    001f9a49cmp rdx, rax
    001f9a4cjne 0x1f9a40
    001f9a4eadd rsp, 16
    001f9a52
    001f9a52loc_1f9a52:
    001f9a52pop rbx
    001f9a53jmp 0x21fee0
    001f9a58db 0x84
    001f9a59add al, [rax]
    001f9a5c
    001f9a5c 0f 1f 40 00 ..@.
    001f9a60
    001f9a60loc_1f9a60:
    001f9a60xor edi, edi
    001f9a62jmp 0x21ec80
    001f9a67
    001f9a67loc_1f9a67:
    001f9a67lea rdi, [rip+0x3525e]
    001f9a6ecall caml_invalid_argument
    001f99e0
    001f9a73
    001f9a73 // align 0x10
    001f9a80
    001f9a80caml_floatarray_make:
    001f9a80movsd_xmm x0, [rsi]
    001f9a84sar rdi, 1
    001f9a87jmp 0x1f99e0
    001f9a8cdb 0x50
    001f9a8ddb 0xff
    001f9a8edb 0xff
    001f9a8fdb 0xff
    001f9a80
    001f9a90
    001f9a90 // align 0x20
    001f9aa0
    001f9aa0caml_uniform_array_make:
    001f9aa0push r12
    001f9aa2push rbp
    001f9aa3push rbx
    001f9aa4mov rbx, rdi
    001f9aa7sub rsp, 176
    001f9aaemovdqa x0, [rip+0x30616]
    001f9ab6sar rbx, 1
    001f9ab9mov [rsp+8], rdi
    001f9abemovq x1, rsp
    001f9ac3mov [rsp], rsi
    001f9ac7mov rax, [0x28]
    001f9ad0mov [rsp+168], rax
    001f9ad8mov rax, [rip+0x7c505]
    001f9adfmov r12, [rax]
    001f9ae3lea rax, [rsp+8]
    001f9ae8movups [rsp+40], x0
    001f9aedmov [rsp+24], 1
    001f9af6movq x0, rax
    001f9afblea rax, [rsp+32]
    001f9b00mov [rsp+96], rax
    001f9b05lea rax, [rsp+96]
    001f9b0amov rbp, [r12+160]
    001f9b12punpcklqdq x0, x1
    001f9b16mov [r12+160], rax
    001f9b1emov eax, 1
    001f9b23movups [rsp+56], x0
    001f9b28movq x0, rax
    001f9b2dlea rax, [rsp+24]
    001f9b32punpcklqdq x0, x0
    001f9b36mov [rsp+32], rbp
    001f9b3bmov [rsp+120], rax
    001f9b40movups [rsp+104], x0
    001f9b45je 0x1f9c80
    001f9b4bcmp rbx, 256
    001f9b52jbe 0x1f9c28
    001f9b58mov rax, rbx
    001f9b5bshr rax, 54
    001f9b5fjne 0x1f9c91
    001f9b65mov rax, [rsp]
    001f9b69test al, 1
    001f9b6bje 0x1f9bf0
    001f9b6dxor esi, esi
    001f9b6fmov rdi, rbx
    001f9b72call caml_alloc_shr
    001f9b77mov rdx, [rsp]
    001f9b7bmov [rsp+24], rax
    001f9b80mov [rax], rdx
    001f9b83lea rdx, [8*rbx]
    001f9b8bmov eax, 8
    001f9b90nop [rax+rax]
    001f9b9bnop
    001f9b9cmov rcx, [rsp+24]
    001f9ba1mov rsi, [rsp]
    001f9ba5add rcx, rax
    001f9ba8add rax, 8
    001f9bacmov [rcx], rsi
    001f9bafcmp rax, rdx
    001f9bb2jne 0x1f9ba0
    001f9bb4call caml_process_pending_actions
    001f9bb9mov rax, [rsp+24]
    001f9bbemov [r12+160], rbp
    001f9bc6mov rdx, [rsp+168]
    001f9bcesub rdx, [0x28]
    001f9bd7jne 0x1f9c8c
    001f9bddadd rsp, 176
    001f9be4pop rbx
    001f9be5pop rbp
    001f9be6pop r12
    001f9be8ret
    001f9be9db 0x5d
    001f9beapop r12
    001f9becret
    001f9bed
    001f9bed 0f 1f 00 ...
    001f9bf0
    001f9bf0loc_1f9bf0:
    001f9bf0cmp rax, [rip+0x17e9d1]
    001f9bf7jae 0x1f9b71
    001f9bfdcmp [rip+0x17e9cc], rax
    001f9c04jae 0x1f9b71
    001f9c0amov esi, 1
    001f9c0fmov edi, 1
    001f9c14call caml_ev_counter
    001f9c19call caml_minor_collection
    001f9c1ejmp 0x1f9b71
    001f9c23
    001f9c23 0f 1f 44 00 00 ..D..
    001f9c28
    001f9c28loc_1f9c28:
    001f9c28xor esi, esi
    001f9c2amov rdi, rbx
    001f9c2dcall caml_alloc_small
    001f9c32mov rdx, [rsp]
    001f9c36mov [rsp+24], rax
    001f9c3bmov [rax], rdx
    001f9c3ecmp rbx, 1
    001f9c42jbe 0x1f9bb8
    001f9c48lea rdx, [8*rbx]
    001f9c50mov eax, 8
    001f9c55nop [rax+rax]
    001f9c60
    001f9c60loc_1f9c60:
    001f9c60mov rcx, [rsp+24]
    001f9c65mov rsi, [rsp]
    001f9c69add rcx, rax
    001f9c6cadd rax, 8
    001f9c70mov [rcx], rsi
    001f9c73cmp rdx, rax
    001f9c76jne 0x1f9c60
    001f9c78jmp 0x1f9bb8
    001f9c7d
    001f9c7d 0f 1f 00 ...
    001f9c80
    001f9c80loc_1f9c80:
    001f9c80xor edi, edi
    001f9c82call caml_atom
    001f9c87jmp 0x1f9bc2
    001f9c8c
    001f9c8cloc_1f9c8c:
    001f9c8ccall fn_f4590
    001f9c91
    001f9c91loc_1f9c91:
    001f9c91lea rdi, [rip+0x35034]
    001f9c98call caml_invalid_argument
    001f9aa0