File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
    00209a10
    00209a10caml_orphan_alloc_stats:
    00209a10push r12
    00209a12pxor x1, x1
    00209a16push rbp
    00209a17push rbx
    00209a18lea rbx, [rip+0x16ed9d]
    00209a1fsub rsp, 16
    00209a23mov r12, [rdi+400]
    00209a2amov rbp, [rdi+408]
    00209a31mov [rdi+400], 0
    00209a3cmov [rdi+408], 0
    00209a47movdqu x0, [rdi+384]
    00209a4fmovups [rdi+384], x1
    00209a56mov rdi, rbx
    00209a59movaps [rsp], x0
    00209a5dcall fn_f4710
    00209a62movdqa x0, [rsp]
    00209a67test eax, eax
    00209a69jne 0x209aa1
    00209a6bpaddq x0, [rip+0x16ed29]
    00209a73mov rdi, rbx
    00209a76add [rip+0x16ed2f], r12
    00209a7dadd [rip+0x16ed30], rbp
    00209a84movaps [rip+0x16ed11], x0
    00209a8bcall fn_f47c0
    00209a90test eax, eax
    00209a92jne 0x209aaf
    00209a94add rsp, 16
    00209a98pop rbx
    00209a99pop rbp
    00209a9apop r12
    00209a9cret
    00209a9dmov esi, eax
    00209a9flea rdi, [rip+0x25a65]
    00209aa6call caml_plat_fatal_error
    00209aabmov esi, eax
    00209aadlea rdi, [rip+0x25a62]
    00209ab4call caml_plat_fatal_error
    00209ab9db 0x13
    00209abadb 0x1f
    00209abbadd [rax], eax
    00209a10
    00209abd
    00209abd // align 0x10
    00209ac0
    00209ac0caml_init_gc_stats:
    00209ac0sub rsp, 8
    00209ac4mov esi, 96
    00209ac9call caml_stat_calloc_noexc
    00209acemov [rip+0x16eca7], rax
    00209ad5test rax, rax
    00209ad8je 0x209ae3
    00209adaadd rsp, 8
    00209aderet
    00209adflea rdi, [rip+0x26a2e]
    00209ae6call caml_fatal_error
    00209aebdb 0x41
    00209aecadc eax, [rcx]
    00209aeedb 0x00
    00209ac0
    00209aef
    00209aef // align 0x10
    00209af0
    00209af0caml_collect_gc_stats_sample_stw:
    00209af0push rbp
    00209af1mov rbp, rdi
    00209af4push rbx
    00209af5sub rsp, 8
    00209af9movsxd rax, [rdi+288]
    00209b00lea rbx, [rax+2*rax]
    00209b04shl rbx, 5
    00209b08add rbx, [rip+0x16ec6d]
    00209b0fcall caml_domain_terminating
    00209b14test eax, eax
    00209b16je 0x209b50
    00209b18lea rdi, [rbx+8]
    00209b1cmov [rbx], 0
    00209b23xor eax, eax
    00209b25and rdi, -8
    00209b29mov [rbx+88], 0
    00209b31sub rbx, rdi
    00209b34lea ecx, [rbx+96]
    00209b37shr ecx, 3
    00209b3arep stosq [rdi], rax
    00209b3dadd rsp, 8
    00209b41pop rbx
    00209b42pop rbp
    00209b43ret
    00209b44db 0x08
    00209b45pop rbx
    00209b46pop rbp
    00209b47ret
    00209b48
    00209b48 0f 1f 84 00 00 00 00 00 ........
    00209b50
    00209b50loc_209b50:
    00209b50mov rax, [rbp+384]
    00209b57lea rsi, [rbx+32]
    00209b5bmov [rbx], rax
    00209b5emov rax, [rbp+392]
    00209b65mov [rbx+8], rax
    00209b69mov rax, [rbp+400]
    00209b70mov [rbx+16], rax
    00209b74mov rax, [rbp+408]
    00209b7bmov [rbx+24], rax
    00209b7fmov rdi, [rbp+280]
    00209b86add rsp, 8
    00209b8apop rbx
    00209b8bpop rbp
    00209b8cjmp 0x21ebe0
    00209af0
    00209b91
    00209b91 // align 0x10
    00209ba0
    00209ba0caml_compute_gc_stats:
    00209ba0push r15
    00209ba2push r14
    00209ba4push r13
    00209ba6mov r13, rdi
    00209ba9add rdi, 8
    00209badpush r12
    00209bafmov rcx, r13
    00209bb2push rbp
    00209bb3push rbx
    00209bb4lea rbx, [r13+32]
    00209bb8sub rsp, 8
    00209bbcmov r12, [rip+0x6c421]
    00209bc3mov rax, [r12]
    00209bc8mov ebp, [rax+288]
    00209bcemov [rdi-8], 0
    00209bd6xor eax, eax
    00209bd8mov [rdi+80], 0
    00209be0and rdi, -8
    00209be4sub rcx, rdi
    00209be7add ecx, 96
    00209beashr ecx, 3
    00209bedrep stosq [rdi], rax
    00209bf0mov rdi, rbx
    00209bf3call caml_accum_orphan_heap_stats
    00209bf8mov rdi, r13
    00209bfbcall caml_accum_orphan_alloc_stats
    00209c00mov r9, [rip+0x6bd4d]
    00209c07mov r14, [r13+40]
    00209c0bmov r11, [r13+80]
    00209c0fcmp [r9+160], 0
    00209c17je 0x209cf0
    00209c1dmov r10, [rip+0x16eb58]
    00209c24xor r8l, r8l
    00209c27xor eax, eax
    00209c29jmp 0x209c8a
    00209c2bdb 0x31
    00209c2cshr bl, 91
    00209c2f
    00209c2f 90 .
    00209c30
    00209c30loc_209c30:
    00209c30movq x2, [rax]
    00209c34movdqa x1, x0
    00209c38psrldq x0, 8
    00209c3dmov rdi, rbx
    00209c40lea rsi, [rax+32]
    00209c44paddq x1, x2
    00209c48movq [r13], x1
    00209c4emovq x1, [rax+8]
    00209c53paddq x0, x1
    00209c57movq [r13+8], x0
    00209c5dadd rcx, [rax+16]
    00209c61mov [r13+16], rcx
    00209c65add rdx, [rax+24]
    00209c69mov [r13+24], rdx
    00209c6dcall caml_accum_heap_stats
    00209c72
    00209c72loc_209c72:
    00209c72add r8l, 1
    00209c76add r14, [rax+40]
    00209c7aadd r11, [rax+80]
    00209c7emovsxd rax, r8l
    00209c81cmp rax, [r9+160]
    00209c88jae 0x209cf0
    00209c8a
    00209c8aloc_209c8a:
    00209c8alea rax, [rax+2*rax]
    00209c8emovdqu x0, [r13]
    00209c94mov rcx, [r13+16]
    00209c98shl rax, 5
    00209c9cmov rdx, [r13+24]
    00209ca0add rax, r10
    00209ca3cmp ebp, r8l
    00209ca6jne 0x209c30
    00209ca8mov r15, [r12]
    00209cadmov rdi, [r15+400]
    00209cb4mov rsi, [r15+408]
    00209cbbmovdqu x1, [r15+384]
    00209cc4add rcx, rdi
    00209cc7add rdx, rsi
    00209ccalea rsi, [rax+32]
    00209ccemov rdi, rbx
    00209cd1mov [r13+16], rcx
    00209cd5paddq x0, x1
    00209cd9mov [r13+24], rdx
    00209cddmovups [r13], x0
    00209ce2call caml_accum_heap_stats
    00209ce7jmp 0x209c72
    00209ce9
    00209ce9 0f 1f 80 00 00 00 00 .......
    00209cf0
    00209cf0loc_209cf0:
    00209cf0mov [r13+40], r14
    00209cf4mov [r13+80], r11
    00209cf8add rsp, 8
    00209cfcpop rbx
    00209cfdpop rbp
    00209cfepop r12
    00209d00pop r13
    00209d02pop r14
    00209d04pop r15
    00209d06ret
    00209ba0
    00209d07
    00209d07 // align 0x10
    00209d10
    00209d10caml_register_global_root:
    00209d10push rbp
    00209d11lea rbp, [rip+0x16ecc4]
    00209d18push rbx
    00209d19mov rbx, rdi
    00209d1cmov rdi, rbp
    00209d1fsub rsp, 8
    00209d23call fn_f4710
    00209d28test eax, eax
    00209d2ajne 0x209d54
    00209d2cxor edx, edx
    00209d2elea rdi, [rip+0x16ec07]
    00209d35mov rsi, rbx
    00209d38call caml_skiplist_insert
    00209d3dmov rdi, rbp
    00209d40call fn_f47c0
    00209d45test eax, eax
    00209d47jne 0x209d62
    00209d49add rsp, 8
    00209d4dpop rbx
    00209d4epop rbp
    00209d4fret
    00209d50mov esi, eax
    00209d52lea rdi, [rip+0x257b2]
    00209d59call caml_plat_fatal_error
    00209d5emov esi, eax
    00209d60lea rdi, [rip+0x257af]
    00209d67call caml_plat_fatal_error
    00209d6cdb 0x60
    00209d6dsbb al, 1
    00209d6fdb 0x00
    00209d10
    00209d70
    00209d70caml_remove_global_root:
    00209d70push rbp
    00209d71lea rbp, [rip+0x16ec64]
    00209d78push rbx
    00209d79mov rbx, rdi
    00209d7cmov rdi, rbp
    00209d7fsub rsp, 8
    00209d83call fn_f4710
    00209d88test eax, eax
    00209d8ajne 0x209db2
    00209d8clea rdi, [rip+0x16eba9]
    00209d93mov rsi, rbx
    00209d96call caml_skiplist_remove
    00209d9bmov rdi, rbp
    00209d9ecall fn_f47c0
    00209da3test eax, eax
    00209da5jne 0x209dc0
    00209da7add rsp, 8
    00209dabpop rbx
    00209dacpop rbp
    00209dadret
    00209daemov esi, eax
    00209db0lea rdi, [rip+0x25754]
    00209db7call caml_plat_fatal_error
    00209dbcmov esi, eax
    00209dbelea rdi, [rip+0x25751]
    00209dc5call caml_plat_fatal_error
    00209dcadb 0x02
    00209dcbsbb al, 1
    00209dcddb 0x00
    00209d70
    00209dce
    00209dce // align 0x10
    00209dd0
    00209dd0caml_register_generational_global_root:
    00209dd0push rbp
    00209dd1push rbx
    00209dd2sub rsp, 8
    00209dd6mov rax, [rip+0x6c207]
    00209dddcmp [rax], 0
    00209de2je 0x209e60
    00209de4mov rax, [rdi]
    00209de7mov rbx, rdi
    00209deatest al, 1
    00209decjne 0x209e2b
    00209deelea rbp, [rip+0x16ebe7]
    00209df5cmp rax, [rip+0x16e7c8]
    00209dfcmov rdi, rbp
    00209dffjb 0x209e38
    00209e01call fn_f4710
    00209e06test eax, eax
    00209e08jne 0x209e65
    00209e0axor edx, edx
    00209e0cmov rsi, rbx
    00209e0flea rdi, [rip+0x16e9e6]
    00209e16call caml_skiplist_insert
    00209e1bmov rdi, rbp
    00209e1ecall fn_f47c0
    00209e23test eax, eax
    00209e25jne 0x209e73
    00209e27add rsp, 8
    00209e2b
    00209e2bloc_209e2b:
    00209e2bpop rbx
    00209e2cpop rbp
    00209e2dret
    00209e2edb 0x08
    00209e2fpop rbx
    00209e30pop rbp
    00209e31ret
    00209e32
    00209e32 66 0f 1f 44 00 00 f..D..
    00209e38
    00209e38loc_209e38:
    00209e38cmp [rip+0x16e791], rax
    00209e3fjae 0x209e05
    00209e41call fn_f4710
    00209e46test eax, eax
    00209e48jne 0x209e65
    00209e4axor edx, edx
    00209e4cmov rsi, rbx
    00209e4flea rdi, [rip+0x16ea4a]
    00209e56jmp 0x209e1a
    00209e58
    00209e58 0f 1f 84 00 00 00 00 00 ........
    00209e60
    00209e60loc_209e60:
    00209e60call caml_bad_caml_state
    00209e65
    00209e65loc_209e65:
    00209e65mov esi, eax
    00209e67lea rdi, [rip+0x256a1]
    00209e6ecall caml_plat_fatal_error
    00209e73
    00209e73loc_209e73:
    00209e73mov esi, eax
    00209e75lea rdi, [rip+0x2569e]
    00209e7ccall caml_plat_fatal_error
    00209dd0
    00209e81
    00209e81 // align 0x10
    00209e90
    00209e90caml_remove_generational_global_root:
    00209e90mov rax, [rdi]
    00209e93test al, 1
    00209e95jne 0x209f28
    00209e9bpush rbp
    00209e9clea rbp, [rip+0x16eb39]
    00209ea3push rbx
    00209ea4mov rbx, rdi
    00209ea7sub rsp, 8
    00209eabcmp rax, [rip+0x16e712]
    00209eb2jb 0x209f18
    00209eb4mov rdi, rbp
    00209eb7call fn_f4710
    00209ebctest eax, eax
    00209ebejne 0x209f53
    00209ec4lea rdi, [rip+0x16e931]
    00209ecbmov rsi, rbx
    00209ececall caml_skiplist_remove
    00209ed3mov rdi, rbp
    00209ed6call fn_f47c0
    00209edbtest eax, eax
    00209eddjne 0x209f45
    00209edfmov rdi, rbp
    00209ee2call fn_f4710
    00209ee7test eax, eax
    00209ee9jne 0x209f37
    00209eeblea rdi, [rip+0x16e9aa]
    00209ef2mov rsi, rbx
    00209ef5call caml_skiplist_remove
    00209efamov rdi, rbp
    00209efdcall fn_f47c0
    00209f02test eax, eax
    00209f04jne 0x209f29
    00209f06add rsp, 8
    00209f0apop rbx
    00209f0bpop rbp
    00209f0cret
    00209f0ddb 0x08
    00209f0epop rbx
    00209f0fpop rbp
    00209f10ret
    00209f11
    00209f11 0f 1f 80 00 00 00 00 .......
    00209f18
    00209f18loc_209f18:
    00209f18cmp [rip+0x16e6b1], rax
    00209f1fjae 0x209eb8
    00209f21jmp 0x209ee3
    00209f23
    00209f23 0f 1f 44 00 00 ..D..
    00209f28
    00209f28loc_209f28:
    00209f28ret
    00209f29
    00209f29loc_209f29:
    00209f29mov esi, eax
    00209f2blea rdi, [rip+0x255e8]
    00209f32call caml_plat_fatal_error
    00209f37
    00209f37loc_209f37:
    00209f37mov esi, eax
    00209f39lea rdi, [rip+0x255cf]
    00209f40call caml_plat_fatal_error
    00209f45
    00209f45loc_209f45:
    00209f45mov esi, eax
    00209f47lea rdi, [rip+0x255cc]
    00209f4ecall caml_plat_fatal_error
    00209f53
    00209f53loc_209f53:
    00209f53mov esi, eax
    00209f55lea rdi, [rip+0x255b3]
    00209f5ccall caml_plat_fatal_error
    00209e90
    00209f61
    00209f61 // align 0x10
    00209f70
    00209f70caml_modify_generational_global_root:
    00209f70push r12
    00209f72push rbp
    00209f73mov rbp, rdi
    00209f76push rbx
    00209f77mov rbx, rsi
    00209f7aand esi, 1
    00209f7djne 0x20a040
    00209f83mov rax, [rdi]
    00209f86mov rdx, [rip+0x16e637]
    00209f8dmov rcx, rax
    00209f90and ecx, 1
    00209f93cmp rbx, rdx
    00209f96jb 0x209fb0
    00209f98test rcx, rcx
    00209f9bjne 0x20a050
    00209fa1mov [rbp], rbx
    00209fa5
    00209fa5loc_209fa5:
    00209fa5pop rbx
    00209fa6pop rbp
    00209fa7pop r12
    00209fa9ret
    00209faadb 0x5d
    00209fabpop r12
    00209fadret
    00209fae
    00209fae 66 90 f.
    00209fb0
    00209fb0loc_209fb0:
    00209fb0mov rsi, [rip+0x16e619]
    00209fb7cmp rsi, rbx
    00209fbajae 0x209f9c
    00209fbclea r12, [rip+0x16ea1d]
    00209fc3test rcx, rcx
    00209fc6jne 0x20a004
    00209fc8cmp rsi, rax
    00209fcbjae 0x209fd2
    00209fcdcmp rdx, rax
    00209fd0ja 0x209fa5
    00209fd2
    00209fd2loc_209fd2:
    00209fd2lea r12, [rip+0x16ea07]
    00209fd9mov rdi, r12
    00209fdccall fn_f4710
    00209fe1test eax, eax
    00209fe3jne 0x20a071
    00209fe9lea rdi, [rip+0x16e810]
    00209ff0mov rsi, rbp
    00209ff3call caml_skiplist_remove
    00209ff8mov rdi, r12
    00209ffbcall fn_f47c0
    0020a000test eax, eax
    0020a002jne 0x20a031
    0020a004
    0020a004loc_20a004:
    0020a004mov rdi, r12
    0020a007call fn_f4710
    0020a00ctest eax, eax
    0020a00ejne 0x20a071
    0020a010xor edx, edx
    0020a012mov rsi, rbp
    0020a015lea rdi, [rip+0x16e884]
    0020a01c
    0020a01cloc_20a01c:
    0020a01ccall caml_skiplist_insert
    0020a021mov rdi, r12
    0020a024call fn_f47c0
    0020a029test eax, eax
    0020a02bje 0x209fa5
    0020a031
    0020a031loc_20a031:
    0020a031mov esi, eax
    0020a033lea rdi, [rip+0x254e0]
    0020a03acall caml_plat_fatal_error
    0020a03fnop
    0020a040
    0020a040loc_20a040:
    0020a040call caml_remove_generational_global_root
    0020a045mov [rbp], rbx
    0020a049pop rbx
    0020a04apop rbp
    0020a04bpop r12
    0020a04dret
    0020a04e
    0020a04e 66 90 f.
    0020a050
    0020a050loc_20a050:
    0020a050lea r12, [rip+0x16e989]
    0020a057mov rdi, r12
    0020a05acall fn_f4710
    0020a05ftest eax, eax
    0020a061jne 0x20a071
    0020a063xor edx, edx
    0020a065mov rsi, rbp
    0020a068lea rdi, [rip+0x16e791]
    0020a06fjmp 0x20a01c
    0020a071
    0020a071loc_20a071:
    0020a071mov esi, eax
    0020a073lea rdi, [rip+0x25495]
    0020a07acall caml_plat_fatal_error
    00209f70
    0020a07f
    0020a07f // align 0x10
    0020a080
    0020a080caml_register_dyn_globals:
    0020a080push r12
    0020a082lea r12, [rip+0x16e953]
    0020a089push rbp
    0020a08amovsxd rbp, esi
    0020a08dpush rbx
    0020a08emov rbx, rdi
    0020a091mov rdi, r12
    0020a094sub rsp, 16
    0020a098call fn_f4710
    0020a09dtest eax, eax
    0020a09fjne 0x20a108
    0020a0a1test ebp, ebp
    0020a0a3jle 0x20a0f3
    0020a0a5mov rax, [rip+0x16e920]
    0020a0aclea rbp, [rbx+8*rbp]
    0020a0b0nop [rax+rax]
    0020a0bbnop
    0020a0bcmovq x0, [rbx]
    0020a0c0
    0020a0c0loc_20a0c0:
    0020a0c0movq x1, rax
    0020a0c5mov edi, 16
    0020a0caadd rbx, 8
    0020a0cepunpcklqdq x0, x1
    0020a0d2movaps [rsp], x0
    0020a0d6call caml_stat_alloc
    0020a0dbmovdqa x0, [rsp]
    0020a0e0mov [rip+0x16e8e5], rax
    0020a0e7movups [rax], x0
    0020a0eacmp rbx, rbp
    0020a0edjne 0x20a0c0
    0020a0efmov rdi, r12
    0020a0f2call fn_f47c0
    0020a0f7test eax, eax
    0020a0f9jne 0x20a116
    0020a0fbadd rsp, 16
    0020a0ffpop rbx
    0020a100pop rbp
    0020a101pop r12
    0020a103ret
    0020a104mov esi, eax
    0020a106lea rdi, [rip+0x253fe]
    0020a10dcall caml_plat_fatal_error
    0020a112mov esi, eax
    0020a114lea rdi, [rip+0x253fb]
    0020a11bcall caml_plat_fatal_error
    0020a120db 0xac
    0020a121sbb [rcx], al
    0020a123db 0x00
    0020a080
    0020a124
    0020a124 // align 0x10
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    0020abb0
    0020abb0fn_20abb0:
    0020abb0mov rdx, [rdi]
    0020abb3mov rax, [rdx]
    0020abb6add rdx, 8
    0020abbamov [rdi], rdx
    0020abbdbswap rax
    0020abc0ret
    0020abb0
    0020abc1
    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
    0020abf2
    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
    0020ac9d
    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
    0020ad1d
    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
    0020ad91
    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
    0020ae5f
    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
    0020ae8a
    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
    0020af6b
    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
    0020b050
    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
    0020b3b6
    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
    0020b483
    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