File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    00206690
    00206690caml_exception_with_arg:
    00206690push rbp
    00206691push rbx
    00206692sub rsp, 184
    00206699movdqa x0, [rip+0x23a2b]
    002066a1mov [rsp+8], rdi
    002066a6movq x1, rsp
    002066abmov edi, 2
    002066b0mov [rsp], rsi
    002066b4xor esi, esi
    002066b6mov rax, [0x28]
    002066bfmov [rsp+168], rax
    002066c7mov rax, [rip+0x6f916]
    002066cemov rbx, [rax]
    002066d2lea rax, [rsp+8]
    002066d7movups [rsp+40], x0
    002066dcmov [rsp+24], 1
    002066e5movq x0, rax
    002066ealea rax, [rsp+32]
    002066efmov [rsp+96], rax
    002066f4lea rax, [rsp+96]
    002066f9mov rbp, [rbx+160]
    00206700punpcklqdq x0, x1
    00206704mov [rbx+160], rax
    0020670bmov eax, 1
    00206710movups [rsp+56], x0
    00206715movq x0, rax
    0020671alea rax, [rsp+24]
    0020671fpunpcklqdq x0, x0
    00206723mov [rsp+32], rbp
    00206728mov [rsp+120], rax
    0020672dmovups [rsp+104], x0
    00206732call caml_alloc_small
    00206737mov rdx, [rsp+8]
    0020673cmov [rsp+24], rax
    00206741mov [rax], rdx
    00206744mov rax, [rsp+24]
    00206749mov rdx, [rsp]
    0020674dmov [rax+8], rdx
    00206751mov rax, [rsp+24]
    00206756mov [rbx+160], rbp
    0020675dmov rdx, [rsp+168]
    00206765sub rdx, [0x28]
    0020676ejne 0x20677e
    00206770add rsp, 184
    00206777pop rbx
    00206778pop rbp
    00206779ret
    0020677acall fn_f4590
    0020677fdb 0x0d
    00206780fsubp f6
    00206782db 0xff
    00206690
    00206783
    00206783 // align 0x20
    002067a0
    002067a0caml_exception_with_args:
    002067a0push r14
    002067a2movsxd r14, esi
    002067a5xor esi, esi
    002067a7push r13
    002067a9push r12
    002067abpush rbp
    002067acpush rbx
    002067adsub rsp, 160
    002067b4mov rax, [rip+0x6f829]
    002067bbmov [rsp+8], rdi
    002067c0lea edi, [r14+1]
    002067c4movsxd rdi, edi
    002067c7mov rbx, [0x28]
    002067d0mov [rsp+152], rbx
    002067d8mov rbx, rdx
    002067dbmov r12, [rax]
    002067dfmov eax, 1
    002067e4mov [rsp+104], rdx
    002067e9movq x0, rax
    002067eelea rax, [rsp+8]
    002067f3mov [rsp+96], r14
    002067f8mov [rsp+40], rax
    002067fdlea rax, [rsp+16]
    00206802mov r13, [r12+160]
    0020680apunpcklqdq x0, x0
    0020680emov [rsp+80], rax
    00206813lea rax, [rsp+80]
    00206818mov [r12+160], rax
    00206820mov [rsp+16], r13
    00206825mov [rsp+88], 1
    0020682emovups [rsp+24], x0
    00206833call caml_alloc_small
    00206838mov rdx, [rsp+8]
    0020683dmov [rax], rdx
    00206840test r14l, r14l
    00206843jle 0x206872
    00206845sub rbx, rax
    00206848lea rdx, [rax+8]
    0020684clea rdi, [rax+8*r14+8]
    00206851mov rsi, rbx
    00206854nop [rax+rax]
    0020685cmov rcx, [rsi+rdx-8]
    00206861add rdx, 8
    00206865mov [rdx-8], rcx
    00206869cmp rdx, rdi
    0020686cjne 0x206860
    0020686emov [r12+160], r13
    00206876mov rdx, [rsp+152]
    0020687esub rdx, [0x28]
    00206887jne 0x20689d
    00206889add rsp, 160
    00206890pop rbx
    00206891pop rbp
    00206892pop r12
    00206894pop r13
    00206896pop r14
    00206898ret
    00206899call fn_f4590
    0020689edb 0xee
    0020689ffsub f6, f0
    002068a1db 0xff
    002067a0
    002068a2
    002068a2 // align 0x10
    002068b0
    002068b0caml_exception_with_string:
    002068b0push rbp
    002068b1push rbx
    002068b2sub rsp, 104
    002068b6mov rax, [rip+0x6f727]
    002068bdmov [rsp+8], rdi
    002068c2mov rdi, [0x28]
    002068cbmov [rsp+88], rdi
    002068d0mov rdi, rsi
    002068d3mov rbx, [rax]
    002068d7lea rax, [rsp+16]
    002068dcmov rbp, [rbx+160]
    002068e3mov [rbx+160], rax
    002068eamov eax, 1
    002068efmovq x0, rax
    002068f4lea rax, [rsp+8]
    002068f9punpcklqdq x0, x0
    002068fdmov [rsp+16], rbp
    00206902movups [rsp+24], x0
    00206907mov [rsp+40], rax
    0020690ccall caml_copy_string
    00206911mov rdi, [rsp+8]
    00206916mov rsi, rax
    00206919call caml_exception_with_arg
    0020691emov [rbx+160], rbp
    00206925mov rdx, [rsp+88]
    0020692asub rdx, [0x28]
    00206933jne 0x206940
    00206935add rsp, 104
    00206939pop rbx
    0020693apop rbp
    0020693bret
    0020693ccall fn_f4590
    00206941db 0x4b
    00206942fsub f6, f0
    00206944db 0xff
    002068b0
    00206945
    00206945 // align 0x10
    00206950
    00206950caml_raise_constant:
    00206950push rax
    00206951pop rax
    00206952sub rsp, 8
    00206956call caml_raise
    0020695bdb 0x41
    0020695cdb 0xf7
    0020695dadd [rax], eax
    00206950
    0020695f
    0020695f // align 0x10
    00206960
    00206960caml_raise_with_arg:
    00206960push rax
    00206961pop rax
    00206962sub rsp, 8
    00206966call caml_exception_with_arg
    0020696bmov rdi, rax
    0020696ecall caml_raise
    00206973db 0x29
    00206974db 0xf7
    00206975add [rax], eax
    00206960
    00206977
    00206977 // align 0x10
    00206980
    00206980caml_raise_with_args:
    00206980push rax
    00206981pop rax
    00206982sub rsp, 8
    00206986call caml_exception_with_args
    0020698bmov rdi, rax
    0020698ecall caml_raise
    00206993db 0x09
    00206994db 0xf7
    00206995add [rax], eax
    00206980
    00206997
    00206997 // align 0x10
    002069a0
    002069a0caml_raise_with_string:
    002069a0push rax
    002069a1pop rax
    002069a2sub rsp, 8
    002069a6call caml_exception_with_string
    002069abmov rdi, rax
    002069aecall caml_raise
    002069b3db 0xe9
    002069b4test [rcx], 0
    002069a0
    002069b7
    002069b7 // align 0x10
    002069c0
    002069c0caml_failwith:
    002069c0push rax
    002069c1pop rax
    002069c2sub rsp, 8
    002069c6call caml_exception_failure
    002069cbmov rdi, rax
    002069cecall caml_raise
    002069d3db 0xc9
    002069d4test [rcx], 0
    002069c0
    002069d7
    002069d7 // align 0x10
    002069e0
    002069e0caml_failwith_value:
    002069e0push rax
    002069e1pop rax
    002069e2sub rsp, 8
    002069e6call caml_exception_failure_value
    002069ebmov rdi, rax
    002069eecall caml_raise
    002069f3db 0xa9
    002069f4test [rcx], 0
    002069e0
    002069f7
    002069f7 // align 0x10
    00206a00
    00206a00caml_invalid_argument:
    00206a00push rax
    00206a01pop rax
    00206a02sub rsp, 8
    00206a06call caml_exception_invalid_argument
    00206a0bmov rdi, rax
    00206a0ecall caml_raise
    00206a13db 0x89
    00206a14test [rcx], 0
    00206a00
    00206a17
    00206a17 // align 0x10
    00206a20
    00206a20caml_invalid_argument_value:
    00206a20push rax
    00206a21pop rax
    00206a22sub rsp, 8
    00206a26call caml_exception_invalid_argument_value
    00206a2bmov rdi, rax
    00206a2ecall caml_raise
    00206a33db 0x69
    00206a34test [rcx], 0
    00206a20
    00206a37
    00206a37 // align 0x10
    00206a40
    00206a40caml_raise_out_of_memory:
    00206a40push rax
    00206a41pop rax
    00206a42sub rsp, 8
    00206a46call caml_exception_out_of_memory
    00206a4bmov rdi, rax
    00206a4ecall caml_raise
    00206a53db 0x49
    00206a54test [rcx], 0
    00206a40
    00206a57
    00206a57 // align 0x10
    00206a60
    00206a60caml_raise_stack_overflow:
    00206a60push rax
    00206a61pop rax
    00206a62sub rsp, 8
    00206a66call caml_exception_stack_overflow
    00206a6bmov rdi, rax
    00206a6ecall caml_raise
    00206a73db 0x29
    00206a74test [rcx], 0
    00206a60
    00206a77
    00206a77 // align 0x10
    00206a80
    00206a80caml_raise_sys_error:
    00206a80push rax
    00206a81pop rax
    00206a82sub rsp, 8
    00206a86call caml_exception_sys_error
    00206a8bmov rdi, rax
    00206a8ecall caml_raise
    00206a93db 0x09
    00206a94test [rcx], 0
    00206a80
    00206a97
    00206a97 // align 0x10
    00206aa0
    00206aa0caml_raise_end_of_file:
    00206aa0push rax
    00206aa1pop rax
    00206aa2sub rsp, 8
    00206aa6call caml_exception_end_of_file
    00206aabmov rdi, rax
    00206aaecall caml_raise
    00206ab3db 0xe9
    00206ab4cmc
    00206ab5add [rax], eax
    00206aa0
    00206ab7
    00206ab7 // align 0x10
    00206ac0
    00206ac0caml_raise_zero_divide:
    00206ac0push rax
    00206ac1pop rax
    00206ac2sub rsp, 8
    00206ac6call caml_exception_zero_divide
    00206acbmov rdi, rax
    00206acecall caml_raise
    00206ad3db 0xc9
    00206ad4cmc
    00206ad5add [rax], eax
    00206ac0
    00206ad7
    00206ad7 // align 0x10
    00206ae0
    00206ae0caml_raise_not_found:
    00206ae0push rax
    00206ae1pop rax
    00206ae2sub rsp, 8
    00206ae6call caml_exception_not_found
    00206aebmov rdi, rax
    00206aeecall caml_raise
    00206af3db 0xa9
    00206af4cmc
    00206af5add [rax], eax
    00206ae0
    00206af7
    00206af7 // align 0x10
    00206b00
    00206b00caml_array_bound_error:
    00206b00push rax
    00206b01pop rax
    00206b02sub rsp, 8
    00206b06call caml_exception_array_bound_error
    00206b0bmov rdi, rax
    00206b0ecall caml_raise
    00206b13db 0x89
    00206b14cmc
    00206b15add [rax], eax
    00206b00
    00206b17
    00206b17 // align 0x10
    00206b20
    00206b20caml_raise_sys_blocked_io:
    00206b20push rax
    00206b21pop rax
    00206b22sub rsp, 8
    00206b26call caml_exception_sys_blocked_io
    00206b2bmov rdi, rax
    00206b2ecall caml_raise
    00206b33db 0x69
    00206b34cmc
    00206b35add [rax], eax
    00206b20
    00206b37
    00206b37 // align 0x10
    00206b40
    00206b40fn_206b40:
    00206b40push r15
    00206b42mov r15, r9
    00206b45push r14
    00206b47mov r14, r8
    00206b4apush r13
    00206b4cmov r13, rcx
    00206b4fpush r12
    00206b51mov r12, rdx
    00206b54push rbp
    00206b55push rbx
    00206b56mov ebx, esi
    00206b58sub rsp, 8
    00206b5ccmp esi, -1
    00206b5fje 0x206bc0
    00206b61mov rax, [rip+0x6f480]
    00206b68mov rdx, [rax]
    00206b6cmovsxd rax, esi
    00206b6fmov rdx, [rdx+72]
    00206b73lea rdx, [rdx+8*rax]
    00206b77mov rax, [rdx]
    00206b7atest rax, rax
    00206b7dje 0x206bc0
    00206b7fmov rcx, [rax+8]
    00206b83mov [rdx], rcx
    00206b86mov rdx, [rax+16]
    00206b8a
    00206b8aloc_206b8a:
    00206b8amov [rdx], r12
    00206b8dmov [rdx+8], r13
    00206b91mov [rdx+16], r14
    00206b95mov [rdx+24], 0
    00206b9dmov [rax], rdx
    00206ba0mov [rax+8], 0
    00206ba8mov [rax+48], r15
    00206bac
    00206bacloc_206bac:
    00206bacadd rsp, 8
    00206bb0pop rbx
    00206bb1pop rbp
    00206bb2pop r12
    00206bb4pop r13
    00206bb6pop r14
    00206bb8pop r15
    00206bbaret
    00206bbb
    00206bbb 0f 1f 44 00 00 ..D..
    00206bc0
    00206bc0loc_206bc0:
    00206bc0lea rbp, [8*rdi]
    00206bc8lea rdi, [rbp+103]
    00206bcccall caml_stat_alloc_noexc
    00206bd1test rax, rax
    00206bd4je 0x206bac
    00206bd6lea rdx, [rax+rbp+71]
    00206bdbmov [rax+24], ebx
    00206bdeand rdx, -16
    00206be2mov [rax+16], rdx
    00206be6jmp 0x206b8a
    00206b40
    00206be8
    00206be8 // align 0x10
    00206bf0
    00206bf0fn_206bf0:
    00206bf0push rax
    00206bf1pop rax
    00206bf2lea rdx, [rip+0x28278]
    00206bf9mov esi, 1
    00206bfexor eax, eax
    00206c00sub rsp, 8
    00206c04mov rcx, rdi
    00206c07mov rdi, [rip+0x1718d2]
    00206c0ecall fn_f41b0
    00206c13mov edi, 2
    00206c18call fn_f4210
    00206bf0
    00206c1d
    00206c1d // align 0x10
    00206c20
    00206c20caml_get_init_stack_wsize:
    00206c20mov eax, 4096
    00206c25mov rdx, [rip+0x171b38]
    00206c2ccmp rdx, 4096
    00206c33jbe 0x206c40
    00206c35ret
    00206c36db 0x00
    00206c37jbe 0x206c40
    00206c39ret
    00206c3a
    00206c3a 66 0f 1f 44 00 00 f..D..
    00206c40
    00206c40loc_206c40:
    00206c40mov rax, [rip+0x171b21]
    00206c47ret
    00206c20
    00206c48
    00206c48 // align 0x10
    00206c50
    00206c50caml_change_max_stack_size:
    00206c50mov rax, [rip+0x6f38d]
    00206c57push rbx
    00206c58mov rax, [rax]
    00206c5cmov rax, [rax+40]
    00206c60mov rbx, [rax+16]
    00206c64sub rbx, [rax]
    00206c67sar rbx, 3
    00206c6badd rbx, 32
    00206c6fcmp rbx, rdi
    00206c72mov rax, [rip+0x171aeb]
    00206c79cmovb rbx, rdi
    00206c7dcmp rax, rbx
    00206c80je 0x206ca0
    00206c82lea rsi, [8*rbx]
    00206c8alea rdi, [rip+0x296bb]
    00206c91xor eax, eax
    00206c93shr rsi, 10
    00206c97call caml_gc_log
    00206c9cxchg [rip+0x171ac1], rbx
    00206ca3pop rbx
    00206ca4ret
    00206ca5db 0x17
    00206ca6add [rbx-61], bl
    00206c50
    00206ca9
    00206ca9 // align 0x10
    00206cb0
    00206cb0caml_alloc_stack_cache:
    00206cb0sub rsp, 8
    00206cb4mov edi, 40
    00206cb9call caml_stat_alloc_noexc
    00206cbetest rax, rax
    00206cc1je 0x206cda
    00206cc3mov [rax+32], 0
    00206ccbpxor x0, x0
    00206ccfmovups [rax], x0
    00206cd2movups [rax+16], x0
    00206cd6add rsp, 8
    00206cda
    00206cdaloc_206cda:
    00206cdaret
    00206cdbdb 0x83
    00206cdcdb 0xc4
    00206cddor bl, al
    00206cb0
    00206cdf
    00206cdf // align 0x10
    00206ce0
    00206ce0caml_alloc_stack_noexc:
    00206ce0mov rax, [rip+0x171a75]
    00206ce7mov r10, rsi
    00206ceamov r9, r8
    00206cedxor esi, esi
    00206cefcmp rdi, rax
    00206cf2je 0x206d08
    00206cf4add esi, 1
    00206cf7add rax, rax
    00206cfacmp esi, 5
    00206cfdjne 0x206cf3
    00206cffmov esi, -1
    00206d04mov r8, rcx
    00206d07mov rcx, rdx
    00206d0amov rdx, r10
    00206d0djmp 0x206b40
    00206d12db 0x2a
    00206d13db 0xfe
    00206d14db 0xff
    00206d15db 0xff
    00206ce0
    00206d16
    00206d16 // align 0x10
    00206d20
    00206d20caml_alloc_stack:
    00206d20push r14
    00206d22push r13
    00206d24mov r13l, 1
    00206d2apush r12
    00206d2cmov r12, rsi
    00206d2fpush rbp
    00206d30mov rbp, rdi
    00206d33push rbx
    00206d34mov rbx, rdx
    00206d37lock xadd [rip+0x171a0c], r13
    00206d40mov rax, [rip+0x6f29d]
    00206d47mov rax, [rax]
    00206d4bmov rdx, [rax+72]
    00206d4fmov rax, [rdx]
    00206d52test rax, rax
    00206d55je 0x206da0
    00206d57mov rcx, [rax+8]
    00206d5bmov [rdx], rcx
    00206d5emov rdx, [rax+16]
    00206d62mov [rdx], rbp
    00206d65add rax, 1
    00206d69mov [rdx+8], r12
    00206d6dmov [rdx+16], rbx
    00206d71mov [rdx+24], 0
    00206d79mov [rax-1], rdx
    00206d7dmov [rax+7], 0
    00206d85mov [rax+47], r13
    00206d89pop rbx
    00206d8apop rbp
    00206d8bpop r12
    00206d8dpop r13
    00206d8fpop r14
    00206d91ret
    00206d92db 0x5d
    00206d93pop r14
    00206d95ret
    00206d96
    00206d96 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00206da0
    00206da0loc_206da0:
    00206da0mov rax, [rip+0x1719b9]
    00206da7lea r14, [8*rax]
    00206daflea rdi, [r14+103]
    00206db3call caml_stat_alloc_noexc
    00206db8test rax, rax
    00206dbbje 0x206dd8
    00206dbdlea rdx, [rax+r14+71]
    00206dc2mov [rax+24], 0
    00206dc9and rdx, -16
    00206dcdmov [rax+16], rdx
    00206dd1jmp 0x206d66
    00206dd3
    00206dd3 0f 1f 44 00 00 ..D..
    00206dd8
    00206dd8loc_206dd8:
    00206dd8call caml_raise_out_of_memory
    00206d20
    00206ddd
    00206ddd // align 0x10
    00206de0
    00206de0caml_get_stack_sp_pc:
    00206de0mov rax, [rdi]
    00206de3mov rcx, [rax]
    00206de6add rax, 8
    00206deamov [rdx], rcx
    00206dedmov [rsi], rax
    00206df0ret
    00206df1db 0x48
    00206df2mov [rsi], eax
    00206df4ret
    00206de0
    00206df5
    00206df5 // align 0x10
    00206e00
    00206e00caml_scan_stack:
    00206e00push r15
    00206e02push r14
    00206e04push r13
    00206e06push r12
    00206e08push rbp
    00206e09push rbx
    00206e0asub rsp, 40
    00206e0emov [rsp], rdx
    00206e12mov [rsp+16], rcx
    00206e17mov [rsp+24], r8
    00206e1ctest rcx, rcx
    00206e1fje 0x206f43
    00206e25mov r14, rdi
    00206e28call caml_get_frame_descrs
    00206e2dmov [rsp+8], rax
    00206e32mov rax, [rsp+16]
    00206e37mov rdx, [rax]
    00206e3acmp rdx, [rax+16]
    00206e3eje 0x206ef7
    00206e44mov r12, [rsp+24]
    00206e49nop [rax]
    00206e4cmov rsi, [rdx]
    00206e4flea rbx, [rdx+8]
    00206e53nop [rax+rax]
    00206e5cmov rdi, [rsp+8]
    00206e61call caml_find_frame_descr
    00206e66movzx edx, [rax+8]
    00206e6amov r15, rax
    00206e6dcmp dx, -1
    00206e71je 0x206ee0
    00206e73movzx esi, [rax+10]
    00206e77lea r13, [rax+12]
    00206e7btest si, si
    00206e7eje 0x206ecd
    00206e80lea rbp, [rax+2*rsi+12]
    00206e85jmp 0x206eb4
    00206e87db 0x70
    00206e88or al, 235
    00206e8adb 0x29
    00206e8b
    00206e8b 0f 1f 44 00 00 ..D..
    00206e90
    00206e90loc_206e90:
    00206e90lea rdx, [4*rdx]
    00206e98and edx, 0x3fff8
    00206e9eadd rdx, r12
    00206ea1
    00206ea1loc_206ea1:
    00206ea1add r13, 2
    00206ea5mov rsi, [rdx]
    00206ea8mov rdi, [rsp]
    00206eaccall r14
    00206eafcmp rbp, r13
    00206eb2je 0x206ec8
    00206eb4
    00206eb4loc_206eb4:
    00206eb4movzx edx, [r13]
    00206eb9test dl, 1
    00206ebcjne 0x206e90
    00206ebeadd rdx, rbx
    00206ec1jmp 0x206ea1
    00206ec3
    00206ec3 0f 1f 44 00 00 ..D..
    00206ec8
    00206ec8loc_206ec8:
    00206ec8movzx edx, [r15+8]
    00206ecd
    00206ecdloc_206ecd:
    00206ecdand edx, 65532
    00206ed3add rbx, rdx
    00206ed6mov rsi, [rbx-8]
    00206edajmp 0x206e60
    00206edc
    00206edc 0f 1f 40 00 ..@.
    00206ee0
    00206ee0loc_206ee0:
    00206ee0mov rax, [rsp+16]
    00206ee5mov r12, [rbx+24]
    00206ee9lea rdx, [rbx+32]
    00206eedcmp [rax+16], rdx
    00206ef1jne 0x206e50
    00206ef7
    00206ef7loc_206ef7:
    00206ef7mov r15, [rsp]
    00206efbmov rsi, [rdx]
    00206efemov rdi, r15
    00206f01call r14
    00206f04mov rbx, [rsp+16]
    00206f09mov rdi, r15
    00206f0cmov rax, [rbx+16]
    00206f10mov rsi, [rax+8]
    00206f14lea rdx, [rax+8]
    00206f18call r14
    00206f1bmov rax, [rbx+16]
    00206f1fmov rdi, r15
    00206f22mov rsi, [rax+16]
    00206f26lea rdx, [rax+16]
    00206f2acall r14
    00206f2dmov rax, [rbx+16]
    00206f31mov rax, [rax+24]
    00206f35mov [rsp+16], rax
    00206f3atest rax, rax
    00206f3djne 0x206e2c
    00206f43
    00206f43loc_206f43:
    00206f43add rsp, 40
    00206f47pop rbx
    00206f48pop rbp
    00206f49pop r12
    00206f4bpop r13
    00206f4dpop r14
    00206f4fpop r15
    00206f51ret
    00206e00
    00206f52
    00206f52 // align 0x40
    00206f80
    00206f80caml_rewrite_exception_stack:
    00206f80test rsi, rsi
    00206f83je 0x206fe4
    00206f85mov r8, [rsi]
    00206f88lea r9, [rdi+56]
    00206f8ccmp r9, r8
    00206f8fjb 0x206fdb
    00206f91ret
    00206f92db 0xc1
    00206f93jb 0x206fdb
    00206f95ret
    00206f96
    00206f96 66 66 2e 0f 1f 84 00 00 00 00 ff........
    00206fa0 00 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f .ff.........ff..
    00206fb0 1f 84 00 00 00 00 00 66 0f 1f 84 00 00 00 00 00 .......f........
    00206fc0
    00206fc0loc_206fc0:
    00206fc0sub rax, r8
    00206fc3mov rcx, rax
    00206fc6mov rax, [rdx+16]
    00206fcasub rax, rcx
    00206fcdmov [rsi], rax
    00206fd0mov r8, [rax]
    00206fd3cmp r9, r8
    00206fd6jae 0x206fe4
    00206fd8mov rsi, rax
    00206fdb
    00206fdbloc_206fdb:
    00206fdbmov rax, [rdi+16]
    00206fdfcmp rax, r8
    00206fe2jae 0x206fc0
    00206fe4
    00206fe4loc_206fe4:
    00206fe4ret
    00206f80
    00206fe5
    00206fe5 // align 0x20
    00207000
    00207000caml_try_realloc_stack:
    00207000push r14
    00207002push r13
    00207004push r12
    00207006push rbp
    00207007push rbx
    00207008mov rbx, [rip+0x6efd5]
    0020700fmov rax, [rbx]
    00207013mov rbp, [rax+40]
    00207017mov rsi, [rbp+16]
    0020701blea r12, [rbp+56]
    0020701fmov r14, rsi
    00207022sub r14, [rbp]
    00207026sub rsi, r12
    00207029sar r14, 3
    0020702dsar rsi, 3
    00207031movsxd r14, r14l
    00207034mov rax, [rip+0x171729]
    0020703badd rdi, r14
    0020703ejmp 0x20706c
    00207040db 0x01
    00207041imul ebx
    00207043db 0x28
    00207044
    00207044 66 66 2e 0f 1f 84 00 00 00 00 00 66 ff.........f
    00207050 66 2e 0f 1f 84 00 00 00 00 00 66 0f 1f 44 00 00 f.........f..D..
    00207060
    00207060loc_207060:
    00207060lea r13, [rsi+rsi]
    00207064cmp r13, rdi
    00207067jae 0x207080
    00207069mov rsi, r13
    0020706c
    0020706cloc_20706c:
    0020706ccmp rsi, rax
    0020706fjb 0x207060
    00207071
    00207071loc_207071:
    00207071pop rbx
    00207072xor eax, eax
    00207074pop rbp
    00207075pop r12
    00207077pop r13
    00207079pop r14
    0020707bret
    0020707c
    0020707c 0f 1f 40 00 ..@.
    00207080
    00207080loc_207080:
    00207080shl rsi, 4
    00207084cmp r13, 512
    0020708bjbe 0x2071e0
    00207091shr rsi, 10
    00207095lea rdi, [rip+0x27df0]
    0020709cxor eax, eax
    0020709ecall caml_gc_log
    002070a3
    002070a3loc_2070a3:
    002070a3mov rax, [rbp+16]
    002070a7mov r9, [rbp+48]
    002070abxor esi, esi
    002070admov r8, [rax+16]
    002070b1mov rcx, [rax+8]
    002070b5mov rdx, [rax]
    002070b8mov rax, [rip+0x1716a1]
    002070bf
    002070bfloc_2070bf:
    002070bfcmp r13, rax
    002070c2je 0x2070d4
    002070c4add esi, 1
    002070c7add rax, rax
    002070cacmp esi, 5
    002070cdjne 0x2070bf
    002070cfmov esi, -1
    002070d4
    002070d4loc_2070d4:
    002070d4mov rdi, r13
    002070d7call fn_206b40
    002070dcmov r13, rax
    002070dftest rax, rax
    002070e2je 0x207071
    002070e4mov rdi, [rax+16]
    002070e8mov rsi, [rbp+16]
    002070eclea rdx, [8*r14]
    002070f4mov r14, rdx
    002070f7sub rsi, rdx
    002070fasub rdi, rdx
    002070fdneg r14
    00207100call fn_f47d0
    00207105mov rax, [r13+16]
    00207109add r14, rax
    0020710cmov [r13], r14
    00207110mov rdx, [rbp+16]
    00207114mov rdx, [rdx+24]
    00207118mov [rax+24], rdx
    0020711cmov rdx, [rbx]
    00207120mov rcx, [rdx+48]
    00207124lea rsi, [rdx+48]
    00207128cmp r12, rcx
    0020712bjb 0x20715b
    0020712djmp 0x207168
    0020712f
    0020712f 66 f
    00207130 66 2e 0f 1f 84 00 00 00 00 00 66 0f 1f 44 00 00 f.........f..D..
    00207140
    00207140loc_207140:
    00207140sub rax, rcx
    00207143mov rdx, rax
    00207146mov rax, [r13+16]
    0020714asub rax, rdx
    0020714dmov [rsi], rax
    00207150mov rcx, [rax]
    00207153cmp r12, rcx
    00207156jae 0x207164
    00207158mov rsi, rax
    0020715b
    0020715bloc_20715b:
    0020715bmov rax, [rbp+16]
    0020715fcmp rax, rcx
    00207162jae 0x207140
    00207164
    00207164loc_207164:
    00207164mov rdx, [rbx]
    00207168
    00207168loc_207168:
    00207168mov rax, [rdx+64]
    0020716ctest rax, rax
    0020716fjne 0x207189
    00207171jmp 0x2071aa
    00207173
    00207173 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 ff.........f.
    00207180
    00207180loc_207180:
    00207180mov rax, [rax+16]
    00207184test rax, rax
    00207187je 0x2071a6
    00207189
    00207189loc_207189:
    00207189cmp [rax], rbp
    0020718cjne 0x207180
    0020718emov [rax], r13
    00207191mov rdx, [r13+16]
    00207195sub rdx, [rbp+16]
    00207199add [rax+8], rdx
    0020719dmov rax, [rax+16]
    002071a1test rax, rax
    002071a4jne 0x207189
    002071a6
    002071a6loc_2071a6:
    002071a6mov rdx, [rbx]
    002071aa
    002071aaloc_2071aa:
    002071aamovsxd rax, [rbp+24]
    002071aecmp eax, -1
    002071b1je 0x2071f3
    002071b3mov rdx, [rdx+72]
    002071b7lea rax, [rdx+8*rax]
    002071bbmov rdx, [rax]
    002071bemov [rbp+8], rdx
    002071c2mov [rax], rbp
    002071c5
    002071c5loc_2071c5:
    002071c5mov rax, [rbx]
    002071c9mov [rax+40], r13
    002071cdmov eax, 1
    002071d2pop rbx
    002071d3pop rbp
    002071d4pop r12
    002071d6pop r13
    002071d8pop r14
    002071daret
    002071db
    002071db 0f 1f 44 00 00 ..D..
    002071e0
    002071e0loc_2071e0:
    002071e0lea rdi, [rip+0x27cc1]
    002071e7xor eax, eax
    002071e9call caml_gc_log
    002071eejmp 0x2070a3
    002071f3
    002071f3loc_2071f3:
    002071f3mov rdi, rbp
    002071f6call caml_stat_free
    002071fbjmp 0x2071c5
    00207000
    002071fd
    002071fd // align 0x10
    00207200
    00207200caml_maybe_expand_stack:
    00207200push rbx
    00207201mov rbx, [rip+0x6eddc]
    00207208mov rdx, [rbx]
    0020720cmov rax, [rdx+40]
    00207210lea rcx, [rax+56]
    00207214mov rax, [rax]
    00207217sub rax, rcx
    0020721acmp rax, 312
    00207220jbe 0x207230
    00207222cmp [rdx+80], 0
    00207227je 0x207249
    00207229pop rbx
    0020722aret
    0020722bdb 0x74
    0020722csbb al, 91
    0020722eret
    0020722f
    0020722f 90 .
    00207230
    00207230loc_207230:
    00207230mov edi, 40
    00207235call caml_try_realloc_stack
    0020723atest eax, eax
    0020723cje 0x207264
    0020723emov rdx, [rbx]
    00207242cmp [rdx+80], 0
    00207247jne 0x20722d
    00207249
    00207249loc_207249:
    00207249mov edi, 232
    0020724ecall caml_stat_alloc
    00207253mov [rax], 0
    0020725amov rdx, [rbx]
    0020725emov [rdx+80], rax
    00207262pop rbx
    00207263ret
    00207264
    00207264loc_207264:
    00207264call caml_raise_stack_overflow
    00207200
    00207269
    00207269 // align 0x10
    00207270
    00207270caml_alloc_main_stack:
    00207270mov r9l, 1
    00207276lock xadd [rip+0x1714cd], r9
    0020727fmov rax, [rip+0x1714d6]
    00207286xor esi, esi
    00207288cmp rdi, rax
    0020728bje 0x2072a1
    0020728dadd esi, 1
    00207290add rax, rax
    00207293cmp esi, 5
    00207296jne 0x20728c
    00207298mov esi, -1
    0020729dmov r8l, 1
    002072a3mov ecx, 1
    002072a8mov edx, 1
    002072adjmp 0x206b40
    002072b2db 0x8a
    002072b3clc
    002072b4db 0xff
    002072b5db 0xff
    00207270
    002072b6
    002072b6 // align 0x10
    002072c0
    002072c0caml_free_stack:
    002072c0movsxd rax, [rdi+24]
    002072c4cmp eax, -1
    002072c7je 0x2072f0
    002072c9mov rdx, [rip+0x6ed14]
    002072d0mov rdx, [rdx]
    002072d4mov rdx, [rdx+72]
    002072d8lea rax, [rdx+8*rax]
    002072dcmov rdx, [rax]
    002072dfmov [rdi+8], rdx
    002072e3mov [rax], rdi
    002072e6ret
    002072e7db 0x48
    002072e8mov [rax], edi
    002072earet
    002072eb
    002072eb 0f 1f 44 00 00 ..D..
    002072f0
    002072f0loc_2072f0:
    002072f0jmp 0x216690
    002072c0
    002072f5
    002072f5 // align 0x10
    00207300
    00207300caml_free_gc_regs_buckets:
    00207300test rdi, rdi
    00207303je 0x207328
    00207305push rbx
    00207306mov rbx, rdi
    00207309nop [rax]
    0020730cmov rdi, rbx
    0020730fmov rbx, [rbx]
    00207312call caml_stat_free
    00207317test rbx, rbx
    0020731ajne 0x207310
    0020731cpop rbx
    0020731dret
    0020731edb 0x75
    0020731fdb 0xf0
    00207320pop rbx
    00207321ret
    00207322
    00207322 66 0f 1f 44 00 00 f..D..
    00207328
    00207328loc_207328:
    00207328ret
    00207300
    00207329
    00207329 // align 0x10
    00207330
    00207330caml_continuation_use_noexc:
    00207330cmp rdi, [rip+0x17128d]
    00207337push rbx
    00207338mov rbx, rdi
    0020733bjae 0x207370
    0020733dcmp [rip+0x171288], rdi
    00207344jae 0x207370
    00207346mov rax, [rbx]
    00207349mov rdx, [rip+0x17128c]
    00207350cmp rdx, 1
    00207354je 0x207388
    00207356mov edx, 1
    0020735block cmpxchg [rbx], rdx
    00207360jne 0x207391
    00207362pop rbx
    00207363ret
    00207364db 0x75
    00207365sub ebx, [rbx-61]
    00207368
    00207368 0f 1f 84 00 00 00 00 00 ........
    00207370
    00207370loc_207370:
    00207370mov rdi, rbx
    00207373call caml_darken_cont
    00207378mov rax, [rbx]
    0020737bmov rdx, [rip+0x17125e]
    00207382cmp rdx, 1
    00207386jne 0x20735a
    00207388
    00207388loc_207388:
    00207388mov [rbx], 1
    0020738fpop rbx
    00207390ret
    00207391
    00207391loc_207391:
    00207391mov eax, 1
    00207396pop rbx
    00207397ret
    00207330
    00207398
    00207398 // align 0x10
    002073a0
    002073a0caml_continuation_use_and_update_handler_noexc:
    002073a0push r12
    002073a2mov r12, rsi
    002073a5push rbp
    002073a6mov rbp, rdx
    002073a9push rbx
    002073aamov rbx, rcx
    002073adcall caml_continuation_use_noexc
    002073b2cmp rax, 1
    002073b6je 0x2073e3
    002073b8lea rdx, [rax-1]
    002073bcmov rcx, [rdx+16]
    002073c0
    002073c0loc_2073c0:
    002073c0mov rsi, rdx
    002073c3mov rdx, [rcx+24]
    002073c7test rdx, rdx
    002073cajne 0x2073c0
    002073ccmov [rcx], r12
    002073cfmov rdx, [rsi+16]
    002073d3mov [rdx+8], rbp
    002073d7mov rdx, [rsi+16]
    002073dbmov [rdx+16], rbx
    002073dfpop rbx
    002073e0pop rbp
    002073e1pop r12
    002073e3
    002073e3loc_2073e3:
    002073e3ret
    002073e4db 0x5d
    002073e5pop r12
    002073e7ret
    002073a0
    002073e8
    002073e8 // align 0x10
    002073f0
    002073f0caml_continuation_replace:
    002073f0add rsi, 1
    002073f4mov eax, 1
    002073f9lock cmpxchg [rdi], rsi
    002073feret
    002073ffdb 0x0f
    00207400mov cl, 55
    00207402ret
    002073f0
    00207403
    00207403 // align 0x10
    00207410
    00207410caml_raise_continuation_already_resumed:
    00207410push rbx
    00207411mov rax, [rip+0x171324]
    00207418test rax, rax
    0020741bje 0x207429
    0020741dmov rdi, [rax]
    00207420call caml_raise
    00207425lea rbx, [rip+0x28f48]
    0020742cmov rdi, rbx
    0020742fcall caml_named_value
    00207434test rax, rax
    00207437je 0x207446
    00207439mov [rip+0x1712fc], rax
    00207440jmp 0x207421
    00207442mov rdi, rbx
    00207445call fn_206bf0
    0020744adb 0xa2
    0020744bidiv edi
    0020744ddb 0xff
    00207410
    0020744e
    0020744e // align 0x10
    00207450
    00207450caml_continuation_use:
    00207450sub rsp, 8
    00207454call caml_continuation_use_noexc
    00207459cmp rax, 1
    0020745dje 0x207468
    0020745fadd rsp, 8
    00207463ret
    00207464call caml_raise_continuation_already_resumed
    00207469db 0xa3
    0020746adb 0xff
    0020746bdb 0xff
    0020746cdb 0xff
    00207450
    0020746d
    0020746d // align 0x10
    00207470
    00207470caml_make_unhandled_effect_exn:
    00207470push r13
    00207472push r12
    00207474push rbp
    00207475push rbx
    00207476sub rsp, 104
    0020747amov [rsp+8], rdi
    0020747fmov rax, [0x28]
    00207488mov [rsp+88], rax
    0020748dmov rax, [rip+0x6eb50]
    00207494mov rbp, [rax]
    00207498lea rax, [rsp+16]
    0020749dmov r12, [rbp+160]
    002074a4mov [rbp+160], rax
    002074abmov eax, 1
    002074b0movq x0, rax
    002074b5lea rax, [rsp+8]
    002074bamov [rsp+16], r12
    002074bfpunpcklqdq x0, x0
    002074c3mov [rsp+40], rax
    002074c8movups [rsp+24], x0
    002074cdmov rax, [rip+0x171270]
    002074d4mov rbx, rax
    002074d7test rax, rax
    002074daje 0x207520
    002074dcxor esi, esi
    002074demov edi, 2
    002074e3call caml_alloc_small
    002074e8mov rdx, [rbx]
    002074ebmov [rax], rdx
    002074eemov rdx, [rsp+8]
    002074f3mov [rax+8], rdx
    002074f7mov [rbp+160], r12
    002074femov rdx, [rsp+88]
    00207503sub rdx, [0x28]
    0020750cjne 0x207540
    0020750eadd rsp, 104
    00207512pop rbx
    00207513pop rbp
    00207514pop r12
    00207516pop r13
    00207518ret
    00207519db 0x5c
    0020751apop r13
    0020751cret
    0020751d
    0020751d 0f 1f 00 ...
    00207520
    00207520loc_207520:
    00207520lea r13, [rip+0x2799c]
    00207527mov rdi, r13
    0020752acall caml_named_value
    0020752fmov rbx, rax
    00207532test rax, rax
    00207535je 0x207545
    00207537mov [rip+0x17120a], rax
    0020753ejmp 0x2074e0
    00207540
    00207540loc_207540:
    00207540call fn_f4590
    00207545
    00207545loc_207545:
    00207545mov rdi, r13
    00207548call fn_206bf0
    00207470
    0020754d
    0020754d // align 0x10
    00207550
    00207550caml_raise_unhandled_effect:
    00207550push rax
    00207551pop rax
    00207552sub rsp, 8
    00207556call caml_make_unhandled_effect_exn
    0020755bmov rdi, rax
    0020755ecall caml_raise
    00207563db 0x39
    00207564jmp 0x207567
    00207566db 0x00
    00207550
    00207567
    00207567 // align 0x10
    00207570
    00207570caml_init_locale:
    00207570cmp [rip+0x1711dc], 0
    00207578je 0x207580
    0020757aret
    0020757bdb 0x00
    0020757cje 0x207580
    0020757eret
    0020757f
    0020757f 90 .
    00207580
    00207580loc_207580:
    00207580sub rsp, 8
    00207584xor edx, edx
    00207586mov edi, 2
    0020758blea rsi, [rip+0x27942]
    00207592call fn_f4120
    00207597mov [rip+0x1711ba], rax
    0020759eadd rsp, 8
    002075a2ret
    00207570
    002075a3
    002075a3 // align 0x10
    002075b0
    002075b0caml_free_locale:
    002075b0mov rdi, [rip+0x17119d]
    002075b7test rdi, rdi
    002075baje 0x2075e0
    002075bcsub rsp, 8
    002075c0call fn_f4560
    002075c5mov [rip+0x171184], 0
    002075d0add rsp, 8
    002075d4ret
    002075d5db 0x83
    002075d6db 0xc4
    002075d7or bl, al
    002075d9
    002075d9 0f 1f 80 00 00 00 00 .......
    002075e0
    002075e0loc_2075e0:
    002075e0mov [rip+0x17116d], 0
    002075ebret
    002075b0
    002075ec
    002075ec // align 0x10
    002075f0
    002075f0caml_copy_double:
    002075f0push rbx
    002075f1sub rsp, 16
    002075f5mov rax, [rip+0x6e9e8]
    002075fcmov rbx, [rax]
    00207600test rbx, rbx
    00207603je 0x207668
    00207605sub [rbx+8], 16
    0020760amov rdx, [rbx]
    0020760dmov rax, [rbx+8]
    00207611cmp rax, rdx
    00207614jb 0x207638
    00207616mov [rax], 1277
    0020761dmov rax, [rbx+8]
    00207621movsd_xmm [rax+8], x0
    00207626add rsp, 16
    0020762aadd rax, 8
    0020762epop rbx
    0020762fret
    00207630db 0xc0
    00207631or [rbx-61], bl
    00207634
    00207634 0f 1f 40 00 ..@.
    00207638
    00207638loc_207638:
    00207638xor r8l, r8l
    0020763bmov ecx, 1
    00207640mov edx, 1
    00207645mov rdi, rbx
    00207648movsd_xmm [rsp+8], x0
    0020764emov esi, 1
    00207653call caml_alloc_small_dispatch
    00207658mov rax, [rbx+8]
    0020765cmovsd_xmm x0, [rsp+8]
    00207662jmp 0x20761a
    00207664
    00207664 0f 1f 40 00 ..@.
    00207668
    00207668loc_207668:
    00207668call caml_bad_caml_state
    002075f0
    0020766d
    0020766d // align 0x10
    00207670
    00207670caml_format_float:
    00207670push rbp
    00207671push rbx
    00207672mov rbx, rdi
    00207675sub rsp, 24
    00207679movsd_xmm x0, [rsi]
    0020767dmov rdi, [rip+0x1710d0]
    00207684movsd_xmm [rsp+8], x0
    0020768acall fn_f4500
    0020768fmovsd_xmm x0, [rsp+8]
    00207695mov rdi, rbx
    00207698mov rbp, rax
    0020769bmov eax, 1
    002076a0call caml_alloc_sprintf
    002076a5mov rdi, rbp
    002076a8mov rbx, rax
    002076abcall fn_f4500
    002076b0add rsp, 24
    002076b4mov rax, rbx
    002076b7pop rbx
    002076b8pop rbp
    002076b9ret
    002076badb 0xd8
    002076bbpop rbx
    002076bcpop rbp
    002076bdret
    00207670
    002076be
    002076be // align 0x10
    002076c0
    002076c0caml_hexstring_of_float:
    002076c0push r14
    002076c2push r13
    002076c4mov r13, rdi
    002076c7push r12
    002076c9push rbp
    002076capush rbx
    002076cbmov rbx, rsi
    002076cesar rbx, 1
    002076d1lea rdi, [rbx+12]
    002076d5sub rsp, 80
    002076d9mov r14, [0x28]
    002076e2mov [rsp+72], r14
    002076e7mov r14, rdx
    002076eamov r12, rsp
    002076edmov rbp, rsp
    002076f0cmp rdi, 64
    002076f4jg 0x207928
    002076famov rax, 0xfffffffffffff
    00207704mov rdx, [r13]
    00207708mov rdi, rdx
    0020770band rax, rdx
    0020770eshr rdi, 52
    00207712and edi, 2047
    00207718test rdx, rdx
    0020771bjns 0x207880
    00207721mov [rbp], 45
    00207725lea r13, [rbp+1]
    00207729cmp edi, 2047
    0020772fje 0x2078b0
    00207735mov edx, 30768
    0020773amov [r13], dx
    0020773ftest edi, edi
    00207741je 0x207850
    00207747sub edi, 1023
    0020774dbts rax, 52
    00207752cmp rbx, 12
    00207756
    00207756loc_207756:
    00207756jbe 0x207938
    0020775cmov rdx, rax
    0020775fshl rax, 4
    00207763lea rsi, [r13+3]
    00207767mov rcx, 0xffffffffffffff
    00207771shr rdx, 52
    00207775and rax, rcx
    00207778add edx, 48
    0020777btest rax, rax
    0020777emov [r13+2], dl
    00207782setne dl
    00207785test rbx, rbx
    00207788jns 0x207792
    0020778atest dl, dl
    0020778cje 0x207800
    0020778e
    0020778eloc_20778e:
    0020778emov [r13+3], 46
    00207793lea rsi, [r13+4]
    00207797mov r9, 0xffffffffffffff
    002077a1jmp 0x2077ee
    002077a3db 0xff
    002077a4add bl, ch
    002077a6db 0x47
    002077a7
    002077a7 66 66 2e 0f 1f 84 00 00 00 ff.......
    002077b0 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 ..ff............
    002077c0
    002077c0loc_2077c0:
    002077c0setg dl
    002077c3test dl, dl
    002077c5je 0x207800
    002077c7
    002077c7loc_2077c7:
    002077c7mov rcx, rax
    002077cashr rcx, 52
    002077cecmp ecx, 9
    002077d1lea r8l, [rcx+48]
    002077d5lea edx, [rcx+87]
    002077d8cmovle edx, r8l
    002077dcshl rax, 4
    002077e0add rsi, 1
    002077e4sub rbx, 1
    002077e8and rax, r9
    002077ebmov [rsi-1], dl
    002077ee
    002077eeloc_2077ee:
    002077eetest rbx, rbx
    002077f1jns 0x2077c0
    002077f3test rax, rax
    002077f6setne dl
    002077f9test dl, dl
    002077fbjne 0x2077c7
    002077fdnop [rax]
    00207800
    00207800loc_207800:
    00207800mov [rsi], 0
    00207803mov edx, edi
    00207805mov rsi, rbp
    00207808lea rdi, [rip+0x276d4]
    0020780fxor eax, eax
    00207811call caml_alloc_sprintf
    00207816mov rbx, rax
    00207819
    00207819loc_207819:
    00207819cmp rbp, r12
    0020781cje 0x207826
    0020781emov rdi, rbp
    00207821call caml_stat_free
    00207826
    00207826loc_207826:
    00207826mov rax, [rsp+72]
    0020782bsub rax, [0x28]
    00207834jne 0x207a5a
    0020783aadd rsp, 80
    0020783emov rax, rbx
    00207841pop rbx
    00207842pop rbp
    00207843pop r12
    00207845pop r13
    00207847pop r14
    00207849ret
    0020784a
    0020784a 66 0f 1f 44 00 00 f..D..
    00207850
    00207850loc_207850:
    00207850test rax, rax
    00207853jne 0x2079d0
    00207859cmp rbx, 12
    0020785djbe 0x207a20
    00207863mov [r13+2], 48
    00207868lea rsi, [r13+3]
    0020786ctest rbx, rbx
    0020786fjs 0x207800
    00207871jmp 0x207792
    00207876
    00207876 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00207880
    00207880loc_207880:
    00207880mov rdx, r14
    00207883sar rdx, 1
    00207886cmp edx, 32
    00207889je 0x207a10
    0020788fmov r13, rbp
    00207892cmp edx, 43
    00207895jne 0x20772d
    0020789bmov [rbp], 43
    0020789flea r13, [rbp+1]
    002078a3cmp edi, 2047
    002078a9jne 0x207739
    002078afnop
    002078b0
    002078b0loc_2078b0:
    002078b0mov edx, 3
    002078b5lea rdi, [rip+0x27623]
    002078bctest rax, rax
    002078bfjne 0x2078cd
    002078c1mov edx, 8
    002078c6lea rdi, [rip+0x27609]
    002078cd
    002078cdloc_2078cd:
    002078cdcmp edx, 8
    002078d0jb 0x2079a0
    002078d6mov rax, [rdi]
    002078d9lea rcx, [r13+8]
    002078ddmov r8, rdi
    002078e0and rcx, -8
    002078e4mov [r13], rax
    002078e8mov rax, [rdi+rdx-8]
    002078edmov [r13+rdx-8], rax
    002078f2mov rax, r13
    002078f5sub rax, rcx
    002078f8sub r8, rax
    002078fbadd eax, edx
    002078fdand eax, -8
    00207900cmp eax, 8
    00207903jb 0x2079b4
    00207909and eax, -8
    0020790cxor edx, edx
    0020790e
    0020790eloc_20790e:
    0020790emov esi, edx
    00207910add edx, 8
    00207913mov r9, [r8+rsi]
    00207917mov [rcx+rsi], r9
    0020791bcmp edx, eax
    0020791djb 0x20790e
    0020791fjmp 0x2079b4
    00207924
    00207924 0f 1f 40 00 ..@.
    00207928
    00207928loc_207928:
    00207928call caml_stat_alloc
    0020792dmov rbp, rax
    00207930jmp 0x2076fe
    00207935
    00207935 0f 1f 00 ...
    00207938
    00207938loc_207938:
    00207938mov ecx, 13
    0020793dmov edx, 1
    00207942sub rcx, rbx
    00207945shl ecx, 2
    00207948shl rdx, cl
    0020794bmov r8, rdx
    0020794elea rsi, [rdx-1]
    00207952mov rcx, rdx
    00207955neg rcx
    00207958shr r8, 1
    0020795band rsi, rax
    0020795eand rcx, rax
    00207961cmp r8, rsi
    00207964jae 0x2079e0
    00207966
    00207966loc_207966:
    00207966add rdx, rcx
    00207969mov rcx, 0xffffffffffffff
    00207973mov rax, rdx
    00207976shr rdx, 52
    0020797ashl rax, 4
    0020797eadd edx, 48
    00207981and rax, rcx
    00207984
    00207984loc_207984:
    00207984test rbx, rbx
    00207987mov [r13+2], dl
    0020798blea rsi, [r13+3]
    0020798fsetg dl
    00207992jmp 0x20778e
    00207997
    00207997 66 0f 1f 84 00 00 00 00 00 f........
    002079a0
    002079a0loc_2079a0:
    002079a0test edx, edx
    002079a2je 0x2079b4
    002079a4movzx eax, [rdi]
    002079a7mov [r13], al
    002079abtest dl, 2
    002079aejne 0x207a4a
    002079b4
    002079b4loc_2079b4:
    002079b4call fn_f43a0
    002079b9mov rdi, rbp
    002079bcmov [r13+rax], 0
    002079c2call caml_copy_string
    002079c7mov rbx, rax
    002079cajmp 0x207819
    002079cf
    002079cf 90 .
    002079d0
    002079d0loc_2079d0:
    002079d0mov edi, -1022
    002079d5jmp 0x207756
    002079da
    002079da 66 0f 1f 44 00 00 f..D..
    002079e0
    002079e0loc_2079e0:
    002079e0jne 0x207a2a
    002079e2test rdx, rcx
    002079e5jne 0x207966
    002079ebmov rdx, 0xffffffffffffff
    002079f5mov rax, rcx
    002079f8shr rcx, 52
    002079fcshl rax, 4
    00207a00and rax, rdx
    00207a03lea edx, [rcx+48]
    00207a06jmp 0x207984
    00207a0b
    00207a0b 0f 1f 44 00 00 ..D..
    00207a10
    00207a10loc_207a10:
    00207a10mov [rbp], 32
    00207a14lea r13, [rbp+1]
    00207a18jmp 0x20772d
    00207a1d
    00207a1d 0f 1f 00 ...
    00207a20
    00207a20loc_207a20:
    00207a20mov edx, 48
    00207a25jmp 0x207984
    00207a2a
    00207a2aloc_207a2a:
    00207a2amov rax, 0xffffffffffffff
    00207a34mov rdx, rcx
    00207a37shl rcx, 4
    00207a3bshr rdx, 52
    00207a3fand rax, rcx
    00207a42add edx, 48
    00207a45jmp 0x207984
    00207a4a
    00207a4aloc_207a4a:
    00207a4amovzx eax, [rdi+rdx-2]
    00207a4fmov [r13+rdx-2], ax
    00207a55jmp 0x2079b4
    00207a5a
    00207a5aloc_207a5a:
    00207a5acall fn_f4590
    002076c0
    00207a5f
    00207a5f // align 0x10
    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