File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    00206080
    00206080caml_serialize_block_4:
    00206080push r13
    00206082push r12
    00206084push rbp
    00206085push rbx
    00206086sub rsp, 8
    0020608amov rax, [rip+0x6ff53]
    00206091mov rax, [rax]
    00206095test rax, rax
    00206098je 0x206160
    0020609emov r12, [rax+368]
    002060a5test r12, r12
    002060a8je 0x206165
    002060aemov rbp, rsi
    002060b1mov rsi, [r12+8328]
    002060b9mov rbx, rdi
    002060bclea r13, [4*rbp]
    002060c4lea rax, [rsi+r13]
    002060c8cmp [r12+8336], rax
    002060d0jb 0x206148
    002060d2test rbp, rbp
    002060d5jle 0x206131
    002060d7xor edx, edx
    002060d9nop [rax+rax]
    002060e4nop [rax+rax]
    002060efnop [rax+rax]
    002060fanop
    002060fcmovzx eax, [rbx+4*rdx]
    00206100
    00206100loc_206100:
    00206100movzx ecx, [rbx+4*rdx+1]
    00206105shl eax, 8
    00206108or eax, ecx
    0020610amovzx ecx, [rbx+4*rdx+2]
    0020610fshl eax, 8
    00206112or eax, ecx
    00206114movzx ecx, [rbx+4*rdx+3]
    00206119shl eax, 8
    0020611cor eax, ecx
    0020611emov [rsi+4*rdx], eax
    00206121add rdx, 1
    00206125cmp rbp, rdx
    00206128jne 0x206100
    0020612aadd rsi, r13
    0020612dmov [r12+8328], rsi
    00206135add rsp, 8
    00206139pop rbx
    0020613apop rbp
    0020613bpop r12
    0020613dpop r13
    0020613fret
    00206140db 0x5c
    00206141pop r13
    00206143ret
    00206144
    00206144 0f 1f 40 00 ..@.
    00206148
    00206148loc_206148:
    00206148mov rsi, r13
    0020614bmov rdi, r12
    0020614ecall fn_203430
    00206153mov rsi, [r12+8328]
    0020615bjmp 0x2060d6
    00206160
    00206160loc_206160:
    00206160call caml_bad_caml_state
    00206165
    00206165loc_206165:
    00206165lea rdi, [rip+0x2a164]
    0020616cxor eax, eax
    0020616ecall caml_fatal_error
    00206080
    00206173
    00206173 // align 0x10
    00206180
    00206180caml_serialize_block_8:
    00206180push r13
    00206182push r12
    00206184push rbp
    00206185push rbx
    00206186sub rsp, 8
    0020618amov rax, [rip+0x6fe53]
    00206191mov rax, [rax]
    00206195test rax, rax
    00206198je 0x206290
    0020619emov r12, [rax+368]
    002061a5test r12, r12
    002061a8je 0x206295
    002061aemov rcx, [r12+8328]
    002061b6lea r13, [8*rsi]
    002061bemov rbx, rdi
    002061c1mov rbp, rsi
    002061c4lea rax, [rcx+r13]
    002061c8cmp [r12+8336], rax
    002061d0jb 0x206270
    002061d6test rbp, rbp
    002061d9jle 0x206255
    002061dbmov rdx, rcx
    002061denop [rax+rax]
    002061e9nop [rax]
    002061ecmovzx eax, [rbx]
    002061efmovzx esi, [rbx+1]
    002061f3add rdx, 8
    002061f7add rbx, 8
    002061fbshl rax, 8
    002061ffor rax, rsi
    00206202movzx esi, [rbx-6]
    00206206shl rax, 8
    0020620aor rax, rsi
    0020620dmovzx esi, [rbx-5]
    00206211shl rax, 8
    00206215or rax, rsi
    00206218movzx esi, [rbx-4]
    0020621cshl rax, 8
    00206220or rax, rsi
    00206223movzx esi, [rbx-3]
    00206227shl rax, 8
    0020622bor rax, rsi
    0020622emovzx esi, [rbx-2]
    00206232shl rax, 8
    00206236or rax, rsi
    00206239movzx esi, [rbx-1]
    0020623dshl rax, 8
    00206241or rax, rsi
    00206244mov [rdx-8], rax
    00206248sub rbp, 1
    0020624cjne 0x2061f0
    0020624eadd rcx, r13
    00206251mov [r12+8328], rcx
    00206259add rsp, 8
    0020625dpop rbx
    0020625epop rbp
    0020625fpop r12
    00206261pop r13
    00206263ret
    00206264db 0x5c
    00206265pop r13
    00206267ret
    00206268
    00206268 0f 1f 84 00 00 00 00 00 ........
    00206270
    00206270loc_206270:
    00206270mov rsi, r13
    00206273mov rdi, r12
    00206276call fn_203430
    0020627bmov rcx, [r12+8328]
    00206283jmp 0x2061da
    00206288
    00206288 0f 1f 84 00 00 00 00 00 ........
    00206290
    00206290loc_206290:
    00206290call caml_bad_caml_state
    00206295
    00206295loc_206295:
    00206295lea rdi, [rip+0x2a034]
    0020629cxor eax, eax
    0020629ecall caml_fatal_error
    00206180
    002062a3
    002062a3 // align 0x10
    002062b0
    002062b0caml_serialize_block_float_8:
    002062b0mov rax, [rip+0x6fd2d]
    002062b7push r12
    002062b9push rbp
    002062bapush rbx
    002062bbmov rax, [rax]
    002062bftest rax, rax
    002062c2je 0x206328
    002062c4mov rbp, [rax+368]
    002062cbtest rbp, rbp
    002062ceje 0x20632d
    002062d0mov r12, rdi
    002062d3mov rdi, [rbp+8328]
    002062dalea rbx, [8*rsi]
    002062e2lea rax, [rdi+rbx]
    002062e6cmp [rbp+8336], rax
    002062edjb 0x206310
    002062efmov rdx, rbx
    002062f2mov rsi, r12
    002062f5call fn_f47d0
    002062faadd [rbp+8328], rbx
    00206301pop rbx
    00206302pop rbp
    00206303pop r12
    00206305ret
    00206306db 0x5d
    00206307pop r12
    00206309ret
    0020630a
    0020630a 66 0f 1f 44 00 00 f..D..
    00206310
    00206310loc_206310:
    00206310mov rdi, rbp
    00206313mov rsi, rbx
    00206316call fn_203430
    0020631bmov rdi, [rbp+8328]
    00206322jmp 0x2062f3
    00206324
    00206324 0f 1f 40 00 ..@.
    00206328
    00206328loc_206328:
    00206328call caml_bad_caml_state
    0020632d
    0020632dloc_20632d:
    0020632dlea rdi, [rip+0x29f9c]
    00206334xor eax, eax
    00206336call caml_fatal_error
    002062b0
    0020633b
    0020633b // align 0x10
    00206340
    00206340caml_serialize_float_8:
    00206340sub rsp, 24
    00206344mov esi, 1
    00206349lea rdi, [rsp+8]
    0020634emovsd_xmm [rsp+8], x0
    00206354call caml_serialize_block_float_8
    00206359add rsp, 24
    0020635dret
    0020635edb 0x83
    0020635fdb 0xc4
    00206360sbb bl, al
    00206340
    00206362
    00206362 // align 0x20
    00206380
    00206380caml_obj_reachable_words:
    00206380push r15
    00206382mov r15, 0x9e3779b97f4a7c16
    0020638cpush r14
    0020638emov r14l, 1
    00206394push r13
    00206396xor r13l, r13l
    00206399push r12
    0020639bmov r12, rdi
    0020639epush rbp
    0020639fpush rbx
    002063a0sub rsp, 56
    002063a4call fn_2032b0
    002063a9movdqa x0, [rip+0x23d4b]
    002063b1lea r8, [rax+4144]
    002063b8mov [rax], 0
    002063bemov rbp, rax
    002063c1lea rax, [rax+4176]
    002063c8movups [rax+4104], x0
    002063cfpxor x0, x0
    002063d3mov [rax-4168], 0
    002063demov [rax+4096], 56
    002063e8mov [rax+4120], 170
    002063f3mov [rax+4128], r8
    002063famov [rbp+8312], rax
    00206401movups [rbp+4144], x0
    00206408mov [rsp+32], rax
    0020640dmovups [r8+16], x0
    00206412mov rbx, [rbp+4128]
    00206419jmp 0x206467
    0020641bdb 0x00
    0020641cadd bl, ch
    0020641edb 0x48
    0020641f
    0020641f 66 f
    00206420 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f 1f 84 f.........ff....
    00206430 00 00 00 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 .....ff.........
    00206440
    00206440loc_206440:
    00206440cmp [rbp+4128], rbx
    00206447je 0x2065a8
    0020644dmov rax, [rbx]
    00206450lea rdx, [rax+8]
    00206454mov [rbx], rdx
    00206457mov r12, [rax]
    0020645alea rdx, [rbx-16]
    0020645esub [rbx+8], 1
    00206463cmove rbx, rdx
    00206467
    00206467loc_206467:
    00206467test r12b, 1
    0020646bjne 0x206440
    0020646dmov edi, [rbp+8272]
    00206473mov rsi, [rbp+8304]
    0020647a
    0020647aloc_20647a:
    0020647amov rdx, r12
    0020647dmov ecx, edi
    0020647fmov rax, r14
    00206482imul rdx, r15
    00206486shr rdx, cl
    00206489mov r10, rdx
    0020648cmov ecx, edx
    0020648eshr r10, 6
    00206492shl rax, cl
    00206495and rax, [rsi+8*r10]
    00206499je 0x2064f1
    0020649bmov r10, [rbp+8312]
    002064a2nop [rax+rax]
    002064adnop [rax+rax]
    002064b8nop [rax+rax]
    002064c0
    002064c0loc_2064c0:
    002064c0mov rax, rdx
    002064c3shl rax, 4
    002064c7cmp r12, [r10+rax]
    002064cbje 0x206440
    002064d1add rdx, 1
    002064d5and rdx, [rbp+8288]
    002064dcmov rax, r14
    002064dfmov r11, rdx
    002064e2mov ecx, edx
    002064e4shr r11, 6
    002064e8shl rax, cl
    002064eband rax, [rsi+8*r11]
    002064efjne 0x2064c0
    002064f1
    002064f1loc_2064f1:
    002064f1mov r10, [r12-8]
    002064f6mov rax, r10
    002064f9movzx ecx, r10b
    002064fdshr rax, 10
    00206501cmp r10b, -7
    00206505je 0x206630
    0020650bmov rsi, r12
    0020650emov rdi, rbp
    00206511mov [rsp+24], r8
    00206516mov [rsp+16], rax
    0020651bmov [rsp+8], ecx
    0020651fcall fn_203500
    00206524mov ecx, [rsp+8]
    00206528mov rax, [rsp+16]
    0020652dmov r8, [rsp+24]
    00206532cmp ecx, 250
    00206538lea r13, [r13+rax+1]
    0020653dja 0x206440
    00206543xor edx, edx
    00206545cmp ecx, 247
    0020654bjne 0x20655a
    0020654dmov rdx, [r12+8]
    00206552shl rdx, 8
    00206556shr rdx, 9
    0020655a
    0020655aloc_20655a:
    0020655acmp rdx, rax
    0020655djae 0x206440
    00206563lea r10, [rax-1]
    00206567lea rcx, [8*rdx]
    0020656fcmp rdx, r10
    00206572jae 0x206597
    00206574add rbx, 16
    00206578cmp rbx, [rbp+4136]
    0020657fjae 0x20663c
    00206585
    00206585loc_206585:
    00206585lea rax, [rcx+r12+8]
    0020658amov [rbx], rax
    0020658dmov rax, r10
    00206590sub rax, rdx
    00206593mov [rbx+8], rax
    00206597
    00206597loc_206597:
    00206597add rcx, r12
    0020659amov r12, [rcx]
    0020659djmp 0x206467
    002065a2
    002065a2 66 0f 1f 44 00 00 f..D..
    002065a8
    002065a8loc_2065a8:
    002065a8lea r12, [rbp+32]
    002065accmp rbx, r12
    002065afje 0x2065d8
    002065b1mov rdi, rbx
    002065b4mov [rsp+8], r8
    002065b9call caml_stat_free
    002065belea rax, [rbp+4128]
    002065c5mov r8, [rsp+8]
    002065camov [rbp+4128], r12
    002065d1mov [rbp+4136], rax
    002065d8
    002065d8loc_2065d8:
    002065d8test [rbp], 1
    002065dcjne 0x206618
    002065demov rdi, [rbp+8304]
    002065e5mov [rsp+8], r8
    002065eacmp r8, rdi
    002065edje 0x206618
    002065efcall caml_stat_free
    002065f4mov rdi, [rbp+8312]
    002065fbcall caml_stat_free
    00206600mov r8, [rsp+8]
    00206605mov rax, [rsp+32]
    0020660amov [rbp+8304], r8
    00206611mov [rbp+8312], rax
    00206618
    00206618loc_206618:
    00206618add rsp, 56
    0020661clea rax, [r13+r13+1]
    00206621pop rbx
    00206622pop rbp
    00206623pop r12
    00206625pop r13
    00206627pop r14
    00206629pop r15
    0020662bret
    0020662c
    0020662c 0f 1f 40 00 ..@.
    00206630
    00206630loc_206630:
    00206630shl rax, 3
    00206634sub r12, rax
    00206637jmp 0x20647a
    0020663c
    0020663cloc_20663c:
    0020663cmov rsi, rbx
    0020663fmov rdi, rbp
    00206642mov [rsp+40], r8
    00206647mov [rsp+24], rcx
    0020664cmov [rsp+16], rdx
    00206651mov [rsp+8], r10
    00206656call fn_203820
    0020665bmov r8, [rsp+40]
    00206660mov rcx, [rsp+24]
    00206665mov rdx, [rsp+16]
    0020666amov r10, [rsp+8]
    0020666fmov rbx, rax
    00206672jmp 0x206585
    00206380
    00206677
    00206677 // align 0x10
    00206680
    00206680caml_exception_constant:
    00206680mov rax, rdi
    00206683ret
    00206684db 0x48
    00206685mov eax, edi
    00206687ret
    00206680
    00206688
    00206688 // align 0x10
    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