File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    00203a00
    00203a00fn_203a00:
    00203a00push r15
    00203a02push r14
    00203a04mov r14, rdi
    00203a07mov rdi, rdx
    00203a0apush r13
    00203a0cpush r12
    00203a0epush rbp
    00203a0fpush rbx
    00203a10sub rsp, 120
    00203a14mov [rsp+8], rsi
    00203a19lea rsi, [rip+0x2dfc0]
    00203a20mov [rsp+48], rcx
    00203a25mov rbx, [0x28]
    00203a2emov [rsp+104], rbx
    00203a33mov rbx, r8
    00203a36call caml_convert_flag_list
    00203a3bcmp [r14+8320], 0
    00203a43mov r10, [rsp+8]
    00203a48mov [r14], eax
    00203a4bje 0x203a53
    00203a4dand eax, -9
    00203a50mov [r14], eax
    00203a53
    00203a53loc_203a53:
    00203a53pxor x0, x0
    00203a57mov [r14+24], 0
    00203a5fmovups [r14+8], x0
    00203a64test al, 1
    00203a66jne 0x203abe
    00203a68movdqa x0, [rip+0x26690]
    00203a70lea rax, [r14+4144]
    00203a77lea rdx, [r14+4176]
    00203a7emov [r14+8272], 56
    00203a89mov [r14+8296], 170
    00203a94mov [r14+8304], rax
    00203a9bmov [r14+8312], rdx
    00203aa2movups [r14+8280], x0
    00203aaapxor x0, x0
    00203aaemovups [r14+4144], x0
    00203ab6movups [r14+4160], x0
    00203abe
    00203abeloc_203abe:
    00203abemov r15, [r14+4128]
    00203ac5mov [rsp+56], rbx
    00203acamov r13, r10
    00203acdmov [rsp+24], 0
    00203ad6mov [rsp+8], r15
    00203adbjmp 0x203b86
    00203ae0
    00203ae0loc_203ae0:
    00203ae0mov rbx, r13
    00203ae3sar rbx, 1
    00203ae6cmp r13, 127
    00203aeajbe 0x2045c0
    00203af0lea rax, [rbx+128]
    00203af7cmp rax, 255
    00203afdjbe 0x2046c8
    00203b03lea rax, [rbx+32768]
    00203b0acmp rax, 65535
    00203b10jbe 0x204750
    00203b16lea rax, [rbx+0x40000000]
    00203b1dmov esi, 0xffffffff80000000
    00203b22cmp rax, rsi
    00203b25jb 0x2047e0
    00203b2btest [r14], 4
    00203b2fjne 0x205581
    00203b35mov rdx, rbx
    00203b38mov esi, 3
    00203b3dmov rdi, r14
    00203b40call fn_2037c0
    00203b45nop [rax+rax]
    00203b50
    00203b50loc_203b50:
    00203b50mov rax, [rsp+8]
    00203b55cmp rax, [r14+4128]
    00203b5cje 0x203de0
    00203b62
    00203b62loc_203b62:
    00203b62mov rcx, [rsp+8]
    00203b67mov rax, [rcx]
    00203b6alea rdx, [rax+8]
    00203b6emov [rcx], rdx
    00203b71mov r13, [rax]
    00203b74lea rdx, [rcx-16]
    00203b78sub [rcx+8], 1
    00203b7dcmovne rdx, rcx
    00203b81mov [rsp+8], rdx
    00203b86
    00203b86loc_203b86:
    00203b86test r13b, 1
    00203b8ajne 0x203ae0
    00203b90
    00203b90loc_203b90:
    00203b90mov rsi, [r13-8]
    00203b94lea r8, [r13-8]
    00203b98mov r9, rsi
    00203b9bmovzx r11l, sil
    00203b9fshr r9, 10
    00203ba3movq x0, r9
    00203ba8punpcklqdq x0, x0
    00203baccmp sil, -6
    00203bb0je 0x204570
    00203bb6test r9, r9
    00203bb9je 0x204700
    00203bbfmov r12l, [r14]
    00203bc2test r12b, 1
    00203bc6je 0x2045f0
    00203bcc
    00203bccloc_203bcc:
    00203bcclea eax, [r11-245]
    00203bd3cmp eax, 10
    00203bd6ja 0x203c06
    00203bd8lea rdi, [rip+0x2ddd1]
    00203bdfmovsxd rax, [rdi+4*rax]
    00203be3add rax, rdi
    00203be6jmp rax
    00203be9
    00203be9 0f 1f 80 00 00 00 00 .......
    00203bf0
    00203bf0loc_203bf0:
    00203bf0test r9, r9
    00203bf3je 0x204700
    00203bf9mov r12l, [r14]
    00203bfctest r12b, 1
    00203c00je 0x2045f0
    00203c06
    00203c06loc_203c06:
    00203c06test sil, 240
    00203c0ajne 0x203c16
    00203c0ccmp r9, 7
    00203c10jbe 0x2049b8
    00203c16
    00203c16loc_203c16:
    00203c16and rsi, -1024
    00203c1dlea rbx, [rsi+r11+768]
    00203c25cmp r9, 0x3fffff
    00203c2cjbe 0x203c38
    00203c2eand r12l, 4
    00203c32jne 0x205590
    00203c38
    00203c38loc_203c38:
    00203c38mov rax, rbx
    00203c3bshr rax, 32
    00203c3fje 0x204900
    00203c45mov rdx, rbx
    00203c48mov esi, 19
    00203c4dmov rdi, r14
    00203c50mov [rsp+16], r9
    00203c55movaps [rsp+32], x0
    00203c5acall fn_2037c0
    00203c5fmov eax, 1
    00203c64mov rsi, r13
    00203c67mov rdi, r14
    00203c6amovdqu x7, [r14+16]
    00203c70movq x1, rax
    00203c75movdqa x0, [rsp+32]
    00203c7bpunpcklqdq x1, x1
    00203c7fmov rdx, [rsp+24]
    00203c84paddq x1, x7
    00203c88paddq x0, x1
    00203c8cmovups [r14+16], x0
    00203c91call fn_203500
    00203c96mov r9, [rsp+16]
    00203c9b
    00203c9bloc_203c9b:
    00203c9badd [rsp+8], 16
    00203ca1mov rax, [rsp+8]
    00203ca6cmp rax, [r14+4136]
    00203cadjae 0x20515c
    00203cb3
    00203cb3loc_203cb3:
    00203cb3mov rsi, [rsp+8]
    00203cb8lea rax, [r13+8]
    00203cbcsub r9, 1
    00203cc0mov [rsi], rax
    00203cc3mov [rsi+8], r9
    00203cc7
    00203cc7loc_203cc7:
    00203cc7mov r13, [r13]
    00203ccbjmp 0x203b86
    00203cd0mov rax, [r13]
    00203cd4mov r12, [rax+32]
    00203cd8mov rbp, [rax]
    00203cdbmov rbx, [rax+56]
    00203cdftest r12, r12
    00203ce2je 0x2055b0
    00203ce8mov rax, [r14+8328]
    00203cefmov rdx, [r14+8336]
    00203cf6test rbx, rbx
    00203cf9je 0x204ec0
    00203cffcmp rax, rdx
    00203d02jae 0x205080
    00203d08
    00203d08loc_203d08:
    00203d08lea rdx, [rax+1]
    00203d0cmov rdi, rbp
    00203d0fmov [r14+8328], rdx
    00203d16mov [rax], 25
    00203d19call fn_f43a0
    00203d1emov rdi, [r14+8328]
    00203d25lea r15, [rax+1]
    00203d29lea rax, [rdi+r15]
    00203d2dcmp [r14+8336], rax
    00203d34jb 0x205068
    00203d3a
    00203d3aloc_203d3a:
    00203d3amov rdx, r15
    00203d3dmov rsi, rbp
    00203d40call fn_f47d0
    00203d45lea rdx, [rsp+96]
    00203d4alea rsi, [rsp+88]
    00203d4fmov rdi, r13
    00203d52add [r14+8328], r15
    00203d59call r12
    00203d5cmov rdx, [rsp+88]
    00203d61cmp rdx, [rbx]
    00203d64jne 0x20559f
    00203d6amov rax, [rbx+8]
    00203d6ecmp [rsp+96], rax
    00203d73jne 0x20559f
    00203d79
    00203d79loc_203d79:
    00203d79add rax, 7
    00203d7dadd rdx, 3
    00203d81movdqu x5, [r14+16]
    00203d87shr rax, 3
    00203d8bshr rdx, 2
    00203d8fmovq x4, rax
    00203d94mov eax, 2
    00203d99movq x0, rdx
    00203d9emovq x1, rax
    00203da3punpcklqdq x0, x4
    00203da7punpcklqdq x1, x1
    00203dabpaddq x1, x5
    00203daf
    00203dafloc_203daf:
    00203dafpaddq x0, x1
    00203db3
    00203db3loc_203db3:
    00203db3mov rdx, [rsp+24]
    00203db8movups [r14+16], x0
    00203dbdmov rsi, r13
    00203dc0mov rdi, r14
    00203dc3call fn_203500
    00203dc8mov rax, [rsp+8]
    00203dcdcmp rax, [r14+4128]
    00203dd4jne 0x203b62
    00203ddanop [rax+rax]
    00203de0
    00203de0loc_203de0:
    00203de0lea rbp, [r14+32]
    00203de4mov rbx, [rsp+56]
    00203de9cmp rax, rbp
    00203decje 0x203e0b
    00203deemov rdi, rax
    00203df1call caml_stat_free
    00203df6lea rax, [r14+4128]
    00203dfdmov [r14+4128], rbp
    00203e04mov [r14+4136], rax
    00203e0b
    00203e0bloc_203e0b:
    00203e0btest [r14], 1
    00203e0fjne 0x203e4a
    00203e11mov rdi, [r14+8304]
    00203e18lea rbp, [r14+4144]
    00203e1fcmp rdi, rbp
    00203e22je 0x203e4a
    00203e24call caml_stat_free
    00203e29mov rdi, [r14+8312]
    00203e30call caml_stat_free
    00203e35lea rax, [r14+4176]
    00203e3cmov [r14+8304], rbp
    00203e43mov [r14+8312], rax
    00203e4a
    00203e4aloc_203e4a:
    00203e4amov rax, [r14+8320]
    00203e51test rax, rax
    00203e54je 0x2050f8
    00203e5amov esi, [r14]
    00203e5dtest sil, 8
    00203e61je 0x2049f0
    00203e67
    00203e67loc_203e67:
    00203e67mov r12, [r14+8328]
    00203e6esub r12, rax
    00203e71mov rbp, r12
    00203e74
    00203e74loc_203e74:
    00203e74lea rdi, [r14+8344]
    00203e7bcall [rip+0x1748b7]
    00203e81test al, al
    00203e83je 0x2055e7
    00203e89mov rax, [r14+8320]
    00203e90test rax, rax
    00203e93je 0x20538f
    00203e99mov rdx, [r14+8328]
    00203ea0sub rdx, rax
    00203ea3
    00203ea3loc_203ea3:
    00203ea3test [r14], 4
    00203ea7je 0x203ed1
    00203ea9mov rcx, r12
    00203eacor rcx, rdx
    00203eaf
    00203eafloc_203eaf:
    00203eafmov eax, -1
    00203eb4cmp rax, rcx
    00203eb7jb 0x2055ef
    00203ebdcmp rax, [r14+16]
    00203ec1jb 0x2055ef
    00203ec7cmp rax, [r14+24]
    00203ecbjb 0x2055ef
    00203ed1
    00203ed1loc_203ed1:
    00203ed1mov rax, [rsp+48]
    00203ed6mov r8l, edx
    00203ed9mov [rax], 0xffffffffbda69584
    00203edfmov rax, rdx
    00203ee2shr rax, 7
    00203ee6je 0x2054f0
    00203eecmov rcx, rax
    00203eefmov edi, 1
    00203ef4nop [rax+rax]
    00203effnop
    00203f00
    00203f00loc_203f00:
    00203f00shr rcx, 7
    00203f04mov esi, edi
    00203f06lea edi, [rdi+1]
    00203f09jne 0x203f00
    00203f0bmov rdi, [rsp+48]
    00203f10movsxd rcx, esi
    00203f13and r8l, 127
    00203f17lea rcx, [rdi+rcx+5]
    00203f1cmov [rcx], r8b
    00203f1fnop
    00203f20
    00203f20loc_203f20:
    00203f20mov edi, eax
    00203f22sub rcx, 1
    00203f26or edi, -128
    00203f29shr rax, 7
    00203f2dmov [rcx], dil
    00203f30jne 0x203f20
    00203f32lea r8l, [rsi+6]
    00203f36movsxd r10, r8l
    00203f39
    00203f39loc_203f39:
    00203f39mov rcx, rbp
    00203f3cand r12l, 127
    00203f40shr rcx, 7
    00203f44je 0x2054c0
    00203f4amov rdi, rcx
    00203f4dmov esi, 1
    00203f52nop [rax+rax]
    00203f5dnop [rax]
    00203f60
    00203f60loc_203f60:
    00203f60movsxd rax, esi
    00203f63add esi, 1
    00203f66shr rdi, 7
    00203f6ajne 0x203f60
    00203f6cmov rdi, [rsp+48]
    00203f71add rax, r10
    00203f74add rax, rdi
    00203f77mov [rax], r12b
    00203f7anop [rax+rax]
    00203f80
    00203f80loc_203f80:
    00203f80mov edi, ecx
    00203f82sub rax, 1
    00203f86or edi, -128
    00203f89shr rcx, 7
    00203f8dmov [rax], dil
    00203f90jne 0x203f80
    00203f92
    00203f92loc_203f92:
    00203f92mov r10, [r14+8]
    00203f96lea edi, [rsi+r8]
    00203f9amovsxd r11, edi
    00203f9dmov rcx, r10
    00203fa0shr rcx, 7
    00203fa4je 0x205530
    00203faamov r8, rcx
    00203fadmov esi, 1
    00203fb2nop [rax+rax]
    00203fbdnop [rax]
    00203fc0
    00203fc0loc_203fc0:
    00203fc0movsxd rax, esi
    00203fc3add esi, 1
    00203fc6shr r8, 7
    00203fcajne 0x203fc0
    00203fccadd rax, r11
    00203fcfmov r11, [rsp+48]
    00203fd4and r10l, 127
    00203fd8add rax, r11
    00203fdbmov [rax], r10b
    00203fdenop
    00203fe0
    00203fe0loc_203fe0:
    00203fe0mov r8l, ecx
    00203fe3sub rax, 1
    00203fe7or r8l, -128
    00203febshr rcx, 7
    00203fefmov [rax], r8b
    00203ff2jne 0x203fe0
    00203ff4
    00203ff4loc_203ff4:
    00203ff4mov r10, [r14+16]
    00203ff8add esi, edi
    00203ffamovsxd r11, esi
    00203ffdmov rcx, r10
    00204000shr rcx, 7
    00204004je 0x20551d
    0020400amov r8, rcx
    0020400dmov edi, 1
    00204012nop [rax+rax]
    0020401dnop [rax]
    00204020
    00204020loc_204020:
    00204020movsxd rax, edi
    00204023add edi, 1
    00204026shr r8, 7
    0020402ajne 0x204020
    0020402cadd rax, r11
    0020402fmov r11, [rsp+48]
    00204034and r10l, 127
    00204038add rax, r11
    0020403bmov [rax], r10b
    0020403enop
    00204040
    00204040loc_204040:
    00204040mov r8l, ecx
    00204043sub rax, 1
    00204047or r8l, -128
    0020404bshr rcx, 7
    0020404fmov [rax], r8b
    00204052jne 0x204040
    00204054
    00204054loc_204054:
    00204054mov r9, [r14+24]
    00204058lea r8l, [rsi+rdi]
    0020405cmovsxd r10, r8l
    0020405fmov rcx, r9
    00204062shr rcx, 7
    00204066je 0x20550a
    0020406cmov rdi, rcx
    0020406fmov esi, 1
    00204074nop [rax+rax]
    0020407fnop
    00204080
    00204080loc_204080:
    00204080movsxd rax, esi
    00204083add esi, 1
    00204086shr rdi, 7
    0020408ajne 0x204080
    0020408cmov rdi, [rsp+48]
    00204091add rax, r10
    00204094and r9l, 127
    00204098add rax, rdi
    0020409bmov [rax], r9b
    0020409enop
    002040a0
    002040a0loc_2040a0:
    002040a0mov edi, ecx
    002040a2sub rax, 1
    002040a6or edi, -128
    002040a9shr rcx, 7
    002040admov [rax], dil
    002040b0jne 0x2040a0
    002040b2
    002040b2loc_2040b2:
    002040b2lea eax, [r8+rsi]
    002040b6mov rsi, [rsp+48]
    002040bbmov [rsi+4], al
    002040be
    002040beloc_2040be:
    002040bemov [rbx], eax
    002040c0mov rax, [rsp+104]
    002040c5sub rax, [0x28]
    002040cejne 0x2055e2
    002040d4add rsp, 120
    002040d8mov rax, rdx
    002040dbpop rbx
    002040dcpop rbp
    002040ddpop r12
    002040dfpop r13
    002040e1pop r14
    002040e3pop r15
    002040e5ret
    002040e6
    002040e6 66 2e 0f 1f 84 00 00 00 00 00 f.........
    002040f0mov rax, [r8]
    002040f3mov rbx, rax
    002040f6shr rbx, 10
    002040facmp rax, 0x3ffff
    00204100jbe 0x204e58
    00204106cmp rbx, 0x1fffff
    0020410djbe 0x204126
    0020410fand r12l, 4
    00204113jne 0x2055d3
    00204119mov rax, rbx
    0020411cshr rax, 32
    00204120jne 0x204aa2
    00204126
    00204126loc_204126:
    00204126mov rax, [r14+8328]
    0020412dlea rdx, [rax+5]
    00204131cmp [r14+8336], rdx
    00204138jb 0x204a89
    0020413e
    0020413eloc_20413e:
    0020413emov [rax], 7
    00204141mov rax, [r14+8328]
    00204148mov edx, ebx
    0020414abswap edx
    0020414cmov [rax+1], edx
    0020414fmov rax, [r14+8328]
    00204156lea rdi, [rax+5]
    0020415amov [r14+8328], rdi
    00204161
    00204161loc_204161:
    00204161lea rbp, [8*rbx]
    00204169lea rax, [rdi+rbp]
    0020416dcmp [r14+8336], rax
    00204174jb 0x204d80
    0020417a
    0020417aloc_20417a:
    0020417amov rdx, rbp
    0020417dmov rsi, r13
    00204180call fn_f47d0
    00204185mov rax, [r14+16]
    00204189mov rsi, r13
    0020418cmov rdi, r14
    0020418fadd [r14+8328], rbp
    00204196mov rdx, [rsp+24]
    0020419blea rax, [rax+2*rbx+1]
    002041a0mov [r14+16], rax
    002041a4mov rax, [r14+24]
    002041a8lea rax, [rbx+rax+1]
    002041admov [r14+24], rax
    002041b1call fn_203500
    002041b6jmp 0x203b50
    002041bb
    002041bb 0f 1f 44 00 00 ..D..
    002041c0mov rax, [r14+8328]
    002041c7cmp rax, [r14+8336]
    002041cejae 0x204de0
    002041d4
    002041d4loc_2041d4:
    002041d4lea rdx, [rax+1]
    002041d8mov [r14+8328], rdx
    002041dfmov [rax], 12
    002041e2mov rax, [r14+8328]
    002041e9lea rdx, [rax+8]
    002041edcmp [r14+8336], rdx
    002041f4jb 0x204dc0
    002041fa
    002041faloc_2041fa:
    002041famov rdx, [r13]
    002041femov [rax], rdx
    00204201movdqu x0, [r14+16]
    00204207add [r14+8328], 8
    0020420fpaddq x0, [rip+0x25ef9]
    00204217jmp 0x203db3
    0020421c
    0020421c 0f 1f 40 00 ..@.
    00204220mov rax, [r14+8328]
    00204227lea rbx, [8*r9]
    0020422flea rdx, [rax+5]
    00204233cmp [r14+8336], rdx
    0020423ajb 0x204da0
    00204240
    00204240loc_204240:
    00204240mov [rax], 17
    00204243mov rax, [r14+8328]
    0020424amov edx, ebx
    0020424csub r13, rbx
    0020424fbswap edx
    00204251mov [rax+1], edx
    00204254add [r14+8328], 5
    0020425cjmp 0x203b90
    00204261
    00204261 0f 1f 80 00 00 00 00 .......
    00204268test sil, 240
    0020426cjne 0x204278
    0020426ecmp r9, 7
    00204272jbe 0x204980
    00204278
    00204278loc_204278:
    00204278and rsi, -1024
    0020427flea rbx, [rsi+1015]
    00204286cmp r9, 0x3fffff
    0020428dja 0x2048c8
    00204293mov rax, rbx
    00204296shr rax, 32
    0020429ajne 0x2048d2
    002042a0mov rax, [r14+8328]
    002042a7lea rdx, [rax+5]
    002042abcmp [r14+8336], rdx
    002042b2jb 0x2052a5
    002042b8
    002042b8loc_2042b8:
    002042b8mov [rax], 8
    002042bbmov rdx, rbx
    002042bemov rax, [r14+8328]
    002042c5sar rdx, 24
    002042c9mov [rax+1], dl
    002042ccmov rdx, rbx
    002042cfsar rdx, 16
    002042d3mov [rax+3], bh
    002042d6mov [rax+2], dl
    002042d9mov [rax+4], -9
    002042ddadd [r14+8328], 5
    002042e5
    002042e5loc_2042e5:
    002042e5mov eax, 1
    002042eamov rdx, [rsp+24]
    002042efmov rdi, r14
    002042f2mov rsi, r13
    002042f5movq x1, rax
    002042famov [rsp+32], r9
    002042ffmov r15, r14
    00204302xor r12l, r12l
    00204305movdqu x6, [r14+16]
    0020430bpunpcklqdq x1, x1
    0020430fmov ebp, 2
    00204314paddq x1, x6
    00204318paddq x0, x1
    0020431cmovups [r14+16], x0
    00204321call fn_203500
    00204326lea rax, [r13+8]
    0020432amov r14, [rsp+32]
    0020432fmov [rsp+64], rax
    00204334mov rbx, rax
    00204337mov rax, [r13+8]
    0020433bshl rax, 8
    0020433fshr rax, 9
    00204343mov [rsp+16], rax
    00204348mov rax, r13
    0020434b
    0020434bloc_20434b:
    0020434bmov rsi, [rax]
    0020434emov rdi, r15
    00204351call fn_2038e0
    00204356mov r8, [rbx]
    00204359mov rbx, r8
    0020435csar rbx, 1
    0020435fcmp r8, 127
    00204363jbe 0x204ac0
    00204369lea rax, [rbx+128]
    00204370cmp rax, 255
    00204376jbe 0x204b60
    0020437clea rax, [rbx+32768]
    00204383cmp rax, 65535
    00204389jbe 0x204b98
    0020438flea rax, [rbx+0x40000000]
    00204396mov esi, 0xffffffff80000000
    0020439bcmp rax, rsi
    0020439ejb 0x204c30
    002043a4mov [rsp+32], r8
    002043a9test [r15], 4
    002043adjne 0x20557e
    002043b3mov rdx, rbx
    002043b6mov esi, 3
    002043bbmov rdi, r15
    002043becall fn_2037c0
    002043c3mov r8, [rsp+32]
    002043c8
    002043c8loc_2043c8:
    002043c8shr r8, 57
    002043ccje 0x204ae4
    002043d2lea rax, [r13+8*rbp]
    002043d7mov rdi, r15
    002043daadd r12, 3
    002043demov rsi, [rax]
    002043e1call fn_2038e0
    002043e6mov rax, [rsp+16]
    002043ebcmp r12, rax
    002043eejae 0x204af2
    002043f4mov rbp, r12
    002043f7
    002043f7loc_2043f7:
    002043f7lea r8, [8*rbp]
    002043fflea r12, [rbp+1]
    00204403lea rax, [r13+r8]
    00204408mov r9, [rax]
    0020440bmov rbx, r9
    0020440esar rbx, 1
    00204411cmp r9, 127
    00204415jbe 0x204bf0
    0020441blea rdx, [rbx+128]
    00204422cmp rdx, 255
    00204429jbe 0x204cc8
    0020442flea rdx, [rbx+32768]
    00204436cmp rdx, 65535
    0020443djbe 0x204d38
    00204443lea rdx, [rbx+0x40000000]
    0020444amov eax, 0xffffffff80000000
    0020444fcmp rdx, rax
    00204452jb 0x204f90
    00204458mov [rsp+32], r8
    0020445dtest [r15], 4
    00204461jne 0x20557e
    00204467mov rdx, rbx
    0020446amov esi, 3
    0020446fmov rdi, r15
    00204472add rbp, 3
    00204476call fn_2037c0
    0020447bmov r8, [rsp+32]
    00204480lea rax, [r8+r13+8]
    00204485lea rbx, [r8+r13+16]
    0020448ajmp 0x20434b
    0020448f
    0020448f 90 .
    00204490mov rdi, r13
    00204493call caml_string_length
    00204498mov rbx, rax
    0020449bcmp rax, 31
    0020449fjbe 0x204e20
    002044a5cmp rax, 255
    002044abjbe 0x205099
    002044b1cmp rax, 0xfffffb
    002044b7jbe 0x2044cd
    002044b9test [r14], 4
    002044bdjne 0x2055c4
    002044c3shr rax, 32
    002044c7jne 0x2053d9
    002044cd
    002044cdloc_2044cd:
    002044cdmov rax, [r14+8328]
    002044d4lea rdx, [rax+5]
    002044d8cmp [r14+8336], rdx
    002044dfjb 0x20528c
    002044e5
    002044e5loc_2044e5:
    002044e5mov [rax], 10
    002044e8mov rax, [r14+8328]
    002044efmov edx, ebx
    002044f1bswap edx
    002044f3mov [rax+1], edx
    002044f6mov rax, [r14+8328]
    002044fdlea rdi, [rax+5]
    00204501mov [r14+8328], rdi
    00204508
    00204508loc_204508:
    00204508lea rax, [rdi+rbx]
    0020450ccmp [r14+8336], rax
    00204513jb 0x204e00
    00204519
    00204519loc_204519:
    00204519mov rdx, rbx
    0020451cmov rsi, r13
    0020451fcall fn_f47d0
    00204524lea rax, [rbx+4]
    00204528add [r14+8328], rbx
    0020452fadd rbx, 8
    00204533shr rax, 2
    00204537movdqu x3, [r14+16]
    0020453dshr rbx, 3
    00204541movq x0, rax
    00204546mov eax, 1
    0020454bmovq x2, rbx
    00204550movq x1, rax
    00204555punpcklqdq x0, x2
    00204559punpcklqdq x1, x1
    0020455dpaddq x1, x3
    00204561jmp 0x203daf
    00204566
    00204566 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00204570
    00204570loc_204570:
    00204570mov rax, [r13]
    00204574test al, 1
    00204576jne 0x2047d0
    0020457cmovzx edx, [rax-8]
    00204580cmp dl, -6
    00204583je 0x203bf0
    00204589movzx edx, [rax-8]
    0020458dcmp dl, -10
    00204590je 0x203bf0
    00204596movzx edx, [rax-8]
    0020459acmp dl, -12
    0020459dje 0x203bf0
    002045a3movzx edx, [rax-8]
    002045a7cmp dl, -3
    002045aaje 0x203bf0
    002045b0mov r13, rax
    002045b3jmp 0x203b86
    002045b8
    002045b8 0f 1f 84 00 00 00 00 00 ........
    002045c0
    002045c0loc_2045c0:
    002045c0mov rax, [r14+8328]
    002045c7add ebx, 64
    002045cacmp rax, [r14+8336]
    002045d1jae 0x2047a0
    002045d7
    002045d7loc_2045d7:
    002045d7lea rdx, [rax+1]
    002045dbmov [r14+8328], rdx
    002045e2mov [rax], bl
    002045e4jmp 0x203b50
    002045e9
    002045e9 0f 1f 80 00 00 00 00 .......
    002045f0
    002045f0loc_2045f0:
    002045f0mov rax, 0x9e3779b97f4a7c16
    002045famov ecx, [r14+8272]
    00204601mov edx, 1
    00204606mov rdi, [r14+8304]
    0020460dimul rax, r13
    00204611shr rax, cl
    00204614mov r10, rax
    00204617mov ecx, eax
    00204619shr r10, 6
    0020461dshl rdx, cl
    00204620and rdx, [rdi+8*r10]
    00204624je 0x2047c0
    0020462amov r10, [r14+8312]
    00204631mov ebx, 1
    00204636jmp 0x204664
    00204638
    00204638 0f 1f 84 00 00 00 00 00 ........
    00204640
    00204640loc_204640:
    00204640add rax, 1
    00204644and rax, [r14+8288]
    0020464bmov rdx, rbx
    0020464emov rbp, rax
    00204651mov ecx, eax
    00204653shr rbp, 6
    00204657shl rdx, cl
    0020465aand rdx, [rdi+8*rbp]
    0020465eje 0x2047c0
    00204664
    00204664loc_204664:
    00204664mov rdx, rax
    00204667shl rdx, 4
    0020466badd rdx, r10
    0020466ecmp [rdx], r13
    00204671jne 0x204640
    00204673and r12l, 8
    00204677mov rbx, [rdx+8]
    0020467bjne 0x204687
    0020467dmov rax, [r14+8]
    00204681sub rax, rbx
    00204684mov rbx, rax
    00204687
    00204687loc_204687:
    00204687cmp rbx, 255
    0020468ejbe 0x205030
    00204694cmp rbx, 65535
    0020469bjbe 0x20517b
    002046a1mov rax, rbx
    002046a4shr rax, 32
    002046a8je 0x204a55
    002046aemov rdx, rbx
    002046b1mov esi, 20
    002046b6mov rdi, r14
    002046b9call fn_2037c0
    002046bejmp 0x203b50
    002046c3
    002046c3 0f 1f 44 00 00 ..D..
    002046c8
    002046c8loc_2046c8:
    002046c8mov rax, [r14+8328]
    002046cflea rdx, [rax+2]
    002046d3cmp [r14+8336], rdx
    002046dajb 0x204848
    002046e0
    002046e0loc_2046e0:
    002046e0mov [rax], 0
    002046e3mov rax, [r14+8328]
    002046eamov [rax+1], bl
    002046edadd [r14+8328], 2
    002046f5jmp 0x203b50
    002046fa
    002046fa 66 0f 1f 44 00 00 f..D..
    00204700
    00204700loc_204700:
    00204700and esi, 240
    00204706mov rax, [r14+8328]
    0020470dmov rdx, [r14+8336]
    00204714je 0x204790
    00204716lea rcx, [rax+5]
    0020471alea ebx, [r11+768]
    00204721cmp rdx, rcx
    00204724jb 0x204888
    0020472a
    0020472aloc_20472a:
    0020472amov [rax], 8
    0020472dmov rax, [r14+8328]
    00204734xor edx, edx
    00204736mov [rax+1], dx
    0020473amov [rax+3], 3
    0020473emov [rax+4], bl
    00204741add [r14+8328], 5
    00204749jmp 0x203b50
    0020474e
    0020474e 66 90 f.
    00204750
    00204750loc_204750:
    00204750mov rax, [r14+8328]
    00204757lea rdx, [rax+3]
    0020475bcmp [r14+8336], rdx
    00204762jb 0x204868
    00204768
    00204768loc_204768:
    00204768mov [rax], 1
    0020476bmov rax, [r14+8328]
    00204772rol bx, 8
    00204776mov [rax+1], bx
    0020477aadd [r14+8328], 3
    00204782jmp 0x203b50
    00204787
    00204787 66 0f 1f 84 00 00 00 00 00 f........
    00204790
    00204790loc_204790:
    00204790lea ebx, [r11+128]
    00204797cmp rax, rdx
    0020479ajb 0x2045d7
    002047a0
    002047a0loc_2047a0:
    002047a0mov esi, 1
    002047a5mov rdi, r14
    002047a8call fn_203430
    002047admov rax, [r14+8328]
    002047b4jmp 0x2045d7
    002047b9
    002047b9 0f 1f 80 00 00 00 00 .......
    002047c0
    002047c0loc_2047c0:
    002047c0mov [rsp+24], rax
    002047c5jmp 0x203bcc
    002047ca
    002047ca 66 0f 1f 44 00 00 f..D..
    002047d0
    002047d0loc_2047d0:
    002047d0mov r13, rax
    002047d3jmp 0x203ae0
    002047d8
    002047d8 0f 1f 84 00 00 00 00 00 ........
    002047e0
    002047e0loc_2047e0:
    002047e0mov rax, [r14+8328]
    002047e7lea rdx, [rax+5]
    002047ebcmp [r14+8336], rdx
    002047f2jb 0x2048a8
    002047f8
    002047f8loc_2047f8:
    002047f8mov r10, r13
    002047fbmov [rax], 2
    002047femovzx eax, bl
    00204801mov rsi, r13
    00204804sar r10, 9
    00204808shl eax, 8
    0020480bmov rdx, r13
    0020480emov rcx, [r14+8328]
    00204815sar rsi, 17
    00204819movzx r10l, r10b
    0020481dsar rdx, 25
    00204821or eax, r10l
    00204824movzx esi, sil
    00204828movzx edx, dl
    0020482bshl eax, 8
    0020482eor eax, esi
    00204830shl eax, 8
    00204833or eax, edx
    00204835mov [rcx+1], eax
    00204838add [r14+8328], 5
    00204840jmp 0x203b50
    00204845
    00204845 0f 1f 00 ...
    00204848
    00204848loc_204848:
    00204848mov esi, 2
    0020484dmov rdi, r14
    00204850call fn_203430
    00204855mov rax, [r14+8328]
    0020485cjmp 0x2046e0
    00204861
    00204861 0f 1f 80 00 00 00 00 .......
    00204868
    00204868loc_204868:
    00204868mov esi, 3
    0020486dmov rdi, r14
    00204870call fn_203430
    00204875mov rax, [r14+8328]
    0020487cjmp 0x204768
    00204881
    00204881 0f 1f 80 00 00 00 00 .......
    00204888
    00204888loc_204888:
    00204888mov esi, 5
    0020488dmov rdi, r14
    00204890call fn_203430
    00204895mov rax, [r14+8328]
    0020489cjmp 0x20472a
    002048a1
    002048a1 0f 1f 80 00 00 00 00 .......
    002048a8
    002048a8loc_2048a8:
    002048a8mov esi, 5
    002048admov rdi, r14
    002048b0call fn_203430
    002048b5mov rax, [r14+8328]
    002048bcjmp 0x2047f8
    002048c1
    002048c1 0f 1f 80 00 00 00 00 .......
    002048c8
    002048c8loc_2048c8:
    002048c8and r12l, 4
    002048ccjne 0x205590
    002048d2
    002048d2loc_2048d2:
    002048d2mov rdx, rbx
    002048d5mov esi, 19
    002048damov rdi, r14
    002048ddmov [rsp+16], r9
    002048e2movaps [rsp+32], x0
    002048e7call fn_2037c0
    002048ecmovdqa x0, [rsp+32]
    002048f2mov r9, [rsp+16]
    002048f7jmp 0x2042e5
    002048fc
    002048fc 0f 1f 40 00 ..@.
    00204900
    00204900loc_204900:
    00204900mov rax, [r14+8328]
    00204907lea rdx, [rax+5]
    0020490bcmp [r14+8336], rdx
    00204912jb 0x2052d3
    00204918
    00204918loc_204918:
    00204918mov [rax], 8
    0020491bmov rax, [r14+8328]
    00204922bswap ebx
    00204924mov [rax+1], ebx
    00204927add [r14+8328], 5
    0020492f
    0020492floc_20492f:
    0020492fmov eax, 1
    00204934mov rdx, [rsp+24]
    00204939mov rsi, r13
    0020493cmov rdi, r14
    0020493fmovdqu x7, [r14+16]
    00204945movq x1, rax
    0020494amov [rsp+16], r9
    0020494fpunpcklqdq x1, x1
    00204953paddq x1, x7
    00204957paddq x0, x1
    0020495bmovups [r14+16], x0
    00204960call fn_203500
    00204965mov r9, [rsp+16]
    0020496acmp r9, 1
    0020496ejbe 0x203cc7
    00204974jmp 0x203c9b
    00204979
    00204979 0f 1f 80 00 00 00 00 .......
    00204980
    00204980loc_204980:
    00204980mov ebx, r9l
    00204983mov rax, [r14+8328]
    0020498ashl ebx, 4
    0020498dadd ebx, 375
    00204993cmp rax, [r14+8336]
    0020499ajae 0x205333
    002049a0
    002049a0loc_2049a0:
    002049a0lea rdx, [rax+1]
    002049a4mov [r14+8328], rdx
    002049abmov [rax], bl
    002049adjmp 0x2042e5
    002049b2
    002049b2 66 0f 1f 44 00 00 f..D..
    002049b8
    002049b8loc_2049b8:
    002049b8mov eax, r9l
    002049bbshl eax, 4
    002049belea ebx, [r11+rax+128]
    002049c6mov rax, [r14+8328]
    002049cdcmp rax, [r14+8336]
    002049d4jae 0x205361
    002049da
    002049daloc_2049da:
    002049dalea rdx, [rax+1]
    002049demov [r14+8328], rdx
    002049e5mov [rax], bl
    002049e7jmp 0x20492f
    002049ec
    002049ec 0f 1f 40 00 ..@.
    002049f0
    002049f0loc_2049f0:
    002049f0mov rdx, [r14+8328]
    002049f7sub rdx, rax
    002049fa
    002049faloc_2049fa:
    002049famov eax, -1
    002049ffcmp rdx, rax
    00204a02jg 0x204a13
    00204a04
    00204a04loc_204a04:
    00204a04mov eax, -1
    00204a09cmp rax, [r14+16]
    00204a0djae 0x205219
    00204a13
    00204a13loc_204a13:
    00204a13and esi, 4
    00204a16jne 0x2055ef
    00204a1cmov rdi, [rsp+48]
    00204a21mov rax, [rip+0x25df8]
    00204a28mov [rdi], rax
    00204a2bmov rax, rdx
    00204a2ebswap rax
    00204a31mov [rdi+8], rax
    00204a35mov rax, [r14+8]
    00204a39bswap rax
    00204a3cmov [rdi+16], rax
    00204a40mov rax, [r14+24]
    00204a44bswap rax
    00204a47mov [rdi+24], rax
    00204a4bmov eax, 32
    00204a50jmp 0x2040be
    00204a55
    00204a55loc_204a55:
    00204a55mov rax, [r14+8328]
    00204a5clea rdx, [rax+5]
    00204a60cmp [r14+8336], rdx
    00204a67jb 0x20525a
    00204a6d
    00204a6dloc_204a6d:
    00204a6dmov [rax], 6
    00204a70mov rax, [r14+8328]
    00204a77bswap ebx
    00204a79mov [rax+1], ebx
    00204a7cadd [r14+8328], 5
    00204a84jmp 0x203b50
    00204a89
    00204a89loc_204a89:
    00204a89mov esi, 5
    00204a8emov rdi, r14
    00204a91call fn_203430
    00204a96mov rax, [r14+8328]
    00204a9djmp 0x20413e
    00204aa2
    00204aa2loc_204aa2:
    00204aa2mov rdi, r14
    00204aa5mov rdx, rbx
    00204aa8mov esi, 23
    00204aadcall fn_2037c0
    00204ab2mov rdi, [r14+8328]
    00204ab9jmp 0x204161
    00204abe
    00204abe 66 90 f.
    00204ac0
    00204ac0loc_204ac0:
    00204ac0mov rax, [r15+8328]
    00204ac7add ebx, 64
    00204acacmp rax, [r15+8336]
    00204ad1jae 0x204bd0
    00204ad7
    00204ad7loc_204ad7:
    00204ad7lea rdx, [rax+1]
    00204adbmov [r15+8328], rdx
    00204ae2mov [rax], bl
    00204ae4
    00204ae4loc_204ae4:
    00204ae4mov rax, [rsp+16]
    00204ae9cmp rbp, rax
    00204aecjb 0x2043f7
    00204af2
    00204af2loc_204af2:
    00204af2mov rdi, [rsp+16]
    00204af7mov r9, r14
    00204afamov r14, r15
    00204afdcmp rdi, r9
    00204b00jae 0x203b50
    00204b06lea rax, [r9-1]
    00204b0alea rbx, [8*rdi]
    00204b12cmp rdi, rax
    00204b15jae 0x204b4f
    00204b17add [rsp+8], 16
    00204b1dmov rax, [rsp+8]
    00204b22cmp rax, [r15+4136]
    00204b29jae 0x205488
    00204b2f
    00204b2floc_204b2f:
    00204b2fmov rax, [rsp+64]
    00204b34mov rsi, [rsp+8]
    00204b39add rax, rbx
    00204b3cmov [rsi], rax
    00204b3fmov rax, [rsp+16]
    00204b44sub r9, rax
    00204b47lea rax, [r9-1]
    00204b4bmov [rsi+8], rax
    00204b4f
    00204b4floc_204b4f:
    00204b4fadd rbx, r13
    00204b52mov r13, [rbx]
    00204b55jmp 0x203b86
    00204b5a
    00204b5a 66 0f 1f 44 00 00 f..D..
    00204b60
    00204b60loc_204b60:
    00204b60mov rax, [r15+8328]
    00204b67lea rdx, [rax+2]
    00204b6bcmp [r15+8336], rdx
    00204b72jb 0x204ca0
    00204b78
    00204b78loc_204b78:
    00204b78mov [rax], 0
    00204b7bmov rax, [r15+8328]
    00204b82mov [rax+1], bl
    00204b85add [r15+8328], 2
    00204b8djmp 0x2043c8
    00204b92
    00204b92 66 0f 1f 44 00 00 f..D..
    00204b98
    00204b98loc_204b98:
    00204b98mov rax, [r15+8328]
    00204b9flea rdx, [rax+3]
    00204ba3cmp [r15+8336], rdx
    00204baajb 0x204d10
    00204bb0
    00204bb0loc_204bb0:
    00204bb0mov [rax], 1
    00204bb3mov rax, [r15+8328]
    00204bbarol bx, 8
    00204bbemov [rax+1], bx
    00204bc2add [r15+8328], 3
    00204bcajmp 0x2043c8
    00204bcf
    00204bcf 90 .
    00204bd0
    00204bd0loc_204bd0:
    00204bd0mov esi, 1
    00204bd5mov rdi, r15
    00204bd8call fn_203430
    00204bddmov rax, [r15+8328]
    00204be4jmp 0x204ad7
    00204be9
    00204be9 0f 1f 80 00 00 00 00 .......
    00204bf0
    00204bf0loc_204bf0:
    00204bf0mov rax, [r15+8328]
    00204bf7add ebx, 64
    00204bfacmp rax, [r15+8336]
    00204c01jae 0x204e98
    00204c07
    00204c07loc_204c07:
    00204c07lea rdx, [rax+1]
    00204c0badd rbp, 3
    00204c0fmov [r15+8328], rdx
    00204c16mov [rax], bl
    00204c18lea rax, [r8+r13+8]
    00204c1dlea rbx, [r8+r13+16]
    00204c22jmp 0x20434b
    00204c27
    00204c27 66 0f 1f 84 00 00 00 00 00 f........
    00204c30
    00204c30loc_204c30:
    00204c30mov rax, [r15+8328]
    00204c37lea rdx, [rax+5]
    00204c3bcmp [r15+8336], rdx
    00204c42jb 0x205008
    00204c48
    00204c48loc_204c48:
    00204c48mov r9, r8
    00204c4bmov [rax], 2
    00204c4emovzx eax, bl
    00204c51mov rdi, r8
    00204c54sar r9, 9
    00204c58shl eax, 8
    00204c5bmov rsi, r8
    00204c5emov rdx, [r15+8328]
    00204c65sar rdi, 17
    00204c69movzx r9l, r9b
    00204c6dsar rsi, 25
    00204c71or eax, r9l
    00204c74movzx edi, dil
    00204c78movzx esi, sil
    00204c7cshl eax, 8
    00204c7for eax, edi
    00204c81shl eax, 8
    00204c84or eax, esi
    00204c86mov [rdx+1], eax
    00204c89add [r15+8328], 5
    00204c91jmp 0x2043c8
    00204c96
    00204c96 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00204ca0
    00204ca0loc_204ca0:
    00204ca0mov esi, 2
    00204ca5mov rdi, r15
    00204ca8mov [rsp+32], r8
    00204cadcall fn_203430
    00204cb2mov rax, [r15+8328]
    00204cb9mov r8, [rsp+32]
    00204cbejmp 0x204b78
    00204cc3
    00204cc3 0f 1f 44 00 00 ..D..
    00204cc8
    00204cc8loc_204cc8:
    00204cc8mov rax, [r15+8328]
    00204ccflea rdx, [rax+2]
    00204cd3cmp [r15+8336], rdx
    00204cdajb 0x2050d5
    00204ce0
    00204ce0loc_204ce0:
    00204ce0mov [rax], 0
    00204ce3mov rax, [r15+8328]
    00204ceaadd rbp, 3
    00204ceemov [rax+1], bl
    00204cf1lea rax, [r8+r13+8]
    00204cf6lea rbx, [r8+r13+16]
    00204cfbadd [r15+8328], 2
    00204d03jmp 0x20434b
    00204d08
    00204d08 0f 1f 84 00 00 00 00 00 ........
    00204d10
    00204d10loc_204d10:
    00204d10mov esi, 3
    00204d15mov rdi, r15
    00204d18mov [rsp+32], r8
    00204d1dcall fn_203430
    00204d22mov rax, [r15+8328]
    00204d29mov r8, [rsp+32]
    00204d2ejmp 0x204bb0
    00204d33
    00204d33 0f 1f 44 00 00 ..D..
    00204d38
    00204d38loc_204d38:
    00204d38mov rax, [r15+8328]
    00204d3flea rdx, [rax+3]
    00204d43cmp [r15+8336], rdx
    00204d4ajb 0x2051b2
    00204d50
    00204d50loc_204d50:
    00204d50mov [rax], 1
    00204d53mov rax, [r15+8328]
    00204d5arol bx, 8
    00204d5eadd rbp, 3
    00204d62mov [rax+1], bx
    00204d66lea rax, [r8+r13+8]
    00204d6blea rbx, [r8+r13+16]
    00204d70add [r15+8328], 3
    00204d78jmp 0x20434b
    00204d7d
    00204d7d 0f 1f 00 ...
    00204d80
    00204d80loc_204d80:
    00204d80mov rdi, r14
    00204d83mov rsi, rbp
    00204d86call fn_203430
    00204d8bmov rdi, [r14+8328]
    00204d92jmp 0x20417a
    00204d97
    00204d97 66 0f 1f 84 00 00 00 00 00 f........
    00204da0
    00204da0loc_204da0:
    00204da0mov esi, 5
    00204da5mov rdi, r14
    00204da8call fn_203430
    00204dadmov rax, [r14+8328]
    00204db4jmp 0x204240
    00204db9
    00204db9 0f 1f 80 00 00 00 00 .......
    00204dc0
    00204dc0loc_204dc0:
    00204dc0mov esi, 8
    00204dc5mov rdi, r14
    00204dc8call fn_203430
    00204dcdmov rax, [r14+8328]
    00204dd4jmp 0x2041fa
    00204dd9
    00204dd9 0f 1f 80 00 00 00 00 .......
    00204de0
    00204de0loc_204de0:
    00204de0mov esi, 1
    00204de5mov rdi, r14
    00204de8call fn_203430
    00204dedmov rax, [r14+8328]
    00204df4jmp 0x2041d4
    00204df9
    00204df9 0f 1f 80 00 00 00 00 .......
    00204e00
    00204e00loc_204e00:
    00204e00mov rdi, r14
    00204e03mov rsi, rbx
    00204e06call fn_203430
    00204e0bmov rdi, [r14+8328]
    00204e12jmp 0x204519
    00204e17
    00204e17 66 0f 1f 84 00 00 00 00 00 f........
    00204e20
    00204e20loc_204e20:
    00204e20lea ebp, [rax+32]
    00204e23mov rax, [r14+8328]
    00204e2acmp rax, [r14+8336]
    00204e31jae 0x20531a
    00204e37
    00204e37loc_204e37:
    00204e37lea rdx, [rax+1]
    00204e3bmov [r14+8328], rdx
    00204e42mov [rax], bpl
    00204e45mov rdi, [r14+8328]
    00204e4cjmp 0x204508
    00204e51
    00204e51 0f 1f 80 00 00 00 00 .......
    00204e58
    00204e58loc_204e58:
    00204e58mov rax, [r14+8328]
    00204e5flea rdx, [rax+2]
    00204e63cmp [r14+8336], rdx
    00204e6ajb 0x205301
    00204e70
    00204e70loc_204e70:
    00204e70mov [rax], 14
    00204e73mov rax, [r14+8328]
    00204e7amov [rax+1], bl
    00204e7dmov rax, [r14+8328]
    00204e84lea rdi, [rax+2]
    00204e88mov [r14+8328], rdi
    00204e8fjmp 0x204161
    00204e94
    00204e94 0f 1f 40 00 ..@.
    00204e98
    00204e98loc_204e98:
    00204e98mov esi, 1
    00204e9dmov rdi, r15
    00204ea0mov [rsp+32], r8
    00204ea5call fn_203430
    00204eaamov rax, [r15+8328]
    00204eb1mov r8, [rsp+32]
    00204eb6jmp 0x204c07
    00204ebb
    00204ebb 0f 1f 44 00 00 ..D..
    00204ec0
    00204ec0loc_204ec0:
    00204ec0cmp rax, rdx
    00204ec3jae 0x205456
    00204ec9
    00204ec9loc_204ec9:
    00204ec9lea rdx, [rax+1]
    00204ecdmov rdi, rbp
    00204ed0mov [r14+8328], rdx
    00204ed7mov [rax], 24
    00204edacall fn_f43a0
    00204edfmov rdi, [r14+8328]
    00204ee6lea rbx, [rax+1]
    00204eealea rax, [rdi+rbx]
    00204eeecmp [r14+8336], rax
    00204ef5jb 0x20543f
    00204efb
    00204efbloc_204efb:
    00204efbmov rdx, rbx
    00204efemov rsi, rbp
    00204f01call fn_f47d0
    00204f06add rbx, [r14+8328]
    00204f0dmov [r14+8328], rbx
    00204f14lea rax, [rbx+12]
    00204f18cmp rax, [r14+8336]
    00204f1fjae 0x205422
    00204f25
    00204f25loc_204f25:
    00204f25mov [r14+8328], rax
    00204f2clea rdx, [rsp+96]
    00204f31lea rsi, [rsp+88]
    00204f36mov rdi, r13
    00204f39call r12
    00204f3cmov eax, [rsp+88]
    00204f40bswap eax
    00204f42mov [rbx], eax
    00204f44mov rax, [rsp+96]
    00204f49mov edx, [rsp+96]
    00204f4dmov rcx, rax
    00204f50sar rcx, 56
    00204f54bswap edx
    00204f56mov [rbx+8], edx
    00204f59mov [rbx+4], cl
    00204f5cmov rcx, rax
    00204f5fsar rcx, 48
    00204f63mov [rbx+5], cl
    00204f66mov rcx, rax
    00204f69sar rax, 32
    00204f6dsar rcx, 40
    00204f71mov [rbx+7], al
    00204f74mov [rbx+6], cl
    00204f77mov rdx, [rsp+88]
    00204f7cmov rax, [rsp+96]
    00204f81jmp 0x203d79
    00204f86
    00204f86 66 2e 0f 1f 84 00 00 00 00 00 f.........
    00204f90
    00204f90loc_204f90:
    00204f90mov rdx, [r15+8328]
    00204f97lea rsi, [rdx+5]
    00204f9bcmp [r15+8336], rsi
    00204fa2jb 0x2053f5
    00204fa8
    00204fa8loc_204fa8:
    00204fa8mov rsi, r9
    00204fabmov rdi, r9
    00204faemovzx eax, bl
    00204fb1sar r9, 9
    00204fb5movzx r9l, r9b
    00204fb9shl eax, 8
    00204fbcmov [rdx], 2
    00204fbfadd rbp, 3
    00204fc3sar rdi, 17
    00204fc7or eax, r9l
    00204fcasar rsi, 25
    00204fcelea rbx, [r8+r13+16]
    00204fd3movzx edi, dil
    00204fd7shl eax, 8
    00204fdamov rdx, [r15+8328]
    00204fe1movzx esi, sil
    00204fe5or eax, edi
    00204fe7shl eax, 8
    00204feaor eax, esi
    00204fecmov [rdx+1], eax
    00204feflea rax, [r8+r13+8]
    00204ff4add [r15+8328], 5
    00204ffcjmp 0x20434b
    00205001
    00205001 0f 1f 80 00 00 00 00 .......
    00205008
    00205008loc_205008:
    00205008mov esi, 5
    0020500dmov rdi, r15
    00205010mov [rsp+32], r8
    00205015call fn_203430
    0020501amov rax, [r15+8328]
    00205021mov r8, [rsp+32]
    00205026jmp 0x204c48
    0020502b
    0020502b 0f 1f 44 00 00 ..D..
    00205030
    00205030loc_205030:
    00205030mov rax, [r14+8328]
    00205037lea rdx, [rax+2]
    0020503bcmp [r14+8336], rdx
    00205042jb 0x20546f
    00205048
    00205048loc_205048:
    00205048mov [rax], 4
    0020504bmov rax, [r14+8328]
    00205052mov [rax+1], bl
    00205055add [r14+8328], 2
    0020505djmp 0x203b50
    00205062
    00205062 66 0f 1f 44 00 00 f..D..
    00205068
    00205068loc_205068:
    00205068mov rdi, r14
    0020506bmov rsi, r15
    0020506ecall fn_203430
    00205073mov rdi, [r14+8328]
    0020507ajmp 0x203d3a
    0020507f
    0020507f 90 .
    00205080
    00205080loc_205080:
    00205080mov esi, 1
    00205085mov rdi, r14
    00205088call fn_203430
    0020508dmov rax, [r14+8328]
    00205094jmp 0x203d08
    00205099
    00205099loc_205099:
    00205099mov rax, [r14+8328]
    002050a0lea rdx, [rax+2]
    002050a4cmp [r14+8336], rdx
    002050abjb 0x2054a7
    002050b1
    002050b1loc_2050b1:
    002050b1mov [rax], 9
    002050b4mov rax, [r14+8328]
    002050bbmov [rax+1], bl
    002050bemov rax, [r14+8328]
    002050c5lea rdi, [rax+2]
    002050c9mov [r14+8328], rdi
    002050d0jmp 0x204508
    002050d5
    002050d5loc_2050d5:
    002050d5mov esi, 2
    002050damov rdi, r15
    002050ddmov [rsp+32], r8
    002050e2call fn_203430
    002050e7mov rax, [r15+8328]
    002050eemov r8, [rsp+32]
    002050f3jmp 0x204ce0
    002050f8
    002050f8loc_2050f8:
    002050f8mov rax, [r14+8352]
    002050ffmov rdx, [r14+8328]
    00205106mov [rax+8], rdx
    0020510amov esi, [r14]
    0020510dmov rax, [r14+8320]
    00205114test sil, 8
    00205118je 0x2051d5
    0020511etest rax, rax
    00205121jne 0x203e67
    00205127mov rax, [r14+8344]
    0020512etest rax, rax
    00205131je 0x205574
    00205137xor r12l, r12l
    0020513anop [rax+rax]
    00205140
    00205140loc_205140:
    00205140mov rdx, [rax+8]
    00205144sub rdx, rax
    00205147mov rax, [rax]
    0020514alea r12, [rdx+r12-16]
    0020514ftest rax, rax
    00205152jne 0x205140
    00205154mov rbp, r12
    00205157jmp 0x203e74
    0020515c
    0020515cloc_20515c:
    0020515cmov rsi, rax
    0020515fmov rdi, r14
    00205162mov [rsp+16], r9
    00205167call fn_203820
    0020516cmov r9, [rsp+16]
    00205171mov [rsp+8], rax
    00205176jmp 0x203cb3
    0020517b
    0020517bloc_20517b:
    0020517bmov rax, [r14+8328]
    00205182lea rdx, [rax+3]
    00205186cmp [r14+8336], rdx
    0020518djb 0x205273
    00205193
    00205193loc_205193:
    00205193mov [rax], 5
    00205196mov rax, [r14+8328]
    0020519drol bx, 8
    002051a1mov [rax+1], bx
    002051a5add [r14+8328], 3
    002051adjmp 0x203b50
    002051b2
    002051b2loc_2051b2:
    002051b2mov esi, 3
    002051b7mov rdi, r15
    002051bamov [rsp+32], r8
    002051bfcall fn_203430
    002051c4mov rax, [r15+8328]
    002051cbmov r8, [rsp+32]
    002051d0jmp 0x204d50
    002051d5
    002051d5loc_2051d5:
    002051d5test rax, rax
    002051d8jne 0x2049f0
    002051demov rax, [r14+8344]
    002051e5xor edx, edx
    002051e7test rax, rax
    002051eaje 0x204a04
    002051f0nop [rax+rax]
    002051fbnop [rax+rax]
    00205200
    00205200loc_205200:
    00205200mov rcx, [rax+8]
    00205204sub rcx, rax
    00205207mov rax, [rax]
    0020520alea rdx, [rcx+rdx-16]
    0020520ftest rax, rax
    00205212jne 0x205200
    00205214jmp 0x2049fa
    00205219
    00205219loc_205219:
    00205219cmp rax, [r14+24]
    0020521djb 0x204a13
    00205223mov rsi, [rsp+48]
    00205228mov eax, edx
    0020522abswap eax
    0020522cmov [rsi], 0xffffffffbea69584
    00205232mov [rsi+4], eax
    00205235mov eax, [r14+8]
    00205239bswap eax
    0020523bmov [rsi+8], eax
    0020523emov eax, [r14+16]
    00205242bswap eax
    00205244mov [rsi+12], eax
    00205247mov eax, [r14+24]
    0020524bbswap eax
    0020524dmov [rsi+16], eax
    00205250mov eax, 20
    00205255jmp 0x2040be
    0020525a
    0020525aloc_20525a:
    0020525amov esi, 5
    0020525fmov rdi, r14
    00205262call fn_203430
    00205267mov rax, [r14+8328]
    0020526ejmp 0x204a6d
    00205273
    00205273loc_205273:
    00205273mov esi, 3
    00205278mov rdi, r14
    0020527bcall fn_203430
    00205280mov rax, [r14+8328]
    00205287jmp 0x205193
    0020528c
    0020528cloc_20528c:
    0020528cmov esi, 5
    00205291mov rdi, r14
    00205294call fn_203430
    00205299mov rax, [r14+8328]
    002052a0jmp 0x2044e5
    002052a5
    002052a5loc_2052a5:
    002052a5mov esi, 5
    002052aamov rdi, r14
    002052admov [rsp+16], r9
    002052b2movaps [rsp+32], x0
    002052b7call fn_203430
    002052bcmovdqa x0, [rsp+32]
    002052c2mov r9, [rsp+16]
    002052c7mov rax, [r14+8328]
    002052cejmp 0x2042b8
    002052d3
    002052d3loc_2052d3:
    002052d3mov esi, 5
    002052d8mov rdi, r14
    002052dbmov [rsp+16], r9
    002052e0movaps [rsp+32], x0
    002052e5call fn_203430
    002052eamovdqa x0, [rsp+32]
    002052f0mov r9, [rsp+16]
    002052f5mov rax, [r14+8328]
    002052fcjmp 0x204918
    00205301
    00205301loc_205301:
    00205301mov esi, 2
    00205306mov rdi, r14
    00205309call fn_203430
    0020530emov rax, [r14+8328]
    00205315jmp 0x204e70
    0020531a
    0020531aloc_20531a:
    0020531amov esi, 1
    0020531fmov rdi, r14
    00205322call fn_203430
    00205327mov rax, [r14+8328]
    0020532ejmp 0x204e37
    00205333
    00205333loc_205333:
    00205333mov esi, 1
    00205338mov rdi, r14
    0020533bmov [rsp+16], r9
    00205340movaps [rsp+32], x0
    00205345call fn_203430
    0020534amovdqa x0, [rsp+32]
    00205350mov r9, [rsp+16]
    00205355mov rax, [r14+8328]
    0020535cjmp 0x2049a0
    00205361
    00205361loc_205361:
    00205361mov esi, 1
    00205366mov rdi, r14
    00205369mov [rsp+16], r9
    0020536emovaps [rsp+32], x0
    00205373call fn_203430
    00205378movdqa x0, [rsp+32]
    0020537emov r9, [rsp+16]
    00205383mov rax, [r14+8328]
    0020538ajmp 0x2049da
    0020538f
    0020538floc_20538f:
    0020538fmov rax, [r14+8344]
    00205396test rax, rax
    00205399je 0x2054d3
    0020539fxor edx, edx
    002053a1nop [rax+rax]
    002053acnop [rax+rax]
    002053b7nop [rax+rax]
    002053c0
    002053c0loc_2053c0:
    002053c0mov rcx, [rax+8]
    002053c4sub rcx, rax
    002053c7mov rax, [rax]
    002053calea rdx, [rcx+rdx-16]
    002053cftest rax, rax
    002053d2jne 0x2053c0
    002053d4jmp 0x203ea3
    002053d9
    002053d9loc_2053d9:
    002053d9mov rdi, r14
    002053dcmov rdx, rbx
    002053dfmov esi, 21
    002053e4call fn_2037c0
    002053e9mov rdi, [r14+8328]
    002053f0jmp 0x204508
    002053f5
    002053f5loc_2053f5:
    002053f5mov esi, 5
    002053famov rdi, r15
    002053fdmov [rsp+72], r9
    00205402mov [rsp+32], r8
    00205407call fn_203430
    0020540cmov r9, [rsp+72]
    00205411mov r8, [rsp+32]
    00205416mov rdx, [r15+8328]
    0020541djmp 0x204fa8
    00205422
    00205422loc_205422:
    00205422mov esi, 12
    00205427mov rdi, r14
    0020542acall fn_203430
    0020542fmov rbx, [r14+8328]
    00205436lea rax, [rbx+12]
    0020543ajmp 0x204f25
    0020543f
    0020543floc_20543f:
    0020543fmov rdi, r14
    00205442mov rsi, rbx
    00205445call fn_203430
    0020544amov rdi, [r14+8328]
    00205451jmp 0x204efb
    00205456
    00205456loc_205456:
    00205456mov esi, 1
    0020545bmov rdi, r14
    0020545ecall fn_203430
    00205463mov rax, [r14+8328]
    0020546ajmp 0x204ec9
    0020546f
    0020546floc_20546f:
    0020546fmov esi, 2
    00205474mov rdi, r14
    00205477call fn_203430
    0020547cmov rax, [r14+8328]
    00205483jmp 0x205048
    00205488
    00205488loc_205488:
    00205488mov rsi, rax
    0020548bmov rdi, r15
    0020548emov [rsp+32], r9
    00205493call fn_203820
    00205498mov r9, [rsp+32]
    0020549dmov [rsp+8], rax
    002054a2jmp 0x204b2f
    002054a7
    002054a7loc_2054a7:
    002054a7mov esi, 2
    002054acmov rdi, r14
    002054afcall fn_203430
    002054b4mov rax, [r14+8328]
    002054bbjmp 0x2050b1
    002054c0
    002054c0loc_2054c0:
    002054c0mov rax, [rsp+48]
    002054c5mov esi, 1
    002054camov [rax+r10], r12b
    002054cejmp 0x203f92
    002054d3
    002054d3loc_2054d3:
    002054d3mov rcx, rbp
    002054d6xor edx, edx
    002054d8test [r14], 4
    002054dcjne 0x203eaf
    002054e2mov rax, [rsp+48]
    002054e7xor r8l, r8l
    002054eamov [rax], 0xffffffffbda69584
    002054f0
    002054f0loc_2054f0:
    002054f0mov rax, [rsp+48]
    002054f5mov r10l, 6
    002054fbmov [rax+5], r8b
    002054ffmov r8l, 6
    00205505jmp 0x203f39
    0020550a
    0020550aloc_20550a:
    0020550amov rax, [rsp+48]
    0020550fmov esi, 1
    00205514mov [rax+r10], r9b
    00205518jmp 0x2040b2
    0020551d
    0020551dloc_20551d:
    0020551dmov rax, [rsp+48]
    00205522mov edi, 1
    00205527mov [rax+r11], r10b
    0020552bjmp 0x204054
    00205530
    00205530loc_205530:
    00205530mov rax, [rsp+48]
    00205535mov esi, 1
    0020553amov [rax+r11], r10b
    0020553ejmp 0x203ff4
    00205543
    00205543 0f 1f 44 00 00 ..D..
    00205548mov rdi, r14
    0020554bcall fn_203330
    00205550lea rdi, [rip+0x2ac21]
    00205557call caml_invalid_argument
    0020555cnop [rax]
    00205560mov rdi, r14
    00205563call fn_203330
    00205568lea rdi, [rip+0x2acd1]
    0020556fcall caml_invalid_argument
    00205574
    00205574loc_205574:
    00205574xor ebp, ebp
    00205576xor r12l, r12l
    00205579jmp 0x203e74
    0020557e
    0020557eloc_20557e:
    0020557emov r14, r15
    00205581
    00205581loc_205581:
    00205581lea rsi, [rip+0x2ab28]
    00205588mov rdi, r14
    0020558bcall fn_203400
    00205590
    00205590loc_205590:
    00205590lea rsi, [rip+0x2ac69]
    00205597mov rdi, r14
    0020559acall fn_203400
    0020559f
    0020559floc_20559f:
    0020559fmov rsi, rbp
    002055a2lea rdi, [rip+0x2ac1f]
    002055a9xor eax, eax
    002055abcall caml_fatal_error
    002055b0
    002055b0loc_2055b0:
    002055b0mov rdi, r14
    002055b3call fn_203330
    002055b8lea rdi, [rip+0x2abe1]
    002055bfcall caml_invalid_argument
    002055c4
    002055c4loc_2055c4:
    002055c4lea rsi, [rip+0x2ab25]
    002055cbmov rdi, r14
    002055cecall fn_203400
    002055d3
    002055d3loc_2055d3:
    002055d3lea rsi, [rip+0x2ab56]
    002055damov rdi, r14
    002055ddcall fn_203400
    002055e2
    002055e2loc_2055e2:
    002055e2call fn_f4590
    002055e7
    002055e7loc_2055e7:
    002055e7mov rdi, r14
    002055eacall fn_203420
    002055ef
    002055efloc_2055ef:
    002055efmov rdi, r14
    002055f2call fn_203330
    002055f7lea rdi, [rip+0x2ac6a]
    002055fecall caml_failwith
    00203a00
    00205603
    00205603 // align 0x10
    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