File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    0021bba0
    0021bba0caml_plat_wait:
    0021bba0sub rsp, 8
    0021bba4call fn_f45e0
    0021bba9test eax, eax
    0021bbabjne 0x21bbb6
    0021bbadadd rsp, 8
    0021bbb1ret
    0021bbb2mov esi, eax
    0021bbb4lea rdi, [rip+0x1398c]
    0021bbbbcall caml_plat_fatal_error
    0021bbc0db 0x0c
    0021bbc1db 0xfe
    0021bbc2db 0xff
    0021bbc3db 0xff
    0021bba0
    0021bbc4
    0021bbc4 // align 0x10
    0021bbd0
    0021bbd0caml_plat_broadcast:
    0021bbd0sub rsp, 8
    0021bbd4call fn_f4770
    0021bbd9test eax, eax
    0021bbdbjne 0x21bbe6
    0021bbddadd rsp, 8
    0021bbe1ret
    0021bbe2mov esi, eax
    0021bbe4lea rdi, [rip+0x1379b]
    0021bbebcall caml_plat_fatal_error
    0021bbf0db 0xdc
    0021bbf1std
    0021bbf2db 0xff
    0021bbf3db 0xff
    0021bbd0
    0021bbf4
    0021bbf4 // align 0x10
    0021bc00
    0021bc00caml_plat_signal:
    0021bc00sub rsp, 8
    0021bc04call fn_f41f0
    0021bc09test eax, eax
    0021bc0bjne 0x21bc16
    0021bc0dadd rsp, 8
    0021bc11ret
    0021bc12mov esi, eax
    0021bc14lea rdi, [rip+0x1377a]
    0021bc1bcall caml_plat_fatal_error
    0021bc20db 0xac
    0021bc21std
    0021bc22db 0xff
    0021bc23db 0xff
    0021bc00
    0021bc24
    0021bc24 // align 0x10
    0021bc30
    0021bc30caml_plat_cond_free:
    0021bc30sub rsp, 8
    0021bc34call fn_f4060
    0021bc39test eax, eax
    0021bc3bjne 0x21bc46
    0021bc3dadd rsp, 8
    0021bc41ret
    0021bc42mov esi, eax
    0021bc44lea rdi, [rip+0x13756]
    0021bc4bcall caml_plat_fatal_error
    0021bc50db 0x7c
    0021bc51std
    0021bc52db 0xff
    0021bc53db 0xff
    0021bc30
    0021bc54
    0021bc54 // align 0x10
    0021bc60
    0021bc60caml_plat_futex_wait:
    0021bc60push rbp
    0021bc61mov rbp, rdi
    0021bc64push rbx
    0021bc65mov ebx, esi
    0021bc67sub rsp, 8
    0021bc6bjmp 0x21bc9c
    0021bc6ddb 0xec
    0021bc6eor bl, ch
    0021bc70db 0x2b
    0021bc71
    0021bc71 0f 1f 80 00 00 00 00 .......
    0021bc78
    0021bc78loc_21bc78:
    0021bc78sub rsp, 8
    0021bc7cmov edx, 128
    0021bc81xor r9l, r9l
    0021bc84xor r8l, r8l
    0021bc87push 0
    0021bc89mov ecx, ebx
    0021bc8bmov rsi, rbp
    0021bc8emov edi, 202
    0021bc93xor eax, eax
    0021bc95call fn_f4440
    0021bc9apop rax
    0021bc9bpop rdx
    0021bc9c
    0021bc9cloc_21bc9c:
    0021bc9cmov eax, [rbp]
    0021bc9fcmp eax, ebx
    0021bca1je 0x21bc78
    0021bca3add rsp, 8
    0021bca7pop rbx
    0021bca8pop rbp
    0021bca9ret
    0021bc60
    0021bcaa
    0021bcaa // align 0x10
    0021bcb0
    0021bcb0caml_plat_futex_wake_all:
    0021bcb0sub rsp, 16
    0021bcb4mov rsi, rdi
    0021bcb7xor r9l, r9l
    0021bcbaxor r8l, r8l
    0021bcbdpush 0
    0021bcbfmov ecx, 0x7fffffff
    0021bcc4mov edx, 129
    0021bcc9xor eax, eax
    0021bccbmov edi, 202
    0021bcd0call fn_f4440
    0021bcd5add rsp, 24
    0021bcd9ret
    0021bcdadb 0x83
    0021bcdbdb 0xc4
    0021bcdcsbb bl, al
    0021bcb0
    0021bcde
    0021bcde // align 0x10
    0021bce0
    0021bce0caml_plat_futex_init:
    0021bce0xchg [rdi], esi
    0021bce2ret
    0021bce3db 0xfa
    0021bce4xchg [rdi], esi
    0021bce6ret
    0021bce0
    0021bce7
    0021bce7 // align 0x10
    0021bcf0
    0021bcf0caml_plat_futex_free:
    0021bcf0ret
    0021bcf1db 0x0f
    0021bcf2db 0x1e
    0021bcf3cli
    0021bcf4ret
    0021bcf0
    0021bcf5
    0021bcf5 // align 0x10
    0021bd00
    0021bd00caml_plat_latch_release:
    0021bd00xor eax, eax
    0021bd02xchg [rdi], eax
    0021bd04cmp eax, 1
    0021bd07jne 0x21bd10
    0021bd09ret
    0021bd0adb 0x01
    0021bd0bjne 0x21bd10
    0021bd0dret
    0021bd0e
    0021bd0e 66 90 f.
    0021bd10
    0021bd10loc_21bd10:
    0021bd10sub rsp, 16
    0021bd14mov rsi, rdi
    0021bd17xor r9l, r9l
    0021bd1axor r8l, r8l
    0021bd1dpush 0
    0021bd1fmov ecx, 0x7fffffff
    0021bd24mov edx, 129
    0021bd29xor eax, eax
    0021bd2bmov edi, 202
    0021bd30call fn_f4440
    0021bd35add rsp, 24
    0021bd39ret
    0021bd00
    0021bd3a
    0021bd3a // align 0x10
    0021bd40
    0021bd40caml_plat_latch_wait:
    0021bd40push rbx
    0021bd41mov eax, 1
    0021bd46mov rbx, rdi
    0021bd49mov edx, 2
    0021bd4elock cmpxchg [rdi], edx
    0021bd52jmp 0x21bd87
    0021bd54db 0xb1
    0021bd55db 0x17
    0021bd56jmp 0x21bd87
    0021bd58
    0021bd58 0f 1f 84 00 00 00 00 00 ........
    0021bd60
    0021bd60loc_21bd60:
    0021bd60sub rsp, 8
    0021bd64mov edx, 128
    0021bd69xor r9l, r9l
    0021bd6cxor r8l, r8l
    0021bd6fpush 0
    0021bd71mov ecx, 2
    0021bd76mov rsi, rbx
    0021bd79mov edi, 202
    0021bd7exor eax, eax
    0021bd80call fn_f4440
    0021bd85pop rax
    0021bd86pop rdx
    0021bd87
    0021bd87loc_21bd87:
    0021bd87mov eax, [rbx]
    0021bd89cmp eax, 2
    0021bd8cje 0x21bd60
    0021bd8epop rbx
    0021bd8fret
    0021bd40
    0021bd90
    0021bd90caml_plat_barrier_flip:
    0021bd90mov rax, rsi
    0021bd93xor rax, 0x100000
    0021bd99mov [rdi+8], rax
    0021bd9dxchg [rdi], eax
    0021bd9fcmp eax, esi
    0021bda1jne 0x21bdb0
    0021bda3ret
    0021bda4db 0xf0
    0021bda5jne 0x21bdb0
    0021bda7ret
    0021bda8
    0021bda8 0f 1f 84 00 00 00 00 00 ........
    0021bdb0
    0021bdb0loc_21bdb0:
    0021bdb0sub rsp, 16
    0021bdb4mov rsi, rdi
    0021bdb7xor r9l, r9l
    0021bdbaxor r8l, r8l
    0021bdbdpush 0
    0021bdbfmov ecx, 0x7fffffff
    0021bdc4mov edx, 129
    0021bdc9xor eax, eax
    0021bdcbmov edi, 202
    0021bdd0call fn_f4440
    0021bdd5add rsp, 24
    0021bdd9ret
    0021bd90
    0021bdda
    0021bdda // align 0x10
    0021bde0
    0021bde0caml_plat_barrier_wait_sense:
    0021bde0push rbp
    0021bde1mov eax, esi
    0021bde3mov rbp, rdi
    0021bde6push rbx
    0021bde7mov rbx, rsi
    0021bdeaor ebx, 1
    0021bdedsub rsp, 8
    0021bdf1lock cmpxchg [rdi], ebx
    0021bdf5jmp 0x21be24
    0021bdf7db 0xb1
    0021bdf8db 0x1f
    0021bdf9jmp 0x21be24
    0021bdfb
    0021bdfb 0f 1f 44 00 00 ..D..
    0021be00
    0021be00loc_21be00:
    0021be00sub rsp, 8
    0021be04mov edx, 128
    0021be09xor r9l, r9l
    0021be0cxor r8l, r8l
    0021be0fpush 0
    0021be11mov ecx, ebx
    0021be13mov rsi, rbp
    0021be16mov edi, 202
    0021be1bxor eax, eax
    0021be1dcall fn_f4440
    0021be22pop rax
    0021be23pop rdx
    0021be24
    0021be24loc_21be24:
    0021be24mov eax, [rbp]
    0021be27cmp ebx, eax
    0021be29je 0x21be00
    0021be2badd rsp, 8
    0021be2fpop rbx
    0021be30pop rbp
    0021be31ret
    0021bde0
    0021be32
    0021be32 // align 0x10
    0021be40
    0021be40caml_mem_round_up_pages:
    0021be40mov rdx, [rip+0x15ce2d]
    0021be47lea rax, [rdx+rdi-1]
    0021be4cneg rdx
    0021be4fand rax, rdx
    0021be52ret
    0021be53db 0x48
    0021be54and eax, edx
    0021be56ret
    0021be40
    0021be57
    0021be57 // align 0x10
    0021be60
    0021be60caml_mem_map:
    0021be60push rbp
    0021be61mov rbp, rdi
    0021be64push rbx
    0021be65sub rsp, 8
    0021be69call caml_plat_mem_map
    0021be6emov rbx, rax
    0021be71test rax, rax
    0021be74je 0x21bea0
    0021be76mov rcx, rax
    0021be79mov rdx, rbp
    0021be7cxor eax, eax
    0021be7emov edi, 4096
    0021be83lea rsi, [rip+0x1526a]
    0021be8acall caml_gc_message
    0021be8fadd rsp, 8
    0021be93mov rax, rbx
    0021be96pop rbx
    0021be97pop rbp
    0021be98ret
    0021be99db 0xd8
    0021be9apop rbx
    0021be9bpop rbp
    0021be9cret
    0021be9d
    0021be9d 0f 1f 00 ...
    0021bea0
    0021bea0loc_21bea0:
    0021bea0mov rdx, rbp
    0021bea3xor eax, eax
    0021bea5mov edi, 4096
    0021beaalea rsi, [rip+0x134fe]
    0021beb1call caml_gc_message
    0021beb6add rsp, 8
    0021bebamov rax, rbx
    0021bebdpop rbx
    0021bebepop rbp
    0021bebfret
    0021be60
    0021bec0
    0021bec0caml_mem_commit:
    0021bec0push rbp
    0021bec1mov rcx, rdi
    0021bec4mov rbp, rsi
    0021bec7mov rdx, rsi
    0021becapush rbx
    0021becblea rsi, [rip+0x15242]
    0021bed2mov rbx, rdi
    0021bed5xor eax, eax
    0021bed7mov edi, 4096
    0021bedcsub rsp, 8
    0021bee0call caml_gc_message
    0021bee5add rsp, 8
    0021bee9mov rsi, rbp
    0021beecmov rdi, rbx
    0021beefpop rbx
    0021bef0pop rbp
    0021bef1jmp 0x223d00
    0021bef6db 0x06
    0021bef7jle 0x21bef9
    0021bef9db 0x00
    0021bec0
    0021befa
    0021befa // align 0x10
    0021bf00
    0021bf00caml_mem_decommit:
    0021bf00test rsi, rsi
    0021bf03jne 0x21bf10
    0021bf05ret
    0021bf06db 0xf6
    0021bf07jne 0x21bf10
    0021bf09ret
    0021bf0a
    0021bf0a 66 0f 1f 44 00 00 f..D..
    0021bf10
    0021bf10loc_21bf10:
    0021bf10push rbp
    0021bf11mov rcx, rdi
    0021bf14mov rbp, rdi
    0021bf17mov rdx, rsi
    0021bf1apush rbx
    0021bf1bmov edi, 4096
    0021bf20mov rbx, rsi
    0021bf23xor eax, eax
    0021bf25lea rsi, [rip+0x15214]
    0021bf2csub rsp, 8
    0021bf30call caml_gc_message
    0021bf35add rsp, 8
    0021bf39mov rsi, rbx
    0021bf3cmov rdi, rbp
    0021bf3fpop rbx
    0021bf40pop rbp
    0021bf41jmp 0x223d40
    0021bf00
    0021bf46
    0021bf46 // align 0x10
    0021bf50
    0021bf50caml_mem_unmap:
    0021bf50push rbp
    0021bf51mov rcx, rdi
    0021bf54mov rbp, rsi
    0021bf57mov rdx, rsi
    0021bf5apush rbx
    0021bf5blea rsi, [rip+0x15202]
    0021bf62mov rbx, rdi
    0021bf65xor eax, eax
    0021bf67mov edi, 4096
    0021bf6csub rsp, 8
    0021bf70call caml_gc_message
    0021bf75add rsp, 8
    0021bf79mov rsi, rbp
    0021bf7cmov rdi, rbx
    0021bf7fpop rbx
    0021bf80pop rbp
    0021bf81jmp 0x223d60
    0021bf86db 0xd6
    0021bf87jge 0x21bf89
    0021bf89db 0x00
    0021bf50
    0021bf8a
    0021bf8a // align 0x10
    0021bf90
    0021bf90caml_plat_spin_back_off:
    0021bf90push rbp
    0021bf91mov eax, 10000
    0021bf96push rbx
    0021bf97mov ebx, 0x3b9aca00
    0021bf9csub rsp, 8
    0021bfa0cmp edi, ebx
    0021bfa2cmovbe ebx, edi
    0021bfa5cmp ebx, eax
    0021bfa7cmovb ebx, eax
    0021bfaamov ebp, ebx
    0021bfacshr ebp, 2
    0021bfafadd ebp, ebx
    0021bfb1cmp ebp, 0xf423f
    0021bfb7jbe 0x21bfc5
    0021bfb9cmp edi, 0xf423f
    0021bfbfjbe 0x21bfe0
    0021bfc1mov edi, ebx
    0021bfc3imul rdi, rdi, 0x10624dd3
    0021bfcashr rdi, 38
    0021bfcecall fn_f4460
    0021bfd3add rsp, 8
    0021bfd7mov eax, ebp
    0021bfd9pop rbx
    0021bfdapop rbp
    0021bfdbret
    0021bfdcmov ecx, [rsi+8]
    0021bfdfmov rdx, [rsi]
    0021bfe2lea rdi, [rip+0x151a3]
    0021bfe9xor eax, eax
    0021bfebmov rsi, [rsi+16]
    0021bfefcall caml_gc_log
    0021bff4jmp 0x21bfc5
    0021bff6db 0xff
    0021bff7db 0xff
    0021bff8jmp 0x21bfc5
    0021bf90
    0021bffa
    0021bffa // align 0x10
    0021c000
    0021c000caml_lxm_next_unboxed:
    0021c000mov r8, 0xdaba0b6eb09322e3
    0021c00amov rcx, [rdi+8]
    0021c00emov rdx, [rcx+16]
    0021c012mov rdi, [rcx+8]
    0021c016lea rsi, [rdi+rdx]
    0021c01amov rax, rsi
    0021c01dshr rax, 32
    0021c021xor rax, rsi
    0021c024imul rax, r8
    0021c028mov rsi, rax
    0021c02bshr rsi, 32
    0021c02fxor rsi, rax
    0021c032imul rsi, r8
    0021c036mov r8, 0xd1342543de82ef95
    0021c040imul rdi, r8
    0021c044add rdi, [rcx]
    0021c047mov [rcx+8], rdi
    0021c04bmov rdi, [rcx+24]
    0021c04fmov rax, rsi
    0021c052xor rdi, rdx
    0021c055rol rdx, 24
    0021c059mov r8, rdi
    0021c05cxor rdx, rdi
    0021c05fshr rax, 32
    0021c063shl r8, 16
    0021c067ror rdi, 27
    0021c06bxor rax, rsi
    0021c06exor rdx, r8
    0021c071mov [rcx+24], rdi
    0021c075mov [rcx+16], rdx
    0021c079ret
    0021c07adb 0x89
    0021c07bpush rcx
    0021c07cadc bl, al
    0021c000
    0021c07e
    0021c07e // align 0x10
    0021c080
    0021c080caml_lxm_next:
    0021c080sub rsp, 8
    0021c084call caml_lxm_next_unboxed
    0021c089add rsp, 8
    0021c08dmov rdi, rax
    0021c090jmp 0x20d9d0
    0021c095db 0x37
    0021c096sbb edi, edi
    0021c098db 0xff
    0021c080
    0021c099
    0021c099 // align 0x10
    0021c0a0
    0021c0a0caml_do_local_roots:
    0021c0a0push r15
    0021c0a2push r14
    0021c0a4push r13
    0021c0a6mov r13, rcx
    0021c0a9push r12
    0021c0abmov r12, rdx
    0021c0aepush rbp
    0021c0afmov rbp, rdi
    0021c0b2push rbx
    0021c0b3sub rsp, 40
    0021c0b7mov [rsp+12], esi
    0021c0bbmov [rsp+16], r8
    0021c0c0mov [rsp+24], r9
    0021c0c5test rcx, rcx
    0021c0c8je 0x21c138
    0021c0canop
    0021c0ccxor ebx, ebx
    0021c0cecmp [r13+8], 0
    0021c0d3jle 0x21c12f
    0021c0d5nop [rax]
    0021c0dcxor r15l, r15l
    0021c0dfmovsxd r8, ebx
    0021c0e2xor eax, eax
    0021c0e4cmp [r13+16], 0
    0021c0e9lea r14, [r8+2]
    0021c0edjle 0x21c123
    0021c0efnop [rax+rax]
    0021c0fanop
    0021c0fcmov rdx, [r13+8*r14+8]
    0021c101lea rdx, [rdx+8*rax]
    0021c105mov rsi, [rdx]
    0021c108test rsi, rsi
    0021c10bje 0x21c116
    0021c10dmov rdi, r12
    0021c110call rbp
    0021c112add r15l, 1
    0021c116
    0021c116loc_21c116:
    0021c116movsxd rax, r15l
    0021c119cmp rax, [r13+16]
    0021c11djl 0x21c100
    0021c11fadd ebx, 1
    0021c122movsxd r8, ebx
    0021c125cmp r8, [r13+8]
    0021c129jl 0x21c0e0
    0021c12bmov r13, [r13]
    0021c12f
    0021c12floc_21c12f:
    0021c12ftest r13, r13
    0021c132jne 0x21c0d0
    0021c134mov r8, [rsp+24]
    0021c139mov rcx, [rsp+16]
    0021c13emov rdx, r12
    0021c141mov rdi, rbp
    0021c144mov esi, [rsp+12]
    0021c148add rsp, 40
    0021c14cpop rbx
    0021c14dpop rbp
    0021c14epop r12
    0021c150pop r13
    0021c152pop r14
    0021c154pop r15
    0021c156jmp 0x206e00
    0021c15bdb 0xa1
    0021c15clodsb al, [rsi]
    0021c15ddb 0xfe
    0021c15edb 0xff
    0021c0a0
    0021c15f
    0021c15f // align 0x10
    0021c160
    0021c160caml_do_roots:
    0021c160push r14
    0021c162mov r14l, r8l
    0021c165push r13
    0021c167mov r13, rdx
    0021c16apush r12
    0021c16cmov r12l, esi
    0021c16fpush rbp
    0021c170mov rbp, rdi
    0021c173push rbx
    0021c174mov rbx, rcx
    0021c177mov rcx, [rcx+160]
    0021c17emov r9, [rbx+88]
    0021c182mov r8, [rbx+40]
    0021c186call caml_do_local_roots
    0021c18bmov rax, [rip+0x15caea]
    0021c192test rax, rax
    0021c195je 0x21c1a9
    0021c197mov rcx, rbx
    0021c19amov rdx, r13
    0021c19dmov esi, r12l
    0021c1a0mov rdi, rbp
    0021c1a3call rax
    0021c1a5mov r8l, r14l
    0021c1a8mov rcx, rbx
    0021c1abmov rdx, r13
    0021c1aepop rbx
    0021c1afmov esi, r12l
    0021c1b2mov rdi, rbp
    0021c1b5pop rbp
    0021c1b6pop r12
    0021c1b8pop r13
    0021c1bapop r14
    0021c1bcjmp 0x228480
    0021c1c1db 0xbb
    0021c1c2ret 0
    0021c160
    0021c1c5
    0021c1c5 // align 0x10
    0021c1d0
    0021c1d0fn_21c1d0:
    0021c1d0push rbp
    0021c1d1push rbx
    0021c1d2mov rbx, rsi
    0021c1d5sub rsp, 8
    0021c1d9cmp edx, 1
    0021c1dcje 0x21c248
    0021c1demov edi, edx
    0021c1e0call caml_global_barrier_and_check_final
    0021c1e5mov rbp, rax
    0021c1e8test rax, rax
    0021c1ebje 0x21c283
    0021c1f1mov ebx, [rbx]
    0021c1f3movsxd rsi, [rip+0x15cb9a]
    0021c1famov rdi, [rip+0x15cb9b]
    0021c201call fn_f4610
    0021c206test ebx, ebx
    0021c208jne 0x21c2c8
    0021c20emov rdi, [rip+0x15cb6f]
    0021c215call caml_stat_free
    0021c21amov rdi, rbp
    0021c21dmov [rip+0x15cb74], 0
    0021c228mov [rip+0x15cb41], 0
    0021c233add rsp, 8
    0021c237pop rbx
    0021c238pop rbp
    0021c239jmp 0x201620
    0021c23edb 0xde
    0021c23fpush rbx
    0021c240db 0xfe
    0021c241db 0xff
    0021c242
    0021c242 66 0f 1f 44 00 00 f..D..
    0021c248
    0021c248loc_21c248:
    0021c248mov ebx, [rsi]
    0021c24amov rdi, [rip+0x15cb4f]
    0021c251movsxd rsi, [rip+0x15cb40]
    0021c258call fn_f4610
    0021c25dtest ebx, ebx
    0021c25fjne 0x21c290
    0021c261mov rdi, [rip+0x15cb20]
    0021c268call caml_stat_free
    0021c26dmov [rip+0x15cb28], 0
    0021c278mov [rip+0x15caf5], 0
    0021c283
    0021c283loc_21c283:
    0021c283add rsp, 8
    0021c287pop rbx
    0021c288pop rbp
    0021c289ret
    0021c28a
    0021c28a 66 0f 1f 44 00 00 f..D..
    0021c290
    0021c290loc_21c290:
    0021c290mov rbx, [rip+0x15caf1]
    0021c297mov rdi, rbx
    0021c29acall fn_f4290
    0021c29fmov rdi, rbx
    0021c2a2call caml_stat_free
    0021c2a7mov [rip+0x15caee], 0
    0021c2b2mov [rip+0x15cabb], 0
    0021c2bdadd rsp, 8
    0021c2c1pop rbx
    0021c2c2pop rbp
    0021c2c3ret
    0021c2c4
    0021c2c4 0f 1f 40 00 ..@.
    0021c2c8
    0021c2c8loc_21c2c8:
    0021c2c8mov rbx, [rip+0x15cab9]
    0021c2cfmov rdi, rbx
    0021c2d2call fn_f4290
    0021c2d7mov rdi, rbx
    0021c2dacall caml_stat_free
    0021c2dfmov rdi, rbp
    0021c2e2mov [rip+0x15cab3], 0
    0021c2edmov [rip+0x15ca80], 0
    0021c2f8add rsp, 8
    0021c2fcpop rbx
    0021c2fdpop rbp
    0021c2fejmp 0x201620
    0021c1d0
    0021c303
    0021c303 // align 0x40
    0021c340
    0021c340fn_21c340:
    0021c340push r15
    0021c342push r14
    0021c344lea r14l, [rcx+2]
    0021c348push r13
    0021c34amovsxd r14, r14l
    0021c34dpush r12
    0021c34fpush rbp
    0021c350push rbx
    0021c351sub rsp, 72
    0021c355mov rax, [rip+0x59c8c]
    0021c35cmov rbp, [rip+0x15ca3d]
    0021c363mov [rsp+24], esi
    0021c367mov [rsp+40], r8
    0021c36cmov r12, [rbp+16]
    0021c370mov [rsp+32], edx
    0021c374mov [rsp+60], ecx
    0021c378mov [rsp+16], edi
    0021c37cmov rax, [rax]
    0021c380movsxd rax, [rax+288]
    0021c387imul r12, rax
    0021c38badd r12, [rbp+40]
    0021c38fadd r12, rbp
    0021c392imul rax, [rbp+24]
    0021c397add rax, [rbp+48]
    0021c39bmov rbx, [r12]
    0021c39fadd rbp, rax
    0021c3a2mov rdi, [r12+8]
    0021c3a7mov rdx, rdi
    0021c3aamov rax, [rip+0x15c9ef]
    0021c3b1mov [rsp+8], rdi
    0021c3b6mov r15, [rax+32]
    0021c3balea r13, [r15-1]
    0021c3beand rdx, r13
    0021c3c1mov [rsp+48], rdx
    0021c3c6sub r15, rdx
    0021c3c9call caml_time_counter
    0021c3cemov rdi, [rsp+8]
    0021c3d3mov rdx, [rsp+48]
    0021c3d8mov r10, rax
    0021c3dbmovsxd r11, [rip+0x15c9a2]
    0021c3e2lea r8, [r14+rdi]
    0021c3e6lea rsi, [8*rdx]
    0021c3eemov rax, r8
    0021c3f1lea r9, [rbp+rsi]
    0021c3f6sub rax, rbx
    0021c3f9cmp r15, r14
    0021c3fcjae 0x21c4e8
    0021c402add rax, r15
    0021c405cmp rax, r11
    0021c408jb 0x21c52d
    0021c40elea rcx, [r15+r8]
    0021c412mov rdi, r15
    0021c415nop [rax+rax]
    0021c420nop [rax+rax]
    0021c42bnop [rax+rax]
    0021c436nop [rax+rax]
    0021c440
    0021c440loc_21c440:
    0021c440mov rax, r13
    0021c443mov r11, rcx
    0021c446and rax, rbx
    0021c449mov rax, [rbp+8*rax]
    0021c44eshr rax, 54
    0021c452add rbx, rax
    0021c455mov [r12], rbx
    0021c459sub r11, rbx
    0021c45cmovsxd rax, [rip+0x15c921]
    0021c463cmp r11, rax
    0021c466jae 0x21c440
    0021c468
    0021c468loc_21c468:
    0021c468test rdi, rdi
    0021c46bjne 0x21c500
    0021c471
    0021c471loc_21c471:
    0021c471add rdx, 2
    0021c475add rsi, 8
    0021c479
    0021c479loc_21c479:
    0021c479mov rax, [rsp+24]
    0021c47emov rcx, [rsp+32]
    0021c483shl r14, 54
    0021c487shl rcx, 36
    0021c48bshl rax, 49
    0021c48for rax, rcx
    0021c492mov rcx, [rsp+16]
    0021c497shl rcx, 53
    0021c49bor rax, rcx
    0021c49eor r14, rax
    0021c4a1mov [r9], r14
    0021c4a4mov [rbp+rsi], r10
    0021c4a9mov rsi, [rsp+40]
    0021c4aetest rsi, rsi
    0021c4b1je 0x21c4d0
    0021c4b3lea rdi, [rbp+8*rdx]
    0021c4b8movsxd rdx, [rsp+60]
    0021c4bdmov [rsp+8], r8
    0021c4c2shl rdx, 3
    0021c4c6call fn_f47d0
    0021c4cbmov r8, [rsp+8]
    0021c4d0
    0021c4d0loc_21c4d0:
    0021c4d0mov [r12+8], r8
    0021c4d5add rsp, 72
    0021c4d9pop rbx
    0021c4dapop rbp
    0021c4dbpop r12
    0021c4ddpop r13
    0021c4dfpop r14
    0021c4e1pop r15
    0021c4e3ret
    0021c4e4
    0021c4e4 0f 1f 40 00 ..@.
    0021c4e8
    0021c4e8loc_21c4e8:
    0021c4e8mov rcx, r8
    0021c4ebxor edi, edi
    0021c4edcmp rax, r11
    0021c4f0jae 0x21c440
    0021c4f6jmp 0x21c471
    0021c4fb
    0021c4fb 0f 1f 44 00 00 ..D..
    0021c500
    0021c500loc_21c500:
    0021c500mov rax, r15
    0021c503mov rdi, [rsp+8]
    0021c508mov esi, 8
    0021c50dmov edx, 2
    0021c512shl rax, 54
    0021c516mov [r9], rax
    0021c519add rdi, r15
    0021c51cmov r9, rbp
    0021c51flea r8, [r14+rdi]
    0021c523mov [r12+8], rdi
    0021c528jmp 0x21c479
    0021c52d
    0021c52dloc_21c52d:
    0021c52dmov rdi, r15
    0021c530jmp 0x21c468
    0021c340
    0021c535
    0021c535 // align 0x10
    0021c540
    0021c540caml_runtime_events_post_fork:
    0021c540mov rax, [rip+0x15c82d]
    0021c547test rax, rax
    0021c54ajne 0x21c558
    0021c54cret
    0021c54ddb 0xc0
    0021c54ejne 0x21c558
    0021c550ret
    0021c551
    0021c551 0f 1f 80 00 00 00 00 .......
    0021c558
    0021c558loc_21c558:
    0021c558movsxd rsi, [rip+0x15c839]
    0021c55fmov rdi, [rip+0x15c83a]
    0021c566push rbx
    0021c567lea rbx, [rip+2578]
    0021c56ecall fn_f4610
    0021c573mov rdi, [rip+0x15c80e]
    0021c57acall caml_stat_free
    0021c57fmov [rip+0x15c816], 0
    0021c58amov [rip+0x15c7e3], 0
    0021c595jmp 0x21c5ac
    0021c597
    0021c597 66 0f 1f 84 00 00 00 00 00 f........
    0021c5a0
    0021c5a0loc_21c5a0:
    0021c5a0xor edx, edx
    0021c5a2xor esi, esi
    0021c5a4mov rdi, rbx
    0021c5a7call caml_try_run_on_all_domains
    0021c5ac
    0021c5acloc_21c5ac:
    0021c5acmov rax, [rip+0x15c7c5]
    0021c5b3test rax, rax
    0021c5b6je 0x21c5a0
    0021c5b8pop rbx
    0021c5b9ret
    0021c540
    0021c5ba
    0021c5ba // align 0x10
    0021c5c0
    0021c5c0caml_runtime_events_current_location:
    0021c5c0mov rax, [rip+0x15c7ad]
    0021c5c7test rax, rax
    0021c5caje 0x21c5e0
    0021c5ccmov rdi, [rip+0x15c7b1]
    0021c5d3jmp 0x2168e0
    0021c5d8db 0x04
    0021c5d9db 0xa3
    0021c5dadb 0xff
    0021c5dbdb 0xff
    0021c5dc
    0021c5dc 0f 1f 40 00 ..@.
    0021c5e0
    0021c5e0loc_21c5e0:
    0021c5e0xor eax, eax
    0021c5e2ret
    0021c5c0
    0021c5e3
    0021c5e3 // align 0x10
    0021c5f0
    0021c5f0caml_runtime_events_destroy:
    0021c5f0push rbp
    0021c5f1push rbx
    0021c5f2sub rsp, 24
    0021c5f6mov rax, [0x28]
    0021c5ffmov [rsp+8], rax
    0021c604mov rax, [rip+0x15c769]
    0021c60btest rax, rax
    0021c60ejne 0x21c630
    0021c610mov rax, [rsp+8]
    0021c615sub rax, [0x28]
    0021c61ejne 0x21c68b
    0021c620add rsp, 24
    0021c624pop rbx
    0021c625pop rbp
    0021c626ret
    0021c627db 0x18
    0021c628pop rbx
    0021c629pop rbp
    0021c62aret
    0021c62b
    0021c62b 0f 1f 44 00 00 ..D..
    0021c630
    0021c630loc_21c630:
    0021c630xor r8l, r8l
    0021c633xor ecx, ecx
    0021c635mov edx, 1
    0021c63axor edi, edi
    0021c63cmov esi, 1
    0021c641lea rbp, [rsp+4]
    0021c646lea rbx, [rip-1149]
    0021c64dcall fn_21c340
    0021c652mov edx, [rip+0x15c728]
    0021c658xor eax, eax
    0021c65atest edx, edx
    0021c65csete al
    0021c65fmov [rsp+4], eax
    0021c663nop [rax+rax]
    0021c66enop
    0021c670
    0021c670loc_21c670:
    0021c670xor edx, edx
    0021c672mov rsi, rbp
    0021c675mov rdi, rbx
    0021c678call caml_try_run_on_all_domains
    0021c67dmov rax, [rip+0x15c6f4]
    0021c684test rax, rax
    0021c687jne 0x21c670
    0021c689jmp 0x21c614
    0021c68b
    0021c68bloc_21c68b:
    0021c68bcall fn_f4590
    0021c5f0
    0021c690
    0021c690caml_runtime_events_start:
    0021c690push rbx
    0021c691lea rbx, [rip+2276]
    0021c698jmp 0x21c6ac
    0021c69adb 0x00
    0021c69badd bl, ch
    0021c69ddb 0x0e
    0021c69e
    0021c69e 66 90 f.
    0021c6a0
    0021c6a0loc_21c6a0:
    0021c6a0xor edx, edx
    0021c6a2xor esi, esi
    0021c6a4mov rdi, rbx
    0021c6a7call caml_try_run_on_all_domains
    0021c6ac
    0021c6acloc_21c6ac:
    0021c6acmov rax, [rip+0x15c6c5]
    0021c6b3test rax, rax
    0021c6b6je 0x21c6a0
    0021c6b8pop rbx
    0021c6b9ret
    0021c690
    0021c6ba
    0021c6ba // align 0x10
    0021c6c0
    0021c6c0caml_runtime_events_pause:
    0021c6c0sub rsp, 24
    0021c6c4mov rax, [0x28]
    0021c6cdmov [rsp+8], rax
    0021c6d2xor eax, eax
    0021c6d4mov rdx, [rip+0x15c699]
    0021c6dbtest rdx, rdx
    0021c6deje 0x21c708
    0021c6e0mov edx, 1
    0021c6e5lock cmpxchg [rip+0x15c67e], rdx
    0021c6eejne 0x21c708
    0021c6f0mov [rsp], 0
    0021c6f8mov rax, [rip+0x15c675]
    0021c6fftest rax, rax
    0021c702jne 0x21c720
    0021c704mov rax, [rsp+8]
    0021c709sub rax, [0x28]
    0021c712jne 0x21c747
    0021c714add rsp, 24
    0021c718ret
    0021c719db 0x83
    0021c71adb 0xc4
    0021c71bsbb bl, al
    0021c71d
    0021c71d 0f 1f 00 ...
    0021c720
    0021c720loc_21c720:
    0021c720mov rax, [rip+0x15c649]
    0021c727test rax, rax
    0021c72ajne 0x21c708
    0021c72cmov r8, rsp
    0021c72fmov ecx, 1
    0021c734mov edx, 2
    0021c739xor edi, edi
    0021c73bmov esi, 1
    0021c740call fn_21c340
    0021c745jmp 0x21c708
    0021c747
    0021c747loc_21c747:
    0021c747call fn_f4590
    0021c6c0
    0021c74c
    0021c74c // align 0x10
    0021c750
    0021c750caml_runtime_events_resume:
    0021c750sub rsp, 24
    0021c754mov rdx, [0x28]
    0021c75dmov [rsp+8], rdx
    0021c762xor edx, edx
    0021c764mov rax, [rip+0x15c609]
    0021c76btest rax, rax
    0021c76eje 0x21c798
    0021c770mov eax, 1
    0021c775lock cmpxchg [rip+0x15c5ee], rdx
    0021c77ejne 0x21c798
    0021c780mov [rsp], 0
    0021c788mov rax, [rip+0x15c5e5]
    0021c78ftest rax, rax
    0021c792jne 0x21c7b0
    0021c794mov rax, [rsp+8]
    0021c799sub rax, [0x28]
    0021c7a2jne 0x21c7d7
    0021c7a4add rsp, 24
    0021c7a8ret
    0021c7a9db 0x83
    0021c7aadb 0xc4
    0021c7absbb bl, al
    0021c7ad
    0021c7ad 0f 1f 00 ...
    0021c7b0
    0021c7b0loc_21c7b0:
    0021c7b0mov rax, [rip+0x15c5b9]
    0021c7b7test rax, rax
    0021c7bajne 0x21c798
    0021c7bcmov r8, rsp
    0021c7bfmov ecx, 1
    0021c7c4mov edx, 3
    0021c7c9xor edi, edi
    0021c7cbmov esi, 1
    0021c7d0call fn_21c340
    0021c7d5jmp 0x21c798
    0021c7d7
    0021c7d7loc_21c7d7:
    0021c7d7call fn_f4590
    0021c750
    0021c7dc
    0021c7dc // align 0x10
    0021c7e0
    0021c7e0caml_runtime_events_are_active:
    0021c7e0mov rdx, [rip+0x15c58d]
    0021c7e7xor eax, eax
    0021c7e9test rdx, rdx
    0021c7ecjne 0x21c7f8
    0021c7eeret
    0021c7efdb 0xd2
    0021c7f0jne 0x21c7f8
    0021c7f2ret
    0021c7f3
    0021c7f3 0f 1f 44 00 00 ..D..
    0021c7f8
    0021c7f8loc_21c7f8:
    0021c7f8mov rax, [rip+0x15c571]
    0021c7fftest rax, rax
    0021c802sete al
    0021c805movzx eax, al
    0021c808ret
    0021c7e0
    0021c809
    0021c809 // align 0x10
    0021c810
    0021c810caml_ml_runtime_events_start:
    0021c810push rbx
    0021c811lea rbx, [rip+1892]
    0021c818jmp 0x21c82c
    0021c81adb 0x00
    0021c81badd bl, ch
    0021c81ddb 0x0e
    0021c81e
    0021c81e 66 90 f.
    0021c820
    0021c820loc_21c820:
    0021c820xor edx, edx
    0021c822xor esi, esi
    0021c824mov rdi, rbx
    0021c827call caml_try_run_on_all_domains
    0021c82c
    0021c82cloc_21c82c:
    0021c82cmov rax, [rip+0x15c545]
    0021c833test rax, rax
    0021c836je 0x21c820
    0021c838mov eax, 1
    0021c83dpop rbx
    0021c83eret
    0021c810
    0021c83f
    0021c83f // align 0x10
    0021c840
    0021c840caml_ml_runtime_events_pause:
    0021c840sub rsp, 24
    0021c844mov rax, [0x28]
    0021c84dmov [rsp+8], rax
    0021c852xor eax, eax
    0021c854mov rdx, [rip+0x15c519]
    0021c85btest rdx, rdx
    0021c85eje 0x21c888
    0021c860mov edx, 1
    0021c865lock cmpxchg [rip+0x15c4fe], rdx
    0021c86ejne 0x21c888
    0021c870mov [rsp], 0
    0021c878mov rax, [rip+0x15c4f5]
    0021c87ftest rax, rax
    0021c882jne 0x21c8a8
    0021c884mov rax, [rsp+8]
    0021c889sub rax, [0x28]
    0021c892jne 0x21c8cf
    0021c894mov eax, 1
    0021c899add rsp, 24
    0021c89dret
    0021c89edb 0x83
    0021c89fdb 0xc4
    0021c8a0sbb bl, al
    0021c8a2
    0021c8a2 66 0f 1f 44 00 00 f..D..
    0021c8a8
    0021c8a8loc_21c8a8:
    0021c8a8mov rax, [rip+0x15c4c1]
    0021c8aftest rax, rax
    0021c8b2jne 0x21c888
    0021c8b4mov r8, rsp
    0021c8b7mov ecx, 1
    0021c8bcmov edx, 2
    0021c8c1xor edi, edi
    0021c8c3mov esi, 1
    0021c8c8call fn_21c340
    0021c8cdjmp 0x21c888
    0021c8cf
    0021c8cfloc_21c8cf:
    0021c8cfcall fn_f4590
    0021c840
    0021c8d4
    0021c8d4 // align 0x10
    0021c8e0
    0021c8e0caml_ml_runtime_events_resume:
    0021c8e0sub rsp, 24
    0021c8e4mov rdx, [0x28]
    0021c8edmov [rsp+8], rdx
    0021c8f2xor edx, edx
    0021c8f4mov rax, [rip+0x15c479]
    0021c8fbtest rax, rax
    0021c8feje 0x21c928
    0021c900mov eax, 1
    0021c905lock cmpxchg [rip+0x15c45e], rdx
    0021c90ejne 0x21c928
    0021c910mov [rsp], 0
    0021c918mov rax, [rip+0x15c455]
    0021c91ftest rax, rax
    0021c922jne 0x21c948
    0021c924mov rax, [rsp+8]
    0021c929sub rax, [0x28]
    0021c932jne 0x21c96f
    0021c934mov eax, 1
    0021c939add rsp, 24
    0021c93dret
    0021c93edb 0x83
    0021c93fdb 0xc4
    0021c940sbb bl, al
    0021c942
    0021c942 66 0f 1f 44 00 00 f..D..
    0021c948
    0021c948loc_21c948:
    0021c948mov rax, [rip+0x15c421]
    0021c94ftest rax, rax
    0021c952jne 0x21c928
    0021c954mov r8, rsp
    0021c957mov ecx, 1
    0021c95cmov edx, 3
    0021c961xor edi, edi
    0021c963mov esi, 1
    0021c968call fn_21c340
    0021c96djmp 0x21c928
    0021c96f
    0021c96floc_21c96f:
    0021c96fcall fn_f4590
    0021c8e0
    0021c974
    0021c974 // align 0x10
    0021c980
    0021c980caml_ml_runtime_events_path:
    0021c980push r12
    0021c982push rbp
    0021c983push rbx
    0021c984sub rsp, 96
    0021c988mov rax, [0x28]
    0021c991mov [rsp+88], rax
    0021c996mov rax, [rip+0x59647]
    0021c99dmov rbx, [rax]
    0021c9a1lea rax, [rsp+16]
    0021c9a6mov [rsp+8], 1
    0021c9afmov rbp, [rbx+160]
    0021c9b6mov [rbx+160], rax
    0021c9bdmov eax, 1
    0021c9c2movq x0, rax
    0021c9c7lea rax, [rsp+8]
    0021c9ccmov [rsp+16], rbp
    0021c9d1punpcklqdq x0, x0
    0021c9d5mov [rsp+40], rax
    0021c9damovups [rsp+24], x0
    0021c9dfmov rax, [rip+0x15c38e]
    0021c9e6test rax, rax
    0021c9e9jne 0x21ca18
    0021c9ebmov rax, [rsp+8]
    0021c9f0mov [rbx+160], rbp
    0021c9f7mov rdx, [rsp+88]
    0021c9fcsub rdx, [0x28]
    0021ca05jne 0x21ca51
    0021ca07add rsp, 96
    0021ca0bpop rbx
    0021ca0cpop rbp
    0021ca0dpop r12
    0021ca0fret
    0021ca10db 0x5d
    0021ca11pop r12
    0021ca13ret
    0021ca14
    0021ca14 0f 1f 40 00 ..@.
    0021ca18
    0021ca18loc_21ca18:
    0021ca18xor esi, esi
    0021ca1amov edi, 1
    0021ca1fcall caml_alloc_small
    0021ca24mov [rsp+8], rax
    0021ca29mov rdx, [rip+0x15c348]
    0021ca30mov eax, 1
    0021ca35test rdx, rdx
    0021ca38je 0x21c9f4
    0021ca3amov rdi, [rip+0x15c347]
    0021ca41mov r12, [rsp+8]
    0021ca46call caml_copy_string
    0021ca4bmov [r12], rax
    0021ca4fjmp 0x21c9ef
    0021ca51
    0021ca51loc_21ca51:
    0021ca51call fn_f4590
    0021c980
    0021ca56
    0021ca56 // align 0x10
    0021ca60
    0021ca60caml_ml_runtime_events_are_active:
    0021ca60mov rax, [rip+0x15c30d]
    0021ca67test rax, rax
    0021ca6ajne 0x21ca80
    0021ca6cmov eax, 1
    0021ca71ret
    0021ca72db 0x00
    0021ca73add [rax], al
    0021ca75ret
    0021ca76
    0021ca76 66 2e 0f 1f 84 00 00 00 00 00 f.........
    0021ca80
    0021ca80loc_21ca80:
    0021ca80mov rdx, [rip+0x15c2e9]
    0021ca87mov eax, 3
    0021ca8ctest rdx, rdx
    0021ca8fjne 0x21ca70
    0021ca91ret
    0021ca60
    0021ca92
    0021ca92 // align 0x10
    0021caa0
    0021caa0caml_ev_begin:
    0021caa0mov rax, [rip+0x15c2cd]
    0021caa7test rax, rax
    0021caaajne 0x21cab8
    0021caacret
    0021caaddb 0xc0
    0021caaejne 0x21cab8
    0021cab0
    0021cab0loc_21cab0:
    0021cab0ret
    0021cab1
    0021cab1 0f 1f 80 00 00 00 00 .......
    0021cab8
    0021cab8loc_21cab8:
    0021cab8mov rax, [rip+0x15c2b1]
    0021cabftest rax, rax
    0021cac2jne 0x21cab0
    0021cac4mov edx, edi
    0021cac6xor r8l, r8l
    0021cac9xor ecx, ecx
    0021cacbmov esi, 2
    0021cad0xor edi, edi
    0021cad2jmp 0x21c340
    0021caa0
    0021cad7
    0021cad7 // align 0x10
    0021cae0
    0021cae0caml_ev_end:
    0021cae0mov rax, [rip+0x15c28d]
    0021cae7test rax, rax
    0021caeajne 0x21caf8
    0021caecret
    0021caeddb 0xc0
    0021caeejne 0x21caf8
    0021caf0
    0021caf0loc_21caf0:
    0021caf0ret
    0021caf1
    0021caf1 0f 1f 80 00 00 00 00 .......
    0021caf8
    0021caf8loc_21caf8:
    0021caf8mov rax, [rip+0x15c271]
    0021cafftest rax, rax
    0021cb02jne 0x21caf0
    0021cb04mov edx, edi
    0021cb06xor r8l, r8l
    0021cb09xor ecx, ecx
    0021cb0bmov esi, 3
    0021cb10xor edi, edi
    0021cb12jmp 0x21c340
    0021cae0
    0021cb17
    0021cb17 // align 0x10
    0021cb20
    0021cb20caml_ev_counter:
    0021cb20sub rsp, 24
    0021cb24mov rax, [0x28]
    0021cb2dmov [rsp+8], rax
    0021cb32mov rax, [rip+0x15c23b]
    0021cb39test rax, rax
    0021cb3cjne 0x21cb60
    0021cb3emov rax, [rsp+8]
    0021cb43sub rax, [0x28]
    0021cb4cjne 0x21cb88
    0021cb4eadd rsp, 24
    0021cb52ret
    0021cb53db 0x83
    0021cb54db 0xc4
    0021cb55sbb bl, al
    0021cb57
    0021cb57 66 0f 1f 84 00 00 00 00 00 f........
    0021cb60
    0021cb60loc_21cb60:
    0021cb60mov rax, [rip+0x15c209]
    0021cb67test rax, rax
    0021cb6ajne 0x21cb42
    0021cb6cmov [rsp], rsi
    0021cb70mov edx, edi
    0021cb72mov r8, rsp
    0021cb75mov ecx, 1
    0021cb7amov esi, 4
    0021cb7fxor edi, edi
    0021cb81call fn_21c340
    0021cb86jmp 0x21cb42
    0021cb88
    0021cb88loc_21cb88:
    0021cb88call fn_f4590
    0021cb20
    0021cb8d
    0021cb8d // align 0x10
    0021cb90
    0021cb90caml_ev_lifecycle:
    0021cb90sub rsp, 24
    0021cb94mov [rsp+8], rsi
    0021cb99mov rax, [rip+0x15c1d4]
    0021cba0test rax, rax
    0021cba3jne 0x21cbb0
    0021cba5add rsp, 24
    0021cba9
    0021cba9loc_21cba9:
    0021cba9ret
    0021cbaadb 0x83
    0021cbabdb 0xc4
    0021cbacsbb bl, al
    0021cbae
    0021cbae 66 90 f.
    0021cbb0
    0021cbb0loc_21cbb0:
    0021cbb0mov rax, [rip+0x15c1b9]
    0021cbb7test rax, rax
    0021cbbajne 0x21cba9
    0021cbbclea r8, [rsp+8]
    0021cbc1mov edx, edi
    0021cbc3mov ecx, 1
    0021cbc8xor edi, edi
    0021cbcamov esi, 1
    0021cbcfcall fn_21c340
    0021cbd4add rsp, 24
    0021cbd8ret
    0021cb90
    0021cbd9
    0021cbd9 // align 0x40
    0021cc00
    0021cc00fn_21cc00:
    0021cc00push r13
    0021cc02push r12
    0021cc04push rbp
    0021cc05push rbx
    0021cc06sub rsp, 8
    0021cc0acall fn_f42f0
    0021cc0fmov edi, 1024
    0021cc14movsxd rbp, eax
    0021cc17call caml_stat_alloc
    0021cc1cmov r9, [rip+0x15c16d]
    0021cc23mov [rip+0x15c15e], rax
    0021cc2amov rdi, rax
    0021cc2dtest r9, r9
    0021cc30je 0x21ce50
    0021cc36sub rsp, 8
    0021cc3amov edx, 1
    0021cc3fmov esi, 1024
    0021cc44xor eax, eax
    0021cc46push rbp
    0021cc47lea r8, [rip+0x12777]
    0021cc4emov rcx, -1
    0021cc55call fn_f46b0
    0021cc5apop rax
    0021cc5bpop rdx
    0021cc5c
    0021cc5cloc_21cc5c:
    0021cc5cmov rbx, [rip+0x58cf5]
    0021cc63mov edx, 384
    0021cc68mov esi, 66
    0021cc6dmovsxd rax, [rip+0x15c110]
    0021cc74mov rdi, [rip+0x15c10d]
    0021cc7badd rax, 10
    0021cc7fimul rax, [rbx+160]
    0021cc87lea eax, [8*rax+0x100040]
    0021cc8emov [rip+0x15c104], eax
    0021cc94xor eax, eax
    0021cc96call fn_f4470
    0021cc9bmov r12l, eax
    0021cc9etest eax, eax
    0021cca0js 0x21cead
    0021cca6movsxd r13, [rip+0x15c0eb]
    0021ccadmov edi, eax
    0021ccafmov rsi, r13
    0021ccb2call fn_f44b0
    0021ccb7test eax, eax
    0021ccb9js 0x21ce9f
    0021ccbfxor r9l, r9l
    0021ccc2mov r8l, r12l
    0021ccc5mov ecx, 1
    0021cccamov edx, 3
    0021cccfmov rsi, r13
    0021ccd2xor edi, edi
    0021ccd4call fn_f4110
    0021ccd9mov [rip+0x15c0c0], rax
    0021cce0test rax, rax
    0021cce3je 0x21ce93
    0021cce9mov edi, r12l
    0021cceccall fn_f4140
    0021ccf1mov rdx, [rip+0x15c0a8]
    0021ccf8mov rsi, [rbx+160]
    0021ccffmov eax, [rip+0x15c07f]
    0021cd05mov [rdx], 1
    0021cd0cmov rcx, [rbx+160]
    0021cd13mov [rdx+16], 80
    0021cd1bmov [rdx+8], rcx
    0021cd1fmovsxd rcx, eax
    0021cd22imul eax, esi
    0021cd25mov [rdx+32], rcx
    0021cd29lea rdi, [8*rcx]
    0021cd31lea ecx, [rsi+4*rsi]
    0021cd34shl ecx, 4
    0021cd37mov [rdx+24], rdi
    0021cd3bshl eax, 3
    0021cd3emovsxd rcx, ecx
    0021cd41mov [rdx+40], 64
    0021cd49add rcx, 64
    0021cd4dcdqe
    0021cd4fadd rax, rcx
    0021cd52mov [rdx+48], rcx
    0021cd56mov [rdx+56], rax
    0021cd5acmp [rbx+160], 0
    0021cd62je 0x21cdb5
    0021cd64mov edi, 64
    0021cd69xor ecx, ecx
    0021cd6bxor eax, eax
    0021cd6dxor esi, esi
    0021cd6fjmp 0x21cd8b
    0021cd71
    0021cd71 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 ff...........@.
    0021cd80
    0021cd80loc_21cd80:
    0021cd80mov rdx, [rip+0x15c019]
    0021cd87mov rdi, [rdx+40]
    0021cd8b
    0021cd8bloc_21cd8b:
    0021cd8blea rax, [rax+4*rax]
    0021cd8fshl rax, 4
    0021cd93add rax, rdi
    0021cd96add rax, rdx
    0021cd99mov rdx, rsi
    0021cd9cxchg [rax], rdx
    0021cd9fmov rdx, rsi
    0021cda2xchg [rax+8], rdx
    0021cda6add ecx, 1
    0021cda9movsxd rax, ecx
    0021cdaccmp rax, [rbx+160]
    0021cdb3jb 0x21cd80
    0021cdb5
    0021cdb5loc_21cdb5:
    0021cdb5lea r12, [rip+0x15bf84]
    0021cdbcmov rdi, r12
    0021cdbfcall fn_f4710
    0021cdc4test eax, eax
    0021cdc6jne 0x21ce85
    0021cdccmov rbx, [rip+0x15b5dd]
    0021cdd3mov rdi, r12
    0021cdd6mov [rip+0x15bf97], 1
    0021cde1call fn_f47c0
    0021cde6test eax, eax
    0021cde8jne 0x21ce77
    0021cdeemov rsi, rbp
    0021cdf1xor edi, edi
    0021cdf3mov [rip+0x15bf72], 0
    0021cdfecall caml_ev_lifecycle
    0021ce03mov rbp, [rip+0x15bf96]
    0021ce0atest bl, 1
    0021ce0djne 0x21ce3e
    0021ce0fnop
    0021ce10
    0021ce10loc_21ce10:
    0021ce10mov rax, [rbx]
    0021ce13mov edx, 127
    0021ce18mov rsi, [rax+8]
    0021ce1cmov rdi, [rax]
    0021ce1fsar rdi, 1
    0021ce22movsxd rdi, edi
    0021ce25shl rdi, 7
    0021ce29add rdi, [rbp+56]
    0021ce2dadd rdi, rbp
    0021ce30call fn_f4630
    0021ce35mov rbx, [rbx+8]
    0021ce39test bl, 1
    0021ce3cje 0x21ce10
    0021ce3e
    0021ce3eloc_21ce3e:
    0021ce3eadd rsp, 8
    0021ce42pop rbx
    0021ce43pop rbp
    0021ce44pop r12
    0021ce46pop r13
    0021ce48ret
    0021ce49
    0021ce49 0f 1f 80 00 00 00 00 .......
    0021ce50
    0021ce50loc_21ce50:
    0021ce50mov r9, rbp
    0021ce53mov edx, 1
    0021ce58mov esi, 1024
    0021ce5dxor eax, eax
    0021ce5flea r8, [rip+0x12562]
    0021ce66mov rcx, -1
    0021ce6dcall fn_f46b0
    0021ce72jmp 0x21cc5c
    0021ce77
    0021ce77loc_21ce77:
    0021ce77mov esi, eax
    0021ce79lea rdi, [rip+0x1269a]
    0021ce80call caml_plat_fatal_error
    0021ce85
    0021ce85loc_21ce85:
    0021ce85mov esi, eax
    0021ce87lea rdi, [rip+0x12681]
    0021ce8ecall caml_plat_fatal_error
    0021ce93
    0021ce93loc_21ce93:
    0021ce93lea rdi, [rip+0x12552]
    0021ce9acall caml_fatal_error
    0021ce9f
    0021ce9floc_21ce9f:
    0021ce9flea rdi, [rip+0x1252d]
    0021cea6xor eax, eax
    0021cea8call caml_fatal_error
    0021cead
    0021ceadloc_21cead:
    0021ceadmov rsi, [rip+0x15bed4]
    0021ceb4lea rdi, [rip+0x142fd]
    0021cebbxor eax, eax
    0021cebdcall caml_fatal_error
    0021cc00
    0021cec2
    0021cec2 // align 0x10
    0021ced0
    0021ced0caml_runtime_events_init:
    0021ced0sub rsp, 8
    0021ced4lea rdi, [rip+0x15be61]
    0021cedbcall caml_plat_mutex_init
    0021cee0lea rdi, [rip+0x15b4c5]
    0021cee7call caml_register_generational_global_root
    0021ceeclea rdi, [rip+0x12510]
    0021cef3call caml_secure_getenv
    0021cef8mov [rip+0x15be8d], rax
    0021cefftest rax, rax
    0021cf02je 0x21cf17
    0021cf04mov rdi, rax
    0021cf07call caml_stat_strdup
    0021cf0cmov [rip+0x15be79], rax
    0021cf13mov rax, [rip+0x58a3a]
    0021cf1alea rdi, [rip+0x124fb]
    0021cf21mov rcx, [rax+48]
    0021cf25mov eax, 1
    0021cf2ashl eax, cl
    0021cf2cmov [rip+0x15be4e], eax
    0021cf32call caml_secure_getenv
    0021cf37lea rdi, [rip+0x124fc]
    0021cf3etest rax, rax
    0021cf41setne al
    0021cf44movzx eax, al
    0021cf47mov [rip+0x15be2f], eax
    0021cf4dcall caml_secure_getenv
    0021cf52test rax, rax
    0021cf55je 0x21cf67
    0021cf57mov rax, [rip+0x15be16]
    0021cf5etest rax, rax
    0021cf61je 0x21cf70
    0021cf63add rsp, 8
    0021cf67
    0021cf67loc_21cf67:
    0021cf67ret
    0021cf68db 0x83
    0021cf69db 0xc4
    0021cf6aor bl, al
    0021cf6c
    0021cf6c 0f 1f 40 00 ..@.
    0021cf70
    0021cf70loc_21cf70:
    0021cf70add rsp, 8
    0021cf74jmp 0x21cc00
    0021ced0
    0021cf79
    0021cf79 // align 0x10
    0021cf80
    0021cf80fn_21cf80:
    0021cf80cmp edx, 1
    0021cf83je 0x21cfb8
    0021cf85push rbx
    0021cf86mov edi, edx
    0021cf88call caml_global_barrier_and_check_final
    0021cf8dmov rbx, rax
    0021cf90test rax, rax
    0021cf93je 0x21cfb0
    0021cf95mov rax, [rip+0x15bdd8]
    0021cf9ctest rax, rax
    0021cf9fje 0x21cfd0
    0021cfa1mov rdi, rbx
    0021cfa4pop rbx
    0021cfa5jmp 0x201620
    0021cfaadb 0x72
    0021cfabdb 0x46
    0021cfacdb 0xfe
    0021cfaddb 0xff
    0021cfae
    0021cfae 66 90 f.
    0021cfb0
    0021cfb0loc_21cfb0:
    0021cfb0pop rbx
    0021cfb1ret
    0021cfb2
    0021cfb2 66 0f 1f 44 00 00 f..D..
    0021cfb8
    0021cfb8loc_21cfb8:
    0021cfb8mov rax, [rip+0x15bdb9]
    0021cfbftest rax, rax
    0021cfc2je 0x21cfc8
    0021cfc4ret
    0021cfc5
    0021cfc5 0f 1f 00 ...
    0021cfc8
    0021cfc8loc_21cfc8:
    0021cfc8jmp 0x21cc00
    0021cfcd
    0021cfcd 0f 1f 00 ...
    0021cfd0
    0021cfd0loc_21cfd0:
    0021cfd0call fn_21cc00
    0021cfd5mov rdi, rbx
    0021cfd8pop rbx
    0021cfd9jmp 0x201620
    0021cf80
    0021cfde
    0021cfde // align 0x10
    0021cfe0
    0021cfe0caml_ev_alloc:
    0021cfe0mov rax, [rip+0x15bd8d]
    0021cfe7test rax, rax
    0021cfeajne 0x21cff8
    0021cfecret
    0021cfeddb 0xc0
    0021cfeejne 0x21cff8
    0021cff0
    0021cff0loc_21cff0:
    0021cff0ret
    0021cff1
    0021cff1 0f 1f 80 00 00 00 00 .......
    0021cff8
    0021cff8loc_21cff8:
    0021cff8mov rax, [rip+0x15bd71]
    0021cffftest rax, rax
    0021d002jne 0x21cff0
    0021d004cmp rdi, 9
    0021d008ja 0x21d020
    0021d00alea rax, [rip+0x15bc8f]
    0021d011add [rax+8*rdi], 1
    0021d016ret
    0021d017
    0021d017 66 0f 1f 84 00 00 00 00 00 f........
    0021d020
    0021d020loc_21d020:
    0021d020lea rax, [rdi-10]
    0021d024cmp rax, 89
    0021d028ja 0x21d050
    0021d02amov rax, 0xcccccccccccccccd
    0021d034mul rdi
    0021d037lea rax, [rip+0x15bc62]
    0021d03eshr rdx, 3
    0021d042add [rax+8*rdx+72], 1
    0021d048ret
    0021d049
    0021d049 0f 1f 80 00 00 00 00 .......
    0021d050
    0021d050loc_21d050:
    0021d050add [rip+0x15bce0], 1
    0021d058ret
    0021cfe0
    0021d059
    0021d059 // align 0x10
    0021d060
    0021d060caml_ev_alloc_flush:
    0021d060mov rax, [rip+0x15bd0d]
    0021d067test rax, rax
    0021d06ajne 0x21d078
    0021d06cret
    0021d06ddb 0xc0
    0021d06ejne 0x21d078
    0021d070ret
    0021d071
    0021d071 0f 1f 80 00 00 00 00 .......
    0021d078
    0021d078loc_21d078:
    0021d078push rbx
    0021d079mov rbx, [rip+0x15bcf0]
    0021d080test rbx, rbx
    0021d083jne 0x21d0b4
    0021d085mov ecx, 20
    0021d08axor edx, edx
    0021d08cxor edi, edi
    0021d08emov esi, 5
    0021d093lea r8, [rip+0x15bc06]
    0021d09acall fn_21c340
    0021d09flea rdx, [rip+0x15bc02]
    0021d0a6mov ecx, 19
    0021d0abmov rax, rbx
    0021d0aemov rdi, rdx
    0021d0b1rep stosq [rdi], rax
    0021d0b4
    0021d0b4loc_21d0b4:
    0021d0b4pop rbx
    0021d0b5ret
    0021d060
    0021d0b6
    0021d0b6 // align 0x10
    0021d0c0
    0021d0c0caml_runtime_events_user_register:
    0021d0c0push r13
    0021d0c2push r12
    0021d0c4push rbp
    0021d0c5push rbx
    0021d0c6mov ebx, 1
    0021d0cbsub rsp, 200
    0021d0d2movdqa x0, [rip+53250]
    0021d0damov [rsp+24], rdi
    0021d0dfmov [rsp+16], rsi
    0021d0e4mov [rsp+8], rdx
    0021d0e9mov rax, [0x28]
    0021d0f2mov [rsp+184], rax
    0021d0famov rax, [rip+0x58ee3]
    0021d101mov rbp, [rax]
    0021d105lea rax, [rsp+24]
    0021d10amovups [rsp+56], x0
    0021d10fmov [rsp+32], 1
    0021d118movq x0, rax
    0021d11dlea rax, [rsp+16]
    0021d122movq x1, rax
    0021d127lea rax, [rsp+8]
    0021d12cmov r12, [rbp+160]
    0021d133mov [rsp+40], 1
    0021d13cpunpcklqdq x0, x1
    0021d140mov [rsp+88], rax
    0021d145lea rax, [rsp+48]
    0021d14amov [rsp+112], rax
    0021d14flea rax, [rsp+112]
    0021d154movups [rsp+72], x0
    0021d159movdqa x0, [rip+53099]
    0021d161mov [rbp+160], rax
    0021d168lea rax, [rsp+32]
    0021d16dmovups [rsp+120], x0
    0021d172movq x0, rax
    0021d177lea rax, [rsp+40]
    0021d17cmovq x2, rax
    0021d181mov [rsp+48], r12
    0021d186punpcklqdq x0, x2
    0021d18amovups [rsp+136], x0
    0021d192lock xadd [rip+0x15bbc9], rbx
    0021d19bcmp ebx, 8192
    0021d1a1jg 0x21d2fc
    0021d1a7mov rdi, [rsp+24]
    0021d1accall caml_string_length
    0021d1b1cmp eax, 127
    0021d1b4jg 0x21d2f0
    0021d1bamov rdi, [rsp+24]
    0021d1bfcall caml_string_is_c_safe
    0021d1c4test eax, eax
    0021d1c6je 0x21d2e4
    0021d1ccxor esi, esi
    0021d1cemov edi, 4
    0021d1d3movsxd rbx, ebx
    0021d1d6call caml_alloc_small
    0021d1dblea rdx, [rbx+rbx+1]
    0021d1e0lea r13, [rip+0x15bb55]
    0021d1e7mov [rsp+40], rax
    0021d1ecmov rdi, r13
    0021d1efmov [rax], rdx
    0021d1f2mov rdx, [rsp+24]
    0021d1f7mov rax, [rsp+40]
    0021d1fcmov [rax+8], rdx
    0021d200mov rdx, [rsp+8]
    0021d205mov rax, [rsp+40]
    0021d20amov [rax+16], rdx
    0021d20emov rdx, [rsp+16]
    0021d213mov rax, [rsp+40]
    0021d218mov [rax+24], rdx
    0021d21ccall fn_f4710
    0021d221test eax, eax
    0021d223jne 0x21d2d6
    0021d229mov rax, [rip+0x15bb44]
    0021d230test rax, rax
    0021d233jne 0x21d2b0
    0021d235xor esi, esi
    0021d237mov edi, 2
    0021d23ccall caml_alloc_small
    0021d241mov rdx, [rsp+40]
    0021d246lea rdi, [rip+0x15b15f]
    0021d24dmov [rsp+32], rax
    0021d252mov [rax], rdx
    0021d255mov rdx, [rip+0x15b150]
    0021d25cmov rax, [rsp+32]
    0021d261mov [rax+8], rdx
    0021d265mov rsi, [rsp+32]
    0021d26acall caml_modify_generational_global_root
    0021d26fmov rdi, r13
    0021d272call fn_f47c0
    0021d277test eax, eax
    0021d279jne 0x21d30d
    0021d27fmov [rbp+160], r12
    0021d286mov rax, [rsp+40]
    0021d28bmov rdx, [rsp+184]
    0021d293sub rdx, [0x28]
    0021d29cjne 0x21d308
    0021d29eadd rsp, 200
    0021d2a5pop rbx
    0021d2a6pop rbp
    0021d2a7pop r12
    0021d2a9pop r13
    0021d2abret
    0021d2acmov rdi, [rip+0x15bae9]
    0021d2b3shl rbx, 7
    0021d2b7mov rsi, [rsp+24]
    0021d2bcmov edx, 127
    0021d2c1add rbx, [rdi+56]
    0021d2c5add rdi, rbx
    0021d2c8call fn_f4630
    0021d2cdjmp 0x21d239
    0021d2d2mov esi, eax
    0021d2d4lea rdi, [rip+0x12230]
    0021d2dbcall caml_plat_fatal_error
    0021d2e0lea rdi, [rip+0x13f85]
    0021d2e7call caml_invalid_argument
    0021d2eclea rdi, [rip+0x13f31]
    0021d2f3call caml_invalid_argument
    0021d2f8lea rdi, [rip+0x13edd]
    0021d2ffcall caml_invalid_argument
    0021d304call fn_f4590
    0021d309mov esi, eax
    0021d30blea rdi, [rip+0x12204]
    0021d312call caml_plat_fatal_error
    0021d317db 0xb5
    0021d318out 255, al
    0021d31adb 0xff
    0021d0c0
    0021d31b
    0021d31b // align 0x10
    0021d320
    0021d320caml_runtime_events_user_write:
    0021d320push rbp
    0021d321push rbx
    0021d322sub rsp, 216
    0021d329movdqa x1, [rip+52651]
    0021d331mov [rsp+24], rdi
    0021d336mov [rsp+16], rsi
    0021d33bmov [rsp+8], rdx
    0021d340mov rax, [0x28]
    0021d349mov [rsp+200], rax
    0021d351mov rax, [rip+0x58c8c]
    0021d358mov rbx, [rax]
    0021d35clea rax, [rsp+24]
    0021d361mov [rsp+32], 1
    0021d36amovq x0, rax
    0021d36flea rax, [rsp+16]
    0021d374mov [rsp+40], 1
    0021d37dmovq x2, rax
    0021d382lea rax, [rsp+8]
    0021d387mov rbp, [rbx+160]
    0021d38emov [rsp+48], 1
    0021d397mov [rsp+104], rax
    0021d39clea rax, [rsp+64]
    0021d3a1punpcklqdq x0, x2
    0021d3a5mov [rsp+128], rax
    0021d3adlea rax, [rsp+128]
    0021d3b5mov [rbx+160], rax
    0021d3bclea rax, [rsp+32]
    0021d3c1movups [rsp+88], x0
    0021d3c6movq x0, rax
    0021d3cblea rax, [rsp+40]
    0021d3d0movq x3, rax
    0021d3d5lea rax, [rsp+48]
    0021d3damov [rsp+64], rbp
    0021d3dfpunpcklqdq x0, x3
    0021d3e3mov [rsp+168], rax
    0021d3ebmovups [rsp+72], x1
    0021d3f0movups [rsp+136], x1
    0021d3f8movups [rsp+152], x0
    0021d400mov rax, [rip+0x15b96d]
    0021d407test rax, rax
    0021d40ajne 0x21d440
    0021d40cmov [rbx+160], rbp
    0021d413mov rax, [rsp+200]
    0021d41bsub rax, [0x28]
    0021d424jne 0x21d580
    0021d42aadd rsp, 216
    0021d431mov eax, 1
    0021d436pop rbx
    0021d437pop rbp
    0021d438ret
    0021d439db 0x00
    0021d43apop rbx
    0021d43bpop rbp
    0021d43cret
    0021d43d
    0021d43d 0f 1f 00 ...
    0021d440
    0021d440loc_21d440:
    0021d440mov rax, [rip+0x15b929]
    0021d447test rax, rax
    0021d44ajne 0x21d410
    0021d44cmov rdx, [rsi]
    0021d44fmov [rsp+32], rdx
    0021d454mov rax, [rsi+16]
    0021d458mov [rsp+40], rax
    0021d45dtest al, 1
    0021d45fje 0x21d4a8
    0021d461sar rax, 1
    0021d464test eax, eax
    0021d466je 0x21d530
    0021d46ccmp eax, 1
    0021d46fje 0x21d550
    0021d475cmp eax, 2
    0021d478jne 0x21d410
    0021d47amov rax, [rsp+8]
    0021d47fmov esi, 2
    0021d484mov edi, 1
    0021d489sar rax, 1
    0021d48ccmp eax, 1
    0021d48fsbb esi, -1
    0021d492sar rdx, 1
    0021d495xor r8l, r8l
    0021d498xor ecx, ecx
    0021d49acall fn_21c340
    0021d49fjmp 0x21d410
    0021d4a4
    0021d4a4 0f 1f 40 00 ..@.
    0021d4a8
    0021d4a8loc_21d4a8:
    0021d4a8mov rax, [rax]
    0021d4abmov rdx, [rsp+8]
    0021d4b0mov rsi, [rsp+24]
    0021d4b5mov rdi, [rax]
    0021d4b8call caml_callback2
    0021d4bdmov [rsp+48], rax
    0021d4c2mov rdx, [rip+0x15b8af]
    0021d4c9test rdx, rdx
    0021d4ccje 0x21d410
    0021d4d2mov rdx, [rip+0x15b897]
    0021d4d9test rdx, rdx
    0021d4dcjne 0x21d410
    0021d4e2sar rax, 1
    0021d4e5mov edi, 1
    0021d4eamovsxd rcx, eax
    0021d4edadd rcx, 8
    0021d4f1mov rsi, rcx
    0021d4f4shr rcx, 3
    0021d4f8and rsi, -8
    0021d4fclea rdx, [rsi-1]
    0021d500sub edx, eax
    0021d502mov rax, [rsp+24]
    0021d507mov [rsi+rax-1], dl
    0021d50bmov rdx, [rsp+32]
    0021d510mov esi, 4
    0021d515mov r8, [rsp+24]
    0021d51asar rdx, 1
    0021d51dcall fn_21c340
    0021d522jmp 0x21d410
    0021d527
    0021d527 66 0f 1f 84 00 00 00 00 00 f........
    0021d530
    0021d530loc_21d530:
    0021d530sar rdx, 1
    0021d533xor r8l, r8l
    0021d536xor ecx, ecx
    0021d538xor esi, esi
    0021d53amov edi, 1
    0021d53fcall fn_21c340
    0021d544jmp 0x21d410
    0021d549
    0021d549 0f 1f 80 00 00 00 00 .......
    0021d550
    0021d550loc_21d550:
    0021d550mov rax, [rsp+8]
    0021d555sar rdx, 1
    0021d558lea r8, [rsp+56]
    0021d55dmov ecx, 1
    0021d562mov esi, 1
    0021d567mov edi, 1
    0021d56csar rax, 1
    0021d56fcdqe
    0021d571mov [rsp+56], rax
    0021d576call fn_21c340
    0021d57bjmp 0x21d410
    0021d580
    0021d580loc_21d580:
    0021d580call fn_f4590
    0021d320
    0021d585
    0021d585 // align 0x10
    0021d590
    0021d590caml_runtime_events_user_resolve:
    0021d590push r15
    0021d592mov r15l, esi
    0021d595push r14
    0021d597push r13
    0021d599push r12
    0021d59bmov r12, rdi
    0021d59epush rbp
    0021d59flea rbp, [rip+0x15b796]
    0021d5a6push rbx
    0021d5a7mov rdi, rbp
    0021d5aasub rsp, 120
    0021d5aemovdqa x0, [rip+52006]
    0021d5b6mov rax, [0x28]
    0021d5bfmov [rsp+104], rax
    0021d5c4mov rax, [rip+0x58a19]
    0021d5cbmov r13, [rax]
    0021d5cflea rax, [rsp+32]
    0021d5d4movups [rsp+40], x0
    0021d5d9mov [rsp+8], 1
    0021d5e2mov [rsp+16], 1
    0021d5ebmov r14, [r13+160]
    0021d5f2mov [r13+160], rax
    0021d5f9lea rax, [rsp+8]
    0021d5femovq x0, rax
    0021d603lea rax, [rsp+16]
    0021d608mov [rsp+32], r14
    0021d60dmov [rsp+24], 1
    0021d616movq x1, rax
    0021d61blea rax, [rsp+24]
    0021d620punpcklqdq x0, x1
    0021d624mov [rsp+72], rax
    0021d629movups [rsp+56], x0
    0021d62ecall fn_f4710
    0021d633test eax, eax
    0021d635jne 0x21d707
    0021d63bmov rdi, rbp
    0021d63emov rbx, [rip+0x15ad67]
    0021d645call fn_f47c0
    0021d64atest eax, eax
    0021d64cje 0x21d686
    0021d64ejmp 0x21d6f9
    0021d653db 0xa2
    0021d654add [rax], al
    0021d656db 0x00
    0021d657
    0021d657 66 0f 1f 84 00 00 00 00 00 f........
    0021d660
    0021d660loc_21d660:
    0021d660mov rbp, [rbx]
    0021d663mov edx, 128
    0021d668mov rsi, r12
    0021d66bmov [rsp+8], rbp
    0021d670mov rdi, [rbp+8]
    0021d674mov [rsp+16], rdi
    0021d679call fn_f4240
    0021d67etest eax, eax
    0021d680je 0x21d696
    0021d682mov rbx, [rbx+8]
    0021d686
    0021d686loc_21d686:
    0021d686test bl, 1
    0021d689je 0x21d660
    0021d68bmov ebp, 1
    0021d690cmp r15l, 3
    0021d694jne 0x21d6c0
    0021d696
    0021d696loc_21d696:
    0021d696mov [r13+160], r14
    0021d69dmov rax, [rsp+104]
    0021d6a2sub rax, [0x28]
    0021d6abjne 0x21d6f4
    0021d6adadd rsp, 120
    0021d6b1mov rax, rbp
    0021d6b4pop rbx
    0021d6b5pop rbp
    0021d6b6pop r12
    0021d6b8pop r13
    0021d6bapop r14
    0021d6bcpop r15
    0021d6beret
    0021d6bf
    0021d6bf 90 .
    0021d6c0
    0021d6c0loc_21d6c0:
    0021d6c0mov esi, 128
    0021d6c5mov rdi, r12
    0021d6c8call fn_f4330
    0021d6cdmov rsi, r12
    0021d6d0mov rdi, rax
    0021d6d3call caml_alloc_initialized_string
    0021d6d8lea rdx, [r15+r15+1]
    0021d6ddmov esi, 1
    0021d6e2mov rdi, rax
    0021d6e5mov [rsp+24], rax
    0021d6eacall caml_runtime_events_user_register
    0021d6efmov rbp, rax
    0021d6f2jmp 0x21d696
    0021d6f4
    0021d6f4loc_21d6f4:
    0021d6f4call fn_f4590
    0021d6f9
    0021d6f9loc_21d6f9:
    0021d6f9mov esi, eax
    0021d6fblea rdi, [rip+0x11e18]
    0021d702call caml_plat_fatal_error
    0021d707
    0021d707loc_21d707:
    0021d707mov esi, eax
    0021d709lea rdi, [rip+0x11dff]
    0021d710call caml_plat_fatal_error
    0021d590
    0021d715
    0021d715 // align 0x40
    0021d740
    0021d740fn_21d740:
    0021d740mov rax, rdx
    0021d743mov rdx, [rdi+8]
    0021d747test rdx, rdx
    0021d74aje 0x21d759
    0021d74cnop [rax]
    0021d750
    0021d750loc_21d750:
    0021d750mov rdx, [rdx+8]
    0021d754test rdx, rdx
    0021d757jne 0x21d750
    0021d759
    0021d759loc_21d759:
    0021d759mov esi, esi
    0021d75blea rdx, [rip+0x14d3e]
    0021d762lea r9, [rdi+32768]
    0021d769movzx edx, [rdx+rsi]
    0021d76dadd rdx, 4
    0021d771add [rax+24], rdx
    0021d775lea rcx, [rdi+8*rdx]
    0021d779lea rdi, [rip+0x14d40]
    0021d780mov r10l, [rdi+4*rsi]
    0021d784lea rdi, [8*r10]
    0021d78clea rsi, [rcx+rdi]
    0021d790cmp r9, rsi
    0021d793jae 0x21d7f1
    0021d795jmp 0x21d808
    0021d797
    0021d797 66 66 2e 0f 1f 84 00 00 00 ff.......
    0021d7a0 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e ..ff.........ff.
    0021d7b0 0f 1f 84 00 00 00 00 00 0f 1f 84 00 00 00 00 00 ................
    0021d7c0
    0021d7c0loc_21d7c0:
    0021d7c0mov r8, [rax+8]
    0021d7c4shr rdx, 10
    0021d7c8add rsi, rdi
    0021d7cbadd [rax+32], 1
    0021d7d0add rcx, rdi
    0021d7d3lea r8, [rdx+r8+1]
    0021d7d8mov [rax+8], r8
    0021d7dcmov r8, [rax+24]
    0021d7e0lea r8, [r10+r8-1]
    0021d7e5sub r8, rdx
    0021d7e8mov [rax+24], r8
    0021d7eccmp r9, rsi
    0021d7efjb 0x21d808
    0021d7f1
    0021d7f1loc_21d7f1:
    0021d7f1mov rdx, [rcx]
    0021d7f4test rdx, rdx
    0021d7f7jne 0x21d7c0
    0021d7f9add rsi, rdi
    0021d7fcadd [rax+16], r10
    0021d800add rcx, rdi
    0021d803cmp r9, rsi
    0021d806jae 0x21d7f1
    0021d808
    0021d808loc_21d808:
    0021d808add [rax], 4096
    0021d80fret
    0021d740
    0021d810
    0021d810 // align 0x40
    0021d840
    0021d840fn_21d840:
    0021d840push rbx
    0021d841lea r9, [rsi+32768]
    0021d848pxor x0, x0
    0021d84csub rsp, 80
    0021d850mov rax, [0x28]
    0021d859mov [rsp+72], rax
    0021d85exor eax, eax
    0021d860mov eax, edx
    0021d862lea rdx, [rip+0x14c37]
    0021d869movaps [rsp], x0
    0021d86dmovzx edx, [rdx+rax]
    0021d871movaps [rsp+32], x0
    0021d876movaps [rsp+16], x0
    0021d87blea rcx, [rdx+4]
    0021d87fmovaps [rsp+48], x0
    0021d884lea rdx, [rsi+8*rcx]
    0021d888lea rsi, [rip+0x14c31]
    0021d88fmov [rsp+32], rcx
    0021d894mov r10l, [rsi+4*rax]
    0021d898lea rsi, [8*r10]
    0021d8a0lea rcx, [rdx+rsi]
    0021d8a4cmp r9, rcx
    0021d8a7jb 0x21d940
    0021d8adnop [rax+rax]
    0021d8b8nop [rax+rax]
    0021d8c0
    0021d8c0loc_21d8c0:
    0021d8c0mov rax, [rdx]
    0021d8c3test rax, rax
    0021d8c6je 0x21d8f3
    0021d8c8mov r8, [rsp+16]
    0021d8cdshr rax, 10
    0021d8d1add [rsp+24], 1
    0021d8d7lea r8, [rax+r8+1]
    0021d8dcmov [rsp+16], r8
    0021d8e1mov r8, [rsp+32]
    0021d8e6lea r8, [r10+r8-1]
    0021d8ebsub r8, rax
    0021d8eemov [rsp+32], r8
    0021d8f3
    0021d8f3loc_21d8f3:
    0021d8f3add rcx, rsi
    0021d8f6add rdx, rsi
    0021d8f9cmp r9, rcx
    0021d8fcjae 0x21d8c0
    0021d8femov rax, [rsp]
    0021d902add rax, 4096
    0021d908
    0021d908loc_21d908:
    0021d908add rdi, 1056
    0021d90fmov rsi, rsp
    0021d912mov [rsp], rax
    0021d916call caml_accum_heap_stats
    0021d91bmov rsi, rsp
    0021d91elea rdi, [rip+0x15b4eb]
    0021d925call caml_remove_heap_stats
    0021d92amov rax, [rsp+72]
    0021d92fsub rax, [0x28]
    0021d938jne 0x21d947
    0021d93aadd rsp, 80
    0021d93epop rbx
    0021d93fret
    0021d940
    0021d940loc_21d940:
    0021d940mov eax, 4096
    0021d945jmp 0x21d908
    0021d947
    0021d947loc_21d947:
    0021d947call fn_f4590
    0021d840
    0021d94c
    0021d94c // align 0x10
    0021d950
    0021d950fn_21d950:
    0021d950mov rax, rsi
    0021d953mov rcx, rdx
    0021d956test sil, 1
    0021d95ajne 0x21d98e
    0021d95cmovzx edx, [rax-8]
    0021d960lea rsi, [rsi-8]
    0021d964xor edi, edi
    0021d966cmp dl, -7
    0021d969je 0x21d9b0
    0021d96bmov rdx, [rsi]
    0021d96enot rdx
    0021d971and dh, 3
    0021d974je 0x21d98e
    0021d976mov rdx, [rsi]
    0021d979shr rdx, 10
    0021d97dadd rdx, 1
    0021d981cmp rdx, 128
    0021d988jbe 0x21d990
    0021d98aret
    0021d98bdb 0x00
    0021d98cjbe 0x21d990
    0021d98e
    0021d98eloc_21d98e:
    0021d98eret
    0021d98f
    0021d98f 90 .
    0021d990
    0021d990loc_21d990:
    0021d990mov rdx, [rsi]
    0021d993and edx, 768
    0021d999cmp [rip+0x15aa20], rdx
    0021d9a0jne 0x21d98e
    0021d9a2mov rax, [rax]
    0021d9a5movsxd rdi, edi
    0021d9a8add rdi, rax
    0021d9abmov [rcx], rdi
    0021d9aeret
    0021d9af
    0021d9af 90 .
    0021d9b0
    0021d9b0loc_21d9b0:
    0021d9b0mov rdi, [rax-8]
    0021d9b4shr rdi, 10
    0021d9b8shl edi, 3
    0021d9bbmovsxd rdx, edi
    0021d9besub rax, rdx
    0021d9c1mov rdx, [rax-8]
    0021d9c5lea rsi, [rax-8]
    0021d9c9not rdx
    0021d9ccand dh, 3
    0021d9cfjne 0x21d97a
    0021d9d1ret
    0021d950
    0021d9d2
    0021d9d2 // align 0x10
    0021d9e0
    0021d9e0fn_21d9e0:
    0021d9e0mov rax, [rdi]
    0021d9e3mov rsi, rdi
    0021d9e6test rax, rax
    0021d9e9je 0x21db98
    0021d9efnop
    0021d9f0
    0021d9f0loc_21d9f0:
    0021d9f0mov rax, [rsi]
    0021d9f3test al, 1
    0021d9f5jne 0x21da2d
    0021d9f7movzx edx, [rax-8]
    0021d9fblea rcx, [rax-8]
    0021d9ffxor edi, edi
    0021da01cmp dl, -7
    0021da04je 0x21dbc0
    0021da0a
    0021da0aloc_21da0a:
    0021da0amov rdx, [rcx]
    0021da0dnot rdx
    0021da10and dh, 3
    0021da13je 0x21da2d
    0021da15mov rdx, [rcx]
    0021da18shr rdx, 10
    0021da1cadd rdx, 1
    0021da20cmp rdx, 128
    0021da27jbe 0x21db40
    0021da2d
    0021da2dloc_21da2d:
    0021da2dmov rsi, [rsi]
    0021da30mov r9, [rsi-8]
    0021da34mov rax, [rsi+8]
    0021da38shr r9, 10
    0021da3ctest al, 1
    0021da3ejne 0x21da76
    0021da40movzx edx, [rax-8]
    0021da44lea rcx, [rax-8]
    0021da48xor edi, edi
    0021da4acmp dl, -7
    0021da4dje 0x21dba0
    0021da53
    0021da53loc_21da53:
    0021da53mov rdx, [rcx]
    0021da56not rdx
    0021da59and dh, 3
    0021da5cje 0x21da76
    0021da5emov rdx, [rcx]
    0021da61shr rdx, 10
    0021da65add rdx, 1
    0021da69cmp rdx, 128
    0021da70jbe 0x21db70
    0021da76
    0021da76loc_21da76:
    0021da76mov edx, 2
    0021da7bmov eax, 2
    0021da80cmp r9, 2
    0021da84ja 0x21daab
    0021da86jmp 0x21db10
    0021da8b
    0021da8b 66 66 2e 0f 1f ff...
    0021da90 84 00 00 00 00 00 66 2e 0f 1f 84 00 00 00 00 00 ......f.........
    0021daa0
    0021daa0loc_21daa0:
    0021daa0add edx, 1
    0021daa3movsxd rax, edx
    0021daa6cmp rax, r9
    0021daa9jae 0x21db10
    0021daab
    0021daabloc_21daab:
    0021daablea rdi, [rsi+8*rax]
    0021daafmov rax, [rdi]
    0021dab2test al, 1
    0021dab4jne 0x21daa0
    0021dab6movzx ecx, [rax-8]
    0021dabalea r8, [rax-8]
    0021dabexor r10l, r10l
    0021dac1cmp cl, -7
    0021dac4je 0x21db20
    0021dac6
    0021dac6loc_21dac6:
    0021dac6mov rcx, [r8]
    0021dac9not rcx
    0021daccand ch, 3
    0021dacfje 0x21daa0
    0021dad1mov rcx, [r8]
    0021dad4shr rcx, 10
    0021dad8add rcx, 1
    0021dadccmp rcx, 128
    0021dae3ja 0x21daa0
    0021dae5mov rcx, [r8]
    0021dae8and ecx, 768
    0021daeecmp [rip+0x15a8cb], rcx
    0021daf5jne 0x21daa0
    0021daf7mov rax, [rax]
    0021dafamovsxd r10, r10l
    0021dafdadd edx, 1
    0021db00add r10, rax
    0021db03movsxd rax, edx
    0021db06mov [rdi], r10
    0021db09cmp rax, r9
    0021db0cjb 0x21daab
    0021db0enop
    0021db10
    0021db10loc_21db10:
    0021db10mov rax, [rsi]
    0021db13test rax, rax
    0021db16jne 0x21d9f0
    0021db1cret
    0021db1d
    0021db1d 0f 1f 00 ...
    0021db20
    0021db20loc_21db20:
    0021db20mov r10, [rax-8]
    0021db24shr r10, 10
    0021db28shl r10l, 3
    0021db2cmovsxd rcx, r10l
    0021db2fsub rax, rcx
    0021db32lea r8, [rax-8]
    0021db36jmp 0x21dac6
    0021db38
    0021db38 0f 1f 84 00 00 00 00 00 ........
    0021db40
    0021db40loc_21db40:
    0021db40mov rdx, [rcx]
    0021db43and edx, 768
    0021db49cmp [rip+0x15a870], rdx
    0021db50jne 0x21da2d
    0021db56mov rdx, [rax]
    0021db59movsxd rax, edi
    0021db5cadd rax, rdx
    0021db5fmov [rsi], rax
    0021db62jmp 0x21da2d
    0021db67
    0021db67 66 0f 1f 84 00 00 00 00 00 f........
    0021db70
    0021db70loc_21db70:
    0021db70mov rdx, [rcx]
    0021db73and edx, 768
    0021db79cmp [rip+0x15a840], rdx
    0021db80jne 0x21da76
    0021db86mov rdx, [rax]
    0021db89movsxd rax, edi
    0021db8cadd rax, rdx
    0021db8fmov [rsi+8], rax
    0021db93jmp 0x21da76
    0021db98
    0021db98loc_21db98:
    0021db98ret
    0021db99
    0021db99 0f 1f 80 00 00 00 00 .......
    0021dba0
    0021dba0loc_21dba0:
    0021dba0mov rdi, [rax-8]
    0021dba4shr rdi, 10
    0021dba8shl edi, 3
    0021dbabmovsxd rdx, edi
    0021dbaesub rax, rdx
    0021dbb1lea rcx, [rax-8]
    0021dbb5jmp 0x21da53
    0021dbba
    0021dbba 66 0f 1f 44 00 00 f..D..
    0021dbc0
    0021dbc0loc_21dbc0:
    0021dbc0mov rdi, [rax-8]
    0021dbc4shr rdi, 10
    0021dbc8shl edi, 3
    0021dbcbmovsxd rdx, edi
    0021dbcesub rax, rdx
    0021dbd1lea rcx, [rax-8]
    0021dbd5jmp 0x21da0a
    0021d9e0