File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    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
    00209d70
    00209d70caml_remove_global_root:
    00209d70push rbp
    00209d71lea rbp, [rip+0x16ec64]
    00209d78push rbx
    00209d79mov rbx, rdi
    00209d7cmov rdi, rbp
    00209d7fsub rsp, 8
    00209d83call fn_f4710
    00209d88test eax, eax
    00209d8ajne 0x209db2
    00209d8clea rdi, [rip+0x16eba9]
    00209d93mov rsi, rbx
    00209d96call caml_skiplist_remove
    00209d9bmov rdi, rbp
    00209d9ecall fn_f47c0
    00209da3test eax, eax
    00209da5jne 0x209dc0
    00209da7add rsp, 8
    00209dabpop rbx
    00209dacpop rbp
    00209dadret
    00209daemov esi, eax
    00209db0lea rdi, [rip+0x25754]
    00209db7call caml_plat_fatal_error
    00209dbcmov esi, eax
    00209dbelea rdi, [rip+0x25751]
    00209dc5call caml_plat_fatal_error
    00209dcadb 0x02
    00209dcbsbb al, 1
    00209dcddb 0x00
    00209d70
    00209dce
    00209dce // align 0x10
    00209dd0
    00209dd0caml_register_generational_global_root:
    00209dd0push rbp
    00209dd1push rbx
    00209dd2sub rsp, 8
    00209dd6mov rax, [rip+0x6c207]
    00209dddcmp [rax], 0
    00209de2je 0x209e60
    00209de4mov rax, [rdi]
    00209de7mov rbx, rdi
    00209deatest al, 1
    00209decjne 0x209e2b
    00209deelea rbp, [rip+0x16ebe7]
    00209df5cmp rax, [rip+0x16e7c8]
    00209dfcmov rdi, rbp
    00209dffjb 0x209e38
    00209e01call fn_f4710
    00209e06test eax, eax
    00209e08jne 0x209e65
    00209e0axor edx, edx
    00209e0cmov rsi, rbx
    00209e0flea rdi, [rip+0x16e9e6]
    00209e16call caml_skiplist_insert
    00209e1bmov rdi, rbp
    00209e1ecall fn_f47c0
    00209e23test eax, eax
    00209e25jne 0x209e73
    00209e27add rsp, 8
    00209e2b
    00209e2bloc_209e2b:
    00209e2bpop rbx
    00209e2cpop rbp
    00209e2dret
    00209e2edb 0x08
    00209e2fpop rbx
    00209e30pop rbp
    00209e31ret
    00209e32
    00209e32 66 0f 1f 44 00 00 f..D..
    00209e38
    00209e38loc_209e38:
    00209e38cmp [rip+0x16e791], rax
    00209e3fjae 0x209e05
    00209e41call fn_f4710
    00209e46test eax, eax
    00209e48jne 0x209e65
    00209e4axor edx, edx
    00209e4cmov rsi, rbx
    00209e4flea rdi, [rip+0x16ea4a]
    00209e56jmp 0x209e1a
    00209e58
    00209e58 0f 1f 84 00 00 00 00 00 ........
    00209e60
    00209e60loc_209e60:
    00209e60call caml_bad_caml_state
    00209e65
    00209e65loc_209e65:
    00209e65mov esi, eax
    00209e67lea rdi, [rip+0x256a1]
    00209e6ecall caml_plat_fatal_error
    00209e73
    00209e73loc_209e73:
    00209e73mov esi, eax
    00209e75lea rdi, [rip+0x2569e]
    00209e7ccall caml_plat_fatal_error
    00209dd0
    00209e81
    00209e81 // align 0x10
    00209e90
    00209e90caml_remove_generational_global_root:
    00209e90mov rax, [rdi]
    00209e93test al, 1
    00209e95jne 0x209f28
    00209e9bpush rbp
    00209e9clea rbp, [rip+0x16eb39]
    00209ea3push rbx
    00209ea4mov rbx, rdi
    00209ea7sub rsp, 8
    00209eabcmp rax, [rip+0x16e712]
    00209eb2jb 0x209f18
    00209eb4mov rdi, rbp
    00209eb7call fn_f4710
    00209ebctest eax, eax
    00209ebejne 0x209f53
    00209ec4lea rdi, [rip+0x16e931]
    00209ecbmov rsi, rbx
    00209ececall caml_skiplist_remove
    00209ed3mov rdi, rbp
    00209ed6call fn_f47c0
    00209edbtest eax, eax
    00209eddjne 0x209f45
    00209edfmov rdi, rbp
    00209ee2call fn_f4710
    00209ee7test eax, eax
    00209ee9jne 0x209f37
    00209eeblea rdi, [rip+0x16e9aa]
    00209ef2mov rsi, rbx
    00209ef5call caml_skiplist_remove
    00209efamov rdi, rbp
    00209efdcall fn_f47c0
    00209f02test eax, eax
    00209f04jne 0x209f29
    00209f06add rsp, 8
    00209f0apop rbx
    00209f0bpop rbp
    00209f0cret
    00209f0ddb 0x08
    00209f0epop rbx
    00209f0fpop rbp
    00209f10ret
    00209f11
    00209f11 0f 1f 80 00 00 00 00 .......
    00209f18
    00209f18loc_209f18:
    00209f18cmp [rip+0x16e6b1], rax
    00209f1fjae 0x209eb8
    00209f21jmp 0x209ee3
    00209f23
    00209f23 0f 1f 44 00 00 ..D..
    00209f28
    00209f28loc_209f28:
    00209f28ret
    00209f29
    00209f29loc_209f29:
    00209f29mov esi, eax
    00209f2blea rdi, [rip+0x255e8]
    00209f32call caml_plat_fatal_error
    00209f37
    00209f37loc_209f37:
    00209f37mov esi, eax
    00209f39lea rdi, [rip+0x255cf]
    00209f40call caml_plat_fatal_error
    00209f45
    00209f45loc_209f45:
    00209f45mov esi, eax
    00209f47lea rdi, [rip+0x255cc]
    00209f4ecall caml_plat_fatal_error
    00209f53
    00209f53loc_209f53:
    00209f53mov esi, eax
    00209f55lea rdi, [rip+0x255b3]
    00209f5ccall caml_plat_fatal_error
    00209e90
    00209f61
    00209f61 // align 0x10
    00209f70
    00209f70caml_modify_generational_global_root:
    00209f70push r12
    00209f72push rbp
    00209f73mov rbp, rdi
    00209f76push rbx
    00209f77mov rbx, rsi
    00209f7aand esi, 1
    00209f7djne 0x20a040
    00209f83mov rax, [rdi]
    00209f86mov rdx, [rip+0x16e637]
    00209f8dmov rcx, rax
    00209f90and ecx, 1
    00209f93cmp rbx, rdx
    00209f96jb 0x209fb0
    00209f98test rcx, rcx
    00209f9bjne 0x20a050
    00209fa1mov [rbp], rbx
    00209fa5
    00209fa5loc_209fa5:
    00209fa5pop rbx
    00209fa6pop rbp
    00209fa7pop r12
    00209fa9ret
    00209faadb 0x5d
    00209fabpop r12
    00209fadret
    00209fae
    00209fae 66 90 f.
    00209fb0
    00209fb0loc_209fb0:
    00209fb0mov rsi, [rip+0x16e619]
    00209fb7cmp rsi, rbx
    00209fbajae 0x209f9c
    00209fbclea r12, [rip+0x16ea1d]
    00209fc3test rcx, rcx
    00209fc6jne 0x20a004
    00209fc8cmp rsi, rax
    00209fcbjae 0x209fd2
    00209fcdcmp rdx, rax
    00209fd0ja 0x209fa5
    00209fd2
    00209fd2loc_209fd2:
    00209fd2lea r12, [rip+0x16ea07]
    00209fd9mov rdi, r12
    00209fdccall fn_f4710
    00209fe1test eax, eax
    00209fe3jne 0x20a071
    00209fe9lea rdi, [rip+0x16e810]
    00209ff0mov rsi, rbp
    00209ff3call caml_skiplist_remove
    00209ff8mov rdi, r12
    00209ffbcall fn_f47c0
    0020a000test eax, eax
    0020a002jne 0x20a031
    0020a004
    0020a004loc_20a004:
    0020a004mov rdi, r12
    0020a007call fn_f4710
    0020a00ctest eax, eax
    0020a00ejne 0x20a071
    0020a010xor edx, edx
    0020a012mov rsi, rbp
    0020a015lea rdi, [rip+0x16e884]
    0020a01c
    0020a01cloc_20a01c:
    0020a01ccall caml_skiplist_insert
    0020a021mov rdi, r12
    0020a024call fn_f47c0
    0020a029test eax, eax
    0020a02bje 0x209fa5
    0020a031
    0020a031loc_20a031:
    0020a031mov esi, eax
    0020a033lea rdi, [rip+0x254e0]
    0020a03acall caml_plat_fatal_error
    0020a03fnop
    0020a040
    0020a040loc_20a040:
    0020a040call caml_remove_generational_global_root
    0020a045mov [rbp], rbx
    0020a049pop rbx
    0020a04apop rbp
    0020a04bpop r12
    0020a04dret
    0020a04e
    0020a04e 66 90 f.
    0020a050
    0020a050loc_20a050:
    0020a050lea r12, [rip+0x16e989]
    0020a057mov rdi, r12
    0020a05acall fn_f4710
    0020a05ftest eax, eax
    0020a061jne 0x20a071
    0020a063xor edx, edx
    0020a065mov rsi, rbp
    0020a068lea rdi, [rip+0x16e791]
    0020a06fjmp 0x20a01c
    0020a071
    0020a071loc_20a071:
    0020a071mov esi, eax
    0020a073lea rdi, [rip+0x25495]
    0020a07acall caml_plat_fatal_error
    00209f70
    0020a07f
    0020a07f // align 0x10
    0020a080
    0020a080caml_register_dyn_globals:
    0020a080push r12
    0020a082lea r12, [rip+0x16e953]
    0020a089push rbp
    0020a08amovsxd rbp, esi
    0020a08dpush rbx
    0020a08emov rbx, rdi
    0020a091mov rdi, r12
    0020a094sub rsp, 16
    0020a098call fn_f4710
    0020a09dtest eax, eax
    0020a09fjne 0x20a108
    0020a0a1test ebp, ebp
    0020a0a3jle 0x20a0f3
    0020a0a5mov rax, [rip+0x16e920]
    0020a0aclea rbp, [rbx+8*rbp]
    0020a0b0nop [rax+rax]
    0020a0bbnop
    0020a0bcmovq x0, [rbx]
    0020a0c0
    0020a0c0loc_20a0c0:
    0020a0c0movq x1, rax
    0020a0c5mov edi, 16
    0020a0caadd rbx, 8
    0020a0cepunpcklqdq x0, x1
    0020a0d2movaps [rsp], x0
    0020a0d6call caml_stat_alloc
    0020a0dbmovdqa x0, [rsp]
    0020a0e0mov [rip+0x16e8e5], rax
    0020a0e7movups [rax], x0
    0020a0eacmp rbx, rbp
    0020a0edjne 0x20a0c0
    0020a0efmov rdi, r12
    0020a0f2call fn_f47c0
    0020a0f7test eax, eax
    0020a0f9jne 0x20a116
    0020a0fbadd rsp, 16
    0020a0ffpop rbx
    0020a100pop rbp
    0020a101pop r12
    0020a103ret
    0020a104mov esi, eax
    0020a106lea rdi, [rip+0x253fe]
    0020a10dcall caml_plat_fatal_error
    0020a112mov esi, eax
    0020a114lea rdi, [rip+0x253fb]
    0020a11bcall caml_plat_fatal_error
    0020a120db 0xac
    0020a121sbb [rcx], al
    0020a123db 0x00
    0020a080
    0020a124
    0020a124 // align 0x10
    0020a130
    0020a130caml_scan_global_roots:
    0020a130push r15
    0020a132push r14
    0020a134push r13
    0020a136lea r13, [rip+0x16e89f]
    0020a13dpush r12
    0020a13fpush rbp
    0020a140mov rbp, rsi
    0020a143push rbx
    0020a144mov rbx, rdi
    0020a147mov rdi, r13
    0020a14asub rsp, 8
    0020a14ecall fn_f4710
    0020a153test eax, eax
    0020a155jne 0x20a316
    0020a15bmov r12, [rip+0x16e7da]
    0020a162test r12, r12
    0020a165je 0x20a188
    0020a167nop [rax+rax]
    0020a16cmov rax, r12
    0020a16fmov r12, [r12+16]
    0020a174mov rdi, rbp
    0020a177mov rdx, [rax]
    0020a17amov rsi, [rdx]
    0020a17dcall rbx
    0020a17ftest r12, r12
    0020a182jne 0x20a170
    0020a184mov r12, [rip+0x16e711]
    0020a18btest r12, r12
    0020a18eje 0x20a1b8
    0020a190nop [rax+rax]
    0020a19bnop
    0020a19cmov rax, r12
    0020a19fmov r12, [r12+16]
    0020a1a4mov rdi, rbp
    0020a1a7mov rdx, [rax]
    0020a1aamov rsi, [rdx]
    0020a1adcall rbx
    0020a1aftest r12, r12
    0020a1b2jne 0x20a1a0
    0020a1b4mov r12, [rip+0x16e641]
    0020a1bbtest r12, r12
    0020a1beje 0x20a1e8
    0020a1c0nop [rax+rax]
    0020a1cbnop
    0020a1ccmov rax, r12
    0020a1cfmov r12, [r12+16]
    0020a1d4mov rdi, rbp
    0020a1d7mov rdx, [rax]
    0020a1damov rsi, [rdx]
    0020a1ddcall rbx
    0020a1dftest r12, r12
    0020a1e2jne 0x20a1d0
    0020a1e4mov rdi, r13
    0020a1e7call fn_f47c0
    0020a1ecmov esi, eax
    0020a1eetest eax, eax
    0020a1f0jne 0x20a330
    0020a1f6mov rdi, r13
    0020a1f9call fn_f4710
    0020a1femov esi, eax
    0020a200test eax, eax
    0020a202jne 0x20a324
    0020a208mov rdi, r13
    0020a20bmov r12, [rip+0x16e7ba]
    0020a212call fn_f47c0
    0020a217mov esi, eax
    0020a219test eax, eax
    0020a21bjne 0x20a330
    0020a221mov r15, [rip+0x6c044]
    0020a228xor r13l, r13l
    0020a22btest r15, r15
    0020a22eje 0x20a2a2
    0020a230nop [rax+rax]
    0020a23bnop
    0020a23cmov rax, [r15]
    0020a23ftest rax, rax
    0020a242je 0x20a28b
    0020a244nop [rax+rax]
    0020a24cxor r14l, r14l
    0020a24fjmp 0x20a26e
    0020a251db 0x31
    0020a252imul bl
    0020a254db 0x19
    0020a255
    0020a255 0f 1f 00 ...
    0020a258
    0020a258loc_20a258:
    0020a258mov rax, [r15]
    0020a25bmov rdi, rbp
    0020a25eadd r14l, 1
    0020a262lea rdx, [rax+8*rdx]
    0020a266mov rsi, [rdx]
    0020a269call rbx
    0020a26bmov rax, [r15]
    0020a26e
    0020a26eloc_20a26e:
    0020a26emov rax, [rax-8]
    0020a272movsxd rdx, r14l
    0020a275shr rax, 10
    0020a279cmp rdx, rax
    0020a27cjb 0x20a258
    0020a27emov rax, [r15+8]
    0020a282add r15, 8
    0020a286test rax, rax
    0020a289jne 0x20a250
    0020a28b
    0020a28bloc_20a28b:
    0020a28badd r13l, 1
    0020a28flea rcx, [rip+0x6bfda]
    0020a296movsxd rax, r13l
    0020a299mov r15, [rcx+8*rax]
    0020a29dtest r15, r15
    0020a2a0jne 0x20a240
    0020a2a2
    0020a2a2loc_20a2a2:
    0020a2a2test r12, r12
    0020a2a5je 0x20a307
    0020a2a7nop [rax+rax]
    0020a2b0
    0020a2b0loc_20a2b0:
    0020a2b0mov r13, [r12]
    0020a2b4mov rax, [r13]
    0020a2b8test rax, rax
    0020a2bbje 0x20a2fd
    0020a2bdnop [rax]
    0020a2c0
    0020a2c0loc_20a2c0:
    0020a2c0xor r14l, r14l
    0020a2c3jmp 0x20a2e0
    0020a2c5
    0020a2c5 0f 1f 00 ...
    0020a2c8
    0020a2c8loc_20a2c8:
    0020a2c8mov rax, [r13]
    0020a2ccmov rdi, rbp
    0020a2cfadd r14l, 1
    0020a2d3lea rdx, [rax+8*rdx]
    0020a2d7mov rsi, [rdx]
    0020a2dacall rbx
    0020a2dcmov rax, [r13]
    0020a2e0
    0020a2e0loc_20a2e0:
    0020a2e0mov rax, [rax-8]
    0020a2e4movsxd rdx, r14l
    0020a2e7shr rax, 10
    0020a2ebcmp rdx, rax
    0020a2eejb 0x20a2c8
    0020a2f0mov rax, [r13+8]
    0020a2f4add r13, 8
    0020a2f8test rax, rax
    0020a2fbjne 0x20a2c0
    0020a2fd
    0020a2fdloc_20a2fd:
    0020a2fdmov r12, [r12+8]
    0020a302test r12, r12
    0020a305jne 0x20a2b0
    0020a307
    0020a307loc_20a307:
    0020a307add rsp, 8
    0020a30bpop rbx
    0020a30cpop rbp
    0020a30dpop r12
    0020a30fpop r13
    0020a311pop r14
    0020a313pop r15
    0020a315ret
    0020a316
    0020a316loc_20a316:
    0020a316mov esi, eax
    0020a318lea rdi, [rip+0x251f0]
    0020a31fcall caml_plat_fatal_error
    0020a324
    0020a324loc_20a324:
    0020a324lea rdi, [rip+0x251e4]
    0020a32bcall caml_plat_fatal_error
    0020a330
    0020a330loc_20a330:
    0020a330lea rdi, [rip+0x251e3]
    0020a337call caml_plat_fatal_error
    0020a130
    0020a33c
    0020a33c // align 0x10
    0020a340
    0020a340caml_scan_global_young_roots:
    0020a340push r13
    0020a342mov r13, rsi
    0020a345push r12
    0020a347lea r12, [rip+0x16e68e]
    0020a34epush rbp
    0020a34fmov rbp, rdi
    0020a352mov rdi, r12
    0020a355push rbx
    0020a356sub rsp, 8
    0020a35acall fn_f4710
    0020a35ftest eax, eax
    0020a361jne 0x20a41c
    0020a367mov rbx, [rip+0x16e5ce]
    0020a36etest rbx, rbx
    0020a371je 0x20a397
    0020a373nop [rax+rax]
    0020a37cmov rax, rbx
    0020a37fmov rbx, [rbx+16]
    0020a383mov rdi, r13
    0020a386mov rdx, [rax]
    0020a389mov rsi, [rdx]
    0020a38ccall rbp
    0020a38etest rbx, rbx
    0020a391jne 0x20a380
    0020a393mov rbx, [rip+0x16e502]
    0020a39atest rbx, rbx
    0020a39dje 0x20a3f9
    0020a39fnop [rax+rax]
    0020a3aanop
    0020a3acmov rax, rbx
    0020a3afmov rbx, [rbx+16]
    0020a3b3mov rdi, r13
    0020a3b6mov rdx, [rax]
    0020a3b9mov rsi, [rdx]
    0020a3bccall rbp
    0020a3betest rbx, rbx
    0020a3c1jne 0x20a3b0
    0020a3c3mov rbx, [rip+0x16e4d2]
    0020a3catest rbx, rbx
    0020a3cdje 0x20a3f9
    0020a3cflea rbp, [rip+0x16e426]
    0020a3d6nop [rax+rax]
    0020a3dcmov rax, rbx
    0020a3dfmov rbx, [rbx+16]
    0020a3e3xor edx, edx
    0020a3e5mov rdi, rbp
    0020a3e8mov rsi, [rax]
    0020a3ebcall caml_skiplist_insert
    0020a3f0test rbx, rbx
    0020a3f3jne 0x20a3e0
    0020a3f5lea rdi, [rip+0x16e4a0]
    0020a3fccall caml_skiplist_empty
    0020a401mov rdi, r12
    0020a404call fn_f47c0
    0020a409test eax, eax
    0020a40bjne 0x20a42a
    0020a40dadd rsp, 8
    0020a411pop rbx
    0020a412pop rbp
    0020a413pop r12
    0020a415pop r13
    0020a417ret
    0020a418mov esi, eax
    0020a41alea rdi, [rip+0x250ea]
    0020a421call caml_plat_fatal_error
    0020a426mov esi, eax
    0020a428lea rdi, [rip+0x250e7]
    0020a42fcall caml_plat_fatal_error
    0020a434db 0x98
    0020a435db 0x15
    0020a436add [rax], eax
    0020a340