File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    00200f00
    00200f00fn_200f00:
    00200f00push r12
    00200f02mov rax, [rip+0x1776cf]
    00200f09mov esi, 1
    00200f0epush rbp
    00200f0fmov rbp, [rip+0x74a42]
    00200f16push rbx
    00200f17lea rbx, [8*rax]
    00200f1fmov r12, [rbp+160]
    00200f26imul r12, rbx
    00200f2amov rdi, r12
    00200f2dcall caml_mem_map
    00200f32test rax, rax
    00200f35je 0x200fba
    00200f3blea rdx, [rax+r12]
    00200f3fmov [rip+0x17768a], rax
    00200f46mov rsi, rax
    00200f49xor eax, eax
    00200f4blea rdi, [rip+0x2ed06]
    00200f52mov [rip+0x17766f], rdx
    00200f59call caml_gc_log
    00200f5ecmp [rbp+160], 0
    00200f66je 0x200fb5
    00200f68mov rdi, [rip+0x177691]
    00200f6fmov rsi, [rip+0x17765a]
    00200f76xor ecx, ecx
    00200f78xor eax, eax
    00200f7anop [rax+rax]
    00200f80
    00200f80loc_200f80:
    00200f80mov rdx, rax
    00200f83add ecx, 1
    00200f86shl rdx, 5
    00200f8aadd rdx, rax
    00200f8dimul rax, rbx
    00200f91lea rdx, [rdi+8*rdx]
    00200f95add rax, rsi
    00200f98mov [rdx+248], rax
    00200f9fadd rax, rbx
    00200fa2mov [rdx+256], rax
    00200fa9movsxd rax, ecx
    00200faccmp rax, [rbp+160]
    00200fb3jb 0x200f80
    00200fb5
    00200fb5loc_200fb5:
    00200fb5pop rbx
    00200fb6pop rbp
    00200fb7pop r12
    00200fb9ret
    00200fba
    00200fbaloc_200fba:
    00200fbalea rdi, [rip+0x2ec67]
    00200fc1xor eax, eax
    00200fc3call caml_fatal_error
    00200f00
    00200fc8
    00200fc8 // align 0x10
    00200fd0
    00200fd0fn_200fd0:
    00200fd0push rbp
    00200fd1mov rbp, rdi
    00200fd4mov edi, 33
    00200fd9push rbx
    00200fdasub rsp, 8
    00200fdecall caml_ev_begin
    00200fe3mov eax, 1
    00200fe8lock xadd [rip+0x1776f7], rax
    00200ff1movsxd rdx, [rip+0x177720]
    00200ff8add rax, 1
    00200ffccmp rdx, rax
    00200fffje 0x201088
    00201005cmp [rip+0x1776fb], 0
    0020100dje 0x201058
    0020100fmov ebx, 300
    00201014jmp 0x20103b
    00201016
    00201016 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00201020
    00201020loc_201020:
    00201020mov rsi, [rip+0x1776e9]
    00201027mov rdi, rbp
    0020102acall [rip+0x1776d8]
    00201030test eax, eax
    00201032je 0x201058
    00201034nop
    00201036sub ebx, 1
    00201039je 0x201058
    0020103b
    0020103bloc_20103b:
    0020103bmov eax, [rip+0x17769f]
    00201041test eax, eax
    00201043jne 0x201020
    00201045
    00201045loc_201045:
    00201045add rsp, 8
    00201049mov edi, 33
    0020104epop rbx
    0020104fpop rbp
    00201050jmp 0x21cae0
    00201055
    00201055 0f 1f 00 ...
    00201058
    00201058loc_201058:
    00201058mov eax, 1000
    0020105djmp 0x201067
    0020105f
    0020105f 90 .
    00201060
    00201060loc_201060:
    00201060nop
    00201062sub eax, 1
    00201065je 0x2010a8
    00201067
    00201067loc_201067:
    00201067mov edx, [rip+0x177673]
    0020106dtest edx, edx
    0020106fjne 0x201060
    00201071add rsp, 8
    00201075mov edi, 33
    0020107apop rbx
    0020107bpop rbp
    0020107cjmp 0x21cae0
    00201081
    00201081 0f 1f 80 00 00 00 00 .......
    00201088
    00201088loc_201088:
    00201088lea rdi, [rip+0x177651]
    0020108fcall caml_plat_latch_release
    00201094add rsp, 8
    00201098mov edi, 33
    0020109dpop rbx
    0020109epop rbp
    0020109fjmp 0x21cae0
    002010a4
    002010a4 0f 1f 40 00 ..@.
    002010a8
    002010a8loc_2010a8:
    002010a8lea rdi, [rip+0x177631]
    002010afcall caml_plat_latch_wait
    002010b4jmp 0x201045
    00200fd0
    002010b6
    002010b6 // align 0x10
    002010c0
    002010c0fn_2010c0:
    002010c0ret
    002010c1db 0x0f
    002010c2db 0x1e
    002010c3cli
    002010c4ret
    002010c0
    002010c5
    002010c5 // align 0x10
    002010d0
    002010d0fn_2010d0:
    002010d0ret
    002010d1db 0x0f
    002010d2db 0x1e
    002010d3cli
    002010d4ret
    002010d0
    002010d5
    002010d5 // align 0x10
    002010e0
    002010e0fn_2010e0:
    002010e0push r12
    002010e2push rbp
    002010e3push rbx
    002010e4sub rsp, 272
    002010ebmov rbp, [0x28]
    002010f4mov [rsp+264], rbp
    002010fcmov rbp, rdi
    002010ffmov rax, [rdi+152]
    00201106cmp rax, 3
    0020110aje 0x20114c
    0020110clea r12, [rdi+152]
    00201113lea rbx, [rbp+160]
    0020111anop [rax+rax]
    00201120
    00201120loc_201120:
    00201120mov rdi, rbx
    00201123call fn_f47c0
    00201128test eax, eax
    0020112ajne 0x2011d6
    00201130nop
    00201132mov rdi, rbx
    00201135call fn_f4710
    0020113atest eax, eax
    0020113cjne 0x2011e4
    00201142mov rax, [r12]
    00201146cmp rax, 3
    0020114ajne 0x201120
    0020114c
    0020114cloc_20114c:
    0020114cmov rdi, rsp
    0020114flea r12, [rsp+128]
    00201157call fn_f4260
    0020115cxor edi, edi
    0020115emov rdx, r12
    00201161mov rsi, rsp
    00201164call fn_f4130
    00201169xor esi, esi
    0020116blea rdi, [rbp+144]
    00201172mov rcx, rbp
    00201175lea rdx, [rip+5668]
    0020117cmov [rbp+152], 1
    00201187call fn_f4340
    0020118cxor edx, edx
    0020118emov rsi, r12
    00201191mov edi, 2
    00201196mov ebx, eax
    00201198call fn_f4130
    0020119dtest ebx, ebx
    0020119fjne 0x2011f7
    002011a1mov [rbp+136], 1
    002011abmov rdi, [rbp+144]
    002011b2call fn_f44e0
    002011b7mov rax, [rsp+264]
    002011bfsub rax, [0x28]
    002011c8jne 0x2011f2
    002011caadd rsp, 272
    002011d1pop rbx
    002011d2pop rbp
    002011d3pop r12
    002011d5ret
    002011d6
    002011d6loc_2011d6:
    002011d6mov esi, eax
    002011d8lea rdi, [rip+0x2e33b]
    002011dfcall caml_plat_fatal_error
    002011e4
    002011e4loc_2011e4:
    002011e4mov esi, eax
    002011e6lea rdi, [rip+0x2e322]
    002011edcall caml_plat_fatal_error
    002011f2
    002011f2loc_2011f2:
    002011f2call fn_f4590
    002011f7
    002011f7loc_2011f7:
    002011f7lea rdi, [rip+0x2ea82]
    002011fecall caml_failwith
    002010e0
    00201203
    00201203 // align 0x10
    00201210
    00201210fn_201210:
    00201210push rbx
    00201211mov rbx, [0xffffffffffffffe0]
    0020121alea rdi, [rbx+160]
    00201221call caml_plat_mutex_init
    00201226lea rdi, [rbx+200]
    0020122dcall caml_plat_cond_init
    00201232mov rbx, [0xffffffffffffffe0]
    0020123blea rdi, [rbx+160]
    00201242call fn_f4710
    00201247test eax, eax
    00201249jne 0x20125e
    0020124bmov rax, [rbx+8]
    0020124fmov [0xffffffffffffffe8], rax
    00201258pop rbx
    00201259ret
    0020125amov esi, eax
    0020125clea rdi, [rip+0x2e2a8]
    00201263call caml_plat_fatal_error
    00201268db 0x64
    00201269cmpsd [rdi], [rsi]
    0020126aadd [rax], eax
    00201210
    0020126c
    0020126c // align 0x10
    00201270
    00201270fn_201270:
    00201270push rbx
    00201271lea rdi, [rip+0x2ea30]
    00201278xor eax, eax
    0020127amov rbx, [0xffffffffffffffe8]
    00201283mov rsi, [rbx+272]
    0020128ashr rsi, 10
    0020128ecall caml_gc_log
    00201293mov rax, [0xffffffffffffffe8]
    0020129cmov rdx, [0xffffffffffffffe0]
    002012a5mov rdi, [rax+24]
    002012a9mov rcx, [rdx+248]
    002012b0mov rsi, [rax+16]
    002012b4mov r9, [rax+272]
    002012bbxor eax, eax
    002012bdmov r8, [rdx+256]
    002012c4mov rdx, rdi
    002012c7lea rdi, [rip+0x2ea0a]
    002012cecall caml_gc_log
    002012d3mov rax, [rbx+272]
    002012dalea rsi, [8*rax]
    002012e2mov rax, [0xffffffffffffffe0]
    002012ebmov rdi, [rax+248]
    002012f2call caml_mem_decommit
    002012f7pxor x0, x0
    002012fbmov [rbx+472], 0
    00201306movups [rbx+8], x0
    0020130amovups [rbx+24], x0
    0020130emov [rbx], 0
    00201315pop rbx
    00201316ret
    00201270
    00201317
    00201317 // align 0x10
    00201320
    00201320fn_201320:
    00201320lock sub [rip+0x1773c7], 1
    00201329je 0x201330
    0020132bret
    0020132c
    0020132c 0f 1f 40 00 ..@.
    00201330
    00201330loc_201330:
    00201330push rbx
    00201331lea rbx, [rip+0x177368]
    00201338mov rdi, rbx
    0020133bcall fn_f4710
    00201340test eax, eax
    00201342jne 0x201377
    00201344lea rdi, [rip+0x177315]
    0020134bmov [rip+0x177302], 0
    00201356call caml_plat_broadcast
    0020135blea rdi, [rip+0x2da4a]
    00201362xor eax, eax
    00201364call caml_gc_log
    00201369mov rdi, rbx
    0020136ccall fn_f47c0
    00201371test eax, eax
    00201373jne 0x201385
    00201375pop rbx
    00201376ret
    00201377
    00201377loc_201377:
    00201377mov esi, eax
    00201379lea rdi, [rip+0x2e18f]
    00201380call caml_plat_fatal_error
    00201385
    00201385loc_201385:
    00201385mov esi, eax
    00201387lea rdi, [rip+0x2e18c]
    0020138ecall caml_plat_fatal_error
    00201320
    00201393
    00201393 // align 0x10
    002013a0
    002013a0caml_incoming_interrupts_queued:
    002013a0mov rax, [0xffffffffffffffe0]
    002013a9mov rax, [rax+128]
    002013b0test rax, rax
    002013b3setne al
    002013b6movzx eax, al
    002013b9ret
    002013badb 0x0f
    002013bbmov dh, 192
    002013bdret
    002013a0
    002013be
    002013be // align 0x10
    002013c0
    002013c0caml_send_interrupt:
    002013c0push rbp
    002013c1lea rbp, [rdi+8]
    002013c5push rbx
    002013c6mov rbx, rdi
    002013c9sub rsp, 8
    002013cdmov [rdi+112], 1
    002013d5mov rdi, rbp
    002013d8call fn_f4710
    002013ddtest eax, eax
    002013dfjne 0x201410
    002013e1lea rdi, [rbx+48]
    002013e5call caml_plat_broadcast
    002013eamov rdi, rbp
    002013edcall fn_f47c0
    002013f2test eax, eax
    002013f4jne 0x20141e
    002013f6mov rax, [rbx]
    002013f9mov [rax], -1
    00201400add rsp, 8
    00201404mov eax, 1
    00201409pop rbx
    0020140apop rbp
    0020140bret
    0020140cmov esi, eax
    0020140elea rdi, [rip+0x2e0f6]
    00201415call caml_plat_fatal_error
    0020141amov esi, eax
    0020141clea rdi, [rip+0x2e0f3]
    00201423call caml_plat_fatal_error
    00201428db 0xa4
    00201429movsd [rdi], [rsi]
    0020142aadd [rax], eax
    002013c0
    0020142c
    0020142c // align 0x10
    00201430
    00201430caml_norm_minor_heap_size:
    00201430mov eax, 257
    00201435sub rsp, 8
    00201439cmp rdi, rax
    0020143ccmovl rdi, rax
    00201440shl rdi, 3
    00201444call caml_mem_round_up_pages
    00201449add rsp, 8
    0020144dshr rax, 3
    00201451ret
    00201452db 0xc1
    00201453db 0xe8
    00201454add eax, ebx
    00201430
    00201456
    00201456 // align 0x10
    00201460
    00201460caml_reset_domain_lock:
    00201460push rbx
    00201461mov rbx, [0xffffffffffffffe0]
    0020146alea rdi, [rbx+160]
    00201471call caml_plat_mutex_init
    00201476lea rdi, [rbx+200]
    0020147dpop rbx
    0020147ejmp 0x21bb40
    00201483db 0xb9
    00201484cmpsb [rdi], [rsi]
    00201485add [rax], eax
    00201460
    00201487
    00201487 // align 0x10
    00201490
    00201490caml_init_domain_self:
    00201490movsxd rdi, edi
    00201493mov rdx, [rip+0x177162]
    0020149amov rax, rdi
    0020149dshl rax, 5
    002014a1add rax, rdi
    002014a4lea rax, [rdx+8*rax]
    002014a8mov [0xffffffffffffffe0], rax
    002014b1mov rax, [rax+8]
    002014b5mov [0xffffffffffffffe8], rax
    002014beret
    002014bfdb 0xff
    002014c0db 0xff
    002014c1inc ebx
    00201490
    002014c3
    002014c3 // align 0x10
    002014d0
    002014d0caml_ml_domain_id:
    002014d0mov rax, [0xffffffffffffffe0]
    002014d9mov rax, [rax+120]
    002014ddlea rax, [rax+rax+1]
    002014e2ret
    002014e3db 0x44
    002014e4add [rcx], al
    002014e6ret
    002014d0
    002014e7
    002014e7 // align 0x10
    002014f0
    002014f0caml_ml_domain_index:
    002014f0mov rax, [0xffffffffffffffe0]
    002014f9movsxd rax, [rax]
    002014fclea rax, [rax+rax+1]
    00201501ret
    00201502db 0x44
    00201503add [rcx], al
    00201505ret
    002014f0
    00201506
    00201506 // align 0x10
    00201510
    00201510caml_enter_global_barrier:
    00201510mov eax, 1
    00201515lock xadd [rip+0x177206], rax
    0020151eadd rax, 1
    00201522movsxd rdx, edi
    00201525mov rsi, rax
    00201528and rax, 0xffffffffffefffff
    0020152eand esi, 0x100000
    00201534cmp rax, rdx
    00201537je 0x201578
    00201539cmp edi, 2
    0020153cmov ecx, 300
    00201541mov eax, 1000
    00201546cmove ecx, eax
    00201549xor edx, edx
    0020154bnop
    0020154cmov eax, [rip+0x1771ca]
    00201552and eax, 0x100000
    00201557cmp rsi, rax
    0020155ajne 0x201588
    0020155cnop
    0020155eadd edx, 1
    00201561cmp edx, ecx
    00201563jne 0x201550
    00201565lea rdi, [rip+0x1771b0]
    0020156cjmp 0x21bde0
    00201571db 0x6b
    00201572test al, 1
    00201574db 0x00
    00201575
    00201575 0f 1f 00 ...
    00201578
    00201578loc_201578:
    00201578lea rdi, [rip+0x1771a1]
    0020157fjmp 0x21bd90
    00201584
    00201584 0f 1f 40 00 ..@.
    00201588
    00201588loc_201588:
    00201588ret
    00201510
    00201589
    00201589 // align 0x10
    00201590
    00201590caml_global_barrier_and_check_final:
    00201590mov eax, 1
    00201595lock xadd [rip+0x177186], rax
    0020159eadd rax, 1
    002015a2movsxd rdx, edi
    002015a5mov rcx, rax
    002015a8and rcx, 0xffffffffffefffff
    002015afcmp rcx, rdx
    002015b2jne 0x2015c0
    002015b4ret
    002015b5db 0xd1
    002015b6jne 0x2015c0
    002015b8ret
    002015b9
    002015b9 0f 1f 80 00 00 00 00 .......
    002015c0
    002015c0loc_2015c0:
    002015c0and eax, 0x100000
    002015c5mov esi, 300
    002015cacmp edi, 2
    002015cdmov edx, 1000
    002015d2cmove esi, edx
    002015d5xor ecx, ecx
    002015d7nop [rax+rax]
    002015e0
    002015e0loc_2015e0:
    002015e0mov edx, [rip+0x17713a]
    002015e6and edx, 0x100000
    002015eccmp rax, rdx
    002015efjne 0x201618
    002015f1nop
    002015f3add ecx, 1
    002015f6cmp ecx, esi
    002015f8jne 0x2015e0
    002015fasub rsp, 8
    002015femov rsi, rax
    00201601lea rdi, [rip+0x177118]
    00201608call caml_plat_barrier_wait_sense
    0020160dxor eax, eax
    0020160fadd rsp, 8
    00201613ret
    00201614
    00201614 0f 1f 40 00 ..@.
    00201618
    00201618loc_201618:
    00201618xor eax, eax
    0020161aret
    00201590
    0020161b
    0020161b // align 0x10
    00201620
    00201620caml_global_barrier_release_as_final:
    00201620mov rsi, rdi
    00201623lea rdi, [rip+0x1770f2]
    0020162aand esi, 0x100000
    00201630jmp 0x21bd90
    00201635db 0x57
    00201636cmpsd [rdi], [rsi]
    00201637add [rax], eax
    00201620
    00201639
    00201639 // align 0x10
    00201640
    00201640caml_global_barrier_num_participating:
    00201640mov eax, [rip+0x1770ce]
    00201646ret
    00201647db 0x70
    00201648db 0x17
    00201649add bl, al
    00201640
    0020164b
    0020164b // align 0x10
    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