File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    001fc240
    001fc240caml_ba_deserialize:
    001fc240push r13
    001fc242push r12
    001fc244push rbp
    001fc245mov rbp, rdi
    001fc248push rbx
    001fc249sub rsp, 8
    001fc24dcall caml_deserialize_uint_4
    001fc252mov edi, eax
    001fc254mov [rbp+8], rdi
    001fc258cmp eax, 16
    001fc25bja 0x1fc44a
    001fc261call caml_deserialize_uint_4
    001fc266mov [rbp+24], 0
    001fc26emov r12l, eax
    001fc271or r12l, 512
    001fc278cmp [rbp+8], 0
    001fc27dmov [rbp+16], r12
    001fc281jle 0x1fc426
    001fc287xor r12l, r12l
    001fc28axor ebx, ebx
    001fc28cjmp 0x1fc2ad
    001fc28enop [rax+rax]
    001fc294mov [rbp+8*rbx+32], rdx
    001fc299add r12l, 1
    001fc29dmov rsi, [rbp+8]
    001fc2a1movsxd rbx, r12l
    001fc2a4cmp rbx, rsi
    001fc2a7jge 0x1fc2d0
    001fc2a9call caml_deserialize_uint_2
    001fc2aemovsxd rdx, eax
    001fc2b1cmp eax, 65535
    001fc2b6jne 0x1fc298
    001fc2b8call caml_deserialize_uint_8
    001fc2bdmov rdx, rax
    001fc2c0jmp 0x1fc298
    001fc2c2nop [rax+rax]
    001fc2cctest rsi, rsi
    001fc2cfjle 0x1fc430
    001fc2d5mov ebx, 1
    001fc2daxor ecx, ecx
    001fc2dcxor edx, edx
    001fc2denop [rax+rax]
    001fc2e9nop [rax+rax]
    001fc2f4nop [rax+rax]
    001fc2fcmov rax, rbx
    001fc2ffmul [rbp+8*rdx+32]
    001fc304mov rbx, rax
    001fc307jo 0x1fc43e
    001fc30dadd ecx, 1
    001fc310movsxd rdx, ecx
    001fc313cmp rsi, rdx
    001fc316jg 0x1fc300
    001fc318mov r12, [rbp+16]
    001fc31cmovzx eax, r12b
    001fc320
    001fc320loc_1fc320:
    001fc320cmp rax, 13
    001fc324jg 0x1fc462
    001fc32alea rdx, [rip+0x17bf6b]
    001fc331movsxd rax, [rdx+4*rax]
    001fc335mul rbx
    001fc338jo 0x1fc43e
    001fc33emov rdi, rax
    001fc341call fn_f4250
    001fc346mov [rbp], rax
    001fc34amov r13, rax
    001fc34dtest rax, rax
    001fc350je 0x1fc456
    001fc356movzx eax, r12b
    001fc35acmp r12b, 13
    001fc35eja 0xf4888
    001fc364lea rdx, [rip+0x3541d]
    001fc36bmovsxd rax, [rdx+4*rax]
    001fc36fadd rax, rdx
    001fc372jmp rax
    001fc375nop [rax]
    001fc37cmov rsi, rbx
    001fc37fmov rdi, r13
    001fc382call caml_deserialize_block_2
    001fc387mov rax, [rbp+8]
    001fc38b
    001fc38bloc_1fc38b:
    001fc38badd rsp, 8
    001fc38fpop rbx
    001fc390pop rbp
    001fc391lea rax, [8*rax+32]
    001fc399pop r12
    001fc39bpop r13
    001fc39dret
    001fc39enop [rax+rax]
    001fc3a4mov rsi, rbx
    001fc3a7mov rdi, r13
    001fc3aacall caml_deserialize_block_1
    001fc3afjmp 0x1fc38b
    001fc3b1nop [rax]
    001fc3b4mov rsi, rbx
    001fc3b7mov rdi, r13
    001fc3bacall caml_deserialize_block_8
    001fc3bfjmp 0x1fc38b
    001fc3c1call caml_deserialize_uint_1
    001fc3c6test eax, eax
    001fc3c8jne 0x1fc3b8
    001fc3caxor r12l, r12l
    001fc3cdtest rbx, rbx
    001fc3d0jle 0x1fc38b
    001fc3d2nop [rax+rax]
    001fc3dccall caml_deserialize_sint_4
    001fc3e1cdqe
    001fc3e3mov [r13+8*r12], rax
    001fc3e8add r12, 1
    001fc3eccmp rbx, r12
    001fc3efjne 0x1fc3e0
    001fc3f1jmp 0x1fc38b
    001fc3f3mov rsi, rbx
    001fc3f6mov rdi, r13
    001fc3f9call caml_deserialize_block_4
    001fc3fejmp 0x1fc38b
    001fc400lea rsi, [rbx+rbx]
    001fc404mov rdi, r13
    001fc407call caml_deserialize_block_8
    001fc40cjmp 0x1fc38b
    001fc411lea rsi, [rbx+rbx]
    001fc415mov rdi, r13
    001fc418call caml_deserialize_block_4
    001fc41djmp 0x1fc38b
    001fc422mov ebx, 1
    001fc427jmp 0x1fc320
    001fc42cmov r12, [rbp+16]
    001fc430
    001fc430loc_1fc430:
    001fc430mov ebx, 1
    001fc435jmp 0x1fc320
    001fc43alea rdi, [rip+0x335d3]
    001fc441call caml_deserialize_error
    001fc446lea rdi, [rip+0x3358f]
    001fc44dcall caml_deserialize_error
    001fc452lea rdi, [rip+0x33603]
    001fc459call caml_deserialize_error
    001fc45elea rdi, [rip+0x335d7]
    001fc465call caml_deserialize_error
    001fc46adb 0xe2
    001fc46bor [rcx], eax
    001fc46ddb 0x00
    001fc240
    001fc46e
    001fc46e // align 0x20
    001fc480
    001fc480fn_1fc480:
    001fc480test [rdi+17], 6
    001fc484je 0x1fc4b0
    001fc486push rbp
    001fc487mov rbp, rsi
    001fc48apush rbx
    001fc48bmov rbx, rdi
    001fc48esub rsp, 8
    001fc492mov rax, [rdi+24]
    001fc496test rax, rax
    001fc499je 0x1fc4b8
    001fc49bmov [rsi+24], rax
    001fc49flock add [rax], 1
    001fc4a4add rsp, 8
    001fc4a8pop rbx
    001fc4a9pop rbp
    001fc4aaret
    001fc4ab
    001fc4ab 0f 1f 44 00 00 ..D..
    001fc4b0
    001fc4b0loc_1fc4b0:
    001fc4b0ret
    001fc4b1
    001fc4b1 0f 1f 80 00 00 00 00 .......
    001fc4b8
    001fc4b8loc_1fc4b8:
    001fc4b8mov edi, 24
    001fc4bdcall fn_f4250
    001fc4c2test rax, rax
    001fc4c5je 0x1fc546
    001fc4c7mov [rax], 2
    001fc4cemov rdx, [rbx]
    001fc4d1mov r8, [rbx+16]
    001fc4d5mov [rax+8], rdx
    001fc4d9xor edx, edx
    001fc4dbtest r8l, 1024
    001fc4e2jne 0x1fc500
    001fc4e4
    001fc4e4loc_1fc4e4:
    001fc4e4mov [rbx+24], rax
    001fc4e8mov [rax+16], rdx
    001fc4ecmov [rbp+24], rax
    001fc4f0add rsp, 8
    001fc4f4pop rbx
    001fc4f5pop rbp
    001fc4f6ret
    001fc4f7
    001fc4f7 66 0f 1f 84 00 00 00 00 00 f........
    001fc500
    001fc500loc_1fc500:
    001fc500mov rdi, [rbx+8]
    001fc504mov esi, 1
    001fc509test rdi, rdi
    001fc50cjle 0x1fc531
    001fc50exor ecx, ecx
    001fc510nop [rax+rax]
    001fc51bnop [rax+rax]
    001fc520
    001fc520loc_1fc520:
    001fc520add ecx, 1
    001fc523imul rsi, [rbx+8*rdx+32]
    001fc529movsxd rdx, ecx
    001fc52ccmp rdi, rdx
    001fc52fjg 0x1fc520
    001fc531
    001fc531loc_1fc531:
    001fc531movzx r8l, r8b
    001fc535lea rdx, [rip+0x17bd64]
    001fc53cmovsxd rdx, [rdx+4*r8]
    001fc540imul rdx, rsi
    001fc544jmp 0x1fc4e4
    001fc546
    001fc546loc_1fc546:
    001fc546call caml_raise_out_of_memory
    001fc480
    001fc54b
    001fc54b // align 0x20
    001fc560
    001fc560fn_1fc560:
    001fc560push r12
    001fc562push rbp
    001fc563push rbx
    001fc564sub rsp, 144
    001fc56bmov r12, [0x28]
    001fc574mov [rsp+136], r12
    001fc57clea r12, [rdi+8]
    001fc580mov rax, [r12+8]
    001fc585cmp rax, rdx
    001fc588jne 0x1fc772
    001fc58emov rbx, rdi
    001fc591mov rbp, rcx
    001fc594mov rdi, rsp
    001fc597mov rdx, rsp
    001fc59alea rcx, [rsi+8*rax]
    001fc59etest rax, rax
    001fc5a1jle 0x1fc5d7
    001fc5a3nop [rax+rax]
    001fc5aenop [rax+rax]
    001fc5b9nop [rax]
    001fc5c0
    001fc5c0loc_1fc5c0:
    001fc5c0mov rax, [rsi]
    001fc5c3add rsi, 8
    001fc5c7add rdx, 8
    001fc5cbsar rax, 1
    001fc5cemov [rdx-8], rax
    001fc5d2cmp rcx, rsi
    001fc5d5jne 0x1fc5c0
    001fc5d7
    001fc5d7loc_1fc5d7:
    001fc5d7mov rsi, rdi
    001fc5damov rdi, r12
    001fc5ddcall fn_1fbf00
    001fc5e2mov rdx, rax
    001fc5e5movzx eax, [r12+16]
    001fc5ebcmp eax, 13
    001fc5eeja 0xf488a
    001fc5f4lea rcx, [rip+0x351c9]
    001fc5fbmovsxd rax, [rcx+4*rax]
    001fc5ffadd rax, rcx
    001fc602jmp rax
    001fc605
    001fc605 0f 1f 00 ...
    001fc608mov rax, [rbx+8]
    001fc60csar rbp, 1
    001fc60fmov [rax+rdx], bpl
    001fc613nop [rax+rax]
    001fc61enop
    001fc620
    001fc620loc_1fc620:
    001fc620mov rax, [rsp+136]
    001fc628sub rax, [0x28]
    001fc631jne 0x1fc76d
    001fc637add rsp, 144
    001fc63emov eax, 1
    001fc643pop rbx
    001fc644pop rbp
    001fc645pop r12
    001fc647ret
    001fc648
    001fc648 0f 1f 84 00 00 00 00 00 ........
    001fc650mov rcx, [rbp+8]
    001fc654mov rax, [rbx+8]
    001fc658mov [rax+8*rdx], rcx
    001fc65cjmp 0x1fc620
    001fc65e
    001fc65e 66 90 f.
    001fc660mov rax, [rbx+8]
    001fc664sar rbp, 1
    001fc667mov [rax+2*rdx], bp
    001fc66bjmp 0x1fc620
    001fc66dmov rax, [rbx+8]
    001fc671pxor x0, x0
    001fc675cvtsd2ss x0, [rbp]
    001fc67alea rax, [rax+8*rdx]
    001fc67emovss [rax], x0
    001fc682pxor x0, x0
    001fc686cvtsd2ss x0, [rbp+8]
    001fc68bmovss [rax+4], x0
    001fc690jmp 0x1fc620
    001fc692mov rax, [rbx+8]
    001fc696pxor x0, x0
    001fc69acvtsd2ss x0, [rbp]
    001fc69fmovss [rax+4*rdx], x0
    001fc6a4jmp 0x1fc620
    001fc6a9mov ecx, [rbp+8]
    001fc6acmov rax, [rbx+8]
    001fc6b0mov [rax+4*rdx], ecx
    001fc6b3jmp 0x1fc620
    001fc6b8movsd_xmm x0, [rbp]
    001fc6bdmov rax, [rbx+8]
    001fc6c1movsd_xmm [rax+8*rdx], x0
    001fc6c6jmp 0x1fc620
    001fc6cbmovsd_xmm x0, [rbp]
    001fc6d0shl rdx, 4
    001fc6d4add rdx, [rbx+8]
    001fc6d8movsd_xmm [rdx], x0
    001fc6dcmovsd_xmm x0, [rbp+8]
    001fc6e1movsd_xmm [rdx+8], x0
    001fc6e6jmp 0x1fc620
    001fc6ebmov rax, [rbx+8]
    001fc6efsar rbp, 1
    001fc6f2mov [rax+8*rdx], rbp
    001fc6f6jmp 0x1fc620
    001fc6fbmov rax, [rbx+8]
    001fc6ffpxor x1, x1
    001fc703cvtsd2ss x1, [rbp]
    001fc708lea rcx, [rax+2*rdx]
    001fc70cmovd edx, x1
    001fc710mov eax, edx
    001fc712and eax, 0x7fffffff
    001fc717cmp eax, 0x477fffff
    001fc71cja 0x1fc748
    001fc71ecmp eax, 0x387fffff
    001fc723ja 0x1fc759
    001fc725movd x2, eax
    001fc729addss x2, [rip+0x2d8db]
    001fc731movd eax, x2
    001fc735
    001fc735loc_1fc735:
    001fc735shr edx, 16
    001fc738and edx, 32768
    001fc73eor eax, edx
    001fc740mov [rcx], ax
    001fc743jmp 0x1fc620
    001fc748
    001fc748loc_1fc748:
    001fc748cmp eax, 0x7f800001
    001fc74dsbb eax, eax
    001fc74fand ax, -512
    001fc753add ax, 32256
    001fc757jmp 0x1fc735
    001fc759
    001fc759loc_1fc759:
    001fc759mov esi, eax
    001fc75bshr esi, 13
    001fc75eand esi, 1
    001fc761lea eax, [rax+rsi-0x37fff001]
    001fc768shr eax, 13
    001fc76bjmp 0x1fc735
    001fc76d
    001fc76dloc_1fc76d:
    001fc76dcall fn_f4590
    001fc772
    001fc772loc_1fc772:
    001fc772lea rdi, [rip+0x3330f]
    001fc779call caml_invalid_argument
    001fc560
    001fc77e
    001fc77e // align 0x10
    001fc780
    001fc780caml_double_of_float16:
    001fc780movzx edi, di
    001fc783mov eax, edi
    001fc785shl eax, 13
    001fc788and eax, 0xfffe000
    001fc78dmovd x0, eax
    001fc791mulss x0, [rip+0x2d867]
    001fc799comiss x0, [rip+0x2d864]
    001fc7a0movd eax, x0
    001fc7a4jb 0x1fc7af
    001fc7a6or eax, 0x7f800000
    001fc7abshl edi, 16
    001fc7aepxor x0, x0
    001fc7b2and edi, 0xffffffff80000000
    001fc7b8or edi, eax
    001fc7bamovd x1, edi
    001fc7becvtss2sd x0, x1
    001fc7c2ret
    001fc7c3db 0x0f
    001fc7c4pop rdx
    001fc7c5db 0xc1
    001fc7c6ret
    001fc780
    001fc7c7
    001fc7c7 // align 0x10
    001fc7d0
    001fc7d0caml_float16_of_double:
    001fc7d0pxor x1, x1
    001fc7d4cvtsd2ss x1, x0
    001fc7d8movd edx, x1
    001fc7dcmov eax, edx
    001fc7deand eax, 0x7fffffff
    001fc7e3cmp eax, 0x477fffff
    001fc7e8jbe 0x1fc810
    001fc7eacmp eax, 0x7f800001
    001fc7efsbb eax, eax
    001fc7f1shr edx, 16
    001fc7f4and ax, -512
    001fc7f8and edx, 32768
    001fc7feadd ax, 32256
    001fc802or eax, edx
    001fc804movzx eax, ax
    001fc807ret
    001fc808db 0x0f
    001fc809mov bh, 192
    001fc80bret
    001fc80c
    001fc80c 0f 1f 40 00 ..@.
    001fc810
    001fc810loc_1fc810:
    001fc810cmp eax, 0x387fffff
    001fc815ja 0x1fc840
    001fc817movd x2, eax
    001fc81baddss x2, [rip+0x2d7e9]
    001fc823shr edx, 16
    001fc826and edx, 32768
    001fc82cmovd eax, x2
    001fc830or eax, edx
    001fc832movzx eax, ax
    001fc835ret
    001fc836
    001fc836 66 2e 0f 1f 84 00 00 00 00 00 f.........
    001fc840
    001fc840loc_1fc840:
    001fc840mov ecx, eax
    001fc842shr edx, 16
    001fc845shr ecx, 13
    001fc848and edx, 32768
    001fc84eand ecx, 1
    001fc851lea eax, [rax+rcx-0x37fff001]
    001fc858shr eax, 13
    001fc85bor eax, edx
    001fc85dmovzx eax, ax
    001fc860ret
    001fc7d0
    001fc861
    001fc861 // align 0x20
    001fc880
    001fc880caml_ba_num_elts:
    001fc880mov rsi, [rdi+8]
    001fc884test rsi, rsi
    001fc887jle 0x1fc8b8
    001fc889xor edx, edx
    001fc88bmov ecx, 1
    001fc890xor eax, eax
    001fc892nop [rax+rax]
    001fc89cadd edx, 1
    001fc89fimul rcx, [rdi+8*rax+32]
    001fc8a5movsxd rax, edx
    001fc8a8cmp rax, rsi
    001fc8abjl 0x1fc8a0
    001fc8admov rax, rcx
    001fc8b0ret
    001fc8b1db 0x48
    001fc8b2mov eax, ecx
    001fc8b4ret
    001fc8b5
    001fc8b5 0f 1f 00 ...
    001fc8b8
    001fc8b8loc_1fc8b8:
    001fc8b8mov ecx, 1
    001fc8bdmov rax, rcx
    001fc8c0ret
    001fc880
    001fc8c1
    001fc8c1 // align 0x20
    001fc8e0
    001fc8e0caml_ba_byte_size:
    001fc8e0mov rsi, [rdi+8]
    001fc8e4mov ecx, 1
    001fc8e9test rsi, rsi
    001fc8ecjle 0x1fc911
    001fc8eexor edx, edx
    001fc8f0xor eax, eax
    001fc8f2nop [rax+rax]
    001fc8fcadd edx, 1
    001fc8ffimul rcx, [rdi+8*rax+32]
    001fc905movsxd rax, edx
    001fc908cmp rax, rsi
    001fc90bjl 0x1fc900
    001fc90dmovzx edx, [rdi+16]
    001fc911
    001fc911loc_1fc911:
    001fc911lea rax, [rip+0x17b984]
    001fc918movsxd rax, [rax+4*rdx]
    001fc91cimul rax, rcx
    001fc920ret
    001fc921db 0x0f
    001fc922scasd [rdi], eax
    001fc923db 0xc1
    001fc924ret
    001fc8e0
    001fc925
    001fc925 // align 0x20
    001fc940
    001fc940caml_ba_alloc:
    001fc940push r13
    001fc942push r12
    001fc944mov r12l, edi
    001fc947push rbp
    001fc948mov ebp, esi
    001fc94apush rbx
    001fc94bsub rsp, 168
    001fc952mov rbx, [0x28]
    001fc95bmov [rsp+152], rbx
    001fc963mov rbx, rdx
    001fc966test esi, esi
    001fc968jle 0x1fca9c
    001fc96emov rsi, rcx
    001fc971mov edx, ebp
    001fc973lea rcx, [rsp+16]
    001fc978shl rdx, 3
    001fc97cmov rdi, rcx
    001fc97fcall fn_f47d0
    001fc984mov edx, 1
    001fc989mov rcx, rax
    001fc98cmovsxd rax, ebp
    001fc98flea rsi, [rcx+8*rax]
    001fc993nop [rax+rax]
    001fc99cmov rax, rdx
    001fc99fmul [rcx]
    001fc9a2mov rdx, rax
    001fc9a5jo 0x1fcaa6
    001fc9abadd rcx, 8
    001fc9afcmp rsi, rcx
    001fc9b2jne 0x1fc9a0
    001fc9b4movzx eax, r12b
    001fc9b8
    001fc9b8loc_1fc9b8:
    001fc9b8lea rcx, [rip+0x17b8dd]
    001fc9bfmovsxd rax, [rcx+4*rax]
    001fc9c3mul rdx
    001fc9c6mov r13, rax
    001fc9c9jo 0x1fcaa6
    001fc9cftest rbx, rbx
    001fc9d2je 0x1fca7b
    001fc9d8movd x2, r12l
    001fc9ddmovd x0, ebp
    001fc9e1pxor x1, x1
    001fc9e5movsxd rax, ebp
    001fc9e8punpckldq x0, x2
    001fc9ecand r12l, 3584
    001fc9f3lea rsi, [8*rax+32]
    001fc9fbxor eax, eax
    001fc9fdpcmpgtd x1, x0
    001fca01cmp r12l, 512
    001fca08lea rdi, [rip+0x78ded]
    001fca0fcmove rax, r13
    001fca13punpckldq x0, x1
    001fca17mov rdx, rax
    001fca1amovaps [rsp], x0
    001fca1ecall caml_alloc_custom_mem
    001fca23movdqa x0, [rsp]
    001fca28mov [rax+8], rbx
    001fca2cmov r12, rax
    001fca2fmov [rax+32], 0
    001fca37movups [rax+16], x0
    001fca3btest ebp, ebp
    001fca3djle 0x1fca57
    001fca3fmov edx, ebp
    001fca41lea rdi, [rax+40]
    001fca45lea rsi, [rsp+16]
    001fca4ashl rdx, 3
    001fca4ecall fn_f47d0
    001fca53mov rax, [rsp+152]
    001fca5bsub rax, [0x28]
    001fca64jne 0x1fcaab
    001fca66add rsp, 168
    001fca6dmov rax, r12
    001fca70pop rbx
    001fca71pop rbp
    001fca72pop r12
    001fca74pop r13
    001fca76ret
    001fca77mov rdi, rax
    001fca7acall fn_f4250
    001fca7fmov rbx, rax
    001fca82test r13, r13
    001fca85je 0x1fca90
    001fca87test rax, rax
    001fca8aje 0x1fcaa6
    001fca8cor r12l, 512
    001fca93jmp 0x1fc9dc
    001fca98mov edx, 1
    001fca9djmp 0x1fc9b8
    001fcaa2call caml_raise_out_of_memory
    001fcaa7call fn_f4590
    001fcaacdb 0xe0
    001fcaadjp 0x1fca9e
    001fcaafdb 0xff
    001fc940
    001fcab0
    001fcab0 // align 0x20
    001fcac0
    001fcac0caml_ba_alloc_dims:
    001fcac0push rbx
    001fcac1mov r11l, edi
    001fcac4mov r10l, esi
    001fcac7mov rbx, rdx
    001fcacasub rsp, 224
    001fcad1mov [rsp+216], r9
    001fcad9lea r9, [rsp+32]
    001fcademov [rsp+200], rcx
    001fcae6mov [rsp+208], r8
    001fcaeemov rax, [0x28]
    001fcaf7mov [rsp+168], rax
    001fcaffxor eax, eax
    001fcb01lea rax, [rsp+240]
    001fcb09mov [rsp+8], 24
    001fcb11mov [rsp+16], rax
    001fcb16lea rax, [rsp+176]
    001fcb1emov [rsp+24], rax
    001fcb23test esi, esi
    001fcb25jle 0x1fcb97
    001fcb27lea r9, [rsp+32]
    001fcb2cmovsxd rdx, esi
    001fcb2fmov r8, [rsp+24]
    001fcb34lea rcx, [rsp+240]
    001fcb3clea rsi, [r9+8*rdx]
    001fcb40mov rax, r9
    001fcb43mov edx, 24
    001fcb48jmp 0x1fcb76
    001fcb4adb 0x00
    001fcb4badd bl, ch
    001fcb4ddb 0x28
    001fcb4e
    001fcb4e 66 66 ff
    001fcb50 2e 0f 1f 84 00 00 00 00 00 0f 1f 80 00 00 00 00 ................
    001fcb60
    001fcb60loc_1fcb60:
    001fcb60mov edi, edx
    001fcb62add rax, 8
    001fcb66add edx, 8
    001fcb69mov rdi, [r8+rdi]
    001fcb6dmov [rax-8], rdi
    001fcb71cmp rax, rsi
    001fcb74je 0x1fcb97
    001fcb76
    001fcb76loc_1fcb76:
    001fcb76cmp edx, 47
    001fcb79jbe 0x1fcb60
    001fcb7bnop [rax+rax]
    001fcb80
    001fcb80loc_1fcb80:
    001fcb80mov rdx, rcx
    001fcb83add rax, 8
    001fcb87add rcx, 8
    001fcb8bmov rdx, [rdx]
    001fcb8emov [rax-8], rdx
    001fcb92cmp rsi, rax
    001fcb95jne 0x1fcb80
    001fcb97
    001fcb97loc_1fcb97:
    001fcb97mov rdx, rbx
    001fcb9amov rcx, r9
    001fcb9dmov esi, r10l
    001fcba0mov edi, r11l
    001fcba3call caml_ba_alloc
    001fcba8mov rdx, [rsp+168]
    001fcbb0sub rdx, [0x28]
    001fcbb9jne 0x1fcbc4
    001fcbbbadd rsp, 224
    001fcbc2pop rbx
    001fcbc3ret
    001fcbc4
    001fcbc4loc_1fcbc4:
    001fcbc4call fn_f4590
    001fcac0
    001fcbc9
    001fcbc9 // align 0x20
    001fcbe0
    001fcbe0caml_ba_create:
    001fcbe0sub rsp, 152
    001fcbe7mov r9, rdi
    001fcbeamov rdi, [0x28]
    001fcbf3mov [rsp+136], rdi
    001fcbfbmov rdi, rsi
    001fcbfemov rax, [rdx-8]
    001fcc02mov rsi, rax
    001fcc05shr rsi, 10
    001fcc09cmp rax, 17407
    001fcc0fja 0x1fcc92
    001fcc11mov r10, rsp
    001fcc14test rsi, rsi
    001fcc17je 0x1fcc55
    001fcc19mov rcx, rsp
    001fcc1clea r8, [rdx+8*rsi]
    001fcc20sub rcx, rdx
    001fcc23nop [rax+rax]
    001fcc2enop [rax+rax]
    001fcc39nop [rax]
    001fcc3cmov rax, [rdx]
    001fcc3fsar rax, 1
    001fcc42mov [rcx+rdx], rax
    001fcc46js 0x1fcc86
    001fcc48add rdx, 8
    001fcc4ccmp rdx, r8
    001fcc4fjne 0x1fcc40
    001fcc51sar rdi, 1
    001fcc54sar r9, 1
    001fcc57xor edx, edx
    001fcc59mov rcx, r10
    001fcc5cshl edi, 8
    001fcc5for edi, r9l
    001fcc62call caml_ba_alloc
    001fcc67mov rdx, [rsp+136]
    001fcc6fsub rdx, [0x28]
    001fcc78jne 0x1fcc9e
    001fcc7aadd rsp, 152
    001fcc81ret
    001fcc82lea rdi, [rip+0x32e53]
    001fcc89call caml_invalid_argument
    001fcc8elea rdi, [rip+0x32e17]
    001fcc95call caml_invalid_argument
    001fcc9acall fn_f4590
    001fcc9fdb 0xed
    001fcca0js 0x1fcc91
    001fcca2db 0xff
    001fcbe0
    001fcca3
    001fcca3 // align 0x20
    001fccc0
    001fccc0caml_ba_get_N:
    001fccc0push rbp
    001fccc1movsxd rdx, edx
    001fccc4push rbx
    001fccc5sub rsp, 168
    001fccccmov rax, [0x28]
    001fccd5mov [rsp+152], rax
    001fccddxor eax, eax
    001fccdfcmp rdx, [rdi+16]
    001fcce3jne 0x1fcf6c
    001fcce9mov rbx, rdi
    001fcceclea rbp, [rdi+8]
    001fccf0lea rdi, [rsp+16]
    001fccf5test rdx, rdx
    001fccf8jle 0x1fcd37
    001fccfamov rcx, rdi
    001fccfdlea rdx, [rsi+8*rdx]
    001fcd01nop [rax+rax]
    001fcd0cnop [rax+rax]
    001fcd17nop [rax+rax]
    001fcd1cmov rax, [rsi]
    001fcd1fadd rsi, 8
    001fcd23add rcx, 8
    001fcd27sar rax, 1
    001fcd2amov [rcx-8], rax
    001fcd2ecmp rdx, rsi
    001fcd31jne 0x1fcd20
    001fcd33mov rsi, rdi
    001fcd36mov rdi, rbp
    001fcd39call fn_1fbf00
    001fcd3emov rcx, rax
    001fcd41movzx eax, [rbp+16]
    001fcd45cmp eax, 13
    001fcd48ja 0xf488c
    001fcd4elea rdx, [rip+0x34aa3]
    001fcd55movsxd rax, [rdx+4*rax]
    001fcd59add rax, rdx
    001fcd5cjmp rax
    001fcd5fdb 0xd0
    001fcd60jmp rax
    001fcd63
    001fcd63 0f 1f 44 00 00 ..D..
    001fcd68mov rax, [rbx+8]
    001fcd6cmovzx eax, [rax+rcx]
    001fcd70lea rax, [rax+rax+1]
    001fcd75
    001fcd75loc_1fcd75:
    001fcd75mov rdx, [rsp+152]
    001fcd7dsub rdx, [0x28]
    001fcd86jne 0x1fcf67
    001fcd8cadd rsp, 168
    001fcd93pop rbx
    001fcd94pop rbp
    001fcd95ret
    001fcd96mov rax, [rbx+8]
    001fcd9amovsx rax, [rax+2*rcx]
    001fcd9flea rax, [rax+rax+1]
    001fcda4jmp 0x1fcd75
    001fcda6mov rax, [rbx+8]
    001fcdaamovzx eax, [rax+2*rcx]
    001fcdaelea rax, [rax+rax+1]
    001fcdb3jmp 0x1fcd75
    001fcdb5mov rax, [rsp+152]
    001fcdbdsub rax, [0x28]
    001fcdc6jne 0x1fcf67
    001fcdccmov rax, [rbx+8]
    001fcdd0mov edi, [rax+4*rcx]
    001fcdd3add rsp, 168
    001fcddapop rbx
    001fcddbpop rbp
    001fcddcjmp 0x20d4a0
    001fcde1mov rax, [rsp+152]
    001fcde9sub rax, [0x28]
    001fcdf2jne 0x1fcf67
    001fcdf8mov rax, [rbx+8]
    001fcdfcmov rdi, [rax+8*rcx]
    001fce00add rsp, 168
    001fce07pop rbx
    001fce08pop rbp
    001fce09jmp 0x20d9d0
    001fce0emov rax, [rbx+8]
    001fce12mov rax, [rax+8*rcx]
    001fce16lea rax, [rax+rax+1]
    001fce1bjmp 0x1fcd75
    001fce20mov rax, [rsp+152]
    001fce28sub rax, [0x28]
    001fce31jne 0x1fcf67
    001fce37mov rax, [rbx+8]
    001fce3bmov rdi, [rax+8*rcx]
    001fce3fadd rsp, 168
    001fce46pop rbx
    001fce47pop rbp
    001fce48jmp 0x20e100
    001fce4dmov rax, [rbx+8]
    001fce51cvtps2pd x0, [rax+8*rcx]
    001fce55
    001fce55loc_1fce55:
    001fce55mov esi, 254
    001fce5amov edi, 2
    001fce5fmovaps [rsp], x0
    001fce63call caml_alloc_small
    001fce68movapd x0, [rsp]
    001fce6dmovups [rax], x0
    001fce70jmp 0x1fcd75
    001fce75mov rax, rcx
    001fce78shl rax, 4
    001fce7cadd rax, [rbx+8]
    001fce80movupd x0, [rax]
    001fce84jmp 0x1fce55
    001fce86mov rax, [rbx+8]
    001fce8amovzx eax, [rax+2*rcx]
    001fce8emov edx, eax
    001fce90shl edx, 13
    001fce93and edx, 0xfffe000
    001fce99movd x0, edx
    001fce9dmulss x0, [rip+0x2d15f]
    001fcea5comiss x0, [rip+0x2d15c]
    001fceacmovd edx, x0
    001fceb0jae 0x1fcf5c
    001fceb6
    001fceb6loc_1fceb6:
    001fceb6mov rcx, [rsp+152]
    001fcebesub rcx, [0x28]
    001fcec7jne 0x1fcf67
    001fcecdshl eax, 16
    001fced0add rsp, 168
    001fced7pxor x0, x0
    001fcedband eax, 0xffffffff80000000
    001fcee0pop rbx
    001fcee1pop rbp
    001fcee2or eax, edx
    001fcee4movd x1, eax
    001fcee8cvtss2sd x0, x1
    001fceecjmp 0x2075f0
    001fcef1mov rax, [rsp+152]
    001fcef9sub rax, [0x28]
    001fcf02jne 0x1fcf67
    001fcf04mov rax, [rbx+8]
    001fcf08pxor x0, x0
    001fcf0ccvtss2sd x0, [rax+4*rcx]
    001fcf11add rsp, 168
    001fcf18pop rbx
    001fcf19pop rbp
    001fcf1ajmp 0x2075f0
    001fcf1fmov rax, [rsp+152]
    001fcf27sub rax, [0x28]
    001fcf30jne 0x1fcf67
    001fcf32mov rax, [rbx+8]
    001fcf36movsd_xmm x0, [rax+8*rcx]
    001fcf3badd rsp, 168
    001fcf42pop rbx
    001fcf43pop rbp
    001fcf44jmp 0x2075f0
    001fcf49mov rax, [rbx+8]
    001fcf4dmovsx rax, [rax+rcx]
    001fcf52lea rax, [rax+rax+1]
    001fcf57jmp 0x1fcd75
    001fcf5c
    001fcf5cloc_1fcf5c:
    001fcf5cor edx, 0x7f800000
    001fcf62jmp 0x1fceb6
    001fcf67
    001fcf67loc_1fcf67:
    001fcf67call fn_f4590
    001fcf6c
    001fcf6cloc_1fcf6c:
    001fcf6clea rdi, [rip+0x32b95]
    001fcf73call caml_invalid_argument
    001fccc0
    001fcf78
    001fcf78 // align 0x10
    001fcf80
    001fcf80caml_ba_get_1:
    001fcf80sub rsp, 24
    001fcf84mov edx, 1
    001fcf89mov [rsp+8], rsi
    001fcf8elea rsi, [rsp+8]
    001fcf93call caml_ba_get_N
    001fcf98add rsp, 24
    001fcf9cret
    001fcf9ddb 0x83
    001fcf9edb 0xc4
    001fcf9fsbb bl, al
    001fcf80
    001fcfa1
    001fcfa1 // align 0x10
    001fcfb0
    001fcfb0caml_ba_get_2:
    001fcfb0sub rsp, 40
    001fcfb4mov rax, [0x28]
    001fcfbdmov [rsp+24], rax
    001fcfc2xor eax, eax
    001fcfc4mov [rsp], rsi
    001fcfc8mov rsi, rsp
    001fcfcbmov [rsp+8], rdx
    001fcfd0mov edx, 2
    001fcfd5call caml_ba_get_N
    001fcfdamov rdx, [rsp+24]
    001fcfdfsub rdx, [0x28]
    001fcfe8jne 0x1fcff3
    001fcfeaadd rsp, 40
    001fcfeeret
    001fcfefcall fn_f4590
    001fcff4db 0x98
    001fcff5jne 0x1fcfe6
    001fcff7db 0xff
    001fcfb0
    001fcff8
    001fcff8 // align 0x10
    001fd000
    001fd000caml_ba_get_3:
    001fd000sub rsp, 40
    001fd004mov rax, [0x28]
    001fd00dmov [rsp+24], rax
    001fd012xor eax, eax
    001fd014mov [rsp], rsi
    001fd018mov rsi, rsp
    001fd01bmov [rsp+8], rdx
    001fd020mov edx, 3
    001fd025mov [rsp+16], rcx
    001fd02acall caml_ba_get_N
    001fd02fmov rdx, [rsp+24]
    001fd034sub rdx, [0x28]
    001fd03djne 0x1fd048
    001fd03fadd rsp, 40
    001fd043ret
    001fd044call fn_f4590
    001fd049db 0x43
    001fd04ajne 0x1fd03b
    001fd04cdb 0xff
    001fd000
    001fd04d
    001fd04d // align 0x10
    001fd050
    001fd050caml_ba_get_generic:
    001fd050mov rdx, [rsi-8]
    001fd054shr rdx, 10
    001fd058jmp 0x1fccc0
    001fd05ddb 0x5f
    001fd05ecld
    001fd05fdb 0xff
    001fd060db 0xff
    001fd050
    001fd061
    001fd061 // align 0x10
    001fd070
    001fd070caml_ba_uint8_get16:
    001fd070sar rsi, 1
    001fd073js 0x1fd0a0
    001fd075mov rax, [rdi+40]
    001fd079sub rax, 1
    001fd07dcmp rax, rsi
    001fd080jle 0x1fd0a0
    001fd082mov rdx, [rdi+8]
    001fd086movzx eax, [rdx+rsi+1]
    001fd08bmovzx edx, [rdx+rsi]
    001fd08fshl eax, 8
    001fd092or eax, edx
    001fd094cdqe
    001fd096lea rax, [rax+rax+1]
    001fd09bret
    001fd09cpush rax
    001fd09dcall caml_array_bound_error
    001fd0a2db 0x5a
    001fd0a3db 0x9a
    001fd0a4add [rax], al
    001fd070
    001fd0a6
    001fd0a6 // align 0x10
    001fd0b0
    001fd0b0caml_ba_uint8_get32:
    001fd0b0sar rsi, 1
    001fd0b3js 0x1fd0f1
    001fd0b5mov rax, [rdi+40]
    001fd0b9sub rax, 3
    001fd0bdcmp rax, rsi
    001fd0c0jle 0x1fd0f1
    001fd0c2mov rax, [rdi+8]
    001fd0c6movzx edi, [rax+rsi+3]
    001fd0cbmovzx edx, [rax+rsi+2]
    001fd0d0shl edi, 24
    001fd0d3shl edx, 16
    001fd0d6or edi, edx
    001fd0d8movzx edx, [rax+rsi]
    001fd0dcmovzx eax, [rax+rsi+1]
    001fd0e1or edi, edx
    001fd0e3shl eax, 8
    001fd0e6or edi, eax
    001fd0e8jmp 0x20d4a0
    001fd0edpush rax
    001fd0eecall caml_array_bound_error
    001fd0f3db 0x09
    001fd0f4db 0x9a
    001fd0f5add [rax], al
    001fd0b0
    001fd0f7
    001fd0f7 // align 0x10
    001fd100
    001fd100caml_ba_uint8_get64:
    001fd100mov rax, rsi
    001fd103sar rax, 1
    001fd106js 0x1fd17a
    001fd108mov rdx, [rdi+40]
    001fd10csub rdx, 7
    001fd110cmp rdx, rax
    001fd113jle 0x1fd17a
    001fd115mov rdx, [rdi+8]
    001fd119movzx edi, [rdx+rax+7]
    001fd11emovzx ecx, [rdx+rax+6]
    001fd123shl rdi, 56
    001fd127shl rcx, 48
    001fd12bor rdi, rcx
    001fd12emovzx ecx, [rdx+rax]
    001fd132or rdi, rcx
    001fd135movzx ecx, [rdx+rax+5]
    001fd13ashl rcx, 40
    001fd13eor rdi, rcx
    001fd141movzx ecx, [rdx+rax+4]
    001fd146shl rcx, 32
    001fd14aor rdi, rcx
    001fd14dmovzx ecx, [rdx+rax+3]
    001fd152shl rcx, 24
    001fd156or rdi, rcx
    001fd159movzx ecx, [rdx+rax+2]
    001fd15emovzx eax, [rdx+rax+1]
    001fd163shl rcx, 16
    001fd167shl rax, 8
    001fd16bor rdi, rcx
    001fd16eor rdi, rax
    001fd171jmp 0x20d9d0
    001fd176push rax
    001fd177call caml_array_bound_error
    001fd17cdb 0x80
    001fd17dcdq
    001fd17eadd [rax], al
    001fd100
    001fd180
    001fd180caml_ba_set_1:
    001fd180sub rsp, 24
    001fd184mov rcx, rdx
    001fd187mov edx, 1
    001fd18cmov [rsp+8], rsi
    001fd191lea rsi, [rsp+8]
    001fd196call fn_1fc560
    001fd19badd rsp, 24
    001fd19fret
    001fd1a0db 0x83
    001fd1a1db 0xc4
    001fd1a2sbb bl, al
    001fd180
    001fd1a4
    001fd1a4 // align 0x10
    001fd1b0
    001fd1b0caml_ba_set_2:
    001fd1b0sub rsp, 40
    001fd1b4mov rax, [0x28]
    001fd1bdmov [rsp+24], rax
    001fd1c2xor eax, eax
    001fd1c4mov [rsp], rsi
    001fd1c8mov rsi, rsp
    001fd1cbmov [rsp+8], rdx
    001fd1d0mov edx, 2
    001fd1d5call fn_1fc560
    001fd1damov rdx, [rsp+24]
    001fd1dfsub rdx, [0x28]
    001fd1e8jne 0x1fd1f3
    001fd1eaadd rsp, 40
    001fd1eeret
    001fd1efcall fn_f4590
    001fd1f4db 0x98
    001fd1f5jae 0x1fd1e6
    001fd1f7db 0xff
    001fd1b0
    001fd1f8
    001fd1f8 // align 0x10
    001fd200
    001fd200caml_ba_set_3:
    001fd200sub rsp, 40
    001fd204mov rax, rcx
    001fd207mov rcx, [0x28]
    001fd210mov [rsp+24], rcx
    001fd215mov rcx, r8
    001fd218mov [rsp], rsi
    001fd21cmov rsi, rsp
    001fd21fmov [rsp+8], rdx
    001fd224mov edx, 3
    001fd229mov [rsp+16], rax
    001fd22ecall fn_1fc560
    001fd233mov rdx, [rsp+24]
    001fd238sub rdx, [0x28]
    001fd241jne 0x1fd24c
    001fd243add rsp, 40
    001fd247ret
    001fd248call fn_f4590
    001fd24ddb 0x3f
    001fd24ejae 0x1fd23f
    001fd250db 0xff
    001fd200
    001fd251
    001fd251 // align 0x10
    001fd260
    001fd260caml_ba_set_N:
    001fd260sub edx, 1
    001fd263movsxd rdx, edx
    001fd266mov rcx, [rsi+8*rdx]
    001fd26ajmp 0x1fc560
    001fd26fdb 0xed
    001fd270db 0xf2
    001fd271db 0xff
    001fd272db 0xff
    001fd260
    001fd273
    001fd273 // align 0x10
    001fd280
    001fd280caml_ba_set_generic:
    001fd280mov rcx, rdx
    001fd283mov rdx, [rsi-8]
    001fd287shr rdx, 10
    001fd28bjmp 0x1fc560
    001fd290db 0xcc
    001fd291db 0xf2
    001fd292db 0xff
    001fd293db 0xff
    001fd280
    001fd294
    001fd294 // align 0x10
    001fd2a0
    001fd2a0caml_ba_uint8_set16:
    001fd2a0sar rsi, 1
    001fd2a3js 0x1fd2d5
    001fd2a5mov rax, [rdi+40]
    001fd2a9sub rax, 1
    001fd2adcmp rax, rsi
    001fd2b0jle 0x1fd2d5
    001fd2b2mov rax, [rdi+8]
    001fd2b6mov rcx, rdx
    001fd2b9sar rdx, 9
    001fd2bdsar rcx, 1
    001fd2c0mov [rax+rsi], cl
    001fd2c3mov rax, [rdi+8]
    001fd2c7mov [rax+rsi+1], dl
    001fd2cbmov eax, 1
    001fd2d0ret
    001fd2d1push rax
    001fd2d2call caml_array_bound_error
    001fd2d7db 0x25
    001fd2d8cwde
    001fd2d9add [rax], al
    001fd2a0
    001fd2db
    001fd2db // align 0x10
    001fd2e0
    001fd2e0caml_ba_uint8_set32:
    001fd2e0sar rsi, 1
    001fd2e3js 0x1fd32e
    001fd2e5mov rcx, [rdi+40]
    001fd2e9mov rax, rdi
    001fd2ecsub rcx, 3
    001fd2f0cmp rcx, rsi
    001fd2f3jle 0x1fd32e
    001fd2f5movsxd rdx, [rdx+8]
    001fd2f9mov rdi, [rdi+8]
    001fd2fdmov [rdi+rsi], dl
    001fd300mov rdi, [rax+8]
    001fd304mov [rdi+rsi+1], dh
    001fd308mov rdi, rdx
    001fd30bmov rcx, [rax+8]
    001fd30fsar rdx, 24
    001fd313sar rdi, 16
    001fd317mov [rcx+rsi+2], dil
    001fd31cmov rax, [rax+8]
    001fd320mov [rax+rsi+3], dl
    001fd324mov eax, 1
    001fd329ret
    001fd32apush rax
    001fd32bcall caml_array_bound_error
    001fd330db 0xcc
    001fd331xchg eax, edi
    001fd332add [rax], al
    001fd2e0
    001fd334
    001fd334 // align 0x10
    001fd340
    001fd340caml_ba_uint8_set64:
    001fd340mov rax, rsi
    001fd343sar rax, 1
    001fd346js 0x1fd3d2
    001fd34cmov rcx, [rdi+40]
    001fd350sub rcx, 7
    001fd354cmp rcx, rax
    001fd357jle 0x1fd3d2
    001fd359mov rdx, [rdx+8]
    001fd35dmov rcx, [rdi+8]
    001fd361mov [rcx+rax], dl
    001fd364mov rcx, [rdi+8]
    001fd368mov rsi, rdx
    001fd36bsar rsi, 16
    001fd36fmov [rcx+rax+1], dh
    001fd373mov rcx, [rdi+8]
    001fd377mov [rcx+rax+2], sil
    001fd37cmov rsi, rdx
    001fd37fmov rcx, [rdi+8]
    001fd383sar rsi, 24
    001fd387mov [rcx+rax+3], sil
    001fd38cmov rsi, rdx
    001fd38fmov rcx, [rdi+8]
    001fd393sar rsi, 32
    001fd397mov [rcx+rax+4], sil
    001fd39cmov rsi, rdx
    001fd39fmov rcx, [rdi+8]
    001fd3a3sar rsi, 40
    001fd3a7mov [rcx+rax+5], sil
    001fd3acmov rsi, rdx
    001fd3afmov rcx, [rdi+8]
    001fd3b3shr rdx, 56
    001fd3b7sar rsi, 48
    001fd3bbmov [rcx+rax+6], sil
    001fd3c0mov rcx, [rdi+8]
    001fd3c4mov [rcx+rax+7], dl
    001fd3c8mov eax, 1
    001fd3cdret
    001fd3cepush rax
    001fd3cfcall caml_array_bound_error
    001fd3d4db 0x28
    001fd3d5xchg eax, edi
    001fd3d6add [rax], al
    001fd340
    001fd3d8
    001fd3d8 // align 0x10
    001fd3e0
    001fd3e0caml_ba_num_dims:
    001fd3e0mov rax, [rdi+16]
    001fd3e4lea rax, [rax+rax+1]
    001fd3e9ret
    001fd3eadb 0x44
    001fd3ebadd [rcx], al
    001fd3edret
    001fd3e0
    001fd3ee
    001fd3ee // align 0x10
    001fd3f0
    001fd3f0caml_ba_dim:
    001fd3f0add rdi, 8
    001fd3f4sar rsi, 1
    001fd3f7js 0x1fd40e
    001fd3f9cmp [rdi+8], rsi
    001fd3fdjle 0x1fd40e
    001fd3ffmov rax, [rdi+8*rsi+32]
    001fd404lea rax, [rax+rax+1]
    001fd409ret
    001fd40apush rax
    001fd40blea rdi, [rip+0x31906]
    001fd412call caml_invalid_argument
    001fd417db 0xe5
    001fd418xchg eax, ebp
    001fd419add [rax], al
    001fd3f0
    001fd41b
    001fd41b // align 0x10
    001fd420
    001fd420caml_ba_dim_1:
    001fd420cmp [rdi+16], 0
    001fd425jle 0x1fd435
    001fd427mov rax, [rdi+40]
    001fd42blea rax, [rax+rax+1]
    001fd430ret
    001fd431push rax
    001fd432lea rdi, [rip+0x318df]
    001fd439call caml_invalid_argument
    001fd43edb 0xbe
    001fd43fxchg eax, ebp
    001fd440add [rax], al
    001fd420
    001fd442
    001fd442 // align 0x10
    001fd450
    001fd450caml_ba_dim_2:
    001fd450cmp [rdi+16], 1
    001fd455jle 0x1fd465
    001fd457mov rax, [rdi+48]
    001fd45blea rax, [rax+rax+1]
    001fd460ret
    001fd461push rax
    001fd462lea rdi, [rip+0x318af]
    001fd469call caml_invalid_argument
    001fd46edb 0x8e
    001fd46fxchg eax, ebp
    001fd470add [rax], al
    001fd450
    001fd472
    001fd472 // align 0x10
    001fd480
    001fd480caml_ba_dim_3:
    001fd480cmp [rdi+16], 2
    001fd485jle 0x1fd495
    001fd487mov rax, [rdi+56]
    001fd48blea rax, [rax+rax+1]
    001fd490ret
    001fd491push rax
    001fd492lea rdi, [rip+0x3187f]
    001fd499call caml_invalid_argument
    001fd49edb 0x5e
    001fd49fxchg eax, ebp
    001fd4a0add [rax], al
    001fd480
    001fd4a2
    001fd4a2 // align 0x10
    001fd4b0
    001fd4b0caml_ba_kind:
    001fd4b0mov rax, [rdi+24]
    001fd4b4add rax, rax
    001fd4b7and eax, 510
    001fd4bcadd rax, 1
    001fd4c0ret
    001fd4c1db 0x83
    001fd4c2rol [rcx], -61
    001fd4b0
    001fd4c5
    001fd4c5 // align 0x10
    001fd4d0
    001fd4d0caml_ba_layout:
    001fd4d0mov rax, [rdi+24]
    001fd4d4sar eax, 8
    001fd4d7and eax, 1
    001fd4dalea rax, [rax+rax+1]
    001fd4dfret
    001fd4e0db 0x44
    001fd4e1add [rcx], al
    001fd4e3ret
    001fd4d0
    001fd4e4
    001fd4e4 // align 0x20
    001fd500
    001fd500caml_ba_slice:
    001fd500push r15
    001fd502push r14
    001fd504push r13
    001fd506push r12
    001fd508push rbp
    001fd509push rbx
    001fd50asub rsp, 328
    001fd511movdqa x0, [rip+0x2cbb3]
    001fd519mov [rsp+24], rdi
    001fd51emov [rsp+16], rsi
    001fd523mov rax, [0x28]
    001fd52cmov [rsp+312], rax
    001fd534mov rax, [rip+0x78aa9]
    001fd53bmov r13, [rax]
    001fd53flea rax, [rsp+24]
    001fd544movups [rsp+56], x0
    001fd549mov [rsp+40], 1
    001fd552movq x0, rax
    001fd557lea rax, [rsp+16]
    001fd55cmovq x1, rax
    001fd561lea rax, [rsp+48]
    001fd566mov rbx, [r13+160]
    001fd56dmov [rsp+112], rax
    001fd572lea rax, [rsp+112]
    001fd577punpcklqdq x0, x1
    001fd57bmov [r13+160], rax
    001fd582mov eax, 1
    001fd587movups [rsp+72], x0
    001fd58cmovq x0, rax
    001fd591lea rax, [rsp+40]
    001fd596punpcklqdq x0, x0
    001fd59amov [rsp+48], rbx
    001fd59fmov [rsp+136], rax
    001fd5a7movups [rsp+120], x0
    001fd5acmov r12, [rsi-8]
    001fd5b0mov r15, [rsp+24]
    001fd5b5shr r12, 10
    001fd5b9mov rbp, [r15+16]
    001fd5bdlea rcx, [r15+8]
    001fd5c1movsxd r8, r12l
    001fd5c4cmp r8, rbp
    001fd5c7jg 0x1fd7c5
    001fd5cdmov r14, [rcx+16]
    001fd5d1mov rax, rsi
    001fd5d4test r14l, 256
    001fd5dbje 0x1fd698
    001fd5e1mov rdi, rbp
    001fd5e4sub rdi, r8
    001fd5e7test r12l, r12l
    001fd5eajle 0x1fd7b8
    001fd5f0lea edx, [r12-1]
    001fd5f5lea r8, [8*rdi]
    001fd5fdlea r9, [rsi+8*rdx+8]
    001fd602sub r8, rax
    001fd605lea rsi, [rsp+176]
    001fd60dadd r8, rsi
    001fd610nop [rax+rax]
    001fd61bnop
    001fd61cmov rdx, [rax]
    001fd61fsar rdx, 1
    001fd622mov [r8+rax], rdx
    001fd626add rax, 8
    001fd62acmp rax, r9
    001fd62djne 0x1fd620
    001fd62fmov rax, rsi
    001fd632lea rdx, [rsi+8*rdi]
    001fd636test rdi, rdi
    001fd639jle 0x1fd678
    001fd63bmov rdi, rdx
    001fd63esub rdi, rsi
    001fd641and edi, 8
    001fd644je 0x1fd660
    001fd646lea rax, [rsi+8]
    001fd64amov [rsi], 1
    001fd651cmp rax, rdx
    001fd654je 0x1fd678
    001fd656nop [rax+rax]
    001fd65cmov [rax], 1
    001fd663add rax, 16
    001fd667mov [rax-8], 1
    001fd66fcmp rax, rdx
    001fd672jne 0x1fd660
    001fd674mov rdi, rcx
    001fd677mov [rsp], rcx
    001fd67bcall fn_1fbf00
    001fd680mov rcx, [rsp]
    001fd684add rcx, 32
    001fd688jmp 0x1fd716
    001fd68ddb 0x85
    001fd68eadd [rax], al
    001fd690db 0x00
    001fd691
    001fd691 0f 1f 80 00 00 00 00 .......
    001fd698
    001fd698loc_1fd698:
    001fd698test r12l, r12l
    001fd69bjle 0x1fd7a0
    001fd6a1lea edx, [r12-1]
    001fd6a6mov rdi, r8
    001fd6a9lea r9, [rsi+8*rdx+8]
    001fd6aelea rsi, [rsp+176]
    001fd6b6mov r10, rsi
    001fd6b9sub r10, rax
    001fd6bcnop [rax]
    001fd6c0
    001fd6c0loc_1fd6c0:
    001fd6c0mov rdx, [rax]
    001fd6c3sar rdx, 1
    001fd6c6mov [r10+rax], rdx
    001fd6caadd rax, 8
    001fd6cecmp r9, rax
    001fd6d1jne 0x1fd6c0
    001fd6d3mov eax, r12l
    001fd6d6
    001fd6d6loc_1fd6d6:
    001fd6d6movsxd rdx, eax
    001fd6d9cmp rbp, rdi
    001fd6dcjle 0x1fd6f7
    001fd6denop
    001fd6e0
    001fd6e0loc_1fd6e0:
    001fd6e0mov [rsp+8*rdx+176], 0
    001fd6ecadd eax, 1
    001fd6efmovsxd rdx, eax
    001fd6f2cmp rbp, rdx
    001fd6f5jg 0x1fd6e0
    001fd6f7
    001fd6f7loc_1fd6f7:
    001fd6f7mov rdi, rcx
    001fd6famov [rsp+8], r8
    001fd6ffmov [rsp], rcx
    001fd703call fn_1fbf00
    001fd708mov rcx, [rsp]
    001fd70cmov r8, [rsp+8]
    001fd711lea rcx, [rcx+8*r8+32]
    001fd716
    001fd716loc_1fd716:
    001fd716movzx esi, r14b
    001fd71alea rdx, [rip+0x17ab7f]
    001fd721mov edi, r14l
    001fd724movsxd rdx, [rdx+4*rsi]
    001fd728mov esi, ebp
    001fd72aor edi, 2048
    001fd730sub esi, r12l
    001fd733imul rdx, rax
    001fd737add rdx, [r15+8]
    001fd73bcall caml_ba_alloc
    001fd740mov rdx, [rsp+24]
    001fd745mov [rsp+40], rax
    001fd74amov rdx, [rdx]
    001fd74dmov [rax], rdx
    001fd750mov rax, [rsp+40]
    001fd755lea rsi, [rax+8]
    001fd759mov rax, [rsp+24]
    001fd75elea rdi, [rax+8]
    001fd762call fn_1fc480
    001fd767mov [r13+160], rbx
    001fd76emov rax, [rsp+40]
    001fd773mov rdx, [rsp+312]
    001fd77bsub rdx, [0x28]
    001fd784jne 0x1fd7d1
    001fd786add rsp, 328
    001fd78dpop rbx
    001fd78epop rbp
    001fd78fpop r12
    001fd791pop r13
    001fd793pop r14
    001fd795pop r15
    001fd797ret
    001fd798
    001fd798 0f 1f 84 00 00 00 00 00 ........
    001fd7a0
    001fd7a0loc_1fd7a0:
    001fd7a0xor edi, edi
    001fd7a2xor eax, eax
    001fd7a4lea rsi, [rsp+176]
    001fd7acjmp 0x1fd6d6
    001fd7b1
    001fd7b1 0f 1f 80 00 00 00 00 .......
    001fd7b8
    001fd7b8loc_1fd7b8:
    001fd7b8lea rsi, [rsp+176]
    001fd7c0jmp 0x1fd633
    001fd7c5
    001fd7c5loc_1fd7c5:
    001fd7c5lea rdi, [rip+0x32364]
    001fd7cccall caml_invalid_argument
    001fd7d1
    001fd7d1loc_1fd7d1:
    001fd7d1call fn_f4590
    001fd500
    001fd7d6
    001fd7d6 // align 0x10
    001fd7e0
    001fd7e0caml_ba_change_layout:
    001fd7e0push rbp
    001fd7e1lea r9, [rdi+8]
    001fd7e5mov rdx, rsi
    001fd7e8push rbx
    001fd7e9sar rdx, 1
    001fd7ecshl edx, 8
    001fd7efsub rsp, 312
    001fd7f6movdqa x0, [rip+0x2c8ce]
    001fd7femov [rsp+8], rdi
    001fd803movq x1, rsp
    001fd808mov [rsp], rsi
    001fd80cmovsxd rsi, edx
    001fd80fmov rax, [0x28]
    001fd818mov [rsp+296], rax
    001fd820mov rax, [rip+0x787bd]
    001fd827mov rbx, [rax]
    001fd82blea rax, [rsp+8]
    001fd830movups [rsp+40], x0
    001fd835mov [rsp+24], 1
    001fd83emovq x0, rax
    001fd843lea rax, [rsp+32]
    001fd848mov [rsp+96], rax
    001fd84dlea rax, [rsp+96]
    001fd852mov rbp, [rbx+160]
    001fd859punpcklqdq x0, x1
    001fd85dmov [rbx+160], rax
    001fd864mov eax, 1
    001fd869movups [rsp+56], x0
    001fd86emovq x0, rax
    001fd873lea rax, [rsp+24]
    001fd878punpcklqdq x0, x0
    001fd87cmov [rsp+120], rax
    001fd881mov rax, rdi
    001fd884movups [rsp+104], x0
    001fd889mov rdi, [r9+16]
    001fd88dmov [rsp+32], rbp
    001fd892mov rcx, rdi
    001fd895and ecx, 256
    001fd89bcmp rsi, rcx
    001fd89eje 0x1fd958
    001fd8a4mov rsi, [r9+8]
    001fd8a8and edi, 1791
    001fd8aeor edi, edx
    001fd8b0test rsi, rsi
    001fd8b3jle 0x1fd968
    001fd8b9lea r10, [rsp+160]
    001fd8c1lea rdx, [r9+8*rsi+24]
    001fd8c6add rax, 32
    001fd8camov rcx, r10
    001fd8cdnop [rax+rax]
    001fd8d8nop [rax]
    001fd8dcmov r8, [rdx]
    001fd8dfsub rdx, 8
    001fd8e3add rcx, 8
    001fd8e7mov [rcx-8], r8
    001fd8ebcmp rdx, rax
    001fd8eejne 0x1fd8e0
    001fd8f0mov rdx, [r9]
    001fd8f3or edi, 2048
    001fd8f9mov rcx, r10
    001fd8fccall caml_ba_alloc
    001fd901mov rdx, [rsp+8]
    001fd906mov [rsp+24], rax
    001fd90bmov rdx, [rdx]
    001fd90emov [rax], rdx
    001fd911mov rax, [rsp+24]
    001fd916lea rsi, [rax+8]
    001fd91amov rax, [rsp+8]
    001fd91flea rdi, [rax+8]
    001fd923call fn_1fc480
    001fd928mov [rbx+160], rbp
    001fd92fmov rax, [rsp+24]
    001fd934mov rdx, [rsp+296]
    001fd93csub rdx, [0x28]
    001fd945jne 0x1fd972
    001fd947add rsp, 312
    001fd94epop rbx
    001fd94fpop rbp
    001fd950ret
    001fd951db 0x00
    001fd952pop rbx
    001fd953pop rbp
    001fd954ret
    001fd955
    001fd955 0f 1f 00 ...
    001fd958
    001fd958loc_1fd958:
    001fd958mov [rbx+160], rbp
    001fd95fjmp 0x1fd938
    001fd961
    001fd961 0f 1f 80 00 00 00 00 .......
    001fd968
    001fd968loc_1fd968:
    001fd968lea r10, [rsp+160]
    001fd970jmp 0x1fd8f4
    001fd972
    001fd972loc_1fd972:
    001fd972call fn_f4590
    001fd7e0
    001fd977
    001fd977 // align 0x10
    001fd980
    001fd980caml_ba_sub:
    001fd980push r13
    001fd982lea rcx, [rdi+8]
    001fd986mov r11, rdi
    001fd989mov r10, rsi
    001fd98cpush r12
    001fd98esar r10, 1
    001fd991push rbp
    001fd992push rbx
    001fd993mov rbx, rdx
    001fd996sar rbx, 1
    001fd999sub rsp, 200
    001fd9a0movdqa x0, [rip+0x2c734]
    001fd9a8mov [rsp+24], rdi
    001fd9admov [rsp+16], rsi
    001fd9b2mov [rsp+8], rdx
    001fd9b7mov rax, [0x28]
    001fd9c0mov [rsp+184], rax
    001fd9c8mov rax, [rip+0x78615]
    001fd9cfmov rbp, [rax]
    001fd9d3lea rax, [rsp+24]
    001fd9d8movups [rsp+56], x0
    001fd9ddmov [rsp+40], 1
    001fd9e6movq x0, rax
    001fd9eblea rax, [rsp+16]
    001fd9f0movq x1, rax
    001fd9f5lea rax, [rsp+8]
    001fd9famov r12, [rbp+160]
    001fda01mov [rsp+88], rax
    001fda06lea rax, [rsp+48]
    001fda0bpunpcklqdq x0, x1
    001fda0fmov [rsp+112], rax
    001fda14lea rax, [rsp+112]
    001fda19mov [rbp+160], rax
    001fda20mov eax, 1
    001fda25movups [rsp+72], x0
    001fda2amovq x0, rax
    001fda2flea rax, [rsp+40]
    001fda34punpcklqdq x0, x0
    001fda38mov [rsp+136], rax
    001fda40movups [rsp+120], x0
    001fda45mov rdi, [rcx+16]
    001fda49mov rsi, [rcx+8]
    001fda4dmov [rsp+48], r12
    001fda52test edi, 256
    001fda58je 0x1fdb40
    001fda5elea rdx, [rsi-1]
    001fda62xor r9l, r9l
    001fda65mov eax, 1
    001fda6axor r8l, r8l
    001fda6dtest rdx, rdx
    001fda70jle 0x1fda92
    001fda72nop [rax+rax]
    001fda7cadd r9l, 1
    001fda80
    001fda80loc_1fda80:
    001fda80imul rax, [rcx+8*r8+32]
    001fda86movsxd r8, r9l
    001fda89cmp r8, rdx
    001fda8cjl 0x1fda80
    001fda8elea edx, [rsi-1]
    001fda91sub r10, 1
    001fda95mov r9, r10
    001fda98or r9, rbx
    001fda9bjs 0x1fdb8c
    001fdaa1movsxd rdx, edx
    001fdaa4lea r8, [r10+rbx]
    001fdaa8lea r13, [rdx+4]
    001fdaaccmp r8, [rcx+8*rdx+32]
    001fdab1jg 0x1fdb8c
    001fdab7movzx r8l, dil
    001fdabbimul r10, rax
    001fdabfadd rcx, 32
    001fdac3or edi, 2048
    001fdac9lea rdx, [rip+0x17a7cc]
    001fdad0movsxd rdx, [rdx+4*r8]
    001fdad4imul rdx, r10
    001fdad8add rdx, [r11+8]
    001fdadccall caml_ba_alloc
    001fdae1mov rdx, [rsp+24]
    001fdae6mov [rsp+40], rax
    001fdaebmov rdx, [rdx]
    001fdaeemov [rax], rdx
    001fdaf1mov rax, [rsp+40]
    001fdaf6lea rsi, [rax+8]
    001fdafamov rax, [rsp+24]
    001fdaffmov [rsi+8*r13], rbx
    001fdb03lea rdi, [rax+8]
    001fdb07call fn_1fc480
    001fdb0cmov [rbp+160], r12
    001fdb13mov rax, [rsp+40]
    001fdb18mov rdx, [rsp+184]
    001fdb20sub rdx, [0x28]
    001fdb29jne 0x1fdb98
    001fdb2badd rsp, 200
    001fdb32pop rbx
    001fdb33pop rbp
    001fdb34pop r12
    001fdb36pop r13
    001fdb38ret
    001fdb39db 0x5c
    001fdb3apop r13
    001fdb3cret
    001fdb3d
    001fdb3d 0f 1f 00 ...
    001fdb40
    001fdb40loc_1fdb40:
    001fdb40cmp rsi, 1
    001fdb44jle 0x1fdb80
    001fdb46mov r9l, 1
    001fdb4cmov eax, 1
    001fdb51mov r8l, 1
    001fdb57nop [rax+rax]
    001fdb60
    001fdb60loc_1fdb60:
    001fdb60add r9l, 1
    001fdb64imul rax, [rcx+8*r8+32]
    001fdb6amovsxd r8, r9l
    001fdb6dcmp r8, rsi
    001fdb70jl 0x1fdb60
    001fdb72xor edx, edx
    001fdb74jmp 0x1fda99
    001fdb79
    001fdb79 0f 1f 80 00 00 00 00 .......
    001fdb80
    001fdb80loc_1fdb80:
    001fdb80mov eax, 1
    001fdb85xor edx, edx
    001fdb87jmp 0x1fda99
    001fdb8c
    001fdb8cloc_1fdb8c:
    001fdb8clea rdi, [rip+0x31196]
    001fdb93call caml_invalid_argument
    001fdb98
    001fdb98loc_1fdb98:
    001fdb98call fn_f4590
    001fd980
    001fdb9d
    001fdb9d // align 0x10
    001fdba0
    001fdba0caml_ba_blit:
    001fdba0push r14
    001fdba2mov rdx, rdi
    001fdba5lea rcx, [rdi+8]
    001fdba9push r13
    001fdbabpush r12
    001fdbadpush rbp
    001fdbaepush rbx
    001fdbafsub rsp, 96
    001fdbb3movdqa x0, [rip+0x2c511]
    001fdbbbmov [rsp+8], rdi
    001fdbc0movq x1, rsp
    001fdbc5lea rdi, [rsi+8]
    001fdbc9mov [rsp], rsi
    001fdbcdmov rax, [0x28]
    001fdbd6mov [rsp+88], rax
    001fdbdbmov rax, [rip+0x78402]
    001fdbe2mov rbp, [rax]
    001fdbe6lea rax, [rsp+16]
    001fdbebmovups [rsp+24], x0
    001fdbf0mov r12, [rbp+160]
    001fdbf7mov [rbp+160], rax
    001fdbfelea rax, [rsp+8]
    001fdc03movq x0, rax
    001fdc08mov rax, rsi
    001fdc0bpunpcklqdq x0, x1
    001fdc0fmov [rsp+16], r12
    001fdc14movups [rsp+40], x0
    001fdc19mov r13, [rsi+8]
    001fdc1dmov r14, [rdx+8]
    001fdc21mov rsi, [rcx+8]
    001fdc25cmp rsi, [rax+16]
    001fdc29jne 0x1fdd21
    001fdc2ftest rsi, rsi
    001fdc32jle 0x1fdd16
    001fdc38xor edx, edx
    001fdc3axor eax, eax
    001fdc3cmov rbx, [rdi+8*rax+32]
    001fdc41cmp [rcx+8*rax+32], rbx
    001fdc46jne 0x1fdd21
    001fdc4cadd edx, 1
    001fdc4fmovsxd rax, edx
    001fdc52cmp rsi, rax
    001fdc55jg 0x1fdc40
    001fdc57mov r8l, 1
    001fdc5dxor edx, edx
    001fdc5fxor eax, eax
    001fdc61nop [rax+rax]
    001fdc6cnop [rax+rax]
    001fdc77nop [rax+rax]
    001fdc7cadd edx, 1
    001fdc7fimul r8, [rcx+8*rax+32]
    001fdc85movsxd rax, edx
    001fdc88cmp rsi, rax
    001fdc8bjg 0x1fdc80
    001fdc8dmov rax, [rcx+16]
    001fdc91
    001fdc91loc_1fdc91:
    001fdc91lea rdx, [rip+0x17a604]
    001fdc98movzx ecx, al
    001fdc9bmovsxd rbx, [rdx+4*rcx]
    001fdc9fimul rbx, r8
    001fdca3cmp rbx, 32767
    001fdcaaja 0x1fdcb5
    001fdcactest ah, 4
    001fdcafje 0x1fdd00
    001fdcb1call caml_enter_blocking_section
    001fdcb6mov rdx, rbx
    001fdcb9mov rsi, r14
    001fdcbcmov rdi, r13
    001fdcbfcall fn_f4520
    001fdcc4call caml_leave_blocking_section
    001fdcc9mov [rbp+160], r12
    001fdcd0mov rax, [rsp+88]
    001fdcd5sub rax, [0x28]
    001fdcdejne 0x1fdd2d
    001fdce0add rsp, 96
    001fdce4mov eax, 1
    001fdce9pop rbx
    001fdceapop rbp
    001fdcebpop r12
    001fdcedpop r13
    001fdcefpop r14
    001fdcf1ret
    001fdcf2db 0x5d
    001fdcf3pop r14
    001fdcf5ret
    001fdcf6
    001fdcf6 66 2e 0f 1f 84 00 00 00 00 00 f.........
    001fdd00
    001fdd00loc_1fdd00:
    001fdd00test [rdi+17], 4
    001fdd04jne 0x1fdcb5
    001fdd06mov rdx, rbx
    001fdd09mov rsi, r14
    001fdd0cmov rdi, r13
    001fdd0fcall fn_f4520
    001fdd14jmp 0x1fdccd
    001fdd16
    001fdd16loc_1fdd16:
    001fdd16mov r8l, 1
    001fdd1cjmp 0x1fdc91
    001fdd21
    001fdd21loc_1fdd21:
    001fdd21lea rdi, [rip+0x31e30]
    001fdd28call caml_invalid_argument
    001fdd2d
    001fdd2dloc_1fdd2d:
    001fdd2dcall fn_f4590
    001fdba0
    001fdd32
    001fdd32 // align 0x10
    001fdd40
    001fdd40caml_ba_fill:
    001fdd40push r15
    001fdd42push r14
    001fdd44push r13
    001fdd46push r12
    001fdd48push rbp
    001fdd49push rbx
    001fdd4asub rsp, 120
    001fdd4emov rax, [rip+0x7828f]
    001fdd55mov [rsp+24], rdi
    001fdd5amov rdi, [0x28]
    001fdd63mov [rsp+104], rdi
    001fdd68mov rdi, rsi
    001fdd6bmov r13, [rax]
    001fdd6flea rax, [rsp+32]
    001fdd74mov r14, [r13+160]
    001fdd7bmov [r13+160], rax
    001fdd82mov eax, 1
    001fdd87movq x0, rax
    001fdd8clea rax, [rsp+24]
    001fdd91mov [rsp+56], rax
    001fdd96mov rax, [rsp+24]
    001fdd9bpunpcklqdq x0, x0
    001fdd9fmovups [rsp+40], x0
    001fdda4mov rsi, [rax+16]
    001fdda8mov [rsp+32], r14
    001fddadlea rcx, [rax+8]
    001fddb1mov rbp, [rax+8]
    001fddb5test rsi, rsi
    001fddb8jle 0x1fe360
    001fddbemov ebx, 1
    001fddc3xor edx, edx
    001fddc5xor eax, eax
    001fddc7nop [rax+rax]
    001fddd2nop [rax+rax]
    001fdddcadd edx, 1
    001fdddfimul rbx, [rcx+8*rax+32]
    001fdde5movsxd rax, edx
    001fdde8cmp rax, rsi
    001fddebjl 0x1fdde0
    001fddedmov rax, [rcx+16]
    001fddf1mov r12, rbx
    001fddf4movzx edx, al
    001fddf7cmp al, 13
    001fddf9ja 0xf488e
    001fddfflea rcx, [rip+0x33a2a]
    001fde06movsxd rdx, [rcx+4*rdx]
    001fde0aadd rdx, rcx
    001fde0djmp rdx
    001fde10nop [rax]
    001fde14sar rdi, 1
    001fde17mov r15, rdi
    001fde1acmp rbx, 4095
    001fde21jg 0x1fe456
    001fde27test ah, 4
    001fde2aje 0x1fe61a
    001fde30call caml_enter_blocking_section
    001fde35test rbx, rbx
    001fde38jle 0x1fdfa8
    001fde3emovzx esi, r15b
    001fde42
    001fde42loc_1fde42:
    001fde42mov rdx, r12
    001fde45mov rdi, rbp
    001fde48call fn_f40e0
    001fde4djmp 0x1fdfa8
    001fde52nop [rax+rax]
    001fde5csar rdi, 1
    001fde5fmov r15, rdi
    001fde62cmp rbx, 4095
    001fde69jg 0x1fe5ec
    001fde6ftest ah, 4
    001fde72je 0x1fe427
    001fde78call caml_enter_blocking_section
    001fde7dtest rbx, rbx
    001fde80jle 0x1fdfa8
    001fde86mov ecx, 1
    001fde8blea rdx, [rbp+2*r12]
    001fde90and r12l, 1
    001fde94mov eax, r15l
    001fde97je 0x1fdec0
    001fde99mov [rbp], r15w
    001fde9eadd rbp, 2
    001fdea2cmp rbp, rdx
    001fdea5je 0x1fded1
    001fdea7nop [rax+rax]
    001fdeb2nop [rax+rax]
    001fdebcmov [rbp], ax
    001fdec0
    001fdec0loc_1fdec0:
    001fdec0add rbp, 4
    001fdec4mov [rbp-2], ax
    001fdec8cmp rbp, rdx
    001fdecbjne 0x1fdec0
    001fdecdtest ecx, ecx
    001fdecfje 0x1fe1b0
    001fded5jmp 0x1fdfa8
    001fdedamov r12l, 1
    001fdee0pxor x1, x1
    001fdee4cvtsd2ss x1, [rdi]
    001fdee8movd edx, x1
    001fdeecmov ebx, edx
    001fdeeeand ebx, 0x7fffffff
    001fdef4cmp ebx, 0x477fffff
    001fdefaja 0x1fe380
    001fdf00cmp ebx, 0x387fffff
    001fdf06ja 0x1fe637
    001fdf0cmovd x2, ebx
    001fdf10addss x2, [rip+0x2c0f0]
    001fdf18movd ebx, x2
    001fdf1cshr edx, 16
    001fdf1fand edx, 32768
    001fdf25or ebx, edx
    001fdf27cmp r12, 4095
    001fdf2ejg 0x1fe5e2
    001fdf34test ah, 4
    001fdf37je 0x1fe60a
    001fdf3dcall caml_enter_blocking_section
    001fdf42test r12, r12
    001fdf45jle 0x1fdfa8
    001fdf47mov edx, 1
    001fdf4clea rax, [rbp+2*r12]
    001fdf51and r12l, 1
    001fdf55je 0x1fdf80
    001fdf57mov [rbp], bx
    001fdf5badd rbp, 2
    001fdf5fcmp rax, rbp
    001fdf62je 0x1fdfa0
    001fdf64nop [rax+rax]
    001fdf6fnop [rax+rax]
    001fdf7anop
    001fdf7cmov [rbp], bx
    001fdf80
    001fdf80loc_1fdf80:
    001fdf80add rbp, 4
    001fdf84mov [rbp-2], bx
    001fdf88cmp rax, rbp
    001fdf8bjne 0x1fdf80
    001fdf8dnop [rax+rax]
    001fdf98nop [rax]
    001fdf9ctest edx, edx
    001fdf9eje 0x1fe1b0
    001fdfa4call caml_leave_blocking_section
    001fdfa9jmp 0x1fe1b0
    001fdfaemov r15, [rdi+8]
    001fdfb2cmp rbx, 4095
    001fdfb9jg 0x1fe5f6
    001fdfbftest ah, 4
    001fdfc2jne 0x1fe3df
    001fdfc8test rbx, rbx
    001fdfcbjle 0x1fe1b0
    001fdfd1xor edx, edx
    001fdfd3xor eax, eax
    001fdfd5test r12b, 1
    001fdfd9je 0x1fe000
    001fdfdbmov [rbp], r15
    001fdfdfmov eax, 1
    001fdfe4cmp r12, 1
    001fdfe8je 0x1fdfa0
    001fdfeanop [rax+rax]
    001fdff5nop [rax]
    001fdffcmov [rbp+8*rax], r15
    001fe001mov [rbp+8*rax+8], r15
    001fe006add rax, 2
    001fe00acmp r12, rax
    001fe00djne 0x1fe000
    001fe00fjmp 0x1fdfa0
    001fe011sar rdi, 1
    001fe014mov r15, rdi
    001fe017cmp rbx, 4095
    001fe01ejg 0x1fe5d8
    001fe024test ah, 4
    001fe027je 0x1fe3bf
    001fe02dcall caml_enter_blocking_section
    001fe032test rbx, rbx
    001fe035jle 0x1fdfa8
    001fe03bmov edx, 1
    001fe040xor eax, eax
    001fe042test r12b, 1
    001fe046je 0x1fe060
    001fe048mov eax, 1
    001fe04dmov [rbp], r15
    001fe051cmp rax, r12
    001fe054je 0x1fdfa0
    001fe05anop
    001fe05cmov [rbp+8*rax], r15
    001fe061mov [rbp+8*rax+8], r15
    001fe066add rax, 2
    001fe06acmp rax, r12
    001fe06djne 0x1fe060
    001fe06fjmp 0x1fdfa0
    001fe074mov r15, [rdi+8]
    001fe078cmp rbx, 4095
    001fe07fjg 0x1fe5a6
    001fe085test ah, 4
    001fe088jne 0x1fe3a7
    001fe08etest rbx, rbx
    001fe091jle 0x1fe1b0
    001fe097xor edx, edx
    001fe099xor eax, eax
    001fe09btest r12b, 1
    001fe09fje 0x1fe0c0
    001fe0a1mov [rbp], r15
    001fe0a5mov eax, 1
    001fe0aacmp r12, 1
    001fe0aeje 0x1fdfa0
    001fe0b4nop [rax+rax]
    001fe0bcmov [rbp+8*rax], r15
    001fe0c1mov [rbp+8*rax+8], r15
    001fe0c6add rax, 2
    001fe0cacmp r12, rax
    001fe0cdjne 0x1fe0c0
    001fe0cfjmp 0x1fdfa0
    001fe0d4movupd x0, [rdi]
    001fe0d8lea rdx, [rbx+rbx]
    001fe0dccvtpd2ps x0, x0
    001fe0e0cmp rdx, 4095
    001fe0e7jg 0x1fe0f6
    001fe0e9test ah, 4
    001fe0ecje 0x1fe3f7
    001fe0f2movlps [rsp], x0
    001fe0f6
    001fe0f6loc_1fe0f6:
    001fe0f6call caml_enter_blocking_section
    001fe0fbtest rbx, rbx
    001fe0femovq x0, [rsp]
    001fe103mov edx, 1
    001fe108jle 0x1fdfa8
    001fe10exor eax, eax
    001fe110test r12b, 1
    001fe114je 0x1fe140
    001fe116mov eax, 1
    001fe11bmovlps [rbp], x0
    001fe11fcmp rax, r12
    001fe122je 0x1fdfa0
    001fe128nop [rax+rax]
    001fe133nop [rax+rax]
    001fe13cmovlps [rbp+8*rax], x0
    001fe141movlps [rbp+8*rax+8], x0
    001fe146add rax, 2
    001fe14acmp rax, r12
    001fe14djne 0x1fe140
    001fe14fjmp 0x1fdfa0
    001fe154lea rdx, [rbx+rbx]
    001fe158movupd x0, [rdi]
    001fe15ccmp rdx, 4095
    001fe163jg 0x1fe172
    001fe165test ah, 4
    001fe168je 0x1fe407
    001fe16emovaps [rsp], x0
    001fe172
    001fe172loc_1fe172:
    001fe172call caml_enter_blocking_section
    001fe177test rbx, rbx
    001fe17amovapd x0, [rsp]
    001fe17fmov eax, 1
    001fe184jle 0x1fdfa8
    001fe18anop
    001fe18cadd rbp, 16
    001fe190
    001fe190loc_1fe190:
    001fe190movups [rbp-16], x0
    001fe194sub r12, 1
    001fe198jne 0x1fe190
    001fe19atest eax, eax
    001fe19cjne 0x1fdfa8
    001fe1a2nop [rax+rax]
    001fe1acmov [r13+160], r14
    001fe1b3mov rax, [rsp+104]
    001fe1b8sub rax, [0x28]
    001fe1c1jne 0x1fe6cb
    001fe1c7add rsp, 120
    001fe1cbmov eax, 1
    001fe1d0pop rbx
    001fe1d1pop rbp
    001fe1d2pop r12
    001fe1d4pop r13
    001fe1d6pop r14
    001fe1d8pop r15
    001fe1daret
    001fe1dbmovsd_xmm x0, [rdi]
    001fe1dfcmp rbx, 4095
    001fe1e6jg 0x1fe5b0
    001fe1ectest ah, 4
    001fe1efje 0x1fe397
    001fe1f5movsd_xmm [rsp], x0
    001fe1facall caml_enter_blocking_section
    001fe1fftest rbx, rbx
    001fe202movsd_xmm x0, [rsp]
    001fe207jle 0x1fdfa8
    001fe20dmov edx, 1
    001fe212xor eax, eax
    001fe214test r12b, 1
    001fe218je 0x1fe240
    001fe21amovsd_xmm [rbp], x0
    001fe21fmov eax, 1
    001fe224cmp r12, 1
    001fe228je 0x1fdfa0
    001fe22enop [rax+rax]
    001fe239nop [rax]
    001fe23cmovsd_xmm [rbp+8*rax], x0
    001fe242movsd_xmm [rbp+8*rax+8], x0
    001fe248add rax, 2
    001fe24ccmp r12, rax
    001fe24fjne 0x1fe240
    001fe251jmp 0x1fdfa0
    001fe256mov r15l, [rdi+8]
    001fe25acmp rbx, 4095
    001fe261jg 0x1fe600
    001fe267test ah, 4
    001fe26aje 0x1fe3cf
    001fe270call caml_enter_blocking_section
    001fe275test rbx, rbx
    001fe278jle 0x1fdfa8
    001fe27emov edx, 1
    001fe283xor eax, eax
    001fe285test r12b, 1
    001fe289je 0x1fe2c0
    001fe28bmov [rbp], r15l
    001fe28fmov eax, 1
    001fe294cmp r12, 1
    001fe298je 0x1fdfa0
    001fe29enop [rax+rax]
    001fe2a9nop [rax+rax]
    001fe2b4nop [rax+rax]
    001fe2bcmov [rbp+4*rax], r15l
    001fe2c1mov [rbp+4*rax+4], r15l
    001fe2c6add rax, 2
    001fe2cacmp r12, rax
    001fe2cdjne 0x1fe2c0
    001fe2cfjmp 0x1fdfa0
    001fe2d4pxor x0, x0
    001fe2d8cvtsd2ss x0, [rdi]
    001fe2dccmp rbx, 4095
    001fe2e3jg 0x1fe5c4
    001fe2e9test ah, 4
    001fe2ecje 0x1fe417
    001fe2f2movss [rsp], x0
    001fe2f7call caml_enter_blocking_section
    001fe2fctest rbx, rbx
    001fe2ffmovss x0, [rsp]
    001fe304jle 0x1fdfa8
    001fe30amov edx, 1
    001fe30fxor eax, eax
    001fe311test r12b, 1
    001fe315je 0x1fe340
    001fe317mov eax, 1
    001fe31cmovss [rbp], x0
    001fe321cmp rax, r12
    001fe324je 0x1fdfa0
    001fe32anop [rax+rax]
    001fe335nop [rax]
    001fe33cmovss [rbp+4*rax], x0
    001fe342movss [rbp+4*rax+4], x0
    001fe348add rax, 2
    001fe34ccmp rax, r12
    001fe34fjne 0x1fe340
    001fe351jmp 0x1fdfa0
    001fe356nop [rax+rax]
    001fe35cmov rax, [rcx+16]
    001fe360
    001fe360loc_1fe360:
    001fe360movzx edx, al
    001fe363cmp al, 13
    001fe365ja 0xf488e
    001fe36blea rcx, [rip+0x334f6]
    001fe372movsxd rdx, [rcx+4*rdx]
    001fe376add rdx, rcx
    001fe379jmp rdx
    001fe37ccmp ebx, 0x7f800001
    001fe382sbb ebx, ebx
    001fe384and bx, -512
    001fe389add bx, 32256
    001fe38ejmp 0x1fdf20
    001fe393test rbx, rbx
    001fe396jle 0x1fe1b0
    001fe39cxor edx, edx
    001fe39ejmp 0x1fe216
    001fe3a3call caml_enter_blocking_section
    001fe3a8test rbx, rbx
    001fe3abjle 0x1fdfa8
    001fe3b1mov edx, 1
    001fe3b6jmp 0x1fe09d
    001fe3bbtest rbx, rbx
    001fe3bejle 0x1fe1b0
    001fe3c4xor edx, edx
    001fe3c6jmp 0x1fe044
    001fe3cbtest rbx, rbx
    001fe3cejle 0x1fe1b0
    001fe3d4xor edx, edx
    001fe3d6jmp 0x1fe287
    001fe3dbcall caml_enter_blocking_section
    001fe3e0test rbx, rbx
    001fe3e3jle 0x1fdfa8
    001fe3e9mov edx, 1
    001fe3eejmp 0x1fdfd7
    001fe3f3test rbx, rbx
    001fe3f6jle 0x1fe1b0
    001fe3fcxor edx, edx
    001fe3fejmp 0x1fe112
    001fe403test rbx, rbx
    001fe406jle 0x1fe1b0
    001fe40cxor eax, eax
    001fe40ejmp 0x1fe190
    001fe413test rbx, rbx
    001fe416jle 0x1fe1b0
    001fe41cxor edx, edx
    001fe41ejmp 0x1fe313
    001fe423test rbx, rbx
    001fe426jle 0x1fe1b0
    001fe42cxor ecx, ecx
    001fe42ejmp 0x1fde8f
    001fe433sar rdi, 1
    001fe436mov r15, rdi
    001fe439test ah, 4
    001fe43cje 0x1fe64e
    001fe442call caml_enter_blocking_section
    001fe447mov r12l, 1
    001fe44djmp 0x1fde42
    001fe452call caml_enter_blocking_section
    001fe457jmp 0x1fde42
    001fe45csar rdi, 1
    001fe45fmov r15, rdi
    001fe462test ah, 4
    001fe465je 0x1fe656
    001fe46bcall caml_enter_blocking_section
    001fe470mov r12l, 1
    001fe476jmp 0x1fde8a
    001fe47bpxor x0, x0
    001fe47fcvtsd2ss x0, [rdi]
    001fe483test ah, 4
    001fe486je 0x1fe663
    001fe48cmovss [rsp], x0
    001fe491mov r12l, 1
    001fe497call caml_enter_blocking_section
    001fe49cmovss x0, [rsp]
    001fe4a1mov edx, 1
    001fe4a6jmp 0x1fe313
    001fe4abmov r15l, [rdi+8]
    001fe4aftest ah, 4
    001fe4b2je 0x1fe670
    001fe4b8call caml_enter_blocking_section
    001fe4bdmov r12l, 1
    001fe4c3jmp 0x1fe282
    001fe4c8movsd_xmm x0, [rdi]
    001fe4cctest ah, 4
    001fe4cfje 0x1fe697
    001fe4d5movsd_xmm [rsp], x0
    001fe4damov r12l, 1
    001fe4e0call caml_enter_blocking_section
    001fe4e5movsd_xmm x0, [rsp]
    001fe4eajmp 0x1fe211
    001fe4efmovupd x0, [rdi]
    001fe4f3cvtpd2ps x0, x0
    001fe4f7test ah, 4
    001fe4faje 0x1fe6b1
    001fe500movlps [rsp], x0
    001fe504mov r12l, 1
    001fe50acall caml_enter_blocking_section
    001fe50fmovq x0, [rsp]
    001fe514mov edx, 1
    001fe519jmp 0x1fe112
    001fe51esar rdi, 1
    001fe521mov r15, rdi
    001fe524test ah, 4
    001fe527je 0x1fe6a4
    001fe52dcall caml_enter_blocking_section
    001fe532mov r12l, 1
    001fe538jmp 0x1fe03f
    001fe53dmov r15, [rdi+8]
    001fe541test ah, 4
    001fe544je 0x1fe6be
    001fe54acall caml_enter_blocking_section
    001fe54fmov r12l, 1
    001fe555jmp 0x1fe3b5
    001fe55amov r15, [rdi+8]
    001fe55etest ah, 4
    001fe561je 0x1fe67d
    001fe567call caml_enter_blocking_section
    001fe56cmov r12l, 1
    001fe572jmp 0x1fe3ed
    001fe577movupd x0, [rdi]
    001fe57btest ah, 4
    001fe57eje 0x1fe68a
    001fe584movaps [rsp], x0
    001fe588mov r12l, 1
    001fe58ecall caml_enter_blocking_section
    001fe593movapd x0, [rsp]
    001fe598mov eax, 1
    001fe59djmp 0x1fe190
    001fe5a2call caml_enter_blocking_section
    001fe5a7jmp 0x1fe3b5
    001fe5acmovsd_xmm [rsp], x0
    001fe5b1call caml_enter_blocking_section
    001fe5b6movsd_xmm x0, [rsp]
    001fe5bbjmp 0x1fe211
    001fe5c0movss [rsp], x0
    001fe5c5call caml_enter_blocking_section
    001fe5camovss x0, [rsp]
    001fe5cfjmp 0x1fe30e
    001fe5d4call caml_enter_blocking_section
    001fe5d9jmp 0x1fe03f
    001fe5decall caml_enter_blocking_section
    001fe5e3jmp 0x1fdf4b
    001fe5e8call caml_enter_blocking_section
    001fe5edjmp 0x1fde8a
    001fe5f2call caml_enter_blocking_section
    001fe5f7jmp 0x1fe3ed
    001fe5fccall caml_enter_blocking_section
    001fe601jmp 0x1fe282
    001fe606test r12, r12
    001fe609jle 0x1fe1b0
    001fe60fxor edx, edx
    001fe611jmp 0x1fdf50
    001fe616test rbx, rbx
    001fe619jle 0x1fe1b0
    001fe61fmovzx esi, r15b
    001fe623
    001fe623loc_1fe623:
    001fe623mov rdx, r12
    001fe626mov rdi, rbp
    001fe629call fn_f40e0
    001fe62ejmp 0x1fe1b0
    001fe633mov ecx, ebx
    001fe635shr ecx, 13
    001fe638and ecx, 1
    001fe63blea ebx, [rbx+rcx-0x37fff001]
    001fe642shr ebx, 13
    001fe645jmp 0x1fdf20
    001fe64amov r12l, 1
    001fe650jmp 0x1fe623
    001fe652mov r12l, 1
    001fe658xor ecx, ecx
    001fe65ajmp 0x1fde8f
    001fe65fmov r12l, 1
    001fe665xor edx, edx
    001fe667jmp 0x1fe313
    001fe66cmov r12l, 1
    001fe672xor edx, edx
    001fe674jmp 0x1fe287
    001fe679mov r12l, 1
    001fe67fxor edx, edx
    001fe681jmp 0x1fdfd7
    001fe686mov r12l, 1
    001fe68cxor eax, eax
    001fe68ejmp 0x1fe190
    001fe693mov r12l, 1
    001fe699xor edx, edx
    001fe69bjmp 0x1fe216
    001fe6a0mov r12l, 1
    001fe6a6xor edx, edx
    001fe6a8jmp 0x1fe044
    001fe6admov r12l, 1
    001fe6b3xor edx, edx
    001fe6b5jmp 0x1fe112
    001fe6bamov r12l, 1
    001fe6c0xor edx, edx
    001fe6c2jmp 0x1fe09d
    001fe6c7call fn_f4590
    001fe6ccdb 0xc0
    001fe6cdpop rsi
    001fe6ceout dx, eax
    001fe6cfdb 0xff
    001fdd40