File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    00201650
    00201650caml_interrupt_self:
    00201650mov rax, [0xffffffffffffffe8]
    00201659mov [rax], -1
    00201660ret
    00201661db 0xff
    00201662db 0xff
    00201663inc ebx
    00201650
    00201665
    00201665 // align 0x20
    00201680
    00201680caml_interrupt_all_signal_safe:
    00201680mov rsi, [rip+0x742cd]
    00201687mov rax, [rip+0x176f6e]
    0020168emov rcx, [rsi+160]
    00201695mov rdx, rcx
    00201698shl rdx, 5
    0020169cadd rdx, rcx
    0020169flea rdx, [rax+8*rdx]
    002016a3cmp rax, rdx
    002016a6jb 0x2016f2
    002016a8ret
    002016a9db 0xd0
    002016aajb 0x2016f2
    002016acret
    002016ad
    002016ad 66 66 2e ff.
    002016b0 0f 1f 84 00 00 00 00 00 0f 1f 84 00 00 00 00 00 ................
    002016c0
    002016c0loc_2016c0:
    002016c0mov rdx, [rax+16]
    002016c4add rax, 264
    002016camov [rdx], -1
    002016d1mov rcx, [rsi+160]
    002016d8mov rdx, rcx
    002016dbshl rdx, 5
    002016dfadd rdx, rcx
    002016e2mov rcx, [rip+0x176f17]
    002016e9lea rdx, [rcx+8*rdx]
    002016edcmp rax, rdx
    002016f0jae 0x2016fb
    002016f2
    002016f2loc_2016f2:
    002016f2mov rdx, [rax+16]
    002016f6test rdx, rdx
    002016f9jne 0x2016c0
    002016fb
    002016fbloc_2016fb:
    002016fbret
    00201680
    002016fc
    002016fc // align 0x10
    00201700
    00201700caml_reset_young_limit:
    00201700mov rax, [rdi+472]
    00201707mov rdx, [rdi+32]
    0020170bcmp rax, rdx
    0020170ecmovb rax, rdx
    00201712xchg [rdi], rax
    00201715movsxd rdx, [rdi+288]
    0020171cmov rax, rdx
    0020171fshl rax, 5
    00201723add rax, rdx
    00201726mov rdx, [rip+0x176ecf]
    0020172dlea rax, [rdx+8*rax]
    00201731mov rax, [rax+128]
    00201738test rax, rax
    0020173bjne 0x20174b
    0020173dcmp [rdi+248], 0
    00201745je 0x201760
    00201747mov [rdi], -1
    0020174ejmp 0x21fcf0
    00201753db 0x99
    00201754in eax, 1
    00201756db 0x00
    00201757
    00201757 66 0f 1f 84 00 00 00 00 00 f........
    00201760
    00201760loc_201760:
    00201760cmp [rdi+232], 0
    00201768jne 0x20174b
    0020176amov rdx, [rdi+152]
    00201771mov rax, [rip+0x177478]
    00201778cmp rdx, rax
    0020177bjb 0x20174b
    0020177djmp 0x201752
    00201700
    0020177f
    0020177f // align 0x10
    00201780
    00201780fn_201780:
    00201780push r13
    00201782push r12
    00201784push rbp
    00201785lea rbp, [rip+0x2e54c]
    0020178cpush rbx
    0020178dmov rbx, rdi
    00201790mov rdi, rbp
    00201793sub rsp, 8
    00201797mov r12, [0xffffffffffffffe8]
    002017a0mov rax, [0xffffffffffffffe0]
    002017a9mov rdx, [r12+24]
    002017aemov rcx, [rax+248]
    002017b5mov r8, [rax+256]
    002017bcmov rsi, [r12+16]
    002017c1xor eax, eax
    002017c3mov r9, [r12+272]
    002017cbcall caml_gc_log
    002017d0mov eax, 257
    002017d5cmp rbx, rax
    002017d8cmovge rax, rbx
    002017dcmov rdi, rax
    002017dfshl rdi, 3
    002017e3call caml_mem_round_up_pages
    002017e8lea rdi, [rip+0x2e559]
    002017efmov rsi, rax
    002017f2mov rbx, rax
    002017f5mov r13, rax
    002017f8xor eax, eax
    002017fashr rsi, 13
    002017feand rbx, -8
    00201802shr r13, 3
    00201806call caml_gc_log
    0020180bmov rsi, rbx
    0020180emov rax, [0xffffffffffffffe0]
    00201817mov rdi, [rax+248]
    0020181ecall caml_mem_commit
    00201823test rax, rax
    00201826je 0x2018d0
    0020182cmov [r12+272], r13
    00201834mov rdi, r12
    00201837mov rdx, [0xffffffffffffffe0]
    00201840mov rax, [rdx+248]
    00201847mov [r12+16], rax
    0020184cadd rbx, [rdx+248]
    00201853mov [r12+24], rbx
    00201858mov [r12+8], rbx
    0020185dsub rbx, rax
    00201860mov rdx, rbx
    00201863shr rbx, 63
    00201867sar rdx, 3
    0020186badd rbx, rdx
    0020186esar rbx, 1
    00201871lea rax, [rax+8*rbx]
    00201875mov [r12+32], rax
    0020187acall caml_memprof_set_trigger
    0020187fmov rdi, r12
    00201882call caml_reset_young_limit
    00201887mov rax, [0xffffffffffffffe8]
    00201890mov rdx, [0xffffffffffffffe0]
    00201899mov rdi, [rax+24]
    0020189dmov rcx, [rdx+248]
    002018a4mov rsi, [rax+16]
    002018a8mov r9, [rax+272]
    002018afxor eax, eax
    002018b1mov r8, [rdx+256]
    002018b8mov rdx, rdi
    002018bbmov rdi, rbp
    002018becall caml_gc_log
    002018c3xor eax, eax
    002018c5
    002018c5loc_2018c5:
    002018c5add rsp, 8
    002018c9pop rbx
    002018capop rbp
    002018cbpop r12
    002018cdpop r13
    002018cfret
    002018d0
    002018d0loc_2018d0:
    002018d0mov eax, -1
    002018d5jmp 0x2018c5
    00201780
    002018d7
    002018d7 // align 0x10
    002018e0
    002018e0caml_reallocate_minor_heap:
    002018e0push rbx
    002018e1mov rbx, rdi
    002018e4call fn_201270
    002018e9mov rdi, rbx
    002018ecpop rbx
    002018edjmp 0x201780
    002018f2db 0x8a
    002018f3db 0xfe
    002018f4db 0xff
    002018f5db 0xff
    002018e0
    002018f6
    002018f6 // align 0x10
    00201900
    00201900fn_201900:
    00201900push r15
    00201902push r14
    00201904push r13
    00201906push r12
    00201908mov r12, rdi
    0020190bpush rbp
    0020190cmov rbp, rsi
    0020190fpush rbx
    00201910lea rbx, [rip+0x176d89]
    00201917sub rsp, 24
    0020191bcall caml_get_init_stack_wsize
    00201920mov rdi, rbx
    00201923mov [rsp+8], rax
    00201928call fn_f4710
    0020192dtest eax, eax
    0020192fjne 0x201cc3
    00201935mov rax, [rip+0x176d1c]
    0020193ctest rax, rax
    0020193fje 0x201995
    00201941lea r14, [rip+0x176d18]
    00201948mov rsi, rbx
    0020194bmov rdi, r14
    0020194ecall caml_plat_wait
    00201953mov rax, [rip+0x176cfe]
    0020195atest rax, rax
    0020195dje 0x201995
    0020195fadd [rip+0x176ce9], 1
    00201967nop [rax+rax]
    00201970
    00201970loc_201970:
    00201970mov rsi, rbx
    00201973mov rdi, r14
    00201976call caml_plat_wait
    0020197bmov rax, [rip+0x176cd6]
    00201982test rax, rax
    00201985jne 0x201970
    00201987sub [rip+0x176cc1], 1
    0020198fje 0x201c78
    00201995
    00201995loc_201995:
    00201995mov rcx, [rip+0x73fbc]
    0020199cmovsxd rax, [rip+0x176c4d]
    002019a3cmp rax, [rcx+160]
    002019aaje 0x201c00
    002019b0mov rdx, [rip+0x176c41]
    002019b7mov r13, [rdx+8*rax]
    002019bbtest r13, r13
    002019beje 0x201c00
    002019c4mov r14, [r13+8]
    002019c8test r14, r14
    002019cbje 0x201c90
    002019d1
    002019d1loc_2019d1:
    002019d1lea rdi, [r13+160]
    002019d8call fn_f4710
    002019ddtest eax, eax
    002019dfjne 0x201cc3
    002019e5mov [0xffffffffffffffe0], r13
    002019eexor r15l, r15l
    002019f1mov [0xffffffffffffffe8], r14
    002019famov rax, r15
    002019fdxchg [r14], rax
    00201a00mov rsi, r14
    00201a03mov rdi, rbp
    00201a06mov [r13+16], r14
    00201a0amov eax, [r13]
    00201a0emov [r14+288], eax
    00201a15call caml_memprof_new_domain
    00201a1acmp [r14+464], 0
    00201a22je 0x201c63
    00201a28mov [r14+360], 0
    00201a33pxor x1, x1
    00201a37pxor x0, x0
    00201a3bmovups [r14+312], x0
    00201a43movups [r14+328], x1
    00201a4bmovups [r14+8], x1
    00201a50movups [r14+24], x1
    00201a55call caml_alloc_minor_tables
    00201a5amov [r14+96], rax
    00201a5etest rax, rax
    00201a61je 0x201c5b
    00201a67mov rbp, [r13+8]
    00201a6bcall caml_init_shared_heap
    00201a70mov [rbp+280], rax
    00201a77mov rax, [r13+8]
    00201a7bcmp [rax+280], 0
    00201a83je 0x201c4a
    00201a89mov rdi, r14
    00201a8ccall caml_init_major_gc
    00201a91test eax, eax
    00201a93js 0x201c3a
    00201a99call fn_201270
    00201a9emov rdi, r12
    00201aa1call fn_201780
    00201aa6test eax, eax
    00201aa8js 0x201c35
    00201aaemov [r14+304], 1
    00201ab9lea rbp, [r14+304]
    00201ac0mov rdi, rbp
    00201ac3call caml_register_generational_global_root
    00201ac8call caml_alloc_stack_cache
    00201acdmov [r14+72], rax
    00201ad1test rax, rax
    00201ad4je 0x201c2d
    00201adapxor x1, x1
    00201ademov rdi, [rsp+8]
    00201ae3movups [r14+368], x1
    00201aebcall caml_alloc_main_stack
    00201af0mov [r14+40], rax
    00201af4test rax, rax
    00201af7je 0x201c2d
    00201afdmov rsi, [rip+0x176ae4]
    00201b04mov edi, 1
    00201b09lea rax, [rsi+1]
    00201b0dmov [r13+120], rsi
    00201b11test rax, rax
    00201b14mov [r14+296], esi
    00201b1bcmove rax, rdi
    00201b1fmov [r13+112], 1
    00201b27mov [rip+0x176aba], rax
    00201b2elock add [rip+0x176aa9], 1
    00201b37pxor x1, x1
    00201b3bmov [r14+64], 0
    00201b43lea rdi, [r14+208]
    00201b4amov [r14+48], 0
    00201b52mov [r14+56], 0
    00201b5amov [r14+144], 0
    00201b65mov [r14+160], 0
    00201b70mov [r14+200], 0
    00201b7bmov [r14+208], 1
    00201b86mov [r14+192], 0
    00201b91movups [r14+80], x1
    00201b96movups [r14+128], x1
    00201b9ecall caml_register_generational_global_root
    00201ba3pxor x1, x1
    00201ba7mov [r14+216], 0
    00201bb2mov [r14+248], 0
    00201bbdmov [r14+152], 0
    00201bc8movups [r14+224], x1
    00201bd0xchg [r14+256], r15
    00201bd7mov rax, [rip+0x73d7a]
    00201bdemov [r14+264], 0
    00201be9cmp [rax+128], 0
    00201bf1jne 0x201cb4
    00201bf7
    00201bf7loc_201bf7:
    00201bf7add [rip+0x1769f2], 1
    00201bfenop
    00201c00
    00201c00loc_201c00:
    00201c00lea rdi, [rip+0x2d1b9]
    00201c07xor eax, eax
    00201c09call caml_gc_log
    00201c0emov rdi, rbx
    00201c11call fn_f47c0
    00201c16test eax, eax
    00201c18jne 0x201cd1
    00201c1eadd rsp, 24
    00201c22pop rbx
    00201c23pop rbp
    00201c24pop r12
    00201c26pop r13
    00201c28pop r14
    00201c2apop r15
    00201c2cret
    00201c2d
    00201c2dloc_201c2d:
    00201c2dmov rdi, rbp
    00201c30call caml_remove_generational_global_root
    00201c35
    00201c35loc_201c35:
    00201c35call caml_teardown_major_gc
    00201c3a
    00201c3aloc_201c3a:
    00201c3amov rax, [r13+8]
    00201c3emov rdi, [rax+280]
    00201c45call caml_teardown_shared_heap
    00201c4a
    00201c4aloc_201c4a:
    00201c4amov rdi, [r14+96]
    00201c4ecall caml_free_minor_tables
    00201c53mov [r14+96], 0
    00201c5b
    00201c5bloc_201c5b:
    00201c5bmov rdi, r14
    00201c5ecall caml_memprof_delete_domain
    00201c63
    00201c63loc_201c63:
    00201c63mov [0xffffffffffffffe0], 0
    00201c70jmp 0x201c00
    00201c72
    00201c72 66 0f 1f 44 00 00 f..D..
    00201c78
    00201c78loc_201c78:
    00201c78lea rdi, [rip+0x1769a1]
    00201c7fcall caml_plat_broadcast
    00201c84jmp 0x201995
    00201c89
    00201c89 0f 1f 80 00 00 00 00 .......
    00201c90
    00201c90loc_201c90:
    00201c90mov esi, 992
    00201c95mov edi, 1
    00201c9acall caml_stat_calloc_noexc
    00201c9fmov r14, rax
    00201ca2test rax, rax
    00201ca5je 0x201c00
    00201cabmov [r13+8], rax
    00201cafjmp 0x2019d1
    00201cb4
    00201cb4loc_201cb4:
    00201cb4mov edi, 1
    00201cb9call caml_record_backtraces
    00201cbejmp 0x201bf7
    00201cc3
    00201cc3loc_201cc3:
    00201cc3mov esi, eax
    00201cc5lea rdi, [rip+0x2d843]
    00201ccccall caml_plat_fatal_error
    00201cd1
    00201cd1loc_201cd1:
    00201cd1mov esi, eax
    00201cd3lea rdi, [rip+0x2d840]
    00201cdacall caml_plat_fatal_error
    00201900
    00201cdf
    00201cdf // align 0x10
    00201ce0
    00201ce0caml_init_domains:
    00201ce0push r14
    00201ce2mov r14, rsi
    00201ce5mov esi, 264
    00201ceapush r13
    00201cecmov r13, rdi
    00201cefpush r12
    00201cf1push rbp
    00201cf2push rbx
    00201cf3call caml_stat_calloc_noexc
    00201cf8mov [rip+0x1768fd], rax
    00201cfftest rax, rax
    00201d02je 0x201e15
    00201d08mov esi, 8
    00201d0dmov rdi, r13
    00201d10call caml_stat_calloc_noexc
    00201d15mov [rip+0x176a10], rax
    00201d1ctest rax, rax
    00201d1fje 0x201e3b
    00201d25mov esi, 8
    00201d2amov rdi, r13
    00201d2dcall caml_stat_calloc_noexc
    00201d32mov [rip+0x1768bb], rax
    00201d39test rax, rax
    00201d3cje 0x201e2f
    00201d42call fn_200f00
    00201d47test r13, r13
    00201d4aje 0x201df2
    00201d50xor ebp, ebp
    00201d52xor eax, eax
    00201d54xor r12l, r12l
    00201d57nop [rax+rax]
    00201d5cmov rdx, rax
    00201d5fmov rcx, [rip+0x176896]
    00201d66shl rdx, 5
    00201d6aadd rdx, rax
    00201d6dlea rbx, [rcx+8*rdx]
    00201d71mov rdx, [rip+0x17687c]
    00201d78mov [rdx+8*rax], rbx
    00201d7cmov rax, r12
    00201d7fmov [rbx], ebp
    00201d81xchg [rbx+16], rax
    00201d85lea rdi, [rbx+24]
    00201d89call caml_plat_mutex_init
    00201d8elea rdi, [rbx+64]
    00201d92call caml_plat_cond_init
    00201d97mov [rbx+112], 0
    00201d9fmov rax, r12
    00201da2mov [rbx+120], 0
    00201daaxchg [rbx+128], rax
    00201db1lea rdi, [rbx+160]
    00201db8call caml_plat_mutex_init
    00201dbdlea rdi, [rbx+200]
    00201dc4call caml_plat_cond_init
    00201dc9mov eax, 3
    00201dcemov [rbx+136], 0
    00201dd8xchg [rbx+152], rax
    00201ddfadd ebp, 1
    00201de2movsxd rax, ebp
    00201de5cmp rax, r13
    00201de8jb 0x201d60
    00201deexor esi, esi
    00201df0mov rdi, r14
    00201df3call fn_201900
    00201df8cmp [0xffffffffffffffe0], 0
    00201e02je 0x201e21
    00201e04pop rbx
    00201e05pop rbp
    00201e06pop r12
    00201e08pop r13
    00201e0apop r14
    00201e0cjmp 0x21f960
    00201e11lea rdi, [rip+0x2df5c]
    00201e18call caml_fatal_error
    00201e1dlea rdi, [rip+0x2cfad]
    00201e24xor eax, eax
    00201e26call caml_fatal_error
    00201e2blea rdi, [rip+0x2df92]
    00201e32call caml_fatal_error
    00201e37lea rdi, [rip+0x2df56]
    00201e3ecall caml_fatal_error
    00201e43db 0xe9
    00201e44pop [rcx]
    00201e46db 0x00
    00201ce0
    00201e47
    00201e47 // align 0x10
    00201e50
    00201e50fn_201e50:
    00201e50push r15
    00201e52push r14
    00201e54push r13
    00201e56push r12
    00201e58push rbp
    00201e59push rbx
    00201e5asub rsp, 136
    00201e61mov r12, [rdi+16]
    00201e65mov rbx, [0x28]
    00201e6emov [rsp+120], rbx
    00201e73mov rbx, rdi
    00201e76lea rdx, [rsp+24]
    00201e7blea rax, [rsp+32]
    00201e80movq x1, rdx
    00201e85movq x2, rax
    00201e8apunpcklqdq x1, x2
    00201e8emovaps [rsp], x1
    00201e92call caml_init_signal_stack
    00201e97test rax, rax
    00201e9aje 0x20236c
    00201ea0mov r14, rax
    00201ea3mov rax, [rbx]
    00201ea6mov rsi, [rax+8]
    00201eaamov rax, [rip+0x73aa3]
    00201eb1mov rdi, [rax+88]
    00201eb5call fn_201900
    00201ebamov rax, [0xffffffffffffffe0]
    00201ec3mov [rbx+24], rax
    00201ec7mov rax, [rbx]
    00201ecalea rdi, [rax+24]
    00201ececall fn_f4710
    00201ed3test eax, eax
    00201ed5jne 0x20235e
    00201edbmov rax, [0xffffffffffffffe0]
    00201ee4test rax, rax
    00201ee7je 0x202310
    00201eedmov [rbx+8], 1
    00201ef4mov rax, [rax+120]
    00201ef8mov [rbx+32], rax
    00201efcmov rax, [rbx]
    00201efflea rdi, [rax+64]
    00201f03call caml_plat_broadcast
    00201f08mov rdi, [rbx]
    00201f0badd rdi, 24
    00201f0fcall fn_f47c0
    00201f14test eax, eax
    00201f16jne 0x202350
    00201f1cmov rdi, [0xffffffffffffffe0]
    00201f25test rdi, rdi
    00201f28je 0x202340
    00201f2emov eax, [rdi+136]
    00201f34test eax, eax
    00201f36je 0x202320
    00201f3cmov rsi, [rdi+120]
    00201f40
    00201f40loc_201f40:
    00201f40xor eax, eax
    00201f42lea rdi, [rip+0x2decb]
    00201f49lea r13, [rsp+48]
    00201f4ecall caml_gc_log
    00201f53call fn_f42f0
    00201f58mov edi, 6
    00201f5dmovsxd rsi, eax
    00201f60call caml_ev_lifecycle
    00201f65call [rip+0x1763e1]
    00201f6bmov rbx, [r12]
    00201f6fmov esi, 1
    00201f74mov rdi, r12
    00201f77call caml_modify_generational_global_root
    00201f7cmov esi, 1
    00201f81mov rdi, rbx
    00201f84call caml_callback_res
    00201f89mov ecx, 1
    00201f8exor edi, edi
    00201f90mov rbx, [0xffffffffffffffe8]
    00201f99test eax, eax
    00201f9bmovq x0, rcx
    00201fa0mov rsi, rdx
    00201fa3mov [rsp+40], 1
    00201facmov rbp, [rbx+160]
    00201fb3setne dil
    00201fb7punpcklqdq x0, x0
    00201fbblea rdx, [rsp+40]
    00201fc0mov [rsp+48], rbp
    00201fc5mov [rbx+160], r13
    00201fccmov [rsp+72], rdx
    00201fd1movups [rsp+56], x0
    00201fd6call caml_alloc_1
    00201fdbxor edi, edi
    00201fddmov rsi, rax
    00201fe0mov [rsp+40], rax
    00201fe5call caml_alloc_1
    00201feamov [rbx+160], rbp
    00201ff1movdqa x3, [rsp]
    00201ff6mov rdx, rax
    00201ff9mov rax, [r12+8]
    00201ffemovdqa x0, [rip+0x280c6]
    00202006mov [rsp+32], rdx
    0020200bmov [rsp+24], rax
    00202010mov rbx, [0xffffffffffffffe8]
    00202019mov rbp, [rbx+160]
    00202020mov [rsp+48], rbp
    00202025mov [rbx+160], r13
    0020202cmovups [rsp+56], x0
    00202031movups [rsp+72], x3
    00202036mov rdi, [rax+8]
    0020203acall caml_ml_mutex_lock
    0020203fmov rsi, [rsp+32]
    00202044mov rdi, [rsp+24]
    00202049call caml_modify
    0020204emov rax, [rsp+24]
    00202053mov rdi, [rax+16]
    00202057call caml_ml_condition_broadcast
    0020205cmov [rbx+160], rbp
    00202063mov rax, [r12+8]
    00202068lea rdi, [rip+0x2cd7f]
    0020206fmov r13, [0xffffffffffffffe0]
    00202078mov rax, [rax+8]
    0020207cmov rbx, [r13+8]
    00202080mov r15, [rax+8]
    00202084xor eax, eax
    00202086call caml_gc_log
    0020208bmov [r13+116], 1
    00202093call [rip+0x1762ab]
    00202099mov rax, [rip+0x17651c]
    002020a0test rax, rax
    002020a3je 0x2020ab
    002020a5call rax
    002020a7lea rbp, [rip+0x1765ee]
    002020aejmp 0x2020c8
    002020b0db 0x17
    002020b1add bl, ch
    002020b3db 0x14
    002020b4
    002020b4 0f 1f 40 00 ..@.
    002020b8
    002020b8loc_2020b8:
    002020b8mov rdi, rbp
    002020bbcall fn_f47c0
    002020c0test eax, eax
    002020c2jne 0x202350
    002020c8
    002020c8loc_2020c8:
    002020c8call caml_finish_sweeping
    002020cdcall caml_empty_minor_heaps_once
    002020d2call caml_finish_marking
    002020d7mov rdi, rbx
    002020dacall caml_orphan_ephemerons
    002020dfmov rdi, rbx
    002020e2call caml_orphan_finalisers
    002020e7mov rdi, rbp
    002020eacall fn_f4710
    002020eftest eax, eax
    002020f1jne 0x20235e
    002020f7mov rdx, [0xffffffffffffffe0]
    00202100mov rdx, [rdx+128]
    00202107test rdx, rdx
    0020210ajne 0x2020b8
    0020210ccmp [rbx+112], 0
    00202111je 0x2020b8
    00202113cmp [rbx+120], 0
    00202118je 0x2020b8
    0020211amov rcx, [rip+0x1764d7]
    00202121mov [r13+112], 0
    00202129mov rsi, [0xffffffffffffffe0]
    00202132cmp rsi, [rcx]
    00202135je 0x202333
    0020213bnop [rax+rax]
    00202140
    00202140loc_202140:
    00202140add eax, 1
    00202143movsxd rdx, eax
    00202146lea rdx, [rcx+8*rdx]
    0020214acmp rsi, [rdx]
    0020214djne 0x202140
    0020214f
    0020214floc_20214f:
    0020214fmov eax, [rip+0x17649b]
    00202155sub eax, 1
    00202158mov [rip+0x176492], eax
    0020215ecdqe
    00202160lea rax, [rcx+8*rax]
    00202164mov rcx, [rax]
    00202167mov [rdx], rcx
    0020216amov [rax], rsi
    0020216dlea rax, [r13+24]
    00202171mov rdi, rax
    00202174mov [rsp], rax
    00202178call fn_f4710
    0020217dtest eax, eax
    0020217fjne 0x20235e
    00202185lea rdi, [r13+64]
    00202189call caml_plat_broadcast
    0020218emov rdi, [rsp]
    00202192call fn_f47c0
    00202197test eax, eax
    00202199jne 0x202350
    0020219fmov rax, [0xffffffffffffffe0]
    002021a8mov [rax+136], 0
    002021b2call fn_f42f0
    002021b7mov edi, 7
    002021bcmovsxd rsi, eax
    002021bfcall caml_ev_lifecycle
    002021c4mov rdi, rbp
    002021c7call fn_f47c0
    002021cctest eax, eax
    002021cejne 0x202350
    002021d4mov rdi, rbx
    002021d7call caml_memprof_delete_domain
    002021dclea rdi, [rbx+304]
    002021e3call caml_remove_generational_global_root
    002021e8lea rdi, [rbx+208]
    002021efcall caml_remove_generational_global_root
    002021f4mov rdi, [rbx+176]
    002021fbcall caml_stat_free
    00202200mov rdi, [rbx+168]
    00202207call caml_stat_free
    0020220ccall caml_free_intern_state
    00202211call caml_free_extern_state
    00202216call caml_teardown_major_gc
    0020221bmov rdi, [rbx+280]
    00202222call caml_teardown_shared_heap
    00202227mov rdi, [rbx+96]
    0020222bmov [rbx+280], 0
    00202236call caml_free_minor_tables
    0020223bmov [rbx+96], 0
    00202243mov rdi, rbx
    00202246call caml_orphan_alloc_stats
    0020224bmov rdi, [rbx+40]
    0020224ftest rdi, rdi
    00202252je 0x202259
    00202254call caml_free_stack
    00202259
    00202259loc_202259:
    00202259mov rdi, [rbx+200]
    00202260call caml_free_backtrace_buffer
    00202265mov rdi, [rbx+80]
    00202269call caml_free_gc_regs_buckets
    0020226emov rax, [0xffffffffffffffe0]
    00202277mov [rax+152], 2
    00202282mov rax, [0xffffffffffffffe0]
    0020228blea rdi, [rax+200]
    00202292call caml_plat_signal
    00202297mov rax, [0xffffffffffffffe0]
    002022a0lea rdi, [rax+160]
    002022a7call fn_f47c0
    002022actest eax, eax
    002022aejne 0x202350
    002022b4call caml_plat_assert_all_locks_unlocked
    002022b9lock sub [rip+0x17631e], 1
    002022c2mov rdi, r15
    002022c5call caml_mutex_unlock
    002022camov rdi, r12
    002022cdcall caml_remove_generational_global_root
    002022d2lea rdi, [r12+8]
    002022d7call caml_remove_generational_global_root
    002022dcmov rdi, r12
    002022dfcall caml_stat_free
    002022e4
    002022e4loc_2022e4:
    002022e4mov rdi, r14
    002022e7call caml_free_signal_stack
    002022ecmov rax, [rsp+120]
    002022f1sub rax, [0x28]
    002022fajne 0x20237a
    002022fcadd rsp, 136
    00202303xor eax, eax
    00202305pop rbx
    00202306pop rbp
    00202307pop r12
    00202309pop r13
    0020230bpop r14
    0020230dpop r15
    0020230fret
    00202310
    00202310loc_202310:
    00202310mov [rbx+8], 2
    00202317jmp 0x201f00
    0020231c
    0020231c 0f 1f 40 00 ..@.
    00202320
    00202320loc_202320:
    00202320call fn_2010e0
    00202325mov rdi, [0xffffffffffffffe0]
    0020232ejmp 0x201f40
    00202333
    00202333loc_202333:
    00202333mov rdx, rcx
    00202336jmp 0x20214f
    0020233b
    0020233b 0f 1f 44 00 00 ..D..
    00202340
    00202340loc_202340:
    00202340lea rdi, [rip+0x2cabe]
    00202347xor eax, eax
    00202349call caml_gc_log
    0020234ejmp 0x2022e4
    00202350
    00202350loc_202350:
    00202350mov esi, eax
    00202352lea rdi, [rip+0x2d1c1]
    00202359call caml_plat_fatal_error
    0020235e
    0020235eloc_20235e:
    0020235emov esi, eax
    00202360lea rdi, [rip+0x2d1a8]
    00202367call caml_plat_fatal_error
    0020236c
    0020236cloc_20236c:
    0020236clea rdi, [rip+0x2da7d]
    00202373xor eax, eax
    00202375call caml_fatal_error
    0020237a
    0020237aloc_20237a:
    0020237acall fn_f4590
    00201e50
    0020237f
    0020237f // align 0x10
    00202380
    00202380fn_202380:
    00202380push r13
    00202382xor eax, eax
    00202384mov r13, rcx
    00202387push r12
    00202389mov r12, rsi
    0020238cpush rbp
    0020238dmov rbp, rdi
    00202390lea rdi, [rip+0x2daa5]
    00202397push rbx
    00202398mov ebx, edx
    0020239asub rsp, 8
    0020239ecall caml_gc_log
    002023a3xor esi, esi
    002023a5mov rcx, r13
    002023a8mov edx, ebx
    002023aamov rdi, rbp
    002023adcall caml_empty_minor_heap_no_major_slice_from_stw
    002023b2xor eax, eax
    002023b4lea rdi, [rip+0x2dad9]
    002023bbcall caml_gc_log
    002023c0call fn_201270
    002023c5cmp ebx, 1
    002023c8je 0x2024f0
    002023cemov edi, ebx
    002023d0call caml_global_barrier_and_check_final
    002023d5mov rbp, rax
    002023d8test rax, rax
    002023dbje 0x2024a0
    002023e1mov edi, 43
    002023e6call caml_ev_begin
    002023ebxor eax, eax
    002023edlea rdi, [rip+0x2dad8]
    002023f4call caml_gc_log
    002023f9xor eax, eax
    002023fblea rdi, [rip+0x2ca17]
    00202402call caml_gc_log
    00202407mov rsi, [rip+0x73546]
    0020240ecmp [rsi+160], 0
    00202416je 0x202461
    00202418mov rdi, [rip+0x1761dd]
    0020241fxor ecx, ecx
    00202421xor eax, eax
    00202423pxor x0, x0
    00202427nop [rax+rax]
    00202432nop [rax+rax]
    0020243cmov rdx, rax
    0020243fadd ecx, 1
    00202442shl rdx, 5
    00202446add rax, rdx
    00202449movups [rdi+8*rax+248], x0
    00202451movsxd rax, ecx
    00202454cmp rax, [rsi+160]
    0020245bjb 0x202440
    0020245dmov rdi, [rip+0x176168]
    00202464mov rsi, [rip+0x176159]
    0020246bsub rsi, rdi
    0020246ecall caml_mem_unmap
    00202473lea rdi, [rip+0x2da92]
    0020247axor eax, eax
    0020247cmov [rip+0x176151], r12
    00202483call caml_gc_log
    00202488call fn_200f00
    0020248dmov edi, 43
    00202492call caml_ev_end
    00202497cmp ebx, 1
    0020249ajne 0x2024d8
    0020249cxor eax, eax
    0020249elea rdi, [rip+0x2da9f]
    002024a5call caml_gc_log
    002024aamov rax, [0xffffffffffffffe8]
    002024b3mov rdi, [rax+272]
    002024bacall fn_201780
    002024bftest eax, eax
    002024c1js 0x2024f7
    002024c3add rsp, 8
    002024c7pop rbx
    002024c8pop rbp
    002024c9pop r12
    002024cbpop r13
    002024cdret
    002024cedb 0x5c
    002024cfpop r13
    002024d1ret
    002024d2
    002024d2 66 0f 1f 44 00 00 f..D..
    002024d8
    002024d8loc_2024d8:
    002024d8mov rsi, rbp
    002024dblea rdi, [rip+0x17623e]
    002024e2and esi, 0x100000
    002024e8call caml_plat_barrier_flip
    002024edjmp 0x2024a0
    002024ef
    002024ef 90 .
    002024f0
    002024f0loc_2024f0:
    002024f0xor ebp, ebp
    002024f2jmp 0x2023e5
    002024f7
    002024f7loc_2024f7:
    002024f7lea rdi, [rip+0x2da82]
    002024fexor eax, eax
    00202500call caml_fatal_error
    00202380
    00202505
    00202505 // align 0x10
    00202510
    00202510caml_update_young_limit_after_c_call:
    00202510cmp [rdi+56], 0
    00202515jne 0x202520
    00202517ret
    00202518db 0x00
    00202519jne 0x202520
    0020251bret
    0020251c
    0020251c 0f 1f 40 00 ..@.
    00202520
    00202520loc_202520:
    00202520mov [rdi], -1
    00202527ret
    00202510
    00202528
    00202528 // align 0x10
    00202530
    00202530caml_poll_gc_work:
    00202530push rbx
    00202531mov rbx, [0xffffffffffffffe8]
    0020253amov rax, [rbx+8]
    0020253emov rdx, [rbx+32]
    00202542sub rax, 2056
    00202548cmp rax, rdx
    0020254bjae 0x202600
    00202551cmp rdx, [rbx+16]
    00202555je 0x202698
    0020255bmov rax, [rip+0x176692]
    00202562xchg [rip+0x176683], rax
    00202569mov rdx, [rip+0x176684]
    00202570cmp rax, rdx
    00202573jne 0x2026c8
    00202579mov rax, [rbx+16]
    0020257dmov [rbx+32], rax
    00202581nop [rax+rax]
    0020258cmov rcx, [rbx+152]
    00202593mov rdx, [rip+0x176652]
    0020259amov rax, [rbx+248]
    002025a1cmp rcx, rdx
    002025a4jae 0x202638
    002025aamov [rbx+232], 1
    002025b5test rax, rax
    002025b8jne 0x2026b0
    002025bemov edi, 6
    002025c3call caml_ev_begin
    002025c8mov rdi, -1
    002025cfmov [rbx+232], 0
    002025dacall caml_major_collection_slice
    002025dfmov edi, 6
    002025e4call caml_ev_end
    002025e9cmp [rbx+240], 0
    002025f1jne 0x202660
    002025f3mov rdi, rbx
    002025f6pop rbx
    002025f7
    002025f7loc_2025f7:
    002025f7jmp 0x201700
    002025fccmp [rbx+248], 0
    00202604je 0x202590
    00202606mov rax, [rip+0x1765e7]
    0020260dxchg [rip+0x1765d8], rax
    00202614mov rdx, [rip+0x1765d9]
    0020261bcmp rax, rdx
    0020261eje 0x202590
    00202624call caml_interrupt_all_signal_safe
    00202629jmp 0x202590
    0020262edb 0x5e
    0020262fdb 0xff
    00202630db 0xff
    00202631db 0xff
    00202632
    00202632 66 0f 1f 44 00 00 f..D..
    00202638
    00202638loc_202638:
    00202638test rax, rax
    0020263bjne 0x2026b0
    0020263d
    0020263dloc_20263d:
    0020263dcmp [rbx+232], 0
    00202645jne 0x2025c2
    0020264bcmp [rbx+240], 0
    00202653jne 0x2025c2
    00202659jmp 0x2025f7
    0020265b
    0020265b 0f 1f 44 00 00 ..D..
    00202660
    00202660loc_202660:
    00202660xor r9l, r9l
    00202663xor r8l, r8l
    00202666xor ecx, ecx
    00202668xor edx, edx
    0020266axor edi, edi
    0020266clea rsi, [rip-6035]
    00202673call caml_try_run_on_all_domains_with_spin_work
    00202678test eax, eax
    0020267aje 0x2025f7
    00202680mov [rbx+240], 0
    0020268bmov rdi, rbx
    0020268epop rbx
    0020268fjmp 0x201700
    00202694
    00202694 0f 1f 40 00 ..@.
    00202698
    00202698loc_202698:
    00202698mov [rbx+248], 1
    002026a3jmp 0x202590
    002026a8
    002026a8 0f 1f 84 00 00 00 00 00 ........
    002026b0
    002026b0loc_2026b0:
    002026b0mov [rbx+248], 0
    002026bbcall caml_empty_minor_heaps_once
    002026c0jmp 0x20263d
    002026c5
    002026c5 0f 1f 00 ...
    002026c8
    002026c8loc_2026c8:
    002026c8call caml_interrupt_all_signal_safe
    002026cdmov rax, [rbx+16]
    002026d1mov [rbx+32], rax
    002026d5jmp 0x202590
    00202530
    002026da
    002026da // align 0x10
    002026e0
    002026e0fn_2026e0:
    002026e0push rbp
    002026e1push rbx
    002026e2xor ebx, ebx
    002026e4sub rsp, 8
    002026e8mov rax, [rdi+112]
    002026ectest rax, rax
    002026efsetne bl
    002026f2jne 0x202700
    002026f4add rsp, 8
    002026f8mov eax, ebx
    002026fapop rbx
    002026fbpop rbp
    002026fcret
    002026fd
    002026fd 0f 1f 00 ...
    00202700
    00202700loc_202700:
    00202700mov [rdi+112], 0
    00202708mov edi, 34
    0020270dmov rax, [0xffffffffffffffe0]
    00202716mov rbp, [rax+8]
    0020271acall caml_ev_begin
    0020271fmov eax, [rip+0x175fbb]
    00202725test eax, eax
    00202727jne 0x202768
    00202729
    00202729loc_202729:
    00202729mov rcx, [rip+0x176000]
    00202730mov edx, [rip+0x175fe2]
    00202736mov rdi, rbp
    00202739mov rsi, [rip+0x175fc0]
    00202740call [rip+0x175fb2]
    00202746call fn_201320
    0020274bmov edi, 34
    00202750call caml_ev_end
    00202755call caml_poll_gc_work
    0020275aadd rsp, 8
    0020275emov eax, ebx
    00202760pop rbx
    00202761pop rbp
    00202762ret
    00202763
    00202763 0f 1f 44 00 00 ..D..
    00202768
    00202768loc_202768:
    00202768mov rdi, rbp
    0020276bcall fn_200fd0
    00202770jmp 0x202729
    002026e0
    00202772
    00202772 // align 0x10
    00202780
    00202780caml_handle_incoming_interrupts:
    00202780mov rax, [0xffffffffffffffe0]
    00202789lea rdi, [rax+16]
    0020278djmp 0x2026e0
    00202792db 0x4a
    00202793db 0xff
    00202794db 0xff
    00202795db 0xff
    00202780
    00202796
    00202796 // align 0x10
    002027a0
    002027a0fn_2027a0:
    002027a0push r13
    002027a2push r12
    002027a4push rbp
    002027a5mov rbp, rdi
    002027a8push rbx
    002027a9sub rsp, 8
    002027admov [0xffffffffffffffe0], rdi
    002027b6mov rax, [rdi+8]
    002027bamov [0xffffffffffffffe8], rax
    002027c3mov rax, [rdi+152]
    002027cacmp rax, 2
    002027ceje 0x20288d
    002027d4lea rbx, [rdi+152]
    002027dblea r12, [rdi+24]
    002027dfjmp 0x2027fd
    002027e1db 0x67
    002027e2sbb bl, ch
    002027e4db 0x18
    002027e5
    002027e5 0f 1f 00 ...
    002027e8
    002027e8loc_2027e8:
    002027e8cmp rax, 1
    002027ecje 0x202850
    002027eenop
    002027f0
    002027f0loc_2027f0:
    002027f0mov rax, [rbx]
    002027f3cmp rax, 2
    002027f7je 0x20288d
    002027fd
    002027fdloc_2027fd:
    002027fdtest rax, rax
    00202800jne 0x2027e8
    00202802mov rax, [0xffffffffffffffe0]
    0020280bmov rax, [rax+128]
    00202812test rax, rax
    00202815jne 0x2028d8
    0020281b
    0020281bloc_20281b:
    0020281bmov rdi, r12
    0020281ecall fn_f4710
    00202823test eax, eax
    00202825jne 0x202934
    0020282bmov rax, [rbx]
    0020282etest rax, rax
    00202831je 0x2028a8
    00202833
    00202833loc_202833:
    00202833mov rdi, r12
    00202836call fn_f47c0
    0020283btest eax, eax
    0020283dje 0x2027f0
    0020283f
    0020283floc_20283f:
    0020283fmov esi, eax
    00202841lea rdi, [rip+0x2ccd2]
    00202848call caml_plat_fatal_error
    0020284dnop [rax]
    00202850
    00202850loc_202850:
    00202850lea r13, [rbp+160]
    00202857mov rdi, r13
    0020285acall fn_f4710
    0020285ftest eax, eax
    00202861jne 0x202934
    00202867mov rax, [rbx]
    0020286acmp rax, 1
    0020286eje 0x202920
    00202874
    00202874loc_202874:
    00202874mov rdi, r13
    00202877call fn_f47c0
    0020287ctest eax, eax
    0020287ejne 0x20283f
    00202880mov rax, [rbx]
    00202883cmp rax, 2
    00202887jne 0x2027fd
    0020288d
    0020288dloc_20288d:
    0020288dxor eax, eax
    0020288fmov [rbp+152], 3
    0020289aadd rsp, 8
    0020289epop rbx
    0020289fpop rbp
    002028a0pop r12
    002028a2pop r13
    002028a4ret
    002028a5
    002028a5 0f 1f 00 ...
    002028a8
    002028a8loc_2028a8:
    002028a8mov rax, [0xffffffffffffffe0]
    002028b1mov rax, [rax+128]
    002028b8test rax, rax
    002028bbjne 0x202833
    002028c1lea rdi, [rbp+64]
    002028c5mov rsi, r12
    002028c8call caml_plat_wait
    002028cdjmp 0x202833
    002028d2
    002028d2 66 0f 1f 44 00 00 f..D..
    002028d8
    002028d8loc_2028d8:
    002028d8lea r13, [rbp+160]
    002028dfmov rdi, r13
    002028e2call fn_f4780
    002028e7cmp eax, 16
    002028eaje 0x20281b
    002028f0test eax, eax
    002028f2jne 0x202942
    002028f4mov rax, [0xffffffffffffffe0]
    002028fdlea rdi, [rax+16]
    00202901call fn_2026e0
    00202906mov rdi, r13
    00202909call fn_f47c0
    0020290etest eax, eax
    00202910je 0x20281b
    00202916jmp 0x20283f
    0020291b
    0020291b 0f 1f 44 00 00 ..D..
    00202920
    00202920loc_202920:
    00202920lea rdi, [rbp+200]
    00202927mov rsi, r13
    0020292acall caml_plat_wait
    0020292fjmp 0x202874
    00202934
    00202934loc_202934:
    00202934mov esi, eax
    00202936lea rdi, [rip+0x2cbd2]
    0020293dcall caml_plat_fatal_error
    00202942
    00202942loc_202942:
    00202942mov esi, eax
    00202944lea rdi, [rip+0x2cbdc]
    0020294bcall caml_plat_fatal_error
    002027a0
    00202950
    00202950caml_try_run_on_all_domains_with_spin_work:
    00202950push r15
    00202952push r14
    00202954mov r14, rcx
    00202957push r13
    00202959mov r13, rdx
    0020295cpush r12
    0020295emov r12, rsi
    00202961mov esi, edi
    00202963push rbp
    00202964mov ebp, edi
    00202966lea rdi, [rip+0x2c4c2]
    0020296dpush rbx
    0020296esub rsp, 24
    00202972mov [rsp], r8
    00202976mov [rsp+8], r9
    0020297bmov rax, [0xffffffffffffffe0]
    00202984mov rbx, [rax+8]
    00202988xor eax, eax
    0020298acall caml_gc_log
    0020298fmov rax, [rip+0x175cbe]
    00202996test rax, rax
    00202999jne 0x202b08
    0020299flea rdi, [rip+0x175cf6]
    002029a6call fn_f4780
    002029abcmp eax, 16
    002029aeje 0x202b08
    002029b4test eax, eax
    002029b6jne 0x202b98
    002029bcmov rax, [rip+0x175c91]
    002029c3test rax, rax
    002029c6jne 0x202b5a
    002029ccmov r15, [rip+0x175c79]
    002029d3test r15, r15
    002029d6jne 0x202b80
    002029dcmov edi, 35
    002029e1mov rax, [0xffffffffffffffe0]
    002029eamov [rip+0x175c63], rax
    002029f1call caml_ev_begin
    002029f6xor eax, eax
    002029f8lea rdi, [rip+0x2c448]
    002029ffcall caml_gc_log
    00202a04mov rax, [rsp]
    00202a08mov [rip+0x175ce5], r12
    00202a0fmov [rip+0x175ce6], r13
    00202a16mov [rip+0x175ce7], rax
    00202a1dmov rax, [rsp+8]
    00202a22mov [rip+0x175ce3], rax
    00202a29movsxd rax, [rip+0x175bbc]
    00202a30mov [rip+0x175cde], eax
    00202a36mov [rip+0x175caf], rax
    00202a3dcmp [rip+0x175cd0], 1
    00202a44setne cl
    00202a47test ebp, ebp
    00202a49setne al
    00202a4cand cl, al
    00202a4emov ebp, ecx
    00202a50jne 0x202b40
    00202a56test r14, r14
    00202a59je 0x202a65
    00202a5bmov rdi, rbx
    00202a5ecall r14
    00202a61mov eax, [rip+0x175b85]
    00202a67test eax, eax
    00202a69jle 0x202ab1
    00202a6blea r14, [rip+0x175b7a]
    00202a72nop [rax+rax]
    00202a7cmov rax, [rip+0x175b71]
    00202a83mov rcx, [rip+0x175ca2]
    00202a8amov rdi, [rax+8*r15]
    00202a8emov rax, [rdi+8]
    00202a92mov [rcx+8*r15], rax
    00202a96cmp rax, rbx
    00202a99je 0x202aa8
    00202a9badd rdi, 16
    00202a9fcall caml_send_interrupt
    00202aa4add r15, 1
    00202aa8
    00202aa8loc_202aa8:
    00202aa8cmp [r14], r15l
    00202aabjg 0x202a80
    00202aadlea rdi, [rip+0x175be8]
    00202ab4call fn_f47c0
    00202ab9test eax, eax
    00202abbjne 0x202b6a
    00202ac1test bpl, bpl
    00202ac4jne 0x202b30
    00202ac6mov rsi, r13
    00202ac9mov rdi, rbx
    00202accmov rcx, [rip+0x175c59]
    00202ad3mov edx, [rip+0x175c3b]
    00202ad9call r12
    00202adccall fn_201320
    00202ae1mov edi, 35
    00202ae6call caml_ev_end
    00202aebadd rsp, 24
    00202aefmov eax, 1
    00202af4pop rbx
    00202af5pop rbp
    00202af6pop r12
    00202af8pop r13
    00202afapop r14
    00202afcpop r15
    00202aferet
    00202affdb 0x5e
    00202b00pop r15
    00202b02ret
    00202b03
    00202b03 0f 1f 44 00 00 ..D..
    00202b08
    00202b08loc_202b08:
    00202b08mov rax, [0xffffffffffffffe0]
    00202b11lea rdi, [rax+16]
    00202b15call fn_2026e0
    00202b1aadd rsp, 24
    00202b1exor eax, eax
    00202b20pop rbx
    00202b21pop rbp
    00202b22pop r12
    00202b24pop r13
    00202b26pop r14
    00202b28pop r15
    00202b2aret
    00202b2b
    00202b2b 0f 1f 44 00 00 ..D..
    00202b30
    00202b30loc_202b30:
    00202b30mov rdi, rbx
    00202b33call fn_200fd0
    00202b38jmp 0x202aca
    00202b3a
    00202b3a 66 0f 1f 44 00 00 f..D..
    00202b40
    00202b40loc_202b40:
    00202b40mov [rip+0x175b96], 1
    00202b4amov [rip+0x175b93], 0
    00202b55jmp 0x202a5a
    00202b5a
    00202b5aloc_202b5a:
    00202b5alea rdi, [rip+0x175b3f]
    00202b61call fn_f47c0
    00202b66test eax, eax
    00202b68je 0x202b08
    00202b6a
    00202b6aloc_202b6a:
    00202b6amov esi, eax
    00202b6clea rdi, [rip+0x2c9a7]
    00202b73call caml_plat_fatal_error
    00202b78nop [rax+rax]
    00202b80
    00202b80loc_202b80:
    00202b80lea rsi, [rip+0x175b19]
    00202b87lea rdi, [rip+0x175a92]
    00202b8ecall caml_plat_wait
    00202b93jmp 0x2029c0
    00202b98
    00202b98loc_202b98:
    00202b98mov esi, eax
    00202b9alea rdi, [rip+0x2c986]
    00202ba1call caml_plat_fatal_error
    00202950
    00202ba6
    00202ba6 // align 0x10
    00202bb0
    00202bb0caml_try_run_on_all_domains:
    00202bb0mov rcx, rdx
    00202bb3xor r9l, r9l
    00202bb6mov rdx, rsi
    00202bb9xor r8l, r8l
    00202bbcmov rsi, rdi
    00202bbfmov edi, 1
    00202bc4jmp 0x202950
    00202bc9db 0x83
    00202bcastd
    00202bcbdb 0xff
    00202bccdb 0xff
    00202bb0
    00202bcd
    00202bcd // align 0x10
    00202bd0
    00202bd0caml_try_run_on_all_domains_async:
    00202bd0mov rcx, rdx
    00202bd3xor r9l, r9l
    00202bd6mov rdx, rsi
    00202bd9xor r8l, r8l
    00202bdcmov rsi, rdi
    00202bdfxor edi, edi
    00202be1jmp 0x202950
    00202be6db 0x66
    00202be7std
    00202be8db 0xff
    00202be9db 0xff
    00202bd0
    00202bea
    00202bea // align 0x10
    00202bf0
    00202bf0caml_update_minor_heap_max:
    00202bf0push rbp
    00202bf1mov rdx, rdi
    00202bf4xor eax, eax
    00202bf6lea rbp, [rip-2177]
    00202bfdpush rbx
    00202bfemov rbx, rdi
    00202c01lea rdi, [rip+0x2d39c]
    00202c08sub rsp, 8
    00202c0cmov rsi, [rip+0x1759c1]
    00202c13call caml_gc_log
    00202c18cmp [rip+0x1759b5], rbx
    00202c1fjae 0x202c51
    00202c21nop [rax+rax]
    00202c2cxor r9l, r9l
    00202c2fxor r8l, r8l
    00202c32xor ecx, ecx
    00202c34mov rdx, rbx
    00202c37mov rsi, rbp
    00202c3amov edi, 1
    00202c3fcall caml_try_run_on_all_domains_with_spin_work
    00202c44cmp [rip+0x175989], rbx
    00202c4bjb 0x202c30
    00202c4dmov rax, [0xffffffffffffffe8]
    00202c56mov rdx, [0xffffffffffffffe0]
    00202c5fmov rdi, [rax+24]
    00202c63mov rcx, [rdx+248]
    00202c6amov rsi, [rax+16]
    00202c6emov r9, [rax+272]
    00202c75xor eax, eax
    00202c77mov r8, [rdx+256]
    00202c7eadd rsp, 8
    00202c82mov rdx, rdi
    00202c85lea rdi, [rip+0x2d048]
    00202c8cpop rbx
    00202c8dpop rbp
    00202c8ejmp 0x21abf0
    00202c93db 0x59
    00202c94jg 0x202c97
    00202c96db 0x00
    00202bf0
    00202c97
    00202c97 // align 0x10
    00202ca0
    00202ca0caml_domain_spawn:
    00202ca0push r14
    00202ca2push r13
    00202ca4push r12
    00202ca6push rbp
    00202ca7push rbx
    00202ca8sub rsp, 160
    00202cafmovdqa x0, [rip+0x27415]
    00202cb7mov [rsp], rsi
    00202cbblea rax, [rsp+80]
    00202cc0movq x1, rsp
    00202cc5mov [rsp+8], rdi
    00202ccamov edi, 16
    00202ccfmov r13, [0x28]
    00202cd8mov [rsp+152], r13
    00202ce0mov r13, [0xffffffffffffffe8]
    00202ce9movups [rsp+88], x0
    00202ceemov r14, [r13+160]
    00202cf5mov [r13+160], rax
    00202cfclea rax, [rsp+8]
    00202d01movq x0, rax
    00202d06punpcklqdq x0, x1
    00202d0amov [rsp+80], r14
    00202d0fmovups [rsp+104], x0
    00202d14mov rax, [0xffffffffffffffe0]
    00202d1dmov [rsp+40], 0
    00202d25mov [rsp+32], rax
    00202d2acall caml_stat_alloc
    00202d2fmovq x0, [rsp+8]
    00202d35mov [rsp+48], rax
    00202d3amov rbx, rax
    00202d3dmov rdi, rax
    00202d40movhps x0, [rsp]
    00202d44movups [rax], x0
    00202d47call caml_register_generational_global_root
    00202d4clea rdi, [rbx+8]
    00202d50call caml_register_generational_global_root
    00202d55xor esi, esi
    00202d57lea rcx, [rsp+32]
    00202d5clea rdi, [rsp+24]
    00202d61lea rdx, [rip-3868]
    00202d68call fn_f4340
    00202d6dtest eax, eax
    00202d6fjne 0x202eb6
    00202d75mov rbp, [0xffffffffffffffe0]
    00202d7elea rbx, [rbp+24]
    00202d82lea r12, [rbp+16]
    00202d86mov rdi, rbx
    00202d89call fn_f4710
    00202d8etest eax, eax
    00202d90jne 0x202de1
    00202d92add rbp, 64
    00202d96nop [rax+rax]
    00202d9cmov edx, [rsp+40]
    00202da0
    00202da0loc_202da0:
    00202da0test edx, edx
    00202da2jne 0x202e03
    00202da4mov rax, [0xffffffffffffffe0]
    00202dadmov rax, [rax+128]
    00202db4test rax, rax
    00202db7je 0x202df0
    00202db9mov rdi, rbx
    00202dbccall fn_f47c0
    00202dc1test eax, eax
    00202dc3jne 0x202e77
    00202dc9mov rdi, r12
    00202dcccall fn_2026e0
    00202dd1mov rdi, rbx
    00202dd4call fn_f4710
    00202dd9test eax, eax
    00202ddbje 0x202da0
    00202dddmov esi, eax
    00202ddflea rdi, [rip+0x2c725]
    00202de6call caml_plat_fatal_error
    00202debnop
    00202decmov rsi, rbx
    00202defmov rdi, rbp
    00202df2call caml_plat_wait
    00202df7mov edx, [rsp+40]
    00202dfbtest edx, edx
    00202dfdje 0x202da8
    00202dffmov rdi, rbx
    00202e02call fn_f47c0
    00202e07test eax, eax
    00202e09jne 0x202e77
    00202e0bcmp [rsp+40], 1
    00202e10mov rdi, [rsp+24]
    00202e15jne 0x202e85
    00202e17call fn_f44e0
    00202e1cmov rdi, [0xffffffffffffffe0]
    00202e25mov eax, [rdi+136]
    00202e2btest eax, eax
    00202e2dje 0x202e70
    00202e2fmov [r13+160], r14
    00202e36mov rax, [rsp+64]
    00202e3blea rax, [rax+rax+1]
    00202e40mov rdx, [rsp+152]
    00202e48sub rdx, [0x28]
    00202e51jne 0x202ec2
    00202e53add rsp, 160
    00202e5apop rbx
    00202e5bpop rbp
    00202e5cpop r12
    00202e5epop r13
    00202e60pop r14
    00202e62ret
    00202e63db 0x5d
    00202e64pop r14
    00202e66ret
    00202e67
    00202e67 66 0f 1f 84 00 00 00 00 00 f........
    00202e70
    00202e70loc_202e70:
    00202e70call fn_2010e0
    00202e75jmp 0x202e33
    00202e77
    00202e77loc_202e77:
    00202e77mov esi, eax
    00202e79lea rdi, [rip+0x2c69a]
    00202e80call caml_plat_fatal_error
    00202e85
    00202e85loc_202e85:
    00202e85xor esi, esi
    00202e87call fn_f4050
    00202e8cmov rbx, [rsp+48]
    00202e91mov rdi, rbx
    00202e94call caml_remove_generational_global_root
    00202e99lea rdi, [rbx+8]
    00202e9dcall caml_remove_generational_global_root
    00202ea2mov rdi, rbx
    00202ea5call caml_stat_free
    00202eaalea rdi, [rip+0x2bfa6]
    00202eb1call caml_failwith
    00202eb6
    00202eb6loc_202eb6:
    00202eb6lea rdi, [rip+0x2d113]
    00202ebdcall caml_failwith
    00202ec2
    00202ec2loc_202ec2:
    00202ec2call fn_f4590
    00202ca0
    00202ec7
    00202ec7 // align 0x10
    00202ed0
    00202ed0caml_handle_gc_interrupt:
    00202ed0mov rax, [0xffffffffffffffe0]
    00202ed9mov rax, [rax+128]
    00202ee0test rax, rax
    00202ee3jne 0x202ef0
    00202ee5jmp 0x202530
    00202eeadb 0x42
    00202eebidiv bh
    00202eeddb 0xff
    00202eee
    00202eee 66 90 f.
    00202ef0
    00202ef0loc_202ef0:
    00202ef0sub rsp, 8
    00202ef4mov edi, 19
    00202ef9call caml_ev_begin
    00202efemov rax, [0xffffffffffffffe0]
    00202f07lea rdi, [rax+16]
    00202f0bcall fn_2026e0
    00202f10mov edi, 19
    00202f15call caml_ev_end
    00202f1aadd rsp, 8
    00202f1ejmp 0x202530
    00202ed0
    00202f23
    00202f23 // align 0x10
    00202f30
    00202f30caml_process_external_interrupt:
    00202f30mov rax, [0xffffffffffffffe8]
    00202f39mov rax, [rax+256]
    00202f40test rax, rax
    00202f43je 0x202f50
    00202f45jmp [rip+0x1753f1]
    00202f4bnop
    00202f4cret
    00202f4ddb 0x17
    00202f4edb 0x00
    00202f4fnop
    00202f50
    00202f50loc_202f50:
    00202f50ret
    00202f30
    00202f51
    00202f51 // align 0x10
    00202f60
    00202f60caml_bt_is_in_blocking_section:
    00202f60mov rax, [0xffffffffffffffe0]
    00202f69mov rax, [rax+152]
    00202f70test rax, rax
    00202f73sete al
    00202f76movzx eax, al
    00202f79ret
    00202f7adb 0x0f
    00202f7bmov dh, 192
    00202f7dret
    00202f60
    00202f7e
    00202f7e // align 0x10
    00202f80
    00202f80caml_bt_is_self:
    00202f80sub rsp, 8
    00202f84call fn_f4450
    00202f89mov rdx, [0xffffffffffffffe0]
    00202f92cmp [rdx+144], rax
    00202f99sete al
    00202f9cadd rsp, 8
    00202fa0movzx eax, al
    00202fa3ret
    00202fa4db 0x0f
    00202fa5mov dh, 192
    00202fa7ret
    00202f80
    00202fa8
    00202fa8 // align 0x10
    00202fb0
    00202fb0caml_domain_is_multicore:
    00202fb0mov rcx, [0xffffffffffffffe0]
    00202fb9mov rdx, [rip+0x17561c]
    00202fc0mov eax, 1
    00202fc5cmp rdx, 1
    00202fc9je 0x202fd0
    00202fcbret
    00202fccmov edx, [rcx+136]
    00202fd2xor eax, eax
    00202fd4test edx, edx
    00202fd6setne al
    00202fd9ret
    00202fdadb 0x0f
    00202fdbxchg eax, ebp
    00202fdcdb 0xc0
    00202fddret
    00202fb0
    00202fde
    00202fde // align 0x10
    00202fe0
    00202fe0caml_acquire_domain_lock:
    00202fe0push rbx
    00202fe1mov rbx, [0xffffffffffffffe0]
    00202fealea rdi, [rbx+160]
    00202ff1call fn_f4710
    00202ff6test eax, eax
    00202ff8jne 0x20300d
    00202ffamov rax, [rbx+8]
    00202ffemov [0xffffffffffffffe8], rax
    00203007pop rbx
    00203008ret
    00203009mov esi, eax
    0020300blea rdi, [rip+0x2c4f9]
    00203012call caml_plat_fatal_error
    00203017db 0xb5
    00203018mov [rcx], eax
    0020301adb 0x00
    00202fe0
    0020301b
    0020301b // align 0x10
    00203020
    00203020caml_bt_enter_ocaml:
    00203020mov rax, [0xffffffffffffffe0]
    00203029mov edx, [rax+136]
    0020302ftest edx, edx
    00203031jne 0x203040
    00203033ret
    00203034db 0xd2
    00203035jne 0x203040
    00203037ret
    00203038
    00203038 0f 1f 84 00 00 00 00 00 ........
    00203040
    00203040loc_203040:
    00203040mov [rax+152], 1
    0020304bret
    00203020
    0020304c
    0020304c // align 0x10
    00203050
    00203050caml_release_domain_lock:
    00203050sub rsp, 8
    00203054mov [0xffffffffffffffe8], 0
    00203061mov rax, [0xffffffffffffffe0]
    0020306alea rdi, [rax+160]
    00203071call fn_f47c0
    00203076test eax, eax
    00203078jne 0x203083
    0020307aadd rsp, 8
    0020307eret
    0020307fmov esi, eax
    00203081lea rdi, [rip+0x2c48e]
    00203088call caml_plat_fatal_error
    0020308ddb 0x3f
    0020308emov [rcx], eax
    00203090db 0x00
    00203050
    00203091
    00203091 // align 0x10
    002030a0
    002030a0caml_bt_exit_ocaml:
    002030a0mov rdi, [0xffffffffffffffe0]
    002030a9mov eax, [rdi+136]
    002030aftest eax, eax
    002030b1jne 0x2030c0
    002030b3ret
    002030b4db 0xc0
    002030b5jne 0x2030c0
    002030b7ret
    002030b8
    002030b8 0f 1f 84 00 00 00 00 00 ........
    002030c0
    002030c0loc_2030c0:
    002030c0add rdi, 200
    002030c7mov [rdi-48], 0
    002030cfjmp 0x21bc00
    002030a0
    002030d4
    002030d4 // align 0x10
    002030e0
    002030e0caml_domain_terminating:
    002030e0movsxd rdx, [rdi+288]
    002030e7mov rax, rdx
    002030eashl rax, 5
    002030eeadd rax, rdx
    002030f1mov rdx, [rip+0x175504]
    002030f8lea rax, [rdx+8*rax]
    002030fcmov eax, [rax+116]
    002030ffret
    00203100db 0x8b
    00203101je 0x2030c7
    002030e0
    00203104
    00203104 // align 0x10
    00203110
    00203110caml_domain_is_terminating:
    00203110mov rax, [0xffffffffffffffe0]
    00203119mov eax, [rax+116]
    0020311cret
    0020311ddb 0x8b
    0020311eje 0x2030e4
    00203110
    00203121
    00203121 // align 0x10
    00203130
    00203130caml_ml_domain_cpu_relax:
    00203130sub rsp, 8
    00203134mov rax, [0xffffffffffffffe0]
    0020313dlea rdi, [rax+16]
    00203141call fn_2026e0
    00203146test eax, eax
    00203148jne 0x203150
    0020314anop
    0020314cmov eax, 1
    00203151add rsp, 8
    00203155ret
    00203156db 0x83
    00203157db 0xc4
    00203158or bl, al
    00203130
    0020315a
    0020315a // align 0x10
    00203160
    00203160caml_domain_dls_set:
    00203160sub rsp, 8
    00203164mov rsi, rdi
    00203167mov rax, [0xffffffffffffffe8]
    00203170lea rdi, [rax+304]
    00203177call caml_modify_generational_global_root
    0020317cmov eax, 1
    00203181add rsp, 8
    00203185ret
    00203186db 0x83
    00203187db 0xc4
    00203188or bl, al
    00203160
    0020318a
    0020318a // align 0x10
    00203190
    00203190caml_domain_dls_get:
    00203190mov rax, [0xffffffffffffffe8]
    00203199mov rax, [rax+304]
    002031a0ret
    002031a1db 0x01
    002031a2add [rax], al
    002031a4ret
    00203190
    002031a5
    002031a5 // align 0x10
    002031b0
    002031b0caml_domain_dls_compare_and_set:
    002031b0mov rdx, rdi
    002031b3mov rdi, [0xffffffffffffffe8]
    002031bccmp [rdi+304], rdx
    002031c3je 0x2031d0
    002031c5mov eax, 1
    002031caret
    002031cbdb 0x00
    002031ccadd [rax], al
    002031ceret
    002031cf
    002031cf 90 .
    002031d0
    002031d0loc_2031d0:
    002031d0sub rsp, 8
    002031d4add rdi, 304
    002031dbcall caml_modify_generational_global_root
    002031e0mov eax, 3
    002031e5add rsp, 8
    002031e9ret
    002031b0
    002031ea
    002031ea // align 0x10
    002031f0
    002031f0caml_recommended_domain_count:
    002031f0push rbx
    002031f1mov ecx, 16
    002031f6sub rsp, 144
    002031fdmov rax, [0x28]
    00203206mov [rsp+136], rax
    0020320exor eax, eax
    00203210mov rdi, rsp
    00203213rep stosq [rdi], rax
    00203216call fn_f4450
    0020321bmov rdx, rsp
    0020321emov esi, 128
    00203223mov rdi, rax
    00203226call fn_f4280
    0020322btest eax, eax
    0020322djne 0x203290
    0020322fmov rsi, rsp
    00203232mov edi, 128
    00203237call fn_f4640
    0020323cmov edx, eax
    0020323ecdqe
    00203240cmp edx, -1
    00203243je 0x203290
    00203245mov edx, 3
    0020324atest rax, rax
    0020324djle 0x20326b
    0020324fmov rdx, [rip+0x726fe]
    00203256mov rdx, [rdx+160]
    0020325dcmp rdx, rax
    00203260jae 0x2032a0
    00203262lea rdx, [rdx+rdx+1]
    00203267mov rax, [rsp+136]
    0020326fsub rax, [0x28]
    00203278jne 0x2032a7
    0020327aadd rsp, 144
    00203281mov rax, rdx
    00203284pop rbx
    00203285ret
    00203286db 0x89
    00203287rcr [rbx-61], 1
    0020328a
    0020328a 66 0f 1f 44 00 00 f..D..
    00203290
    00203290loc_203290:
    00203290mov edi, 84
    00203295call fn_f42e0
    0020329ajmp 0x203249
    0020329c
    0020329c 0f 1f 40 00 ..@.
    002032a0
    002032a0loc_2032a0:
    002032a0lea rdx, [rax+rax+1]
    002032a5jmp 0x20326b
    002032a7
    002032a7loc_2032a7:
    002032a7call fn_f4590
    002031f0
    002032ac
    002032ac // align 0x10
    002032b0
    002032b0fn_2032b0:
    002032b0push rbx
    002032b1mov rbx, [rip+0x72d30]
    002032b8mov rax, [rbx]
    002032bctest rax, rax
    002032bfje 0x203320
    002032c1mov rax, [rax+368]
    002032c8test rax, rax
    002032cbje 0x2032d0
    002032cdpop rbx
    002032ceret
    002032cf
    002032cf 90 .
    002032d0
    002032d0loc_2032d0:
    002032d0mov edi, 8360
    002032d5call caml_stat_alloc
    002032dapxor x0, x0
    002032delea rdx, [rax+32]
    002032e2mov [rax], 0
    002032e8mov [rax+4128], rdx
    002032eflea rdx, [rax+4128]
    002032f6mov [rax+24], 0
    002032femov [rax+4136], rdx
    00203305movups [rax+8], x0
    00203309mov rdx, [rbx]
    0020330dmov [rdx+368], rax
    00203314pop rbx
    00203315ret
    00203316
    00203316 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00203320
    00203320loc_203320:
    00203320call caml_bad_caml_state
    002032b0
    00203325
    00203325 // align 0x10
    00203330
    00203330fn_203330:
    00203330push rbp
    00203331push rbx
    00203332mov rbx, rdi
    00203335sub rsp, 8
    00203339cmp [rdi+8320], 0
    00203341je 0x2033b8
    00203343
    00203343loc_203343:
    00203343mov rdi, [rbx+4128]
    0020334alea rbp, [rbx+32]
    0020334ecmp rdi, rbp
    00203351je 0x20336d
    00203353call caml_stat_free
    00203358lea rax, [rbx+4128]
    0020335fmov [rbx+4128], rbp
    00203366mov [rbx+4136], rax
    0020336d
    0020336dloc_20336d:
    0020336dtest [rbx], 1
    00203370jne 0x2033ab
    00203372mov rdi, [rbx+8304]
    00203379lea rbp, [rbx+4144]
    00203380cmp rdi, rbp
    00203383je 0x2033ab
    00203385call caml_stat_free
    0020338amov rdi, [rbx+8312]
    00203391call caml_stat_free
    00203396lea rax, [rbx+4176]
    0020339dmov [rbx+8304], rbp
    002033a4mov [rbx+8312], rax
    002033ab
    002033abloc_2033ab:
    002033abadd rsp, 8
    002033afpop rbx
    002033b0pop rbp
    002033b1ret
    002033b2
    002033b2 66 0f 1f 44 00 00 f..D..
    002033b8
    002033b8loc_2033b8:
    002033b8mov rbp, [rdi+8344]
    002033bftest rbp, rbp
    002033c2je 0x2033e1
    002033c4nop [rax+rax]
    002033cfnop
    002033d0
    002033d0loc_2033d0:
    002033d0mov rdi, rbp
    002033d3mov rbp, [rbp]
    002033d7call caml_stat_free
    002033dctest rbp, rbp
    002033dfjne 0x2033d0
    002033e1
    002033e1loc_2033e1:
    002033e1mov [rbx+8344], 0
    002033ecjmp 0x203343
    00203330
    002033f1
    002033f1 // align 0x10
    00203400
    00203400fn_203400:
    00203400push rbx
    00203401mov rbx, rsi
    00203404call fn_203330
    00203409mov rdi, rbx
    0020340ccall caml_failwith
    00203400
    00203411
    00203411 // align 0x10
    00203420
    00203420fn_203420:
    00203420push rax
    00203421pop rax
    00203422sub rsp, 8
    00203426call fn_203330
    0020342bcall caml_raise_out_of_memory
    00203420
    00203430
    00203430fn_203430:
    00203430push rbp
    00203431push rbx
    00203432mov rbx, rdi
    00203435sub rsp, 8
    00203439cmp [rdi+8320], 0
    00203441jne 0x2034d1
    00203447mov rax, [rdi+8352]
    0020344emov rdx, [rdi+8328]
    00203455mov [rax+8], rdx
    00203459cmp rsi, 4050
    00203460jle 0x2034c0
    00203462mov rbp, rsi
    00203465lea rdi, [rsi+8120]
    0020346c
    0020346cloc_20346c:
    0020346ccall caml_stat_alloc_noexc
    00203471test rax, rax
    00203474je 0x2034c9
    00203476mov rdx, [rbx+8352]
    0020347dmov [rdx], rax
    00203480mov [rbx+8352], rax
    00203487mov [rax], 0
    0020348emov rax, [rbx+8352]
    00203495add rax, 16
    00203499mov [rbx+8328], rax
    002034a0lea rax, [rax+rbp+8100]
    002034a8mov [rbx+8336], rax
    002034afadd rsp, 8
    002034b3pop rbx
    002034b4pop rbp
    002034b5ret
    002034b6
    002034b6 66 2e 0f 1f 84 00 00 00 00 00 f.........
    002034c0
    002034c0loc_2034c0:
    002034c0mov edi, 8120
    002034c5xor ebp, ebp
    002034c7jmp 0x20346c
    002034c9
    002034c9loc_2034c9:
    002034c9mov rdi, rbx
    002034cccall fn_203420
    002034d1
    002034d1loc_2034d1:
    002034d1lea rsi, [rip+0x2cb18]
    002034d8call fn_203400
    00203430
    002034dd
    002034dd // align 0x40
    00203500
    00203500fn_203500:
    00203500test [rdi], 1
    00203503jne 0x203780
    00203509push r15
    0020350bmov r8, rdx
    0020350emov ecx, edx
    00203510mov eax, 1
    00203515push r14
    00203517shr r8, 6
    0020351bshl rax, cl
    0020351epush r13
    00203520shl rdx, 4
    00203524push r12
    00203526push rbp
    00203527push rbx
    00203528mov rbx, rdi
    0020352bsub rsp, 24
    0020352fmov rdi, [rdi+8304]
    00203536or [rdi+8*r8], rax
    0020353amov rax, [rbx+8312]
    00203541mov [rax+rdx], rsi
    00203545mov rax, [rbx+8]
    00203549mov rcx, [rbx+8312]
    00203550mov [rcx+rdx+8], rax
    00203555add rax, 1
    00203559mov [rbx+8], rax
    0020355dcmp rax, [rbx+8296]
    00203564jae 0x203578
    00203566
    00203566loc_203566:
    00203566add rsp, 24
    0020356apop rbx
    0020356bpop rbp
    0020356cpop r12
    0020356epop r13
    00203570pop r14
    00203572pop r15
    00203574ret
    00203575
    00203575 0f 1f 00 ...
    00203578
    00203578loc_203578:
    00203578mov rax, [rbx+8312]
    0020357fmov r12, [rbx+8280]
    00203586mov r15l, [rbx+8272]
    0020358dmov r13, [rbx+8304]
    00203594mov [rsp+8], rax
    00203599cmp r12, 0xf423f
    002035a0jbe 0x203788
    002035a6lea rbp, [r12+r12]
    002035aasub r15l, 1
    002035ae
    002035aeloc_2035ae:
    002035aetest rbp, rbp
    002035b1je 0x203799
    002035b7mov rdi, rbp
    002035bamov rax, rbp
    002035bdshl rdi, 4
    002035c1shr rax, 60
    002035c5jne 0x203799
    002035cbcall caml_stat_alloc_noexc
    002035d0mov r14, rax
    002035d3test rax, rax
    002035d6je 0x203799
    002035dclea rdi, [rbp+63]
    002035e0mov esi, 8
    002035e5shr rdi, 6
    002035e9call caml_stat_calloc_noexc
    002035eemov rdi, rax
    002035f1test rax, rax
    002035f4je 0x2037a1
    002035falea rax, [rbp-1]
    002035felea rdx, [rbp+rbp]
    00203603mov [rbx+8280], rbp
    0020360amov [rbx+8288], rax
    00203611mov rax, 0xaaaaaaaaaaaaaaab
    0020361bmul rdx
    0020361emov [rbx+8272], r15l
    00203625mov [rbx+8304], rdi
    0020362cmov [rbx+8312], r14
    00203633shr rdx, 1
    00203636mov [rbx+8296], rdx
    0020363dtest r12, r12
    00203640je 0x20374b
    00203646mov r9, [rsp+8]
    0020364bxor esi, esi
    0020364dmov r8l, 1
    00203653mov r10, 0x9e3779b97f4a7c16
    0020365djmp 0x203691
    0020365f
    0020365f 66 f
    00203660 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f 1f 84 f.........ff....
    00203670 00 00 00 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 .....ff.........
    00203680
    00203680loc_203680:
    00203680add rsi, 1
    00203684add r9, 16
    00203688cmp r12, rsi
    0020368bje 0x20374b
    00203691
    00203691loc_203691:
    00203691mov rdx, rsi
    00203694mov ecx, esi
    00203696mov rax, r8
    00203699shr rdx, 6
    0020369dshl rax, cl
    002036a0and rax, [r13+8*rdx]
    002036a5je 0x203680
    002036a7mov rax, [r9]
    002036aamov ecx, [rbx+8272]
    002036b0mov r15, r8
    002036b3imul rax, r10
    002036b7shr rax, cl
    002036bamov rdx, rax
    002036bdmov ecx, eax
    002036bfshr rdx, 6
    002036c3shl r15, cl
    002036c6lea r11, [rdi+8*rdx]
    002036camov rcx, r15
    002036cdmov rdx, [r11]
    002036d0test rdx, r15
    002036d3je 0x203725
    002036d5mov r15, [rbx+8288]
    002036dcnop [rax+rax]
    002036e7nop [rax+rax]
    002036f2nop [rax+rax]
    002036fdnop [rax]
    00203700
    00203700loc_203700:
    00203700add rax, 1
    00203704mov rbp, r8
    00203707and rax, r15
    0020370amov rdx, rax
    0020370dmov ecx, eax
    0020370fshr rdx, 6
    00203713shl rbp, cl
    00203716lea r11, [rdi+8*rdx]
    0020371amov rcx, rbp
    0020371dmov rdx, [r11]
    00203720test rdx, rbp
    00203723jne 0x203700
    00203725
    00203725loc_203725:
    00203725or rdx, rcx
    00203728shl rax, 4
    0020372cadd rsi, 1
    00203730add r9, 16
    00203734mov [r11], rdx
    00203737movdqu x0, [r9-16]
    0020373dmovups [r14+rax], x0
    00203742cmp r12, rsi
    00203745jne 0x203691
    0020374b
    0020374bloc_20374b:
    0020374badd rbx, 4144
    00203752cmp r13, rbx
    00203755je 0x203566
    0020375bmov rdi, r13
    0020375ecall caml_stat_free
    00203763mov rdi, [rsp+8]
    00203768add rsp, 24
    0020376cpop rbx
    0020376dpop rbp
    0020376epop r12
    00203770pop r13
    00203772pop r14
    00203774pop r15
    00203776jmp 0x216690
    0020377b
    0020377b 0f 1f 44 00 00 ..D..
    00203780
    00203780loc_203780:
    00203780ret
    00203781
    00203781 0f 1f 80 00 00 00 00 .......
    00203788
    00203788loc_203788:
    00203788lea rbp, [8*r12]
    00203790sub r15l, 3
    00203794jmp 0x2035ae
    00203799
    00203799loc_203799:
    00203799mov rdi, rbx
    0020379ccall fn_203420
    002037a1
    002037a1loc_2037a1:
    002037a1mov rdi, r14
    002037a4call caml_stat_free
    002037a9mov rdi, rbx
    002037accall fn_203420
    00203500