File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    00205610
    00205610caml_free_extern_state:
    00205610push rbx
    00205611mov rbx, [rip+0x709cc]
    00205618mov rax, [rbx]
    0020561cmov rdi, [rax+368]
    00205623test rdi, rdi
    00205626je 0x205640
    00205628call caml_stat_free
    0020562dmov rax, [rbx]
    00205631mov [rax+368], 0
    0020563cpop rbx
    0020563dret
    0020563edb 0x00
    0020563fadd [rbx-61], bl
    00205610
    00205642
    00205642 // align 0x10
    00205650
    00205650caml_output_val:
    00205650push r14
    00205652push r13
    00205654push r12
    00205656mov r12, rsi
    00205659push rbp
    0020565amov rbp, rdi
    0020565dpush rbx
    0020565esub rsp, 80
    00205662mov r13, [0x28]
    0020566bmov [rsp+72], r13
    00205670mov r13, rdx
    00205673call fn_2032b0
    00205678mov rdi, rbp
    0020567bmov rbx, rax
    0020567ecall caml_channel_binary_mode
    00205683test eax, eax
    00205685je 0x205760
    0020568bmov [rbx+8320], 0
    00205696mov edi, 8120
    0020569bcall caml_stat_alloc_noexc
    002056a0mov [rbx+8344], rax
    002056a7test rax, rax
    002056aaje 0x205771
    002056b0lea r14, [rsp+16]
    002056b5mov rdi, rbx
    002056b8lea r8, [rsp+12]
    002056bdmov rsi, r12
    002056c0mov [rbx+8352], rax
    002056c7mov rcx, r14
    002056camov [rax], 0
    002056d1mov rax, [rbx+8352]
    002056d8lea rdx, [rax+16]
    002056dcadd rax, 8116
    002056e2mov [rbx+8328], rdx
    002056e9mov rdx, r13
    002056ecmov [rbx+8336], rax
    002056f3call fn_203a00
    002056f8movsxd rdx, [rsp+12]
    002056fdmov rsi, r14
    00205700mov rdi, rbp
    00205703mov rbx, [rbx+8344]
    0020570acall caml_really_putblock
    0020570ftest rbx, rbx
    00205712je 0x205743
    00205714nop [rax+rax]
    0020571cmov rdx, [rbx+8]
    00205720
    00205720loc_205720:
    00205720lea rsi, [rbx+16]
    00205724mov rdi, rbp
    00205727sub rdx, rsi
    0020572acall caml_really_putblock
    0020572fmov rdi, rbx
    00205732mov rbx, [rbx]
    00205735call caml_stat_free
    0020573atest rbx, rbx
    0020573djne 0x205720
    0020573fmov rax, [rsp+72]
    00205744sub rax, [0x28]
    0020574djne 0x20576c
    0020574fadd rsp, 80
    00205753pop rbx
    00205754pop rbp
    00205755pop r12
    00205757pop r13
    00205759pop r14
    0020575bret
    0020575clea rdi, [rip+0x2ab41]
    00205763call caml_failwith
    00205768call fn_f4590
    0020576dcall caml_raise_out_of_memory
    00205772db 0xca
    00205773adc al, [rax]
    00205775db 0x00
    00205650
    00205776
    00205776 // align 0x10
    00205780
    00205780caml_output_value:
    00205780push r12
    00205782push rbp
    00205783push rbx
    00205784sub rsp, 112
    00205788movdqa x0, [rip+0x2494c]
    00205790mov [rsp+24], rdi
    00205795mov [rsp+16], rsi
    0020579amov [rsp+8], rdx
    0020579fmov rax, [0x28]
    002057a8mov [rsp+104], rax
    002057admov rax, [rip+0x70830]
    002057b4mov rbp, [rax]
    002057b8lea rax, [rsp+32]
    002057bdmovups [rsp+40], x0
    002057c2mov r12, [rbp+160]
    002057c9mov [rbp+160], rax
    002057d0lea rax, [rsp+24]
    002057d5movq x0, rax
    002057dalea rax, [rsp+16]
    002057dfmovq x1, rax
    002057e4lea rax, [rsp+8]
    002057e9mov [rsp+32], r12
    002057eepunpcklqdq x0, x1
    002057f2mov [rsp+72], rax
    002057f7movups [rsp+56], x0
    002057fcmov rbx, [rdi+8]
    00205800mov rdi, rbx
    00205803call caml_channel_lock
    00205808mov rdx, [rsp+8]
    0020580dmov rsi, [rsp+16]
    00205812mov rdi, rbx
    00205815call caml_output_val
    0020581amov rdi, rbx
    0020581dcall caml_flush_if_unbuffered
    00205822mov rdi, rbx
    00205825call caml_channel_unlock
    0020582amov [rbp+160], r12
    00205831mov rax, [rsp+104]
    00205836sub rax, [0x28]
    0020583fjne 0x205853
    00205841add rsp, 112
    00205845mov eax, 1
    0020584apop rbx
    0020584bpop rbp
    0020584cpop r12
    0020584eret
    0020584fcall fn_f4590
    00205854db 0x38
    00205855in eax, dx
    00205856out dx, al
    00205857db 0xff
    00205780
    00205858
    00205858 // align 0x10
    00205860
    00205860caml_output_value_to_bytes:
    00205860push r14
    00205862push r13
    00205864push r12
    00205866push rbp
    00205867mov rbp, rdi
    0020586apush rbx
    0020586bsub rsp, 80
    0020586fmov r12, [0x28]
    00205878mov [rsp+72], r12
    0020587dmov r12, rsi
    00205880call fn_2032b0
    00205885mov edi, 8120
    0020588amov [rax+8320], 0
    00205895mov rbx, rax
    00205898call caml_stat_alloc_noexc
    0020589dmov [rbx+8344], rax
    002058a4test rax, rax
    002058a7je 0x20597a
    002058adlea r14, [rsp+16]
    002058b2mov rsi, rbp
    002058b5lea r8, [rsp+12]
    002058bamov rdi, rbx
    002058bdmov [rbx+8352], rax
    002058c4mov rcx, r14
    002058c7mov [rax], 0
    002058cemov rax, [rbx+8352]
    002058d5lea rdx, [rax+16]
    002058d9add rax, 8116
    002058dfmov [rbx+8328], rdx
    002058e6mov rdx, r12
    002058e9mov [rbx+8336], rax
    002058f0call fn_203a00
    002058f5movsxd r12, [rsp+12]
    002058famov rbx, [rbx+8344]
    00205901lea rdi, [r12+rax]
    00205905call caml_alloc_string
    0020590amov rdx, r12
    0020590dmov rsi, r14
    00205910mov rdi, rax
    00205913mov r13, rax
    00205916call fn_f47d0
    0020591btest rbx, rbx
    0020591eje 0x20595a
    00205920nop [rax+rax]
    0020592bnop
    0020592cmov rbp, [rbx+8]
    00205930
    00205930loc_205930:
    00205930lea rsi, [rbx+16]
    00205934lea rdi, [r12+r13]
    00205938sub rbp, rsi
    0020593bmov rdx, rbp
    0020593eadd r12, rbp
    00205941call fn_f47d0
    00205946mov rdi, rbx
    00205949mov rbx, [rbx]
    0020594ccall caml_stat_free
    00205951test rbx, rbx
    00205954jne 0x205930
    00205956mov rax, [rsp+72]
    0020595bsub rax, [0x28]
    00205964jne 0x20597f
    00205966add rsp, 80
    0020596amov rax, r13
    0020596dpop rbx
    0020596epop rbp
    0020596fpop r12
    00205971pop r13
    00205973pop r14
    00205975ret
    00205976call caml_raise_out_of_memory
    0020597bcall fn_f4590
    00205980db 0x0c
    00205981in al, dx
    00205982out dx, al
    00205983db 0xff
    00205860
    00205984
    00205984 // align 0x10
    00205990
    00205990caml_output_value_to_string:
    00205990jmp 0x205860
    00205995db 0xc7
    00205996db 0xfe
    00205997db 0xff
    00205998db 0xff
    00205990
    00205999
    00205999 // align 0x10
    002059a0
    002059a0caml_output_value_to_block:
    002059a0push r15
    002059a2push r14
    002059a4push r13
    002059a6mov r13, rsi
    002059a9push r12
    002059abmov r12, rdi
    002059aepush rbp
    002059afpush rbx
    002059b0mov rbx, rdx
    002059b3lea r15, [rbx+20]
    002059b7sub rsp, 88
    002059bbmov rbp, [0x28]
    002059c4mov [rsp+72], rbp
    002059c9mov rbp, rcx
    002059cclea r14, [rsp+16]
    002059d1call fn_2032b0
    002059d6movq x0, r15
    002059dbmov rcx, r14
    002059demov rdx, r13
    002059e1punpcklqdq x0, x0
    002059e5mov rdi, rax
    002059e8lea r8, [rsp+12]
    002059edmov rsi, r12
    002059f0movups [rax+8320], x0
    002059f7lea rax, [rbx+rbp]
    002059fbmov [rdi+8336], rax
    00205a02call fn_203a00
    00205a07movsxd rcx, [rsp+12]
    00205a0cmov rdx, rax
    00205a0flea r12, [rcx+rax]
    00205a13cmp ecx, 20
    00205a16je 0x205a60
    00205a18cmp rbp, r12
    00205a1bjl 0x205a6c
    00205a1dlea rdi, [rbx+rcx]
    00205a21mov rsi, r15
    00205a24mov rbp, rcx
    00205a27call fn_f4520
    00205a2cmov rdx, rbp
    00205a2fmov rsi, r14
    00205a32mov rdi, rbx
    00205a35call fn_f47d0
    00205a3amov rax, [rsp+72]
    00205a3fsub rax, [0x28]
    00205a48jne 0x205a67
    00205a4aadd rsp, 88
    00205a4emov rax, r12
    00205a51pop rbx
    00205a52pop rbp
    00205a53pop r12
    00205a55pop r13
    00205a57pop r14
    00205a59pop r15
    00205a5bret
    00205a5cmov ebp, 20
    00205a61jmp 0x205a30
    00205a63call fn_f4590
    00205a68lea rdi, [rip+0x2a57d]
    00205a6fcall caml_failwith
    00205a74db 0x48
    00205a75sldt [rax]
    002059a0
    00205a78
    00205a78 // align 0x10
    00205a80
    00205a80caml_output_value_to_buffer:
    00205a80sar rdx, 1
    00205a83mov rax, rdi
    00205a86sar rsi, 1
    00205a89sub rsp, 8
    00205a8dmov rdi, rcx
    00205a90mov rcx, rdx
    00205a93lea rdx, [rsi+rax]
    00205a97mov rsi, r8
    00205a9acall caml_output_value_to_block
    00205a9fadd rsp, 8
    00205aa3lea rax, [rax+rax+1]
    00205aa8ret
    00205aa9db 0x44
    00205aaaadd [rcx], al
    00205aacret
    00205a80
    00205aad
    00205aad // align 0x10
    00205ab0
    00205ab0caml_output_value_to_malloc:
    00205ab0push r15
    00205ab2push r14
    00205ab4mov r14, rsi
    00205ab7push r13
    00205ab9mov r13, rdx
    00205abcpush r12
    00205abemov r12, rdi
    00205ac1push rbp
    00205ac2push rbx
    00205ac3sub rsp, 104
    00205ac7mov rbp, [0x28]
    00205ad0mov [rsp+88], rbp
    00205ad5mov rbp, rcx
    00205ad8call fn_2032b0
    00205addmov edi, 8120
    00205ae2mov [rax+8320], 0
    00205aedmov rbx, rax
    00205af0call caml_stat_alloc_noexc
    00205af5mov [rbx+8344], rax
    00205afctest rax, rax
    00205affje 0x205be8
    00205b05lea rcx, [rsp+32]
    00205b0amov rsi, r12
    00205b0dlea r8, [rsp+28]
    00205b12mov rdi, rbx
    00205b15mov [rbx+8352], rax
    00205b1cmov [rax], 0
    00205b23mov rax, [rbx+8352]
    00205b2amov [rsp+8], rcx
    00205b2flea rdx, [rax+16]
    00205b33add rax, 8116
    00205b39mov [rbx+8328], rdx
    00205b40mov rdx, r14
    00205b43mov [rbx+8336], rax
    00205b4acall fn_203a00
    00205b4fmovsxd r14, [rsp+28]
    00205b54lea r15, [r14+rax]
    00205b58mov rdi, r15
    00205b5bcall fn_f4250
    00205b60mov rcx, [rsp+8]
    00205b65test rax, rax
    00205b68mov r12, rax
    00205b6bje 0x205bf2
    00205b71mov [r13], rax
    00205b75mov rdx, r14
    00205b78mov rsi, rcx
    00205b7bmov rdi, rax
    00205b7emov [rbp], r15
    00205b82add r12, r14
    00205b85call fn_f47d0
    00205b8amov rbx, [rbx+8344]
    00205b91test rbx, rbx
    00205b94je 0x205bc9
    00205b96nop [rax+rax]
    00205b9cmov rbp, [rbx+8]
    00205ba0
    00205ba0loc_205ba0:
    00205ba0lea rsi, [rbx+16]
    00205ba4mov rdi, r12
    00205ba7sub rbp, rsi
    00205baamov rdx, rbp
    00205badadd r12, rbp
    00205bb0call fn_f47d0
    00205bb5mov rdi, rbx
    00205bb8mov rbx, [rbx]
    00205bbbcall caml_stat_free
    00205bc0test rbx, rbx
    00205bc3jne 0x205ba0
    00205bc5mov rax, [rsp+88]
    00205bcasub rax, [0x28]
    00205bd3jne 0x205bed
    00205bd5add rsp, 104
    00205bd9pop rbx
    00205bdapop rbp
    00205bdbpop r12
    00205bddpop r13
    00205bdfpop r14
    00205be1pop r15
    00205be3ret
    00205be4call caml_raise_out_of_memory
    00205be9call fn_f4590
    00205beemov rdi, rbx
    00205bf1call fn_203420
    00205bf6db 0x26
    00205bf7fdivr f0, f7
    00205bf9db 0xff
    00205ab0
    00205bfa
    00205bfa // align 0x10
    00205c00
    00205c00caml_serialize_int_1:
    00205c00push rbp
    00205c01push rbx
    00205c02sub rsp, 8
    00205c06mov rax, [rip+0x703d7]
    00205c0dmov rax, [rax]
    00205c11test rax, rax
    00205c14je 0x205c70
    00205c16mov rbx, [rax+368]
    00205c1dtest rbx, rbx
    00205c20je 0x205c75
    00205c22mov rax, [rbx+8328]
    00205c29mov ebp, edi
    00205c2blea rdx, [rax+1]
    00205c2fcmp [rbx+8336], rdx
    00205c36jb 0x205c50
    00205c38mov [rax], bpl
    00205c3badd [rbx+8328], 1
    00205c43add rsp, 8
    00205c47pop rbx
    00205c48pop rbp
    00205c49ret
    00205c4adb 0x08
    00205c4bpop rbx
    00205c4cpop rbp
    00205c4dret
    00205c4e
    00205c4e 66 90 f.
    00205c50
    00205c50loc_205c50:
    00205c50mov esi, 1
    00205c55mov rdi, rbx
    00205c58call fn_203430
    00205c5dmov rax, [rbx+8328]
    00205c64jmp 0x205c3c
    00205c66
    00205c66 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00205c70
    00205c70loc_205c70:
    00205c70call caml_bad_caml_state
    00205c75
    00205c75loc_205c75:
    00205c75lea rdi, [rip+0x2a654]
    00205c7cxor eax, eax
    00205c7ecall caml_fatal_error
    00205c00
    00205c83
    00205c83 // align 0x10
    00205c90
    00205c90caml_serialize_int_2:
    00205c90push rbp
    00205c91push rbx
    00205c92sub rsp, 8
    00205c96mov rax, [rip+0x70347]
    00205c9dmov rax, [rax]
    00205ca1test rax, rax
    00205ca4je 0x205d00
    00205ca6mov rbx, [rax+368]
    00205cadtest rbx, rbx
    00205cb0je 0x205d05
    00205cb2mov rax, [rbx+8328]
    00205cb9mov ebp, edi
    00205cbblea rdx, [rax+2]
    00205cbfcmp [rbx+8336], rdx
    00205cc6jb 0x205ce8
    00205cc8mov edi, ebp
    00205ccarol di, 8
    00205ccemov [rax], di
    00205cd1add [rbx+8328], 2
    00205cd9add rsp, 8
    00205cddpop rbx
    00205cdepop rbp
    00205cdfret
    00205ce0db 0x08
    00205ce1pop rbx
    00205ce2pop rbp
    00205ce3ret
    00205ce4
    00205ce4 0f 1f 40 00 ..@.
    00205ce8
    00205ce8loc_205ce8:
    00205ce8mov esi, 2
    00205cedmov rdi, rbx
    00205cf0call fn_203430
    00205cf5mov rax, [rbx+8328]
    00205cfcjmp 0x205ccc
    00205cfe
    00205cfe 66 90 f.
    00205d00
    00205d00loc_205d00:
    00205d00call caml_bad_caml_state
    00205d05
    00205d05loc_205d05:
    00205d05lea rdi, [rip+0x2a5c4]
    00205d0cxor eax, eax
    00205d0ecall caml_fatal_error
    00205c90
    00205d13
    00205d13 // align 0x10
    00205d20
    00205d20caml_serialize_int_4:
    00205d20push rbp
    00205d21push rbx
    00205d22sub rsp, 8
    00205d26mov rax, [rip+0x702b7]
    00205d2dmov rax, [rax]
    00205d31test rax, rax
    00205d34je 0x205d90
    00205d36mov rbx, [rax+368]
    00205d3dtest rbx, rbx
    00205d40je 0x205d95
    00205d42mov rax, [rbx+8328]
    00205d49mov ebp, edi
    00205d4blea rdx, [rax+4]
    00205d4fcmp [rbx+8336], rdx
    00205d56jb 0x205d78
    00205d58mov edi, ebp
    00205d5abswap edi
    00205d5c
    00205d5cloc_205d5c:
    00205d5cmov [rax], edi
    00205d5eadd [rbx+8328], 4
    00205d66add rsp, 8
    00205d6apop rbx
    00205d6bpop rbp
    00205d6cret
    00205d6ddb 0x08
    00205d6epop rbx
    00205d6fpop rbp
    00205d70ret
    00205d71
    00205d71 0f 1f 80 00 00 00 00 .......
    00205d78
    00205d78loc_205d78:
    00205d78mov esi, 4
    00205d7dmov rdi, rbx
    00205d80call fn_203430
    00205d85mov rax, [rbx+8328]
    00205d8cjmp 0x205d5c
    00205d8e
    00205d8e 66 90 f.
    00205d90
    00205d90loc_205d90:
    00205d90call caml_bad_caml_state
    00205d95
    00205d95loc_205d95:
    00205d95lea rdi, [rip+0x2a534]
    00205d9cxor eax, eax
    00205d9ecall caml_fatal_error
    00205d20
    00205da3
    00205da3 // align 0x10
    00205db0
    00205db0caml_serialize_int_8:
    00205db0push rbp
    00205db1push rbx
    00205db2sub rsp, 8
    00205db6mov rax, [rip+0x70227]
    00205dbdmov rax, [rax]
    00205dc1test rax, rax
    00205dc4je 0x205e20
    00205dc6mov rbx, [rax+368]
    00205dcdtest rbx, rbx
    00205dd0je 0x205e25
    00205dd2mov rax, [rbx+8328]
    00205dd9mov rbp, rdi
    00205ddclea rdx, [rax+8]
    00205de0cmp [rbx+8336], rdx
    00205de7jb 0x205e08
    00205de9mov rdi, rbp
    00205decbswap rdi
    00205defmov [rax], rdi
    00205df2add [rbx+8328], 8
    00205dfaadd rsp, 8
    00205dfepop rbx
    00205dffpop rbp
    00205e00ret
    00205e01db 0x08
    00205e02pop rbx
    00205e03pop rbp
    00205e04ret
    00205e05
    00205e05 0f 1f 00 ...
    00205e08
    00205e08loc_205e08:
    00205e08mov esi, 8
    00205e0dmov rdi, rbx
    00205e10call fn_203430
    00205e15mov rax, [rbx+8328]
    00205e1cjmp 0x205ded
    00205e1e
    00205e1e 66 90 f.
    00205e20
    00205e20loc_205e20:
    00205e20call caml_bad_caml_state
    00205e25
    00205e25loc_205e25:
    00205e25lea rdi, [rip+0x2a4a4]
    00205e2cxor eax, eax
    00205e2ecall caml_fatal_error
    00205db0
    00205e33
    00205e33 // align 0x10
    00205e40
    00205e40caml_serialize_float_4:
    00205e40push rbp
    00205e41push rbx
    00205e42sub rsp, 24
    00205e46mov rax, [rip+0x70197]
    00205e4dmov rax, [rax]
    00205e51test rax, rax
    00205e54je 0x205ee0
    00205e5amov rbx, [rax+368]
    00205e61test rbx, rbx
    00205e64je 0x205ee5
    00205e66mov rcx, [rbx+8328]
    00205e6dlea rsi, [rcx+4]
    00205e71cmp [rbx+8336], rsi
    00205e78jb 0x205eb0
    00205e7amovd edx, x0
    00205e7e
    00205e7eloc_205e7e:
    00205e7emovzx eax, dl
    00205e81movzx ebp, dh
    00205e84mov edi, edx
    00205e86shl eax, 8
    00205e89shl edi, 8
    00205e8cor eax, ebp
    00205e8eshld eax, edi, 8
    00205e92shld eax, edx, 8
    00205e96mov [rcx], eax
    00205e98mov [rbx+8328], rsi
    00205e9fadd rsp, 24
    00205ea3pop rbx
    00205ea4pop rbp
    00205ea5ret
    00205ea6db 0x18
    00205ea7pop rbx
    00205ea8pop rbp
    00205ea9ret
    00205eaa
    00205eaa 66 0f 1f 44 00 00 f..D..
    00205eb0
    00205eb0loc_205eb0:
    00205eb0mov esi, 4
    00205eb5mov rdi, rbx
    00205eb8movss [rsp+12], x0
    00205ebecall fn_203430
    00205ec3mov rcx, [rbx+8328]
    00205ecamovss x0, [rsp+12]
    00205ed0lea rsi, [rcx+4]
    00205ed4jmp 0x205e7e
    00205ed6
    00205ed6 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00205ee0
    00205ee0loc_205ee0:
    00205ee0call caml_bad_caml_state
    00205ee5
    00205ee5loc_205ee5:
    00205ee5lea rdi, [rip+0x2a3e4]
    00205eecxor eax, eax
    00205eeecall caml_fatal_error
    00205e40
    00205ef3
    00205ef3 // align 0x10
    00205f00
    00205f00caml_serialize_block_1:
    00205f00mov rax, [rip+0x700dd]
    00205f07push r12
    00205f09push rbp
    00205f0apush rbx
    00205f0bmov rax, [rax]
    00205f0ftest rax, rax
    00205f12je 0x205f70
    00205f14mov rbp, [rax+368]
    00205f1btest rbp, rbp
    00205f1eje 0x205f75
    00205f20mov r12, rdi
    00205f23mov rdi, [rbp+8328]
    00205f2amov rbx, rsi
    00205f2dlea rax, [rdi+rsi]
    00205f31cmp [rbp+8336], rax
    00205f38jb 0x205f58
    00205f3amov rdx, rbx
    00205f3dmov rsi, r12
    00205f40call fn_f47d0
    00205f45add [rbp+8328], rbx
    00205f4cpop rbx
    00205f4dpop rbp
    00205f4epop r12
    00205f50ret
    00205f51db 0x5d
    00205f52pop r12
    00205f54ret
    00205f55
    00205f55 0f 1f 00 ...
    00205f58
    00205f58loc_205f58:
    00205f58mov rdi, rbp
    00205f5bcall fn_203430
    00205f60mov rdi, [rbp+8328]
    00205f67jmp 0x205f3e
    00205f69
    00205f69 0f 1f 80 00 00 00 00 .......
    00205f70
    00205f70loc_205f70:
    00205f70call caml_bad_caml_state
    00205f75
    00205f75loc_205f75:
    00205f75lea rdi, [rip+0x2a354]
    00205f7cxor eax, eax
    00205f7ecall caml_fatal_error
    00205f00
    00205f83
    00205f83 // align 0x20
    00205fa0
    00205fa0caml_serialize_block_2:
    00205fa0push r13
    00205fa2push r12
    00205fa4push rbp
    00205fa5push rbx
    00205fa6sub rsp, 8
    00205faamov rax, [rip+0x70033]
    00205fb1mov rax, [rax]
    00205fb5test rax, rax
    00205fb8je 0x206048
    00205fbemov rbp, [rax+368]
    00205fc5test rbp, rbp
    00205fc8je 0x20604d
    00205fcamov rbx, rdi
    00205fcdmov rdi, [rbp+8328]
    00205fd4lea r13, [rsi+rsi]
    00205fd8mov r12, rsi
    00205fdblea rax, [rdi+r13]
    00205fdfcmp [rbp+8336], rax
    00205fe6jb 0x206030
    00205fe8test r12, r12
    00205febjle 0x20601d
    00205fedlea rsi, [rbx+r13]
    00205ff1mov rax, rdi
    00205ff4nop [rax+rax]
    00205ffcmovzx edx, [rbx]
    00205fffmovzx ecx, [rbx+1]
    00206003add rbx, 2
    00206007add rax, 2
    0020600bmov [rax-2], cl
    0020600emov [rax-1], dl
    00206011cmp rbx, rsi
    00206014jne 0x206000
    00206016add rdi, r13
    00206019mov [rbp+8328], rdi
    00206020add rsp, 8
    00206024pop rbx
    00206025pop rbp
    00206026pop r12
    00206028pop r13
    0020602aret
    0020602bdb 0x5c
    0020602cpop r13
    0020602eret
    0020602f
    0020602f 90 .
    00206030
    00206030loc_206030:
    00206030mov rdi, rbp
    00206033mov rsi, r13
    00206036call fn_203430
    0020603bmov rdi, [rbp+8328]
    00206042jmp 0x205fec
    00206044
    00206044 0f 1f 40 00 ..@.
    00206048
    00206048loc_206048:
    00206048call caml_bad_caml_state
    0020604d
    0020604dloc_20604d:
    0020604dlea rdi, [rip+0x2a27c]
    00206054xor eax, eax
    00206056call caml_fatal_error
    00205fa0
    0020605b
    0020605b // align 0x40
    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