File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    00207a60
    00207a60caml_float_of_string:
    00207a60push r15
    00207a62push r14
    00207a64push r13
    00207a66push r12
    00207a68push rbp
    00207a69push rbx
    00207a6asub rsp, 120
    00207a6emov rbp, [0x28]
    00207a77mov [rsp+104], rbp
    00207a7cmov rbp, rdi
    00207a7fcall caml_string_length
    00207a84mov r13, rax
    00207a87mov rbx, rbp
    00207a8acmp rax, 63
    00207a8eja 0x207ba8
    00207a94test rax, rax
    00207a97je 0x207dac
    00207a9dlea r12, [rsp+32]
    00207aa2mov r14, r12
    00207aa5lea rdi, [rbp+r13]
    00207aaamov rbp, r14
    00207aadnop [rax+rax]
    00207ab8nop [rax]
    00207abcmov rax, rbx
    00207abfadd rbx, 1
    00207ac3movzx eax, [rax]
    00207ac6cmp al, 95
    00207ac8je 0x207ad5
    00207acamov [rbp], al
    00207acdadd rbp, 1
    00207ad1cmp rbx, rdi
    00207ad4jne 0x207ac0
    00207ad6mov [rbp], 0
    00207adacmp rbp, r14
    00207addje 0x207d8c
    00207ae3movzx eax, [r14]
    00207ae7cmp al, 45
    00207ae9je 0x207b90
    00207aefmov [rsp], 1
    00207af6mov rdi, r14
    00207af9cmp al, 43
    00207afbje 0x207b78
    00207afdcmp al, 48
    00207affjne 0x207b14
    00207b01
    00207b01loc_207b01:
    00207b01movzx eax, [rdi+1]
    00207b05and eax, -33
    00207b08cmp al, 88
    00207b0aje 0x207bc0
    00207b10mov rdx, [rip+0x170c3d]
    00207b17lea rsi, [rsp+24]
    00207b1cmov rdi, r14
    00207b1fcall fn_f4100
    00207b24cmp rbp, [rsp+24]
    00207b29jne 0x207d8c
    00207b2fcmp r14, r12
    00207b32je 0x207b4a
    00207b34mov rdi, r14
    00207b37movsd_xmm [rsp], x0
    00207b3ccall caml_stat_free
    00207b41movsd_xmm x0, [rsp]
    00207b46call caml_copy_double
    00207b4bmov rdx, [rsp+104]
    00207b50sub rdx, [0x28]
    00207b59jne 0x207db3
    00207b5fadd rsp, 120
    00207b63pop rbx
    00207b64pop rbp
    00207b65pop r12
    00207b67pop r13
    00207b69pop r14
    00207b6bpop r15
    00207b6dret
    00207b6edb 0x5e
    00207b6fpop r15
    00207b71ret
    00207b72
    00207b72 66 0f 1f 44 00 00 f..D..
    00207b78
    00207b78loc_207b78:
    00207b78movzx eax, [r14+1]
    00207b7dlea rdi, [r14+1]
    00207b81jmp 0x207b01
    00207b86
    00207b86 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00207b90
    00207b90loc_207b90:
    00207b90mov [rsp], -1
    00207b97movzx eax, [r14+1]
    00207b9clea rdi, [r14+1]
    00207ba0jmp 0x207b01
    00207ba5
    00207ba5 0f 1f 00 ...
    00207ba8
    00207ba8loc_207ba8:
    00207ba8lea rdi, [rax+1]
    00207baclea r12, [rsp+32]
    00207bb1call caml_stat_alloc
    00207bb6mov r14, rax
    00207bb9jmp 0x207aa9
    00207bbe
    00207bbe 66 90 f.
    00207bc0
    00207bc0loc_207bc0:
    00207bc0add rdi, 2
    00207bc4cmp rdi, rbp
    00207bc7jae 0x207d8c
    00207bcdmov [rsp+12], 0
    00207bd5xor edx, edx
    00207bd7xor r15l, r15l
    00207bdaxor ebx, ebx
    00207bdcmov r13l, -1
    00207be2jmp 0x207bfd
    00207be4
    00207be4 0f 1f 40 00 ..@.
    00207be8
    00207be8loc_207be8:
    00207be8test r13l, r13l
    00207bebjns 0x207d8c
    00207bf1mov r13l, r15l
    00207bf4
    00207bf4loc_207bf4:
    00207bf4cmp rbp, rdi
    00207bf7je 0x207da5
    00207bfd
    00207bfdloc_207bfd:
    00207bfdmov r9, rdi
    00207c00movsx eax, [rdi]
    00207c03add rdi, 1
    00207c07mov esi, eax
    00207c09and esi, -33
    00207c0ccmp sil, 80
    00207c10je 0x207c40
    00207c12cmp al, 46
    00207c14je 0x207be8
    00207c16lea esi, [rax-48]
    00207c19cmp sil, 9
    00207c1dja 0x207ce0
    00207c23sub eax, 48
    00207c26add r15l, 4
    00207c2atest eax, eax
    00207c2cjne 0x207d20
    00207c32
    00207c32loc_207c32:
    00207c32test rbx, rbx
    00207c35jne 0x207d20
    00207c3bxor ebx, ebx
    00207c3djmp 0x207bf4
    00207c3f
    00207c3f 90 .
    00207c40
    00207c40loc_207c40:
    00207c40cmp [r9+1], 0
    00207c45je 0x207d8c
    00207c4blea rsi, [rsp+24]
    00207c50mov edx, 10
    00207c55call fn_f45d0
    00207c5acmp rbp, [rsp+24]
    00207c5fjne 0x207d8c
    00207c65cmp rax, 0xffffffff80000001
    00207c6bjl 0x207d76
    00207c71cmp rax, 0x7ffffffe
    00207c77jg 0x207d71
    00207c7d
    00207c7dloc_207c7d:
    00207c7dtest r15l, r15l
    00207c80je 0x207d8c
    00207c86mov ecx, [rsp+12]
    00207c8apxor x0, x0
    00207c8ecvtsi2sd x0, rbx
    00207c93lea edx, [r13+rcx]
    00207c98sub edx, r15l
    00207c9btest r13l, r13l
    00207c9ecmovs edx, ecx
    00207ca1mov [rsp+12], edx
    00207ca5mov ecx, edx
    00207ca7test edx, edx
    00207ca9jle 0x207d45
    00207cafmov edx, 0x7fffffff
    00207cb4sub edx, ecx
    00207cb6cmp edx, eax
    00207cb8jge 0x207d60
    00207cbemov edi, 0x7fffffff
    00207cc3
    00207cc3loc_207cc3:
    00207cc3call fn_f41a0
    00207cc8
    00207cc8loc_207cc8:
    00207cc8mov eax, [rsp]
    00207ccbtest eax, eax
    00207ccdjns 0x207b33
    00207cd3xorpd x0, [rip+0x22355]
    00207cdbjmp 0x207b33
    00207ce0
    00207ce0loc_207ce0:
    00207ce0lea esi, [rax-65]
    00207ce3cmp sil, 5
    00207ce7ja 0x207d08
    00207ce9add r15l, 4
    00207cedsub eax, 55
    00207cf0cmp edx, 59
    00207cf3jle 0x207d30
    00207cf5
    00207cf5loc_207cf5:
    00207cf5or rbx, 1
    00207cf9
    00207cf9loc_207cf9:
    00207cf9add [rsp+12], 4
    00207cfejmp 0x207bf4
    00207d03
    00207d03 0f 1f 44 00 00 ..D..
    00207d08
    00207d08loc_207d08:
    00207d08lea esi, [rax-97]
    00207d0bcmp sil, 5
    00207d0fja 0x207d8c
    00207d11sub eax, 87
    00207d14add r15l, 4
    00207d18test eax, eax
    00207d1aje 0x207c32
    00207d20
    00207d20loc_207d20:
    00207d20cmp edx, 59
    00207d23jle 0x207d30
    00207d25test eax, eax
    00207d27je 0x207cf9
    00207d29jmp 0x207cf5
    00207d2b
    00207d2b 0f 1f 44 00 00 ..D..
    00207d30
    00207d30loc_207d30:
    00207d30mov rcx, rbx
    00207d33cdqe
    00207d35add edx, 4
    00207d38shl rcx, 4
    00207d3clea rbx, [rax+rcx]
    00207d40jmp 0x207bf4
    00207d45
    00207d45loc_207d45:
    00207d45jns 0x207d60
    00207d47mov ecx, [rsp+12]
    00207d4bmov edx, 0xffffffff80000000
    00207d50sub edx, ecx
    00207d52cmp edx, eax
    00207d54jle 0x207d60
    00207d56mov edi, 0xffffffff80000000
    00207d5bjmp 0x207cc3
    00207d60
    00207d60loc_207d60:
    00207d60mov edi, [rsp+12]
    00207d64add edi, eax
    00207d66je 0x207cc8
    00207d6cjmp 0x207cc3
    00207d71
    00207d71loc_207d71:
    00207d71test rbx, rbx
    00207d74jne 0x207d7f
    00207d76
    00207d76loc_207d76:
    00207d76pxor x0, x0
    00207d7ajmp 0x207cc8
    00207d7f
    00207d7floc_207d7f:
    00207d7fmovsd_xmm x0, [rip+0x22aa1]
    00207d87jmp 0x207cc8
    00207d8c
    00207d8cloc_207d8c:
    00207d8ccmp r14, r12
    00207d8fje 0x207d99
    00207d91mov rdi, r14
    00207d94call caml_stat_free
    00207d99
    00207d99loc_207d99:
    00207d99lea rdi, [rip+0x2714a]
    00207da0call caml_failwith
    00207da5
    00207da5loc_207da5:
    00207da5xor eax, eax
    00207da7jmp 0x207c7d
    00207dac
    00207dacloc_207dac:
    00207dacmov [rsp+32], 0
    00207db1jmp 0x207d99
    00207db3
    00207db3loc_207db3:
    00207db3call fn_f4590
    00207a60
    00207db8
    00207db8 // align 0x10
    00207dc0
    00207dc0caml_int_of_float:
    00207dc0cvttsd2si rax, [rdi]
    00207dc5lea rax, [rax+rax+1]
    00207dcaret
    00207dcbdb 0x44
    00207dccadd [rcx], al
    00207dceret
    00207dc0
    00207dcf
    00207dcf // align 0x10
    00207dd0
    00207dd0caml_float_of_int:
    00207dd0sar rdi, 1
    00207dd3pxor x0, x0
    00207dd7cvtsi2sd x0, rdi
    00207ddcjmp 0x2075f0
    00207de1db 0x0b
    00207de2clc
    00207de3db 0xff
    00207de4db 0xff
    00207dd0
    00207de5
    00207de5 // align 0x10
    00207df0
    00207df0caml_neg_float:
    00207df0movsd_xmm x0, [rdi]
    00207df4xorpd x0, [rip+0x22230]
    00207dfcjmp 0x2075f0
    00207e01db 0xeb
    00207e02idiv edi
    00207e04db 0xff
    00207df0
    00207e05
    00207e05 // align 0x10
    00207e10
    00207e10caml_abs_float:
    00207e10movsd_xmm x0, [rdi]
    00207e14andpd x0, [rip+0x22300]
    00207e1cjmp 0x2075f0
    00207e21db 0xcb
    00207e22idiv edi
    00207e24db 0xff
    00207e10
    00207e25
    00207e25 // align 0x10
    00207e30
    00207e30caml_add_float:
    00207e30movsd_xmm x0, [rdi]
    00207e34addsd x0, [rsi]
    00207e38jmp 0x2075f0
    00207e3ddb 0xaf
    00207e3eidiv edi
    00207e40db 0xff
    00207e30
    00207e41
    00207e41 // align 0x10
    00207e50
    00207e50caml_sub_float:
    00207e50movsd_xmm x0, [rdi]
    00207e54subsd x0, [rsi]
    00207e58jmp 0x2075f0
    00207e5ddb 0x8f
    00207e5eidiv edi
    00207e60db 0xff
    00207e50
    00207e61
    00207e61 // align 0x10
    00207e70
    00207e70caml_mul_float:
    00207e70movsd_xmm x0, [rdi]
    00207e74mulsd x0, [rsi]
    00207e78jmp 0x2075f0
    00207e7ddb 0x6f
    00207e7eidiv edi
    00207e80db 0xff
    00207e70
    00207e81
    00207e81 // align 0x10
    00207e90
    00207e90caml_div_float:
    00207e90movsd_xmm x0, [rdi]
    00207e94divsd x0, [rsi]
    00207e98jmp 0x2075f0
    00207e9ddb 0x4f
    00207e9eidiv edi
    00207ea0db 0xff
    00207e90
    00207ea1
    00207ea1 // align 0x10
    00207eb0
    00207eb0caml_exp_float:
    00207eb0sub rsp, 8
    00207eb4movsd_xmm x0, [rdi]
    00207eb8call fn_f4170
    00207ebdadd rsp, 8
    00207ec1jmp 0x2075f0
    00207ec6db 0x26
    00207ec7idiv edi
    00207ec9db 0xff
    00207eb0
    00207eca
    00207eca // align 0x10
    00207ed0
    00207ed0caml_exp2:
    00207ed0jmp 0xf44f0
    00207ed5db 0x17
    00207ed6db 0xc6
    00207ed7out dx, al
    00207ed8db 0xff
    00207ed0
    00207ed9
    00207ed9 // align 0x10
    00207ee0
    00207ee0caml_exp2_float:
    00207ee0sub rsp, 8
    00207ee4movsd_xmm x0, [rdi]
    00207ee8call fn_f44f0
    00207eedadd rsp, 8
    00207ef1jmp 0x2075f0
    00207ef6db 0xf6
    00207ef7idiv bh
    00207ef9db 0xff
    00207ee0
    00207efa
    00207efa // align 0x10
    00207f00
    00207f00caml_trunc:
    00207f00movsd_xmm x1, [rip+0x22214]
    00207f08movsd_xmm x3, [rip+0x2291c]
    00207f10movapd x2, x0
    00207f14andpd x2, x1
    00207f18ucomisd x3, x2
    00207f1cjbe 0x207f3c
    00207f1ecvttsd2si rax, x0
    00207f23pxor x2, x2
    00207f27andnpd x1, x0
    00207f2bcvtsi2sd x2, rax
    00207f30orpd x2, x1
    00207f34movapd x0, x2
    00207f38ret
    00207f39db 0x0f
    00207f3asub dl, al
    00207f3c
    00207f3cloc_207f3c:
    00207f3cret
    00207f00
    00207f3d
    00207f3d // align 0x10
    00207f40
    00207f40caml_trunc_float:
    00207f40movsd_xmm x0, [rdi]
    00207f44movsd_xmm x1, [rip+0x221d0]
    00207f4cmovsd_xmm x3, [rip+0x228d8]
    00207f54movapd x2, x0
    00207f58andpd x2, x1
    00207f5cucomisd x3, x2
    00207f60jbe 0x207f80
    00207f62cvttsd2si rax, x0
    00207f67pxor x2, x2
    00207f6bandnpd x1, x0
    00207f6fcvtsi2sd x2, rax
    00207f74movapd x0, x2
    00207f78orpd x0, x1
    00207f7cjmp 0x2075f0
    00207f81db 0x6b
    00207f82idiv bh
    00207f84db 0xff
    00207f40
    00207f85
    00207f85 // align 0x10
    00207f90
    00207f90caml_round:
    00207f90jmp 0xf46a0
    00207f95db 0x07
    00207f96db 0xc7
    00207f97out dx, al
    00207f98db 0xff
    00207f90
    00207f99
    00207f99 // align 0x10
    00207fa0
    00207fa0caml_round_float:
    00207fa0sub rsp, 8
    00207fa4movsd_xmm x0, [rdi]
    00207fa8call fn_f46a0
    00207fadadd rsp, 8
    00207fb1jmp 0x2075f0
    00207fb6db 0x36
    00207fb7idiv bh
    00207fb9db 0xff
    00207fa0
    00207fba
    00207fba // align 0x10
    00207fc0
    00207fc0caml_floor_float:
    00207fc0movsd_xmm x0, [rdi]
    00207fc4movsd_xmm x2, [rip+0x22150]
    00207fccmovsd_xmm x3, [rip+0x22858]
    00207fd4movapd x1, x0
    00207fd8andpd x1, x2
    00207fdcucomisd x3, x1
    00207fe0jbe 0x208019
    00207fe2cvttsd2si rax, x0
    00207fe7pxor x1, x1
    00207febmovsd_xmm x4, [rip+0x22811]
    00207ff3andnpd x2, x0
    00207ff7cvtsi2sd x1, rax
    00207ffcmovapd x3, x1
    00208000cmpsd x3, x0, 6
    00208005andpd x3, x4
    00208009subsd x1, x3
    0020800dmovapd x0, x1
    00208011orpd x0, x2
    00208015jmp 0x2075f0
    0020801adb 0xd2
    0020801bcmc
    0020801cdb 0xff
    0020801ddb 0xff
    00207fc0
    0020801e
    0020801e // align 0x10
    00208020
    00208020caml_nextafter:
    00208020jmp 0xf4430
    00208025db 0x07
    00208026db 0xc4
    00208027out dx, al
    00208028db 0xff
    00208020
    00208029
    00208029 // align 0x10
    00208030
    00208030caml_nextafter_float:
    00208030sub rsp, 8
    00208034movsd_xmm x0, [rdi]
    00208038movsd_xmm x1, [rsi]
    0020803ccall fn_f4430
    00208041add rsp, 8
    00208045jmp 0x2075f0
    0020804adb 0xa2
    0020804bcmc
    0020804cdb 0xff
    0020804ddb 0xff
    00208030
    0020804e
    0020804e // align 0x10
    00208050
    00208050caml_fma:
    00208050jmp 0xf4530
    00208055db 0xd7
    00208056db 0xc4
    00208057out dx, al
    00208058db 0xff
    00208050
    00208059
    00208059 // align 0x10
    00208060
    00208060caml_fma_float:
    00208060sub rsp, 8
    00208064movsd_xmm x0, [rsi]
    00208068movsd_xmm x2, [rdx]
    0020806cmovsd_xmm x1, [rdi]
    00208070call fn_f4530
    00208075add rsp, 8
    00208079jmp 0x2075f0
    0020807edb 0x6e
    0020807fcmc
    00208080db 0xff
    00208081db 0xff
    00208060
    00208082
    00208082 // align 0x10
    00208090
    00208090caml_fmod_float:
    00208090sub rsp, 40
    00208094movsd_xmm x3, [rsi]
    00208098movsd_xmm x4, [rdi]
    0020809cmovsd_xmm [rsp+8], x3
    002080a2fld [rsp+8]
    002080a6movsd_xmm [rsp+16], x4
    002080acfld [rsp+16]
    002080b0fprem
    002080b2fnstsw ax
    002080b4
    002080b4loc_2080b4:
    002080b4test ah, 4
    002080b7jne 0x2080b4
    002080b9fstp f1
    002080bbfstp [rsp+24]
    002080bfmovsd_xmm x2, [rsp+24]
    002080c5ucomisd x2, x2
    002080c9jp 0x2080dc
    002080cbmovapd x0, x2
    002080cf
    002080cfloc_2080cf:
    002080cfadd rsp, 40
    002080d3jmp 0x2075f0
    002080d8movsd_xmm x1, [rsp+8]
    002080demovsd_xmm x0, [rsp+16]
    002080e4call fn_f4650
    002080e9movsd_xmm x2, [rsp+24]
    002080efjmp 0x2080cf
    002080f1db 0x24
    002080f2sbb bl, ch
    002080f4db 0xda
    00208090
    002080f5
    002080f5 // align 0x10
    00208100
    00208100caml_frexp_float:
    00208100push rbp
    00208101mov ecx, 1
    00208106push rbx
    00208107movq x0, rcx
    0020810cpunpcklqdq x0, x0
    00208110sub rsp, 104
    00208114mov rdx, [rip+0x6dec9]
    0020811bmov rax, [0x28]
    00208124mov [rsp+88], rax
    00208129mov rax, rdi
    0020812clea rdi, [rsp+4]
    00208131mov rbx, [rdx]
    00208135lea rdx, [rsp+16]
    0020813amovups [rsp+24], x0
    0020813fmov [rsp+8], 1
    00208148mov rbp, [rbx+160]
    0020814fmov [rbx+160], rdx
    00208156lea rdx, [rsp+8]
    0020815bmov [rsp+40], rdx
    00208160movsd_xmm x0, [rax]
    00208164mov [rsp+16], rbp
    00208169call fn_f4090
    0020816ecall caml_copy_double
    00208173xor esi, esi
    00208175mov edi, 2
    0020817amov [rsp+8], rax
    0020817fcall caml_alloc_small
    00208184mov rdx, [rsp+8]
    00208189mov [rax], rdx
    0020818cmovsxd rdx, [rsp+4]
    00208191lea rdx, [rdx+rdx+1]
    00208196mov [rax+8], rdx
    0020819amov [rbx+160], rbp
    002081a1mov rdx, [rsp+88]
    002081a6sub rdx, [0x28]
    002081afjne 0x2081bc
    002081b1add rsp, 104
    002081b5pop rbx
    002081b6pop rbp
    002081b7ret
    002081b8call fn_f4590
    002081bddb 0xcf
    002081beret
    002081bfout dx, al
    002081c0db 0xff
    00208100
    002081c1
    002081c1 // align 0x10
    002081d0
    002081d0caml_ldexp_float_unboxed:
    002081d0jmp 0xf41a0
    002081d5db 0xc7
    002081d6db 0xbf
    002081d7out dx, al
    002081d8db 0xff
    002081d0
    002081d9
    002081d9 // align 0x10
    002081e0
    002081e0caml_ldexp_float:
    002081e0sub rsp, 8
    002081e4sar rsi, 1
    002081e7movsd_xmm x0, [rdi]
    002081ebmov edi, esi
    002081edcall fn_f41a0
    002081f2add rsp, 8
    002081f6jmp 0x2075f0
    002081fbdb 0xf1
    002081fcdb 0xf3
    002081fddb 0xff
    002081fedb 0xff
    002081e0
    002081ff
    002081ff // align 0x10
    00208200
    00208200caml_log_float:
    00208200sub rsp, 8
    00208204movsd_xmm x0, [rdi]
    00208208call fn_f4360
    0020820dadd rsp, 8
    00208211jmp 0x2075f0
    00208216db 0xd6
    00208217db 0xf3
    00208218db 0xff
    00208219db 0xff
    00208200
    0020821a
    0020821a // align 0x10
    00208220
    00208220caml_log10_float:
    00208220sub rsp, 8
    00208224movsd_xmm x0, [rdi]
    00208228call fn_f4030
    0020822dadd rsp, 8
    00208231jmp 0x2075f0
    00208236db 0xb6
    00208237db 0xf3
    00208238db 0xff
    00208239db 0xff
    00208220
    0020823a
    0020823a // align 0x10
    00208240
    00208240caml_log2:
    00208240jmp 0xf4690
    00208245db 0x47
    00208246db 0xc4
    00208247out dx, al
    00208248db 0xff
    00208240
    00208249
    00208249 // align 0x10
    00208250
    00208250caml_log2_float:
    00208250sub rsp, 8
    00208254movsd_xmm x0, [rdi]
    00208258call fn_f4690
    0020825dadd rsp, 8
    00208261jmp 0x2075f0
    00208266db 0x86
    00208267db 0xf3
    00208268db 0xff
    00208269db 0xff
    00208250
    0020826a
    0020826a // align 0x10
    00208270
    00208270caml_modf_float:
    00208270push rbp
    00208271push rbx
    00208272sub rsp, 120
    00208276mov rdx, [rip+0x6dd67]
    0020827dmovdqa x0, [rip+0x21e47]
    00208285mov rax, [0x28]
    0020828emov [rsp+104], rax
    00208293mov rax, rdi
    00208296lea rcx, [rsp+8]
    0020829blea rdi, [rsp+24]
    002082a0mov rbx, [rdx]
    002082a4lea rdx, [rsp+32]
    002082a9movups [rsp+40], x0
    002082aemovq x0, rcx
    002082b3mov [rsp+8], 1
    002082bcmov [rsp+16], 1
    002082c5mov rbp, [rbx+160]
    002082ccmov [rbx+160], rdx
    002082d3lea rdx, [rsp+16]
    002082d8movq x1, rdx
    002082ddmov [rsp+32], rbp
    002082e2punpcklqdq x0, x1
    002082e6movups [rsp+56], x0
    002082ebmovsd_xmm x0, [rax]
    002082efcall fn_f46d0
    002082f4call caml_copy_double
    002082f9movsd_xmm x0, [rsp+24]
    002082ffmov [rsp+8], rax
    00208304call caml_copy_double
    00208309xor esi, esi
    0020830bmov edi, 2
    00208310mov [rsp+16], rax
    00208315call caml_alloc_small
    0020831amov rdx, [rsp+8]
    0020831fmov [rax], rdx
    00208322mov rdx, [rsp+16]
    00208327mov [rax+8], rdx
    0020832bmov [rbx+160], rbp
    00208332mov rdx, [rsp+104]
    00208337sub rdx, [0x28]
    00208340jne 0x20834d
    00208342add rsp, 120
    00208346pop rbx
    00208347pop rbp
    00208348ret
    00208349call fn_f4590
    0020834edb 0x3e
    0020834fret 65518
    00208270
    00208352
    00208352 // align 0x10
    00208360
    00208360caml_sqrt_float:
    00208360movsd_xmm x0, [rdi]
    00208364pxor x1, x1
    00208368ucomisd x1, x0
    0020836cja 0x20837b
    0020836esqrtsd x0, x0
    00208372jmp 0x2075f0
    00208377push rax
    00208378call fn_f47a0
    0020837dpop rdx
    0020837ejmp 0x2075f0
    00208383db 0x69
    00208384db 0xf2
    00208385db 0xff
    00208386db 0xff
    00208360
    00208387
    00208387 // align 0x10
    00208390
    00208390caml_cbrt:
    00208390jmp 0xf4740
    00208395db 0xa7
    00208396ret
    00208397out dx, al
    00208398db 0xff
    00208390
    00208399
    00208399 // align 0x10
    002083a0
    002083a0caml_cbrt_float:
    002083a0sub rsp, 8
    002083a4movsd_xmm x0, [rdi]
    002083a8call fn_f4740
    002083adadd rsp, 8
    002083b1jmp 0x2075f0
    002083b6db 0x36
    002083b7db 0xf2
    002083b8db 0xff
    002083b9db 0xff
    002083a0
    002083ba
    002083ba // align 0x10
    002083c0
    002083c0caml_power_float:
    002083c0sub rsp, 8
    002083c4movsd_xmm x0, [rdi]
    002083c8movsd_xmm x1, [rsi]
    002083cccall fn_f4790
    002083d1add rsp, 8
    002083d5jmp 0x2075f0
    002083dadb 0x12
    002083dbdb 0xf2
    002083dcdb 0xff
    002083dddb 0xff
    002083c0
    002083de
    002083de // align 0x10
    002083e0
    002083e0caml_sin_float:
    002083e0sub rsp, 8
    002083e4movsd_xmm x0, [rdi]
    002083e8call fn_f47e0
    002083edadd rsp, 8
    002083f1jmp 0x2075f0
    002083f6db 0xf6
    002083f7int 1
    002083f8db 0xff
    002083f9db 0xff
    002083e0
    002083fa
    002083fa // align 0x10
    00208400
    00208400caml_sinh_float:
    00208400sub rsp, 8
    00208404movsd_xmm x0, [rdi]
    00208408call fn_f4830
    0020840dadd rsp, 8
    00208411jmp 0x2075f0
    00208416db 0xd6
    00208417int 1
    00208418db 0xff
    00208419db 0xff
    00208400
    0020841a
    0020841a // align 0x10
    00208420
    00208420caml_cos_float:
    00208420sub rsp, 8
    00208424movsd_xmm x0, [rdi]
    00208428call fn_f42d0
    0020842dadd rsp, 8
    00208431jmp 0x2075f0
    00208436db 0xb6
    00208437int 1
    00208438db 0xff
    00208439db 0xff
    00208420
    0020843a
    0020843a // align 0x10
    00208440
    00208440caml_cosh_float:
    00208440sub rsp, 8
    00208444movsd_xmm x0, [rdi]
    00208448call fn_f43e0
    0020844dadd rsp, 8
    00208451jmp 0x2075f0
    00208456db 0x96
    00208457int 1
    00208458db 0xff
    00208459db 0xff
    00208440
    0020845a
    0020845a // align 0x10
    00208460
    00208460caml_tan_float:
    00208460sub rsp, 8
    00208464movsd_xmm x0, [rdi]
    00208468call fn_f4180
    0020846dadd rsp, 8
    00208471jmp 0x2075f0
    00208476db 0x76
    00208477int 1
    00208478db 0xff
    00208479db 0xff
    00208460
    0020847a
    0020847a // align 0x10
    00208480
    00208480caml_tanh_float:
    00208480sub rsp, 8
    00208484movsd_xmm x0, [rdi]
    00208488call fn_f40b0
    0020848dadd rsp, 8
    00208491jmp 0x2075f0
    00208496db 0x56
    00208497int 1
    00208498db 0xff
    00208499db 0xff
    00208480
    0020849a
    0020849a // align 0x10
    002084a0
    002084a0caml_asin_float:
    002084a0sub rsp, 8
    002084a4movsd_xmm x0, [rdi]
    002084a8call fn_f4420
    002084adadd rsp, 8
    002084b1jmp 0x2075f0
    002084b6db 0x36
    002084b7int 1
    002084b8db 0xff
    002084b9db 0xff
    002084a0
    002084ba
    002084ba // align 0x10
    002084c0
    002084c0caml_asinh:
    002084c0jmp 0xf40f0
    002084c5db 0x27
    002084c6db 0xbc
    002084c7out dx, al
    002084c8db 0xff
    002084c0
    002084c9
    002084c9 // align 0x10
    002084d0
    002084d0caml_asinh_float:
    002084d0sub rsp, 8
    002084d4movsd_xmm x0, [rdi]
    002084d8call fn_f40f0
    002084ddadd rsp, 8
    002084e1jmp 0x2075f0
    002084e6db 0x06
    002084e7int 1
    002084e8db 0xff
    002084e9db 0xff
    002084d0
    002084ea
    002084ea // align 0x10
    002084f0
    002084f0caml_acos_float:
    002084f0sub rsp, 8
    002084f4movsd_xmm x0, [rdi]
    002084f8call fn_f45c0
    002084fdadd rsp, 8
    00208501jmp 0x2075f0
    00208506db 0xe6
    00208507db 0xf0
    00208508db 0xff
    00208509db 0xff
    002084f0
    0020850a
    0020850a // align 0x10
    00208510
    00208510caml_acosh:
    00208510jmp 0xf40a0
    00208515db 0x87
    00208516db 0xbb
    00208517out dx, al
    00208518db 0xff
    00208510
    00208519
    00208519 // align 0x10
    00208520
    00208520caml_acosh_float:
    00208520sub rsp, 8
    00208524movsd_xmm x0, [rdi]
    00208528call fn_f40a0
    0020852dadd rsp, 8
    00208531jmp 0x2075f0
    00208536db 0xb6
    00208537db 0xf0
    00208538db 0xff
    00208539db 0xff
    00208520
    0020853a
    0020853a // align 0x10
    00208540
    00208540caml_atan_float:
    00208540sub rsp, 8
    00208544movsd_xmm x0, [rdi]
    00208548call fn_f4390
    0020854dadd rsp, 8
    00208551jmp 0x2075f0
    00208556db 0x96
    00208557db 0xf0
    00208558db 0xff
    00208559db 0xff
    00208540
    0020855a
    0020855a // align 0x10
    00208560
    00208560caml_atanh:
    00208560jmp 0xf4490
    00208565db 0x27
    00208566db 0xbf
    00208567out dx, al
    00208568db 0xff
    00208560
    00208569
    00208569 // align 0x10
    00208570
    00208570caml_atanh_float:
    00208570sub rsp, 8
    00208574movsd_xmm x0, [rdi]
    00208578call fn_f4490
    0020857dadd rsp, 8
    00208581jmp 0x2075f0
    00208586db 0x66
    00208587db 0xf0
    00208588db 0xff
    00208589db 0xff
    00208570
    0020858a
    0020858a // align 0x10
    00208590
    00208590caml_atan2_float:
    00208590sub rsp, 8
    00208594movsd_xmm x0, [rdi]
    00208598movsd_xmm x1, [rsi]
    0020859ccall fn_f4070
    002085a1add rsp, 8
    002085a5jmp 0x2075f0
    002085aadb 0x42
    002085abdb 0xf0
    002085acdb 0xff
    002085addb 0xff
    00208590
    002085ae
    002085ae // align 0x10
    002085b0
    002085b0caml_ceil_float:
    002085b0movsd_xmm x0, [rdi]
    002085b4movsd_xmm x2, [rip+0x21b60]
    002085bcmovsd_xmm x3, [rip+0x22268]
    002085c4movapd x1, x0
    002085c8andpd x1, x2
    002085ccucomisd x3, x1
    002085d0jbe 0x208609
    002085d2cvttsd2si rax, x0
    002085d7pxor x1, x1
    002085dbmovapd x3, x0
    002085dfmovsd_xmm x4, [rip+0x2221d]
    002085e7andnpd x2, x0
    002085ebcvtsi2sd x1, rax
    002085f0cmpsd x3, x1, 6
    002085f5andpd x3, x4
    002085f9addsd x1, x3
    002085fdmovapd x0, x1
    00208601orpd x0, x2
    00208605jmp 0x2075f0
    0020860adb 0xe2
    0020860bout dx, eax
    0020860cdb 0xff
    0020860ddb 0xff
    002085b0
    0020860e
    0020860e // align 0x10
    00208610
    00208610caml_hypot:
    00208610jmp 0xf4320
    00208615db 0x07
    00208616db 0xbd
    00208617out dx, al
    00208618db 0xff
    00208610
    00208619
    00208619 // align 0x10
    00208620
    00208620caml_hypot_float:
    00208620sub rsp, 8
    00208624movsd_xmm x0, [rdi]
    00208628movsd_xmm x1, [rsi]
    0020862ccall fn_f4320
    00208631add rsp, 8
    00208635jmp 0x2075f0
    0020863adb 0xb2
    0020863bout dx, eax
    0020863cdb 0xff
    0020863ddb 0xff
    00208620
    0020863e
    0020863e // align 0x10
    00208640
    00208640caml_expm1:
    00208640jmp 0xf4670
    00208645db 0x27
    00208646shr dh, -1
    00208640
    00208649
    00208649 // align 0x10
    00208650
    00208650caml_log1p:
    00208650jmp 0xf41e0
    00208655db 0x87
    00208656db 0xbb
    00208657out dx, al
    00208658db 0xff
    00208650
    00208659
    00208659 // align 0x10
    00208660
    00208660caml_expm1_float:
    00208660sub rsp, 8
    00208664movsd_xmm x0, [rdi]
    00208668call fn_f4670
    0020866dadd rsp, 8
    00208671jmp 0x2075f0
    00208676db 0x76
    00208677out dx, eax
    00208678db 0xff
    00208679db 0xff
    00208660
    0020867a
    0020867a // align 0x10
    00208680
    00208680caml_log1p_float:
    00208680sub rsp, 8
    00208684movsd_xmm x0, [rdi]
    00208688call fn_f41e0
    0020868dadd rsp, 8
    00208691jmp 0x2075f0
    00208696db 0x56
    00208697out dx, eax
    00208698db 0xff
    00208699db 0xff
    00208680
    0020869a
    0020869a // align 0x10
    002086a0
    002086a0caml_erf:
    002086a0jmp 0xf4510
    002086a5db 0x67
    002086a6db 0xbe
    002086a7out dx, al
    002086a8db 0xff
    002086a0
    002086a9
    002086a9 // align 0x10
    002086b0
    002086b0caml_erf_float:
    002086b0sub rsp, 8
    002086b4movsd_xmm x0, [rdi]
    002086b8call fn_f4510
    002086bdadd rsp, 8
    002086c1jmp 0x2075f0
    002086c6db 0x26
    002086c7out dx, eax
    002086c8db 0xff
    002086c9db 0xff
    002086b0
    002086ca
    002086ca // align 0x10
    002086d0
    002086d0caml_erfc:
    002086d0jmp 0xf44d0
    002086d5db 0xf7
    002086d6db 0xbd
    002086d7out dx, al
    002086d8db 0xff
    002086d0
    002086d9
    002086d9 // align 0x10
    002086e0
    002086e0caml_erfc_float:
    002086e0sub rsp, 8
    002086e4movsd_xmm x0, [rdi]
    002086e8call fn_f44d0
    002086edadd rsp, 8
    002086f1jmp 0x2075f0
    002086f6db 0xf6
    002086f7out dx, al
    002086f8db 0xff
    002086f9db 0xff
    002086e0
    002086fa
    002086fa // align 0x10
    00208700
    00208700caml_copysign:
    00208700movq x2, [rip+0x21924]
    00208708movapd x3, x0
    0020870cmovapd x0, x2
    00208710andpd x2, x1
    00208714andnpd x0, x3
    00208718orpd x0, x2
    0020871cret
    0020871ddb 0x0f
    0020871epush rsi
    0020871fdb 0xc2
    00208720ret
    00208700
    00208721
    00208721 // align 0x10
    00208730
    00208730caml_copysign_float:
    00208730movq x1, [rip+0x218f4]
    00208738movsd_xmm x3, [rdi]
    0020873cmovsd_xmm x2, [rsi]
    00208740movapd x0, x1
    00208744andnpd x0, x3
    00208748andpd x1, x2
    0020874corpd x0, x1
    00208750jmp 0x2075f0
    00208755db 0x97
    00208756out dx, al
    00208757db 0xff
    00208758db 0xff
    00208730
    00208759
    00208759 // align 0x10
    00208760
    00208760caml_signbit:
    00208760movmskpd eax, x0
    00208764and eax, 1
    00208767cmp eax, 1
    0020876asbb rax, rax
    0020876dand rax, -2
    00208771add rax, 3
    00208775ret
    00208776db 0x83
    00208777rol [rbx], -61
    00208760
    0020877a
    0020877a // align 0x10
    00208780
    00208780caml_signbit_float:
    00208780movsd_xmm x0, [rdi]
    00208784movmskpd eax, x0
    00208788and eax, 1
    0020878bcmp eax, 1
    0020878esbb rax, rax
    00208791and rax, -2
    00208795add rax, 3
    00208799ret
    0020879adb 0x83
    0020879brol [rbx], -61
    00208780
    0020879e
    0020879e // align 0x10
    002087a0
    002087a0caml_float_compare_unboxed:
    002087a0xor eax, eax
    002087a2comisd x0, x1
    002087a6seta al
    002087a9xor edx, edx
    002087abucomisd x0, x0
    002087afsetnp dl
    002087b2add rax, rdx
    002087b5xor edx, edx
    002087b7ucomisd x1, x1
    002087bbsetnp dl
    002087besub rax, rdx
    002087c1xor edx, edx
    002087c3comisd x1, x0
    002087c7seta dl
    002087casub rax, rdx
    002087cdret
    002087cedb 0x48
    002087cfsub eax, edx
    002087d1ret
    002087a0
    002087d2
    002087d2 // align 0x10
    002087e0
    002087e0caml_neq_float:
    002087e0movsd_xmm x0, [rdi]
    002087e4ucomisd x0, [rsi]
    002087e8jp 0x208800
    002087eamov eax, 1
    002087efjne 0x208800
    002087f1ret
    002087f2db 0x00
    002087f3jne 0x208800
    002087f5ret
    002087f6
    002087f6 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00208800
    00208800loc_208800:
    00208800mov eax, 3
    00208805ret
    002087e0
    00208806
    00208806 // align 0x10
    00208810
    00208810caml_eq_float:
    00208810movsd_xmm x0, [rdi]
    00208814ucomisd x0, [rsi]
    00208818jp 0x208825
    0020881amov eax, 3
    0020881fje 0x20882a
    00208821mov eax, 1
    00208826ret
    00208827db 0x00
    00208828add [rax], al
    0020882a
    0020882aloc_20882a:
    0020882aret
    00208810
    0020882b
    0020882b // align 0x10
    00208830
    00208830caml_le_float:
    00208830movsd_xmm x0, [rsi]
    00208834comisd x0, [rdi]
    00208838mov edx, 1
    0020883dmov eax, 3
    00208842cmovb rax, rdx
    00208846ret
    00208847db 0x0f
    00208848db 0x42
    00208849db 0xc2
    0020884aret
    00208830
    0020884b
    0020884b // align 0x10
    00208850
    00208850caml_lt_float:
    00208850movsd_xmm x0, [rsi]
    00208854xor eax, eax
    00208856comisd x0, [rdi]
    0020885aseta al
    0020885dlea rax, [rax+rax+1]
    00208862ret
    00208863db 0x44
    00208864add [rcx], al
    00208866ret
    00208850
    00208867
    00208867 // align 0x10
    00208870
    00208870caml_ge_float:
    00208870movsd_xmm x0, [rdi]
    00208874comisd x0, [rsi]
    00208878mov edx, 1
    0020887dmov eax, 3
    00208882cmovb rax, rdx
    00208886ret
    00208887db 0x0f
    00208888db 0x42
    00208889db 0xc2
    0020888aret
    00208870
    0020888b
    0020888b // align 0x10
    00208890
    00208890caml_gt_float:
    00208890movsd_xmm x0, [rdi]
    00208894xor eax, eax
    00208896comisd x0, [rsi]
    0020889aseta al
    0020889dlea rax, [rax+rax+1]
    002088a2ret
    002088a3db 0x44
    002088a4add [rcx], al
    002088a6ret
    00208890
    002088a7
    002088a7 // align 0x10
    002088b0
    002088b0caml_float_compare:
    002088b0movsd_xmm x0, [rsi]
    002088b4movsd_xmm x1, [rdi]
    002088b8xor eax, eax
    002088bacomisd x1, x0
    002088beseta al
    002088c1xor edx, edx
    002088c3ucomisd x1, x1
    002088c7setnp dl
    002088caadd rax, rdx
    002088cdxor edx, edx
    002088cfcomisd x0, x1
    002088d3seta dl
    002088d6sub rax, rdx
    002088d9xor edx, edx
    002088dbucomisd x0, x0
    002088dfsetnp dl
    002088e2sub rax, rdx
    002088e5lea rax, [rax+rax+1]
    002088earet
    002088ebdb 0x44
    002088ecadd [rcx], al
    002088eeret
    002088b0
    002088ef
    002088ef // align 0x10
    002088f0
    002088f0caml_classify_float_unboxed:
    002088f0movq rax, x0
    002088f5mov edx, 5
    002088famov rcx, rax
    002088fdadd rcx, rcx
    00208900je 0x20891e
    00208902shr rcx, 53
    00208906mov edx, 3
    0020890bje 0x20891e
    0020890dmov edx, 1
    00208912cmp ecx, 2047
    00208918je 0x208928
    0020891amov rax, rdx
    0020891dret
    0020891edb 0x48
    0020891fmov eax, edx
    00208921ret
    00208922
    00208922 66 0f 1f 44 00 00 f..D..
    00208928
    00208928loc_208928:
    00208928shl rax, 12
    0020892ccmp rax, 1
    00208930sbb rdx, rdx
    00208933and rdx, -2
    00208937add rdx, 9
    0020893bmov rax, rdx
    0020893eret
    002088f0
    0020893f
    0020893f // align 0x10
    00208940
    00208940caml_classify_float:
    00208940mov rcx, [rdi]
    00208943mov eax, 5
    00208948mov rdx, rcx
    0020894badd rdx, rdx
    0020894eje 0x20896c
    00208950shr rdx, 53
    00208954mov eax, 3
    00208959je 0x20896c
    0020895bmov eax, 1
    00208960cmp edx, 2047
    00208966je 0x208970
    00208968ret
    00208969db 0x00
    0020896aje 0x208970
    0020896c
    0020896cloc_20896c:
    0020896cret
    0020896d
    0020896d 0f 1f 00 ...
    00208970
    00208970loc_208970:
    00208970shl rcx, 12
    00208974cmp rcx, 1
    00208978sbb rax, rax
    0020897band rax, -2
    0020897fadd rax, 9
    00208983ret
    00208940
    00208984
    00208984 // align 0x10
    00208990
    00208990fn_208990:
    00208990push rbx
    00208991mov edi, 4
    00208996mov ebx, 3
    0020899bcall caml_ev_begin
    002089a0lea rdi, [rip+0x26553]
    002089a7xor eax, eax
    002089a9call caml_gc_log
    002089ae
    002089aeloc_2089ae:
    002089aexor edi, edi
    002089b0call caml_finish_major_cycle
    002089b5call caml_process_pending_actions_res
    002089batest eax, eax
    002089bcjne 0x208a08
    002089besub ebx, 1
    002089c1jne 0x2089ae
    002089c3mov rax, [rip+0x6d61e]
    002089camov edi, 4
    002089cfmov rax, [rax]
    002089d3add [rax+408], 1
    002089dbcall caml_ev_end
    002089e0xor r8l, r8l
    002089e3mov r9l, 1
    002089e9pop rbx
    002089eamov rsi, 0xffffffff00000000
    002089f4mov rcx, r8
    002089f7mov rdx, r9
    002089faand rcx, rsi
    002089fdmov r8, rcx
    00208a00mov eax, r8l
    00208a03ret
    00208a04
    00208a04 0f 1f 40 00 ..@.
    00208a08
    00208a08loc_208a08:
    00208a08mov r8, rax
    00208a0bmov r9, rdx
    00208a0epop rbx
    00208a0fmov eax, r8l
    00208a12mov rdx, r9
    00208a15ret
    00208990
    00208a16
    00208a16 // align 0x10
    00208a20
    00208a20caml_gc_quick_stat:
    00208a20push r14
    00208a22push r13
    00208a24push r12
    00208a26push rbp
    00208a27push rbx
    00208a28sub rsp, 192
    00208a2fmov rax, [0x28]
    00208a38mov [rsp+184], rax
    00208a40mov rax, [rip+0x6d59d]
    00208a47lea rdi, [rsp+16]
    00208a4cmov rbx, [rax]
    00208a50lea rax, [rsp+112]
    00208a55mov [rsp+8], 1
    00208a5emov rbp, [rbx+160]
    00208a65mov [rbx+160], rax
    00208a6cmov eax, 1
    00208a71movq x0, rax
    00208a76lea rax, [rsp+8]
    00208a7bpunpcklqdq x0, x0
    00208a7fmov [rsp+136], rax
    00208a87movups [rsp+120], x0
    00208a8cmov [rsp+112], rbp
    00208a91call caml_compute_gc_stats
    00208a96mov r13, [rip+0x16ffc7]
    00208a9dmov edi, 17
    00208aa2mov r14, [rip+0x17014b]
    00208aa9mov r12, [rip+0x17030c]
    00208ab0call caml_alloc_tuple
    00208ab5mov [rsp+8], rax
    00208abamov rax, [rsp+16]
    00208abftest rax, rax
    00208ac2js 0x208cc8
    00208ac8pxor x0, x0
    00208acccvtsi2sd x0, rax
    00208ad1call caml_copy_double
    00208ad6mov rdi, [rsp+8]
    00208adbmov rsi, rax
    00208adecall caml_modify
    00208ae3mov rax, [rsp+24]
    00208ae8test rax, rax
    00208aebjs 0x208d10
    00208af1pxor x0, x0
    00208af5cvtsi2sd x0, rax
    00208afacall caml_copy_double
    00208affmov rsi, rax
    00208b02mov rax, [rsp+8]
    00208b07lea rdi, [rax+8]
    00208b0bcall caml_modify
    00208b10mov rax, [rsp+32]
    00208b15test rax, rax
    00208b18js 0x208cf0
    00208b1epxor x0, x0
    00208b22cvtsi2sd x0, rax
    00208b27call caml_copy_double
    00208b2cmov rsi, rax
    00208b2fmov rax, [rsp+8]
    00208b34lea rdi, [rax+16]
    00208b38call caml_modify
    00208b3dmov rax, [rsp+8]
    00208b42lea rsi, [r14+r14+1]
    00208b47lea rdi, [rax+24]
    00208b4bcall caml_modify
    00208b50mov rax, [rsp+8]
    00208b55lea rsi, [r13+r13+1]
    00208b5alea rdi, [rax+32]
    00208b5ecall caml_modify
    00208b63mov rax, [rsp+88]
    00208b68add rax, [rsp+48]
    00208b6dlea rsi, [rax+rax+1]
    00208b72mov rax, [rsp+8]
    00208b77lea rdi, [rax+40]
    00208b7bcall caml_modify
    00208b80mov rax, [rsp+8]
    00208b85mov esi, 1
    00208b8alea rdi, [rax+48]
    00208b8ecall caml_modify
    00208b93mov rax, [rsp+88]
    00208b98add rax, [rsp+64]
    00208b9dlea rsi, [rax+rax+1]
    00208ba2mov rax, [rsp+8]
    00208ba7lea rdi, [rax+56]
    00208babcall caml_modify
    00208bb0mov rax, [rsp+104]
    00208bb5add rax, [rsp+72]
    00208bbalea rsi, [rax+rax+1]
    00208bbfmov rax, [rsp+8]
    00208bc4lea rdi, [rax+64]
    00208bc8call caml_modify
    00208bcdmov rax, [rsp+48]
    00208bd2mov rdx, [rsp+80]
    00208bd7add rdx, [rsp+64]
    00208bdcsub rax, rdx
    00208bdflea rsi, [rax+rax+1]
    00208be4mov rax, [rsp+8]
    00208be9lea rdi, [rax+72]
    00208bedcall caml_modify
    00208bf2mov rax, [rsp+8]
    00208bf7mov esi, 1
    00208bfclea rdi, [rax+80]
    00208c00call caml_modify
    00208c05mov rax, [rsp+8]
    00208c0amov esi, 1
    00208c0flea rdi, [rax+88]
    00208c13call caml_modify
    00208c18mov rax, [rsp+80]
    00208c1dlea rsi, [rax+rax+1]
    00208c22mov rax, [rsp+8]
    00208c27lea rdi, [rax+96]
    00208c2bcall caml_modify
    00208c30mov rax, [rsp+8]
    00208c35lea rsi, [r12+r12+1]
    00208c3alea rdi, [rax+104]
    00208c3ecall caml_modify
    00208c43mov rax, [rsp+96]
    00208c48add rax, [rsp+56]
    00208c4dlea rsi, [rax+rax+1]
    00208c52mov rax, [rsp+8]
    00208c57lea rdi, [rax+112]
    00208c5bcall caml_modify
    00208c60mov rax, [rsp+8]
    00208c65mov esi, 1
    00208c6alea rdi, [rax+120]
    00208c6ecall caml_modify
    00208c73mov rax, [rsp+40]
    00208c78lea rsi, [rax+rax+1]
    00208c7dmov rax, [rsp+8]
    00208c82lea rdi, [rax+128]
    00208c89call caml_modify
    00208c8emov [rbx+160], rbp
    00208c95mov rax, [rsp+8]
    00208c9amov rdx, [rsp+184]
    00208ca2sub rdx, [0x28]
    00208cabjne 0x208d2e
    00208cadadd rsp, 192
    00208cb4pop rbx
    00208cb5pop rbp
    00208cb6pop r12
    00208cb8pop r13
    00208cbapop r14
    00208cbcret
    00208cbddb 0x5d
    00208cbepop r14
    00208cc0ret
    00208cc1
    00208cc1 0f 1f 80 00 00 00 00 .......
    00208cc8
    00208cc8loc_208cc8:
    00208cc8mov rdx, rax
    00208ccband eax, 1
    00208ccepxor x0, x0
    00208cd2shr rdx, 1
    00208cd5or rdx, rax
    00208cd8cvtsi2sd x0, rdx
    00208cddaddsd x0, x0
    00208ce1jmp 0x208ad5
    00208ce6
    00208ce6 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00208cf0
    00208cf0loc_208cf0:
    00208cf0mov rdx, rax
    00208cf3and eax, 1
    00208cf6pxor x0, x0
    00208cfashr rdx, 1
    00208cfdor rdx, rax
    00208d00cvtsi2sd x0, rdx
    00208d05addsd x0, x0
    00208d09jmp 0x208b2b
    00208d0e
    00208d0e 66 90 f.
    00208d10
    00208d10loc_208d10:
    00208d10mov rdx, rax
    00208d13and eax, 1
    00208d16pxor x0, x0
    00208d1ashr rdx, 1
    00208d1dor rdx, rax
    00208d20cvtsi2sd x0, rdx
    00208d25addsd x0, x0
    00208d29jmp 0x208afe
    00208d2e
    00208d2eloc_208d2e:
    00208d2ecall fn_f4590
    00208a20
    00208d33
    00208d33 // align 0x10
    00208d40
    00208d40caml_gc_minor_words_unboxed:
    00208d40mov rax, [rip+0x6d29d]
    00208d47pxor x0, x0
    00208d4bmov rdx, [rax]
    00208d4fmov rax, [rdx+24]
    00208d53sub rax, [rdx+8]
    00208d57shr rax, 3
    00208d5bcvtsi2sd x0, rax
    00208d60mov rax, [rdx+384]
    00208d67test rax, rax
    00208d6ajs 0x208d80
    00208d6cpxor x1, x1
    00208d70cvtsi2sd x1, rax
    00208d75addsd x0, x1
    00208d79ret
    00208d7adb 0x0f
    00208d7bpop rax
    00208d7cdb 0xc1
    00208d7dret
    00208d7e
    00208d7e 66 90 f.
    00208d80
    00208d80loc_208d80:
    00208d80mov rdx, rax
    00208d83and eax, 1
    00208d86pxor x1, x1
    00208d8ashr rdx, 1
    00208d8dor rdx, rax
    00208d90cvtsi2sd x1, rdx
    00208d95addsd x1, x1
    00208d99addsd x0, x1
    00208d9dret
    00208d40
    00208d9e
    00208d9e // align 0x10
    00208da0
    00208da0caml_gc_minor_words:
    00208da0push rbp
    00208da1pxor x0, x0
    00208da5push rbx
    00208da6sub rsp, 8
    00208daamov rax, [rip+0x6d233]
    00208db1mov rbx, [rax]
    00208db5mov rax, [rbx+24]
    00208db9sub rax, [rbx+8]
    00208dbdshr rax, 3
    00208dc1mov rbp, [rbx+160]
    00208dc8cvtsi2sd x0, rax
    00208dcdmov rax, [rbx+384]
    00208dd4test rax, rax
    00208dd7js 0x208e00
    00208dd9pxor x1, x1
    00208dddcvtsi2sd x1, rax
    00208de2addsd x0, x1
    00208de6
    00208de6loc_208de6:
    00208de6call caml_copy_double
    00208debmov [rbx+160], rbp
    00208df2add rsp, 8
    00208df6pop rbx
    00208df7pop rbp
    00208df8ret
    00208df9db 0x08
    00208dfapop rbx
    00208dfbpop rbp
    00208dfcret
    00208dfd
    00208dfd 0f 1f 00 ...
    00208e00
    00208e00loc_208e00:
    00208e00mov rdx, rax
    00208e03and eax, 1
    00208e06pxor x1, x1
    00208e0ashr rdx, 1
    00208e0dor rdx, rax
    00208e10cvtsi2sd x1, rdx
    00208e15addsd x1, x1
    00208e19jmp 0x208de6
    00208da0
    00208e1b
    00208e1b // align 0x10
    00208e20
    00208e20caml_gc_counters:
    00208e20push r15
    00208e22push r14
    00208e24push rbp
    00208e25push rbx
    00208e26sub rsp, 120
    00208e2amovdqa x0, [rip+0x212ba]
    00208e32mov rax, [0x28]
    00208e3bmov [rsp+104], rax
    00208e40mov rax, [rip+0x6d19d]
    00208e47mov rbx, [rax]
    00208e4blea rax, [rsp+32]
    00208e50movups [rsp+40], x0
    00208e55movq x0, rsp
    00208e5amov [rsp], 1
    00208e62mov [rsp+8], 1
    00208e6bmov rbp, [rbx+160]
    00208e72mov [rbx+160], rax
    00208e79lea rax, [rsp+8]
    00208e7emovq x2, rax
    00208e83lea rax, [rsp+16]
    00208e88mov [rsp+32], rbp
    00208e8dmov [rsp+16], 1
    00208e96punpcklqdq x0, x2
    00208e9amovups [rsp+56], x0
    00208e9fmovq x0, rax
    00208ea4lea rax, [rsp+24]
    00208ea9mov [rsp+24], 1
    00208eb2movq x3, rax
    00208eb7mov rax, [rbx+392]
    00208ebepunpcklqdq x0, x3
    00208ec2movups [rsp+72], x0
    00208ec7test rax, rax
    00208ecajs 0x208fb0
    00208ed0pxor x4, x4
    00208ed4cvtsi2sd x4, rax
    00208ed9mov rax, [rbx+400]
    00208ee0movq r14, x4
    00208ee5test rax, rax
    00208ee8js 0x208fde
    00208eeepxor x1, x1
    00208ef2
    00208ef2loc_208ef2:
    00208ef2cvtsi2sd x1, rax
    00208ef7mov rax, [rbx+128]
    00208efetest rax, rax
    00208f01js 0x209007
    00208f07pxor x0, x0
    00208f0b
    00208f0bloc_208f0b:
    00208f0bcvtsi2sd x0, rax
    00208f10mov rax, [rbx+24]
    00208f14
    00208f14loc_208f14:
    00208f14sub rax, [rbx+8]
    00208f18addsd x1, x0
    00208f1cpxor x0, x0
    00208f20shr rax, 3
    00208f24cvtsi2sd x0, rax
    00208f29mov rax, [rbx+384]
    00208f30movq r15, x1
    00208f35test rax, rax
    00208f38js 0x209028
    00208f3epxor x1, x1
    00208f42cvtsi2sd x1, rax
    00208f47addsd x0, x1
    00208f4b
    00208f4bloc_208f4b:
    00208f4bcall caml_copy_double
    00208f50movq x0, r14
    00208f55mov [rsp], rax
    00208f59call caml_copy_double
    00208f5emovq x0, r15
    00208f63mov [rsp+8], rax
    00208f68call caml_copy_double
    00208f6dmov rdx, [rsp+8]
    00208f72mov rsi, [rsp]
    00208f76xor edi, edi
    00208f78mov rcx, rax
    00208f7bmov [rsp+16], rax
    00208f80call caml_alloc_3
    00208f85mov [rbx+160], rbp
    00208f8cmov rdx, [rsp+104]
    00208f91sub rdx, [0x28]
    00208f9ajne 0x209046
    00208fa0add rsp, 120
    00208fa4pop rbx
    00208fa5pop rbp
    00208fa6pop r14
    00208fa8pop r15
    00208faaret
    00208fabdb 0x5e
    00208facpop r15
    00208faeret
    00208faf
    00208faf 90 .
    00208fb0
    00208fb0loc_208fb0:
    00208fb0mov rdx, rax
    00208fb3and eax, 1
    00208fb6pxor x0, x0
    00208fbashr rdx, 1
    00208fbdor rdx, rax
    00208fc0mov rax, [rbx+400]
    00208fc7cvtsi2sd x0, rdx
    00208fccaddsd x0, x0
    00208fd0movq r14, x0
    00208fd5test rax, rax
    00208fd8jns 0x208ef2
    00208fde
    00208fdeloc_208fde:
    00208fdemov rdx, rax
    00208fe1and eax, 1
    00208fe4pxor x1, x1
    00208fe8shr rdx, 1
    00208febor rdx, rax
    00208feemov rax, [rbx+128]
    00208ff5cvtsi2sd x1, rdx
    00208ffaaddsd x1, x1
    00208ffetest rax, rax
    00209001jns 0x208f0b
    00209007
    00209007loc_209007:
    00209007mov rdx, rax
    0020900aand eax, 1
    0020900dpxor x0, x0
    00209011shr rdx, 1
    00209014or rdx, rax
    00209017cvtsi2sd x0, rdx
    0020901caddsd x0, x0
    00209020jmp 0x208f14
    00209025
    00209025 0f 1f 00 ...
    00209028
    00209028loc_209028:
    00209028mov rdx, rax
    0020902band eax, 1
    0020902epxor x1, x1
    00209032shr rdx, 1
    00209035or rdx, rax
    00209038cvtsi2sd x1, rdx
    0020903daddsd x1, x1
    00209041jmp 0x208f4b
    00209046
    00209046loc_209046:
    00209046call fn_f4590
    00208e20
    0020904b
    0020904b // align 0x10
    00209050
    00209050caml_gc_get:
    00209050push r12
    00209052mov edi, 11
    00209057push rbp
    00209058push rbx
    00209059sub rsp, 96
    0020905dmov r12, [0x28]
    00209066mov [rsp+88], r12
    0020906bmov r12, [rip+0x6cf72]
    00209072lea rax, [rsp+16]
    00209077mov rbx, [r12]
    0020907cmov [rsp+8], 1
    00209085mov rbp, [rbx+160]
    0020908cmov [rbx+160], rax
    00209093mov eax, 1
    00209098movq x0, rax
    0020909dlea rax, [rsp+8]
    002090a2punpcklqdq x0, x0
    002090a6mov [rsp+16], rbp
    002090abmovups [rsp+24], x0
    002090b0mov [rsp+40], rax
    002090b5call caml_alloc_tuple
    002090bamov rdi, rax
    002090bdmov [rsp+8], rax
    002090c2mov rax, [r12]
    002090c7mov rax, [rax+272]
    002090celea rsi, [rax+rax+1]
    002090d3call caml_modify
    002090d8mov rax, [rip+0x16f2bd]
    002090dflea rsi, [rax+rax+1]
    002090e4mov rax, [rsp+8]
    002090e9lea rdi, [rax+16]
    002090edcall caml_modify
    002090f2mov rax, [rip+0x16fb33]
    002090f9lea rsi, [rax+rax+1]
    002090femov rax, [rsp+8]
    00209103lea rdi, [rax+24]
    00209107call caml_modify
    0020910cmov rax, [rip+0x16f651]
    00209113lea rsi, [rax+rax+1]
    00209118mov rax, [rsp+8]
    0020911dlea rdi, [rax+40]
    00209121call caml_modify
    00209126mov rax, [rip+0x16f1ff]
    0020912dlea rsi, [rax+rax+1]
    00209132mov rax, [rsp+8]
    00209137lea rdi, [rax+64]
    0020913bcall caml_modify
    00209140mov rax, [rip+0x16f1dd]
    00209147lea rsi, [rax+rax+1]
    0020914cmov rax, [rsp+8]
    00209151lea rdi, [rax+72]
    00209155call caml_modify
    0020915amov rax, [rip+0x16f1bb]
    00209161lea rsi, [rax+rax+1]
    00209166mov rax, [rsp+8]
    0020916blea rdi, [rax+80]
    0020916fcall caml_modify
    00209174mov [rbx+160], rbp
    0020917bmov rax, [rsp+8]
    00209180mov rdx, [rsp+88]
    00209185sub rdx, [0x28]
    0020918ejne 0x20919d
    00209190add rsp, 96
    00209194pop rbx
    00209195pop rbp
    00209196pop r12
    00209198ret
    00209199call fn_f4590
    0020919edb 0xee
    0020919fmov bl, 238
    002091a1db 0xff
    00209050
    002091a2
    002091a2 // align 0x10
    002091b0
    002091b0caml_gc_set:
    002091b0push r15
    002091b2push r14
    002091b4push r13
    002091b6push r12
    002091b8push rbp
    002091b9mov rbp, rdi
    002091bcpush rbx
    002091bdsub rsp, 24
    002091c1mov rdi, [rdi]
    002091c4sar rdi, 1
    002091c7call caml_norm_minor_heap_size
    002091ccmov rdx, [rbp+16]
    002091d0mov r13, [rbp+24]
    002091d4mov rbx, rax
    002091d7mov eax, 1
    002091dcmov r14, [rbp+40]
    002091e0mov r12, [rbp+64]
    002091e4sar rdx, 1
    002091e7cmove rdx, rax
    002091ebmov rax, [rbp+72]
    002091efxor edi, edi
    002091f1mov r15, [rbp+80]
    002091f5sar r13, 1
    002091f8mov [rsp], rdx
    002091fcmov [rsp+8], rax
    00209201call caml_ev_begin
    00209206mov rdi, r14
    00209209sar rdi, 1
    0020920ccall caml_change_max_stack_size
    00209211mov rdx, [rsp]
    00209215cmp [rip+0x16f180], rdx
    0020921cje 0x20923c
    0020921elea rsi, [rip+0x25ce9]
    00209225mov edi, 32
    0020922axor eax, eax
    0020922cmov [rip+0x16f169], rdx
    00209233call caml_gc_message
    00209238mov [rip+0x16f9ed], r13
    0020923fmov rax, [rbp-8]
    00209243cmp rax, 11263
    00209249jbe 0x209290
    0020924bsar r12, 1
    0020924emov eax, 1
    00209253cmove r12, rax
    00209257cmp [rip+0x16f0ce], r12
    0020925ejne 0x209330
    00209264mov rbp, [rsp+8]
    00209269mov eax, 1
    0020926esar rbp, 1
    00209271cmove rbp, rax
    00209275cmp [rip+0x16f0a8], rbp
    0020927cjne 0x209300
    0020927esar r15, 1
    00209281cmp [rip+0x16f094], r15
    00209288jne 0x2092e0
    0020928anop
    0020928cmov rbp, [rip+0x6cd51]
    00209293mov rax, [rbp]
    00209298cmp [rax+272], rbx
    0020929fjne 0x209358
    002092a5mov r12, rbx
    002092a8shr r12, 10
    002092accmp [rip+0x16f321], rbx
    002092b3jb 0x20937e
    002092b9xor edi, edi
    002092bbcall caml_ev_end
    002092c0add rsp, 24
    002092c4mov eax, 1
    002092c9pop rbx
    002092capop rbp
    002092cbpop r12
    002092cdpop r13
    002092cfpop r14
    002092d1pop r15
    002092d3ret
    002092d4db 0x5e
    002092d5pop r15
    002092d7ret
    002092d8
    002092d8 0f 1f 84 00 00 00 00 00 ........
    002092e0
    002092e0loc_2092e0:
    002092e0mov rdx, r15
    002092e3lea rsi, [rip+0x270f6]
    002092eamov edi, 32
    002092efxor eax, eax
    002092f1mov [rip+0x16f028], r15
    002092f8call caml_gc_message
    002092fdjmp 0x209290
    002092ff
    002092ff 90 .
    00209300
    00209300loc_209300:
    00209300xor eax, eax
    00209302mov rdx, rbp
    00209305lea rsi, [rip+0x270b4]
    0020930csar r15, 1
    0020930fmov edi, 32
    00209314mov [rip+0x16f00d], rbp
    0020931bcall caml_gc_message
    00209320cmp [rip+0x16eff9], r15
    00209327je 0x209290
    0020932djmp 0x2092e0
    0020932f
    0020932f 90 .
    00209330
    00209330loc_209330:
    00209330mov rdx, r12
    00209333lea rsi, [rip+0x27066]
    0020933amov edi, 32
    0020933fxor eax, eax
    00209341mov [rip+0x16efe8], r12
    00209348call caml_gc_message
    0020934djmp 0x209268
    00209352
    00209352 66 0f 1f 44 00 00 f..D..
    00209358
    00209358loc_209358:
    00209358mov r12, rbx
    0020935bxor eax, eax
    0020935dmov edi, 32
    00209362shr r12, 10
    00209366lea rsi, [rip+0x2709b]
    0020936dmov rdx, r12
    00209370call caml_gc_message
    00209375cmp [rip+0x16f25c], rbx
    0020937cjae 0x209397
    0020937e
    0020937eloc_20937e:
    0020937elea rdi, [rip+0x270ab]
    00209385mov rsi, r12
    00209388xor eax, eax
    0020938acall caml_gc_log
    0020938fmov rdi, rbx
    00209392call caml_update_minor_heap_max
    00209397
    00209397loc_209397:
    00209397mov rax, [rbp]
    0020939cmov rsi, [rax+272]
    002093a3cmp rsi, rbx
    002093a6je 0x2092bd
    002093acshr rsi, 10
    002093b0xor eax, eax
    002093b2lea rdi, [rip+0x2709f]
    002093b9call caml_gc_log
    002093bemov rsi, rbx
    002093c1lea rdi, [rip+0x270b8]
    002093c8xor eax, eax
    002093cashr rsi, 10
    002093cecall caml_gc_log
    002093d3mov rdi, rbx
    002093d6call caml_set_minor_heap_size
    002093dbjmp 0x2092bd
    002091b0
    002093e0
    002093e0caml_gc_minor:
    002093e0push r13
    002093e2push r12
    002093e4sub rsp, 8
    002093e8mov rax, [rip+0x6cbf5]
    002093efcmp [rax], 0
    002093f4je 0x209430
    002093f6mov edi, 2
    002093fbcall caml_ev_begin
    00209400call caml_minor_collection
    00209405call caml_process_pending_actions_res
    0020940amov edi, 2
    0020940fmov r12, rax
    00209412mov r13, rdx
    00209415call caml_ev_end
    0020941amov rax, r13
    0020941dtest r12l, r12l
    00209420jne 0x209435
    00209422add rsp, 8
    00209426pop r12
    00209428pop r13
    0020942aret
    0020942bdb 0x5c
    0020942cpop r13
    0020942eret
    0020942f
    0020942f 90 .
    00209430
    00209430loc_209430:
    00209430call caml_bad_caml_state
    00209435
    00209435loc_209435:
    00209435mov rdi, r13
    00209438call caml_raise
    002093e0
    0020943d
    0020943d // align 0x10
    00209440
    00209440caml_gc_major:
    00209440push r13
    00209442push r12
    00209444sub rsp, 8
    00209448mov rax, [rip+0x6cb95]
    0020944fcmp [rax], 0
    00209454je 0x2094a8
    00209456mov edi, 3
    0020945bcall caml_ev_begin
    00209460xor eax, eax
    00209462lea rdi, [rip+0x25ac0]
    00209469call caml_gc_log
    0020946ecall caml_empty_minor_heaps_once
    00209473xor edi, edi
    00209475call caml_finish_major_cycle
    0020947acall caml_process_pending_actions_res
    0020947fmov edi, 3
    00209484mov r12, rax
    00209487mov r13, rdx
    0020948acall caml_ev_end
    0020948fmov rax, r13
    00209492test r12l, r12l
    00209495jne 0x2094ad
    00209497add rsp, 8
    0020949bpop r12
    0020949dpop r13
    0020949fret
    002094a0db 0x5c
    002094a1pop r13
    002094a3ret
    002094a4
    002094a4 0f 1f 40 00 ..@.
    002094a8
    002094a8loc_2094a8:
    002094a8call caml_bad_caml_state
    002094ad
    002094adloc_2094ad:
    002094admov rdi, r13
    002094b0call caml_raise
    00209440
    002094b5
    002094b5 // align 0x10
    002094c0
    002094c0caml_gc_full_major:
    002094c0sub rsp, 8
    002094c4mov rax, [rip+0x6cb19]
    002094cbcmp [rax], 0
    002094d0je 0x2094f0
    002094d2call fn_208990
    002094d7mov rdi, rdx
    002094datest eax, eax
    002094dcjne 0x2094f5
    002094demov rax, rdx
    002094e1add rsp, 8
    002094e5ret
    002094e6db 0x83
    002094e7db 0xc4
    002094e8or bl, al
    002094ea
    002094ea 66 0f 1f 44 00 00 f..D..
    002094f0
    002094f0loc_2094f0:
    002094f0call caml_bad_caml_state
    002094f5
    002094f5loc_2094f5:
    002094f5call caml_raise
    002094c0
    002094fa
    002094fa // align 0x10
    00209500
    00209500caml_gc_major_slice:
    00209500push r13
    00209502push r12
    00209504mov r12, rdi
    00209507mov edi, 16
    0020950csub rsp, 8
    00209510call caml_ev_begin
    00209515mov rdi, r12
    00209518sar rdi, 1
    0020951bcall caml_major_collection_slice
    00209520call caml_process_pending_actions_res
    00209525mov edi, 16
    0020952amov r12, rax
    0020952dmov r13, rdx
    00209530call caml_ev_end
    00209535mov rax, r13
    00209538test r12l, r12l
    0020953bjne 0x20954a
    0020953dadd rsp, 8
    00209541pop r12
    00209543pop r13
    00209545ret
    00209546mov rdi, r13
    00209549call caml_raise
    0020954edb 0x4e
    0020954fretf
    00209550add [rax], eax
    00209500
    00209552
    00209552 // align 0x10
    00209560
    00209560caml_gc_compaction:
    00209560push rbp
    00209561push rbx
    00209562sub rsp, 8
    00209566mov rbp, [rip+0x6ca77]
    0020956dcmp [rbp], 0
    00209573je 0x2095f8
    00209575mov edi, 5
    0020957axor ebx, ebx
    0020957ccall caml_ev_begin
    00209581xor edi, edi
    00209583cmp ebx, 2
    00209586sete dil
    0020958acall caml_finish_major_cycle
    0020958fcall caml_process_pending_actions_res
    00209594test eax, eax
    00209596jne 0x2095d0
    00209598add ebx, 1
    0020959bcmp ebx, 3
    0020959ejne 0x209585
    002095a0mov rax, [rbp]
    002095a5mov edi, 5
    002095aamov rbx, rdx
    002095adadd [rax+408], 1
    002095b5call caml_ev_end
    002095baadd rsp, 8
    002095bemov rax, rbx
    002095c1pop rbx
    002095c2pop rbp
    002095c3ret
    002095c4db 0xd8
    002095c5pop rbx
    002095c6pop rbp
    002095c7ret
    002095c8
    002095c8 0f 1f 84 00 00 00 00 00 ........
    002095d0
    002095d0loc_2095d0:
    002095d0mov rax, [rbp]
    002095d5mov rbx, rdx
    002095d8mov edi, 5
    002095ddadd [rax+408], 1
    002095e5call caml_ev_end
    002095eamov rdi, rbx
    002095edcall caml_raise
    002095f2nop [rax+rax]
    002095f8
    002095f8loc_2095f8:
    002095f8call caml_bad_caml_state
    00209560
    002095fd
    002095fd // align 0x10
    00209600
    00209600caml_gc_stat:
    00209600push rbx
    00209601mov edi, 1
    00209606call caml_ev_begin
    0020960bcall fn_208990
    00209610test eax, eax
    00209612je 0x209630
    00209614mov rbx, rdx
    00209617mov edi, 1
    0020961ccall caml_ev_end
    00209621mov rdi, rbx
    00209624call caml_raise
    00209629nop [rax]
    0020962cmov edi, 1
    00209631call caml_gc_quick_stat
    00209636mov edi, 1
    0020963bmov rbx, rax
    0020963ecall caml_ev_end
    00209643mov rax, rbx
    00209646pop rbx
    00209647ret
    00209648db 0x89
    00209649fcomp [rbx-61]
    00209600
    0020964c
    0020964c // align 0x10
    00209650
    00209650caml_get_minor_free:
    00209650mov rax, [rip+0x6c98d]
    00209657mov rdx, [rax]
    0020965bmov rax, [rdx+8]
    0020965fsub rax, [rdx+16]
    00209663lea rax, [rax+rax+1]
    00209668ret
    00209669db 0x44
    0020966aadd [rcx], al
    0020966cret
    00209650
    0020966d
    0020966d // align 0x10
    00209670
    00209670caml_init_gc:
    00209670push rbx
    00209671mov rbx, [rip+0x6c2dc]
    00209678mov rdi, [rbx+88]
    0020967ccall caml_norm_minor_heap_size
    00209681mov [rip+0x16ef4c], rax
    00209688mov rax, [rbx+120]
    0020968cxchg [rip+0x16f0d1], rax
    00209693mov edx, 1
    00209698lea rdi, [rip+0x26dfd]
    0020969fmov [rip+0x16f0b2], 64
    002096aamov rax, [rbx+80]
    002096aemov rsi, [rbx+120]
    002096b2test rax, rax
    002096b5cmove rax, rdx
    002096b9shr rsi, 10
    002096bdshl rsi, 3
    002096c1mov [rip+0x16ecd4], rax
    002096c8xor eax, eax
    002096cacall caml_gc_log
    002096cfmov rax, [rbx+96]
    002096d3mov edx, 1
    002096d8mov [rip+0x16f37a], 0
    002096e2test rax, rax
    002096e5cmove rax, rdx
    002096e9mov [rip+0x16ec3c], rax
    002096f0mov rax, [rbx+104]
    002096f4test rax, rax
    002096f7cmove rax, rdx
    002096fbmov [rip+0x16ec22], rax
    00209702mov rax, [rbx+112]
    00209706mov [rip+0x16ec0f], rax
    0020970dcall caml_init_frame_descriptors
    00209712mov rdi, [rbx+160]
    00209719mov rsi, [rbx+88]
    0020971dcall caml_init_domains
    00209722mov rdi, [rbx+160]
    00209729pop rbx
    0020972ajmp 0x209ac0
    0020972fdb 0x8d
    00209730add eax, [rax]
    00209732db 0x00
    00209670
    00209733
    00209733 // align 0x10
    00209740
    00209740caml_runtime_variant:
    00209740lea rdi, [rip+0x257e1]
    00209747jmp 0x1f8ba0
    0020974cdb 0x50
    0020974dhlt
    0020974edb 0xfe
    0020974fdb 0xff
    00209740
    00209750
    00209750caml_runtime_parameters:
    00209750push r15
    00209752push r14
    00209754push r13
    00209756push r12
    00209758push rbp
    00209759push rbx
    0020975asub rsp, 16
    0020975emov rax, [rip+0x6c1ef]
    00209765mov r15, [rip+0x16f4b0]
    0020976cmov r14, [rax+56]
    00209770mov r13, [rip+0x16f4b5]
    00209777mov rsi, [rip+0x6c866]
    0020977emov r12, [rax+40]
    00209782mov r11, [rip+0x16ec13]
    00209789mov r10, [rip+0x16eb8c]
    00209790mov rdx, [rsi]
    00209794mov rdi, [rip+0x16eb89]
    0020979bmov r9, [rip+0x16eb8a]
    002097a2mov rbp, [rdx+272]
    002097a9mov ebx, [rdx+264]
    002097afmov r8, [rip+0x16efae]
    002097b6mov rcx, [rax+48]
    002097bamov rdx, [rax+144]
    002097c1mov rax, [rsi]
    002097c5mov rsi, [rax+192]
    002097ccpush r15
    002097cexor eax, eax
    002097d0push r14
    002097d2push r13
    002097d4push r12
    002097d6push rbp
    002097d7push rbx
    002097d8push r11
    002097dapush r10
    002097dcpush rdi
    002097ddlea rdi, [rip+0x26cd8]
    002097e4call caml_alloc_sprintf
    002097e9add rsp, 88
    002097edpop rbx
    002097eepop rbp
    002097efpop r12
    002097f1pop r13
    002097f3pop r14
    002097f5pop r15
    002097f7ret
    002097f8db 0x5e
    002097f9pop r15
    002097fbret
    00209750
    002097fc
    002097fc // align 0x10
    00209800
    00209800caml_ml_enable_runtime_warnings:
    00209800sar rdi, 1
    00209803mov eax, 1
    00209808movsxd rdi, edi
    0020980bmov [rip+0x16f40a], rdi
    00209812ret
    00209813db 0xf4
    00209814db 0x16
    00209815add bl, al
    00209800
    00209817
    00209817 // align 0x10
    00209820
    00209820caml_ml_runtime_warnings_enabled:
    00209820cmp [rip+0x16f3f4], 0
    00209828mov edx, 3
    0020982dmov eax, 1
    00209832cmovne rax, rdx
    00209836ret
    00209837db 0x0f
    00209838db 0x45
    00209839db 0xc2
    0020983aret
    00209820
    0020983b
    0020983b // align 0x10
    00209840
    00209840caml_accum_heap_stats:
    00209840mov rcx, [rsi]
    00209843mov rdx, rsi
    00209846mov rsi, [rdi+8]
    0020984aadd rcx, [rdi]
    0020984dcmp rcx, rsi
    00209850mov [rdi], rcx
    00209853cmovl rcx, rsi
    00209857mov [rdi+8], rcx
    0020985bmov rsi, [rdx+8]
    0020985fcmp rsi, rcx
    00209862cmovl rsi, rcx
    00209866mov [rdi+8], rsi
    0020986amov rsi, [rdi+48]
    0020986emov rcx, [rdx+16]
    00209872add [rdi+16], rcx
    00209876mov rcx, [rdx+24]
    0020987aadd [rdi+24], rcx
    0020987emov rcx, [rdx+32]
    00209882add [rdi+32], rcx
    00209886mov rcx, [rdx+40]
    0020988aadd rcx, [rdi+40]
    0020988ecmp rcx, rsi
    00209891mov [rdi+40], rcx
    00209895cmovl rcx, rsi
    00209899mov [rdi+48], rcx
    0020989dmov rsi, [rdx+48]
    002098a1cmp rsi, rcx
    002098a4cmovl rsi, rcx
    002098a8mov [rdi+48], rsi
    002098acmov rdx, [rdx+56]
    002098b0add [rdi+56], rdx
    002098b4ret
    002098b5db 0x01
    002098b6push rdi
    002098b7cmp bl, al
    00209840
    002098b9
    002098b9 // align 0x10
    002098c0
    002098c0caml_remove_heap_stats:
    002098c0mov rax, [rsi]
    002098c3sub [rdi], rax
    002098c6mov rax, [rsi+16]
    002098casub [rdi+16], rax
    002098cemov rax, [rsi+24]
    002098d2sub [rdi+24], rax
    002098d6mov rax, [rsi+32]
    002098dasub [rdi+32], rax
    002098demov rax, [rsi+40]
    002098e2sub [rdi+40], rax
    002098e6mov rax, [rsi+56]
    002098easub [rdi+56], rax
    002098eeret
    002098efdb 0x29
    002098f0cmp r11b, r8b
    002098c0
    002098f3
    002098f3 // align 0x10
    00209900
    00209900caml_accum_alloc_stats:
    00209900mov rax, [rsi]
    00209903add [rdi], rax
    00209906mov rax, [rsi+8]
    0020990aadd [rdi+8], rax
    0020990emov rax, [rsi+16]
    00209912add [rdi+16], rax
    00209916mov rax, [rsi+24]
    0020991aadd [rdi+24], rax
    0020991eret
    0020991fdb 0x01
    00209920sbb r11b, r8b
    00209900
    00209923
    00209923 // align 0x10
    00209930
    00209930caml_collect_alloc_stats_sample:
    00209930mov rax, [rdi+384]
    00209937mov [rsi], rax
    0020993amov rax, [rdi+392]
    00209941mov [rsi+8], rax
    00209945mov rax, [rdi+400]
    0020994cmov [rsi+16], rax
    00209950mov rax, [rdi+408]
    00209957mov [rsi+24], rax
    0020995bret
    0020995cdb 0x89
    0020995dsbb bl, r8b
    00209930
    00209960
    00209960caml_reset_domain_alloc_stats:
    00209960mov [rdi+400], 0
    0020996bpxor x0, x0
    0020996fmov [rdi+408], 0
    0020997amovups [rdi+384], x0
    00209981ret
    00209982db 0x01
    00209983add [rax], al
    00209985ret
    00209960
    00209986
    00209986 // align 0x10
    00209990
    00209990caml_accum_orphan_alloc_stats:
    00209990push rbp
    00209991lea rbp, [rip+0x16ee24]
    00209998push rbx
    00209999mov rbx, rdi
    0020999cmov rdi, rbp
    0020999fsub rsp, 8
    002099a3call fn_f4710
    002099a8test eax, eax
    002099aajne 0x2099ee
    002099acmov rax, [rip+0x16ede9]
    002099b3add [rbx], rax
    002099b6mov rdi, rbp
    002099b9mov rax, [rip+0x16ede4]
    002099c0add [rbx+8], rax
    002099c4mov rax, [rip+0x16ede1]
    002099cbadd [rbx+16], rax
    002099cfmov rax, [rip+0x16edde]
    002099d6add [rbx+24], rax
    002099dacall fn_f47c0
    002099dftest eax, eax
    002099e1jne 0x2099fc
    002099e3add rsp, 8
    002099e7pop rbx
    002099e8pop rbp
    002099e9ret
    002099eamov esi, eax
    002099eclea rdi, [rip+0x25b18]
    002099f3call caml_plat_fatal_error
    002099f8mov esi, eax
    002099falea rdi, [rip+0x25b15]
    00209a01call caml_plat_fatal_error
    00209a06db 0xc6
    00209a07db 0x1f
    00209a08add [rax], eax
    00209990
    00209a0a
    00209a0a // align 0x10
    00209a10
    00209a10caml_orphan_alloc_stats:
    00209a10push r12
    00209a12pxor x1, x1
    00209a16push rbp
    00209a17push rbx
    00209a18lea rbx, [rip+0x16ed9d]
    00209a1fsub rsp, 16
    00209a23mov r12, [rdi+400]
    00209a2amov rbp, [rdi+408]
    00209a31mov [rdi+400], 0
    00209a3cmov [rdi+408], 0
    00209a47movdqu x0, [rdi+384]
    00209a4fmovups [rdi+384], x1
    00209a56mov rdi, rbx
    00209a59movaps [rsp], x0
    00209a5dcall fn_f4710
    00209a62movdqa x0, [rsp]
    00209a67test eax, eax
    00209a69jne 0x209aa1
    00209a6bpaddq x0, [rip+0x16ed29]
    00209a73mov rdi, rbx
    00209a76add [rip+0x16ed2f], r12
    00209a7dadd [rip+0x16ed30], rbp
    00209a84movaps [rip+0x16ed11], x0
    00209a8bcall fn_f47c0
    00209a90test eax, eax
    00209a92jne 0x209aaf
    00209a94add rsp, 16
    00209a98pop rbx
    00209a99pop rbp
    00209a9apop r12
    00209a9cret
    00209a9dmov esi, eax
    00209a9flea rdi, [rip+0x25a65]
    00209aa6call caml_plat_fatal_error
    00209aabmov esi, eax
    00209aadlea rdi, [rip+0x25a62]
    00209ab4call caml_plat_fatal_error
    00209ab9db 0x13
    00209abadb 0x1f
    00209abbadd [rax], eax
    00209a10
    00209abd
    00209abd // align 0x10
    00209ac0
    00209ac0caml_init_gc_stats:
    00209ac0sub rsp, 8
    00209ac4mov esi, 96
    00209ac9call caml_stat_calloc_noexc
    00209acemov [rip+0x16eca7], rax
    00209ad5test rax, rax
    00209ad8je 0x209ae3
    00209adaadd rsp, 8
    00209aderet
    00209adflea rdi, [rip+0x26a2e]
    00209ae6call caml_fatal_error
    00209aebdb 0x41
    00209aecadc eax, [rcx]
    00209aeedb 0x00
    00209ac0
    00209aef
    00209aef // align 0x10
    00209af0
    00209af0caml_collect_gc_stats_sample_stw:
    00209af0push rbp
    00209af1mov rbp, rdi
    00209af4push rbx
    00209af5sub rsp, 8
    00209af9movsxd rax, [rdi+288]
    00209b00lea rbx, [rax+2*rax]
    00209b04shl rbx, 5
    00209b08add rbx, [rip+0x16ec6d]
    00209b0fcall caml_domain_terminating
    00209b14test eax, eax
    00209b16je 0x209b50
    00209b18lea rdi, [rbx+8]
    00209b1cmov [rbx], 0
    00209b23xor eax, eax
    00209b25and rdi, -8
    00209b29mov [rbx+88], 0
    00209b31sub rbx, rdi
    00209b34lea ecx, [rbx+96]
    00209b37shr ecx, 3
    00209b3arep stosq [rdi], rax
    00209b3dadd rsp, 8
    00209b41pop rbx
    00209b42pop rbp
    00209b43ret
    00209b44db 0x08
    00209b45pop rbx
    00209b46pop rbp
    00209b47ret
    00209b48
    00209b48 0f 1f 84 00 00 00 00 00 ........
    00209b50
    00209b50loc_209b50:
    00209b50mov rax, [rbp+384]
    00209b57lea rsi, [rbx+32]
    00209b5bmov [rbx], rax
    00209b5emov rax, [rbp+392]
    00209b65mov [rbx+8], rax
    00209b69mov rax, [rbp+400]
    00209b70mov [rbx+16], rax
    00209b74mov rax, [rbp+408]
    00209b7bmov [rbx+24], rax
    00209b7fmov rdi, [rbp+280]
    00209b86add rsp, 8
    00209b8apop rbx
    00209b8bpop rbp
    00209b8cjmp 0x21ebe0
    00209af0
    00209b91
    00209b91 // align 0x10
    00209ba0
    00209ba0caml_compute_gc_stats:
    00209ba0push r15
    00209ba2push r14
    00209ba4push r13
    00209ba6mov r13, rdi
    00209ba9add rdi, 8
    00209badpush r12
    00209bafmov rcx, r13
    00209bb2push rbp
    00209bb3push rbx
    00209bb4lea rbx, [r13+32]
    00209bb8sub rsp, 8
    00209bbcmov r12, [rip+0x6c421]
    00209bc3mov rax, [r12]
    00209bc8mov ebp, [rax+288]
    00209bcemov [rdi-8], 0
    00209bd6xor eax, eax
    00209bd8mov [rdi+80], 0
    00209be0and rdi, -8
    00209be4sub rcx, rdi
    00209be7add ecx, 96
    00209beashr ecx, 3
    00209bedrep stosq [rdi], rax
    00209bf0mov rdi, rbx
    00209bf3call caml_accum_orphan_heap_stats
    00209bf8mov rdi, r13
    00209bfbcall caml_accum_orphan_alloc_stats
    00209c00mov r9, [rip+0x6bd4d]
    00209c07mov r14, [r13+40]
    00209c0bmov r11, [r13+80]
    00209c0fcmp [r9+160], 0
    00209c17je 0x209cf0
    00209c1dmov r10, [rip+0x16eb58]
    00209c24xor r8l, r8l
    00209c27xor eax, eax
    00209c29jmp 0x209c8a
    00209c2bdb 0x31
    00209c2cshr bl, 91
    00209c2f
    00209c2f 90 .
    00209c30
    00209c30loc_209c30:
    00209c30movq x2, [rax]
    00209c34movdqa x1, x0
    00209c38psrldq x0, 8
    00209c3dmov rdi, rbx
    00209c40lea rsi, [rax+32]
    00209c44paddq x1, x2
    00209c48movq [r13], x1
    00209c4emovq x1, [rax+8]
    00209c53paddq x0, x1
    00209c57movq [r13+8], x0
    00209c5dadd rcx, [rax+16]
    00209c61mov [r13+16], rcx
    00209c65add rdx, [rax+24]
    00209c69mov [r13+24], rdx
    00209c6dcall caml_accum_heap_stats
    00209c72
    00209c72loc_209c72:
    00209c72add r8l, 1
    00209c76add r14, [rax+40]
    00209c7aadd r11, [rax+80]
    00209c7emovsxd rax, r8l
    00209c81cmp rax, [r9+160]
    00209c88jae 0x209cf0
    00209c8a
    00209c8aloc_209c8a:
    00209c8alea rax, [rax+2*rax]
    00209c8emovdqu x0, [r13]
    00209c94mov rcx, [r13+16]
    00209c98shl rax, 5
    00209c9cmov rdx, [r13+24]
    00209ca0add rax, r10
    00209ca3cmp ebp, r8l
    00209ca6jne 0x209c30
    00209ca8mov r15, [r12]
    00209cadmov rdi, [r15+400]
    00209cb4mov rsi, [r15+408]
    00209cbbmovdqu x1, [r15+384]
    00209cc4add rcx, rdi
    00209cc7add rdx, rsi
    00209ccalea rsi, [rax+32]
    00209ccemov rdi, rbx
    00209cd1mov [r13+16], rcx
    00209cd5paddq x0, x1
    00209cd9mov [r13+24], rdx
    00209cddmovups [r13], x0
    00209ce2call caml_accum_heap_stats
    00209ce7jmp 0x209c72
    00209ce9
    00209ce9 0f 1f 80 00 00 00 00 .......
    00209cf0
    00209cf0loc_209cf0:
    00209cf0mov [r13+40], r14
    00209cf4mov [r13+80], r11
    00209cf8add rsp, 8
    00209cfcpop rbx
    00209cfdpop rbp
    00209cfepop r12
    00209d00pop r13
    00209d02pop r14
    00209d04pop r15
    00209d06ret
    00209ba0
    00209d07
    00209d07 // align 0x10
    00209d10
    00209d10caml_register_global_root:
    00209d10push rbp
    00209d11lea rbp, [rip+0x16ecc4]
    00209d18push rbx
    00209d19mov rbx, rdi
    00209d1cmov rdi, rbp
    00209d1fsub rsp, 8
    00209d23call fn_f4710
    00209d28test eax, eax
    00209d2ajne 0x209d54
    00209d2cxor edx, edx
    00209d2elea rdi, [rip+0x16ec07]
    00209d35mov rsi, rbx
    00209d38call caml_skiplist_insert
    00209d3dmov rdi, rbp
    00209d40call fn_f47c0
    00209d45test eax, eax
    00209d47jne 0x209d62
    00209d49add rsp, 8
    00209d4dpop rbx
    00209d4epop rbp
    00209d4fret
    00209d50mov esi, eax
    00209d52lea rdi, [rip+0x257b2]
    00209d59call caml_plat_fatal_error
    00209d5emov esi, eax
    00209d60lea rdi, [rip+0x257af]
    00209d67call caml_plat_fatal_error
    00209d6cdb 0x60
    00209d6dsbb al, 1
    00209d6fdb 0x00
    00209d10