File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    00218880
    00218880caml_memprof_sample_young:
    00218880push r15
    00218882push r14
    00218884push r13
    00218886push r12
    00218888push rbp
    00218889push rbx
    0021888asub rsp, 264
    00218891mov [rsp+16], rdi
    00218896mov [rsp+24], rcx
    0021889bmov rax, [0x28]
    002188a4mov [rsp+248], rax
    002188acmov rax, [rip+0x5d731]
    002188b3mov r13, [rax]
    002188b7mov [rsp+96], 0
    002188bfmov [rsp+104], 1
    002188c8mov rax, [r13+160]
    002188cfmov rbx, [r13+464]
    002188d6mov [rsp+56], rax
    002188dbmov r15, [rbx+96]
    002188dfmov [rsp+112], rax
    002188e4mov eax, 1
    002188e9movq x0, rax
    002188eelea rax, [rsp+104]
    002188f3mov [rsp+136], rax
    002188fblea rax, [rsp+112]
    00218900punpcklqdq x0, x0
    00218904mov [rsp+176], rax
    0021890clea rax, [rsp+176]
    00218914mov [r13+160], rax
    0021891blea rax, [rsp+88]
    00218920movups [rsp+120], x0
    00218925movups [rsp+184], x0
    0021892dmov [rsp+200], rax
    00218935mov rax, [r15+80]
    00218939mov rbp, [r13+472]
    00218940mov [rsp+88], rax
    00218945mov rax, [r13+8]
    00218949test esi, esi
    0021894bje 0x218cb8
    00218951lea rcx, [r15+24]
    00218955sub rbp, rax
    00218958movsxd r14, edx
    0021895bmov [rsp+32], rcx
    00218960mov rcx, [rsp+16]
    00218965sar rbp, 3
    00218969add rcx, 1
    0021896dmov [rsp+8], rcx
    00218972shl rcx, 3
    00218976add rax, rcx
    00218979mov [rsp+72], rcx
    0021897emov [r13+8], rax
    00218982mov rax, [rbx+96]
    00218986mov [rax], 1
    00218989mov rdi, [rbx]
    0021898ccall caml_memprof_set_trigger
    00218991mov rdi, [rbx]
    00218994call caml_reset_young_limit
    00218999mov [rsp+64], r13
    0021899emov [rsp+48], r15
    002189a3mov r15, rbx
    002189a6nop [rax+rax]
    002189acmov rax, [rsp+24]
    002189b1mov r12, [rsp+16]
    002189b6sub r14, 1
    002189batest rax, rax
    002189bdje 0x2189cc
    002189bfmovzx r12l, [rax+r14]
    002189c4add r12, 1
    002189c8mov r10, [rsp+8]
    002189cdsub r10, 1
    002189d1sub r10, r12
    002189d4mov [rsp+8], r10
    002189d9mov r13, r10
    002189dccmp rbp, r10
    002189dfjle 0x218a41
    002189e1mov edx, [r15+1656]
    002189e8xor ebx, ebx
    002189eajmp 0x218a17
    002189ecdb 0x31
    002189edfucomi f3
    002189efdb 0x27
    002189f0
    002189f0 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 ff...........D..
    00218a00
    00218a00loc_218a00:
    00218a00lea edx, [rax+1]
    00218a03mov [r15+1656], edx
    00218a0asub rbp, [r15+8*rax+1144]
    00218a12cmp r13, rbp
    00218a15jge 0x218a38
    00218a17
    00218a17loc_218a17:
    00218a17mov eax, edx
    00218a19add rbx, 1
    00218a1dcmp eax, 64
    00218a20jne 0x218a00
    00218a22mov rdi, r15
    00218a25call fn_216ba0
    00218a2amov eax, [r15+1656]
    00218a31jmp 0x218a00
    00218a33
    00218a33 0f 1f 44 00 00 ..D..
    00218a38
    00218a38loc_218a38:
    00218a38test rbx, rbx
    00218a3bjne 0x218ba0
    00218a41
    00218a41loc_218a41:
    00218a41test r14, r14
    00218a44jne 0x2189b0
    00218a4a
    00218a4aloc_218a4a:
    00218a4amov rbx, r15
    00218a4dmov r15, [rsp+48]
    00218a52mov rsi, [rsp+32]
    00218a57mov r13, [rsp+64]
    00218a5cmov rdi, r15
    00218a5fcall fn_217ce0
    00218a64mov [rsp+96], eax
    00218a68mov [rsp+104], rdx
    00218a6dtest eax, eax
    00218a6fjne 0x218ca9
    00218a75mov rax, [rip+0x5d56c]
    00218a7cmov rcx, [rsp+72]
    00218a81mov rax, [rax]
    00218a85mov rbp, rcx
    00218a88neg rbp
    00218a8bmov rdx, [rax+8]
    00218a8fsub rdx, rcx
    00218a92cmp rdx, [rax+32]
    00218a96jae 0x218acc
    00218a98nop [rax+rax]
    00218aa0
    00218aa0loc_218aa0:
    00218aa0mov esi, 1
    00218aa5mov edi, 3
    00218aaacall caml_ev_counter
    00218aafcall caml_poll_gc_work
    00218ab4mov rax, [rip+0x5d52d]
    00218abbmov rax, [rax]
    00218abfmov rdx, [rax+8]
    00218ac3add rdx, rbp
    00218ac6cmp rdx, [rax+32]
    00218acajb 0x218aa0
    00218acc
    00218accloc_218acc:
    00218accmov [rax+8], rdx
    00218ad0xor esi, esi
    00218ad2cmp [r15+48], 0
    00218ad7je 0x218b28
    00218ad9nop [rax]
    00218ae0
    00218ae0loc_218ae0:
    00218ae0mov rax, [r15+24]
    00218ae4add rax, rsi
    00218ae7movzx edx, [rax+40]
    00218aebtest dl, 4
    00218aeeje 0x218b1a
    00218af0mov rcx, [rip+0x5d4f1]
    00218af7mov rdi, [rax]
    00218afaand edx, -5
    00218afdmov rcx, [rcx]
    00218b01mov rcx, [rcx+8]
    00218b05mov [rax+40], dl
    00218b08lea rcx, [rcx+8*rdi+8]
    00218b0dmov [rax], rcx
    00218b10cmp r14, [r15+56]
    00218b14jae 0x218b1a
    00218b16mov [r15+56], r14
    00218b1a
    00218b1aloc_218b1a:
    00218b1aadd r14, 1
    00218b1eadd rsi, 48
    00218b22cmp r14, [r15+48]
    00218b26jb 0x218ae0
    00218b28
    00218b28loc_218b28:
    00218b28mov rdi, [rsp+32]
    00218b2dlea rsi, [rbx+8]
    00218b31call fn_217950
    00218b36
    00218b36loc_218b36:
    00218b36mov rax, [rbx+96]
    00218b3amov rdi, rbx
    00218b3dmov [rax], 0
    00218b40call fn_2170b0
    00218b45mov rdi, [rbx]
    00218b48call caml_memprof_set_trigger
    00218b4dmov rdi, [rbx]
    00218b50call caml_reset_young_limit
    00218b55mov eax, [rsp+96]
    00218b59test eax, eax
    00218b5bjne 0x218ddd
    00218b61
    00218b61loc_218b61:
    00218b61mov rax, [rsp+56]
    00218b66mov [r13+160], rax
    00218b6dmov rax, [rsp+248]
    00218b75sub rax, [0x28]
    00218b7ejne 0x218de7
    00218b84add rsp, 264
    00218b8bpop rbx
    00218b8cpop rbp
    00218b8dpop r12
    00218b8fpop r13
    00218b91pop r14
    00218b93pop r15
    00218b95ret
    00218b96
    00218b96 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00218ba0
    00218ba0loc_218ba0:
    00218ba0mov rax, [r15+64]
    00218ba4movsxd rcx, r14l
    00218ba7lea rdx, [r15+112]
    00218bablea rsi, [r15+104]
    00218bafmov rdi, [rax+24]
    00218bb3sar rdi, 1
    00218bb6movsxd rdi, edi
    00218bb9call caml_get_callstack
    00218bbexor esi, esi
    00218bc0mov rdi, rax
    00218bc3mov [rsp+40], rax
    00218bc8call caml_alloc
    00218bcdmov rcx, [rsp+40]
    00218bd2mov rdx, rax
    00218bd5test rcx, rcx
    00218bd8je 0x218d3b
    00218bdemov rdi, rax
    00218be1xor eax, eax
    00218be3nop [rax+rax]
    00218beenop [rax+rax]
    00218bf9nop [rax]
    00218c00
    00218c00loc_218c00:
    00218c00mov rsi, [r15+104]
    00218c04add rdi, 8
    00218c08mov rsi, [rsi+8*rax]
    00218c0cadd rax, 1
    00218c10or rsi, 1
    00218c14mov [rdi-8], rsi
    00218c18cmp rcx, rax
    00218c1bjne 0x218c00
    00218c1dmov rax, [r15+112]
    00218c21cmp rax, 256
    00218c27jbe 0x218c36
    00218c29shl rcx, 3
    00218c2dcmp rcx, rax
    00218c30jb 0x218d49
    00218c36
    00218c36loc_218c36:
    00218c36mov rdi, [rsp+32]
    00218c3bmov esi, 1
    00218c40mov [rsp+40], rdx
    00218c45call fn_216eb0
    00218c4atest al, al
    00218c4cje 0x218a41
    00218c52mov rdi, [rsp+48]
    00218c57mov rdx, [rsp+40]
    00218c5cmov rax, [rdi+48]
    00218c60lea rcx, [rax+1]
    00218c64lea rax, [rax+2*rax]
    00218c68shl rax, 4
    00218c6cadd rax, [rdi+24]
    00218c70mov [rdi+48], rcx
    00218c74mov [rax+8], rdx
    00218c78movzx edx, [rax+40]
    00218c7cmov [rax], r13
    00218c7fand dx, -4096
    00218c84mov [rax+16], rbx
    00218c88or edx, 12
    00218c8bmov [rax+24], r12
    00218c8fmov [rax+32], 0
    00218c97mov [rax+40], dx
    00218c9btest r14, r14
    00218c9ejne 0x2189b0
    00218ca4jmp 0x218a4a
    00218ca9
    00218ca9loc_218ca9:
    00218ca9mov rdi, [rsp+32]
    00218caecall fn_2178c0
    00218cb3jmp 0x218b36
    00218cb8
    00218cb8loc_218cb8:
    00218cb8lea r12, [rbp-8]
    00218cbcmov rbp, [rbx+1664]
    00218cc3sub r12, rax
    00218cc6sar r12, 3
    00218ccacmp rbp, r12
    00218ccdjae 0x218dc3
    00218cd3mov ecx, [rbx+1656]
    00218cd9xor r14l, r14l
    00218cdcjmp 0x218d24
    00218cde
    00218cde 66 66 ff
    00218ce0 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f 1f 84 00 .........ff.....
    00218cf0 00 00 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 90 ....ff..........
    00218d00
    00218d00loc_218d00:
    00218d00lea ecx, [rax+1]
    00218d03mov [rbx+1656], ecx
    00218d09add rbp, [rbx+8*rax+1144]
    00218d11lea rax, [r14+1]
    00218d15mov [rbx+1664], rbp
    00218d1ccmp rbp, r12
    00218d1fjae 0x218d71
    00218d21mov r14, rax
    00218d24
    00218d24loc_218d24:
    00218d24mov eax, ecx
    00218d26cmp eax, 64
    00218d29jne 0x218d00
    00218d2bmov rdi, rbx
    00218d2ecall fn_216ba0
    00218d33mov eax, [rbx+1656]
    00218d39jmp 0x218d00
    00218d3b
    00218d3bloc_218d3b:
    00218d3bcmp [r15+112], 256
    00218d43jbe 0x218c36
    00218d49
    00218d49loc_218d49:
    00218d49mov rdi, [r15+104]
    00218d4dmov [rsp+40], rdx
    00218d52call caml_stat_free
    00218d57mov [r15+104], 0
    00218d5fmov rdx, [rsp+40]
    00218d64mov [r15+112], 0
    00218d6cjmp 0x218c36
    00218d71
    00218d71loc_218d71:
    00218d71sub rbp, r12
    00218d74mov [rbx+1664], rbp
    00218d7badd r14, 2
    00218d7fjne 0x218da6
    00218d81
    00218d81loc_218d81:
    00218d81mov rax, [rip+0x5d260]
    00218d88mov rdi, [rax]
    00218d8ccall caml_memprof_set_trigger
    00218d91mov rax, [rip+0x5d250]
    00218d98mov rdi, [rax]
    00218d9ccall caml_reset_young_limit
    00218da1jmp 0x218b61
    00218da6
    00218da6loc_218da6:
    00218da6mov rax, [r13+8]
    00218daalea rsi, [rax+8]
    00218dae
    00218daeloc_218dae:
    00218daemov rcx, [rsp+16]
    00218db3xor r8l, r8l
    00218db6mov rdx, r14
    00218db9mov rdi, rbx
    00218dbccall fn_217190
    00218dc1jmp 0x218d81
    00218dc3
    00218dc3loc_218dc3:
    00218dc3sub rbp, r12
    00218dc6mov r14l, 1
    00218dccmov [rbx+1664], rbp
    00218dd3mov rax, [r13+8]
    00218dd7lea rsi, [rax+8]
    00218ddbjmp 0x218dae
    00218ddd
    00218dddloc_218ddd:
    00218dddmov rdi, [rsp+104]
    00218de2call caml_raise
    00218de7
    00218de7loc_218de7:
    00218de7call fn_f4590
    00218880
    00218dec
    00218dec // align 0x10
    00218df0
    00218df0caml_memprof_new_thread:
    00218df0push rbx
    00218df1mov rbx, [rdi+464]
    00218df8mov edi, 104
    00218dfdcall caml_stat_alloc
    00218e02test rax, rax
    00218e05je 0x218e56
    00218e07movdqa x0, [rip+0x1134d]
    00218e0fmov [rax], 0
    00218e12mov [rax+8], 0
    00218e1amov [rax+16], 0
    00218e22mov rdx, [rbx+64]
    00218e26movups [rax+32], x0
    00218e2apxor x0, x0
    00218e2emov [rax+24], 0
    00218e36mov [rax+80], rdx
    00218e3amov [rax+88], rbx
    00218e3emovups [rax+48], x0
    00218e42movups [rax+64], x0
    00218e46mov rdx, [rbx+88]
    00218e4amov [rax+96], rdx
    00218e4emov [rbx+88], rax
    00218e52pop rbx
    00218e53ret
    00218e54db 0x43
    00218e55pop rax
    00218e56
    00218e56loc_218e56:
    00218e56pop rbx
    00218e57ret
    00218df0
    00218e58
    00218e58 // align 0x10
    00218e60
    00218e60caml_memprof_main_thread:
    00218e60mov rax, [rdi+464]
    00218e67mov rax, [rax+88]
    00218e6bret
    00218e6cdb 0x8b
    00218e6dpop rax
    00218e6fret
    00218e60
    00218e70
    00218e70caml_memprof_delete_thread:
    00218e70push rbx
    00218e71mov rax, [rdi+88]
    00218e75mov rbx, rdi
    00218e78lea rdi, [rdi+24]
    00218e7clea rsi, [rax+8]
    00218e80call fn_217950
    00218e85mov rdi, rbx
    00218e88pop rbx
    00218e89jmp 0x217310
    00218e8edb 0x7e
    00218e8fin al, 255
    00218e91db 0xff
    00218e70
    00218e92
    00218e92 // align 0x10
    00218ea0
    00218ea0caml_memprof_enter_thread:
    00218ea0push rbx
    00218ea1mov rax, [rdi+88]
    00218ea5mov [rax+96], rdi
    00218ea9mov rbx, [rdi+88]
    00218eadmovzx eax, [rdi]
    00218eb0mov rdx, [rbx+96]
    00218eb4mov [rdx], al
    00218eb6test al, al
    00218eb8je 0x218ed0
    00218ebamov rdi, [rbx]
    00218ebdcall caml_memprof_set_trigger
    00218ec2mov rdi, [rbx]
    00218ec5pop rbx
    00218ec6jmp 0x201700
    00218ecbdb 0x31
    00218eccmov dh, bh
    00218ecedb 0xff
    00218ecf
    00218ecf 90 .
    00218ed0
    00218ed0loc_218ed0:
    00218ed0mov rdi, rbx
    00218ed3call fn_2170b0
    00218ed8jmp 0x218ebe
    00218ea0
    00218eda
    00218eda // align 0x10
    00218ee0
    00218ee0caml_memprof_start:
    00218ee0push r15
    00218ee2push r14
    00218ee4push r13
    00218ee6push r12
    00218ee8push rbp
    00218ee9push rbx
    00218eeasub rsp, 200
    00218ef1movdqa x0, [rip+0x111e3]
    00218ef9mov [rsp+24], rdi
    00218efemov [rsp+16], rsi
    00218f03mov [rsp+8], rdx
    00218f08mov rax, [0x28]
    00218f11mov [rsp+184], rax
    00218f19mov rax, [rip+0x5d0c4]
    00218f20mov r12, [rax]
    00218f24lea rax, [rsp+24]
    00218f29movups [rsp+56], x0
    00218f2emov [rsp+40], 1
    00218f37movq x0, rax
    00218f3clea rax, [rsp+16]
    00218f41movq x3, rax
    00218f46lea rax, [rsp+8]
    00218f4bmov r14, [r12+160]
    00218f53mov [rsp+88], rax
    00218f58lea rax, [rsp+48]
    00218f5dpunpcklqdq x0, x3
    00218f61mov [rsp+112], rax
    00218f66lea rax, [rsp+112]
    00218f6bmov [r12+160], rax
    00218f73mov eax, 1
    00218f78movups [rsp+72], x0
    00218f7dmovq x0, rax
    00218f82lea rax, [rsp+40]
    00218f87punpcklqdq x0, x0
    00218f8bmov [rsp+48], r14
    00218f90mov [rsp+136], rax
    00218f98movups [rsp+120], x0
    00218f9dmovsd_xmm x2, [rdi]
    00218fa1movsd_xmm [rsp], x2
    00218fa6test rsi, rsi
    00218fa9js 0x2191d8
    00218fafpxor x0, x0
    00218fb3comisd x2, x0
    00218fb7jb 0x2191d8
    00218fbdmovsd_xmm x4, [rip+0x1183f]
    00218fc5comisd x4, x2
    00218fc9jb 0x2191d8
    00218fcfmov rbp, [r12+464]
    00218fd7mov rax, [rbp+96]
    00218fdblea rdi, [rax+24]
    00218fdfcall fn_2173a0
    00218fe4cmp rax, 1
    00218fe8je 0x219009
    00218feamov rax, [rbp+96]
    00218feelea rdi, [rax+24]
    00218ff2call fn_2173a0
    00218ff7mov rax, [rax]
    00218ffasar rax, 1
    00218ffdtest eax, eax
    00218fffje 0x2191ee
    00219005mov rdi, rbp
    00219008call fn_217aa0
    0021900dtest al, al
    0021900fje 0x2191e9
    00219015movsd_xmm x5, [rsp]
    0021901aucomisd x5, [rip+0x117e2]
    00219022jp 0x219190
    00219028pxor x0, x0
    0021902cjne 0x219190
    00219032call caml_copy_double
    00219037xor esi, esi
    00219039mov edi, 9
    0021903exor r13l, r13l
    00219041mov [rsp+40], rax
    00219046call caml_alloc_shr
    0021904bmov esi, 1
    00219050mov rdi, rax
    00219053mov rbx, rax
    00219056call caml_initialize
    0021905bmov rsi, [rsp+24]
    00219060lea rdi, [rbx+8]
    00219064lea r15, [rbx+32]
    00219068call caml_initialize
    0021906dmov rsi, [rsp+40]
    00219072lea rdi, [rbx+16]
    00219076call caml_initialize
    0021907bmov rsi, [rsp+16]
    00219080lea rdi, [rbx+24]
    00219084call caml_initialize
    00219089mov rdx, [rsp+8]
    0021908elea rdi, [r15+r13]
    00219092add rdx, r13
    00219095add r13, 8
    00219099mov rsi, [rdx]
    0021909ccall caml_initialize
    002190a1cmp r13, 40
    002190a5jne 0x21908d
    002190a7mov rax, [rbp+88]
    002190abmov [rbp+64], rbx
    002190aftest rax, rax
    002190b2je 0x2191d0
    002190b8nop [rax]
    002190bcmov [rax+80], rbx
    002190c0
    002190c0loc_2190c0:
    002190c0mov rax, [rax+96]
    002190c4test rax, rax
    002190c7jne 0x2190c0
    002190c9mov rax, [rbp+64]
    002190cdmov [rbp+1656], 64
    002190d7cmp rax, 1
    002190dbje 0x2190f3
    002190ddmov rax, [rax+16]
    002190e1movsd_xmm x0, [rip+0x1176b]
    002190e9ucomisd x0, [rax]
    002190edjbe 0x219160
    002190efmov rax, [rip+0x5ceee]
    002190f6mov rdi, [rax]
    002190facall caml_memprof_set_trigger
    002190ffmov rax, [rip+0x5cede]
    00219106mov rdi, [rax]
    0021910acall caml_reset_young_limit
    0021910fmov rdi, rbp
    00219112call fn_217760
    00219117mov rdi, rbp
    0021911acall fn_2170b0
    0021911fmov [r12+160], r14
    00219127mov rax, [rsp+184]
    0021912fsub rax, [0x28]
    00219138jne 0x2191e4
    0021913eadd rsp, 200
    00219145mov rax, rbx
    00219148pop rbx
    00219149pop rbp
    0021914apop r12
    0021914cpop r13
    0021914epop r14
    00219150pop r15
    00219152ret
    00219153db 0x5e
    00219154pop r15
    00219156ret
    00219157
    00219157 66 0f 1f 84 00 00 00 00 00 f........
    00219160
    00219160loc_219160:
    00219160mov rdi, rbp
    00219163call fn_216ba0
    00219168mov eax, [rbp+1656]
    0021916elea edx, [rax+1]
    00219171mov [rbp+1656], edx
    00219177mov rax, [rbp+8*rax+1144]
    0021917fsub rax, 1
    00219183mov [rbp+1664], rax
    0021918ajmp 0x2190f3
    0021918f
    0021918f 90 .
    00219190
    00219190loc_219190:
    00219190movsd_xmm x0, [rsp]
    00219195xorpd x0, [rip+0x10e93]
    0021919dcall caml_log1p
    002191a2movapd x1, x0
    002191a6movsd_xmm x0, [rip+0x1165a]
    002191aedivsd x0, x1
    002191b2pxor x1, x1
    002191b6comisd x1, x0
    002191bajae 0x219036
    002191c0movsd_xmm x0, [rip+0x11698]
    002191c8jmp 0x219036
    002191cd
    002191cd 0f 1f 00 ...
    002191d0
    002191d0loc_2191d0:
    002191d0mov rax, rbx
    002191d3jmp 0x2190d1
    002191d8
    002191d8loc_2191d8:
    002191d8lea rdi, [rip+0x16052]
    002191dfcall caml_invalid_argument
    002191e4
    002191e4loc_2191e4:
    002191e4call fn_f4590
    002191e9
    002191e9loc_2191e9:
    002191e9call caml_raise_out_of_memory
    002191ee
    002191eeloc_2191ee:
    002191eelea rdi, [rip+0x17b2b]
    002191f5call caml_failwith
    00218ee0
    002191fa
    002191fa // align 0x10
    00219200
    00219200caml_memprof_stop:
    00219200push r15
    00219202push r14
    00219204push r13
    00219206push r12
    00219208push rbp
    00219209push rbx
    0021920asub rsp, 8
    0021920emov r12, [rip+0x5cdcf]
    00219215mov rax, [r12]
    0021921amov rbx, [rax+464]
    00219221mov rbp, [rbx+96]
    00219225cmp [rbp], 0
    00219229lea r13, [rbp+24]
    0021922djne 0x219280
    0021922fmov [rbp], 1
    00219233mov rdi, [rbx]
    00219236lea r13, [rbp+24]
    0021923acall caml_memprof_set_trigger
    0021923fmov rdi, [rbx]
    00219242call caml_reset_young_limit
    00219247mov rsi, r13
    0021924amov rdi, rbp
    0021924dcall fn_217ce0
    00219252mov rdi, rbx
    00219255mov r14, rax
    00219258mov rax, [rbx+96]
    0021925cmov r15, rdx
    0021925fmov [rax], 0
    00219262call fn_2170b0
    00219267mov rdi, [rbx]
    0021926acall caml_memprof_set_trigger
    0021926fmov rdi, [rbx]
    00219272call caml_reset_young_limit
    00219277test r14l, r14l
    0021927ajne 0x2192cd
    0021927cmov rdi, r13
    0021927fcall fn_2173a0
    00219284mov rdi, rax
    00219287cmp rax, 1
    0021928bje 0x2192d5
    0021928dmov rax, [rax]
    00219290sar rax, 1
    00219293test eax, eax
    00219295jne 0x2192d5
    00219297mov esi, 3
    0021929ccall caml_modify
    002192a1mov rdi, [r12]
    002192a6call caml_memprof_set_trigger
    002192abmov rdi, [r12]
    002192b0call caml_reset_young_limit
    002192b5add rsp, 8
    002192b9mov eax, 1
    002192bepop rbx
    002192bfpop rbp
    002192c0pop r12
    002192c2pop r13
    002192c4pop r14
    002192c6pop r15
    002192c8ret
    002192c9mov rdi, r15
    002192cccall caml_raise
    002192d1lea rdi, [rip+0x17a6c]
    002192d8call caml_failwith
    002192dddb 0xdf
    002192dedb 0xd6
    002192dfdb 0xfe
    002192e0db 0xff
    00219200
    002192e1
    002192e1 // align 0x10
    002192f0
    002192f0caml_memprof_discard:
    002192f0sub rsp, 8
    002192f4mov rax, [rdi]
    002192f7sar rax, 1
    002192fatest eax, eax
    002192fcje 0x21931b
    002192fecmp eax, 2
    00219301je 0x219327
    00219303mov esi, 5
    00219308call caml_modify
    0021930dmov eax, 1
    00219312add rsp, 8
    00219316ret
    00219317lea rdi, [rip+0x17a4e]
    0021931ecall caml_failwith
    00219323lea rdi, [rip+0x17a72]
    0021932acall caml_failwith
    0021932fdb 0x8d
    00219330db 0xd6
    00219331db 0xfe
    00219332db 0xff
    002192f0
    00219333
    00219333 // align 0x10
    00219340
    00219340fn_219340:
    00219340push r14
    00219342push r13
    00219344push r12
    00219346push rbp
    00219347mov rbp, rsi
    0021934apush rbx
    0021934bmov rax, [rdi]
    0021934emov rbx, rdi
    00219351test rax, rax
    00219354je 0x219440
    0021935amov r12, rcx
    0021935dmov rcx, [rdi+16]
    00219361cmp [rdi+32], rcx
    00219365je 0x219408
    0021936bmov r14, [rdi+24]
    0021936fmov r13, r9
    00219372sub r14, rax
    00219375mov rax, [rdi+40]
    00219379lea r12, [rax+rax]
    0021937dmov [rdi+40], r12
    00219381add r12, [rdi+48]
    00219385mov edi, 8
    0021938aimul r12, rsi
    0021938emov rsi, r8
    00219391test r12, r12
    00219394lea rdx, [r12+1023]
    0021939ccmovns rdx, r12
    002193a0xor eax, eax
    002193a2sar rdx, 10
    002193a6call caml_gc_message
    002193abmov rdi, [rbx]
    002193aemov rsi, r12
    002193b1call caml_stat_resize_noexc
    002193b6mov [rbx], rax
    002193b9test rax, rax
    002193bcje 0x2194bc
    002193c2movdqu x0, [rbx+40]
    002193c7movdqa x1, x0
    002193cbpsrldq x1, 8
    002193d0paddq x0, x1
    002193d4movq rdx, x0
    002193d9imul rdx, rbp
    002193ddimul rbp, [rbx+40]
    002193e2add rdx, rax
    002193e5add rbp, rax
    002193e8add rax, r14
    002193ebmov [rbx+8], rdx
    002193efmov [rbx+16], rbp
    002193f3mov [rbx+24], rax
    002193f7mov [rbx+32], rdx
    002193fbpop rbx
    002193fcpop rbp
    002193fdpop r12
    002193ffpop r13
    00219401pop r14
    00219403ret
    00219404
    00219404 0f 1f 40 00 ..@.
    00219408
    00219408loc_219408:
    00219408mov edi, edx
    0021940amov esi, 1
    0021940fcall caml_ev_counter
    00219414mov rsi, r12
    00219417xor eax, eax
    00219419xor edx, edx
    0021941bmov edi, 8
    00219420call caml_gc_message
    00219425mov rax, [rbx+8]
    00219429mov [rbx+32], rax
    0021942dpop rbx
    0021942epop rbp
    0021942fpop r12
    00219431pop r13
    00219433pop r14
    00219435jmp 0x21fcd0
    0021943a
    0021943a 66 0f 1f 44 00 00 f..D..
    00219440
    00219440loc_219440:
    00219440mov rax, [rip+0x5cba1]
    00219447mov rax, [rax]
    0021944bmov rdi, [rax+272]
    00219452mov [rbx+48], 256
    0021945ashr rdi, 3
    0021945emov [rbx+40], rdi
    00219462add rdi, 256
    00219469imul rdi, rsi
    0021946dcall caml_stat_alloc_noexc
    00219472mov r12, rax
    00219475test rax, rax
    00219478je 0x2194cb
    0021947amov rdi, [rbx]
    0021947dtest rdi, rdi
    00219480je 0x219487
    00219482call caml_stat_free
    00219487
    00219487loc_219487:
    00219487mov rax, [rbx+40]
    0021948bmov rdx, rbp
    0021948emov [rbx], r12
    00219491mov [rbx+24], r12
    00219495imul rdx, rax
    00219499add rax, [rbx+48]
    0021949dimul rax, rbp
    002194a1add rdx, r12
    002194a4add r12, rax
    002194a7mov [rbx+16], rdx
    002194abmov [rbx+32], rdx
    002194afmov [rbx+8], r12
    002194b3pop rbx
    002194b4pop rbp
    002194b5pop r12
    002194b7pop r13
    002194b9pop r14
    002194bbret
    002194bc
    002194bcloc_2194bc:
    002194bcmov rsi, r13
    002194bflea rdi, [rip+0x15a84]
    002194c6call caml_fatal_error
    002194cb
    002194cbloc_2194cb:
    002194cblea rdi, [rip+0x15d70]
    002194d2xor eax, eax
    002194d4call caml_fatal_error
    00219340
    002194d9
    002194d9 // align 0x10
    002194e0
    002194e0caml_empty_minor_heap_setup:
    002194e0mov rax, [rip+0x15f70d]
    002194e7add rax, 1
    002194ebmov [rip+0x15f702], rax
    002194f2mov [rip+0x15f710], 1
    002194fcmov [rip+0x15f70d], 0
    00219507ret
    00219508db 0x00
    00219509add [rax], al
    0021950bret
    002194e0
    0021950c
    0021950c // align 0x10
    00219510
    00219510caml_do_opportunistic_major_slice:
    00219510push rbx
    00219511call caml_opportunistic_major_work_available
    00219516mov ebx, eax
    00219518test eax, eax
    0021951ajne 0x219528
    0021951cmov eax, ebx
    0021951epop rbx
    0021951fret
    00219520db 0x89
    00219521fcomp [rbx-61]
    00219524
    00219524 0f 1f 40 00 ..@.
    00219528
    00219528loc_219528:
    00219528mov rax, [rip+0x15f701]
    0021952ftest al, 64
    00219531jne 0x219548
    00219533mov edi, 512
    00219538call caml_opportunistic_major_collection_slice
    0021953dmov eax, ebx
    0021953fpop rbx
    00219540ret
    00219541
    00219541 0f 1f 80 00 00 00 00 .......
    00219548
    00219548loc_219548:
    00219548mov edi, 26
    0021954dcall caml_ev_begin
    00219552mov edi, 512
    00219557call caml_opportunistic_major_collection_slice
    0021955cmov edi, 26
    00219561call caml_ev_end
    00219566mov eax, ebx
    00219568pop rbx
    00219569ret
    00219510
    0021956a
    0021956a // align 0x10
    00219570
    00219570fn_219570:
    00219570push r13
    00219572push r12
    00219574mov r12, rsi
    00219577push rbp
    00219578mov rbp, rcx
    0021957bpush rbx
    0021957cmov rbx, rdi
    0021957fsub rsp, 8
    00219583mov rax, [rip+0x15f056]
    0021958acmp rax, 1
    0021958ejne 0x2195b0
    00219590mov [rdi-8], 0
    00219598mov [rdi], rdx
    0021959b
    0021959bloc_21959b:
    0021959badd rdx, rbp
    0021959emov [r12], rdx
    002195a2add rsp, 8
    002195a6pop rbx
    002195a7pop rbp
    002195a8pop r12
    002195aapop r13
    002195acret
    002195ad
    002195ad 0f 1f 00 ...
    002195b0
    002195b0loc_2195b0:
    002195b0mov rax, [rdi-8]
    002195b4test rax, rax
    002195b7jne 0x2195c0
    002195b9mov rdx, [rdi]
    002195bcjmp 0x21959b
    002195be
    002195be 66 90 f.
    002195c0
    002195c0loc_2195c0:
    002195c0lea r13, [rdi-8]
    002195c4cmp rax, 256
    002195caje 0x2195f0
    002195ccmov ecx, 256
    002195d1lock cmpxchg [r13], rcx
    002195d7jne 0x219628
    002195d9mov [rdi], rdx
    002195dcmov eax, 1
    002195e1mov [rdi-8], 0
    002195e9jmp 0x21959b
    002195eb
    002195eb 0f 1f 44 00 00 ..D..
    002195f0
    002195f0loc_2195f0:
    002195f0xor edi, edi
    002195f2jmp 0x219605
    002195f4
    002195f4 0f 1f 40 00 ..@.
    002195f8
    002195f8loc_2195f8:
    002195f8nop
    002195facmp edi, 999
    00219600ja 0x219618
    00219602add edi, 1
    00219605
    00219605loc_219605:
    00219605mov rax, [r13]
    00219609test rax, rax
    0021960cjne 0x2195f8
    0021960e
    0021960eloc_21960e:
    0021960emov rdx, [rbx]
    00219611xor eax, eax
    00219613jmp 0x21959b
    00219615
    00219615 0f 1f 00 ...
    00219618
    00219618loc_219618:
    00219618lea rsi, [rip+0x5c301]
    0021961fcall caml_plat_spin_back_off
    00219624mov edi, eax
    00219626jmp 0x219605
    00219628
    00219628loc_219628:
    00219628xor edi, edi
    0021962ajmp 0x219639
    0021962c
    0021962cloc_21962c:
    0021962cnop
    0021962ecmp edi, 999
    00219634ja 0x219644
    00219636add edi, 1
    00219639
    00219639loc_219639:
    00219639mov rax, [r13]
    0021963dtest rax, rax
    00219640jne 0x21962c
    00219642jmp 0x21960e
    00219644
    00219644loc_219644:
    00219644lea rsi, [rip+0x5c2d5]
    0021964bcall caml_plat_spin_back_off
    00219650mov edi, eax
    00219652jmp 0x219639
    00219570
    00219654
    00219654 // align 0x10
    00219660
    00219660fn_219660:
    00219660push r15
    00219662mov r15, rdi
    00219665push r14
    00219667push r13
    00219669mov r13, rsi
    0021966cpush r12
    0021966emov r12, rdx
    00219671push rbp
    00219672push rbx
    00219673sub rsp, 40
    00219677and esi, 1
    0021967ajne 0x2198c2
    00219680cmp r13, [rip+0x15ef3d]
    00219687jae 0x2198c2
    0021968dcmp [rip+0x15ef38], r13
    00219694jae 0x2198c2
    0021969axor r14l, r14l
    0021969dmov rbx, [r13-8]
    002196a1
    002196a1loc_2196a1:
    002196a1lea rbp, [r13-8]
    002196a5cmp rbx, 256
    002196acje 0x219710
    002196aetest rbx, rbx
    002196b1je 0x21972e
    002196b3movzx edx, bl
    002196b6cmp bl, -7
    002196b9je 0x219750
    002196bfcmp edx, 245
    002196c5je 0x21991a
    002196cbcmp edx, 248
    002196d1jbe 0x219778
    002196d7cmp edx, 250
    002196ddja 0x21999d
    002196e3mov rbp, [r13]
    002196e7test bpl, 1
    002196ebje 0x219824
    002196f1mov [r12], rbp
    002196f5
    002196f5loc_2196f5:
    002196f5add rsp, 40
    002196f9pop rbx
    002196fapop rbp
    002196fbpop r12
    002196fdpop r13
    002196ffpop r14
    00219701pop r15
    00219703ret
    00219704db 0x5e
    00219705pop r15
    00219707ret
    00219708
    00219708 0f 1f 84 00 00 00 00 00 ........
    00219710
    00219710loc_219710:
    00219710xor edi, edi
    00219712jmp 0x219725
    00219714
    00219714 0f 1f 40 00 ..@.
    00219718
    00219718loc_219718:
    00219718nop
    0021971acmp edi, 999
    00219720ja 0x219768
    00219722add edi, 1
    00219725
    00219725loc_219725:
    00219725mov rax, [rbp]
    00219729test rax, rax
    0021972cjne 0x219718
    0021972e
    0021972eloc_21972e:
    0021972emov rax, [r13]
    00219732add rax, r14
    00219735mov [r12], rax
    00219739
    00219739loc_219739:
    00219739add rsp, 40
    0021973dpop rbx
    0021973epop rbp
    0021973fpop r12
    00219741pop r13
    00219743pop r14
    00219745pop r15
    00219747ret
    00219748
    00219748 0f 1f 84 00 00 00 00 00 ........
    00219750
    00219750loc_219750:
    00219750shr rbx, 10
    00219754lea r14, [8*rbx]
    0021975csub r13, r14
    0021975fjmp 0x2196a1
    00219764
    00219764 0f 1f 40 00 ..@.
    00219768
    00219768loc_219768:
    00219768lea rsi, [rip+0x5c1b1]
    0021976fcall caml_plat_spin_back_off
    00219774mov edi, eax
    00219776jmp 0x219725
    00219778
    00219778loc_219778:
    00219778mov r9, rbx
    0021977bmov rbp, [r15+16]
    0021977fxor ecx, ecx
    00219781shr r9, 10
    00219785lea rax, [8*r9+8]
    0021978dadd [r15+8], rax
    00219791mov rsi, r9
    00219794mov rdi, [rbp+280]
    0021979bmov [rsp+8], r9
    002197a0call caml_shared_try_alloc
    002197a5mov r9, [rsp+8]
    002197aamov r8, rax
    002197admov rax, [rbp+128]
    002197b4mov [rsp+24], r9
    002197b9lea rax, [r9+rax+1]
    002197bemov [rbp+128], rax
    002197c5test r8, r8
    002197c8je 0x219a81
    002197celea rdx, [r8+8]
    002197d2mov rcx, r14
    002197d5mov rsi, r12
    002197d8mov rdi, r13
    002197dbmov [rsp+16], r8
    002197e0mov rbp, [r13]
    002197e4mov [rsp+8], rdx
    002197e9call fn_219570
    002197eemov r8, [rsp+16]
    002197f3test eax, eax
    002197f5je 0x219a50
    002197fbmov r9, [rsp+24]
    00219800mov rdx, [rsp+8]
    00219805cmp r9, 1
    00219809ja 0x219a6e
    0021980fmov r12, rdx
    00219812test bpl, 1
    00219816jne 0x2196f5
    0021981cmov r13, rbp
    0021981fjmp 0x219684
    00219824
    00219824loc_219824:
    00219824mov rax, [rbp-8]
    00219828lea r14, [rbp-8]
    0021982ccmp rax, 256
    00219832je 0x2198ca
    00219838test rax, rax
    0021983bje 0x2198e3
    00219841
    00219841loc_219841:
    00219841movzx eax, [r14]
    00219845add eax, 12
    00219848cmp al, 9
    0021984aja 0x219900
    00219850mov edx, 581
    00219855bt rdx, rax
    00219859jae 0x219900
    0021985fshr rbx, 10
    00219863mov r14, [r15+16]
    00219867xor ecx, ecx
    00219869mov edx, 250
    0021986elea rax, [8*rbx+8]
    00219876add [r15+8], rax
    0021987amov esi, 1
    0021987fmov rdi, [r14+280]
    00219886call caml_shared_try_alloc
    0021988badd [r14+128], 2
    00219893mov rbx, rax
    00219896test rax, rax
    00219899je 0x219a81
    0021989flea r14, [rax+8]
    002198a3xor ecx, ecx
    002198a5mov rsi, r12
    002198a8mov rdi, r13
    002198abmov rdx, r14
    002198aecall fn_219570
    002198b3test eax, eax
    002198b5je 0x219905
    002198b7
    002198b7loc_2198b7:
    002198b7mov r12, r14
    002198bamov r13, rbp
    002198bdjmp 0x219684
    002198c2
    002198c2loc_2198c2:
    002198c2mov rbp, r13
    002198c5jmp 0x2196f5
    002198ca
    002198caloc_2198ca:
    002198caxor edi, edi
    002198ccjmp 0x2198db
    002198ce
    002198celoc_2198ce:
    002198cenop
    002198d0cmp edi, 999
    002198d6ja 0x2198f0
    002198d8add edi, 1
    002198db
    002198dbloc_2198db:
    002198dbmov rax, [r14]
    002198detest rax, rax
    002198e1jne 0x2198ce
    002198e3
    002198e3loc_2198e3:
    002198e3mov r14, [rbp]
    002198e7sub r14, 8
    002198ebjmp 0x219841
    002198f0
    002198f0loc_2198f0:
    002198f0lea rsi, [rip+0x5c029]
    002198f7call caml_plat_spin_back_off
    002198fcmov edi, eax
    002198fejmp 0x2198db
    00219900
    00219900loc_219900:
    00219900mov r14, r12
    00219903jmp 0x2198b7
    00219905
    00219905loc_219905:
    00219905mov rax, [rip+0x15eab4]
    0021990cadd rax, 1275
    00219912mov [rbx], rax
    00219915jmp 0x219739
    0021991a
    0021991aloc_21991a:
    0021991amov r14, [r15+16]
    0021991exor ecx, ecx
    00219920mov esi, 2
    00219925mov rbp, [r13]
    00219929mov rdi, [r14+280]
    00219930call caml_shared_try_alloc
    00219935add [r14+128], 3
    0021993dmov rbx, rax
    00219940test rax, rax
    00219943je 0x219a81
    00219949xor ecx, ecx
    0021994blea rdx, [rax+8]
    0021994fmov rsi, r12
    00219952mov rdi, r13
    00219955call fn_219570
    0021995atest eax, eax
    0021995cje 0x219905
    0021995emov [rbx+8], rbp
    00219962mov rax, [r13+8]
    00219966mov [rbx+16], rax
    0021996acmp rbp, 1
    0021996eje 0x219739
    00219974add rsp, 40
    00219978lea rcx, [rbp-1]
    0021997cmov rdx, r15
    0021997fxor r8l, r8l
    00219982pop rbx
    00219983mov esi, 1
    00219988lea rdi, [rip-815]
    0021998fpop rbp
    00219990pop r12
    00219992pop r13
    00219994pop r14
    00219996pop r15
    00219998jmp 0x206e00
    0021999d
    0021999dloc_21999d:
    0021999dmov r14, rbx
    002199a0xor ecx, ecx
    002199a2shr r14, 10
    002199a6lea r8, [8*r14+8]
    002199aeadd [r15+8], r8
    002199b2mov r15, [r15+16]
    002199b6mov rsi, r14
    002199b9mov [rsp+8], r8
    002199bemov rdi, [r15+280]
    002199c5call caml_shared_try_alloc
    002199camov rbp, rax
    002199cdmov rax, [r15+128]
    002199d4lea rax, [r14+rax+1]
    002199d9mov [r15+128], rax
    002199e0test rbp, rbp
    002199e3je 0x219a81
    002199e9mov r8, [rsp+8]
    002199eemov rcx, rbp
    002199f1lea rdx, [rbp+8]
    002199f5mov rax, r13
    002199f8sub rcx, r13
    002199fblea rsi, [r8+r13-8]
    00219a00add rcx, 8
    00219a04test r14, r14
    00219a07je 0x219a1c
    00219a09
    00219a09loc_219a09:
    00219a09mov r8, [rax]
    00219a0clea rdi, [rcx+rax]
    00219a10add rax, 8
    00219a14mov [rdi], r8
    00219a17cmp rax, rsi
    00219a1ajne 0x219a09
    00219a1c
    00219a1cloc_219a1c:
    00219a1cxor ecx, ecx
    00219a1emov rsi, r12
    00219a21mov rdi, r13
    00219a24call fn_219570
    00219a29test eax, eax
    00219a2bjne 0x219739
    00219a31mov rax, [rip+0x15e988]
    00219a38and rbx, -1024
    00219a3flea rax, [rax+rbx+251]
    00219a47mov [rbp], rax
    00219a4bjmp 0x219739
    00219a50
    00219a50loc_219a50:
    00219a50mov rax, [rip+0x15e969]
    00219a57and rbx, -1024
    00219a5elea rax, [rax+rbx+251]
    00219a66mov [r8], rax
    00219a69jmp 0x219739
    00219a6e
    00219a6eloc_219a6e:
    00219a6emov [r8+8], rbp
    00219a72mov rax, [r15]
    00219a75mov [r8+16], rax
    00219a79mov [r15], r13
    00219a7cjmp 0x219739
    00219a81
    00219a81loc_219a81:
    00219a81lea rdi, [rip+0x17348]
    00219a88xor eax, eax
    00219a8acall caml_fatal_error
    00219660
    00219a8f
    00219a8f // align 0x10
    00219a90
    00219a90fn_219a90:
    00219a90push r15
    00219a92push r14
    00219a94push r13
    00219a96mov r13, rdi
    00219a99push r12
    00219a9bpush rbp
    00219a9cpush rbx
    00219a9dsub rsp, 40
    00219aa1mov rax, [rdi+16]
    00219aa5mov r12, [rdi]
    00219aa8mov [rsp+4], esi
    00219aacmov rax, [rax+96]
    00219ab0mov rcx, [rax+56]
    00219ab4mov rbp, [rax+80]
    00219ab8mov [rsp+8], rcx
    00219abdtest r12, r12
    00219ac0je 0x219b64
    00219ac6nop [rax+rax]
    00219ad0
    00219ad0loc_219ad0:
    00219ad0mov r15, [r12]
    00219ad4mov rax, [r15+8]
    00219ad8lea r14, [r15+8]
    00219adcmov [r13], rax
    00219ae0mov rsi, [r15]
    00219ae3test sil, 1
    00219ae7jne 0x219b00
    00219ae9cmp rsi, [rip+0x15ead8]
    00219af0jae 0x219b00
    00219af2cmp [rip+0x15ead7], rsi
    00219af9jb 0x219c60
    00219affnop
    00219b00
    00219b00loc_219b00:
    00219b00sub r15, 8
    00219b04mov ebx, 1
    00219b09jmp 0x219b4b
    00219b0b
    00219b0b 0f 1f 44 00 00 ..D..
    00219b10
    00219b10loc_219b10:
    00219b10lea rax, [r12+8*rbx]
    00219b14mov rsi, [rax]
    00219b17test sil, 1
    00219b1bjne 0x219b40
    00219b1dcmp rsi, [rip+0x15eaa4]
    00219b24jae 0x219b40
    00219b26cmp [rip+0x15eaa3], rsi
    00219b2djb 0x219c50
    00219b33nop [rax+rax]
    00219b3enop
    00219b40
    00219b40loc_219b40:
    00219b40mov [r14], rsi
    00219b43
    00219b43loc_219b43:
    00219b43add rbx, 1
    00219b47add r14, 8
    00219b4b
    00219b4bloc_219b4b:
    00219b4bmov rax, [r15]
    00219b4eshr rax, 10
    00219b52cmp rbx, rax
    00219b55jb 0x219b10
    00219b57mov r12, [r13]
    00219b5btest r12, r12
    00219b5ejne 0x219ad0
    00219b64
    00219b64loc_219b64:
    00219b64mov eax, [rsp+4]
    00219b68test eax, eax
    00219b6aje 0x219c3d
    00219b70mov rax, [rsp+8]
    00219b75cmp rax, rbp
    00219b78jae 0x219c3d
    00219b7e
    00219b7eloc_219b7e:
    00219b7emov rbx, rax
    00219b81xor r15l, r15l
    00219b84nop [rax+rax]
    00219b8fnop
    00219b90
    00219b90loc_219b90:
    00219b90mov rax, [rbx+8]
    00219b94mov rdx, [rbx]
    00219b97cmp rax, 1
    00219b9blea r14, [rdx+8*rax]
    00219b9flea rsi, [rdx+8]
    00219ba3cmove r14, rsi
    00219ba7mov rax, [r14]
    00219baacmp [rip+0x15e89f], rax
    00219bb1je 0x219c10
    00219bb3test al, 1
    00219bb5jne 0x219c10
    00219bb7cmp rax, [rip+0x15ea0a]
    00219bbejae 0x219c10
    00219bc0cmp [rip+0x15ea09], rax
    00219bc7jae 0x219c10
    00219bc9movzx esi, [rax-8]
    00219bcdmov r8, rax
    00219bd0lea rdx, [rax-8]
    00219bd4xor r12l, r12l
    00219bd7cmp sil, -7
    00219bdbje 0x219cbf
    00219be1
    00219be1loc_219be1:
    00219be1mov rax, [rdx]
    00219be4cmp rax, 256
    00219beaje 0x219c70
    00219bf0test rax, rax
    00219bf3je 0x219c8d
    00219bf9mov rsi, [r14]
    00219bfcmov rdx, r14
    00219bffmov rdi, r13
    00219c02call fn_219660
    00219c07mov r15l, [rsp+4]
    00219c0cnop [rax]
    00219c10
    00219c10loc_219c10:
    00219c10add rbx, 16
    00219c14cmp rbx, rbp
    00219c17jb 0x219b90
    00219c1dtest r15l, r15l
    00219c20je 0x219c3d
    00219c22mov r12, [r13]
    00219c26test r12, r12
    00219c29jne 0x219ad0
    00219c2fmov rax, [rsp+8]
    00219c34cmp rax, rbp
    00219c37jb 0x219b7e
    00219c3d
    00219c3dloc_219c3d:
    00219c3dadd rsp, 40
    00219c41pop rbx
    00219c42pop rbp
    00219c43pop r12
    00219c45pop r13
    00219c47pop r14
    00219c49pop r15
    00219c4bret
    00219c4c
    00219c4c 0f 1f 40 00 ..@.
    00219c50
    00219c50loc_219c50:
    00219c50mov rdx, r14
    00219c53mov rdi, r13
    00219c56call fn_219660
    00219c5bjmp 0x219b43
    00219c60
    00219c60loc_219c60:
    00219c60mov rdx, r15
    00219c63mov rdi, r13
    00219c66call fn_219660
    00219c6bjmp 0x219b00
    00219c70
    00219c70loc_219c70:
    00219c70xor edi, edi
    00219c72jmp 0x219c85
    00219c74
    00219c74 0f 1f 40 00 ..@.
    00219c78
    00219c78loc_219c78:
    00219c78nop
    00219c7acmp edi, 999
    00219c80ja 0x219c9b
    00219c82add edi, 1
    00219c85
    00219c85loc_219c85:
    00219c85mov rax, [rdx]
    00219c88test rax, rax
    00219c8bjne 0x219c78
    00219c8d
    00219c8dloc_219c8d:
    00219c8dmov rax, [r8]
    00219c90add rax, r12
    00219c93mov [r14], rax
    00219c96jmp 0x219c10
    00219c9b
    00219c9bloc_219c9b:
    00219c9blea rsi, [rip+0x5bc7e]
    00219ca2mov [rsp+24], rdx
    00219ca7mov [rsp+16], r8
    00219caccall caml_plat_spin_back_off
    00219cb1mov r8, [rsp+16]
    00219cb6mov rdx, [rsp+24]
    00219cbbmov edi, eax
    00219cbdjmp 0x219c85
    00219cbf
    00219cbfloc_219cbf:
    00219cbfmov r9, [rax-8]
    00219cc3shr r9, 10
    00219cc7lea r12, [8*r9]
    00219ccfsub r8, r12
    00219cd2lea rdx, [r8-8]
    00219cd6jmp 0x219be1
    00219a90
    00219cdb
    00219cdb // align 0x10
    00219ce0
    00219ce0caml_alloc_table:
    00219ce0push rbp
    00219ce1push rbx
    00219ce2mov rbx, rdi
    00219ce5sub rsp, 8
    00219ce9mov [rdi+40], rsi
    00219cedadd rsi, rdx
    00219cf0mov [rdi+48], rdx
    00219cf4lea rdi, [8*rsi]
    00219cfccall caml_stat_alloc_noexc
    00219d01test rax, rax
    00219d04je 0x219d46
    00219d06mov rdi, [rbx]
    00219d09mov rbp, rax
    00219d0ctest rdi, rdi
    00219d0fje 0x219d1a
    00219d11call caml_stat_free
    00219d16mov rax, [rbx+40]
    00219d1a
    00219d1aloc_219d1a:
    00219d1amov [rbx], rbp
    00219d1dmov [rbx+24], rbp
    00219d21lea rdx, [rbp+8*rax]
    00219d26add rax, [rbx+48]
    00219d2alea rax, [rbp+8*rax]
    00219d2fmov [rbx+16], rdx
    00219d33mov [rbx+32], rdx
    00219d37mov [rbx+8], rax
    00219d3badd rsp, 8
    00219d3fpop rbx
    00219d40pop rbp
    00219d41ret
    00219d42lea rdi, [rip+0x154f5]
    00219d49xor eax, eax
    00219d4bcall caml_fatal_error
    00219d50db 0xdc
    00219d51adc [rax], al
    00219d53db 0x00
    00219ce0
    00219d54
    00219d54 // align 0x10
    00219d60
    00219d60caml_alloc_minor_tables:
    00219d60sub rsp, 8
    00219d64mov edi, 168
    00219d69call caml_stat_alloc_noexc
    00219d6emov rdx, rax
    00219d71test rax, rax
    00219d74je 0x219da8
    00219d76lea rdi, [rax+8]
    00219d7amov rcx, rax
    00219d7dmov [rax], 0
    00219d84mov [rax+160], 0
    00219d8fand rdi, -8
    00219d93xor eax, eax
    00219d95sub rcx, rdi
    00219d98add ecx, 168
    00219d9eshr ecx, 3
    00219da1rep stosq [rdi], rax
    00219da4mov rax, rdx
    00219da7add rsp, 8
    00219dabret
    00219dacdb 0x83
    00219daddb 0xc4
    00219daeor bl, al
    00219d60
    00219db0
    00219db0caml_free_minor_tables:
    00219db0pxor x0, x0
    00219db4push rbx
    00219db5mov rbx, rdi
    00219db8movups [rdi+40], x0
    00219dbcmov rdi, [rdi]
    00219dbftest rdi, rdi
    00219dc2je 0x219dcd
    00219dc4call caml_stat_free
    00219dc9mov rdi, [rbx+56]
    00219dcd
    00219dcdloc_219dcd:
    00219dcdpxor x0, x0
    00219dd1mov [rbx+32], 0
    00219dd9movups [rbx], x0
    00219ddcmovups [rbx+16], x0
    00219de0movups [rbx+96], x0
    00219de4test rdi, rdi
    00219de7je 0x219df2
    00219de9call caml_stat_free
    00219deemov rdi, [rbx+112]
    00219df2
    00219df2loc_219df2:
    00219df2pxor x0, x0
    00219df6mov [rbx+88], 0
    00219dfemovups [rbx+56], x0
    00219e02movups [rbx+72], x0
    00219e06movups [rbx+152], x0
    00219e0dtest rdi, rdi
    00219e10je 0x219e1b
    00219e12call caml_stat_free
    00219e17mov [rbx+144], 0
    00219e22pxor x0, x0
    00219e26mov rdi, rbx
    00219e29movups [rbx+112], x0
    00219e2dmovups [rbx+128], x0
    00219e34pop rbx
    00219e35jmp 0x216690
    00219e3adb 0x52
    00219e3bdb 0xc8
    00219e3cdb 0xff
    00219e3ddb 0xff
    00219db0
    00219e3e
    00219e3e // align 0x10
    00219e40
    00219e40caml_set_minor_heap_size:
    00219e40push rbp
    00219e41mov rbp, rdi
    00219e44push rbx
    00219e45sub rsp, 8
    00219e49mov rax, [rip+0x5c194]
    00219e50mov rax, [rax]
    00219e54mov rbx, [rax+96]
    00219e58mov rdx, [rax+24]
    00219e5ccmp [rax+8], rdx
    00219e60je 0x219e7f
    00219e62mov esi, 1
    00219e67mov edi, 2
    00219e6ccall caml_ev_counter
    00219e71call caml_request_minor_gc
    00219e76call caml_handle_gc_interrupt
    00219e7bmov rdi, rbp
    00219e7ecall caml_reallocate_minor_heap
    00219e83test eax, eax
    00219e85js 0x219f13
    00219e8bmov rdi, [rbx]
    00219e8epxor x0, x0
    00219e92movups [rbx+40], x0
    00219e96test rdi, rdi
    00219e99je 0x219ea4
    00219e9bcall caml_stat_free
    00219ea0mov rdi, [rbx+56]
    00219ea4
    00219ea4loc_219ea4:
    00219ea4pxor x0, x0
    00219ea8mov [rbx+32], 0
    00219eb0movups [rbx], x0
    00219eb3movups [rbx+16], x0
    00219eb7movups [rbx+96], x0
    00219ebbtest rdi, rdi
    00219ebeje 0x219ec9
    00219ec0call caml_stat_free
    00219ec5mov rdi, [rbx+112]
    00219ec9
    00219ec9loc_219ec9:
    00219ec9pxor x0, x0
    00219ecdmov [rbx+88], 0
    00219ed5movups [rbx+56], x0
    00219ed9movups [rbx+72], x0
    00219eddmovups [rbx+152], x0
    00219ee4test rdi, rdi
    00219ee7je 0x219ef2
    00219ee9call caml_stat_free
    00219eeemov [rbx+144], 0
    00219ef9pxor x0, x0
    00219efdmovups [rbx+112], x0
    00219f01movups [rbx+128], x0
    00219f08add rsp, 8
    00219f0cpop rbx
    00219f0dpop rbp
    00219f0eret
    00219f0flea rdi, [rip+0x16066]
    00219f16xor eax, eax
    00219f18call caml_fatal_error
    00219f1ddb 0x0f
    00219f1esldt [rax]
    00219e40
    00219f21
    00219f21 // align 0x10
    00219f30
    00219f30caml_get_header_val:
    00219f30mov rax, [rdi-8]
    00219f34cmp rax, 256
    00219f3aje 0x219f48
    00219f3cret
    00219f3ddb 0x00
    00219f3eje 0x219f48
    00219f40ret
    00219f41
    00219f41 0f 1f 80 00 00 00 00 .......
    00219f48
    00219f48loc_219f48:
    00219f48push rbx
    00219f49lea rbx, [rdi-8]
    00219f4dxor edi, edi
    00219f4fjmp 0x219f65
    00219f51
    00219f51 0f 1f 80 00 00 00 00 .......
    00219f58
    00219f58loc_219f58:
    00219f58nop
    00219f5acmp edi, 999
    00219f60ja 0x219f70
    00219f62add edi, 1
    00219f65
    00219f65loc_219f65:
    00219f65mov rax, [rbx]
    00219f68test rax, rax
    00219f6bjne 0x219f58
    00219f6dpop rbx
    00219f6eret
    00219f6f
    00219f6f 90 .
    00219f70
    00219f70loc_219f70:
    00219f70lea rsi, [rip+0x5b9a9]
    00219f77call caml_plat_spin_back_off
    00219f7cmov edi, eax
    00219f7ejmp 0x219f65
    00219f30
    00219f80
    00219f80caml_empty_minor_heap_domain_clear:
    00219f80push rbp
    00219f81mov rbp, rdi
    00219f84push rbx
    00219f85sub rsp, 8
    00219f89mov rbx, [rdi+96]
    00219f8dcall caml_final_empty_young
    00219f92mov rax, [rbx]
    00219f95movq x0, [rbx+112]
    00219f9amov [rbx+24], rax
    00219f9emov rax, [rbx+16]
    00219fa2movhps x0, [rbx+128]
    00219fa9movups [rbx+136], x0
    00219fb0mov [rbx+32], rax
    00219fb4mov rax, [rbx+56]
    00219fb8mov [rbx+80], rax
    00219fbcmov rax, [rbx+72]
    00219fc0mov [rbx+88], rax
    00219fc4mov [rbp+320], 0
    00219fcfadd rsp, 8
    00219fd3pop rbx
    00219fd4pop rbp
    00219fd5ret
    00219fd6db 0x08
    00219fd7pop rbx
    00219fd8pop rbp
    00219fd9ret
    00219f80
    00219fda
    00219fda // align 0x10
    00219fe0
    00219fe0caml_empty_minor_heap_promote:
    00219fe0push r15
    00219fe2pxor x0, x0
    00219fe6push r14
    00219fe8push r13
    00219feapush r12
    00219fecmov r12l, esi
    00219fefpush rbp
    00219ff0push rbx
    00219ff1mov rbx, rdi
    00219ff4sub rsp, 136
    00219ffbmov rax, [rdi+24]
    00219fffsub rax, [rdi+8]
    0021a003mov [rsp+8], rdx
    0021a008mov esi, [rdi+288]
    0021a00emov r13, [0x28]
    0021a017mov [rsp+120], r13
    0021a01cmov r13, [rdi+96]
    0021a020mov [rsp+40], rax
    0021a025mov rax, [rdi+128]
    0021a02cmov [rsp+112], rdi
    0021a031lea rdi, [rip+0x16dbc]
    0021a038mov [rsp+48], rax
    0021a03dxor eax, eax
    0021a03fmovaps [rsp+96], x0
    0021a044call caml_gc_log
    0021a049mov edi, 11
    0021a04ecall caml_ev_begin
    0021a053mov rax, [rip+0x15ebf2]
    0021a05amov r11, [rsp+8]
    0021a05ftest rax, rax
    0021a062je 0x21a06f
    0021a064call rax
    0021a066mov r11, [rsp+8]
    0021a06blea r14, [rsp+96]
    0021a070cmp [r11], rbx
    0021a073je 0x21a600
    0021a079mov edi, 39
    0021a07emov [rsp+8], r11
    0021a083call caml_ev_begin
    0021a088cmp r12l, 1
    0021a08cjle 0x21a54d
    0021a092movsxd rdx, r12l
    0021a095mov r11, [rsp+8]
    0021a09axor eax, eax
    0021a09cmov [rsp+16], rdx
    0021a0a1nop [rax+rax]
    0021a0accmp [r11+8*rax], rbx
    0021a0b0
    0021a0b0loc_21a0b0:
    0021a0b0je 0x21a580
    0021a0b6add rax, 1
    0021a0bacmp rax, rdx
    0021a0bdjne 0x21a0b0
    0021a0bfmov [rsp+8], -1
    0021a0c8mov [rsp+88], -1
    0021a0d0lea eax, [r12-1]
    0021a0d5mov [rsp+80], rbx
    0021a0daxor ebp, ebp
    0021a0dcxor r15l, r15l
    0021a0dfcdqe
    0021a0e1mov [rsp+92], r12l
    0021a0e6mov [rsp+24], rax
    0021a0ebmov [rsp+32], r11
    0021a0f0nop [rax+rax]
    0021a0fbnop
    0021a0fcmov rax, [rsp+32]
    0021a101mov rcx, [rsp+8]
    0021a106mov rsi, [rax+8*rcx]
    0021a10amov r12, [rsi+96]
    0021a10emov rdi, [r12+24]
    0021a113mov r9, [r12]
    0021a117mov rcx, rdi
    0021a11asub rcx, r9
    0021a11dsar rcx, 3
    0021a121mov rax, rcx
    0021a124cqo
    0021a126idiv [rsp+16]
    0021a12bmov rdx, r15
    0021a12emov r8, rax
    0021a131imul rax, r15
    0021a135add r15, 1
    0021a139lea rbx, [r9+8*rax]
    0021a13dadd rax, r8
    0021a140lea r13, [r9+8*rax]
    0021a144mov rax, [rsp+24]
    0021a149cmp rdx, rax
    0021a14cje 0x21a410
    0021a152sub rsp, 8
    0021a156
    0021a156loc_21a156:
    0021a156mov edx, [rsi+288]
    0021a15cxor eax, eax
    0021a15epush r13
    0021a160push rbx
    0021a161push rdi
    0021a162mov esi, [rsp+120]
    0021a166lea rdi, [rip+0x16caf]
    0021a16dcall caml_gc_log
    0021a172add rsp, 32
    0021a176cmp rbx, [r12+24]
    0021a17bjb 0x21a1a4
    0021a17djmp 0x21a1a9
    0021a17fdb 0x72
    0021a180and ebp, ebx
    0021a182db 0x26
    0021a183
    0021a183 0f 1f 44 00 00 ..D..
    0021a188
    0021a188loc_21a188:
    0021a188mov rdx, [rbx]
    0021a18bmov rdi, r14
    0021a18eadd ebp, 1
    0021a191add rbx, 8
    0021a195mov rsi, [rdx]
    0021a198call fn_219660
    0021a19dcmp rbx, [r12+24]
    0021a1a2jae 0x21a1a9
    0021a1a4
    0021a1a4loc_21a1a4:
    0021a1a4cmp rbx, r13
    0021a1a7jb 0x21a188
    0021a1a9
    0021a1a9loc_21a1a9:
    0021a1a9mov rax, [rsp+8]
    0021a1aemov rcx, [rsp+16]
    0021a1b3add rax, 1
    0021a1b7cqo
    0021a1b9idiv rcx
    0021a1bcmov [rsp+8], rdx
    0021a1c1cmp r15, rcx
    0021a1c4jne 0x21a100
    0021a1camov rbx, [rsp+80]
    0021a1cfmov r12l, [rsp+92]
    0021a1d4
    0021a1d4loc_21a1d4:
    0021a1d4mov edi, 30
    0021a1d9call caml_ev_begin
    0021a1dexor r8l, r8l
    0021a1e1mov rcx, rbx
    0021a1e4mov rdx, r14
    0021a1e7mov esi, 1
    0021a1eclea rdi, [rip-2963]
    0021a1f3call caml_final_do_young_roots
    0021a1f8mov edi, 30
    0021a1fdcall caml_ev_end
    0021a202mov edi, 13
    0021a207call caml_ev_begin
    0021a20cxor r8l, r8l
    0021a20fmov rcx, rbx
    0021a212mov rdx, r14
    0021a215mov esi, 1
    0021a21alea rdi, [rip-3009]
    0021a221call caml_memprof_scan_roots
    0021a226mov edi, 13
    0021a22bcall caml_ev_end
    0021a230mov edi, 40
    0021a235call caml_ev_begin
    0021a23amov esi, 1
    0021a23fmov rdi, r14
    0021a242call fn_219a90
    0021a247mov edi, 40
    0021a24ccall caml_ev_end
    0021a251mov edi, 39
    0021a256call caml_ev_end
    0021a25bmov rdx, [rsp+104]
    0021a260xor eax, eax
    0021a262mov esi, ebp
    0021a264lea rdi, [rip+0x14ffa]
    0021a26bcall caml_gc_log
    0021a270mov edi, 12
    0021a275call caml_ev_begin
    0021a27amov r9, [rbx+88]
    0021a27emov r8, [rbx+40]
    0021a282mov rdx, r14
    0021a285mov rcx, [rbx+160]
    0021a28cmov esi, 1
    0021a291lea rdi, [rip-3128]
    0021a298call caml_do_local_roots
    0021a29dmov rax, [rip+0x15e9dc]
    0021a2a4test rax, rax
    0021a2a7je 0x21a2bd
    0021a2a9mov rcx, rbx
    0021a2acmov rdx, r14
    0021a2afmov esi, 1
    0021a2b4lea rdi, [rip-3163]
    0021a2bbcall rax
    0021a2bd
    0021a2bdloc_21a2bd:
    0021a2bdmov edi, 41
    0021a2c2call caml_ev_begin
    0021a2c7xor esi, esi
    0021a2c9mov rdi, r14
    0021a2cccall fn_219a90
    0021a2d1mov edi, 41
    0021a2d6call caml_ev_end
    0021a2dbmov edi, 12
    0021a2e0call caml_ev_end
    0021a2e5mov edi, 14
    0021a2eacall caml_ev_begin
    0021a2efmov rdi, rbx
    0021a2f2call caml_memprof_after_minor_gc
    0021a2f7mov edi, 14
    0021a2fccall caml_ev_end
    0021a301mov rdx, [rbx+16]
    0021a305mov rax, [rbx+24]
    0021a309mov rdi, rbx
    0021a30cmov [rbx+8], rax
    0021a310sub rax, rdx
    0021a313mov rcx, rax
    0021a316shr rax, 63
    0021a31asar rcx, 3
    0021a31eadd rax, rcx
    0021a321sar rax, 1
    0021a324lea rax, [rdx+8*rax]
    0021a328mov [rbx+32], rax
    0021a32ccall caml_memprof_set_trigger
    0021a331mov rdi, rbx
    0021a334call caml_reset_young_limit
    0021a339mov rax, [rsp+40]
    0021a33emov rcx, [rsp+48]
    0021a343mov rdi, rbx
    0021a346shr rax, 3
    0021a34aadd [rbx+384], rax
    0021a351mov rax, [rbx+128]
    0021a358add rax, [rbx+392]
    0021a35fsub rax, rcx
    0021a362mov [rbx+392], rax
    0021a369call caml_collect_gc_stats_sample_stw
    0021a36ecmp r12l, 1
    0021a372jg 0x21a51e
    0021a378
    0021a378loc_21a378:
    0021a378mov rax, [rip+0x15e8c9]
    0021a37ftest rax, rax
    0021a382je 0x21a386
    0021a384call rax
    0021a386
    0021a386loc_21a386:
    0021a386mov rax, [rsp+48]
    0021a38bmov rsi, [rbx+128]
    0021a392mov edi, 4
    0021a397sub rsi, rax
    0021a39ashl rsi, 3
    0021a39ecall caml_ev_counter
    0021a3a3mov r15, [rsp+40]
    0021a3a8mov edi, 5
    0021a3admov rsi, r15
    0021a3b0call caml_ev_counter
    0021a3b5mov edi, 11
    0021a3bacall caml_ev_end
    0021a3bfmov esi, [rbx+288]
    0021a3c5mov rax, r15
    0021a3c8test r15, r15
    0021a3cbjne 0x21a450
    0021a3d1lea rdi, [rip+0x16ac0]
    0021a3d8call caml_gc_log
    0021a3ddcmp r12l, 1
    0021a3e1jg 0x21a4b2
    0021a3e7
    0021a3e7loc_21a3e7:
    0021a3e7mov rax, [rsp+120]
    0021a3ecsub rax, [0x28]
    0021a3f5jne 0x21a652
    0021a3fbadd rsp, 136
    0021a402pop rbx
    0021a403pop rbp
    0021a404pop r12
    0021a406pop r13
    0021a408pop r14
    0021a40apop r15
    0021a40cret
    0021a40d
    0021a40d 0f 1f 00 ...
    0021a410
    0021a410loc_21a410:
    0021a410lea rdi, [rip+0x14e3d]
    0021a417xor eax, eax
    0021a419mov [rsp+72], r8
    0021a41emov [rsp+64], rcx
    0021a423mov [rsp+56], rsi
    0021a428call caml_gc_log
    0021a42dmov r13, [r12+24]
    0021a432mov r9, [r12]
    0021a436mov r8, [rsp+72]
    0021a43bmov rcx, [rsp+64]
    0021a440mov rsi, [rsp+56]
    0021a445mov rdi, r13
    0021a448jmp 0x21a156
    0021a44d
    0021a44d 0f 1f 00 ...
    0021a450
    0021a450loc_21a450:
    0021a450mov eax, [rsp+40]
    0021a454lea edx, [rax+512]
    0021a45amov rax, [rsp+104]
    0021a45fshr edx, 10
    0021a462test rax, rax
    0021a465js 0x21a5b3
    0021a46bpxor x0, x0
    0021a46fcvtsi2sd x0, rax
    0021a474
    0021a474loc_21a474:
    0021a474mov rax, [rsp+40]
    0021a479mulsd x0, [rip+0x102f7]
    0021a481test rax, rax
    0021a484js 0x21a590
    0021a48apxor x1, x1
    0021a48ecvtsi2sd x1, rax
    0021a493
    0021a493loc_21a493:
    0021a493divsd x0, x1
    0021a497lea rdi, [rip+0x16a42]
    0021a49emov eax, 1
    0021a4a3call caml_gc_log
    0021a4a8cmp r12l, 1
    0021a4acjle 0x21a3e7
    0021a4b2
    0021a4b2loc_21a4b2:
    0021a4b2mov edi, 32
    0021a4b7mov ebp, 300
    0021a4bccall caml_ev_begin
    0021a4c1
    0021a4c1loc_21a4c1:
    0021a4c1mov eax, [rip+0x15e749]
    0021a4c7test eax, eax
    0021a4c9je 0x21a50f
    0021a4cbmov rdi, rbx
    0021a4cecall caml_opportunistic_major_work_available
    0021a4d3test eax, eax
    0021a4d5jne 0x21a5d1
    0021a4db
    0021a4dbloc_21a4db:
    0021a4dbcmp r12l, 2
    0021a4dfmov eax, 1000
    0021a4e4mov ecx, 300
    0021a4e9cmove ecx, eax
    0021a4ecxor eax, eax
    0021a4eenop
    0021a4f0
    0021a4f0loc_21a4f0:
    0021a4f0mov edx, [rip+0x15e71a]
    0021a4f6test edx, edx
    0021a4f8je 0x21a50f
    0021a4fanop
    0021a4fcadd eax, 1
    0021a4ffcmp eax, ecx
    0021a501jne 0x21a4f0
    0021a503lea rdi, [rip+0x15e706]
    0021a50acall caml_plat_latch_wait
    0021a50f
    0021a50floc_21a50f:
    0021a50fmov edi, 32
    0021a514call caml_ev_end
    0021a519jmp 0x21a3e7
    0021a51e
    0021a51eloc_21a51e:
    0021a51emov eax, 1
    0021a523lock xadd [rip+0x15e6ec], rax
    0021a52cadd rax, 1
    0021a530movsxd rdx, r12l
    0021a533cmp rdx, rax
    0021a536jne 0x21a378
    0021a53clea rdi, [rip+0x15e6cd]
    0021a543call caml_plat_latch_release
    0021a548jmp 0x21a378
    0021a54d
    0021a54dloc_21a54d:
    0021a54dmov r15, [r13]
    0021a551xor ebp, ebp
    0021a553cmp r15, [r13+24]
    0021a557jae 0x21a1d4
    0021a55dnop [rax]
    0021a560
    0021a560loc_21a560:
    0021a560mov rdx, [r15]
    0021a563mov rdi, r14
    0021a566add ebp, 1
    0021a569add r15, 8
    0021a56dmov rsi, [rdx]
    0021a570call fn_219660
    0021a575cmp r15, [r13+24]
    0021a579jb 0x21a560
    0021a57bjmp 0x21a1d4
    0021a580
    0021a580loc_21a580:
    0021a580mov [rsp+88], eax
    0021a584cdqe
    0021a586mov [rsp+8], rax
    0021a58bjmp 0x21a0d4
    0021a590
    0021a590loc_21a590:
    0021a590mov rax, [rsp+40]
    0021a595pxor x1, x1
    0021a599mov rcx, rax
    0021a59cand eax, 1
    0021a59fshr rcx, 1
    0021a5a2or rcx, rax
    0021a5a5cvtsi2sd x1, rcx
    0021a5aaaddsd x1, x1
    0021a5aejmp 0x21a493
    0021a5b3
    0021a5b3loc_21a5b3:
    0021a5b3mov rcx, rax
    0021a5b6and eax, 1
    0021a5b9pxor x0, x0
    0021a5bdshr rcx, 1
    0021a5c0or rcx, rax
    0021a5c3cvtsi2sd x0, rcx
    0021a5c8addsd x0, x0
    0021a5ccjmp 0x21a474
    0021a5d1
    0021a5d1loc_21a5d1:
    0021a5d1mov rax, [rip+0x15e658]
    0021a5d8test al, 64
    0021a5dajne 0x21a632
    0021a5dcmov edi, 512
    0021a5e1call caml_opportunistic_major_collection_slice
    0021a5e6
    0021a5e6loc_21a5e6:
    0021a5e6nop
    0021a5e8sub ebp, 1
    0021a5ebjne 0x21a4c1
    0021a5f1jmp 0x21a4db
    0021a5f6
    0021a5f6 66 2e 0f 1f 84 00 00 00 00 00 f.........
    0021a600
    0021a600loc_21a600:
    0021a600mov edi, 31
    0021a605mov [rsp+8], r11
    0021a60acall caml_ev_begin
    0021a60fmov rsi, r14
    0021a612lea rdi, [rip-4025]
    0021a619call caml_scan_global_young_roots
    0021a61emov edi, 31
    0021a623call caml_ev_end
    0021a628mov r11, [rsp+8]
    0021a62djmp 0x21a07d
    0021a632
    0021a632loc_21a632:
    0021a632mov edi, 26
    0021a637call caml_ev_begin
    0021a63cmov edi, 512
    0021a641call caml_opportunistic_major_collection_slice
    0021a646mov edi, 26
    0021a64bcall caml_ev_end
    0021a650jmp 0x21a5e6
    0021a652
    0021a652loc_21a652:
    0021a652call fn_f4590
    00219fe0
    0021a657
    0021a657 // align 0x10
    0021a660
    0021a660fn_21a660:
    0021a660push r12
    0021a662mov r12l, esi
    0021a665push rbp
    0021a666mov rbp, rdi
    0021a669push rbx
    0021a66amov rbx, rdx
    0021a66dcmp [rdx], rdi
    0021a670je 0x21a820
    0021a676
    0021a676loc_21a676:
    0021a676xor eax, eax
    0021a678lea rdi, [rip+0x168a1]
    0021a67fcall caml_gc_log
    0021a684mov rdx, rbx
    0021a687mov esi, r12l
    0021a68amov rdi, rbp
    0021a68dcall caml_empty_minor_heap_promote
    0021a692mov edi, 15
    0021a697call caml_ev_begin
    0021a69clea rdi, [rip+0x168a5]
    0021a6a3xor eax, eax
    0021a6a5call caml_gc_log
    0021a6aamov rdx, [rbp+96]
    0021a6aemov rbx, [rdx+112]
    0021a6b2cmp rbx, [rdx+136]
    0021a6b9jae 0x21a6ed
    0021a6bbnop [rax+rax]
    0021a6c0
    0021a6c0loc_21a6c0:
    0021a6c0mov rax, [rbx]
    0021a6c3test al, 1
    0021a6c5jne 0x21a6e0
    0021a6c7cmp rax, [rip+0x15defa]
    0021a6cejae 0x21a6e0
    0021a6d0cmp [rip+0x15def9], rax
    0021a6d7jb 0x21a7a0
    0021a6ddnop [rax]
    0021a6e0
    0021a6e0loc_21a6e0:
    0021a6e0add rbx, 24
    0021a6e4cmp rbx, [rdx+136]
    0021a6ebjb 0x21a6c0
    0021a6ed
    0021a6edloc_21a6ed:
    0021a6edmov edi, 15
    0021a6f2call caml_ev_end
    0021a6f7mov edi, 38
    0021a6fccall caml_ev_begin
    0021a701xor eax, eax
    0021a703lea rdi, [rip+0x16866]
    0021a70acall caml_gc_log
    0021a70fmov rdi, rbp
    0021a712call caml_final_update_last_minor
    0021a717mov edi, 38
    0021a71ccall caml_ev_end
    0021a721mov edi, 29
    0021a726call caml_ev_begin
    0021a72bxor eax, eax
    0021a72dlea rdi, [rip+0x1686c]
    0021a734call caml_gc_log
    0021a739mov rbx, [rbp+96]
    0021a73dmov rdi, rbp
    0021a740call caml_final_empty_young
    0021a745mov edi, 29
    0021a74amov rax, [rbx]
    0021a74dmovq x0, [rbx+112]
    0021a752mov [rbx+24], rax
    0021a756mov rax, [rbx+16]
    0021a75amovhps x0, [rbx+128]
    0021a761movups [rbx+136], x0
    0021a768mov [rbx+32], rax
    0021a76cmov rax, [rbx+56]
    0021a770mov [rbx+80], rax
    0021a774mov rax, [rbx+72]
    0021a778mov [rbx+88], rax
    0021a77cmov [rbp+320], 0
    0021a787call caml_ev_end
    0021a78cpop rbx
    0021a78dlea rdi, [rip+0x14aee]
    0021a794pop rbp
    0021a795xor eax, eax
    0021a797pop r12
    0021a799jmp 0x21abf0
    0021a79e
    0021a79e 66 90 f.
    0021a7a0
    0021a7a0loc_21a7a0:
    0021a7a0lea r12, [rax-8]
    0021a7a4mov rax, [rax-8]
    0021a7a8cmp rax, 256
    0021a7aeje 0x21a7d0
    0021a7b0test rax, rax
    0021a7b3je 0x21a7ee
    0021a7b5mov rdi, [rbx]
    0021a7b8mov rax, [rdi]
    0021a7bbmov rax, [rax+8]
    0021a7bftest rax, rax
    0021a7c2je 0x21a7c6
    0021a7c4call rax
    0021a7c6
    0021a7c6loc_21a7c6:
    0021a7c6mov rdx, [rbp+96]
    0021a7cajmp 0x21a6e0
    0021a7cf
    0021a7cf 90 .
    0021a7d0
    0021a7d0loc_21a7d0:
    0021a7d0xor edi, edi
    0021a7d2jmp 0x21a7e5
    0021a7d4
    0021a7d4 0f 1f 40 00 ..@.
    0021a7d8
    0021a7d8loc_21a7d8:
    0021a7d8nop
    0021a7dacmp edi, 999
    0021a7e0ja 0x21a808
    0021a7e2add edi, 1
    0021a7e5
    0021a7e5loc_21a7e5:
    0021a7e5mov rax, [r12]
    0021a7e9test rax, rax
    0021a7ecjne 0x21a7d8
    0021a7ee
    0021a7eeloc_21a7ee:
    0021a7eemov rsi, [rbx+16]
    0021a7f2mov rdi, [rbx+8]
    0021a7f6call caml_adjust_gc_speed
    0021a7fbmov rdx, [rbp+96]
    0021a7ffjmp 0x21a6e0
    0021a804
    0021a804 0f 1f 40 00 ..@.
    0021a808
    0021a808loc_21a808:
    0021a808lea rsi, [rip+0x5b111]
    0021a80fcall caml_plat_spin_back_off
    0021a814mov edi, eax
    0021a816jmp 0x21a7e5
    0021a818
    0021a818 0f 1f 84 00 00 00 00 00 ........
    0021a820
    0021a820loc_21a820:
    0021a820mov rax, [rip+0x15e3d9]
    0021a827add rax, 1
    0021a82bmov [rip+0x15e3ce], rax
    0021a832jmp 0x21a676
    0021a660
    0021a837
    0021a837 // align 0x10
    0021a840
    0021a840fn_21a840:
    0021a840mov esi, edx
    0021a842mov rdx, rcx
    0021a845jmp 0x21a660
    0021a84adb 0x12
    0021a84bdb 0xfe
    0021a84cdb 0xff
    0021a84ddb 0xff
    0021a840
    0021a84e
    0021a84e // align 0x10
    0021a850
    0021a850caml_empty_minor_heap_no_major_slice_from_stw:
    0021a850push r12
    0021a852mov r12, rcx
    0021a855push rbp
    0021a856mov rbp, rdi
    0021a859push rbx
    0021a85amov ebx, edx
    0021a85ccmp edx, 1
    0021a85fje 0x21a8b8
    0021a861mov edi, edx
    0021a863call caml_global_barrier_and_check_final
    0021a868mov rdi, rax
    0021a86btest rax, rax
    0021a86eje 0x21a8a0
    0021a870mov rax, [rip+0x15e37d]
    0021a877add rax, 1
    0021a87bmov [rip+0x15e372], rax
    0021a882mov [rip+0x15e380], 1
    0021a88cmov [rip+0x15e37d], 0
    0021a897call caml_global_barrier_release_as_final
    0021a89cmov rdx, r12
    0021a89fmov esi, ebx
    0021a8a1mov rdi, rbp
    0021a8a4pop rbx
    0021a8a5pop rbp
    0021a8a6pop r12
    0021a8a8jmp 0x21a660
    0021a8addb 0xaf
    0021a8aestd
    0021a8afdb 0xff
    0021a8b0db 0xff
    0021a8b1
    0021a8b1 0f 1f 80 00 00 00 00 .......
    0021a8b8
    0021a8b8loc_21a8b8:
    0021a8b8mov rax, [rip+0x15e339]
    0021a8bfadd rax, 1
    0021a8c3mov [rip+0x15e32e], rax
    0021a8camov [rip+0x15e33c], 1
    0021a8d4mov [rip+0x15e339], 0
    0021a8dfjmp 0x21a8a0
    0021a850