File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
Loading..
0020a130
0020a130caml_scan_global_roots:
0020a130push r15
0020a132push r14
0020a134push r13
0020a136lea r13, [rip+0x16e89f]
0020a13dpush r12
0020a13fpush rbp
0020a140mov rbp, rsi
0020a143push rbx
0020a144mov rbx, rdi
0020a147mov rdi, r13
0020a14asub rsp, 8
0020a14ecall fn_f4710
0020a153test eax, eax
0020a155jne 0x20a316
0020a15bmov r12, [rip+0x16e7da]
0020a162test r12, r12
0020a165je 0x20a188
0020a167nop [rax+rax]
0020a16cmov rax, r12
0020a16fmov r12, [r12+16]
0020a174mov rdi, rbp
0020a177mov rdx, [rax]
0020a17amov rsi, [rdx]
0020a17dcall rbx
0020a17ftest r12, r12
0020a182jne 0x20a170
0020a184mov r12, [rip+0x16e711]
0020a18btest r12, r12
0020a18eje 0x20a1b8
0020a190nop [rax+rax]
0020a19bnop
0020a19cmov rax, r12
0020a19fmov r12, [r12+16]
0020a1a4mov rdi, rbp
0020a1a7mov rdx, [rax]
0020a1aamov rsi, [rdx]
0020a1adcall rbx
0020a1aftest r12, r12
0020a1b2jne 0x20a1a0
0020a1b4mov r12, [rip+0x16e641]
0020a1bbtest r12, r12
0020a1beje 0x20a1e8
0020a1c0nop [rax+rax]
0020a1cbnop
0020a1ccmov rax, r12
0020a1cfmov r12, [r12+16]
0020a1d4mov rdi, rbp
0020a1d7mov rdx, [rax]
0020a1damov rsi, [rdx]
0020a1ddcall rbx
0020a1dftest r12, r12
0020a1e2jne 0x20a1d0
0020a1e4mov rdi, r13
0020a1e7call fn_f47c0
0020a1ecmov esi, eax
0020a1eetest eax, eax
0020a1f0jne 0x20a330
0020a1f6mov rdi, r13
0020a1f9call fn_f4710
0020a1femov esi, eax
0020a200test eax, eax
0020a202jne 0x20a324
0020a208mov rdi, r13
0020a20bmov r12, [rip+0x16e7ba]
0020a212call fn_f47c0
0020a217mov esi, eax
0020a219test eax, eax
0020a21bjne 0x20a330
0020a221mov r15, [rip+0x6c044]
0020a228xor r13l, r13l
0020a22btest r15, r15
0020a22eje 0x20a2a2
0020a230nop [rax+rax]
0020a23bnop
0020a23cmov rax, [r15]
0020a23ftest rax, rax
0020a242je 0x20a28b
0020a244nop [rax+rax]
0020a24cxor r14l, r14l
0020a24fjmp 0x20a26e
0020a251db 0x31
0020a252imul bl
0020a254db 0x19
0020a255
0020a255 0f 1f 00 ...
0020a258
0020a258loc_20a258:
0020a258mov rax, [r15]
0020a25bmov rdi, rbp
0020a25eadd r14l, 1
0020a262lea rdx, [rax+8*rdx]
0020a266mov rsi, [rdx]
0020a269call rbx
0020a26bmov rax, [r15]
0020a26e
0020a26eloc_20a26e:
0020a26emov rax, [rax-8]
0020a272movsxd rdx, r14l
0020a275shr rax, 10
0020a279cmp rdx, rax
0020a27cjb 0x20a258
0020a27emov rax, [r15+8]
0020a282add r15, 8
0020a286test rax, rax
0020a289jne 0x20a250
0020a28b
0020a28bloc_20a28b:
0020a28badd r13l, 1
0020a28flea rcx, [rip+0x6bfda]
0020a296movsxd rax, r13l
0020a299mov r15, [rcx+8*rax]
0020a29dtest r15, r15
0020a2a0jne 0x20a240
0020a2a2
0020a2a2loc_20a2a2:
0020a2a2test r12, r12
0020a2a5je 0x20a307
0020a2a7nop [rax+rax]
0020a2b0
0020a2b0loc_20a2b0:
0020a2b0mov r13, [r12]
0020a2b4mov rax, [r13]
0020a2b8test rax, rax
0020a2bbje 0x20a2fd
0020a2bdnop [rax]
0020a2c0
0020a2c0loc_20a2c0:
0020a2c0xor r14l, r14l
0020a2c3jmp 0x20a2e0
0020a2c5
0020a2c5 0f 1f 00 ...
0020a2c8
0020a2c8loc_20a2c8:
0020a2c8mov rax, [r13]
0020a2ccmov rdi, rbp
0020a2cfadd r14l, 1
0020a2d3lea rdx, [rax+8*rdx]
0020a2d7mov rsi, [rdx]
0020a2dacall rbx
0020a2dcmov rax, [r13]
0020a2e0
0020a2e0loc_20a2e0:
0020a2e0mov rax, [rax-8]
0020a2e4movsxd rdx, r14l
0020a2e7shr rax, 10
0020a2ebcmp rdx, rax
0020a2eejb 0x20a2c8
0020a2f0mov rax, [r13+8]
0020a2f4add r13, 8
0020a2f8test rax, rax
0020a2fbjne 0x20a2c0
0020a2fd
0020a2fdloc_20a2fd:
0020a2fdmov r12, [r12+8]
0020a302test r12, r12
0020a305jne 0x20a2b0
0020a307
0020a307loc_20a307:
0020a307add rsp, 8
0020a30bpop rbx
0020a30cpop rbp
0020a30dpop r12
0020a30fpop r13
0020a311pop r14
0020a313pop r15
0020a315ret
0020a316
0020a316loc_20a316:
0020a316mov esi, eax
0020a318lea rdi, [rip+0x251f0]
0020a31fcall caml_plat_fatal_error
0020a324
0020a324loc_20a324:
0020a324lea rdi, [rip+0x251e4]
0020a32bcall caml_plat_fatal_error
0020a330
0020a330loc_20a330:
0020a330lea rdi, [rip+0x251e3]
0020a337call caml_plat_fatal_error
0020a130
0020a130caml_scan_global_roots:
0020a130push r15
0020a132push r14
0020a134push r13
0020a136lea r13, [rip+0x16e89f]
0020a13dpush r12
0020a13fpush rbp
0020a140mov rbp, rsi
0020a143push rbx
0020a144mov rbx, rdi
0020a147mov rdi, r13
0020a14asub rsp, 8
0020a14ecall fn_f4710
0020a153test eax, eax
0020a155jne 0x20a316
0020a15bmov r12, [rip+0x16e7da]
0020a162test r12, r12
0020a165je 0x20a188
0020a167nop [rax+rax]
0020a16cmov rax, r12
0020a16fmov r12, [r12+16]
0020a174mov rdi, rbp
0020a177mov rdx, [rax]
0020a17amov rsi, [rdx]
0020a17dcall rbx
0020a17ftest r12, r12
0020a182jne 0x20a170
0020a184mov r12, [rip+0x16e711]
0020a18btest r12, r12
0020a18eje 0x20a1b8
0020a190nop [rax+rax]
0020a19bnop
0020a19cmov rax, r12
0020a19fmov r12, [r12+16]
0020a1a4mov rdi, rbp
0020a1a7mov rdx, [rax]
0020a1aamov rsi, [rdx]
0020a1adcall rbx
0020a1aftest r12, r12
0020a1b2jne 0x20a1a0
0020a1b4mov r12, [rip+0x16e641]
0020a1bbtest r12, r12
0020a1beje 0x20a1e8
0020a1c0nop [rax+rax]
0020a1cbnop
0020a1ccmov rax, r12
0020a1cfmov r12, [r12+16]
0020a1d4mov rdi, rbp
0020a1d7mov rdx, [rax]
0020a1damov rsi, [rdx]
0020a1ddcall rbx
0020a1dftest r12, r12
0020a1e2jne 0x20a1d0
0020a1e4mov rdi, r13
0020a1e7call fn_f47c0
0020a1ecmov esi, eax
0020a1eetest eax, eax
0020a1f0jne 0x20a330
0020a1f6mov rdi, r13
0020a1f9call fn_f4710
0020a1femov esi, eax
0020a200test eax, eax
0020a202jne 0x20a324
0020a208mov rdi, r13
0020a20bmov r12, [rip+0x16e7ba]
0020a212call fn_f47c0
0020a217mov esi, eax
0020a219test eax, eax
0020a21bjne 0x20a330
0020a221mov r15, [rip+0x6c044]
0020a228xor r13l, r13l
0020a22btest r15, r15
0020a22eje 0x20a2a2
0020a230nop [rax+rax]
0020a23bnop
0020a23cmov rax, [r15]
0020a23ftest rax, rax
0020a242je 0x20a28b
0020a244nop [rax+rax]
0020a24cxor r14l, r14l
0020a24fjmp 0x20a26e
0020a251db 0x31
0020a252imul bl
0020a254db 0x19
0020a255
0020a255 0f 1f 00 ...
0020a258
0020a258loc_20a258:
0020a258mov rax, [r15]
0020a25bmov rdi, rbp
0020a25eadd r14l, 1
0020a262lea rdx, [rax+8*rdx]
0020a266mov rsi, [rdx]
0020a269call rbx
0020a26bmov rax, [r15]
0020a26e
0020a26eloc_20a26e:
0020a26emov rax, [rax-8]
0020a272movsxd rdx, r14l
0020a275shr rax, 10
0020a279cmp rdx, rax
0020a27cjb 0x20a258
0020a27emov rax, [r15+8]
0020a282add r15, 8
0020a286test rax, rax
0020a289jne 0x20a250
0020a28b
0020a28bloc_20a28b:
0020a28badd r13l, 1
0020a28flea rcx, [rip+0x6bfda]
0020a296movsxd rax, r13l
0020a299mov r15, [rcx+8*rax]
0020a29dtest r15, r15
0020a2a0jne 0x20a240
0020a2a2
0020a2a2loc_20a2a2:
0020a2a2test r12, r12
0020a2a5je 0x20a307
0020a2a7nop [rax+rax]
0020a2b0
0020a2b0loc_20a2b0:
0020a2b0mov r13, [r12]
0020a2b4mov rax, [r13]
0020a2b8test rax, rax
0020a2bbje 0x20a2fd
0020a2bdnop [rax]
0020a2c0
0020a2c0loc_20a2c0:
0020a2c0xor r14l, r14l
0020a2c3jmp 0x20a2e0
0020a2c5
0020a2c5 0f 1f 00 ...
0020a2c8
0020a2c8loc_20a2c8:
0020a2c8mov rax, [r13]
0020a2ccmov rdi, rbp
0020a2cfadd r14l, 1
0020a2d3lea rdx, [rax+8*rdx]
0020a2d7mov rsi, [rdx]
0020a2dacall rbx
0020a2dcmov rax, [r13]
0020a2e0
0020a2e0loc_20a2e0:
0020a2e0mov rax, [rax-8]
0020a2e4movsxd rdx, r14l
0020a2e7shr rax, 10
0020a2ebcmp rdx, rax
0020a2eejb 0x20a2c8
0020a2f0mov rax, [r13+8]
0020a2f4add r13, 8
0020a2f8test rax, rax
0020a2fbjne 0x20a2c0
0020a2fd
0020a2fdloc_20a2fd:
0020a2fdmov r12, [r12+8]
0020a302test r12, r12
0020a305jne 0x20a2b0
0020a307
0020a307loc_20a307:
0020a307add rsp, 8
0020a30bpop rbx
0020a30cpop rbp
0020a30dpop r12
0020a30fpop r13
0020a311pop r14
0020a313pop r15
0020a315ret
0020a316
0020a316loc_20a316:
0020a316mov esi, eax
0020a318lea rdi, [rip+0x251f0]
0020a31fcall caml_plat_fatal_error
0020a324
0020a324loc_20a324:
0020a324lea rdi, [rip+0x251e4]
0020a32bcall caml_plat_fatal_error
0020a330
0020a330loc_20a330:
0020a330lea rdi, [rip+0x251e3]
0020a337call caml_plat_fatal_error
0020a130
0020a33c
0020a33c // align 0x10
0020a33c // align 0x10
0020a340
0020a340caml_scan_global_young_roots:
0020a340push r13
0020a342mov r13, rsi
0020a345push r12
0020a347lea r12, [rip+0x16e68e]
0020a34epush rbp
0020a34fmov rbp, rdi
0020a352mov rdi, r12
0020a355push rbx
0020a356sub rsp, 8
0020a35acall fn_f4710
0020a35ftest eax, eax
0020a361jne 0x20a41c
0020a367mov rbx, [rip+0x16e5ce]
0020a36etest rbx, rbx
0020a371je 0x20a397
0020a373nop [rax+rax]
0020a37cmov rax, rbx
0020a37fmov rbx, [rbx+16]
0020a383mov rdi, r13
0020a386mov rdx, [rax]
0020a389mov rsi, [rdx]
0020a38ccall rbp
0020a38etest rbx, rbx
0020a391jne 0x20a380
0020a393mov rbx, [rip+0x16e502]
0020a39atest rbx, rbx
0020a39dje 0x20a3f9
0020a39fnop [rax+rax]
0020a3aanop
0020a3acmov rax, rbx
0020a3afmov rbx, [rbx+16]
0020a3b3mov rdi, r13
0020a3b6mov rdx, [rax]
0020a3b9mov rsi, [rdx]
0020a3bccall rbp
0020a3betest rbx, rbx
0020a3c1jne 0x20a3b0
0020a3c3mov rbx, [rip+0x16e4d2]
0020a3catest rbx, rbx
0020a3cdje 0x20a3f9
0020a3cflea rbp, [rip+0x16e426]
0020a3d6nop [rax+rax]
0020a3dcmov rax, rbx
0020a3dfmov rbx, [rbx+16]
0020a3e3xor edx, edx
0020a3e5mov rdi, rbp
0020a3e8mov rsi, [rax]
0020a3ebcall caml_skiplist_insert
0020a3f0test rbx, rbx
0020a3f3jne 0x20a3e0
0020a3f5lea rdi, [rip+0x16e4a0]
0020a3fccall caml_skiplist_empty
0020a401mov rdi, r12
0020a404call fn_f47c0
0020a409test eax, eax
0020a40bjne 0x20a42a
0020a40dadd rsp, 8
0020a411pop rbx
0020a412pop rbp
0020a413pop r12
0020a415pop r13
0020a417ret
0020a418mov esi, eax
0020a41alea rdi, [rip+0x250ea]
0020a421call caml_plat_fatal_error
0020a426mov esi, eax
0020a428lea rdi, [rip+0x250e7]
0020a42fcall caml_plat_fatal_error
0020a434db 0x98
0020a435db 0x15
0020a436add [rax], eax
0020a340
0020a340caml_scan_global_young_roots:
0020a340push r13
0020a342mov r13, rsi
0020a345push r12
0020a347lea r12, [rip+0x16e68e]
0020a34epush rbp
0020a34fmov rbp, rdi
0020a352mov rdi, r12
0020a355push rbx
0020a356sub rsp, 8
0020a35acall fn_f4710
0020a35ftest eax, eax
0020a361jne 0x20a41c
0020a367mov rbx, [rip+0x16e5ce]
0020a36etest rbx, rbx
0020a371je 0x20a397
0020a373nop [rax+rax]
0020a37cmov rax, rbx
0020a37fmov rbx, [rbx+16]
0020a383mov rdi, r13
0020a386mov rdx, [rax]
0020a389mov rsi, [rdx]
0020a38ccall rbp
0020a38etest rbx, rbx
0020a391jne 0x20a380
0020a393mov rbx, [rip+0x16e502]
0020a39atest rbx, rbx
0020a39dje 0x20a3f9
0020a39fnop [rax+rax]
0020a3aanop
0020a3acmov rax, rbx
0020a3afmov rbx, [rbx+16]
0020a3b3mov rdi, r13
0020a3b6mov rdx, [rax]
0020a3b9mov rsi, [rdx]
0020a3bccall rbp
0020a3betest rbx, rbx
0020a3c1jne 0x20a3b0
0020a3c3mov rbx, [rip+0x16e4d2]
0020a3catest rbx, rbx
0020a3cdje 0x20a3f9
0020a3cflea rbp, [rip+0x16e426]
0020a3d6nop [rax+rax]
0020a3dcmov rax, rbx
0020a3dfmov rbx, [rbx+16]
0020a3e3xor edx, edx
0020a3e5mov rdi, rbp
0020a3e8mov rsi, [rax]
0020a3ebcall caml_skiplist_insert
0020a3f0test rbx, rbx
0020a3f3jne 0x20a3e0
0020a3f5lea rdi, [rip+0x16e4a0]
0020a3fccall caml_skiplist_empty
0020a401mov rdi, r12
0020a404call fn_f47c0
0020a409test eax, eax
0020a40bjne 0x20a42a
0020a40dadd rsp, 8
0020a411pop rbx
0020a412pop rbp
0020a413pop r12
0020a415pop r13
0020a417ret
0020a418mov esi, eax
0020a41alea rdi, [rip+0x250ea]
0020a421call caml_plat_fatal_error
0020a426mov esi, eax
0020a428lea rdi, [rip+0x250e7]
0020a42fcall caml_plat_fatal_error
0020a434db 0x98
0020a435db 0x15
0020a436add [rax], eax
0020a340
0020a438
0020a438 // align 0x10
0020a438 // align 0x10
0020a440
0020a440caml_hash_mix_uint32:
0020a440imul esi, esi, 0xffffffffcc9e2d51
0020a446mov eax, esi
0020a448rol eax, 15
0020a44bimul esi, eax, 0x1b873593
0020a451xor esi, edi
0020a453rol esi, 13
0020a456lea eax, [rsi+4*rsi-0x19ab949c]
0020a45dret
0020a45edb 0x6b
0020a45fpush rsp
0020a460out 195, al
0020a440
0020a440caml_hash_mix_uint32:
0020a440imul esi, esi, 0xffffffffcc9e2d51
0020a446mov eax, esi
0020a448rol eax, 15
0020a44bimul esi, eax, 0x1b873593
0020a451xor esi, edi
0020a453rol esi, 13
0020a456lea eax, [rsi+4*rsi-0x19ab949c]
0020a45dret
0020a45edb 0x6b
0020a45fpush rsp
0020a460out 195, al
0020a440
0020a462
0020a462 // align 0x10
0020a462 // align 0x10
0020a470
0020a470caml_hash_mix_intnat:
0020a470mov rdx, rsi
0020a473mov rax, rsi
0020a476sar rax, 63
0020a47asar rdx, 32
0020a47exor edx, eax
0020a480xor edx, esi
0020a482imul eax, edx, 0xffffffffcc9e2d51
0020a488rol eax, 15
0020a48bimul eax, eax, 0x1b873593
0020a491xor eax, edi
0020a493rol eax, 13
0020a496lea eax, [rax+4*rax-0x19ab949c]
0020a49dret
0020a49edb 0x6b
0020a49fpush rsp
0020a4a0out 195, al
0020a470
0020a470caml_hash_mix_intnat:
0020a470mov rdx, rsi
0020a473mov rax, rsi
0020a476sar rax, 63
0020a47asar rdx, 32
0020a47exor edx, eax
0020a480xor edx, esi
0020a482imul eax, edx, 0xffffffffcc9e2d51
0020a488rol eax, 15
0020a48bimul eax, eax, 0x1b873593
0020a491xor eax, edi
0020a493rol eax, 13
0020a496lea eax, [rax+4*rax-0x19ab949c]
0020a49dret
0020a49edb 0x6b
0020a49fpush rsp
0020a4a0out 195, al
0020a470
0020a4a2
0020a4a2 // align 0x10
0020a4a2 // align 0x10
0020a4b0
0020a4b0caml_hash_mix_int64:
0020a4b0mov rdx, rsi
0020a4b3imul esi, esi, 0xffffffffcc9e2d51
0020a4b9sar rdx, 32
0020a4bdimul eax, edx, 0xffffffffcc9e2d51
0020a4c3rol esi, 15
0020a4c6imul esi, esi, 0x1b873593
0020a4ccrol eax, 15
0020a4cfimul eax, eax, 0x1b873593
0020a4d5xor esi, edi
0020a4d7rol esi, 13
0020a4dalea ecx, [rsi+4*rsi-0x19ab949c]
0020a4e1xor eax, ecx
0020a4e3rol eax, 13
0020a4e6lea eax, [rax+4*rax-0x19ab949c]
0020a4edret
0020a4eedb 0x6b
0020a4efpush rsp
0020a4f0out 195, al
0020a4b0
0020a4b0caml_hash_mix_int64:
0020a4b0mov rdx, rsi
0020a4b3imul esi, esi, 0xffffffffcc9e2d51
0020a4b9sar rdx, 32
0020a4bdimul eax, edx, 0xffffffffcc9e2d51
0020a4c3rol esi, 15
0020a4c6imul esi, esi, 0x1b873593
0020a4ccrol eax, 15
0020a4cfimul eax, eax, 0x1b873593
0020a4d5xor esi, edi
0020a4d7rol esi, 13
0020a4dalea ecx, [rsi+4*rsi-0x19ab949c]
0020a4e1xor eax, ecx
0020a4e3rol eax, 13
0020a4e6lea eax, [rax+4*rax-0x19ab949c]
0020a4edret
0020a4eedb 0x6b
0020a4efpush rsp
0020a4f0out 195, al
0020a4b0
0020a4f2
0020a4f2 // align 0x10
0020a4f2 // align 0x10
0020a500
0020a500caml_hash_mix_double:
0020a500movq rax, x0
0020a505mov rdx, rax
0020a508shr rdx, 32
0020a50cmov ecx, edx
0020a50enot ecx
0020a510and ecx, 0x7ff00000
0020a516je 0x20a558
0020a518imul ecx, eax, 0xffffffffcc9e2d51
0020a51erol ecx, 15
0020a521imul ecx, ecx, 0x1b873593
0020a527xor edi, ecx
0020a529cmp edx, 0xffffffff80000000
0020a52fjne 0x20a564
0020a531xor ecx, ecx
0020a533test eax, eax
0020a535jne 0x20a564
0020a537rol edi, 13
0020a53alea eax, [rdi+4*rdi-0x19ab949c]
0020a541xor eax, ecx
0020a543rol eax, 13
0020a546lea eax, [rax+4*rax-0x19ab949c]
0020a54dret
0020a54edb 0x6b
0020a54fpush rsp
0020a550out 195, al
0020a552
0020a552 66 0f 1f 44 00 00 f..D..
0020a558
0020a558loc_20a558:
0020a558mov ecx, edx
0020a55aand ecx, 0xfffff
0020a560or ecx, eax
0020a562jne 0x20a578
0020a564
0020a564loc_20a564:
0020a564imul edx, edx, 0xffffffffcc9e2d51
0020a56arol edx, 15
0020a56dimul ecx, edx, 0x1b873593
0020a573jmp 0x20a53b
0020a575
0020a575 0f 1f 00 ...
0020a578
0020a578loc_20a578:
0020a578xor edi, 0xffffffffc3539a5d
0020a57emov ecx, 0xffffffffcc2aebe8
0020a583jmp 0x20a53b
0020a500
0020a500caml_hash_mix_double:
0020a500movq rax, x0
0020a505mov rdx, rax
0020a508shr rdx, 32
0020a50cmov ecx, edx
0020a50enot ecx
0020a510and ecx, 0x7ff00000
0020a516je 0x20a558
0020a518imul ecx, eax, 0xffffffffcc9e2d51
0020a51erol ecx, 15
0020a521imul ecx, ecx, 0x1b873593
0020a527xor edi, ecx
0020a529cmp edx, 0xffffffff80000000
0020a52fjne 0x20a564
0020a531xor ecx, ecx
0020a533test eax, eax
0020a535jne 0x20a564
0020a537rol edi, 13
0020a53alea eax, [rdi+4*rdi-0x19ab949c]
0020a541xor eax, ecx
0020a543rol eax, 13
0020a546lea eax, [rax+4*rax-0x19ab949c]
0020a54dret
0020a54edb 0x6b
0020a54fpush rsp
0020a550out 195, al
0020a552
0020a552 66 0f 1f 44 00 00 f..D..
0020a558
0020a558loc_20a558:
0020a558mov ecx, edx
0020a55aand ecx, 0xfffff
0020a560or ecx, eax
0020a562jne 0x20a578
0020a564
0020a564loc_20a564:
0020a564imul edx, edx, 0xffffffffcc9e2d51
0020a56arol edx, 15
0020a56dimul ecx, edx, 0x1b873593
0020a573jmp 0x20a53b
0020a575
0020a575 0f 1f 00 ...
0020a578
0020a578loc_20a578:
0020a578xor edi, 0xffffffffc3539a5d
0020a57emov ecx, 0xffffffffcc2aebe8
0020a583jmp 0x20a53b
0020a500
0020a585
0020a585 // align 0x10
0020a585 // align 0x10
0020a590
0020a590caml_hash_mix_float:
0020a590movd eax, x0
0020a594mov edx, eax
0020a596not edx
0020a598and edx, 0x7f800000
0020a59eje 0x20a5d0
0020a5a0cmp eax, 0xffffffff80000000
0020a5a5je 0x20a5bc
0020a5a7imul eax, eax, 0xffffffffcc9e2d51
0020a5adrol eax, 15
0020a5b0imul eax, eax, 0x1b873593
0020a5b6xor edi, eax
0020a5b8rol edi, 13
0020a5bblea eax, [rdi+4*rdi-0x19ab949c]
0020a5c2ret
0020a5c3db 0x6b
0020a5c4push rsp
0020a5c5out 195, al
0020a5c7
0020a5c7 66 0f 1f 84 00 00 00 00 00 f........
0020a5d0
0020a5d0loc_20a5d0:
0020a5d0test eax, 0x7fffff
0020a5d5je 0x20a5ab
0020a5d7xor edi, 0x5156b99d
0020a5ddrol edi, 13
0020a5e0lea eax, [rdi+4*rdi-0x19ab949c]
0020a5e7ret
0020a590
0020a590caml_hash_mix_float:
0020a590movd eax, x0
0020a594mov edx, eax
0020a596not edx
0020a598and edx, 0x7f800000
0020a59eje 0x20a5d0
0020a5a0cmp eax, 0xffffffff80000000
0020a5a5je 0x20a5bc
0020a5a7imul eax, eax, 0xffffffffcc9e2d51
0020a5adrol eax, 15
0020a5b0imul eax, eax, 0x1b873593
0020a5b6xor edi, eax
0020a5b8rol edi, 13
0020a5bblea eax, [rdi+4*rdi-0x19ab949c]
0020a5c2ret
0020a5c3db 0x6b
0020a5c4push rsp
0020a5c5out 195, al
0020a5c7
0020a5c7 66 0f 1f 84 00 00 00 00 00 f........
0020a5d0
0020a5d0loc_20a5d0:
0020a5d0test eax, 0x7fffff
0020a5d5je 0x20a5ab
0020a5d7xor edi, 0x5156b99d
0020a5ddrol edi, 13
0020a5e0lea eax, [rdi+4*rdi-0x19ab949c]
0020a5e7ret
0020a590
0020a5e8
0020a5e8 // align 0x20
0020a5e8 // align 0x20
0020a600
0020a600caml_hash_mix_string:
0020a600push rbp
0020a601mov rbp, rsi
0020a604push rbx
0020a605mov ebx, edi
0020a607mov rdi, rsi
0020a60asub rsp, 8
0020a60ecall caml_string_length
0020a613mov rcx, rax
0020a616cmp rax, 3
0020a61ajbe 0x20a6d0
0020a620mov edx, 4
0020a625nop [rax+rax]
0020a630nop [rax+rax]
0020a63bnop
0020a63cimul eax, [rdx+rbp-4], 0xffffffffcc9e2d51
0020a644rol eax, 15
0020a647imul eax, eax, 0x1b873593
0020a64dxor eax, ebx
0020a64frol eax, 13
0020a652lea ebx, [rax+4*rax-0x19ab949c]
0020a659mov rax, rdx
0020a65cadd rdx, 4
0020a660cmp rcx, rdx
0020a663jae 0x20a640
0020a665mov rdx, rcx
0020a668and edx, 3
0020a66bcmp rdx, 2
0020a66fje 0x20a6c8
0020a671cmp rdx, 3
0020a675je 0x20a6b0
0020a677cmp rdx, 1
0020a67bjne 0x20a6a4
0020a67dxor edx, edx
0020a67fmovzx eax, [rax+rbp]
0020a683
0020a683loc_20a683:
0020a683or eax, edx
0020a685imul eax, eax, 0xffffffffcc9e2d51
0020a68brol eax, 15
0020a68eimul eax, eax, 0x1b873593
0020a694xor eax, ebx
0020a696rol eax, 13
0020a699lea ebx, [rax+4*rax-0x19ab949c]
0020a6a0mov eax, ebx
0020a6a2add rsp, 8
0020a6a6xor eax, ecx
0020a6a8pop rbx
0020a6a9pop rbp
0020a6aaret
0020a6abdb 0xc8
0020a6acpop rbx
0020a6adpop rbp
0020a6aeret
0020a6af
0020a6af 90 .
0020a6b0
0020a6b0loc_20a6b0:
0020a6b0movzx esi, [rax+rbp+2]
0020a6b5shl esi, 16
0020a6b8
0020a6b8loc_20a6b8:
0020a6b8movzx edx, [rax+rbp+1]
0020a6bdshl edx, 8
0020a6c0or edx, esi
0020a6c2jmp 0x20a683
0020a6c4
0020a6c4 0f 1f 40 00 ..@.
0020a6c8
0020a6c8loc_20a6c8:
0020a6c8xor esi, esi
0020a6cajmp 0x20a6b8
0020a6cc
0020a6cc 0f 1f 40 00 ..@.
0020a6d0
0020a6d0loc_20a6d0:
0020a6d0xor eax, eax
0020a6d2jmp 0x20a669
0020a600
0020a600caml_hash_mix_string:
0020a600push rbp
0020a601mov rbp, rsi
0020a604push rbx
0020a605mov ebx, edi
0020a607mov rdi, rsi
0020a60asub rsp, 8
0020a60ecall caml_string_length
0020a613mov rcx, rax
0020a616cmp rax, 3
0020a61ajbe 0x20a6d0
0020a620mov edx, 4
0020a625nop [rax+rax]
0020a630nop [rax+rax]
0020a63bnop
0020a63cimul eax, [rdx+rbp-4], 0xffffffffcc9e2d51
0020a644rol eax, 15
0020a647imul eax, eax, 0x1b873593
0020a64dxor eax, ebx
0020a64frol eax, 13
0020a652lea ebx, [rax+4*rax-0x19ab949c]
0020a659mov rax, rdx
0020a65cadd rdx, 4
0020a660cmp rcx, rdx
0020a663jae 0x20a640
0020a665mov rdx, rcx
0020a668and edx, 3
0020a66bcmp rdx, 2
0020a66fje 0x20a6c8
0020a671cmp rdx, 3
0020a675je 0x20a6b0
0020a677cmp rdx, 1
0020a67bjne 0x20a6a4
0020a67dxor edx, edx
0020a67fmovzx eax, [rax+rbp]
0020a683
0020a683loc_20a683:
0020a683or eax, edx
0020a685imul eax, eax, 0xffffffffcc9e2d51
0020a68brol eax, 15
0020a68eimul eax, eax, 0x1b873593
0020a694xor eax, ebx
0020a696rol eax, 13
0020a699lea ebx, [rax+4*rax-0x19ab949c]
0020a6a0mov eax, ebx
0020a6a2add rsp, 8
0020a6a6xor eax, ecx
0020a6a8pop rbx
0020a6a9pop rbp
0020a6aaret
0020a6abdb 0xc8
0020a6acpop rbx
0020a6adpop rbp
0020a6aeret
0020a6af
0020a6af 90 .
0020a6b0
0020a6b0loc_20a6b0:
0020a6b0movzx esi, [rax+rbp+2]
0020a6b5shl esi, 16
0020a6b8
0020a6b8loc_20a6b8:
0020a6b8movzx edx, [rax+rbp+1]
0020a6bdshl edx, 8
0020a6c0or edx, esi
0020a6c2jmp 0x20a683
0020a6c4
0020a6c4 0f 1f 40 00 ..@.
0020a6c8
0020a6c8loc_20a6c8:
0020a6c8xor esi, esi
0020a6cajmp 0x20a6b8
0020a6cc
0020a6cc 0f 1f 40 00 ..@.
0020a6d0
0020a6d0loc_20a6d0:
0020a6d0xor eax, eax
0020a6d2jmp 0x20a669
0020a600
0020a6d4
0020a6d4 // align 0x40
0020a6d4 // align 0x40
0020a700
0020a700caml_hash:
0020a700push r15
0020a702mov eax, 256
0020a707push r14
0020a709push r13
0020a70bpush r12
0020a70dpush rbp
0020a70epush rbx
0020a70fsub rsp, 2088
0020a716mov rbx, [0x28]
0020a71fmov [rsp+2072], rbx
0020a727mov rbx, rsi
0020a72amov [rsp+16], rcx
0020a72fsar rbx, 1
0020a732cmp rsi, 513
0020a739cmovbe rax, rbx
0020a73dsar rdx, 1
0020a740sar rdi, 1
0020a743mov r13l, edx
0020a746mov [rsp+8], rax
0020a74btest rdi, rdi
0020a74ejle 0x20a7ec
0020a754mov r14, rdi
0020a757mov r15l, 1
0020a75dlea r12, [rsp+16]
0020a762xor ebx, ebx
0020a764lea rbp, [rip+0x27281]
0020a76bnop
0020a76cadd rbx, 1
0020a770
0020a770loc_20a770:
0020a770mov rsi, [r12+8*rbx-8]
0020a775test sil, 1
0020a779jne 0x20aa65
0020a77flea rcx, [rsi-8]
0020a783
0020a783loc_20a783:
0020a783movzx edi, [rcx]
0020a786mov r8, rsi
0020a789lea eax, [rdi+11]
0020a78ccmp dil, -11
0020a790jb 0x20aa80
0020a796movzx eax, al
0020a799movsxd rax, [rbp+4*rax]
0020a79eadd rax, rbp
0020a7a1jmp rax
0020a7a4nop [rax+rax]
0020a7acmov rax, [rsi]
0020a7afmov rax, [rax+24]
0020a7b3test rax, rax
0020a7b6je 0x20a7e2
0020a7b8mov rdi, rsi
0020a7bbcall rax
0020a7bdimul eax, eax, 0xffffffffcc9e2d51
0020a7c3sub r14, 1
0020a7c7rol eax, 15
0020a7caimul eax, eax, 0x1b873593
0020a7d0xor eax, r13l
0020a7d3rol eax, 13
0020a7d6lea r13l, [rax+4*rax-0x19ab949c]
0020a7decmp rbx, r15
0020a7e1jge 0x20a7ec
0020a7e3test r14, r14
0020a7e6jg 0x20a770
0020a7e8mov eax, r13l
0020a7ebshr eax, 16
0020a7eexor eax, r13l
0020a7f1imul eax, eax, 0xffffffff85ebca6b
0020a7f7mov edx, eax
0020a7f9shr edx, 13
0020a7fcxor edx, eax
0020a7feimul edx, edx, 0xffffffffc2b2ae35
0020a804mov eax, edx
0020a806shr eax, 16
0020a809xor eax, edx
0020a80badd rax, rax
0020a80eand eax, 0x7ffffffe
0020a813add rax, 1
0020a817mov rdx, [rsp+2072]
0020a81fsub rdx, [0x28]
0020a828jne 0x20ab08
0020a82eadd rsp, 2088
0020a835pop rbx
0020a836pop rbp
0020a837pop r12
0020a839pop r13
0020a83bpop r14
0020a83dpop r15
0020a83fret
0020a840nop [rax]
0020a844mov rax, [rcx]
0020a847shr rax, 10
0020a84bje 0x20a7e2
0020a84dmov rsi, r14
0020a850sub rsi, rax
0020a853jmp 0x20a86d
0020a855nop [rax]
0020a85cadd r8, 8
0020a860
0020a860loc_20a860:
0020a860cmp r14, rsi
0020a863je 0x20a7e2
0020a869movsd_xmm x0, [r8]
0020a86emov edi, r13l
0020a871call caml_hash_mix_double
0020a876mov r13l, eax
0020a879sub r14, 1
0020a87djne 0x20a860
0020a87fjmp 0x20a7ec
0020a884nop [rax+rax]
0020a88cmovsd_xmm x0, [rsi]
0020a890mov edi, r13l
0020a893sub r14, 1
0020a897call caml_hash_mix_double
0020a89cmov r13l, eax
0020a89fjmp 0x20a7e2
0020a8a4nop [rax+rax]
0020a8acmov edi, r13l
0020a8afsub r14, 1
0020a8b3call caml_hash_mix_string
0020a8b8mov r13l, eax
0020a8bbjmp 0x20a7e2
0020a8c0nop [rax]
0020a8c4mov rax, [rcx]
0020a8c7shr rax, 10
0020a8cbimul eax, eax, 0x64f16a88
0020a8d1rol eax, 15
0020a8d4imul eax, eax, 0x1b873593
0020a8daxor eax, r13l
0020a8ddrol eax, 13
0020a8e0lea r13l, [rax+4*rax-0x19ab949c]
0020a8e8mov rax, [rcx]
0020a8ebshr rax, 10
0020a8efshl rax, 3
0020a8f3sub rsi, rax
0020a8f6jmp 0x20a783
0020a8fbnop
0020a8fcmov rcx, [rsi+8]
0020a900mov rax, rcx
0020a903mov rsi, rcx
0020a906sar rcx, 1
0020a909sar rax, 33
0020a90dsar rsi, 63
0020a911xor eax, esi
0020a913xor eax, ecx
0020a915jmp 0x20a7c1
0020a91anop
0020a91cmov r8, [rcx]
0020a91fmov rdi, [rsi+8]
0020a923mov rax, [rcx]
0020a926shl rdi, 8
0020a92ashr r8, 10
0020a92eand ah, 252
0020a931imul eax, eax, 0xffffffffcc9e2d51
0020a937rol eax, 15
0020a93aimul eax, eax, 0x1b873593
0020a940xor eax, r13l
0020a943rol eax, 13
0020a946shr rdi, 9
0020a94alea r13l, [rax+4*rax-0x19ab949c]
0020a952je 0x20a9c0
0020a954lea r9, [rsi+8*rdi]
0020a958mov rcx, rsi
0020a95bnop [rax+rax]
0020a966nop [rax+rax]
0020a971nop [rax+rax]
0020a97cmov r10, [rcx]
0020a97fadd rcx, 8
0020a983mov rax, r10
0020a986mov r11, r10
0020a989sar rax, 32
0020a98dsar r11, 63
0020a991xor eax, r11l
0020a994xor eax, r10l
0020a997imul eax, eax, 0xffffffffcc9e2d51
0020a99drol eax, 15
0020a9a0imul eax, eax, 0x1b873593
0020a9a6xor eax, r13l
0020a9a9rol eax, 13
0020a9aclea r13l, [rax+4*rax-0x19ab949c]
0020a9b4cmp r9, rcx
0020a9b7jne 0x20a980
0020a9b9sub r14, rdi
0020a9bccmp [rsp+8], r15
0020a9c1jle 0x20a7e2
0020a9c7cmp rdi, r8
0020a9cajae 0x20a7e2
0020a9d0lea rsi, [rsi+8*rdi]
0020a9d4mov rax, r15
0020a9d7jmp 0x20aa07
0020a9d9nop [rax+rax]
0020a9e4nop [rax+rax]
0020a9efnop [rax+rax]
0020a9fanop
0020a9fccmp [rsp+8], rax
0020aa01jle 0x20aa25
0020aa03mov rcx, [rsi]
0020aa06add rax, 1
0020aa0aadd rsi, 8
0020aa0emov [r12+8*rax-8], rcx
0020aa13mov rcx, rax
0020aa16sub rcx, r15
0020aa19add rcx, rdi
0020aa1ccmp rcx, r8
0020aa1fjb 0x20aa00
0020aa21mov r15, rax
0020aa24jmp 0x20a7e2
0020aa29nop [rax]
0020aa2cmov eax, 1000
0020aa31jmp 0x20aa5c
0020aa33nop [rax+rax]
0020aa3cmovzx edi, [rsi-8]
0020aa40
0020aa40loc_20aa40:
0020aa40lea rcx, [rsi-8]
0020aa44cmp dil, -6
0020aa48jne 0x20a787
0020aa4esub rax, 1
0020aa52je 0x20a7e2
0020aa58mov rsi, [rsi]
0020aa5btest sil, 1
0020aa5fje 0x20aa40
0020aa61mov rax, rsi
0020aa64mov rcx, rsi
0020aa67sar rax, 32
0020aa6bsar rcx, 63
0020aa6fxor eax, ecx
0020aa71xor eax, esi
0020aa73jmp 0x20a7c1
0020aa78nop [rax]
0020aa7cmov rax, [rcx]
0020aa7fmov rsi, [rcx]
0020aa82and ah, 252
0020aa85shr rsi, 10
0020aa89imul eax, eax, 0xffffffffcc9e2d51
0020aa8frol eax, 15
0020aa92imul eax, eax, 0x1b873593
0020aa98xor eax, r13l
0020aa9brol eax, 13
0020aa9elea r13l, [rax+4*rax-0x19ab949c]
0020aaa6cmp [rsp+8], r15
0020aaabjle 0x20a7e2
0020aab1test rsi, rsi
0020aab4je 0x20a7e2
0020aabalea rdi, [r12+8*r15]
0020aabexor eax, eax
0020aac0jmp 0x20aaeb
0020aac2nop [rax+rax]
0020aacdnop [rax+rax]
0020aad8nop [rax]
0020aadccmp [rsp+8], r15
0020aae1jle 0x20a7e2
0020aae7mov rcx, [r8]
0020aaeaadd r15, 1
0020aaeeadd r8, 8
0020aaf2mov [rdi+8*rax], rcx
0020aaf6add rax, 1
0020aafacmp rax, rsi
0020aafdjb 0x20aae0
0020aaffjmp 0x20a7e2
0020ab04call fn_f4590
0020ab09db 0x83
0020ab0adb 0x9a
0020ab0bout dx, al
0020ab0cdb 0xff
0020a700
0020a700caml_hash:
0020a700push r15
0020a702mov eax, 256
0020a707push r14
0020a709push r13
0020a70bpush r12
0020a70dpush rbp
0020a70epush rbx
0020a70fsub rsp, 2088
0020a716mov rbx, [0x28]
0020a71fmov [rsp+2072], rbx
0020a727mov rbx, rsi
0020a72amov [rsp+16], rcx
0020a72fsar rbx, 1
0020a732cmp rsi, 513
0020a739cmovbe rax, rbx
0020a73dsar rdx, 1
0020a740sar rdi, 1
0020a743mov r13l, edx
0020a746mov [rsp+8], rax
0020a74btest rdi, rdi
0020a74ejle 0x20a7ec
0020a754mov r14, rdi
0020a757mov r15l, 1
0020a75dlea r12, [rsp+16]
0020a762xor ebx, ebx
0020a764lea rbp, [rip+0x27281]
0020a76bnop
0020a76cadd rbx, 1
0020a770
0020a770loc_20a770:
0020a770mov rsi, [r12+8*rbx-8]
0020a775test sil, 1
0020a779jne 0x20aa65
0020a77flea rcx, [rsi-8]
0020a783
0020a783loc_20a783:
0020a783movzx edi, [rcx]
0020a786mov r8, rsi
0020a789lea eax, [rdi+11]
0020a78ccmp dil, -11
0020a790jb 0x20aa80
0020a796movzx eax, al
0020a799movsxd rax, [rbp+4*rax]
0020a79eadd rax, rbp
0020a7a1jmp rax
0020a7a4nop [rax+rax]
0020a7acmov rax, [rsi]
0020a7afmov rax, [rax+24]
0020a7b3test rax, rax
0020a7b6je 0x20a7e2
0020a7b8mov rdi, rsi
0020a7bbcall rax
0020a7bdimul eax, eax, 0xffffffffcc9e2d51
0020a7c3sub r14, 1
0020a7c7rol eax, 15
0020a7caimul eax, eax, 0x1b873593
0020a7d0xor eax, r13l
0020a7d3rol eax, 13
0020a7d6lea r13l, [rax+4*rax-0x19ab949c]
0020a7decmp rbx, r15
0020a7e1jge 0x20a7ec
0020a7e3test r14, r14
0020a7e6jg 0x20a770
0020a7e8mov eax, r13l
0020a7ebshr eax, 16
0020a7eexor eax, r13l
0020a7f1imul eax, eax, 0xffffffff85ebca6b
0020a7f7mov edx, eax
0020a7f9shr edx, 13
0020a7fcxor edx, eax
0020a7feimul edx, edx, 0xffffffffc2b2ae35
0020a804mov eax, edx
0020a806shr eax, 16
0020a809xor eax, edx
0020a80badd rax, rax
0020a80eand eax, 0x7ffffffe
0020a813add rax, 1
0020a817mov rdx, [rsp+2072]
0020a81fsub rdx, [0x28]
0020a828jne 0x20ab08
0020a82eadd rsp, 2088
0020a835pop rbx
0020a836pop rbp
0020a837pop r12
0020a839pop r13
0020a83bpop r14
0020a83dpop r15
0020a83fret
0020a840nop [rax]
0020a844mov rax, [rcx]
0020a847shr rax, 10
0020a84bje 0x20a7e2
0020a84dmov rsi, r14
0020a850sub rsi, rax
0020a853jmp 0x20a86d
0020a855nop [rax]
0020a85cadd r8, 8
0020a860
0020a860loc_20a860:
0020a860cmp r14, rsi
0020a863je 0x20a7e2
0020a869movsd_xmm x0, [r8]
0020a86emov edi, r13l
0020a871call caml_hash_mix_double
0020a876mov r13l, eax
0020a879sub r14, 1
0020a87djne 0x20a860
0020a87fjmp 0x20a7ec
0020a884nop [rax+rax]
0020a88cmovsd_xmm x0, [rsi]
0020a890mov edi, r13l
0020a893sub r14, 1
0020a897call caml_hash_mix_double
0020a89cmov r13l, eax
0020a89fjmp 0x20a7e2
0020a8a4nop [rax+rax]
0020a8acmov edi, r13l
0020a8afsub r14, 1
0020a8b3call caml_hash_mix_string
0020a8b8mov r13l, eax
0020a8bbjmp 0x20a7e2
0020a8c0nop [rax]
0020a8c4mov rax, [rcx]
0020a8c7shr rax, 10
0020a8cbimul eax, eax, 0x64f16a88
0020a8d1rol eax, 15
0020a8d4imul eax, eax, 0x1b873593
0020a8daxor eax, r13l
0020a8ddrol eax, 13
0020a8e0lea r13l, [rax+4*rax-0x19ab949c]
0020a8e8mov rax, [rcx]
0020a8ebshr rax, 10
0020a8efshl rax, 3
0020a8f3sub rsi, rax
0020a8f6jmp 0x20a783
0020a8fbnop
0020a8fcmov rcx, [rsi+8]
0020a900mov rax, rcx
0020a903mov rsi, rcx
0020a906sar rcx, 1
0020a909sar rax, 33
0020a90dsar rsi, 63
0020a911xor eax, esi
0020a913xor eax, ecx
0020a915jmp 0x20a7c1
0020a91anop
0020a91cmov r8, [rcx]
0020a91fmov rdi, [rsi+8]
0020a923mov rax, [rcx]
0020a926shl rdi, 8
0020a92ashr r8, 10
0020a92eand ah, 252
0020a931imul eax, eax, 0xffffffffcc9e2d51
0020a937rol eax, 15
0020a93aimul eax, eax, 0x1b873593
0020a940xor eax, r13l
0020a943rol eax, 13
0020a946shr rdi, 9
0020a94alea r13l, [rax+4*rax-0x19ab949c]
0020a952je 0x20a9c0
0020a954lea r9, [rsi+8*rdi]
0020a958mov rcx, rsi
0020a95bnop [rax+rax]
0020a966nop [rax+rax]
0020a971nop [rax+rax]
0020a97cmov r10, [rcx]
0020a97fadd rcx, 8
0020a983mov rax, r10
0020a986mov r11, r10
0020a989sar rax, 32
0020a98dsar r11, 63
0020a991xor eax, r11l
0020a994xor eax, r10l
0020a997imul eax, eax, 0xffffffffcc9e2d51
0020a99drol eax, 15
0020a9a0imul eax, eax, 0x1b873593
0020a9a6xor eax, r13l
0020a9a9rol eax, 13
0020a9aclea r13l, [rax+4*rax-0x19ab949c]
0020a9b4cmp r9, rcx
0020a9b7jne 0x20a980
0020a9b9sub r14, rdi
0020a9bccmp [rsp+8], r15
0020a9c1jle 0x20a7e2
0020a9c7cmp rdi, r8
0020a9cajae 0x20a7e2
0020a9d0lea rsi, [rsi+8*rdi]
0020a9d4mov rax, r15
0020a9d7jmp 0x20aa07
0020a9d9nop [rax+rax]
0020a9e4nop [rax+rax]
0020a9efnop [rax+rax]
0020a9fanop
0020a9fccmp [rsp+8], rax
0020aa01jle 0x20aa25
0020aa03mov rcx, [rsi]
0020aa06add rax, 1
0020aa0aadd rsi, 8
0020aa0emov [r12+8*rax-8], rcx
0020aa13mov rcx, rax
0020aa16sub rcx, r15
0020aa19add rcx, rdi
0020aa1ccmp rcx, r8
0020aa1fjb 0x20aa00
0020aa21mov r15, rax
0020aa24jmp 0x20a7e2
0020aa29nop [rax]
0020aa2cmov eax, 1000
0020aa31jmp 0x20aa5c
0020aa33nop [rax+rax]
0020aa3cmovzx edi, [rsi-8]
0020aa40
0020aa40loc_20aa40:
0020aa40lea rcx, [rsi-8]
0020aa44cmp dil, -6
0020aa48jne 0x20a787
0020aa4esub rax, 1
0020aa52je 0x20a7e2
0020aa58mov rsi, [rsi]
0020aa5btest sil, 1
0020aa5fje 0x20aa40
0020aa61mov rax, rsi
0020aa64mov rcx, rsi
0020aa67sar rax, 32
0020aa6bsar rcx, 63
0020aa6fxor eax, ecx
0020aa71xor eax, esi
0020aa73jmp 0x20a7c1
0020aa78nop [rax]
0020aa7cmov rax, [rcx]
0020aa7fmov rsi, [rcx]
0020aa82and ah, 252
0020aa85shr rsi, 10
0020aa89imul eax, eax, 0xffffffffcc9e2d51
0020aa8frol eax, 15
0020aa92imul eax, eax, 0x1b873593
0020aa98xor eax, r13l
0020aa9brol eax, 13
0020aa9elea r13l, [rax+4*rax-0x19ab949c]
0020aaa6cmp [rsp+8], r15
0020aaabjle 0x20a7e2
0020aab1test rsi, rsi
0020aab4je 0x20a7e2
0020aabalea rdi, [r12+8*r15]
0020aabexor eax, eax
0020aac0jmp 0x20aaeb
0020aac2nop [rax+rax]
0020aacdnop [rax+rax]
0020aad8nop [rax]
0020aadccmp [rsp+8], r15
0020aae1jle 0x20a7e2
0020aae7mov rcx, [r8]
0020aaeaadd r15, 1
0020aaeeadd r8, 8
0020aaf2mov [rdi+8*rax], rcx
0020aaf6add rax, 1
0020aafacmp rax, rsi
0020aafdjb 0x20aae0
0020aaffjmp 0x20a7e2
0020ab04call fn_f4590
0020ab09db 0x83
0020ab0adb 0x9a
0020ab0bout dx, al
0020ab0cdb 0xff
0020a700
0020ab0d
0020ab0d // align 0x10
0020ab0d // align 0x10
0020ab10
0020ab10caml_string_hash:
0020ab10sub rsp, 8
0020ab14sar rdi, 1
0020ab17call caml_hash_mix_string
0020ab1cadd rsp, 8
0020ab20mov edx, eax
0020ab22shr eax, 16
0020ab25xor eax, edx
0020ab27imul eax, eax, 0xffffffff85ebca6b
0020ab2dmov edx, eax
0020ab2fshr edx, 13
0020ab32xor edx, eax
0020ab34imul edx, edx, 0xffffffffc2b2ae35
0020ab3amov eax, edx
0020ab3cshr eax, 16
0020ab3fxor eax, edx
0020ab41add rax, rax
0020ab44and eax, 0x7ffffffe
0020ab49add rax, 1
0020ab4dret
0020ab4edb 0x83
0020ab4frol [rcx], -61
0020ab10
0020ab10caml_string_hash:
0020ab10sub rsp, 8
0020ab14sar rdi, 1
0020ab17call caml_hash_mix_string
0020ab1cadd rsp, 8
0020ab20mov edx, eax
0020ab22shr eax, 16
0020ab25xor eax, edx
0020ab27imul eax, eax, 0xffffffff85ebca6b
0020ab2dmov edx, eax
0020ab2fshr edx, 13
0020ab32xor edx, eax
0020ab34imul edx, edx, 0xffffffffc2b2ae35
0020ab3amov eax, edx
0020ab3cshr eax, 16
0020ab3fxor eax, edx
0020ab41add rax, rax
0020ab44and eax, 0x7ffffffe
0020ab49add rax, 1
0020ab4dret
0020ab4edb 0x83
0020ab4frol [rcx], -61
0020ab10
0020ab52
0020ab52 // align 0x10
0020ab52 // align 0x10
0020ab60
0020ab60caml_hash_variant:
0020ab60movzx edx, [rdi]
0020ab63mov eax, 1
0020ab68test dl, dl
0020ab6aje 0x20aba0
0020ab6cnop [rax+rax]
0020ab77nop [rax+rax]
0020ab7csar rax, 1
0020ab7fadd rdi, 1
0020ab83imul eax, eax, 223
0020ab89add eax, edx
0020ab8bmovzx edx, [rdi]
0020ab8ecdqe
0020ab90lea rax, [rax+rax+1]
0020ab95test dl, dl
0020ab97jne 0x20ab80
0020ab99cdqe
0020ab9bret
0020ab9cret
0020ab9ddb 0x48
0020ab9ecwde
0020ab9fret
0020aba0
0020aba0loc_20aba0:
0020aba0ret
0020ab60
0020ab60caml_hash_variant:
0020ab60movzx edx, [rdi]
0020ab63mov eax, 1
0020ab68test dl, dl
0020ab6aje 0x20aba0
0020ab6cnop [rax+rax]
0020ab77nop [rax+rax]
0020ab7csar rax, 1
0020ab7fadd rdi, 1
0020ab83imul eax, eax, 223
0020ab89add eax, edx
0020ab8bmovzx edx, [rdi]
0020ab8ecdqe
0020ab90lea rax, [rax+rax+1]
0020ab95test dl, dl
0020ab97jne 0x20ab80
0020ab99cdqe
0020ab9bret
0020ab9cret
0020ab9ddb 0x48
0020ab9ecwde
0020ab9fret
0020aba0
0020aba0loc_20aba0:
0020aba0ret
0020ab60
0020aba1
0020aba1 // align 0x10
0020aba1 // align 0x10
0020abb0
0020abb0fn_20abb0:
0020abb0mov rdx, [rdi]
0020abb3mov rax, [rdx]
0020abb6add rdx, 8
0020abbamov [rdi], rdx
0020abbdbswap rax
0020abc0ret
0020abb0
0020abb0fn_20abb0:
0020abb0mov rdx, [rdi]
0020abb3mov rax, [rdx]
0020abb6add rdx, 8
0020abbamov [rdi], rdx
0020abbdbswap rax
0020abc0ret
0020abb0
0020abc1
0020abc1 // align 0x10
0020abc1 // align 0x10
0020abd0
0020abd0fn_20abd0:
0020abd0push rax
0020abd1pop rax
0020abd2xor eax, eax
0020abd4mov rdx, rsi
0020abd7sub rsp, 8
0020abdbmov rsi, rdi
0020abdelea rdi, [rip+0x24361]
0020abe5call caml_alloc_sprintf
0020abeamov rdi, rax
0020abedcall caml_failwith_value
0020abd0
0020abd0fn_20abd0:
0020abd0push rax
0020abd1pop rax
0020abd2xor eax, eax
0020abd4mov rdx, rsi
0020abd7sub rsp, 8
0020abdbmov rsi, rdi
0020abdelea rdi, [rip+0x24361]
0020abe5call caml_alloc_sprintf
0020abeamov rdi, rax
0020abedcall caml_failwith_value
0020abd0
0020abf2
0020abf2 // align 0x10
0020abf2 // align 0x10
0020ac00
0020ac00fn_20ac00:
0020ac00push rbx
0020ac01mov ecx, 256
0020ac06mov esi, 256
0020ac0blea r8, [rip+0x2592e]
0020ac12sub rsp, 272
0020ac19mov rax, [0x28]
0020ac22mov [rsp+264], rax
0020ac2amov rax, rdi
0020ac2dmov rbx, rsp
0020ac30sub rsp, 8
0020ac34mov rdi, rbx
0020ac37movzx edx, [rax+15]
0020ac3bpush rdx
0020ac3cmovzx edx, [rax+14]
0020ac40push rdx
0020ac41movzx edx, [rax+13]
0020ac45push rdx
0020ac46movzx edx, [rax+12]
0020ac4apush rdx
0020ac4bmovzx edx, [rax+11]
0020ac4fpush rdx
0020ac50movzx edx, [rax+10]
0020ac54push rdx
0020ac55movzx edx, [rax+9]
0020ac59push rdx
0020ac5amovzx edx, [rax+8]
0020ac5epush rdx
0020ac5fmovzx edx, [rax+7]
0020ac63push rdx
0020ac64movzx edx, [rax+6]
0020ac68push rdx
0020ac69movzx edx, [rax+5]
0020ac6dpush rdx
0020ac6emovzx edx, [rax+4]
0020ac72push rdx
0020ac73movzx edx, [rax+3]
0020ac77push rdx
0020ac78movzx edx, [rax+2]
0020ac7cpush rdx
0020ac7dmovzx edx, [rax+1]
0020ac81push rdx
0020ac82movzx r9l, [rax]
0020ac86mov edx, 1
0020ac8bxor eax, eax
0020ac8dcall fn_f46b0
0020ac92mov rsp, rbx
0020ac95mov rdi, rbx
0020ac98call caml_failwith
0020ac00
0020ac00fn_20ac00:
0020ac00push rbx
0020ac01mov ecx, 256
0020ac06mov esi, 256
0020ac0blea r8, [rip+0x2592e]
0020ac12sub rsp, 272
0020ac19mov rax, [0x28]
0020ac22mov [rsp+264], rax
0020ac2amov rax, rdi
0020ac2dmov rbx, rsp
0020ac30sub rsp, 8
0020ac34mov rdi, rbx
0020ac37movzx edx, [rax+15]
0020ac3bpush rdx
0020ac3cmovzx edx, [rax+14]
0020ac40push rdx
0020ac41movzx edx, [rax+13]
0020ac45push rdx
0020ac46movzx edx, [rax+12]
0020ac4apush rdx
0020ac4bmovzx edx, [rax+11]
0020ac4fpush rdx
0020ac50movzx edx, [rax+10]
0020ac54push rdx
0020ac55movzx edx, [rax+9]
0020ac59push rdx
0020ac5amovzx edx, [rax+8]
0020ac5epush rdx
0020ac5fmovzx edx, [rax+7]
0020ac63push rdx
0020ac64movzx edx, [rax+6]
0020ac68push rdx
0020ac69movzx edx, [rax+5]
0020ac6dpush rdx
0020ac6emovzx edx, [rax+4]
0020ac72push rdx
0020ac73movzx edx, [rax+3]
0020ac77push rdx
0020ac78movzx edx, [rax+2]
0020ac7cpush rdx
0020ac7dmovzx edx, [rax+1]
0020ac81push rdx
0020ac82movzx r9l, [rax]
0020ac86mov edx, 1
0020ac8bxor eax, eax
0020ac8dcall fn_f46b0
0020ac92mov rsp, rbx
0020ac95mov rdi, rbx
0020ac98call caml_failwith
0020ac00
0020ac9d
0020ac9d // align 0x10
0020ac9d // align 0x10
0020aca0
0020aca0fn_20aca0:
0020aca0push rbx
0020aca1mov rbx, [rip+0x6b340]
0020aca8mov rax, [rbx]
0020acactest rax, rax
0020acafje 0x20ad18
0020acb1mov rax, [rax+376]
0020acb8test rax, rax
0020acbbje 0x20acc0
0020acbdpop rbx
0020acberet
0020acbf
0020acbf 90 .
0020acc0
0020acc0loc_20acc0:
0020acc0mov edi, 6208
0020acc5call caml_stat_alloc
0020accapxor x0, x0
0020accelea rdx, [rax+32]
0020acd2movups [rax], x0
0020acd5mov [rax+6176], rdx
0020acdclea rdx, [rax+6176]
0020ace3mov [rax+16], 0
0020acebmov [rax+24], 0
0020acf3mov [rax+6192], 0
0020acfemov [rax+6184], rdx
0020ad05mov rdx, [rbx]
0020ad09mov [rdx+376], rax
0020ad10pop rbx
0020ad11ret
0020ad12
0020ad12 66 0f 1f 44 00 00 f..D..
0020ad18
0020ad18loc_20ad18:
0020ad18call caml_bad_caml_state
0020aca0
0020aca0fn_20aca0:
0020aca0push rbx
0020aca1mov rbx, [rip+0x6b340]
0020aca8mov rax, [rbx]
0020acactest rax, rax
0020acafje 0x20ad18
0020acb1mov rax, [rax+376]
0020acb8test rax, rax
0020acbbje 0x20acc0
0020acbdpop rbx
0020acberet
0020acbf
0020acbf 90 .
0020acc0
0020acc0loc_20acc0:
0020acc0mov edi, 6208
0020acc5call caml_stat_alloc
0020accapxor x0, x0
0020accelea rdx, [rax+32]
0020acd2movups [rax], x0
0020acd5mov [rax+6176], rdx
0020acdclea rdx, [rax+6176]
0020ace3mov [rax+16], 0
0020acebmov [rax+24], 0
0020acf3mov [rax+6192], 0
0020acfemov [rax+6184], rdx
0020ad05mov rdx, [rbx]
0020ad09mov [rdx+376], rax
0020ad10pop rbx
0020ad11ret
0020ad12
0020ad12 66 0f 1f 44 00 00 f..D..
0020ad18
0020ad18loc_20ad18:
0020ad18call caml_bad_caml_state
0020aca0
0020ad1d
0020ad1d // align 0x10
0020ad1d // align 0x10
0020ad20
0020ad20fn_20ad20:
0020ad20push rbp
0020ad21push rbx
0020ad22mov rbx, rdi
0020ad25sub rsp, 8
0020ad29mov rdi, [rdi+8]
0020ad2dtest rdi, rdi
0020ad30je 0x20ad3f
0020ad32call fn_f4370
0020ad37mov [rbx+8], 0
0020ad3f
0020ad3floc_20ad3f:
0020ad3fmov rdi, [rbx+24]
0020ad43test rdi, rdi
0020ad46je 0x20ad55
0020ad48call caml_stat_free
0020ad4dmov [rbx+24], 0
0020ad55
0020ad55loc_20ad55:
0020ad55mov rdi, [rbx+6176]
0020ad5clea rbp, [rbx+32]
0020ad60mov [rbx+6192], 0
0020ad6bcmp rdi, rbp
0020ad6eje 0x20ad8a
0020ad70call caml_stat_free
0020ad75lea rax, [rbx+6176]
0020ad7cmov [rbx+6176], rbp
0020ad83mov [rbx+6184], rax
0020ad8a
0020ad8aloc_20ad8a:
0020ad8aadd rsp, 8
0020ad8epop rbx
0020ad8fpop rbp
0020ad90ret
0020ad20
0020ad20fn_20ad20:
0020ad20push rbp
0020ad21push rbx
0020ad22mov rbx, rdi
0020ad25sub rsp, 8
0020ad29mov rdi, [rdi+8]
0020ad2dtest rdi, rdi
0020ad30je 0x20ad3f
0020ad32call fn_f4370
0020ad37mov [rbx+8], 0
0020ad3f
0020ad3floc_20ad3f:
0020ad3fmov rdi, [rbx+24]
0020ad43test rdi, rdi
0020ad46je 0x20ad55
0020ad48call caml_stat_free
0020ad4dmov [rbx+24], 0
0020ad55
0020ad55loc_20ad55:
0020ad55mov rdi, [rbx+6176]
0020ad5clea rbp, [rbx+32]
0020ad60mov [rbx+6192], 0
0020ad6bcmp rdi, rbp
0020ad6eje 0x20ad8a
0020ad70call caml_stat_free
0020ad75lea rax, [rbx+6176]
0020ad7cmov [rbx+6176], rbp
0020ad83mov [rbx+6184], rax
0020ad8a
0020ad8aloc_20ad8a:
0020ad8aadd rsp, 8
0020ad8epop rbx
0020ad8fpop rbp
0020ad90ret
0020ad20
0020ad91
0020ad91 // align 0x10
0020ad91 // align 0x10
0020ada0
0020ada0fn_20ada0:
0020ada0push r15
0020ada2push r14
0020ada4push r13
0020ada6mov r13, rsi
0020ada9push r12
0020adabpush rbp
0020adacpush rbx
0020adadmov rbx, rdi
0020adb0sub rsp, 24
0020adb4mov r14, [rip+0x16dc4d]
0020adbbtest r14, r14
0020adbeje 0x20ae1f
0020adc0mov r15, [rdx+16]
0020adc4mov rbp, rdx
0020adc7mov rdi, r15
0020adcacall fn_f4250
0020adcfmovq x0, rax
0020add4mov r12, rax
0020add7punpcklqdq x0, x0
0020addbmovaps [rsp], x0
0020addftest rax, rax
0020ade2je 0x20ae52
0020ade4mov rcx, [rbp+8]
0020ade8mov rdx, [rbx]
0020adebmov rsi, r15
0020adeemov rdi, rax
0020adf1call r14
0020adf4cmp rax, [rbp+16]
0020adf8jne 0x20ae33
0020adfamov rdi, [rbx+8]
0020adfetest rdi, rdi
0020ae01je 0x20ae08
0020ae03call fn_f4370
0020ae08
0020ae08loc_20ae08:
0020ae08movdqa x1, [rsp]
0020ae0dmovups [rbx], x1
0020ae10add rsp, 24
0020ae14pop rbx
0020ae15pop rbp
0020ae16pop r12
0020ae18pop r13
0020ae1apop r14
0020ae1cpop r15
0020ae1eret
0020ae1f
0020ae1floc_20ae1f:
0020ae1fcall fn_20ad20
0020ae24lea rsi, [rip+0x2577d]
0020ae2bmov rdi, r13
0020ae2ecall fn_20abd0
0020ae33
0020ae33loc_20ae33:
0020ae33mov rdi, r12
0020ae36call fn_f4370
0020ae3bmov rdi, rbx
0020ae3ecall fn_20ad20
0020ae43lea rsi, [rip+0x24103]
0020ae4amov rdi, r13
0020ae4dcall fn_20abd0
0020ae52
0020ae52loc_20ae52:
0020ae52mov rdi, rbx
0020ae55call fn_20ad20
0020ae5acall caml_raise_out_of_memory
0020ada0
0020ada0fn_20ada0:
0020ada0push r15
0020ada2push r14
0020ada4push r13
0020ada6mov r13, rsi
0020ada9push r12
0020adabpush rbp
0020adacpush rbx
0020adadmov rbx, rdi
0020adb0sub rsp, 24
0020adb4mov r14, [rip+0x16dc4d]
0020adbbtest r14, r14
0020adbeje 0x20ae1f
0020adc0mov r15, [rdx+16]
0020adc4mov rbp, rdx
0020adc7mov rdi, r15
0020adcacall fn_f4250
0020adcfmovq x0, rax
0020add4mov r12, rax
0020add7punpcklqdq x0, x0
0020addbmovaps [rsp], x0
0020addftest rax, rax
0020ade2je 0x20ae52
0020ade4mov rcx, [rbp+8]
0020ade8mov rdx, [rbx]
0020adebmov rsi, r15
0020adeemov rdi, rax
0020adf1call r14
0020adf4cmp rax, [rbp+16]
0020adf8jne 0x20ae33
0020adfamov rdi, [rbx+8]
0020adfetest rdi, rdi
0020ae01je 0x20ae08
0020ae03call fn_f4370
0020ae08
0020ae08loc_20ae08:
0020ae08movdqa x1, [rsp]
0020ae0dmovups [rbx], x1
0020ae10add rsp, 24
0020ae14pop rbx
0020ae15pop rbp
0020ae16pop r12
0020ae18pop r13
0020ae1apop r14
0020ae1cpop r15
0020ae1eret
0020ae1f
0020ae1floc_20ae1f:
0020ae1fcall fn_20ad20
0020ae24lea rsi, [rip+0x2577d]
0020ae2bmov rdi, r13
0020ae2ecall fn_20abd0
0020ae33
0020ae33loc_20ae33:
0020ae33mov rdi, r12
0020ae36call fn_f4370
0020ae3bmov rdi, rbx
0020ae3ecall fn_20ad20
0020ae43lea rsi, [rip+0x24103]
0020ae4amov rdi, r13
0020ae4dcall fn_20abd0
0020ae52
0020ae52loc_20ae52:
0020ae52mov rdi, rbx
0020ae55call fn_20ad20
0020ae5acall caml_raise_out_of_memory
0020ada0
0020ae5f
0020ae5f // align 0x10
0020ae5f // align 0x10
0020ae60
0020ae60fn_20ae60:
0020ae60push rbp
0020ae61xor eax, eax
0020ae63mov rbp, rdi
0020ae66lea rdi, [rip+0x240f4]
0020ae6dpush rbx
0020ae6esub rsp, 8
0020ae72call caml_alloc_sprintf
0020ae77mov rdi, rbp
0020ae7amov rbx, rax
0020ae7dcall fn_20ad20
0020ae82mov rdi, rbx
0020ae85call caml_failwith_value
0020ae60
0020ae60fn_20ae60:
0020ae60push rbp
0020ae61xor eax, eax
0020ae63mov rbp, rdi
0020ae66lea rdi, [rip+0x240f4]
0020ae6dpush rbx
0020ae6esub rsp, 8
0020ae72call caml_alloc_sprintf
0020ae77mov rdi, rbp
0020ae7amov rbx, rax
0020ae7dcall fn_20ad20
0020ae82mov rdi, rbx
0020ae85call caml_failwith_value
0020ae60
0020ae8a
0020ae8a // align 0x10
0020ae8a // align 0x10
0020ae90
0020ae90fn_20ae90:
0020ae90push r13
0020ae92lea rax, [rsi-2]
0020ae96push r12
0020ae98mov r12, rdi
0020ae9bpush rbp
0020ae9cmov rbp, rdx
0020ae9fpush rbx
0020aea0sub rsp, 8
0020aea4cmp rax, 255
0020aeaajbe 0x20aec8
0020aeacmov [r12+16], 0
0020aeb5test rbp, rbp
0020aeb8jne 0x20af25
0020aeba
0020aebaloc_20aeba:
0020aebaadd rsp, 8
0020aebepop rbx
0020aebfpop rbp
0020aec0pop r12
0020aec2pop r13
0020aec4ret
0020aec5
0020aec5 0f 1f 00 ...
0020aec8
0020aec8loc_20aec8:
0020aec8mov rax, [rip+0x6b119]
0020aecflea rbx, [rsi-1]
0020aed3lea rdx, [8*rbx]
0020aedbmov r13, [rax]
0020aedfmov rax, -8
0020aee6sub rax, rdx
0020aee9add [r13+8], rax
0020aeedmov rdx, [r13]
0020aef1mov rax, [r13+8]
0020aef5cmp rax, rdx
0020aef8jb 0x20af50
0020aefa
0020aefaloc_20aefa:
0020aefashl rbx, 10
0020aefemov rsi, rbx
0020af01add rsi, 252
0020af08mov [rax], rsi
0020af0bmov rax, [r13+8]
0020af0fmov [r12+16], 0
0020af18mov [r12+6192], rax
0020af20test rbp, rbp
0020af23je 0x20aeba
0020af25
0020af25loc_20af25:
0020af25lea rdi, [8*rbp]
0020af2dcall caml_stat_alloc_noexc
0020af32mov [r12+24], rax
0020af37test rax, rax
0020af3ajne 0x20aeba
0020af40mov rdi, r12
0020af43call fn_20ad20
0020af48call caml_raise_out_of_memory
0020af4dnop [rax]
0020af50
0020af50loc_20af50:
0020af50xor r8l, r8l
0020af53mov ecx, 1
0020af58xor edx, edx
0020af5amov rsi, rbx
0020af5dmov rdi, r13
0020af60call caml_alloc_small_dispatch
0020af65mov rax, [r13+8]
0020af69jmp 0x20aefa
0020ae90
0020ae90fn_20ae90:
0020ae90push r13
0020ae92lea rax, [rsi-2]
0020ae96push r12
0020ae98mov r12, rdi
0020ae9bpush rbp
0020ae9cmov rbp, rdx
0020ae9fpush rbx
0020aea0sub rsp, 8
0020aea4cmp rax, 255
0020aeaajbe 0x20aec8
0020aeacmov [r12+16], 0
0020aeb5test rbp, rbp
0020aeb8jne 0x20af25
0020aeba
0020aebaloc_20aeba:
0020aebaadd rsp, 8
0020aebepop rbx
0020aebfpop rbp
0020aec0pop r12
0020aec2pop r13
0020aec4ret
0020aec5
0020aec5 0f 1f 00 ...
0020aec8
0020aec8loc_20aec8:
0020aec8mov rax, [rip+0x6b119]
0020aecflea rbx, [rsi-1]
0020aed3lea rdx, [8*rbx]
0020aedbmov r13, [rax]
0020aedfmov rax, -8
0020aee6sub rax, rdx
0020aee9add [r13+8], rax
0020aeedmov rdx, [r13]
0020aef1mov rax, [r13+8]
0020aef5cmp rax, rdx
0020aef8jb 0x20af50
0020aefa
0020aefaloc_20aefa:
0020aefashl rbx, 10
0020aefemov rsi, rbx
0020af01add rsi, 252
0020af08mov [rax], rsi
0020af0bmov rax, [r13+8]
0020af0fmov [r12+16], 0
0020af18mov [r12+6192], rax
0020af20test rbp, rbp
0020af23je 0x20aeba
0020af25
0020af25loc_20af25:
0020af25lea rdi, [8*rbp]
0020af2dcall caml_stat_alloc_noexc
0020af32mov [r12+24], rax
0020af37test rax, rax
0020af3ajne 0x20aeba
0020af40mov rdi, r12
0020af43call fn_20ad20
0020af48call caml_raise_out_of_memory
0020af4dnop [rax]
0020af50
0020af50loc_20af50:
0020af50xor r8l, r8l
0020af53mov ecx, 1
0020af58xor edx, edx
0020af5amov rsi, rbx
0020af5dmov rdi, r13
0020af60call caml_alloc_small_dispatch
0020af65mov rax, [r13+8]
0020af69jmp 0x20aefa
0020ae90
0020af6b
0020af6b // align 0x10
0020af6b // align 0x10
0020af70
0020af70fn_20af70:
0020af70push r13
0020af72push r12
0020af74mov r12, rdi
0020af77push rbp
0020af78mov rbp, rdx
0020af7bpush rbx
0020af7cmov ebx, ecx
0020af7esub rsp, 8
0020af82mov rax, [rdi+6192]
0020af89test rax, rax
0020af8cje 0x20afd0
0020af8eshl rdx, 10
0020af92lea r13, [rbp+1]
0020af96mov rsi, rbp
0020af99mov ecx, 1
0020af9eadd rdx, rbx
0020afa1lea rbx, [rax+8]
0020afa5mov [rax], rdx
0020afa8mov rdi, rbx
0020afabmov rdx, r13
0020afaeshl r13, 3
0020afb2call caml_memprof_sample_block
0020afb7add [r12+6192], r13
0020afbfmov rax, rbx
0020afc2add rsp, 8
0020afc6pop rbx
0020afc7pop rbp
0020afc8pop r12
0020afcapop r13
0020afccret
0020afcd
0020afcd 0f 1f 00 ...
0020afd0
0020afd0loc_20afd0:
0020afd0mov rdi, [rsi+280]
0020afd7mov r13, rsi
0020afdaxor ecx, ecx
0020afdcmov edx, ebx
0020afdemov rsi, rbp
0020afe1call caml_shared_try_alloc
0020afe6test rax, rax
0020afe9je 0x20b043
0020afeblea rdx, [rbp+1]
0020afefmov rcx, rbp
0020aff2mov rsi, rbp
0020aff5movdqu x1, [r13+128]
0020affemovq x0, rdx
0020b003add rbx, [rip+0x16d3b6]
0020b00ashl rcx, 10
0020b00epunpcklqdq x0, x0
0020b012add rbx, rcx
0020b015mov ecx, 1
0020b01apaddq x0, x1
0020b01emovups [r13+128], x0
0020b026mov [rax], rbx
0020b029lea rbx, [rax+8]
0020b02dmov rdi, rbx
0020b030call caml_memprof_sample_block
0020b035add rsp, 8
0020b039mov rax, rbx
0020b03cpop rbx
0020b03dpop rbp
0020b03epop r12
0020b040pop r13
0020b042ret
0020b043
0020b043loc_20b043:
0020b043mov rdi, r12
0020b046call fn_20ad20
0020b04bcall caml_raise_out_of_memory
0020af70
0020af70fn_20af70:
0020af70push r13
0020af72push r12
0020af74mov r12, rdi
0020af77push rbp
0020af78mov rbp, rdx
0020af7bpush rbx
0020af7cmov ebx, ecx
0020af7esub rsp, 8
0020af82mov rax, [rdi+6192]
0020af89test rax, rax
0020af8cje 0x20afd0
0020af8eshl rdx, 10
0020af92lea r13, [rbp+1]
0020af96mov rsi, rbp
0020af99mov ecx, 1
0020af9eadd rdx, rbx
0020afa1lea rbx, [rax+8]
0020afa5mov [rax], rdx
0020afa8mov rdi, rbx
0020afabmov rdx, r13
0020afaeshl r13, 3
0020afb2call caml_memprof_sample_block
0020afb7add [r12+6192], r13
0020afbfmov rax, rbx
0020afc2add rsp, 8
0020afc6pop rbx
0020afc7pop rbp
0020afc8pop r12
0020afcapop r13
0020afccret
0020afcd
0020afcd 0f 1f 00 ...
0020afd0
0020afd0loc_20afd0:
0020afd0mov rdi, [rsi+280]
0020afd7mov r13, rsi
0020afdaxor ecx, ecx
0020afdcmov edx, ebx
0020afdemov rsi, rbp
0020afe1call caml_shared_try_alloc
0020afe6test rax, rax
0020afe9je 0x20b043
0020afeblea rdx, [rbp+1]
0020afefmov rcx, rbp
0020aff2mov rsi, rbp
0020aff5movdqu x1, [r13+128]
0020affemovq x0, rdx
0020b003add rbx, [rip+0x16d3b6]
0020b00ashl rcx, 10
0020b00epunpcklqdq x0, x0
0020b012add rbx, rcx
0020b015mov ecx, 1
0020b01apaddq x0, x1
0020b01emovups [r13+128], x0
0020b026mov [rax], rbx
0020b029lea rbx, [rax+8]
0020b02dmov rdi, rbx
0020b030call caml_memprof_sample_block
0020b035add rsp, 8
0020b039mov rax, rbx
0020b03cpop rbx
0020b03dpop rbp
0020b03epop r12
0020b040pop r13
0020b042ret
0020b043
0020b043loc_20b043:
0020b043mov rdi, r12
0020b046call fn_20ad20
0020b04bcall caml_raise_out_of_memory
0020af70
0020b050
0020b050 // align 0x40
0020b050 // align 0x40
0020b080
0020b080fn_20b080:
0020b080mov rax, [rdi]
0020b083mov rcx, rdx
0020b086mov r8, rsi
0020b089mov edx, [rax]
0020b08badd rax, 4
0020b08fmov [rdi], rax
0020b092mov esi, edx
0020b094bswap esi
0020b096mov [rcx], esi
0020b098cmp edx, 0xffffffffbea69584
0020b09eje 0x20b348
0020b0a4push rbp
0020b0a5push rbx
0020b0a6sub rsp, 8
0020b0aacmp edx, 0xffffffffbfa69584
0020b0b0je 0x20b308
0020b0b6cmp edx, 0xffffffffbda69584
0020b0bcjne 0x20b3a7
0020b0c2mov rax, [rdi]
0020b0c5lea rdx, [rax+1]
0020b0c9mov [rdi], rdx
0020b0ccmovzx eax, [rax]
0020b0cfmov [rcx+40], 1
0020b0d6and eax, 63
0020b0d9mov [rcx+4], eax
0020b0dcmov rdx, [rdi]
0020b0dflea rax, [rdx+1]
0020b0e3mov [rdi], rax
0020b0e6movzx esi, [rdx]
0020b0e9mov rax, rsi
0020b0ecand eax, 127
0020b0eftest sil, sil
0020b0f2jns 0x20b3a0
0020b0f8add rdx, 2
0020b0fcxor esi, esi
0020b0femov r11l, -1
0020b104mov rbx, 0x1ffffffffffffff
0020b10enop [rax+rax]
0020b119nop [rax+rax]
0020b124nop [rax+rax]
0020b12fnop [rax+rax]
0020b13anop [rax+rax]
0020b140
0020b140loc_20b140:
0020b140mov [rdi], rdx
0020b143movzx r9l, [rdx-1]
0020b148mov r10, rax
0020b14bshl r10, 7
0020b14fcmp rbx, rax
0020b152mov rax, r9
0020b155cmovb esi, r11l
0020b159add rdx, 1
0020b15dand eax, 127
0020b160or rax, r10
0020b163test r9b, r9b
0020b166js 0x20b140
0020b168
0020b168loc_20b168:
0020b168mov [rcx+8], rax
0020b16cmov rax, [rdi]
0020b16flea rdx, [rax+1]
0020b173mov [rdi], rdx
0020b176movzx r9l, [rax]
0020b17amov rax, r9
0020b17dand eax, 127
0020b180test r9b, r9b
0020b183jns 0x20b1eb
0020b185xor r10l, r10l
0020b188mov ebx, -1
0020b18dmov rbp, 0x1ffffffffffffff
0020b197nop [rax+rax]
0020b1a2nop [rax+rax]
0020b1adnop [rax+rax]
0020b1b8nop [rax+rax]
0020b1c0
0020b1c0loc_20b1c0:
0020b1c0add rdx, 1
0020b1c4mov r11, rax
0020b1c7mov [rdi], rdx
0020b1camovzx r9l, [rdx-1]
0020b1cfshl r11, 7
0020b1d3cmp rbp, rax
0020b1d6cmovb r10l, ebx
0020b1damov rax, r9
0020b1ddand eax, 127
0020b1e0or rax, r11
0020b1e3test r9b, r9b
0020b1e6js 0x20b1c0
0020b1e8or esi, r10l
0020b1eb
0020b1ebloc_20b1eb:
0020b1ebmov [rcx+16], rax
0020b1efmov rax, [rdi]
0020b1f2lea rdx, [rax+1]
0020b1f6mov [rdi], rdx
0020b1f9movzx r9l, [rax]
0020b1fdmov rax, r9
0020b200and eax, 127
0020b203test r9b, r9b
0020b206jns 0x20b26b
0020b208xor r10l, r10l
0020b20bmov ebx, -1
0020b210mov rbp, 0x1ffffffffffffff
0020b21anop [rax+rax]
0020b225nop [rax+rax]
0020b230nop [rax+rax]
0020b23bnop [rax+rax]
0020b240
0020b240loc_20b240:
0020b240add rdx, 1
0020b244mov r11, rax
0020b247mov [rdi], rdx
0020b24amovzx r9l, [rdx-1]
0020b24fshl r11, 7
0020b253cmp rbp, rax
0020b256cmovb r10l, ebx
0020b25amov rax, r9
0020b25dand eax, 127
0020b260or rax, r11
0020b263test r9b, r9b
0020b266js 0x20b240
0020b268or esi, r10l
0020b26b
0020b26bloc_20b26b:
0020b26bmov [rcx+24], rax
0020b26fmov rdx, [rdi]
0020b272lea rax, [rdx+1]
0020b276mov [rdi], rax
0020b279cmp [rdx], 0
0020b27cjns 0x20b28d
0020b27enop
0020b280
0020b280loc_20b280:
0020b280add rax, 1
0020b284mov [rdi], rax
0020b287cmp [rax-1], 0
0020b28bjs 0x20b280
0020b28d
0020b28dloc_20b28d:
0020b28dlea rdx, [rax+1]
0020b291mov [rdi], rdx
0020b294movzx r9l, [rax]
0020b298mov rax, r9
0020b29band eax, 127
0020b29etest r9b, r9b
0020b2a1jns 0x20b2eb
0020b2a3xor r10l, r10l
0020b2a6mov ebx, -1
0020b2abmov rbp, 0x1ffffffffffffff
0020b2b5nop [rax+rax]
0020b2c0
0020b2c0loc_20b2c0:
0020b2c0add rdx, 1
0020b2c4mov r11, rax
0020b2c7mov [rdi], rdx
0020b2camovzx r9l, [rdx-1]
0020b2cfshl r11, 7
0020b2d3cmp rbp, rax
0020b2d6cmovb r10l, ebx
0020b2damov rax, r9
0020b2ddand eax, 127
0020b2e0or rax, r11
0020b2e3test r9b, r9b
0020b2e6js 0x20b2c0
0020b2e8or esi, r10l
0020b2eb
0020b2ebloc_20b2eb:
0020b2ebmov [rcx+32], rax
0020b2eftest esi, esi
0020b2f1je 0x20b33e
0020b2f3lea rsi, [rip+0x252d6]
0020b2famov rdi, r8
0020b2fdcall fn_20abd0
0020b302nop [rax+rax]
0020b308
0020b308loc_20b308:
0020b308mov [rcx+4], 32
0020b30fmov [rcx+40], 0
0020b316add [rdi], 4
0020b31acall fn_20abb0
0020b31fmovq x0, rax
0020b324punpcklqdq x0, x0
0020b328movups [rcx+8], x0
0020b32ccall fn_20abb0
0020b331mov [rcx+24], rax
0020b335call fn_20abb0
0020b33amov [rcx+32], rax
0020b33e
0020b33eloc_20b33e:
0020b33eadd rsp, 8
0020b342pop rbx
0020b343pop rbp
0020b344ret
0020b345
0020b345 0f 1f 00 ...
0020b348
0020b348loc_20b348:
0020b348mov [rcx+4], 20
0020b34fmov [rcx+40], 0
0020b356mov rdx, [rdi]
0020b359mov eax, [rdx]
0020b35badd rdx, 4
0020b35fmov [rdi], rdx
0020b362bswap eax
0020b364mov eax, eax
0020b366mov [rcx+16], rax
0020b36amov [rcx+8], rax
0020b36emov rax, [rdi]
0020b371mov edx, [rax]
0020b373add rax, 4
0020b377mov [rdi], rax
0020b37abswap edx
0020b37cmov eax, edx
0020b37emov [rcx+24], rax
0020b382mov rax, [rdi]
0020b385lea rdx, [rax+4]
0020b389add rax, 8
0020b38dmov [rdi], rdx
0020b390mov edx, [rax-4]
0020b393mov [rdi], rax
0020b396bswap edx
0020b398mov eax, edx
0020b39amov [rcx+32], rax
0020b39eret
0020b39f
0020b39f 90 .
0020b3a0
0020b3a0loc_20b3a0:
0020b3a0xor esi, esi
0020b3a2jmp 0x20b168
0020b3a7
0020b3a7loc_20b3a7:
0020b3a7lea rsi, [rip+0x23c85]
0020b3aemov rdi, r8
0020b3b1call fn_20abd0
0020b080
0020b080fn_20b080:
0020b080mov rax, [rdi]
0020b083mov rcx, rdx
0020b086mov r8, rsi
0020b089mov edx, [rax]
0020b08badd rax, 4
0020b08fmov [rdi], rax
0020b092mov esi, edx
0020b094bswap esi
0020b096mov [rcx], esi
0020b098cmp edx, 0xffffffffbea69584
0020b09eje 0x20b348
0020b0a4push rbp
0020b0a5push rbx
0020b0a6sub rsp, 8
0020b0aacmp edx, 0xffffffffbfa69584
0020b0b0je 0x20b308
0020b0b6cmp edx, 0xffffffffbda69584
0020b0bcjne 0x20b3a7
0020b0c2mov rax, [rdi]
0020b0c5lea rdx, [rax+1]
0020b0c9mov [rdi], rdx
0020b0ccmovzx eax, [rax]
0020b0cfmov [rcx+40], 1
0020b0d6and eax, 63
0020b0d9mov [rcx+4], eax
0020b0dcmov rdx, [rdi]
0020b0dflea rax, [rdx+1]
0020b0e3mov [rdi], rax
0020b0e6movzx esi, [rdx]
0020b0e9mov rax, rsi
0020b0ecand eax, 127
0020b0eftest sil, sil
0020b0f2jns 0x20b3a0
0020b0f8add rdx, 2
0020b0fcxor esi, esi
0020b0femov r11l, -1
0020b104mov rbx, 0x1ffffffffffffff
0020b10enop [rax+rax]
0020b119nop [rax+rax]
0020b124nop [rax+rax]
0020b12fnop [rax+rax]
0020b13anop [rax+rax]
0020b140
0020b140loc_20b140:
0020b140mov [rdi], rdx
0020b143movzx r9l, [rdx-1]
0020b148mov r10, rax
0020b14bshl r10, 7
0020b14fcmp rbx, rax
0020b152mov rax, r9
0020b155cmovb esi, r11l
0020b159add rdx, 1
0020b15dand eax, 127
0020b160or rax, r10
0020b163test r9b, r9b
0020b166js 0x20b140
0020b168
0020b168loc_20b168:
0020b168mov [rcx+8], rax
0020b16cmov rax, [rdi]
0020b16flea rdx, [rax+1]
0020b173mov [rdi], rdx
0020b176movzx r9l, [rax]
0020b17amov rax, r9
0020b17dand eax, 127
0020b180test r9b, r9b
0020b183jns 0x20b1eb
0020b185xor r10l, r10l
0020b188mov ebx, -1
0020b18dmov rbp, 0x1ffffffffffffff
0020b197nop [rax+rax]
0020b1a2nop [rax+rax]
0020b1adnop [rax+rax]
0020b1b8nop [rax+rax]
0020b1c0
0020b1c0loc_20b1c0:
0020b1c0add rdx, 1
0020b1c4mov r11, rax
0020b1c7mov [rdi], rdx
0020b1camovzx r9l, [rdx-1]
0020b1cfshl r11, 7
0020b1d3cmp rbp, rax
0020b1d6cmovb r10l, ebx
0020b1damov rax, r9
0020b1ddand eax, 127
0020b1e0or rax, r11
0020b1e3test r9b, r9b
0020b1e6js 0x20b1c0
0020b1e8or esi, r10l
0020b1eb
0020b1ebloc_20b1eb:
0020b1ebmov [rcx+16], rax
0020b1efmov rax, [rdi]
0020b1f2lea rdx, [rax+1]
0020b1f6mov [rdi], rdx
0020b1f9movzx r9l, [rax]
0020b1fdmov rax, r9
0020b200and eax, 127
0020b203test r9b, r9b
0020b206jns 0x20b26b
0020b208xor r10l, r10l
0020b20bmov ebx, -1
0020b210mov rbp, 0x1ffffffffffffff
0020b21anop [rax+rax]
0020b225nop [rax+rax]
0020b230nop [rax+rax]
0020b23bnop [rax+rax]
0020b240
0020b240loc_20b240:
0020b240add rdx, 1
0020b244mov r11, rax
0020b247mov [rdi], rdx
0020b24amovzx r9l, [rdx-1]
0020b24fshl r11, 7
0020b253cmp rbp, rax
0020b256cmovb r10l, ebx
0020b25amov rax, r9
0020b25dand eax, 127
0020b260or rax, r11
0020b263test r9b, r9b
0020b266js 0x20b240
0020b268or esi, r10l
0020b26b
0020b26bloc_20b26b:
0020b26bmov [rcx+24], rax
0020b26fmov rdx, [rdi]
0020b272lea rax, [rdx+1]
0020b276mov [rdi], rax
0020b279cmp [rdx], 0
0020b27cjns 0x20b28d
0020b27enop
0020b280
0020b280loc_20b280:
0020b280add rax, 1
0020b284mov [rdi], rax
0020b287cmp [rax-1], 0
0020b28bjs 0x20b280
0020b28d
0020b28dloc_20b28d:
0020b28dlea rdx, [rax+1]
0020b291mov [rdi], rdx
0020b294movzx r9l, [rax]
0020b298mov rax, r9
0020b29band eax, 127
0020b29etest r9b, r9b
0020b2a1jns 0x20b2eb
0020b2a3xor r10l, r10l
0020b2a6mov ebx, -1
0020b2abmov rbp, 0x1ffffffffffffff
0020b2b5nop [rax+rax]
0020b2c0
0020b2c0loc_20b2c0:
0020b2c0add rdx, 1
0020b2c4mov r11, rax
0020b2c7mov [rdi], rdx
0020b2camovzx r9l, [rdx-1]
0020b2cfshl r11, 7
0020b2d3cmp rbp, rax
0020b2d6cmovb r10l, ebx
0020b2damov rax, r9
0020b2ddand eax, 127
0020b2e0or rax, r11
0020b2e3test r9b, r9b
0020b2e6js 0x20b2c0
0020b2e8or esi, r10l
0020b2eb
0020b2ebloc_20b2eb:
0020b2ebmov [rcx+32], rax
0020b2eftest esi, esi
0020b2f1je 0x20b33e
0020b2f3lea rsi, [rip+0x252d6]
0020b2famov rdi, r8
0020b2fdcall fn_20abd0
0020b302nop [rax+rax]
0020b308
0020b308loc_20b308:
0020b308mov [rcx+4], 32
0020b30fmov [rcx+40], 0
0020b316add [rdi], 4
0020b31acall fn_20abb0
0020b31fmovq x0, rax
0020b324punpcklqdq x0, x0
0020b328movups [rcx+8], x0
0020b32ccall fn_20abb0
0020b331mov [rcx+24], rax
0020b335call fn_20abb0
0020b33amov [rcx+32], rax
0020b33e
0020b33eloc_20b33e:
0020b33eadd rsp, 8
0020b342pop rbx
0020b343pop rbp
0020b344ret
0020b345
0020b345 0f 1f 00 ...
0020b348
0020b348loc_20b348:
0020b348mov [rcx+4], 20
0020b34fmov [rcx+40], 0
0020b356mov rdx, [rdi]
0020b359mov eax, [rdx]
0020b35badd rdx, 4
0020b35fmov [rdi], rdx
0020b362bswap eax
0020b364mov eax, eax
0020b366mov [rcx+16], rax
0020b36amov [rcx+8], rax
0020b36emov rax, [rdi]
0020b371mov edx, [rax]
0020b373add rax, 4
0020b377mov [rdi], rax
0020b37abswap edx
0020b37cmov eax, edx
0020b37emov [rcx+24], rax
0020b382mov rax, [rdi]
0020b385lea rdx, [rax+4]
0020b389add rax, 8
0020b38dmov [rdi], rdx
0020b390mov edx, [rax-4]
0020b393mov [rdi], rax
0020b396bswap edx
0020b398mov eax, edx
0020b39amov [rcx+32], rax
0020b39eret
0020b39f
0020b39f 90 .
0020b3a0
0020b3a0loc_20b3a0:
0020b3a0xor esi, esi
0020b3a2jmp 0x20b168
0020b3a7
0020b3a7loc_20b3a7:
0020b3a7lea rsi, [rip+0x23c85]
0020b3aemov rdi, r8
0020b3b1call fn_20abd0
0020b080
0020b3b6
0020b3b6 // align 0x10
0020b3b6 // align 0x10
0020b3c0
0020b3c0fn_20b3c0:
0020b3c0mov rdx, 0xaaaaaaaaaaaaaaab
0020b3capush r13
0020b3ccpush r12
0020b3cepush rbp
0020b3cfmov rbp, rdi
0020b3d2push rbx
0020b3d3sub rsp, 8
0020b3d7mov rax, [rdi+6176]
0020b3demov rbx, [rdi+6184]
0020b3e5sub rbx, rax
0020b3e8sub rsi, rax
0020b3ebsar rbx, 3
0020b3efimul rbx, rdx
0020b3f3add rbx, rbx
0020b3f6cmp rbx, 0x63fffff
0020b3fdja 0x20b463
0020b3ffmov r13, rsi
0020b402mov rdi, rbx
0020b405mov esi, 24
0020b40acall caml_stat_calloc_noexc
0020b40fmov r12, rax
0020b412test rax, rax
0020b415je 0x20b463
0020b417mov rsi, [rbp+6176]
0020b41emov rdi, rax
0020b421mov rdx, r13
0020b424call fn_f47d0
0020b429mov rdi, [rbp+6176]
0020b430lea rax, [rbp+32]
0020b434cmp rdi, rax
0020b437je 0x20b43e
0020b439call caml_stat_free
0020b43e
0020b43eloc_20b43e:
0020b43elea rax, [rbx+2*rbx]
0020b442mov [rbp+6176], r12
0020b449lea rax, [r12+8*rax]
0020b44dmov [rbp+6184], rax
0020b454add rsp, 8
0020b458lea rax, [r12+r13]
0020b45cpop rbx
0020b45dpop rbp
0020b45epop r12
0020b460pop r13
0020b462ret
0020b463
0020b463loc_20b463:
0020b463lea rsi, [rip+0x2519e]
0020b46amov edi, 4
0020b46fxor eax, eax
0020b471call caml_gc_message
0020b476mov rdi, rbp
0020b479call fn_20ad20
0020b47ecall caml_raise_out_of_memory
0020b3c0
0020b3c0fn_20b3c0:
0020b3c0mov rdx, 0xaaaaaaaaaaaaaaab
0020b3capush r13
0020b3ccpush r12
0020b3cepush rbp
0020b3cfmov rbp, rdi
0020b3d2push rbx
0020b3d3sub rsp, 8
0020b3d7mov rax, [rdi+6176]
0020b3demov rbx, [rdi+6184]
0020b3e5sub rbx, rax
0020b3e8sub rsi, rax
0020b3ebsar rbx, 3
0020b3efimul rbx, rdx
0020b3f3add rbx, rbx
0020b3f6cmp rbx, 0x63fffff
0020b3fdja 0x20b463
0020b3ffmov r13, rsi
0020b402mov rdi, rbx
0020b405mov esi, 24
0020b40acall caml_stat_calloc_noexc
0020b40fmov r12, rax
0020b412test rax, rax
0020b415je 0x20b463
0020b417mov rsi, [rbp+6176]
0020b41emov rdi, rax
0020b421mov rdx, r13
0020b424call fn_f47d0
0020b429mov rdi, [rbp+6176]
0020b430lea rax, [rbp+32]
0020b434cmp rdi, rax
0020b437je 0x20b43e
0020b439call caml_stat_free
0020b43e
0020b43eloc_20b43e:
0020b43elea rax, [rbx+2*rbx]
0020b442mov [rbp+6176], r12
0020b449lea rax, [r12+8*rax]
0020b44dmov [rbp+6184], rax
0020b454add rsp, 8
0020b458lea rax, [r12+r13]
0020b45cpop rbx
0020b45dpop rbp
0020b45epop r12
0020b460pop r13
0020b462ret
0020b463
0020b463loc_20b463:
0020b463lea rsi, [rip+0x2519e]
0020b46amov edi, 4
0020b46fxor eax, eax
0020b471call caml_gc_message
0020b476mov rdi, rbp
0020b479call fn_20ad20
0020b47ecall caml_raise_out_of_memory
0020b3c0
0020b483
0020b483 // align 0x20
0020b483 // align 0x20
0020b4a0
0020b4a0fn_20b4a0:
0020b4a0push r15
0020b4a2push r14
0020b4a4mov r14, rdi
0020b4a7push r13
0020b4a9push r12
0020b4abpush rbp
0020b4acpush rbx
0020b4adsub rsp, 72
0020b4b1mov rax, [rip+0x6ab30]
0020b4b8mov [rsp+24], rsi
0020b4bdmov rbp, [0x28]
0020b4c6mov [rsp+56], rbp
0020b4cbmov rbp, rdx
0020b4cemov rax, [rax]
0020b4d2mov [rsp+8], rax
0020b4d7mov rax, [rdi+6176]
0020b4delea rbx, [rax+24]
0020b4e2cmp rbx, [rdi+6184]
0020b4e9jae 0x20b7c1
0020b4ef
0020b4efloc_20b4ef:
0020b4efmov [rbx+16], 0
0020b4f6mov [rbx], rbp
0020b4f9mov [rbx+8], 1
0020b501mov rdx, [r14+6176]
0020b508nop [rax+rax]
0020b510
0020b510loc_20b510:
0020b510cmp rbx, rdx
0020b513je 0x20b5a4
0020b519
0020b519loc_20b519:
0020b519mov eax, [rbx+16]
0020b51cmov r13, [rbx]
0020b51fcmp eax, 1
0020b522je 0x20b610
0020b528cmp eax, 2
0020b52bje 0x20b5f0
0020b531test eax, eax
0020b533jne 0x20b510
0020b535lea rax, [r13+8]
0020b539sub [rbx+8], 1
0020b53elea rdx, [rbx-24]
0020b542mov [rbx], rax
0020b545mov rax, [r14]
0020b548lea r15, [rax+1]
0020b54cmov [r14], r15
0020b54fmovzx r10l, [rax]
0020b553cmove rbx, rdx
0020b557mov rbp, r10
0020b55acmp r10b, 63
0020b55ejbe 0x20b638
0020b564cmp r10l, 127
0020b568jbe 0x20b6e0
0020b56eshr r10l, 4
0020b572and ebp, 15
0020b575mov r15l, r10l
0020b578and r15l, 7
0020b57c
0020b57cloc_20b57c:
0020b57ctest r15, r15
0020b57fjne 0x20b6f0
0020b585mov edi, ebp
0020b587call caml_atom
0020b58cmov r12, rax
0020b58fnop
0020b590
0020b590loc_20b590:
0020b590mov [r13], r12
0020b594mov rdx, [r14+6176]
0020b59bcmp rbx, rdx
0020b59ejne 0x20b519
0020b5a4
0020b5a4loc_20b5a4:
0020b5a4lea rbp, [r14+32]
0020b5a8cmp rbx, rbp
0020b5abje 0x20b5ca
0020b5admov rdi, rbx
0020b5b0call caml_stat_free
0020b5b5lea rax, [r14+6176]
0020b5bcmov [r14+6176], rbp
0020b5c3mov [r14+6184], rax
0020b5ca
0020b5caloc_20b5ca:
0020b5camov rax, [rsp+56]
0020b5cfsub rax, [0x28]
0020b5d8jne 0x20bd31
0020b5deadd rsp, 72
0020b5e2pop rbx
0020b5e3pop rbp
0020b5e4pop r12
0020b5e6pop r13
0020b5e8pop r14
0020b5eapop r15
0020b5ecret
0020b5ed
0020b5ed 0f 1f 00 ...
0020b5f0
0020b5f0loc_20b5f0:
0020b5f0mov rax, [r13]
0020b5f4add rax, [rbx+8]
0020b5f8sub rbx, 24
0020b5fcmov [r13], rax
0020b600mov rdx, [r14+6176]
0020b607jmp 0x20b510
0020b60c
0020b60c 0f 1f 40 00 ..@.
0020b610
0020b610loc_20b610:
0020b610mov rax, [r13+8]
0020b614test rax, rax
0020b617js 0x20b628
0020b619mov rdi, r13
0020b61ccall caml_set_oo_id
0020b621mov rdx, [r14+6176]
0020b628
0020b628loc_20b628:
0020b628sub rbx, 24
0020b62cjmp 0x20b510
0020b631
0020b631 0f 1f 80 00 00 00 00 .......
0020b638
0020b638loc_20b638:
0020b638cmp r10l, 31
0020b63cjbe 0x20b6c0
0020b642mov eax, r10l
0020b645and ebp, 31
0020b648and eax, 31
0020b64bmov [rsp+16], al
0020b64f
0020b64floc_20b64f:
0020b64flea r15, [rbp+8]
0020b653mov rsi, [rsp+8]
0020b658mov ecx, 252
0020b65dmov rdi, r14
0020b660mov rdx, r15
0020b663shr rdx, 3
0020b667call fn_20af70
0020b66cmov r12, rax
0020b66fmov rax, [r14+24]
0020b673test rax, rax
0020b676je 0x20b688
0020b678mov rdx, [r14+16]
0020b67clea rsi, [rdx+1]
0020b680mov [r14+16], rsi
0020b684mov [rax+8*rdx], r12
0020b688
0020b688loc_20b688:
0020b688mov rax, r15
0020b68bmov rdi, r12
0020b68eand rax, -8
0020b692lea rdx, [rax+r12-8]
0020b697mov [rdx], 0
0020b69elea rdx, [rax-1]
0020b6a2sub dl, [rsp+16]
0020b6a6mov [rax+r12-1], dl
0020b6abmov rsi, [r14]
0020b6aemov rdx, rbp
0020b6b1call fn_f47d0
0020b6b6add [r14], rbp
0020b6b9jmp 0x20b590
0020b6be
0020b6be 66 90 f.
0020b6c0
0020b6c0loc_20b6c0:
0020b6c0cmp r10b, 25
0020b6c4ja 0x20bd18
0020b6calea rcx, [rip+0x2634b]
0020b6d1movsxd rdx, [rcx+4*r10]
0020b6d5add rdx, rcx
0020b6d8jmp rdx
0020b6db
0020b6db 0f 1f 44 00 00 ..D..
0020b6e0
0020b6e0loc_20b6e0:
0020b6e0lea rcx, [r10+r10]
0020b6e4and ecx, 126
0020b6e7lea r12, [rcx+1]
0020b6ebjmp 0x20b590
0020b6f0
0020b6f0loc_20b6f0:
0020b6f0mov rsi, [rsp+8]
0020b6f5mov ecx, ebp
0020b6f7mov rdx, r15
0020b6famov rdi, r14
0020b6fdcall fn_20af70
0020b702mov r12, rax
0020b705mov rax, [r14+24]
0020b709test rax, rax
0020b70cje 0x20b71e
0020b70emov rdx, [r14+16]
0020b712lea rsi, [rdx+1]
0020b716mov [r14+16], rsi
0020b71amov [rax+8*rdx], r12
0020b71e
0020b71eloc_20b71e:
0020b71elea rsi, [rbx+24]
0020b722mov rax, [r14+6184]
0020b729mov rbx, rsi
0020b72ccmp ebp, 248
0020b732je 0x20b750
0020b734cmp rsi, rax
0020b737jae 0x20b7d1
0020b73d
0020b73dloc_20b73d:
0020b73dmov [rbx+16], 0
0020b744mov [rbx], r12
0020b747mov [rbx+8], r15
0020b74bjmp 0x20b590
0020b750
0020b750loc_20b750:
0020b750cmp r15, 2
0020b754je 0x20b77a
0020b756cmp rsi, rax
0020b759jae 0x20ba36
0020b75f
0020b75floc_20b75f:
0020b75flea rax, [r12+16]
0020b764sub r15, 2
0020b768mov [rbx+16], 0
0020b76flea rsi, [rbx+24]
0020b773mov [rbx], rax
0020b776mov [rbx+8], r15
0020b77a
0020b77aloc_20b77a:
0020b77acmp rsi, [r14+6184]
0020b781jae 0x20bc2a
0020b787
0020b787loc_20b787:
0020b787mov [rsi+16], 1
0020b78elea rbx, [rsi+24]
0020b792mov [rsi], r12
0020b795mov [rsi+8], 1
0020b79dcmp rbx, [r14+6184]
0020b7a4jae 0x20bc3a
0020b7aa
0020b7aaloc_20b7aa:
0020b7aamov [rbx+16], 0
0020b7b1mov [rbx], r12
0020b7b4mov [rbx+8], 2
0020b7bcjmp 0x20b590
0020b7c1
0020b7c1loc_20b7c1:
0020b7c1mov rsi, rbx
0020b7c4call fn_20b3c0
0020b7c9mov rbx, rax
0020b7ccjmp 0x20b4ef
0020b7d1
0020b7d1loc_20b7d1:
0020b7d1mov rdi, r14
0020b7d4call fn_20b3c0
0020b7d9mov rbx, rax
0020b7dcjmp 0x20b73d
0020b7e1mov rdi, r14
0020b7e4call fn_20abb0
0020b7e9mov r15, rax
0020b7ec
0020b7ecloc_20b7ec:
0020b7ecmov rsi, [rsp+8]
0020b7f1mov ecx, 254
0020b7f6mov rdx, r15
0020b7f9mov rdi, r14
0020b7fcmov [rsp+16], r10l
0020b801call fn_20af70
0020b806mov r10l, [rsp+16]
0020b80bmov r12, rax
0020b80emov rax, [r14+24]
0020b812test rax, rax
0020b815je 0x20b827
0020b817mov rdx, [r14+16]
0020b81blea rsi, [rdx+1]
0020b81fmov [r14+16], rsi
0020b823mov [rax+8*rdx], r12
0020b827
0020b827loc_20b827:
0020b827lea rbp, [8*r15]
0020b82fmov rsi, [r14]
0020b832mov rdi, r12
0020b835mov [rsp+16], r10l
0020b83amov rdx, rbp
0020b83dcall fn_f47d0
0020b842mov r10l, [rsp+16]
0020b847add [r14], rbp
0020b84acmp r10l, 14
0020b84eje 0x20b590
0020b854cmp r10l, 7
0020b858je 0x20b590
0020b85etest r15, r15
0020b861je 0x20b590
0020b867lea rsi, [rbp+r12]
0020b86cnop [rax+rax]
0020b877nop [rax+rax]
0020b880
0020b880loc_20b880:
0020b880mov rdx, [rax]
0020b883add rax, 8
0020b887bswap rdx
0020b88amov [rax-8], rdx
0020b88ecmp rsi, rax
0020b891jne 0x20b880
0020b893jmp 0x20b590
0020b898mov rdi, r15
0020b89bmov [rsp+16], r10l
0020b8a0call caml_find_custom_operations
0020b8a5mov r10l, [rsp+16]
0020b8aatest rax, rax
0020b8admov rbp, rax
0020b8b0je 0x20bd36
0020b8b6cmp r10l, 25
0020b8baje 0x20bc93
0020b8c0
0020b8c0loc_20b8c0:
0020b8c0mov rax, [r14]
0020b8c3nop [rax+rax]
0020b8cenop
0020b8d0
0020b8d0loc_20b8d0:
0020b8d0mov rdx, rax
0020b8d3add rax, 1
0020b8d7mov [r14], rax
0020b8dacmp [rax-1], 0
0020b8dejne 0x20b8d0
0020b8e0cmp r10l, 25
0020b8e4jne 0x20bc4d
0020b8eamov rax, [rbp+56]
0020b8eemov r10, [rax+8]
0020b8f2
0020b8f2loc_20b8f2:
0020b8f2lea rdx, [r10+7]
0020b8f6mov rsi, [rsp+8]
0020b8fbmov ecx, 255
0020b900mov rdi, r14
0020b903shr rdx, 3
0020b907mov [rsp+16], r10
0020b90cadd rdx, 1
0020b910call fn_20af70
0020b915mov [rax], rbp
0020b918mov r12, rax
0020b91blea rdi, [rax+8]
0020b91fcall [rbp+40]
0020b922mov r10, [rsp+16]
0020b927cmp r10, rax
0020b92ajne 0x20bcfc
0020b930mov rax, [r14+24]
0020b934test rax, rax
0020b937je 0x20b949
0020b939mov rdx, [r14+16]
0020b93dlea rsi, [rdx+1]
0020b941mov [r14+16], rsi
0020b945mov [rax+8*rdx], r12
0020b949
0020b949loc_20b949:
0020b949cmp [rbp+8], 0
0020b94eje 0x20b590
0020b954cmp r12, [rip+0x16cc6d]
0020b95bjae 0x20b590
0020b961cmp [rip+0x16cc68], r12
0020b968jae 0x20b590
0020b96emov rax, [rsp+8]
0020b973mov rbp, [rax+96]
0020b977mov rax, [rbp+136]
0020b97ecmp rax, [rbp+144]
0020b985jae 0x20bce7
0020b98b
0020b98bloc_20b98b:
0020b98bmovdqa x0, [rip+0x1e79d]
0020b993lea rdx, [rax+24]
0020b997mov [rbp+136], rdx
0020b99emov [rax], r12
0020b9a1movups [rax+8], x0
0020b9a5jmp 0x20b590
0020b9aamov r15l, [rax+1]
0020b9aeadd rax, 5
0020b9b2mov [r14], rax
0020b9b5bswap r15l
0020b9b8mov r15l, r15l
0020b9bbjmp 0x20b7ec
0020b9c0mov rsi, [rsp+8]
0020b9c5mov ecx, 253
0020b9camov edx, 1
0020b9cfmov rdi, r14
0020b9d2mov [rsp+16], r10l
0020b9d7call fn_20af70
0020b9dcmov r10l, [rsp+16]
0020b9e1mov r12, rax
0020b9e4mov rax, [r14+24]
0020b9e8test rax, rax
0020b9ebje 0x20b9fd
0020b9edmov rdx, [r14+16]
0020b9f1lea rsi, [rdx+1]
0020b9f5mov [r14+16], rsi
0020b9f9mov [rax+8*rdx], r12
0020b9fd
0020b9fdloc_20b9fd:
0020b9fdmov rax, [r14]
0020ba00mov rax, [rax]
0020ba03mov [r12], rax
0020ba07add [r14], 8
0020ba0bcmp r10l, 12
0020ba0fje 0x20b590
0020ba15mov rax, [r12]
0020ba19bswap rax
0020ba1cmov [r12], rax
0020ba20jmp 0x20b590
0020ba25lea rdx, [rax+2]
0020ba29mov [r14], rdx
0020ba2cmovzx r15l, [rax+1]
0020ba31jmp 0x20b7ec
0020ba36
0020ba36loc_20ba36:
0020ba36mov rdi, r14
0020ba39call fn_20b3c0
0020ba3emov rbx, rax
0020ba41jmp 0x20b75f
0020ba46mov rdi, r14
0020ba49call fn_20abb0
0020ba4emov [rsp+16], al
0020ba52mov rbp, rax
0020ba55jmp 0x20b64f
0020ba5amov ebp, [rax+1]
0020ba5dadd rax, 5
0020ba61add rbx, 24
0020ba65mov [r14], rax
0020ba68bswap ebp
0020ba6acmp rbx, [r14+6184]
0020ba71jae 0x20bcb8
0020ba77
0020ba77loc_20ba77:
0020ba77mov eax, ebp
0020ba79mov [rbx], r13
0020ba7cadd rbx, 24
0020ba80mov [rbx-8], 2
0020ba87mov [rbx-16], rax
0020ba8bcmp rbx, [r14+6184]
0020ba92jae 0x20bc80
0020ba98
0020ba98loc_20ba98:
0020ba98mov [rbx+16], 0
0020ba9fmov [rbx], r13
0020baa2mov [rbx+8], 1
0020baaamov rdx, [r14+6176]
0020bab1jmp 0x20b510
0020bab6mov rdi, r14
0020bab9call fn_20abb0
0020babemov r15, rax
0020bac1movzx ebp, al
0020bac4shr r15, 10
0020bac8jmp 0x20b57c
0020bacdmov rdi, r14
0020bad0call fn_20abb0
0020bad5
0020bad5loc_20bad5:
0020bad5cmp [r14+6200], 0
0020baddjne 0x20bae9
0020badfmov rdi, [r14+16]
0020bae3sub rdi, rax
0020bae6mov rax, rdi
0020bae9
0020bae9loc_20bae9:
0020bae9mov rdx, [r14+24]
0020baedmov r12, [rdx+8*rax]
0020baf1jmp 0x20b590
0020baf6mov edx, [rax+1]
0020baf9add rax, 5
0020bafdmov [r14], rax
0020bb00bswap edx
0020bb02movsxd rax, edx
0020bb05lea r12, [rax+rax+1]
0020bb0ajmp 0x20b590
0020bb0fmov rdi, r14
0020bb12call fn_20abb0
0020bb17lea r12, [rax+rax+1]
0020bb1cjmp 0x20b590
0020bb21lea rdx, [rax+2]
0020bb25mov [r14], rdx
0020bb28movzx eax, [rax+1]
0020bb2cjmp 0x20bad5
0020bb2emovzx edx, [rax+1]
0020bb32add rax, 3
0020bb36mov [r14], rax
0020bb39rol dx, 8
0020bb3dmovzx eax, dx
0020bb40jmp 0x20bad5
0020bb42mov ebp, [rax+1]
0020bb45add rax, 5
0020bb49mov [r14], rax
0020bb4cmov r15l, ebp
0020bb4fshr ebp, 24
0020bb52bswap r15l
0020bb55mov r15l, r15l
0020bb58shr r15, 10
0020bb5cjmp 0x20b57c
0020bb61lea rdx, [rax+2]
0020bb65mov [r14], rdx
0020bb68movzx ebp, [rax+1]
0020bb6cmov [rsp+16], bpl
0020bb71jmp 0x20b64f
0020bb76mov edx, [rax+1]
0020bb79add rax, 5
0020bb7dmov [r14], rax
0020bb80bswap edx
0020bb82mov eax, edx
0020bb84jmp 0x20bad5
0020bb89mov r15l, [rax+1]
0020bb8dadd rax, 5
0020bb91mov [r14], rax
0020bb94bswap r15l
0020bb97mov [rsp+16], r15b
0020bb9cmov ebp, r15l
0020bb9fjmp 0x20b64f
0020bba4lea rdx, [rax+2]
0020bba8mov [r14], rdx
0020bbabmovsx rax, [rax+1]
0020bbb0lea r12, [rax+rax+1]
0020bbb5jmp 0x20b590
0020bbbamovzx edx, [rax+1]
0020bbbeadd rax, 3
0020bbc2mov [r14], rax
0020bbc5rol dx, 8
0020bbc9movsx rax, dx
0020bbcdlea r12, [rax+rax+1]
0020bbd2jmp 0x20b590
0020bbd7lea rdx, [rax+5]
0020bbdbmov ebp, [rax+1]
0020bbdeadd rax, 21
0020bbe2lea r15, [rsp+32]
0020bbe7mov [r14], rdx
0020bbeamovdqu x0, [rax-16]
0020bbefmov rdi, r15
0020bbf2mov [r14], rax
0020bbf5bswap ebp
0020bbf7mov ebp, ebp
0020bbf9movaps [rsp+32], x0
0020bbfecall caml_find_code_fragment_by_digest
0020bc03test rax, rax
0020bc06je 0x20bccb
0020bc0cadd rbp, [rax]
0020bc0fcmp rbp, [rax+8]
0020bc13jae 0x20bccb
0020bc19test rbp, rbp
0020bc1cje 0x20bccb
0020bc22mov r12, rbp
0020bc25jmp 0x20b590
0020bc2a
0020bc2aloc_20bc2a:
0020bc2amov rdi, r14
0020bc2dcall fn_20b3c0
0020bc32mov rsi, rax
0020bc35jmp 0x20b787
0020bc3a
0020bc3aloc_20bc3a:
0020bc3amov rsi, rbx
0020bc3dmov rdi, r14
0020bc40call fn_20b3c0
0020bc45mov rbx, rax
0020bc48jmp 0x20b7aa
0020bc4d
0020bc4dloc_20bc4d:
0020bc4dadd rdx, 5
0020bc51mov rdi, r14
0020bc54mov [r14], rdx
0020bc57call fn_20abb0
0020bc5cmov r10, rax
0020bc5fjmp 0x20b8f2
0020bc64mov rdi, r14
0020bc67call fn_20ad20
0020bc6cmov rdi, [rsp+24]
0020bc71lea rsi, [rip+0x249b8]
0020bc78call fn_20abd0
0020bc7dnop [rax]
0020bc80
0020bc80loc_20bc80:
0020bc80mov rsi, rbx
0020bc83mov rdi, r14
0020bc86call fn_20b3c0
0020bc8bmov rbx, rax
0020bc8ejmp 0x20ba98
0020bc93
0020bc93loc_20bc93:
0020bc93cmp [rax+56], 0
0020bc98jne 0x20b8c0
0020bc9emov rsi, [rsp+24]
0020bca3mov rcx, r15
0020bca6lea rdx, [rip+0x249f3]
0020bcadmov rdi, r14
0020bcb0call fn_20ae60
0020bcb5nop [rax]
0020bcb8
0020bcb8loc_20bcb8:
0020bcb8mov rsi, rbx
0020bcbbmov rdi, r14
0020bcbecall fn_20b3c0
0020bcc3mov rbx, rax
0020bcc6jmp 0x20ba77
0020bccb
0020bccbloc_20bccb:
0020bccblea rdi, [rip+0x23299]
0020bcd2call caml_named_value
0020bcd7test rax, rax
0020bcdaje 0x20bd4d
0020bcdcmov rax, [rax]
0020bcdfmov r12, [rax]
0020bce2jmp 0x20b590
0020bce7
0020bce7loc_20bce7:
0020bce7lea rdi, [rbp+112]
0020bcebcall caml_realloc_custom_table
0020bcf0mov rax, [rbp+136]
0020bcf7jmp 0x20b98b
0020bcfc
0020bcfcloc_20bcfc:
0020bcfcmov rsi, [rsp+24]
0020bd01mov rcx, r15
0020bd04lea rdx, [rip+0x249bd]
0020bd0bmov rdi, r14
0020bd0ecall fn_20ae60
0020bd13nop [rax+rax]
0020bd18
0020bd18loc_20bd18:
0020bd18mov rdi, r14
0020bd1bcall fn_20ad20
0020bd20mov rdi, [rsp+24]
0020bd25lea rsi, [rip+0x2325d]
0020bd2ccall fn_20abd0
0020bd31
0020bd31loc_20bd31:
0020bd31call fn_f4590
0020bd36
0020bd36loc_20bd36:
0020bd36mov rsi, [rsp+24]
0020bd3bmov rcx, r15
0020bd3elea rdx, [rip+0x2493b]
0020bd45mov rdi, r14
0020bd48call fn_20ae60
0020bd4d
0020bd4dloc_20bd4d:
0020bd4dmov rdi, r14
0020bd50call fn_20ad20
0020bd55mov rdi, r15
0020bd58call fn_20ac00
0020b4a0
0020b4a0fn_20b4a0:
0020b4a0push r15
0020b4a2push r14
0020b4a4mov r14, rdi
0020b4a7push r13
0020b4a9push r12
0020b4abpush rbp
0020b4acpush rbx
0020b4adsub rsp, 72
0020b4b1mov rax, [rip+0x6ab30]
0020b4b8mov [rsp+24], rsi
0020b4bdmov rbp, [0x28]
0020b4c6mov [rsp+56], rbp
0020b4cbmov rbp, rdx
0020b4cemov rax, [rax]
0020b4d2mov [rsp+8], rax
0020b4d7mov rax, [rdi+6176]
0020b4delea rbx, [rax+24]
0020b4e2cmp rbx, [rdi+6184]
0020b4e9jae 0x20b7c1
0020b4ef
0020b4efloc_20b4ef:
0020b4efmov [rbx+16], 0
0020b4f6mov [rbx], rbp
0020b4f9mov [rbx+8], 1
0020b501mov rdx, [r14+6176]
0020b508nop [rax+rax]
0020b510
0020b510loc_20b510:
0020b510cmp rbx, rdx
0020b513je 0x20b5a4
0020b519
0020b519loc_20b519:
0020b519mov eax, [rbx+16]
0020b51cmov r13, [rbx]
0020b51fcmp eax, 1
0020b522je 0x20b610
0020b528cmp eax, 2
0020b52bje 0x20b5f0
0020b531test eax, eax
0020b533jne 0x20b510
0020b535lea rax, [r13+8]
0020b539sub [rbx+8], 1
0020b53elea rdx, [rbx-24]
0020b542mov [rbx], rax
0020b545mov rax, [r14]
0020b548lea r15, [rax+1]
0020b54cmov [r14], r15
0020b54fmovzx r10l, [rax]
0020b553cmove rbx, rdx
0020b557mov rbp, r10
0020b55acmp r10b, 63
0020b55ejbe 0x20b638
0020b564cmp r10l, 127
0020b568jbe 0x20b6e0
0020b56eshr r10l, 4
0020b572and ebp, 15
0020b575mov r15l, r10l
0020b578and r15l, 7
0020b57c
0020b57cloc_20b57c:
0020b57ctest r15, r15
0020b57fjne 0x20b6f0
0020b585mov edi, ebp
0020b587call caml_atom
0020b58cmov r12, rax
0020b58fnop
0020b590
0020b590loc_20b590:
0020b590mov [r13], r12
0020b594mov rdx, [r14+6176]
0020b59bcmp rbx, rdx
0020b59ejne 0x20b519
0020b5a4
0020b5a4loc_20b5a4:
0020b5a4lea rbp, [r14+32]
0020b5a8cmp rbx, rbp
0020b5abje 0x20b5ca
0020b5admov rdi, rbx
0020b5b0call caml_stat_free
0020b5b5lea rax, [r14+6176]
0020b5bcmov [r14+6176], rbp
0020b5c3mov [r14+6184], rax
0020b5ca
0020b5caloc_20b5ca:
0020b5camov rax, [rsp+56]
0020b5cfsub rax, [0x28]
0020b5d8jne 0x20bd31
0020b5deadd rsp, 72
0020b5e2pop rbx
0020b5e3pop rbp
0020b5e4pop r12
0020b5e6pop r13
0020b5e8pop r14
0020b5eapop r15
0020b5ecret
0020b5ed
0020b5ed 0f 1f 00 ...
0020b5f0
0020b5f0loc_20b5f0:
0020b5f0mov rax, [r13]
0020b5f4add rax, [rbx+8]
0020b5f8sub rbx, 24
0020b5fcmov [r13], rax
0020b600mov rdx, [r14+6176]
0020b607jmp 0x20b510
0020b60c
0020b60c 0f 1f 40 00 ..@.
0020b610
0020b610loc_20b610:
0020b610mov rax, [r13+8]
0020b614test rax, rax
0020b617js 0x20b628
0020b619mov rdi, r13
0020b61ccall caml_set_oo_id
0020b621mov rdx, [r14+6176]
0020b628
0020b628loc_20b628:
0020b628sub rbx, 24
0020b62cjmp 0x20b510
0020b631
0020b631 0f 1f 80 00 00 00 00 .......
0020b638
0020b638loc_20b638:
0020b638cmp r10l, 31
0020b63cjbe 0x20b6c0
0020b642mov eax, r10l
0020b645and ebp, 31
0020b648and eax, 31
0020b64bmov [rsp+16], al
0020b64f
0020b64floc_20b64f:
0020b64flea r15, [rbp+8]
0020b653mov rsi, [rsp+8]
0020b658mov ecx, 252
0020b65dmov rdi, r14
0020b660mov rdx, r15
0020b663shr rdx, 3
0020b667call fn_20af70
0020b66cmov r12, rax
0020b66fmov rax, [r14+24]
0020b673test rax, rax
0020b676je 0x20b688
0020b678mov rdx, [r14+16]
0020b67clea rsi, [rdx+1]
0020b680mov [r14+16], rsi
0020b684mov [rax+8*rdx], r12
0020b688
0020b688loc_20b688:
0020b688mov rax, r15
0020b68bmov rdi, r12
0020b68eand rax, -8
0020b692lea rdx, [rax+r12-8]
0020b697mov [rdx], 0
0020b69elea rdx, [rax-1]
0020b6a2sub dl, [rsp+16]
0020b6a6mov [rax+r12-1], dl
0020b6abmov rsi, [r14]
0020b6aemov rdx, rbp
0020b6b1call fn_f47d0
0020b6b6add [r14], rbp
0020b6b9jmp 0x20b590
0020b6be
0020b6be 66 90 f.
0020b6c0
0020b6c0loc_20b6c0:
0020b6c0cmp r10b, 25
0020b6c4ja 0x20bd18
0020b6calea rcx, [rip+0x2634b]
0020b6d1movsxd rdx, [rcx+4*r10]
0020b6d5add rdx, rcx
0020b6d8jmp rdx
0020b6db
0020b6db 0f 1f 44 00 00 ..D..
0020b6e0
0020b6e0loc_20b6e0:
0020b6e0lea rcx, [r10+r10]
0020b6e4and ecx, 126
0020b6e7lea r12, [rcx+1]
0020b6ebjmp 0x20b590
0020b6f0
0020b6f0loc_20b6f0:
0020b6f0mov rsi, [rsp+8]
0020b6f5mov ecx, ebp
0020b6f7mov rdx, r15
0020b6famov rdi, r14
0020b6fdcall fn_20af70
0020b702mov r12, rax
0020b705mov rax, [r14+24]
0020b709test rax, rax
0020b70cje 0x20b71e
0020b70emov rdx, [r14+16]
0020b712lea rsi, [rdx+1]
0020b716mov [r14+16], rsi
0020b71amov [rax+8*rdx], r12
0020b71e
0020b71eloc_20b71e:
0020b71elea rsi, [rbx+24]
0020b722mov rax, [r14+6184]
0020b729mov rbx, rsi
0020b72ccmp ebp, 248
0020b732je 0x20b750
0020b734cmp rsi, rax
0020b737jae 0x20b7d1
0020b73d
0020b73dloc_20b73d:
0020b73dmov [rbx+16], 0
0020b744mov [rbx], r12
0020b747mov [rbx+8], r15
0020b74bjmp 0x20b590
0020b750
0020b750loc_20b750:
0020b750cmp r15, 2
0020b754je 0x20b77a
0020b756cmp rsi, rax
0020b759jae 0x20ba36
0020b75f
0020b75floc_20b75f:
0020b75flea rax, [r12+16]
0020b764sub r15, 2
0020b768mov [rbx+16], 0
0020b76flea rsi, [rbx+24]
0020b773mov [rbx], rax
0020b776mov [rbx+8], r15
0020b77a
0020b77aloc_20b77a:
0020b77acmp rsi, [r14+6184]
0020b781jae 0x20bc2a
0020b787
0020b787loc_20b787:
0020b787mov [rsi+16], 1
0020b78elea rbx, [rsi+24]
0020b792mov [rsi], r12
0020b795mov [rsi+8], 1
0020b79dcmp rbx, [r14+6184]
0020b7a4jae 0x20bc3a
0020b7aa
0020b7aaloc_20b7aa:
0020b7aamov [rbx+16], 0
0020b7b1mov [rbx], r12
0020b7b4mov [rbx+8], 2
0020b7bcjmp 0x20b590
0020b7c1
0020b7c1loc_20b7c1:
0020b7c1mov rsi, rbx
0020b7c4call fn_20b3c0
0020b7c9mov rbx, rax
0020b7ccjmp 0x20b4ef
0020b7d1
0020b7d1loc_20b7d1:
0020b7d1mov rdi, r14
0020b7d4call fn_20b3c0
0020b7d9mov rbx, rax
0020b7dcjmp 0x20b73d
0020b7e1mov rdi, r14
0020b7e4call fn_20abb0
0020b7e9mov r15, rax
0020b7ec
0020b7ecloc_20b7ec:
0020b7ecmov rsi, [rsp+8]
0020b7f1mov ecx, 254
0020b7f6mov rdx, r15
0020b7f9mov rdi, r14
0020b7fcmov [rsp+16], r10l
0020b801call fn_20af70
0020b806mov r10l, [rsp+16]
0020b80bmov r12, rax
0020b80emov rax, [r14+24]
0020b812test rax, rax
0020b815je 0x20b827
0020b817mov rdx, [r14+16]
0020b81blea rsi, [rdx+1]
0020b81fmov [r14+16], rsi
0020b823mov [rax+8*rdx], r12
0020b827
0020b827loc_20b827:
0020b827lea rbp, [8*r15]
0020b82fmov rsi, [r14]
0020b832mov rdi, r12
0020b835mov [rsp+16], r10l
0020b83amov rdx, rbp
0020b83dcall fn_f47d0
0020b842mov r10l, [rsp+16]
0020b847add [r14], rbp
0020b84acmp r10l, 14
0020b84eje 0x20b590
0020b854cmp r10l, 7
0020b858je 0x20b590
0020b85etest r15, r15
0020b861je 0x20b590
0020b867lea rsi, [rbp+r12]
0020b86cnop [rax+rax]
0020b877nop [rax+rax]
0020b880
0020b880loc_20b880:
0020b880mov rdx, [rax]
0020b883add rax, 8
0020b887bswap rdx
0020b88amov [rax-8], rdx
0020b88ecmp rsi, rax
0020b891jne 0x20b880
0020b893jmp 0x20b590
0020b898mov rdi, r15
0020b89bmov [rsp+16], r10l
0020b8a0call caml_find_custom_operations
0020b8a5mov r10l, [rsp+16]
0020b8aatest rax, rax
0020b8admov rbp, rax
0020b8b0je 0x20bd36
0020b8b6cmp r10l, 25
0020b8baje 0x20bc93
0020b8c0
0020b8c0loc_20b8c0:
0020b8c0mov rax, [r14]
0020b8c3nop [rax+rax]
0020b8cenop
0020b8d0
0020b8d0loc_20b8d0:
0020b8d0mov rdx, rax
0020b8d3add rax, 1
0020b8d7mov [r14], rax
0020b8dacmp [rax-1], 0
0020b8dejne 0x20b8d0
0020b8e0cmp r10l, 25
0020b8e4jne 0x20bc4d
0020b8eamov rax, [rbp+56]
0020b8eemov r10, [rax+8]
0020b8f2
0020b8f2loc_20b8f2:
0020b8f2lea rdx, [r10+7]
0020b8f6mov rsi, [rsp+8]
0020b8fbmov ecx, 255
0020b900mov rdi, r14
0020b903shr rdx, 3
0020b907mov [rsp+16], r10
0020b90cadd rdx, 1
0020b910call fn_20af70
0020b915mov [rax], rbp
0020b918mov r12, rax
0020b91blea rdi, [rax+8]
0020b91fcall [rbp+40]
0020b922mov r10, [rsp+16]
0020b927cmp r10, rax
0020b92ajne 0x20bcfc
0020b930mov rax, [r14+24]
0020b934test rax, rax
0020b937je 0x20b949
0020b939mov rdx, [r14+16]
0020b93dlea rsi, [rdx+1]
0020b941mov [r14+16], rsi
0020b945mov [rax+8*rdx], r12
0020b949
0020b949loc_20b949:
0020b949cmp [rbp+8], 0
0020b94eje 0x20b590
0020b954cmp r12, [rip+0x16cc6d]
0020b95bjae 0x20b590
0020b961cmp [rip+0x16cc68], r12
0020b968jae 0x20b590
0020b96emov rax, [rsp+8]
0020b973mov rbp, [rax+96]
0020b977mov rax, [rbp+136]
0020b97ecmp rax, [rbp+144]
0020b985jae 0x20bce7
0020b98b
0020b98bloc_20b98b:
0020b98bmovdqa x0, [rip+0x1e79d]
0020b993lea rdx, [rax+24]
0020b997mov [rbp+136], rdx
0020b99emov [rax], r12
0020b9a1movups [rax+8], x0
0020b9a5jmp 0x20b590
0020b9aamov r15l, [rax+1]
0020b9aeadd rax, 5
0020b9b2mov [r14], rax
0020b9b5bswap r15l
0020b9b8mov r15l, r15l
0020b9bbjmp 0x20b7ec
0020b9c0mov rsi, [rsp+8]
0020b9c5mov ecx, 253
0020b9camov edx, 1
0020b9cfmov rdi, r14
0020b9d2mov [rsp+16], r10l
0020b9d7call fn_20af70
0020b9dcmov r10l, [rsp+16]
0020b9e1mov r12, rax
0020b9e4mov rax, [r14+24]
0020b9e8test rax, rax
0020b9ebje 0x20b9fd
0020b9edmov rdx, [r14+16]
0020b9f1lea rsi, [rdx+1]
0020b9f5mov [r14+16], rsi
0020b9f9mov [rax+8*rdx], r12
0020b9fd
0020b9fdloc_20b9fd:
0020b9fdmov rax, [r14]
0020ba00mov rax, [rax]
0020ba03mov [r12], rax
0020ba07add [r14], 8
0020ba0bcmp r10l, 12
0020ba0fje 0x20b590
0020ba15mov rax, [r12]
0020ba19bswap rax
0020ba1cmov [r12], rax
0020ba20jmp 0x20b590
0020ba25lea rdx, [rax+2]
0020ba29mov [r14], rdx
0020ba2cmovzx r15l, [rax+1]
0020ba31jmp 0x20b7ec
0020ba36
0020ba36loc_20ba36:
0020ba36mov rdi, r14
0020ba39call fn_20b3c0
0020ba3emov rbx, rax
0020ba41jmp 0x20b75f
0020ba46mov rdi, r14
0020ba49call fn_20abb0
0020ba4emov [rsp+16], al
0020ba52mov rbp, rax
0020ba55jmp 0x20b64f
0020ba5amov ebp, [rax+1]
0020ba5dadd rax, 5
0020ba61add rbx, 24
0020ba65mov [r14], rax
0020ba68bswap ebp
0020ba6acmp rbx, [r14+6184]
0020ba71jae 0x20bcb8
0020ba77
0020ba77loc_20ba77:
0020ba77mov eax, ebp
0020ba79mov [rbx], r13
0020ba7cadd rbx, 24
0020ba80mov [rbx-8], 2
0020ba87mov [rbx-16], rax
0020ba8bcmp rbx, [r14+6184]
0020ba92jae 0x20bc80
0020ba98
0020ba98loc_20ba98:
0020ba98mov [rbx+16], 0
0020ba9fmov [rbx], r13
0020baa2mov [rbx+8], 1
0020baaamov rdx, [r14+6176]
0020bab1jmp 0x20b510
0020bab6mov rdi, r14
0020bab9call fn_20abb0
0020babemov r15, rax
0020bac1movzx ebp, al
0020bac4shr r15, 10
0020bac8jmp 0x20b57c
0020bacdmov rdi, r14
0020bad0call fn_20abb0
0020bad5
0020bad5loc_20bad5:
0020bad5cmp [r14+6200], 0
0020baddjne 0x20bae9
0020badfmov rdi, [r14+16]
0020bae3sub rdi, rax
0020bae6mov rax, rdi
0020bae9
0020bae9loc_20bae9:
0020bae9mov rdx, [r14+24]
0020baedmov r12, [rdx+8*rax]
0020baf1jmp 0x20b590
0020baf6mov edx, [rax+1]
0020baf9add rax, 5
0020bafdmov [r14], rax
0020bb00bswap edx
0020bb02movsxd rax, edx
0020bb05lea r12, [rax+rax+1]
0020bb0ajmp 0x20b590
0020bb0fmov rdi, r14
0020bb12call fn_20abb0
0020bb17lea r12, [rax+rax+1]
0020bb1cjmp 0x20b590
0020bb21lea rdx, [rax+2]
0020bb25mov [r14], rdx
0020bb28movzx eax, [rax+1]
0020bb2cjmp 0x20bad5
0020bb2emovzx edx, [rax+1]
0020bb32add rax, 3
0020bb36mov [r14], rax
0020bb39rol dx, 8
0020bb3dmovzx eax, dx
0020bb40jmp 0x20bad5
0020bb42mov ebp, [rax+1]
0020bb45add rax, 5
0020bb49mov [r14], rax
0020bb4cmov r15l, ebp
0020bb4fshr ebp, 24
0020bb52bswap r15l
0020bb55mov r15l, r15l
0020bb58shr r15, 10
0020bb5cjmp 0x20b57c
0020bb61lea rdx, [rax+2]
0020bb65mov [r14], rdx
0020bb68movzx ebp, [rax+1]
0020bb6cmov [rsp+16], bpl
0020bb71jmp 0x20b64f
0020bb76mov edx, [rax+1]
0020bb79add rax, 5
0020bb7dmov [r14], rax
0020bb80bswap edx
0020bb82mov eax, edx
0020bb84jmp 0x20bad5
0020bb89mov r15l, [rax+1]
0020bb8dadd rax, 5
0020bb91mov [r14], rax
0020bb94bswap r15l
0020bb97mov [rsp+16], r15b
0020bb9cmov ebp, r15l
0020bb9fjmp 0x20b64f
0020bba4lea rdx, [rax+2]
0020bba8mov [r14], rdx
0020bbabmovsx rax, [rax+1]
0020bbb0lea r12, [rax+rax+1]
0020bbb5jmp 0x20b590
0020bbbamovzx edx, [rax+1]
0020bbbeadd rax, 3
0020bbc2mov [r14], rax
0020bbc5rol dx, 8
0020bbc9movsx rax, dx
0020bbcdlea r12, [rax+rax+1]
0020bbd2jmp 0x20b590
0020bbd7lea rdx, [rax+5]
0020bbdbmov ebp, [rax+1]
0020bbdeadd rax, 21
0020bbe2lea r15, [rsp+32]
0020bbe7mov [r14], rdx
0020bbeamovdqu x0, [rax-16]
0020bbefmov rdi, r15
0020bbf2mov [r14], rax
0020bbf5bswap ebp
0020bbf7mov ebp, ebp
0020bbf9movaps [rsp+32], x0
0020bbfecall caml_find_code_fragment_by_digest
0020bc03test rax, rax
0020bc06je 0x20bccb
0020bc0cadd rbp, [rax]
0020bc0fcmp rbp, [rax+8]
0020bc13jae 0x20bccb
0020bc19test rbp, rbp
0020bc1cje 0x20bccb
0020bc22mov r12, rbp
0020bc25jmp 0x20b590
0020bc2a
0020bc2aloc_20bc2a:
0020bc2amov rdi, r14
0020bc2dcall fn_20b3c0
0020bc32mov rsi, rax
0020bc35jmp 0x20b787
0020bc3a
0020bc3aloc_20bc3a:
0020bc3amov rsi, rbx
0020bc3dmov rdi, r14
0020bc40call fn_20b3c0
0020bc45mov rbx, rax
0020bc48jmp 0x20b7aa
0020bc4d
0020bc4dloc_20bc4d:
0020bc4dadd rdx, 5
0020bc51mov rdi, r14
0020bc54mov [r14], rdx
0020bc57call fn_20abb0
0020bc5cmov r10, rax
0020bc5fjmp 0x20b8f2
0020bc64mov rdi, r14
0020bc67call fn_20ad20
0020bc6cmov rdi, [rsp+24]
0020bc71lea rsi, [rip+0x249b8]
0020bc78call fn_20abd0
0020bc7dnop [rax]
0020bc80
0020bc80loc_20bc80:
0020bc80mov rsi, rbx
0020bc83mov rdi, r14
0020bc86call fn_20b3c0
0020bc8bmov rbx, rax
0020bc8ejmp 0x20ba98
0020bc93
0020bc93loc_20bc93:
0020bc93cmp [rax+56], 0
0020bc98jne 0x20b8c0
0020bc9emov rsi, [rsp+24]
0020bca3mov rcx, r15
0020bca6lea rdx, [rip+0x249f3]
0020bcadmov rdi, r14
0020bcb0call fn_20ae60
0020bcb5nop [rax]
0020bcb8
0020bcb8loc_20bcb8:
0020bcb8mov rsi, rbx
0020bcbbmov rdi, r14
0020bcbecall fn_20b3c0
0020bcc3mov rbx, rax
0020bcc6jmp 0x20ba77
0020bccb
0020bccbloc_20bccb:
0020bccblea rdi, [rip+0x23299]
0020bcd2call caml_named_value
0020bcd7test rax, rax
0020bcdaje 0x20bd4d
0020bcdcmov rax, [rax]
0020bcdfmov r12, [rax]
0020bce2jmp 0x20b590
0020bce7
0020bce7loc_20bce7:
0020bce7lea rdi, [rbp+112]
0020bcebcall caml_realloc_custom_table
0020bcf0mov rax, [rbp+136]
0020bcf7jmp 0x20b98b
0020bcfc
0020bcfcloc_20bcfc:
0020bcfcmov rsi, [rsp+24]
0020bd01mov rcx, r15
0020bd04lea rdx, [rip+0x249bd]
0020bd0bmov rdi, r14
0020bd0ecall fn_20ae60
0020bd13nop [rax+rax]
0020bd18
0020bd18loc_20bd18:
0020bd18mov rdi, r14
0020bd1bcall fn_20ad20
0020bd20mov rdi, [rsp+24]
0020bd25lea rsi, [rip+0x2325d]
0020bd2ccall fn_20abd0
0020bd31
0020bd31loc_20bd31:
0020bd31call fn_f4590
0020bd36
0020bd36loc_20bd36:
0020bd36mov rsi, [rsp+24]
0020bd3bmov rcx, r15
0020bd3elea rdx, [rip+0x2493b]
0020bd45mov rdi, r14
0020bd48call fn_20ae60
0020bd4d
0020bd4dloc_20bd4d:
0020bd4dmov rdi, r14
0020bd50call fn_20ad20
0020bd55mov rdi, r15
0020bd58call fn_20ac00
0020b4a0
0020bd5d
0020bd5d // align 0x10
0020bd5d // align 0x10
0020bd60
0020bd60fn_20bd60:
0020bd60push r12
0020bd62lea r12, [rip+0x23233]
0020bd69push rbp
0020bd6apush rbx
0020bd6bmov rbx, rdi
0020bd6esub rsp, 96
0020bd72mov eax, [rsi+40]
0020bd75mov rbp, [0x28]
0020bd7emov [rsp+88], rbp
0020bd83mov rbp, rsi
0020bd86mov [rdi+6200], al
0020bd8cmov eax, [rsi+40]
0020bd8ftest eax, eax
0020bd91je 0x20bd9e
0020bd93mov rdx, rbp
0020bd96mov rsi, r12
0020bd99call fn_20ada0
0020bd9e
0020bd9eloc_20bd9e:
0020bd9emov rsi, [rbp+32]
0020bda2test rsi, rsi
0020bda5je 0x20bdb3
0020bda7mov rdx, [rbp+24]
0020bdabmov rdi, rbx
0020bdaecall fn_20ae90
0020bdb3
0020bdb3loc_20bdb3:
0020bdb3mov rsi, r12
0020bdb6mov rdx, rsp
0020bdb9mov rdi, rbx
0020bdbccall fn_20b4a0
0020bdc1mov rax, [rsp]
0020bdc5mov rdi, rbx
0020bdc8mov [rsp+8], rax
0020bdcdmov rax, [rip+0x6a214]
0020bdd4mov rbp, [rax]
0020bdd8lea rax, [rsp+16]
0020bdddmov r12, [rbp+160]
0020bde4mov [rbp+160], rax
0020bdebmov eax, 1
0020bdf0movq x0, rax
0020bdf5lea rax, [rsp+8]
0020bdfapunpcklqdq x0, x0
0020bdfemov [rsp+40], rax
0020be03movups [rsp+24], x0
0020be08mov [rsp+16], r12
0020be0dcall fn_20ad20
0020be12call caml_process_pending_actions
0020be17mov [rbp+160], r12
0020be1emov rax, [rsp+8]
0020be23mov rdx, [rsp+88]
0020be28sub rdx, [0x28]
0020be31jne 0x20be3c
0020be33add rsp, 96
0020be37pop rbx
0020be38pop rbp
0020be39pop r12
0020be3bret
0020be3c
0020be3cloc_20be3c:
0020be3ccall fn_f4590
0020bd60
0020bd60fn_20bd60:
0020bd60push r12
0020bd62lea r12, [rip+0x23233]
0020bd69push rbp
0020bd6apush rbx
0020bd6bmov rbx, rdi
0020bd6esub rsp, 96
0020bd72mov eax, [rsi+40]
0020bd75mov rbp, [0x28]
0020bd7emov [rsp+88], rbp
0020bd83mov rbp, rsi
0020bd86mov [rdi+6200], al
0020bd8cmov eax, [rsi+40]
0020bd8ftest eax, eax
0020bd91je 0x20bd9e
0020bd93mov rdx, rbp
0020bd96mov rsi, r12
0020bd99call fn_20ada0
0020bd9e
0020bd9eloc_20bd9e:
0020bd9emov rsi, [rbp+32]
0020bda2test rsi, rsi
0020bda5je 0x20bdb3
0020bda7mov rdx, [rbp+24]
0020bdabmov rdi, rbx
0020bdaecall fn_20ae90
0020bdb3
0020bdb3loc_20bdb3:
0020bdb3mov rsi, r12
0020bdb6mov rdx, rsp
0020bdb9mov rdi, rbx
0020bdbccall fn_20b4a0
0020bdc1mov rax, [rsp]
0020bdc5mov rdi, rbx
0020bdc8mov [rsp+8], rax
0020bdcdmov rax, [rip+0x6a214]
0020bdd4mov rbp, [rax]
0020bdd8lea rax, [rsp+16]
0020bdddmov r12, [rbp+160]
0020bde4mov [rbp+160], rax
0020bdebmov eax, 1
0020bdf0movq x0, rax
0020bdf5lea rax, [rsp+8]
0020bdfapunpcklqdq x0, x0
0020bdfemov [rsp+40], rax
0020be03movups [rsp+24], x0
0020be08mov [rsp+16], r12
0020be0dcall fn_20ad20
0020be12call caml_process_pending_actions
0020be17mov [rbp+160], r12
0020be1emov rax, [rsp+8]
0020be23mov rdx, [rsp+88]
0020be28sub rdx, [0x28]
0020be31jne 0x20be3c
0020be33add rsp, 96
0020be37pop rbx
0020be38pop rbp
0020be39pop r12
0020be3bret
0020be3c
0020be3cloc_20be3c:
0020be3ccall fn_f4590
0020bd60
0020be41
0020be41 // align 0x10
0020be41 // align 0x10
0020be50
0020be50caml_free_intern_state:
0020be50push rbx
0020be51mov rbx, [rip+0x6a18c]
0020be58mov rax, [rbx]
0020be5cmov rdi, [rax+376]
0020be63test rdi, rdi
0020be66je 0x20be80
0020be68call caml_stat_free
0020be6dmov rax, [rbx]
0020be71mov [rax+376], 0
0020be7cpop rbx
0020be7dret
0020be7edb 0x00
0020be7fadd [rbx-61], bl
0020be50
0020be50caml_free_intern_state:
0020be50push rbx
0020be51mov rbx, [rip+0x6a18c]
0020be58mov rax, [rbx]
0020be5cmov rdi, [rax+376]
0020be63test rdi, rdi
0020be66je 0x20be80
0020be68call caml_stat_free
0020be6dmov rax, [rbx]
0020be71mov [rax+376], 0
0020be7cpop rbx
0020be7dret
0020be7edb 0x00
0020be7fadd [rbx-61], bl
0020be50
0020be82
0020be82 // align 0x10
0020be82 // align 0x10
0020be90
0020be90caml_input_val:
0020be90push r15
0020be92push r14
0020be94push r13
0020be96push r12
0020be98push rbp
0020be99push rbx
0020be9asub rsp, 216
0020bea1mov rbp, [0x28]
0020beaamov [rsp+200], rbp
0020beb2mov rbp, rdi
0020beb5call fn_20aca0
0020bebamov rbx, rax
0020bebdmov rdi, rbp
0020bec0call caml_channel_binary_mode
0020bec5test eax, eax
0020bec7je 0x20c0d5
0020becdlea r13, [rsp+144]
0020bed5mov edx, 5
0020bedamov rdi, rbp
0020beddmov rsi, r13
0020bee0call caml_really_getblock
0020bee5test rax, rax
0020bee8je 0x20c0d0
0020beeecmp rax, 4
0020bef2jle 0x20c0c4
0020bef8mov [rbx], r13
0020befbmov eax, [rsp+144]
0020bf02lea rdx, [rsp+148]
0020bf0amov [rbx], rdx
0020bf0dcmp eax, 0xffffffffbda69584
0020bf12je 0x20c098
0020bf18cmp eax, 0xffffffffbfa69584
0020bf1djne 0x20c080
0020bf23mov r12l, 27
0020bf29lea rsi, [rsp+149]
0020bf31mov rdx, r12
0020bf34mov rdi, rbp
0020bf37call caml_really_getblock
0020bf3ccmp rax, r12
0020bf3fjl 0x20c0c4
0020bf45mov [rbx], r13
0020bf48lea r15, [rsp+32]
0020bf4dlea r14, [rip+0x23077]
0020bf54mov rdi, rbx
0020bf57mov rdx, r15
0020bf5amov rsi, r14
0020bf5dcall fn_20b080
0020bf62mov r13, [rsp+40]
0020bf67mov rdi, r13
0020bf6acall fn_f4250
0020bf6fmovq x1, rax
0020bf74mov r12, rax
0020bf77punpcklqdq x1, x1
0020bf7bmovaps [rsp], x1
0020bf7ftest rax, rax
0020bf82je 0x20c0e1
0020bf88mov rdx, r13
0020bf8bmov rsi, rax
0020bf8emov rdi, rbp
0020bf91call caml_really_getblock
0020bf96cmp rax, r13
0020bf99jb 0x20c0bc
0020bf9fmovdqa x2, [rsp]
0020bfa4mov eax, [rsp+72]
0020bfa8movups [rbx], x2
0020bfabmov [rbx+6200], al
0020bfb1test eax, eax
0020bfb3je 0x20bfc7
0020bfb5mov rdx, r15
0020bfb8mov rsi, r14
0020bfbbmov rdi, rbx
0020bfbecall fn_20ada0
0020bfc3mov rsi, [rsp+64]
0020bfc8test rsi, rsi
0020bfcbje 0x20bfde
0020bfcdmov rdx, [rsp+56]
0020bfd2mov rdi, rbx
0020bfd5call fn_20ae90
0020bfdalea rdx, [rsp+16]
0020bfdfmov rsi, r14
0020bfe2mov rdi, rbx
0020bfe5call fn_20b4a0
0020bfeamov rax, [rsp+16]
0020bfefmov rdi, rbx
0020bff2mov [rsp+24], rax
0020bff7mov rax, [rip+0x69fe6]
0020bffemov rbp, [rax]
0020c002lea rax, [rsp+80]
0020c007mov r12, [rbp+160]
0020c00emov [rbp+160], rax
0020c015mov eax, 1
0020c01amovq x0, rax
0020c01flea rax, [rsp+24]
0020c024punpcklqdq x0, x0
0020c028mov [rsp+104], rax
0020c02dmovups [rsp+88], x0
0020c032mov [rsp+80], r12
0020c037call fn_20ad20
0020c03ccall caml_process_pending_actions
0020c041mov [rbp+160], r12
0020c048mov rax, [rsp+24]
0020c04dmov rdx, [rsp+200]
0020c055sub rdx, [0x28]
0020c05ejne 0x20c0e6
0020c064add rsp, 216
0020c06bpop rbx
0020c06cpop rbp
0020c06dpop r12
0020c06fpop r13
0020c071pop r14
0020c073pop r15
0020c075ret
0020c076db 0x5e
0020c077pop r15
0020c079ret
0020c07a
0020c07a 66 0f 1f 44 00 00 f..D..
0020c080
0020c080loc_20c080:
0020c080mov r12l, 15
0020c086lea rsi, [rsp+149]
0020c08ejmp 0x20bf35
0020c093
0020c093 0f 1f 44 00 00 ..D..
0020c098
0020c098loc_20c098:
0020c098lea rsi, [rsp+149]
0020c0a0mov [rbx], rsi
0020c0a3movzx r12l, [rsp+148]
0020c0acand r12l, 63
0020c0b0sub r12l, 5
0020c0b4movsxd r12, r12l
0020c0b7jmp 0x20bf35
0020c0bc
0020c0bcloc_20c0bc:
0020c0bcmov rdi, r12
0020c0bfcall fn_f4370
0020c0c4
0020c0c4loc_20c0c4:
0020c0c4lea rdi, [rip+0x22ee6]
0020c0cbcall caml_failwith
0020c0d0
0020c0d0loc_20c0d0:
0020c0d0call caml_raise_end_of_file
0020c0d5
0020c0d5loc_20c0d5:
0020c0d5lea rdi, [rip+0x24614]
0020c0dccall caml_failwith
0020c0e1
0020c0e1loc_20c0e1:
0020c0e1call caml_raise_out_of_memory
0020c0e6
0020c0e6loc_20c0e6:
0020c0e6call fn_f4590
0020be90
0020be90caml_input_val:
0020be90push r15
0020be92push r14
0020be94push r13
0020be96push r12
0020be98push rbp
0020be99push rbx
0020be9asub rsp, 216
0020bea1mov rbp, [0x28]
0020beaamov [rsp+200], rbp
0020beb2mov rbp, rdi
0020beb5call fn_20aca0
0020bebamov rbx, rax
0020bebdmov rdi, rbp
0020bec0call caml_channel_binary_mode
0020bec5test eax, eax
0020bec7je 0x20c0d5
0020becdlea r13, [rsp+144]
0020bed5mov edx, 5
0020bedamov rdi, rbp
0020beddmov rsi, r13
0020bee0call caml_really_getblock
0020bee5test rax, rax
0020bee8je 0x20c0d0
0020beeecmp rax, 4
0020bef2jle 0x20c0c4
0020bef8mov [rbx], r13
0020befbmov eax, [rsp+144]
0020bf02lea rdx, [rsp+148]
0020bf0amov [rbx], rdx
0020bf0dcmp eax, 0xffffffffbda69584
0020bf12je 0x20c098
0020bf18cmp eax, 0xffffffffbfa69584
0020bf1djne 0x20c080
0020bf23mov r12l, 27
0020bf29lea rsi, [rsp+149]
0020bf31mov rdx, r12
0020bf34mov rdi, rbp
0020bf37call caml_really_getblock
0020bf3ccmp rax, r12
0020bf3fjl 0x20c0c4
0020bf45mov [rbx], r13
0020bf48lea r15, [rsp+32]
0020bf4dlea r14, [rip+0x23077]
0020bf54mov rdi, rbx
0020bf57mov rdx, r15
0020bf5amov rsi, r14
0020bf5dcall fn_20b080
0020bf62mov r13, [rsp+40]
0020bf67mov rdi, r13
0020bf6acall fn_f4250
0020bf6fmovq x1, rax
0020bf74mov r12, rax
0020bf77punpcklqdq x1, x1
0020bf7bmovaps [rsp], x1
0020bf7ftest rax, rax
0020bf82je 0x20c0e1
0020bf88mov rdx, r13
0020bf8bmov rsi, rax
0020bf8emov rdi, rbp
0020bf91call caml_really_getblock
0020bf96cmp rax, r13
0020bf99jb 0x20c0bc
0020bf9fmovdqa x2, [rsp]
0020bfa4mov eax, [rsp+72]
0020bfa8movups [rbx], x2
0020bfabmov [rbx+6200], al
0020bfb1test eax, eax
0020bfb3je 0x20bfc7
0020bfb5mov rdx, r15
0020bfb8mov rsi, r14
0020bfbbmov rdi, rbx
0020bfbecall fn_20ada0
0020bfc3mov rsi, [rsp+64]
0020bfc8test rsi, rsi
0020bfcbje 0x20bfde
0020bfcdmov rdx, [rsp+56]
0020bfd2mov rdi, rbx
0020bfd5call fn_20ae90
0020bfdalea rdx, [rsp+16]
0020bfdfmov rsi, r14
0020bfe2mov rdi, rbx
0020bfe5call fn_20b4a0
0020bfeamov rax, [rsp+16]
0020bfefmov rdi, rbx
0020bff2mov [rsp+24], rax
0020bff7mov rax, [rip+0x69fe6]
0020bffemov rbp, [rax]
0020c002lea rax, [rsp+80]
0020c007mov r12, [rbp+160]
0020c00emov [rbp+160], rax
0020c015mov eax, 1
0020c01amovq x0, rax
0020c01flea rax, [rsp+24]
0020c024punpcklqdq x0, x0
0020c028mov [rsp+104], rax
0020c02dmovups [rsp+88], x0
0020c032mov [rsp+80], r12
0020c037call fn_20ad20
0020c03ccall caml_process_pending_actions
0020c041mov [rbp+160], r12
0020c048mov rax, [rsp+24]
0020c04dmov rdx, [rsp+200]
0020c055sub rdx, [0x28]
0020c05ejne 0x20c0e6
0020c064add rsp, 216
0020c06bpop rbx
0020c06cpop rbp
0020c06dpop r12
0020c06fpop r13
0020c071pop r14
0020c073pop r15
0020c075ret
0020c076db 0x5e
0020c077pop r15
0020c079ret
0020c07a
0020c07a 66 0f 1f 44 00 00 f..D..
0020c080
0020c080loc_20c080:
0020c080mov r12l, 15
0020c086lea rsi, [rsp+149]
0020c08ejmp 0x20bf35
0020c093
0020c093 0f 1f 44 00 00 ..D..
0020c098
0020c098loc_20c098:
0020c098lea rsi, [rsp+149]
0020c0a0mov [rbx], rsi
0020c0a3movzx r12l, [rsp+148]
0020c0acand r12l, 63
0020c0b0sub r12l, 5
0020c0b4movsxd r12, r12l
0020c0b7jmp 0x20bf35
0020c0bc
0020c0bcloc_20c0bc:
0020c0bcmov rdi, r12
0020c0bfcall fn_f4370
0020c0c4
0020c0c4loc_20c0c4:
0020c0c4lea rdi, [rip+0x22ee6]
0020c0cbcall caml_failwith
0020c0d0
0020c0d0loc_20c0d0:
0020c0d0call caml_raise_end_of_file
0020c0d5
0020c0d5loc_20c0d5:
0020c0d5lea rdi, [rip+0x24614]
0020c0dccall caml_failwith
0020c0e1
0020c0e1loc_20c0e1:
0020c0e1call caml_raise_out_of_memory
0020c0e6
0020c0e6loc_20c0e6:
0020c0e6call fn_f4590
0020be90
0020c0eb
0020c0eb // align 0x10
0020c0eb // align 0x10
0020c0f0
0020c0f0caml_input_value:
0020c0f0push r12
0020c0f2mov ecx, 1
0020c0f7push rbp
0020c0f8movq x0, rcx
0020c0fdpush rbx
0020c0fepunpcklqdq x0, x0
0020c102sub rsp, 176
0020c109mov [rsp+8], rdi
0020c10elea rdx, [rsp+8]
0020c113mov rax, [0x28]
0020c11cmov [rsp+168], rax
0020c124mov rax, [rip+0x69eb9]
0020c12bmov rbx, [rax]
0020c12flea rax, [rsp+32]
0020c134mov [rsp+56], rdx
0020c139movups [rsp+40], x0
0020c13emov r12, [rbx+160]
0020c145mov [rbx+160], rax
0020c14cmov [rsp+32], r12
0020c151mov rbp, [rdi+8]
0020c155mov [rsp+96], rax
0020c15alea rax, [rsp+96]
0020c15fmov [rbx+160], rax
0020c166mov rdi, rbp
0020c169lea rax, [rsp+24]
0020c16emovups [rsp+104], x0
0020c173mov [rsp+120], rax
0020c178mov [rsp+24], 1
0020c181call caml_channel_lock
0020c186mov rdi, rbp
0020c189call caml_input_val
0020c18emov rdi, rbp
0020c191mov [rsp+24], rax
0020c196call caml_channel_unlock
0020c19bmov [rbx+160], r12
0020c1a2mov rax, [rsp+24]
0020c1a7mov rdx, [rsp+168]
0020c1afsub rdx, [0x28]
0020c1b8jne 0x20c1ca
0020c1baadd rsp, 176
0020c1c1pop rbx
0020c1c2pop rbp
0020c1c3pop r12
0020c1c5ret
0020c1c6call fn_f4590
0020c1cbdb 0xc1
0020c1ccsub esi, -1
0020c0f0
0020c0f0caml_input_value:
0020c0f0push r12
0020c0f2mov ecx, 1
0020c0f7push rbp
0020c0f8movq x0, rcx
0020c0fdpush rbx
0020c0fepunpcklqdq x0, x0
0020c102sub rsp, 176
0020c109mov [rsp+8], rdi
0020c10elea rdx, [rsp+8]
0020c113mov rax, [0x28]
0020c11cmov [rsp+168], rax
0020c124mov rax, [rip+0x69eb9]
0020c12bmov rbx, [rax]
0020c12flea rax, [rsp+32]
0020c134mov [rsp+56], rdx
0020c139movups [rsp+40], x0
0020c13emov r12, [rbx+160]
0020c145mov [rbx+160], rax
0020c14cmov [rsp+32], r12
0020c151mov rbp, [rdi+8]
0020c155mov [rsp+96], rax
0020c15alea rax, [rsp+96]
0020c15fmov [rbx+160], rax
0020c166mov rdi, rbp
0020c169lea rax, [rsp+24]
0020c16emovups [rsp+104], x0
0020c173mov [rsp+120], rax
0020c178mov [rsp+24], 1
0020c181call caml_channel_lock
0020c186mov rdi, rbp
0020c189call caml_input_val
0020c18emov rdi, rbp
0020c191mov [rsp+24], rax
0020c196call caml_channel_unlock
0020c19bmov [rbx+160], r12
0020c1a2mov rax, [rsp+24]
0020c1a7mov rdx, [rsp+168]
0020c1afsub rdx, [0x28]
0020c1b8jne 0x20c1ca
0020c1baadd rsp, 176
0020c1c1pop rbx
0020c1c2pop rbp
0020c1c3pop r12
0020c1c5ret
0020c1c6call fn_f4590
0020c1cbdb 0xc1
0020c1ccsub esi, -1
0020c0f0
Loading..