File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
Loading..
0021ddc0
0021ddc0fn_21ddc0:
0021ddc0test rdi, rdi
0021ddc3je 0x21de77
0021ddc9push r15
0021ddcblea rcx, [rip+0x146ce]
0021ddd2lea r15, [rip+0x146e7]
0021ddd9push r14
0021dddbmov r14, rdi
0021dddepush r13
0021dde0push r12
0021dde2push rbp
0021dde3push rbx
0021dde4sub rsp, 8
0021dde8nop [rax+rax]
0021ddf0
0021ddf0loc_21ddf0:
0021ddf0mov eax, [r14+24]
0021ddf4lea r13, [r14+32768]
0021ddfbmovzx edx, [rcx+rax]
0021ddffmov r12l, [r15+4*rax]
0021de03lea rbx, [r14+8*rdx+32]
0021de08shl r12, 3
0021de0clea rbp, [rbx+r12]
0021de10cmp r13, rbp
0021de13jae 0x21de2b
0021de15jmp 0x21de60
0021de17
0021de17 66 0f 1f 84 00 00 00 00 00 f........
0021de20
0021de20loc_21de20:
0021de20add rbp, r12
0021de23add rbx, r12
0021de26cmp r13, rbp
0021de29jb 0x21de60
0021de2b
0021de2bloc_21de2b:
0021de2bcmp [rbx], 0
0021de2fje 0x21de20
0021de31mov rax, [rbx]
0021de34and eax, 768
0021de39cmp [rip+0x15a588], rax
0021de40jne 0x21de20
0021de42mov rdi, rbx
0021de45add rbp, r12
0021de48add rbx, r12
0021de4bcall fn_21dca0
0021de50lea rcx, [rip+0x14649]
0021de57cmp r13, rbp
0021de5ajae 0x21de2b
0021de5cnop [rax]
0021de60
0021de60loc_21de60:
0021de60mov r14, [r14]
0021de63test r14, r14
0021de66jne 0x21ddf0
0021de68add rsp, 8
0021de6cpop rbx
0021de6dpop rbp
0021de6epop r12
0021de70pop r13
0021de72pop r14
0021de74pop r15
0021de76ret
0021de77
0021de77loc_21de77:
0021de77ret
0021ddc0
0021ddc0fn_21ddc0:
0021ddc0test rdi, rdi
0021ddc3je 0x21de77
0021ddc9push r15
0021ddcblea rcx, [rip+0x146ce]
0021ddd2lea r15, [rip+0x146e7]
0021ddd9push r14
0021dddbmov r14, rdi
0021dddepush r13
0021dde0push r12
0021dde2push rbp
0021dde3push rbx
0021dde4sub rsp, 8
0021dde8nop [rax+rax]
0021ddf0
0021ddf0loc_21ddf0:
0021ddf0mov eax, [r14+24]
0021ddf4lea r13, [r14+32768]
0021ddfbmovzx edx, [rcx+rax]
0021ddffmov r12l, [r15+4*rax]
0021de03lea rbx, [r14+8*rdx+32]
0021de08shl r12, 3
0021de0clea rbp, [rbx+r12]
0021de10cmp r13, rbp
0021de13jae 0x21de2b
0021de15jmp 0x21de60
0021de17
0021de17 66 0f 1f 84 00 00 00 00 00 f........
0021de20
0021de20loc_21de20:
0021de20add rbp, r12
0021de23add rbx, r12
0021de26cmp r13, rbp
0021de29jb 0x21de60
0021de2b
0021de2bloc_21de2b:
0021de2bcmp [rbx], 0
0021de2fje 0x21de20
0021de31mov rax, [rbx]
0021de34and eax, 768
0021de39cmp [rip+0x15a588], rax
0021de40jne 0x21de20
0021de42mov rdi, rbx
0021de45add rbp, r12
0021de48add rbx, r12
0021de4bcall fn_21dca0
0021de50lea rcx, [rip+0x14649]
0021de57cmp r13, rbp
0021de5ajae 0x21de2b
0021de5cnop [rax]
0021de60
0021de60loc_21de60:
0021de60mov r14, [r14]
0021de63test r14, r14
0021de66jne 0x21ddf0
0021de68add rsp, 8
0021de6cpop rbx
0021de6dpop rbp
0021de6epop r12
0021de70pop r13
0021de72pop r14
0021de74pop r15
0021de76ret
0021de77
0021de77loc_21de77:
0021de77ret
0021ddc0
0021de78
0021de78 // align 0x10
0021de78 // align 0x10
0021de80
0021de80fn_21de80:
0021de80push r15
0021de82push r14
0021de84push r13
0021de86push r12
0021de88push rbp
0021de89push rbx
0021de8asub rsp, 56
0021de8emov r15, [rsi]
0021de91test r15, r15
0021de94je 0x21e0c0
0021de9amov rax, [r15]
0021de9dmov edx, edx
0021de9fmov r13, rdi
0021dea2mov r10l, 1
0021dea8mov [rsi], rax
0021deablea rax, [rip+0x145ee]
0021deb2lea rsi, [rip+0x14607]
0021deb9movzx eax, [rax+rdx]
0021debdmov esi, [rsi+4*rdx]
0021dec0lea r9, [rax+4]
0021dec4lea r14, [8*rsi]
0021decclea r8, [8*r9]
0021ded4lea rax, [r15+32768]
0021dedblea r12, [r15+r8]
0021dedflea rbx, [r12+r14]
0021dee3jmp 0x21df07
0021dee5
0021dee5 0f 1f 00 ...
0021dee8
0021dee8loc_21dee8:
0021dee8mov rdi, rbp
0021deeband edi, 768
0021def1cmp [rip+0x15a4d8], rdi
0021def8je 0x21df60
0021defamov r12, rbx
0021defdadd rbx, r14
0021df00xor ecx, ecx
0021df02cmp rax, rbx
0021df05jb 0x21df1e
0021df07
0021df07loc_21df07:
0021df07mov rbp, [r12]
0021df0btest rbp, rbp
0021df0ejne 0x21dee8
0021df10xor r10l, r10l
0021df13
0021df13loc_21df13:
0021df13mov r12, rbx
0021df16add rbx, r14
0021df19cmp rax, rbx
0021df1cjae 0x21df07
0021df1e
0021df1eloc_21df1e:
0021df1etest ecx, ecx
0021df20jne 0x21e050
0021df26test r10l, r10l
0021df29jne 0x21dfe0
0021df2flea rax, [r13+8*rdx]
0021df34mov rdx, [r13+8*rdx]
0021df39
0021df39loc_21df39:
0021df39mov [r15], rdx
0021df3cmov [rax], r15
0021df3f
0021df3floc_21df3f:
0021df3fmov eax, 32768
0021df44add rsp, 56
0021df48sub rax, r8
0021df4bpop rbx
0021df4cpop rbp
0021df4dsar rax, 3
0021df51pop r12
0021df53pop r13
0021df55pop r14
0021df57pop r15
0021df59ret
0021df5a
0021df5a 66 0f 1f 44 00 00 f..D..
0021df60
0021df60loc_21df60:
0021df60movzx edi, bpl
0021df64cmp edi, 255
0021df6aje 0x21dff8
0021df70
0021df70loc_21df70:
0021df70mov [r12], 0
0021df78shr rbp, 10
0021df7cmov rdi, [r15+8]
0021df80mov [r12+8], rdi
0021df85mov rdi, rbp
0021df88mov [r15+8], r12
0021df8cnot rdi
0021df8fadd [r13+1072], rdi
0021df96mov rdi, [r13+1048]
0021df9dsub [r13+1080], 1
0021dfa5mov r10, [rdi+144]
0021dfaclea r10, [rbp+r10+1]
0021dfb1sub rbp, rsi
0021dfb4mov [rdi+144], r10
0021dfbbmov rdi, [r13+1088]
0021dfc2xor r10l, r10l
0021dfc5lea rdi, [rbp+rdi+1]
0021dfcamov [r13+1088], rdi
0021dfd1jmp 0x21df13
0021dfd6
0021dfd6 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021dfe0
0021dfe0loc_21dfe0:
0021dfe0add rdx, 32
0021dfe4lea rax, [r13+8*rdx]
0021dfe9mov rdx, [r13+8*rdx]
0021dfeejmp 0x21df39
0021dff3
0021dff3 0f 1f 44 00 00 ..D..
0021dff8
0021dff8loc_21dff8:
0021dff8mov rdi, [r12+8]
0021dffdmov r10, [rdi+8]
0021e001test r10, r10
0021e004je 0x21df70
0021e00amov [rsp+40], rdx
0021e00flea rdi, [r12+8]
0021e014mov [rsp+32], r9
0021e019mov [rsp+28], ecx
0021e01dmov [rsp+16], rsi
0021e022mov [rsp+8], rax
0021e027mov [rsp], r8
0021e02bcall r10
0021e02emov rdx, [rsp+40]
0021e033mov r9, [rsp+32]
0021e038mov ecx, [rsp+28]
0021e03cmov rsi, [rsp+16]
0021e041mov rax, [rsp+8]
0021e046mov r8, [rsp]
0021e04ajmp 0x21df70
0021e04f
0021e04f 90 .
0021e050
0021e050loc_21e050:
0021e050mov [r15+16], 0
0021e058lea rbx, [rip+0x15ad81]
0021e05fsub [r13+1056], 4096
0021e06amov rdi, rbx
0021e06dsub [r13+1088], r9
0021e074mov [rsp], r8
0021e078call fn_f4710
0021e07dmov r8, [rsp]
0021e081test eax, eax
0021e083jne 0x21e0d1
0021e085mov rax, [rip+0x15ad7c]
0021e08cmov rdi, rbx
0021e08fmov [rsp], r8
0021e093mov [r15], rax
0021e096mov [rip+0x15ad6b], r15
0021e09dcall fn_f47c0
0021e0a2mov r8, [rsp]
0021e0a6test eax, eax
0021e0a8je 0x21df3f
0021e0aemov esi, eax
0021e0b0lea rdi, [rip+0x11463]
0021e0b7call caml_plat_fatal_error
0021e0bcnop [rax]
0021e0c0
0021e0c0loc_21e0c0:
0021e0c0add rsp, 56
0021e0c4xor eax, eax
0021e0c6pop rbx
0021e0c7pop rbp
0021e0c8pop r12
0021e0capop r13
0021e0ccpop r14
0021e0cepop r15
0021e0d0ret
0021e0d1
0021e0d1loc_21e0d1:
0021e0d1mov esi, eax
0021e0d3lea rdi, [rip+0x11435]
0021e0dacall caml_plat_fatal_error
0021de80
0021de80fn_21de80:
0021de80push r15
0021de82push r14
0021de84push r13
0021de86push r12
0021de88push rbp
0021de89push rbx
0021de8asub rsp, 56
0021de8emov r15, [rsi]
0021de91test r15, r15
0021de94je 0x21e0c0
0021de9amov rax, [r15]
0021de9dmov edx, edx
0021de9fmov r13, rdi
0021dea2mov r10l, 1
0021dea8mov [rsi], rax
0021deablea rax, [rip+0x145ee]
0021deb2lea rsi, [rip+0x14607]
0021deb9movzx eax, [rax+rdx]
0021debdmov esi, [rsi+4*rdx]
0021dec0lea r9, [rax+4]
0021dec4lea r14, [8*rsi]
0021decclea r8, [8*r9]
0021ded4lea rax, [r15+32768]
0021dedblea r12, [r15+r8]
0021dedflea rbx, [r12+r14]
0021dee3jmp 0x21df07
0021dee5
0021dee5 0f 1f 00 ...
0021dee8
0021dee8loc_21dee8:
0021dee8mov rdi, rbp
0021deeband edi, 768
0021def1cmp [rip+0x15a4d8], rdi
0021def8je 0x21df60
0021defamov r12, rbx
0021defdadd rbx, r14
0021df00xor ecx, ecx
0021df02cmp rax, rbx
0021df05jb 0x21df1e
0021df07
0021df07loc_21df07:
0021df07mov rbp, [r12]
0021df0btest rbp, rbp
0021df0ejne 0x21dee8
0021df10xor r10l, r10l
0021df13
0021df13loc_21df13:
0021df13mov r12, rbx
0021df16add rbx, r14
0021df19cmp rax, rbx
0021df1cjae 0x21df07
0021df1e
0021df1eloc_21df1e:
0021df1etest ecx, ecx
0021df20jne 0x21e050
0021df26test r10l, r10l
0021df29jne 0x21dfe0
0021df2flea rax, [r13+8*rdx]
0021df34mov rdx, [r13+8*rdx]
0021df39
0021df39loc_21df39:
0021df39mov [r15], rdx
0021df3cmov [rax], r15
0021df3f
0021df3floc_21df3f:
0021df3fmov eax, 32768
0021df44add rsp, 56
0021df48sub rax, r8
0021df4bpop rbx
0021df4cpop rbp
0021df4dsar rax, 3
0021df51pop r12
0021df53pop r13
0021df55pop r14
0021df57pop r15
0021df59ret
0021df5a
0021df5a 66 0f 1f 44 00 00 f..D..
0021df60
0021df60loc_21df60:
0021df60movzx edi, bpl
0021df64cmp edi, 255
0021df6aje 0x21dff8
0021df70
0021df70loc_21df70:
0021df70mov [r12], 0
0021df78shr rbp, 10
0021df7cmov rdi, [r15+8]
0021df80mov [r12+8], rdi
0021df85mov rdi, rbp
0021df88mov [r15+8], r12
0021df8cnot rdi
0021df8fadd [r13+1072], rdi
0021df96mov rdi, [r13+1048]
0021df9dsub [r13+1080], 1
0021dfa5mov r10, [rdi+144]
0021dfaclea r10, [rbp+r10+1]
0021dfb1sub rbp, rsi
0021dfb4mov [rdi+144], r10
0021dfbbmov rdi, [r13+1088]
0021dfc2xor r10l, r10l
0021dfc5lea rdi, [rbp+rdi+1]
0021dfcamov [r13+1088], rdi
0021dfd1jmp 0x21df13
0021dfd6
0021dfd6 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021dfe0
0021dfe0loc_21dfe0:
0021dfe0add rdx, 32
0021dfe4lea rax, [r13+8*rdx]
0021dfe9mov rdx, [r13+8*rdx]
0021dfeejmp 0x21df39
0021dff3
0021dff3 0f 1f 44 00 00 ..D..
0021dff8
0021dff8loc_21dff8:
0021dff8mov rdi, [r12+8]
0021dffdmov r10, [rdi+8]
0021e001test r10, r10
0021e004je 0x21df70
0021e00amov [rsp+40], rdx
0021e00flea rdi, [r12+8]
0021e014mov [rsp+32], r9
0021e019mov [rsp+28], ecx
0021e01dmov [rsp+16], rsi
0021e022mov [rsp+8], rax
0021e027mov [rsp], r8
0021e02bcall r10
0021e02emov rdx, [rsp+40]
0021e033mov r9, [rsp+32]
0021e038mov ecx, [rsp+28]
0021e03cmov rsi, [rsp+16]
0021e041mov rax, [rsp+8]
0021e046mov r8, [rsp]
0021e04ajmp 0x21df70
0021e04f
0021e04f 90 .
0021e050
0021e050loc_21e050:
0021e050mov [r15+16], 0
0021e058lea rbx, [rip+0x15ad81]
0021e05fsub [r13+1056], 4096
0021e06amov rdi, rbx
0021e06dsub [r13+1088], r9
0021e074mov [rsp], r8
0021e078call fn_f4710
0021e07dmov r8, [rsp]
0021e081test eax, eax
0021e083jne 0x21e0d1
0021e085mov rax, [rip+0x15ad7c]
0021e08cmov rdi, rbx
0021e08fmov [rsp], r8
0021e093mov [r15], rax
0021e096mov [rip+0x15ad6b], r15
0021e09dcall fn_f47c0
0021e0a2mov r8, [rsp]
0021e0a6test eax, eax
0021e0a8je 0x21df3f
0021e0aemov esi, eax
0021e0b0lea rdi, [rip+0x11463]
0021e0b7call caml_plat_fatal_error
0021e0bcnop [rax]
0021e0c0
0021e0c0loc_21e0c0:
0021e0c0add rsp, 56
0021e0c4xor eax, eax
0021e0c6pop rbx
0021e0c7pop rbp
0021e0c8pop r12
0021e0capop r13
0021e0ccpop r14
0021e0cepop r15
0021e0d0ret
0021e0d1
0021e0d1loc_21e0d1:
0021e0d1mov esi, eax
0021e0d3lea rdi, [rip+0x11435]
0021e0dacall caml_plat_fatal_error
0021de80
0021e0df
0021e0df // align 0x10
0021e0df // align 0x10
0021e0e0
0021e0e0caml_init_shared_heap:
0021e0e0sub rsp, 8
0021e0e4mov edi, 1120
0021e0e9call caml_stat_alloc_noexc
0021e0eemov rdx, rax
0021e0f1test rax, rax
0021e0f4je 0x21e16f
0021e0f6lea rdi, [rax+8]
0021e0famov rcx, rax
0021e0fdmov [rax], 0
0021e104pxor x0, x0
0021e108mov [rax+1016], 0
0021e113and rdi, -8
0021e117xor eax, eax
0021e119sub rcx, rdi
0021e11cadd ecx, 1024
0021e122shr ecx, 3
0021e125rep stosq [rdi], rax
0021e128mov rax, [rip+0x57eb5]
0021e12fmovups [rdx+1024], x0
0021e136pxor x0, x0
0021e13amov [rdx+1040], 0
0021e144mov rax, [rax]
0021e148movups [rdx+1056], x0
0021e14fmovups [rdx+1072], x0
0021e156mov [rdx+1048], rax
0021e15dmovups [rdx+1088], x0
0021e164movups [rdx+1104], x0
0021e16bmov rax, rdx
0021e16eadd rsp, 8
0021e172ret
0021e173db 0x83
0021e174db 0xc4
0021e175or bl, al
0021e0e0
0021e0e0caml_init_shared_heap:
0021e0e0sub rsp, 8
0021e0e4mov edi, 1120
0021e0e9call caml_stat_alloc_noexc
0021e0eemov rdx, rax
0021e0f1test rax, rax
0021e0f4je 0x21e16f
0021e0f6lea rdi, [rax+8]
0021e0famov rcx, rax
0021e0fdmov [rax], 0
0021e104pxor x0, x0
0021e108mov [rax+1016], 0
0021e113and rdi, -8
0021e117xor eax, eax
0021e119sub rcx, rdi
0021e11cadd ecx, 1024
0021e122shr ecx, 3
0021e125rep stosq [rdi], rax
0021e128mov rax, [rip+0x57eb5]
0021e12fmovups [rdx+1024], x0
0021e136pxor x0, x0
0021e13amov [rdx+1040], 0
0021e144mov rax, [rax]
0021e148movups [rdx+1056], x0
0021e14fmovups [rdx+1072], x0
0021e156mov [rdx+1048], rax
0021e15dmovups [rdx+1088], x0
0021e164movups [rdx+1104], x0
0021e16bmov rax, rdx
0021e16eadd rsp, 8
0021e172ret
0021e173db 0x83
0021e174db 0xc4
0021e175or bl, al
0021e0e0
0021e177
0021e177 // align 0x10
0021e177 // align 0x10
0021e180
0021e180caml_teardown_shared_heap:
0021e180push r14
0021e182push r13
0021e184push r12
0021e186mov r12, rdi
0021e189push rbp
0021e18apush rbx
0021e18blea rbx, [rip+0x15ac4a]
0021e192mov rdi, rbx
0021e195call fn_f4710
0021e19amov r13l, eax
0021e19dtest eax, eax
0021e19fjne 0x21e35c
0021e1a5lea rcx, [rip+0x15ada0]
0021e1acmov rdx, r12
0021e1afxor ebp, ebp
0021e1b1lea r8, [rcx+256]
0021e1b8nop [rax]
0021e1bcmov rax, [rdx]
0021e1bflea rsi, [rcx-256]
0021e1c6test rax, rax
0021e1c9je 0x21e224
0021e1cbxor edi, edi
0021e1cdnop [rax+rax]
0021e1d8nop [rax+rax]
0021e1e3nop [rax+rax]
0021e1eenop [rax+rax]
0021e1f9nop [rax]
0021e1fcmov r9, [rax]
0021e1ffmov [rdx], r9
0021e202mov [rax+16], 0
0021e20amov r9, [rsi]
0021e20dmov [rax], r9
0021e210xchg [rsi], rax
0021e213mov rax, [rdx]
0021e216add edi, 1
0021e219test rax, rax
0021e21cjne 0x21e200
0021e21eadd ebp, edi
0021e220mov rax, [rdx+256]
0021e227test rax, rax
0021e22aje 0x21e26c
0021e22cxor esi, esi
0021e22enop [rax+rax]
0021e239nop [rax]
0021e23cmov rdi, [rax]
0021e23fmov [rdx+256], rdi
0021e246mov [rax+16], 0
0021e24emov rdi, [rcx]
0021e251mov [rax], rdi
0021e254xchg [rcx], rax
0021e257mov rax, [rdx+256]
0021e25eadd esi, 1
0021e261test rax, rax
0021e264jne 0x21e240
0021e266add ebp, esi
0021e268add rcx, 8
0021e26c
0021e26cloc_21e26c:
0021e26cadd rdx, 8
0021e270cmp rcx, r8
0021e273jne 0x21e1c0
0021e279mov rax, [r12+1024]
0021e281test rax, rax
0021e284je 0x21e2ee
0021e286mov rcx, [rip+0x15adbf]
0021e28djmp 0x21e2c3
0021e28fdb 0x15
0021e290add bl, ch
0021e292db 0x30
0021e293
0021e293 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 ff.........ff
0021e2a0 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f 1f 84 00 .........ff.....
0021e2b0 00 00 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 90 ....ff..........
0021e2c0
0021e2c0loc_21e2c0:
0021e2c0mov rax, rdx
0021e2c3
0021e2c3loc_21e2c3:
0021e2c3mov rdx, [rax+8]
0021e2c7add r13l, 1
0021e2cbmov [r12+1024], rdx
0021e2d3mov [rax+8], rcx
0021e2d7mov rdx, [r12+1024]
0021e2dfmov rcx, rax
0021e2e2mov [rip+0x15ad67], rax
0021e2e9test rdx, rdx
0021e2ecjne 0x21e2c0
0021e2ee
0021e2eeloc_21e2ee:
0021e2eelea r14, [r12+1056]
0021e2f6lea rdi, [rip+0x15ab13]
0021e2fdmov rsi, r14
0021e300call caml_accum_heap_stats
0021e305pxor x0, x0
0021e309mov rdi, rbx
0021e30cmovups [r12+1056], x0
0021e315movups [r12+1072], x0
0021e31emovups [r12+1088], x0
0021e327movups [r12+1104], x0
0021e330call fn_f47c0
0021e335test eax, eax
0021e337jne 0x21e36a
0021e339mov rdi, r12
0021e33ccall caml_stat_free
0021e341pop rbx
0021e342mov edx, r13l
0021e345mov esi, ebp
0021e347lea rdi, [rip+0x12f62]
0021e34epop rbp
0021e34fxor eax, eax
0021e351pop r12
0021e353pop r13
0021e355pop r14
0021e357jmp 0x21abf0
0021e35c
0021e35cloc_21e35c:
0021e35cmov esi, eax
0021e35elea rdi, [rip+0x111aa]
0021e365call caml_plat_fatal_error
0021e36a
0021e36aloc_21e36a:
0021e36amov esi, eax
0021e36clea rdi, [rip+0x111a7]
0021e373call caml_plat_fatal_error
0021e180
0021e180caml_teardown_shared_heap:
0021e180push r14
0021e182push r13
0021e184push r12
0021e186mov r12, rdi
0021e189push rbp
0021e18apush rbx
0021e18blea rbx, [rip+0x15ac4a]
0021e192mov rdi, rbx
0021e195call fn_f4710
0021e19amov r13l, eax
0021e19dtest eax, eax
0021e19fjne 0x21e35c
0021e1a5lea rcx, [rip+0x15ada0]
0021e1acmov rdx, r12
0021e1afxor ebp, ebp
0021e1b1lea r8, [rcx+256]
0021e1b8nop [rax]
0021e1bcmov rax, [rdx]
0021e1bflea rsi, [rcx-256]
0021e1c6test rax, rax
0021e1c9je 0x21e224
0021e1cbxor edi, edi
0021e1cdnop [rax+rax]
0021e1d8nop [rax+rax]
0021e1e3nop [rax+rax]
0021e1eenop [rax+rax]
0021e1f9nop [rax]
0021e1fcmov r9, [rax]
0021e1ffmov [rdx], r9
0021e202mov [rax+16], 0
0021e20amov r9, [rsi]
0021e20dmov [rax], r9
0021e210xchg [rsi], rax
0021e213mov rax, [rdx]
0021e216add edi, 1
0021e219test rax, rax
0021e21cjne 0x21e200
0021e21eadd ebp, edi
0021e220mov rax, [rdx+256]
0021e227test rax, rax
0021e22aje 0x21e26c
0021e22cxor esi, esi
0021e22enop [rax+rax]
0021e239nop [rax]
0021e23cmov rdi, [rax]
0021e23fmov [rdx+256], rdi
0021e246mov [rax+16], 0
0021e24emov rdi, [rcx]
0021e251mov [rax], rdi
0021e254xchg [rcx], rax
0021e257mov rax, [rdx+256]
0021e25eadd esi, 1
0021e261test rax, rax
0021e264jne 0x21e240
0021e266add ebp, esi
0021e268add rcx, 8
0021e26c
0021e26cloc_21e26c:
0021e26cadd rdx, 8
0021e270cmp rcx, r8
0021e273jne 0x21e1c0
0021e279mov rax, [r12+1024]
0021e281test rax, rax
0021e284je 0x21e2ee
0021e286mov rcx, [rip+0x15adbf]
0021e28djmp 0x21e2c3
0021e28fdb 0x15
0021e290add bl, ch
0021e292db 0x30
0021e293
0021e293 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 ff.........ff
0021e2a0 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f 1f 84 00 .........ff.....
0021e2b0 00 00 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 90 ....ff..........
0021e2c0
0021e2c0loc_21e2c0:
0021e2c0mov rax, rdx
0021e2c3
0021e2c3loc_21e2c3:
0021e2c3mov rdx, [rax+8]
0021e2c7add r13l, 1
0021e2cbmov [r12+1024], rdx
0021e2d3mov [rax+8], rcx
0021e2d7mov rdx, [r12+1024]
0021e2dfmov rcx, rax
0021e2e2mov [rip+0x15ad67], rax
0021e2e9test rdx, rdx
0021e2ecjne 0x21e2c0
0021e2ee
0021e2eeloc_21e2ee:
0021e2eelea r14, [r12+1056]
0021e2f6lea rdi, [rip+0x15ab13]
0021e2fdmov rsi, r14
0021e300call caml_accum_heap_stats
0021e305pxor x0, x0
0021e309mov rdi, rbx
0021e30cmovups [r12+1056], x0
0021e315movups [r12+1072], x0
0021e31emovups [r12+1088], x0
0021e327movups [r12+1104], x0
0021e330call fn_f47c0
0021e335test eax, eax
0021e337jne 0x21e36a
0021e339mov rdi, r12
0021e33ccall caml_stat_free
0021e341pop rbx
0021e342mov edx, r13l
0021e345mov esi, ebp
0021e347lea rdi, [rip+0x12f62]
0021e34epop rbp
0021e34fxor eax, eax
0021e351pop r12
0021e353pop r13
0021e355pop r14
0021e357jmp 0x21abf0
0021e35c
0021e35cloc_21e35c:
0021e35cmov esi, eax
0021e35elea rdi, [rip+0x111aa]
0021e365call caml_plat_fatal_error
0021e36a
0021e36aloc_21e36a:
0021e36amov esi, eax
0021e36clea rdi, [rip+0x111a7]
0021e373call caml_plat_fatal_error
0021e180
0021e378
0021e378 // align 0x10
0021e378 // align 0x10
0021e380
0021e380caml_shared_try_alloc:
0021e380push r15
0021e382push r14
0021e384push r13
0021e386lea r13, [rsi+1]
0021e38apush r12
0021e38cpush rbp
0021e38dmov rbp, rsi
0021e390push rbx
0021e391mov rbx, rdi
0021e394sub rsp, 40
0021e398mov [rsp+12], edx
0021e39ccmp r13, 128
0021e3a3ja 0x21e428
0021e3a5lea rax, [rip+0x14050]
0021e3acmovzx r12l, [rax+rsi+1]
0021e3b2lea r15, [rdi+8*r12]
0021e3b6mov rax, r12
0021e3b9mov rcx, [r15]
0021e3bctest rcx, rcx
0021e3bfje 0x21e4c0
0021e3c5lea rax, [rip+0x140f0]
0021e3ccmov r12l, r12l
0021e3cfmov esi, [rax+4*r12]
0021e3d3mov rax, [rcx+8]
0021e3d7mov rdx, [rax+8]
0021e3db
0021e3dbloc_21e3db:
0021e3dbmov [rcx+8], rdx
0021e3dftest rdx, rdx
0021e3e2jne 0x21e3ff
0021e3e4mov rdx, [rcx]
0021e3e7mov [r15], rdx
0021e3eamov rdx, [r15+256]
0021e3f1mov [rcx], rdx
0021e3f4mov [r15+256], rcx
0021e3fbmov rdx, [rbx+1088]
0021e402add [rbx+1080], 1
0021e40aadd [rbx+1072], r13
0021e411sub rdx, r13
0021e414add rdx, rsi
0021e417mov [rbx+1088], rdx
0021e41ejmp 0x21e492
0021e420db 0x00
0021e421add bl, ch
0021e423outsb dl, [rsi]
0021e424
0021e424 0f 1f 40 00 ..@.
0021e428
0021e428loc_21e428:
0021e428lea r12, [8*r13+16]
0021e430mov rdi, r12
0021e433call fn_f4250
0021e438test rax, rax
0021e43bje 0x21e795
0021e441mov rdx, r12
0021e444shr rdx, 3
0021e448add rdx, [rbx+1096]
0021e44fmov [rbx+1096], rdx
0021e456cmp rdx, [rbx+1104]
0021e45djle 0x21e466
0021e45fmov [rbx+1104], rdx
0021e466
0021e466loc_21e466:
0021e466add [rbx+1112], 1
0021e46emovdqu x1, [rbx+1024]
0021e476movdqu x0, [rbx+1040]
0021e47emov [rbx+1024], rax
0021e485add rax, 16
0021e489shufpd x0, x1, 1
0021e48emovups [rax-16], x0
0021e492
0021e492loc_21e492:
0021e492mov ebx, [rsp+12]
0021e496shl rbp, 10
0021e49aadd rbx, [rip+0x159f1f]
0021e4a1add rbx, rbp
0021e4a4mov [rax], rbx
0021e4a7
0021e4a7loc_21e4a7:
0021e4a7add rsp, 40
0021e4abpop rbx
0021e4acpop rbp
0021e4adpop r12
0021e4afpop r13
0021e4b1pop r14
0021e4b3pop r15
0021e4b5ret
0021e4b6
0021e4b6 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021e4c0
0021e4c0loc_21e4c0:
0021e4c0add rax, 64
0021e4c4mov [rsp+24], rax
0021e4c9shl rax, 3
0021e4cdmov [rsp+16], rax
0021e4d2lea r14, [rdi+rax]
0021e4d6jmp 0x21e511
0021e4d8
0021e4d8 0f 1f 84 00 00 00 00 00 ........
0021e4e0
0021e4e0loc_21e4e0:
0021e4e0xor ecx, ecx
0021e4e2mov edx, r12l
0021e4e5mov rsi, r14
0021e4e8mov rdi, rbx
0021e4ebcall fn_21de80
0021e4f0mov rdx, rax
0021e4f3mov rax, [rip+0x57aee]
0021e4famov rax, [rax]
0021e4feadd [rax+360], rdx
0021e505mov rcx, [r15]
0021e508test rcx, rcx
0021e50bjne 0x21e3c9
0021e511
0021e511loc_21e511:
0021e511cmp [r15+512], 0
0021e519jne 0x21e4e0
0021e51bmov rax, [rsp+16]
0021e520lea r14, [rip+0x15a8b9]
0021e527lea rdx, [r14+rax-400]
0021e52fmov rax, [rdx]
0021e532test rax, rax
0021e535je 0x21e6f0
0021e53b
0021e53bloc_21e53b:
0021e53bmov rdi, r14
0021e53emov [rsp+24], rdx
0021e543call fn_f4710
0021e548mov rdx, [rsp+24]
0021e54dtest eax, eax
0021e54fjne 0x21e7ce
0021e555mov rax, [rdx]
0021e558test rax, rax
0021e55bje 0x21e5b0
0021e55dmov rcx, [rdx]
0021e560test rcx, rcx
0021e563je 0x21e5b0
0021e565mov rax, [rcx]
0021e568mov rsi, rcx
0021e56bmov rdi, rbx
0021e56emov [rdx], rax
0021e571mov [rcx], 0
0021e578mov edx, r12l
0021e57bmov [r15], rcx
0021e57emov [rsp+16], rcx
0021e583call fn_21d840
0021e588mov rdi, r14
0021e58bcall fn_f47c0
0021e590mov rcx, [rsp+16]
0021e595test eax, eax
0021e597je 0x21e3c9
0021e59d
0021e59dloc_21e59d:
0021e59dmov esi, eax
0021e59flea rdi, [rip+0x10f74]
0021e5a6call caml_plat_fatal_error
0021e5abnop [rax+rax]
0021e5b0
0021e5b0loc_21e5b0:
0021e5b0mov rax, [rsp+16]
0021e5b5lea rax, [r14+rax-144]
0021e5bdmov rsi, [rax]
0021e5c0test rsi, rsi
0021e5c3jne 0x21e70e
0021e5c9mov rdi, r14
0021e5cccall fn_f47c0
0021e5d1test eax, eax
0021e5d3jne 0x21e59d
0021e5d5
0021e5d5loc_21e5d5:
0021e5d5mov rdi, r14
0021e5d8call fn_f4710
0021e5ddtest eax, eax
0021e5dfjne 0x21e7ce
0021e5e5mov rcx, [rip+0x15a81c]
0021e5ectest rcx, rcx
0021e5efje 0x21e79c
0021e5f5
0021e5f5loc_21e5f5:
0021e5f5mov rax, [rcx]
0021e5f8mov rdi, r14
0021e5fbmov [rsp+16], rcx
0021e600mov [rip+0x15a801], rax
0021e607call fn_f47c0
0021e60cmov rcx, [rsp+16]
0021e611test eax, eax
0021e613jne 0x21e59d
0021e615mov rax, [rbx+1056]
0021e61cadd rax, 4096
0021e622mov [rbx+1056], rax
0021e629cmp rax, [rbx+1064]
0021e630jle 0x21e639
0021e632mov [rbx+1064], rax
0021e639
0021e639loc_21e639:
0021e639mov edx, r12l
0021e63clea rax, [rip+0x13e5d]
0021e643pxor x0, x0
0021e647movzx eax, [rax+rdx]
0021e64blea rsi, [rip+0x13e6e]
0021e652lea r14, [rcx+32768]
0021e659mov esi, [rsi+4*rdx]
0021e65cadd rax, 4
0021e660add [rbx+1088], rax
0021e667mov [r15], rcx
0021e66amov rdi, [rbx+1048]
0021e671lea r11, [8*rsi]
0021e679lea rax, [rcx+8*rax]
0021e67dmov [rcx+24], r12l
0021e681mov r12, r11
0021e684mov [rcx], 0
0021e68bneg r12
0021e68emov [rcx+16], rdi
0021e692movups [rax], x0
0021e695add rax, r11
0021e698lea rdx, [rax+r11]
0021e69ccmp r14, rdx
0021e69fjb 0x21e6e0
0021e6a1mov r8, rsi
0021e6a4mov rdi, rax
0021e6a7shl r8, 4
0021e6abnop [rax+rax]
0021e6b6nop [rax+rax]
0021e6c0
0021e6c0loc_21e6c0:
0021e6c0mov r10, rdi
0021e6c3mov rax, rdx
0021e6c6add rdx, r11
0021e6c9mov [rdi], 0
0021e6d0sub r10, r11
0021e6d3mov [rdi+8], r10
0021e6d7lea rdi, [r8+r10]
0021e6dbcmp r14, rdx
0021e6dejae 0x21e6c0
0021e6e0
0021e6e0loc_21e6e0:
0021e6e0add rax, r12
0021e6e3mov [rcx+8], rax
0021e6e7jmp 0x21e3db
0021e6ec
0021e6ec 0f 1f 40 00 ..@.
0021e6f0
0021e6f0loc_21e6f0:
0021e6f0mov rdi, [rsp+24]
0021e6f5lea rax, [rip+0x15a654]
0021e6fcmov rax, [rax+8*rdi]
0021e700test rax, rax
0021e703jne 0x21e53b
0021e709jmp 0x21e5d5
0021e70e
0021e70eloc_21e70e:
0021e70emov rdx, [rsi]
0021e711mov rdi, rbx
0021e714mov [rax], rdx
0021e717mov edx, r12l
0021e71amov rax, [r15+256]
0021e721mov [rsi], rax
0021e724mov [r15+256], rsi
0021e72bcall fn_21d840
0021e730mov rdi, r14
0021e733call fn_f47c0
0021e738test eax, eax
0021e73ajne 0x21e59d
0021e740mov rax, [rsp+16]
0021e745xor ecx, ecx
0021e747mov edx, r12l
0021e74amov rdi, rbx
0021e74dlea rsi, [rbx+rax-256]
0021e755call fn_21de80
0021e75amov rdx, rax
0021e75dmov rax, [rip+0x57884]
0021e764mov rax, [rax]
0021e768add [rax+360], rdx
0021e76fmov rcx, [r15]
0021e772test rcx, rcx
0021e775jne 0x21e3c9
0021e77bjmp 0x21e5d5
0021e780
0021e780loc_21e780:
0021e780test rax, rax
0021e783jne 0x21e7dc
0021e785mov rdi, r14
0021e788call fn_f47c0
0021e78dtest eax, eax
0021e78fjne 0x21e59d
0021e795
0021e795loc_21e795:
0021e795xor eax, eax
0021e797jmp 0x21e4a7
0021e79c
0021e79cloc_21e79c:
0021e79cxor esi, esi
0021e79emov edi, 32768
0021e7a3call caml_mem_map
0021e7a8mov rcx, rax
0021e7abmov rax, [rip+0x15a656]
0021e7b2test rcx, rcx
0021e7b5je 0x21e780
0021e7b7mov [rcx], rax
0021e7bamov [rcx+16], 0
0021e7c2mov [rip+0x15a63f], rcx
0021e7c9jmp 0x21e5f5
0021e7ce
0021e7celoc_21e7ce:
0021e7cemov esi, eax
0021e7d0lea rdi, [rip+0x10d38]
0021e7d7call caml_plat_fatal_error
0021e7dc
0021e7dcloc_21e7dc:
0021e7dcmov rcx, rax
0021e7dfjmp 0x21e5f5
0021e380
0021e380caml_shared_try_alloc:
0021e380push r15
0021e382push r14
0021e384push r13
0021e386lea r13, [rsi+1]
0021e38apush r12
0021e38cpush rbp
0021e38dmov rbp, rsi
0021e390push rbx
0021e391mov rbx, rdi
0021e394sub rsp, 40
0021e398mov [rsp+12], edx
0021e39ccmp r13, 128
0021e3a3ja 0x21e428
0021e3a5lea rax, [rip+0x14050]
0021e3acmovzx r12l, [rax+rsi+1]
0021e3b2lea r15, [rdi+8*r12]
0021e3b6mov rax, r12
0021e3b9mov rcx, [r15]
0021e3bctest rcx, rcx
0021e3bfje 0x21e4c0
0021e3c5lea rax, [rip+0x140f0]
0021e3ccmov r12l, r12l
0021e3cfmov esi, [rax+4*r12]
0021e3d3mov rax, [rcx+8]
0021e3d7mov rdx, [rax+8]
0021e3db
0021e3dbloc_21e3db:
0021e3dbmov [rcx+8], rdx
0021e3dftest rdx, rdx
0021e3e2jne 0x21e3ff
0021e3e4mov rdx, [rcx]
0021e3e7mov [r15], rdx
0021e3eamov rdx, [r15+256]
0021e3f1mov [rcx], rdx
0021e3f4mov [r15+256], rcx
0021e3fbmov rdx, [rbx+1088]
0021e402add [rbx+1080], 1
0021e40aadd [rbx+1072], r13
0021e411sub rdx, r13
0021e414add rdx, rsi
0021e417mov [rbx+1088], rdx
0021e41ejmp 0x21e492
0021e420db 0x00
0021e421add bl, ch
0021e423outsb dl, [rsi]
0021e424
0021e424 0f 1f 40 00 ..@.
0021e428
0021e428loc_21e428:
0021e428lea r12, [8*r13+16]
0021e430mov rdi, r12
0021e433call fn_f4250
0021e438test rax, rax
0021e43bje 0x21e795
0021e441mov rdx, r12
0021e444shr rdx, 3
0021e448add rdx, [rbx+1096]
0021e44fmov [rbx+1096], rdx
0021e456cmp rdx, [rbx+1104]
0021e45djle 0x21e466
0021e45fmov [rbx+1104], rdx
0021e466
0021e466loc_21e466:
0021e466add [rbx+1112], 1
0021e46emovdqu x1, [rbx+1024]
0021e476movdqu x0, [rbx+1040]
0021e47emov [rbx+1024], rax
0021e485add rax, 16
0021e489shufpd x0, x1, 1
0021e48emovups [rax-16], x0
0021e492
0021e492loc_21e492:
0021e492mov ebx, [rsp+12]
0021e496shl rbp, 10
0021e49aadd rbx, [rip+0x159f1f]
0021e4a1add rbx, rbp
0021e4a4mov [rax], rbx
0021e4a7
0021e4a7loc_21e4a7:
0021e4a7add rsp, 40
0021e4abpop rbx
0021e4acpop rbp
0021e4adpop r12
0021e4afpop r13
0021e4b1pop r14
0021e4b3pop r15
0021e4b5ret
0021e4b6
0021e4b6 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021e4c0
0021e4c0loc_21e4c0:
0021e4c0add rax, 64
0021e4c4mov [rsp+24], rax
0021e4c9shl rax, 3
0021e4cdmov [rsp+16], rax
0021e4d2lea r14, [rdi+rax]
0021e4d6jmp 0x21e511
0021e4d8
0021e4d8 0f 1f 84 00 00 00 00 00 ........
0021e4e0
0021e4e0loc_21e4e0:
0021e4e0xor ecx, ecx
0021e4e2mov edx, r12l
0021e4e5mov rsi, r14
0021e4e8mov rdi, rbx
0021e4ebcall fn_21de80
0021e4f0mov rdx, rax
0021e4f3mov rax, [rip+0x57aee]
0021e4famov rax, [rax]
0021e4feadd [rax+360], rdx
0021e505mov rcx, [r15]
0021e508test rcx, rcx
0021e50bjne 0x21e3c9
0021e511
0021e511loc_21e511:
0021e511cmp [r15+512], 0
0021e519jne 0x21e4e0
0021e51bmov rax, [rsp+16]
0021e520lea r14, [rip+0x15a8b9]
0021e527lea rdx, [r14+rax-400]
0021e52fmov rax, [rdx]
0021e532test rax, rax
0021e535je 0x21e6f0
0021e53b
0021e53bloc_21e53b:
0021e53bmov rdi, r14
0021e53emov [rsp+24], rdx
0021e543call fn_f4710
0021e548mov rdx, [rsp+24]
0021e54dtest eax, eax
0021e54fjne 0x21e7ce
0021e555mov rax, [rdx]
0021e558test rax, rax
0021e55bje 0x21e5b0
0021e55dmov rcx, [rdx]
0021e560test rcx, rcx
0021e563je 0x21e5b0
0021e565mov rax, [rcx]
0021e568mov rsi, rcx
0021e56bmov rdi, rbx
0021e56emov [rdx], rax
0021e571mov [rcx], 0
0021e578mov edx, r12l
0021e57bmov [r15], rcx
0021e57emov [rsp+16], rcx
0021e583call fn_21d840
0021e588mov rdi, r14
0021e58bcall fn_f47c0
0021e590mov rcx, [rsp+16]
0021e595test eax, eax
0021e597je 0x21e3c9
0021e59d
0021e59dloc_21e59d:
0021e59dmov esi, eax
0021e59flea rdi, [rip+0x10f74]
0021e5a6call caml_plat_fatal_error
0021e5abnop [rax+rax]
0021e5b0
0021e5b0loc_21e5b0:
0021e5b0mov rax, [rsp+16]
0021e5b5lea rax, [r14+rax-144]
0021e5bdmov rsi, [rax]
0021e5c0test rsi, rsi
0021e5c3jne 0x21e70e
0021e5c9mov rdi, r14
0021e5cccall fn_f47c0
0021e5d1test eax, eax
0021e5d3jne 0x21e59d
0021e5d5
0021e5d5loc_21e5d5:
0021e5d5mov rdi, r14
0021e5d8call fn_f4710
0021e5ddtest eax, eax
0021e5dfjne 0x21e7ce
0021e5e5mov rcx, [rip+0x15a81c]
0021e5ectest rcx, rcx
0021e5efje 0x21e79c
0021e5f5
0021e5f5loc_21e5f5:
0021e5f5mov rax, [rcx]
0021e5f8mov rdi, r14
0021e5fbmov [rsp+16], rcx
0021e600mov [rip+0x15a801], rax
0021e607call fn_f47c0
0021e60cmov rcx, [rsp+16]
0021e611test eax, eax
0021e613jne 0x21e59d
0021e615mov rax, [rbx+1056]
0021e61cadd rax, 4096
0021e622mov [rbx+1056], rax
0021e629cmp rax, [rbx+1064]
0021e630jle 0x21e639
0021e632mov [rbx+1064], rax
0021e639
0021e639loc_21e639:
0021e639mov edx, r12l
0021e63clea rax, [rip+0x13e5d]
0021e643pxor x0, x0
0021e647movzx eax, [rax+rdx]
0021e64blea rsi, [rip+0x13e6e]
0021e652lea r14, [rcx+32768]
0021e659mov esi, [rsi+4*rdx]
0021e65cadd rax, 4
0021e660add [rbx+1088], rax
0021e667mov [r15], rcx
0021e66amov rdi, [rbx+1048]
0021e671lea r11, [8*rsi]
0021e679lea rax, [rcx+8*rax]
0021e67dmov [rcx+24], r12l
0021e681mov r12, r11
0021e684mov [rcx], 0
0021e68bneg r12
0021e68emov [rcx+16], rdi
0021e692movups [rax], x0
0021e695add rax, r11
0021e698lea rdx, [rax+r11]
0021e69ccmp r14, rdx
0021e69fjb 0x21e6e0
0021e6a1mov r8, rsi
0021e6a4mov rdi, rax
0021e6a7shl r8, 4
0021e6abnop [rax+rax]
0021e6b6nop [rax+rax]
0021e6c0
0021e6c0loc_21e6c0:
0021e6c0mov r10, rdi
0021e6c3mov rax, rdx
0021e6c6add rdx, r11
0021e6c9mov [rdi], 0
0021e6d0sub r10, r11
0021e6d3mov [rdi+8], r10
0021e6d7lea rdi, [r8+r10]
0021e6dbcmp r14, rdx
0021e6dejae 0x21e6c0
0021e6e0
0021e6e0loc_21e6e0:
0021e6e0add rax, r12
0021e6e3mov [rcx+8], rax
0021e6e7jmp 0x21e3db
0021e6ec
0021e6ec 0f 1f 40 00 ..@.
0021e6f0
0021e6f0loc_21e6f0:
0021e6f0mov rdi, [rsp+24]
0021e6f5lea rax, [rip+0x15a654]
0021e6fcmov rax, [rax+8*rdi]
0021e700test rax, rax
0021e703jne 0x21e53b
0021e709jmp 0x21e5d5
0021e70e
0021e70eloc_21e70e:
0021e70emov rdx, [rsi]
0021e711mov rdi, rbx
0021e714mov [rax], rdx
0021e717mov edx, r12l
0021e71amov rax, [r15+256]
0021e721mov [rsi], rax
0021e724mov [r15+256], rsi
0021e72bcall fn_21d840
0021e730mov rdi, r14
0021e733call fn_f47c0
0021e738test eax, eax
0021e73ajne 0x21e59d
0021e740mov rax, [rsp+16]
0021e745xor ecx, ecx
0021e747mov edx, r12l
0021e74amov rdi, rbx
0021e74dlea rsi, [rbx+rax-256]
0021e755call fn_21de80
0021e75amov rdx, rax
0021e75dmov rax, [rip+0x57884]
0021e764mov rax, [rax]
0021e768add [rax+360], rdx
0021e76fmov rcx, [r15]
0021e772test rcx, rcx
0021e775jne 0x21e3c9
0021e77bjmp 0x21e5d5
0021e780
0021e780loc_21e780:
0021e780test rax, rax
0021e783jne 0x21e7dc
0021e785mov rdi, r14
0021e788call fn_f47c0
0021e78dtest eax, eax
0021e78fjne 0x21e59d
0021e795
0021e795loc_21e795:
0021e795xor eax, eax
0021e797jmp 0x21e4a7
0021e79c
0021e79cloc_21e79c:
0021e79cxor esi, esi
0021e79emov edi, 32768
0021e7a3call caml_mem_map
0021e7a8mov rcx, rax
0021e7abmov rax, [rip+0x15a656]
0021e7b2test rcx, rcx
0021e7b5je 0x21e780
0021e7b7mov [rcx], rax
0021e7bamov [rcx+16], 0
0021e7c2mov [rip+0x15a63f], rcx
0021e7c9jmp 0x21e5f5
0021e7ce
0021e7celoc_21e7ce:
0021e7cemov esi, eax
0021e7d0lea rdi, [rip+0x10d38]
0021e7d7call caml_plat_fatal_error
0021e7dc
0021e7dcloc_21e7dc:
0021e7dcmov rcx, rax
0021e7dfjmp 0x21e5f5
0021e380
0021e7e4
0021e7e4 // align 0x20
0021e7e4 // align 0x20
0021e800
0021e800caml_sweep:
0021e800push r14
0021e802push r13
0021e804push r12
0021e806push rbp
0021e807mov rbp, rdi
0021e80apush rbx
0021e80bsub rsp, 48
0021e80fmov r12, [0x28]
0021e818mov [rsp+40], r12
0021e81dmov r12, rsi
0021e820nop [rax+rax]
0021e82bnop
0021e82ctest r12, r12
0021e82fjle 0x21e871
0021e831mov r13l, [rbp+1040]
0021e838cmp r13l, 31
0021e83cja 0x21e8b6
0021e83emov eax, r13l
0021e841mov ecx, 1
0021e846mov edx, r13l
0021e849mov rdi, rbp
0021e84clea r14, [8*rax+512]
0021e854lea rsi, [rbp+r14]
0021e859call fn_21de80
0021e85esub r12, rax
0021e861mov rbx, rax
0021e864test r12, r12
0021e867jg 0x21e940
0021e86dmov rax, [rsp+40]
0021e872sub rax, [0x28]
0021e87bjne 0x21eacf
0021e881add rsp, 48
0021e885mov rax, r12
0021e888pop rbx
0021e889pop rbp
0021e88apop r12
0021e88cpop r13
0021e88epop r14
0021e890ret
0021e891db 0x5d
0021e892pop r14
0021e894ret
0021e895
0021e895 0f 1f 00 ...
0021e898
0021e898loc_21e898:
0021e898mov rax, [rbp+1024]
0021e89fmov [rbx+8], rax
0021e8a3mov [rbp+1024], rbx
0021e8aa
0021e8aaloc_21e8aa:
0021e8aaadd r13, 1
0021e8aesub r12, r13
0021e8b1test r12, r12
0021e8b4jle 0x21e871
0021e8b6
0021e8b6loc_21e8b6:
0021e8b6mov rbx, [rbp+1032]
0021e8bdtest rbx, rbx
0021e8c0je 0x21e98c
0021e8c6mov rax, [rbx+8]
0021e8camov [rbp+1032], rax
0021e8d1mov rax, [rbx+16]
0021e8d5mov r13, rax
0021e8d8mov rdx, rax
0021e8dbshr r13, 10
0021e8dfand edx, 768
0021e8e5cmp [rip+0x159ae4], rdx
0021e8ecjne 0x21e898
0021e8eemovzx eax, al
0021e8f1cmp eax, 255
0021e8f6je 0x21e970
0021e8f8
0021e8f8loc_21e8f8:
0021e8f8mov rax, [rbp+1096]
0021e8ffmov rdi, rbx
0021e902sub rax, 3
0021e906sub rax, r13
0021e909mov [rbp+1096], rax
0021e910mov rax, [rbp+1048]
0021e917mov rdx, [rax+144]
0021e91elea rdx, [r13+rdx+3]
0021e923mov [rax+144], rdx
0021e92asub [rbp+1112], 1
0021e932call fn_f4370
0021e937jmp 0x21e8aa
0021e93c
0021e93c 0f 1f 40 00 ..@.
0021e940
0021e940loc_21e940:
0021e940lea rsi, [rbp+r14+256]
0021e948mov ecx, 1
0021e94dmov edx, r13l
0021e950mov rdi, rbp
0021e953call fn_21de80
0021e958sub r12, rax
0021e95badd rbx, rax
0021e95ejne 0x21e830
0021e964add [rbp+1040], 1
0021e96bjmp 0x21e830
0021e970
0021e970loc_21e970:
0021e970mov rax, [rbx+24]
0021e974mov rax, [rax+8]
0021e978test rax, rax
0021e97bje 0x21e8f8
0021e981lea rdi, [rbx+24]
0021e985call rax
0021e987jmp 0x21e8f8
0021e98c
0021e98cloc_21e98c:
0021e98cmov rax, [rip+0x56fc5]
0021e993cmp [rax+56], 0
0021e998je 0x21e871
0021e99etest r12, r12
0021e9a1jle 0x21e871
0021e9a7mov [rsp+32], 0
0021e9b0xor r13l, r13l
0021e9b3xor ecx, ecx
0021e9b5xor edx, edx
0021e9b7pxor x0, x0
0021e9bbxor esi, esi
0021e9bdmov rbx, rsp
0021e9c0movaps [rsp], x0
0021e9c4movaps [rsp+16], x0
0021e9c9nop [rax]
0021e9d0
0021e9d0loc_21e9d0:
0021e9d0mov r11, [rbp+8*r13]
0021e9d5test r11, r11
0021e9d8je 0x21ea12
0021e9damov r14l, r13l
0021e9ddnop [rax]
0021e9e0
0021e9e0loc_21e9e0:
0021e9e0mov [rsp], rsi
0021e9e4mov rdi, r11
0021e9e7mov esi, r14l
0021e9eamov [rsp+16], rdx
0021e9efmov rdx, rbx
0021e9f2mov [rsp+24], rcx
0021e9f7call fn_21d740
0021e9fcmov r11, [r11]
0021e9ffmov rsi, [rsp]
0021ea03mov rdx, [rsp+16]
0021ea08mov rcx, [rsp+24]
0021ea0dtest r11, r11
0021ea10jne 0x21e9e0
0021ea12
0021ea12loc_21ea12:
0021ea12mov r11, [rbp+8*r13+256]
0021ea1atest r11, r11
0021ea1dje 0x21ea62
0021ea1fmov r14l, r13l
0021ea22nop [rax+rax]
0021ea2dnop [rax]
0021ea30
0021ea30loc_21ea30:
0021ea30mov [rsp], rsi
0021ea34mov rdi, r11
0021ea37mov esi, r14l
0021ea3amov [rsp+16], rdx
0021ea3fmov rdx, rbx
0021ea42mov [rsp+24], rcx
0021ea47call fn_21d740
0021ea4cmov r11, [r11]
0021ea4fmov rsi, [rsp]
0021ea53mov rdx, [rsp+16]
0021ea58mov rcx, [rsp+24]
0021ea5dtest r11, r11
0021ea60jne 0x21ea30
0021ea62
0021ea62loc_21ea62:
0021ea62add r13, 1
0021ea66cmp r13, 32
0021ea6ajne 0x21e9d0
0021ea70xor eax, eax
0021ea72lea rdi, [rip+0x12877]
0021ea79call caml_gc_log
0021ea7emov rax, [rbp+1024]
0021ea85xor ecx, ecx
0021ea87xor esi, esi
0021ea89test rax, rax
0021ea8cje 0x21eaba
0021ea8enop [rax+rax]
0021ea99nop [rax]
0021eaa0
0021eaa0loc_21eaa0:
0021eaa0mov rdx, [rax+16]
0021eaa4mov rax, [rax+8]
0021eaa8add rcx, 2
0021eaacshr rdx, 10
0021eab0lea rsi, [rsi+rdx+3]
0021eab5test rax, rax
0021eab8jne 0x21eaa0
0021eaba
0021eabaloc_21eaba:
0021eabaxor edx, edx
0021eabclea rdi, [rip+0x12865]
0021eac3xor eax, eax
0021eac5call caml_gc_log
0021eacajmp 0x21e871
0021eacf
0021eacfloc_21eacf:
0021eacfcall fn_f4590
0021e800
0021e800caml_sweep:
0021e800push r14
0021e802push r13
0021e804push r12
0021e806push rbp
0021e807mov rbp, rdi
0021e80apush rbx
0021e80bsub rsp, 48
0021e80fmov r12, [0x28]
0021e818mov [rsp+40], r12
0021e81dmov r12, rsi
0021e820nop [rax+rax]
0021e82bnop
0021e82ctest r12, r12
0021e82fjle 0x21e871
0021e831mov r13l, [rbp+1040]
0021e838cmp r13l, 31
0021e83cja 0x21e8b6
0021e83emov eax, r13l
0021e841mov ecx, 1
0021e846mov edx, r13l
0021e849mov rdi, rbp
0021e84clea r14, [8*rax+512]
0021e854lea rsi, [rbp+r14]
0021e859call fn_21de80
0021e85esub r12, rax
0021e861mov rbx, rax
0021e864test r12, r12
0021e867jg 0x21e940
0021e86dmov rax, [rsp+40]
0021e872sub rax, [0x28]
0021e87bjne 0x21eacf
0021e881add rsp, 48
0021e885mov rax, r12
0021e888pop rbx
0021e889pop rbp
0021e88apop r12
0021e88cpop r13
0021e88epop r14
0021e890ret
0021e891db 0x5d
0021e892pop r14
0021e894ret
0021e895
0021e895 0f 1f 00 ...
0021e898
0021e898loc_21e898:
0021e898mov rax, [rbp+1024]
0021e89fmov [rbx+8], rax
0021e8a3mov [rbp+1024], rbx
0021e8aa
0021e8aaloc_21e8aa:
0021e8aaadd r13, 1
0021e8aesub r12, r13
0021e8b1test r12, r12
0021e8b4jle 0x21e871
0021e8b6
0021e8b6loc_21e8b6:
0021e8b6mov rbx, [rbp+1032]
0021e8bdtest rbx, rbx
0021e8c0je 0x21e98c
0021e8c6mov rax, [rbx+8]
0021e8camov [rbp+1032], rax
0021e8d1mov rax, [rbx+16]
0021e8d5mov r13, rax
0021e8d8mov rdx, rax
0021e8dbshr r13, 10
0021e8dfand edx, 768
0021e8e5cmp [rip+0x159ae4], rdx
0021e8ecjne 0x21e898
0021e8eemovzx eax, al
0021e8f1cmp eax, 255
0021e8f6je 0x21e970
0021e8f8
0021e8f8loc_21e8f8:
0021e8f8mov rax, [rbp+1096]
0021e8ffmov rdi, rbx
0021e902sub rax, 3
0021e906sub rax, r13
0021e909mov [rbp+1096], rax
0021e910mov rax, [rbp+1048]
0021e917mov rdx, [rax+144]
0021e91elea rdx, [r13+rdx+3]
0021e923mov [rax+144], rdx
0021e92asub [rbp+1112], 1
0021e932call fn_f4370
0021e937jmp 0x21e8aa
0021e93c
0021e93c 0f 1f 40 00 ..@.
0021e940
0021e940loc_21e940:
0021e940lea rsi, [rbp+r14+256]
0021e948mov ecx, 1
0021e94dmov edx, r13l
0021e950mov rdi, rbp
0021e953call fn_21de80
0021e958sub r12, rax
0021e95badd rbx, rax
0021e95ejne 0x21e830
0021e964add [rbp+1040], 1
0021e96bjmp 0x21e830
0021e970
0021e970loc_21e970:
0021e970mov rax, [rbx+24]
0021e974mov rax, [rax+8]
0021e978test rax, rax
0021e97bje 0x21e8f8
0021e981lea rdi, [rbx+24]
0021e985call rax
0021e987jmp 0x21e8f8
0021e98c
0021e98cloc_21e98c:
0021e98cmov rax, [rip+0x56fc5]
0021e993cmp [rax+56], 0
0021e998je 0x21e871
0021e99etest r12, r12
0021e9a1jle 0x21e871
0021e9a7mov [rsp+32], 0
0021e9b0xor r13l, r13l
0021e9b3xor ecx, ecx
0021e9b5xor edx, edx
0021e9b7pxor x0, x0
0021e9bbxor esi, esi
0021e9bdmov rbx, rsp
0021e9c0movaps [rsp], x0
0021e9c4movaps [rsp+16], x0
0021e9c9nop [rax]
0021e9d0
0021e9d0loc_21e9d0:
0021e9d0mov r11, [rbp+8*r13]
0021e9d5test r11, r11
0021e9d8je 0x21ea12
0021e9damov r14l, r13l
0021e9ddnop [rax]
0021e9e0
0021e9e0loc_21e9e0:
0021e9e0mov [rsp], rsi
0021e9e4mov rdi, r11
0021e9e7mov esi, r14l
0021e9eamov [rsp+16], rdx
0021e9efmov rdx, rbx
0021e9f2mov [rsp+24], rcx
0021e9f7call fn_21d740
0021e9fcmov r11, [r11]
0021e9ffmov rsi, [rsp]
0021ea03mov rdx, [rsp+16]
0021ea08mov rcx, [rsp+24]
0021ea0dtest r11, r11
0021ea10jne 0x21e9e0
0021ea12
0021ea12loc_21ea12:
0021ea12mov r11, [rbp+8*r13+256]
0021ea1atest r11, r11
0021ea1dje 0x21ea62
0021ea1fmov r14l, r13l
0021ea22nop [rax+rax]
0021ea2dnop [rax]
0021ea30
0021ea30loc_21ea30:
0021ea30mov [rsp], rsi
0021ea34mov rdi, r11
0021ea37mov esi, r14l
0021ea3amov [rsp+16], rdx
0021ea3fmov rdx, rbx
0021ea42mov [rsp+24], rcx
0021ea47call fn_21d740
0021ea4cmov r11, [r11]
0021ea4fmov rsi, [rsp]
0021ea53mov rdx, [rsp+16]
0021ea58mov rcx, [rsp+24]
0021ea5dtest r11, r11
0021ea60jne 0x21ea30
0021ea62
0021ea62loc_21ea62:
0021ea62add r13, 1
0021ea66cmp r13, 32
0021ea6ajne 0x21e9d0
0021ea70xor eax, eax
0021ea72lea rdi, [rip+0x12877]
0021ea79call caml_gc_log
0021ea7emov rax, [rbp+1024]
0021ea85xor ecx, ecx
0021ea87xor esi, esi
0021ea89test rax, rax
0021ea8cje 0x21eaba
0021ea8enop [rax+rax]
0021ea99nop [rax]
0021eaa0
0021eaa0loc_21eaa0:
0021eaa0mov rdx, [rax+16]
0021eaa4mov rax, [rax+8]
0021eaa8add rcx, 2
0021eaacshr rdx, 10
0021eab0lea rsi, [rsi+rdx+3]
0021eab5test rax, rax
0021eab8jne 0x21eaa0
0021eaba
0021eabaloc_21eaba:
0021eabaxor edx, edx
0021eabclea rdi, [rip+0x12865]
0021eac3xor eax, eax
0021eac5call caml_gc_log
0021eacajmp 0x21e871
0021eacf
0021eacfloc_21eacf:
0021eacfcall fn_f4590
0021e800
0021ead4
0021ead4 // align 0x10
0021ead4 // align 0x10
0021eae0
0021eae0caml_heap_size:
0021eae0mov rax, [rdi+1056]
0021eae7add rax, [rdi+1096]
0021eaeeshl rax, 3
0021eaf2ret
0021eaf3db 0xc1
0021eaf4loopne 0x21eaf9
0021eaf6ret
0021eae0
0021eae0caml_heap_size:
0021eae0mov rax, [rdi+1056]
0021eae7add rax, [rdi+1096]
0021eaeeshl rax, 3
0021eaf2ret
0021eaf3db 0xc1
0021eaf4loopne 0x21eaf9
0021eaf6ret
0021eae0
0021eaf7
0021eaf7 // align 0x10
0021eaf7 // align 0x10
0021eb00
0021eb00caml_top_heap_words:
0021eb00mov rax, [rdi+1064]
0021eb07add rax, [rdi+1104]
0021eb0eret
0021eb0fdb 0x04
0021eb10add [rax], al
0021eb12ret
0021eb00
0021eb00caml_top_heap_words:
0021eb00mov rax, [rdi+1064]
0021eb07add rax, [rdi+1104]
0021eb0eret
0021eb0fdb 0x04
0021eb10add [rax], al
0021eb12ret
0021eb00
0021eb13
0021eb13 // align 0x10
0021eb13 // align 0x10
0021eb20
0021eb20caml_heap_blocks:
0021eb20mov rax, [rdi+1080]
0021eb27add rax, [rdi+1112]
0021eb2eret
0021eb2fdb 0x04
0021eb30add [rax], al
0021eb32ret
0021eb20
0021eb20caml_heap_blocks:
0021eb20mov rax, [rdi+1080]
0021eb27add rax, [rdi+1112]
0021eb2eret
0021eb2fdb 0x04
0021eb30add [rax], al
0021eb32ret
0021eb20
0021eb33
0021eb33 // align 0x10
0021eb33 // align 0x10
0021eb40
0021eb40caml_redarken_pool:
0021eb40push r15
0021eb42lea r15, [rdi+32768]
0021eb49push r14
0021eb4bpush r13
0021eb4dpush r12
0021eb4fmov r12, rdx
0021eb52lea rdx, [rip+0x13943]
0021eb59push rbp
0021eb5apush rbx
0021eb5bsub rsp, 8
0021eb5fmov eax, [rdi+24]
0021eb62movzx edx, [rdx+rax]
0021eb66lea rbx, [rdi+8*rdx+32]
0021eb6blea rdx, [rip+0x1394a]
0021eb72mov r14l, [rdx+4*rax]
0021eb76shl r14, 3
0021eb7alea r13, [rbx+r14]
0021eb7ecmp r15, r13
0021eb81jb 0x21ebcb
0021eb83mov rbp, rsi
0021eb86add rbx, 8
0021eb8anop
0021eb8cmov rax, [rbx-8]
0021eb90
0021eb90loc_21eb90:
0021eb90test rax, rax
0021eb93je 0x21ebc0
0021eb95and eax, 768
0021eb9acmp [rip+0x15981b], rax
0021eba1jne 0x21ebc0
0021eba3xor edx, edx
0021eba5mov rsi, rbx
0021eba8mov rdi, r12
0021ebabcall rbp
0021ebadnop [rax+rax]
0021ebb8nop [rax]
0021ebbcadd r13, r14
0021ebbfadd rbx, r14
0021ebc2cmp r15, r13
0021ebc5jae 0x21eb90
0021ebc7add rsp, 8
0021ebcb
0021ebcbloc_21ebcb:
0021ebcbpop rbx
0021ebccpop rbp
0021ebcdpop r12
0021ebcfpop r13
0021ebd1pop r14
0021ebd3pop r15
0021ebd5ret
0021ebd6db 0x5e
0021ebd7pop r15
0021ebd9ret
0021eb40
0021eb40caml_redarken_pool:
0021eb40push r15
0021eb42lea r15, [rdi+32768]
0021eb49push r14
0021eb4bpush r13
0021eb4dpush r12
0021eb4fmov r12, rdx
0021eb52lea rdx, [rip+0x13943]
0021eb59push rbp
0021eb5apush rbx
0021eb5bsub rsp, 8
0021eb5fmov eax, [rdi+24]
0021eb62movzx edx, [rdx+rax]
0021eb66lea rbx, [rdi+8*rdx+32]
0021eb6blea rdx, [rip+0x1394a]
0021eb72mov r14l, [rdx+4*rax]
0021eb76shl r14, 3
0021eb7alea r13, [rbx+r14]
0021eb7ecmp r15, r13
0021eb81jb 0x21ebcb
0021eb83mov rbp, rsi
0021eb86add rbx, 8
0021eb8anop
0021eb8cmov rax, [rbx-8]
0021eb90
0021eb90loc_21eb90:
0021eb90test rax, rax
0021eb93je 0x21ebc0
0021eb95and eax, 768
0021eb9acmp [rip+0x15981b], rax
0021eba1jne 0x21ebc0
0021eba3xor edx, edx
0021eba5mov rsi, rbx
0021eba8mov rdi, r12
0021ebabcall rbp
0021ebadnop [rax+rax]
0021ebb8nop [rax]
0021ebbcadd r13, r14
0021ebbfadd rbx, r14
0021ebc2cmp r15, r13
0021ebc5jae 0x21eb90
0021ebc7add rsp, 8
0021ebcb
0021ebcbloc_21ebcb:
0021ebcbpop rbx
0021ebccpop rbp
0021ebcdpop r12
0021ebcfpop r13
0021ebd1pop r14
0021ebd3pop r15
0021ebd5ret
0021ebd6db 0x5e
0021ebd7pop r15
0021ebd9ret
0021eb40
0021ebda
0021ebda // align 0x10
0021ebda // align 0x10
0021ebe0
0021ebe0caml_collect_heap_stats_sample:
0021ebe0movdqu x0, [rdi+1056]
0021ebe8movups [rsi], x0
0021ebebmovdqu x0, [rdi+1072]
0021ebf3movups [rsi+16], x0
0021ebf7movdqu x0, [rdi+1088]
0021ebffmovups [rsi+32], x0
0021ec03movdqu x0, [rdi+1104]
0021ec0bmovups [rsi+48], x0
0021ec0fret
0021ec10db 0x11
0021ec11xor bl, r8b
0021ebe0
0021ebe0caml_collect_heap_stats_sample:
0021ebe0movdqu x0, [rdi+1056]
0021ebe8movups [rsi], x0
0021ebebmovdqu x0, [rdi+1072]
0021ebf3movups [rsi+16], x0
0021ebf7movdqu x0, [rdi+1088]
0021ebffmovups [rsi+32], x0
0021ec03movdqu x0, [rdi+1104]
0021ec0bmovups [rsi+48], x0
0021ec0fret
0021ec10db 0x11
0021ec11xor bl, r8b
0021ebe0
0021ec14
0021ec14 // align 0x10
0021ec14 // align 0x10
0021ec20
0021ec20caml_accum_orphan_heap_stats:
0021ec20push rbp
0021ec21lea rbp, [rip+0x15a1b4]
0021ec28push rbx
0021ec29mov rbx, rdi
0021ec2cmov rdi, rbp
0021ec2fsub rsp, 8
0021ec33call fn_f4710
0021ec38test eax, eax
0021ec3ajne 0x21ec62
0021ec3cmov rdi, rbx
0021ec3flea rsi, [rip+0x15a1c6]
0021ec46call caml_accum_heap_stats
0021ec4bmov rdi, rbp
0021ec4ecall fn_f47c0
0021ec53test eax, eax
0021ec55jne 0x21ec70
0021ec57add rsp, 8
0021ec5bpop rbx
0021ec5cpop rbp
0021ec5dret
0021ec5emov esi, eax
0021ec60lea rdi, [rip+0x108a4]
0021ec67call caml_plat_fatal_error
0021ec6cmov esi, eax
0021ec6elea rdi, [rip+0x108a1]
0021ec75call caml_plat_fatal_error
0021ec7adb 0x52
0021ec7bint 255
0021ec7ddb 0xff
0021ec20
0021ec20caml_accum_orphan_heap_stats:
0021ec20push rbp
0021ec21lea rbp, [rip+0x15a1b4]
0021ec28push rbx
0021ec29mov rbx, rdi
0021ec2cmov rdi, rbp
0021ec2fsub rsp, 8
0021ec33call fn_f4710
0021ec38test eax, eax
0021ec3ajne 0x21ec62
0021ec3cmov rdi, rbx
0021ec3flea rsi, [rip+0x15a1c6]
0021ec46call caml_accum_heap_stats
0021ec4bmov rdi, rbp
0021ec4ecall fn_f47c0
0021ec53test eax, eax
0021ec55jne 0x21ec70
0021ec57add rsp, 8
0021ec5bpop rbx
0021ec5cpop rbp
0021ec5dret
0021ec5emov esi, eax
0021ec60lea rdi, [rip+0x108a4]
0021ec67call caml_plat_fatal_error
0021ec6cmov esi, eax
0021ec6elea rdi, [rip+0x108a1]
0021ec75call caml_plat_fatal_error
0021ec7adb 0x52
0021ec7bint 255
0021ec7ddb 0xff
0021ec20
0021ec7e
0021ec7e // align 0x10
0021ec7e // align 0x10
0021ec80
0021ec80caml_atom:
0021ec80mov edi, edi
0021ec82lea rax, [rip+0x12f73]
0021ec89lea rax, [rax+8*rdi+8]
0021ec8eret
0021ec8fdb 0x44
0021ec90clc
0021ec91or bl, al
0021ec80
0021ec80caml_atom:
0021ec80mov edi, edi
0021ec82lea rax, [rip+0x12f73]
0021ec89lea rax, [rax+8*rdi+8]
0021ec8eret
0021ec8fdb 0x44
0021ec90clc
0021ec91or bl, al
0021ec80
0021ec93
0021ec93 // align 0x10
0021ec93 // align 0x10
0021eca0
0021eca0caml_init_major_heap:
0021eca0ret
0021eca1db 0x0f
0021eca2db 0x1e
0021eca3cli
0021eca4ret
0021eca0
0021eca0caml_init_major_heap:
0021eca0ret
0021eca1db 0x0f
0021eca2db 0x1e
0021eca3cli
0021eca4ret
0021eca0
0021eca5
0021eca5 // align 0x10
0021eca5 // align 0x10
0021ecb0
0021ecb0caml_verify_begin:
0021ecb0sub rsp, 8
0021ecb4mov edi, 40
0021ecb9call caml_stat_alloc
0021ecbemov [rax], 0
0021ecc5mov [rax+8], 0
0021eccdmov [rax+16], 0
0021ecd5mov [rax+24], 0
0021ecddmov [rax+32], 0
0021ece5add rsp, 8
0021ece9ret
0021eceadb 0x83
0021ecebdb 0xc4
0021ececor bl, al
0021ecb0
0021ecb0caml_verify_begin:
0021ecb0sub rsp, 8
0021ecb4mov edi, 40
0021ecb9call caml_stat_alloc
0021ecbemov [rax], 0
0021ecc5mov [rax+8], 0
0021eccdmov [rax+16], 0
0021ecd5mov [rax+24], 0
0021ecddmov [rax+32], 0
0021ece5add rsp, 8
0021ece9ret
0021eceadb 0x83
0021ecebdb 0xc4
0021ececor bl, al
0021ecb0
0021ecee
0021ecee // align 0x10
0021ecee // align 0x10
0021ecf0
0021ecf0caml_verify_heap_from_stw:
0021ecf0push r15
0021ecf2push r14
0021ecf4push r13
0021ecf6push r12
0021ecf8push rbp
0021ecf9mov rbp, rdi
0021ecfcmov edi, 40
0021ed01push rbx
0021ed02sub rsp, 8
0021ed06call caml_stat_alloc
0021ed0bmov rcx, rbp
0021ed0emov r8l, 1
0021ed14xor esi, esi
0021ed16mov [rax], 0
0021ed1dmov rbx, rax
0021ed20mov rdx, rax
0021ed23lea rbp, [rip-4334]
0021ed2amov [rax+8], 0
0021ed32mov rdi, rbp
0021ed35lea r12, [rbx+24]
0021ed39mov [rax+16], 0
0021ed41mov [rax+24], 0
0021ed49mov [rax+32], 0
0021ed51call caml_do_roots
0021ed56mov rsi, rbx
0021ed59mov rdi, rbp
0021ed5ccall caml_scan_global_roots
0021ed61nop [rax+rax]
0021ed6cmov eax, [rbx+12]
0021ed6ftest eax, eax
0021ed71je 0x21ee60
0021ed77sub eax, 1
0021ed7amov rdx, [rbx]
0021ed7dmovsxd rcx, eax
0021ed80mov [rbx+12], eax
0021ed83mov rbp, [rdx+8*rcx]
0021ed87test bpl, 1
0021ed8bjne 0x21ed73
0021ed8dmovzx eax, [rbp-8]
0021ed91cmp al, -7
0021ed93je 0x21ee48
0021ed99mov rsi, rbp
0021ed9cmov rdi, r12
0021ed9fcall caml_addrmap_insert_pos
0021eda4cmp [rax], 0
0021eda8jne 0x21ed70
0021edaamov [rax], 1
0021edb1mov rax, [rbp-8]
0021edb5lea r15, [rbp-8]
0021edb9not rax
0021edbctest ah, 3
0021edbfje 0x21ed70
0021edc1add [rbx+16], 1
0021edc6movzx eax, [rbp-8]
0021edcacmp al, -11
0021edccje 0x21ee90
0021edd2movzx eax, [rbp-8]
0021edd6cmp al, -6
0021edd8ja 0x21ed70
0021eddamovzx eax, [rbp-8]
0021eddexor r13l, r13l
0021ede1cmp al, -9
0021ede3jne 0x21ee1e
0021ede5mov r13, [rbp+8]
0021ede9shl r13, 31
0021ededshr r13, 32
0021edf1jmp 0x21ee1e
0021edf3db 0xed
0021edf4and bl, ch
0021edf6db 0x27
0021edf7
0021edf7 66 0f 1f 84 00 00 00 00 00 f........
0021ee00
0021ee00loc_21ee00:
0021ee00movsxd rdx, [rbx+12]
0021ee04mov rdi, [rbx]
0021ee07cmp edx, [rbx+8]
0021ee0aje 0x21eec0
0021ee10
0021ee10loc_21ee10:
0021ee10lea eax, [rdx+1]
0021ee13mov [rbx+12], eax
0021ee16mov [rdi+8*rdx], r14
0021ee1a
0021ee1aloc_21ee1a:
0021ee1aadd r13l, 1
0021ee1e
0021ee1eloc_21ee1e:
0021ee1emov rax, [r15]
0021ee21movsxd rdx, r13l
0021ee24shr rax, 10
0021ee28cmp rdx, rax
0021ee2bjae 0x21ed70
0021ee31lea rax, [rbp+8*rdx]
0021ee36mov r14, [rax]
0021ee39test r14b, 1
0021ee3djne 0x21ee1a
0021ee3fjmp 0x21ee00
0021ee41
0021ee41 0f 1f 80 00 00 00 00 .......
0021ee48
0021ee48loc_21ee48:
0021ee48mov rax, [rbp-8]
0021ee4cshr rax, 10
0021ee50shl rax, 3
0021ee54sub rbp, rax
0021ee57jmp 0x21ed9d
0021ee5c
0021ee5c 0f 1f 40 00 ..@.
0021ee60
0021ee60loc_21ee60:
0021ee60mov rdi, r12
0021ee63call caml_addrmap_clear
0021ee68mov rdi, [rbx]
0021ee6bcall caml_stat_free
0021ee70add rsp, 8
0021ee74mov rdi, rbx
0021ee77pop rbx
0021ee78pop rbp
0021ee79pop r12
0021ee7bpop r13
0021ee7dpop r14
0021ee7fpop r15
0021ee81jmp 0x216690
0021ee86
0021ee86 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021ee90
0021ee90loc_21ee90:
0021ee90mov rcx, [rbp]
0021ee94cmp rcx, 1
0021ee98je 0x21ed70
0021ee9esub rcx, 1
0021eea2xor r8l, r8l
0021eea5mov rdx, rbx
0021eea8xor esi, esi
0021eeaalea rdi, [rip-4817]
0021eeb1call caml_scan_stack
0021eeb6jmp 0x21ed70
0021eebb
0021eebb 0f 1f 44 00 00 ..D..
0021eec0
0021eec0loc_21eec0:
0021eec0lea eax, [rdx+rdx+100]
0021eec4mov [rbx+8], eax
0021eec7cdqe
0021eec9lea rsi, [8*rax]
0021eed1call caml_stat_resize
0021eed6movsxd rdx, [rbx+12]
0021eedamov [rbx], rax
0021eeddmov rdi, rax
0021eee0jmp 0x21ee10
0021ecf0
0021ecf0caml_verify_heap_from_stw:
0021ecf0push r15
0021ecf2push r14
0021ecf4push r13
0021ecf6push r12
0021ecf8push rbp
0021ecf9mov rbp, rdi
0021ecfcmov edi, 40
0021ed01push rbx
0021ed02sub rsp, 8
0021ed06call caml_stat_alloc
0021ed0bmov rcx, rbp
0021ed0emov r8l, 1
0021ed14xor esi, esi
0021ed16mov [rax], 0
0021ed1dmov rbx, rax
0021ed20mov rdx, rax
0021ed23lea rbp, [rip-4334]
0021ed2amov [rax+8], 0
0021ed32mov rdi, rbp
0021ed35lea r12, [rbx+24]
0021ed39mov [rax+16], 0
0021ed41mov [rax+24], 0
0021ed49mov [rax+32], 0
0021ed51call caml_do_roots
0021ed56mov rsi, rbx
0021ed59mov rdi, rbp
0021ed5ccall caml_scan_global_roots
0021ed61nop [rax+rax]
0021ed6cmov eax, [rbx+12]
0021ed6ftest eax, eax
0021ed71je 0x21ee60
0021ed77sub eax, 1
0021ed7amov rdx, [rbx]
0021ed7dmovsxd rcx, eax
0021ed80mov [rbx+12], eax
0021ed83mov rbp, [rdx+8*rcx]
0021ed87test bpl, 1
0021ed8bjne 0x21ed73
0021ed8dmovzx eax, [rbp-8]
0021ed91cmp al, -7
0021ed93je 0x21ee48
0021ed99mov rsi, rbp
0021ed9cmov rdi, r12
0021ed9fcall caml_addrmap_insert_pos
0021eda4cmp [rax], 0
0021eda8jne 0x21ed70
0021edaamov [rax], 1
0021edb1mov rax, [rbp-8]
0021edb5lea r15, [rbp-8]
0021edb9not rax
0021edbctest ah, 3
0021edbfje 0x21ed70
0021edc1add [rbx+16], 1
0021edc6movzx eax, [rbp-8]
0021edcacmp al, -11
0021edccje 0x21ee90
0021edd2movzx eax, [rbp-8]
0021edd6cmp al, -6
0021edd8ja 0x21ed70
0021eddamovzx eax, [rbp-8]
0021eddexor r13l, r13l
0021ede1cmp al, -9
0021ede3jne 0x21ee1e
0021ede5mov r13, [rbp+8]
0021ede9shl r13, 31
0021ededshr r13, 32
0021edf1jmp 0x21ee1e
0021edf3db 0xed
0021edf4and bl, ch
0021edf6db 0x27
0021edf7
0021edf7 66 0f 1f 84 00 00 00 00 00 f........
0021ee00
0021ee00loc_21ee00:
0021ee00movsxd rdx, [rbx+12]
0021ee04mov rdi, [rbx]
0021ee07cmp edx, [rbx+8]
0021ee0aje 0x21eec0
0021ee10
0021ee10loc_21ee10:
0021ee10lea eax, [rdx+1]
0021ee13mov [rbx+12], eax
0021ee16mov [rdi+8*rdx], r14
0021ee1a
0021ee1aloc_21ee1a:
0021ee1aadd r13l, 1
0021ee1e
0021ee1eloc_21ee1e:
0021ee1emov rax, [r15]
0021ee21movsxd rdx, r13l
0021ee24shr rax, 10
0021ee28cmp rdx, rax
0021ee2bjae 0x21ed70
0021ee31lea rax, [rbp+8*rdx]
0021ee36mov r14, [rax]
0021ee39test r14b, 1
0021ee3djne 0x21ee1a
0021ee3fjmp 0x21ee00
0021ee41
0021ee41 0f 1f 80 00 00 00 00 .......
0021ee48
0021ee48loc_21ee48:
0021ee48mov rax, [rbp-8]
0021ee4cshr rax, 10
0021ee50shl rax, 3
0021ee54sub rbp, rax
0021ee57jmp 0x21ed9d
0021ee5c
0021ee5c 0f 1f 40 00 ..@.
0021ee60
0021ee60loc_21ee60:
0021ee60mov rdi, r12
0021ee63call caml_addrmap_clear
0021ee68mov rdi, [rbx]
0021ee6bcall caml_stat_free
0021ee70add rsp, 8
0021ee74mov rdi, rbx
0021ee77pop rbx
0021ee78pop rbp
0021ee79pop r12
0021ee7bpop r13
0021ee7dpop r14
0021ee7fpop r15
0021ee81jmp 0x216690
0021ee86
0021ee86 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021ee90
0021ee90loc_21ee90:
0021ee90mov rcx, [rbp]
0021ee94cmp rcx, 1
0021ee98je 0x21ed70
0021ee9esub rcx, 1
0021eea2xor r8l, r8l
0021eea5mov rdx, rbx
0021eea8xor esi, esi
0021eeaalea rdi, [rip-4817]
0021eeb1call caml_scan_stack
0021eeb6jmp 0x21ed70
0021eebb
0021eebb 0f 1f 44 00 00 ..D..
0021eec0
0021eec0loc_21eec0:
0021eec0lea eax, [rdx+rdx+100]
0021eec4mov [rbx+8], eax
0021eec7cdqe
0021eec9lea rsi, [8*rax]
0021eed1call caml_stat_resize
0021eed6movsxd rdx, [rbx+12]
0021eedamov [rbx], rax
0021eeddmov rdi, rax
0021eee0jmp 0x21ee10
0021ecf0
0021eee5
0021eee5 // align 0x20
0021eee5 // align 0x20
0021ef00
0021ef00caml_compact_heap:
0021ef00push r15
0021ef02lea rdi, [rip+0x1054c]
0021ef09xor eax, eax
0021ef0bmov r15l, esi
0021ef0epush r14
0021ef10push r13
0021ef12push r12
0021ef14push rbp
0021ef15push rbx
0021ef16sub rsp, 72
0021ef1amov [rsp+32], rdx
0021ef1fcall caml_gc_log
0021ef24mov edi, 44
0021ef29call caml_ev_begin
0021ef2ecmp r15l, 1
0021ef32je 0x21ef40
0021ef34mov edi, r15l
0021ef37call caml_enter_global_barrier
0021ef3cmov edi, 45
0021ef41mov r14l, 1
0021ef47xor ebp, ebp
0021ef49call caml_ev_begin
0021ef4emov rax, [rip+0x5708f]
0021ef55mov rax, [rax]
0021ef59mov [rsp+60], r15l
0021ef5emov rbx, [rax+280]
0021ef65lea r12, [rbx+520]
0021ef6cmov [rsp+40], rbx
0021ef71mov [rsp+48], r12
0021ef76mov r13, r12
0021ef79nop [rax]
0021ef7cmov rax, [r13]
0021ef80
0021ef80loc_21ef80:
0021ef80test rax, rax
0021ef83je 0x21f226
0021ef89xor edx, edx
0021ef8bnop
0021ef8cmov rax, [rax]
0021ef8fadd edx, 1
0021ef92test rax, rax
0021ef95jne 0x21ef90
0021ef97movsxd rdx, edx
0021ef9alea rdi, [8*rdx]
0021efa2call caml_stat_alloc_noexc
0021efa7mov r11, rax
0021efaatest rax, rax
0021efadje 0x21f409
0021efb3mov r8, [r13]
0021efb7test r8, r8
0021efbaje 0x21f226
0021efc0lea rax, [rip+0x134d5]
0021efc7xor r9l, r9l
0021efcaxor r10l, r10l
0021efcdmovzx eax, [rax+r14]
0021efd2lea r12, [8*rax+32]
0021efdalea rax, [rip+0x134db]
0021efe1mov ebx, [rax+4*r14]
0021efe5shl rbx, 3
0021efe9nop [rax]
0021efeclea rdx, [r8+r12]
0021eff0
0021eff0loc_21eff0:
0021eff0movsxd rax, r10l
0021eff3lea rdi, [r8+32768]
0021effalea rsi, [r11+8*rax]
0021effelea rcx, [rdx+rbx]
0021f002mov [rsi], 0
0021f009cmp rdi, rcx
0021f00cjae 0x21f02e
0021f00ejmp 0x21f060
0021f010db 0x73
0021f011sbb al, -21
0021f013db 0x4c
0021f014
0021f014 66 66 2e 0f 1f 84 00 00 00 00 00 90 ff..........
0021f020
0021f020loc_21f020:
0021f020add [rsi], 1
0021f023
0021f023loc_21f023:
0021f023add rcx, rbx
0021f026add rdx, rbx
0021f029cmp rdi, rcx
0021f02cjb 0x21f060
0021f02e
0021f02eloc_21f02e:
0021f02emov rax, [rdx]
0021f031test rax, rax
0021f034je 0x21f020
0021f036and eax, 768
0021f03bcmp [rip+0x159386], rax
0021f042jne 0x21f023
0021f044add rcx, rbx
0021f047add [rsi+4], 1
0021f04badd r9l, 1
0021f04fadd rdx, rbx
0021f052cmp rdi, rcx
0021f055jae 0x21f02e
0021f057nop [rax+rax]
0021f060
0021f060loc_21f060:
0021f060mov r8, [r8]
0021f063add r10l, 1
0021f067test r8, r8
0021f06ajne 0x21eff0
0021f06ctest r9l, r9l
0021f06fje 0x21f226
0021f075mov r15, [r13]
0021f079jle 0x21f431
0021f07ftest r15, r15
0021f082je 0x21f431
0021f088xor eax, eax
0021f08axor ecx, ecx
0021f08cjmp 0x21f0a5
0021f08e
0021f08e 66 66 ff
0021f090 2e 0f 1f 84 00 00 00 00 00 0f 1f 80 00 00 00 00 ................
0021f0a0
0021f0a0loc_21f0a0:
0021f0a0cmp ecx, r9l
0021f0a3jge 0x21f0c0
0021f0a5
0021f0a5loc_21f0a5:
0021f0a5movsxd rdx, eax
0021f0a8mov rsi, r15
0021f0abmov r15, [r15]
0021f0aeadd eax, 1
0021f0b1lea rdx, [r11+8*rdx]
0021f0b5add ecx, [rdx]
0021f0b7sub r9l, [rdx+4]
0021f0bbtest r15, r15
0021f0bejne 0x21f0a0
0021f0c0
0021f0c0loc_21f0c0:
0021f0c0mov rdi, r11
0021f0c3mov [rsp], rsi
0021f0c7call caml_stat_free
0021f0ccmov rsi, [rsp]
0021f0d0mov [rsi], 0
0021f0d7test r15, r15
0021f0daje 0x21f226
0021f0e0mov [rsp+16], r12
0021f0e5mov rax, rbp
0021f0e8mov rbp, r13
0021f0ebmov r13, rbx
0021f0eemov [rsp+24], r14
0021f0f3mov r14, r15
0021f0f6nop [rax+rax]
0021f100
0021f100loc_21f100:
0021f100mov rsi, [rsp+16]
0021f105lea rcx, [r14+32768]
0021f10clea r15, [r14+rsi]
0021f110lea r12, [r15+r13]
0021f114cmp rcx, r12
0021f117jb 0x21f1d9
0021f11dmov [rsp], r14
0021f121mov r14, rcx
0021f124mov [rsp+8], rax
0021f129jmp 0x21f14c
0021f12b
0021f12b 0f 1f 44 00 00 ..D..
0021f130
0021f130loc_21f130:
0021f130cmp [rip+0x159299], rax
0021f137je 0x21f1f0
0021f13d
0021f13dloc_21f13d:
0021f13dadd r12, r13
0021f140add r15, r13
0021f143cmp r14, r12
0021f146jb 0x21f1d0
0021f14c
0021f14cloc_21f14c:
0021f14cmov rbx, [r15]
0021f14ftest rbx, rbx
0021f152je 0x21f13d
0021f154mov rax, rbx
0021f157and eax, 768
0021f15ccmp [rip+0x159265], rax
0021f163jne 0x21f130
0021f165mov rax, [rbp]
0021f169mov rdi, [rax+8]
0021f16dmov rdx, [rdi+8]
0021f171mov [rax+8], rdx
0021f175test rdx, rdx
0021f178jne 0x21f192
0021f17amov rdx, [rax]
0021f17dmov [rbp], rdx
0021f181mov rdx, [rbp+256]
0021f188mov [rax], rdx
0021f18bmov [rbp+256], rax
0021f192
0021f192loc_21f192:
0021f192mov rax, rbx
0021f195mov rsi, r15
0021f198and bh, 252
0021f19badd r12, r13
0021f19eshr rax, 10
0021f1a2lea rdx, [8*rax+8]
0021f1aacall fn_f47d0
0021f1afor rbx, [rip+0x15920a]
0021f1b6mov rdi, rax
0021f1b9mov [r15], rbx
0021f1bcadd rdi, 8
0021f1c0mov [r15+8], rdi
0021f1c4add r15, r13
0021f1c7cmp r14, r12
0021f1cajae 0x21f14c
0021f1ccnop [rax]
0021f1d0
0021f1d0loc_21f1d0:
0021f1d0mov r14, [rsp]
0021f1d4mov rax, [rsp+8]
0021f1d9
0021f1d9loc_21f1d9:
0021f1d9mov rcx, [r14]
0021f1dcmov [r14], rax
0021f1dfmov rax, r14
0021f1e2test rcx, rcx
0021f1e5je 0x21f21b
0021f1e7mov r14, rcx
0021f1eajmp 0x21f100
0021f1ef
0021f1ef 90 .
0021f1f0
0021f1f0loc_21f1f0:
0021f1f0movzx ebx, bl
0021f1f3cmp ebx, 255
0021f1f9jne 0x21f13d
0021f1ffmov rax, [r15+8]
0021f203mov rax, [rax+8]
0021f207test rax, rax
0021f20aje 0x21f13d
0021f210lea rdi, [r15+8]
0021f214call rax
0021f216jmp 0x21f13d
0021f21b
0021f21bloc_21f21b:
0021f21bmov r13, rbp
0021f21emov rbp, r14
0021f221mov r14, [rsp+24]
0021f226
0021f226loc_21f226:
0021f226add r14, 1
0021f22aadd r13, 8
0021f22ecmp r14, 32
0021f232jne 0x21ef80
0021f238
0021f238loc_21f238:
0021f238mov r15l, [rsp+60]
0021f23dmov edi, 45
0021f242mov rbx, [rsp+40]
0021f247mov r12, [rsp+48]
0021f24ccall caml_ev_end
0021f251cmp r15l, 1
0021f255je 0x21f25f
0021f257mov edi, r15l
0021f25acall caml_enter_global_barrier
0021f25f
0021f25floc_21f25f:
0021f25fmov edi, 46
0021f264lea r13, [rip-6427]
0021f26bcall caml_ev_begin
0021f270mov rax, [rip+0x56d71]
0021f277xor edx, edx
0021f279xor esi, esi
0021f27bmov r8l, 1
0021f281mov rdi, r13
0021f284mov rcx, [rax]
0021f288call caml_do_roots
0021f28dmov rax, [rip+0x56d54]
0021f294xor esi, esi
0021f296xor edx, edx
0021f298mov r8l, 1
0021f29emov rdi, r13
0021f2a1mov rcx, [rax]
0021f2a5call caml_memprof_scan_roots
0021f2aamov rsi, [rip+0x56d37]
0021f2b1mov rax, [rsp+32]
0021f2b6mov rsi, [rsi]
0021f2bacmp [rax], rsi
0021f2bdje 0x21f46b
0021f2c3
0021f2c3loc_21f2c3:
0021f2c3lea r13, [rbx+768]
0021f2canop [rax+rax]
0021f2d0
0021f2d0loc_21f2d0:
0021f2d0mov rdi, [r12]
0021f2d4add r12, 8
0021f2d8call fn_21ddc0
0021f2ddmov rdi, [r12+248]
0021f2e5call fn_21ddc0
0021f2eacmp r12, r13
0021f2edjne 0x21f2d0
0021f2efmov r12, [rbx+1032]
0021f2f6test r12, r12
0021f2f9jne 0x21f30a
0021f2fbjmp 0x21f331
0021f2fd
0021f2fd 0f 1f 00 ...
0021f300
0021f300loc_21f300:
0021f300mov r12, [r12+8]
0021f305test r12, r12
0021f308je 0x21f331
0021f30a
0021f30aloc_21f30a:
0021f30amov rax, [r12+16]
0021f30fand eax, 768
0021f314cmp [rip+0x1590ad], rax
0021f31bjne 0x21f300
0021f31dlea rdi, [r12+16]
0021f322call fn_21dca0
0021f327mov r12, [r12+8]
0021f32ctest r12, r12
0021f32fjne 0x21f30a
0021f331
0021f331loc_21f331:
0021f331mov rax, [rip+0x56cb0]
0021f338mov rax, [rax]
0021f33cmov r11, [rax+168]
0021f343mov rdi, r11
0021f346call fn_21d9e0
0021f34blea rdi, [r11+8]
0021f34fcall fn_21d9e0
0021f354mov edi, 46
0021f359call caml_ev_end
0021f35ecmp r15l, 1
0021f362jne 0x21f439
0021f368mov edi, 47
0021f36dcall caml_ev_begin
0021f372test rbp, rbp
0021f375je 0x21f4d7
0021f37b
0021f37bloc_21f37b:
0021f37blea r12, [rip+0x1311e]
0021f382
0021f382loc_21f382:
0021f382mov rdi, rbp
0021f385mov rbp, [rbp]
0021f389mov esi, 32768
0021f38emov eax, [rdi+24]
0021f391sub [rbx+1056], 4096
0021f39cmovzx eax, [r12+rax]
0021f3a1add rax, 4
0021f3a5sub [rbx+1088], rax
0021f3accall caml_mem_unmap
0021f3b1test rbp, rbp
0021f3b4jne 0x21f382
0021f3b6mov edi, 47
0021f3bbcall caml_ev_end
0021f3c0cmp r15l, 1
0021f3c4jne 0x21f45e
0021f3ca
0021f3caloc_21f3ca:
0021f3camov rsi, [rip+0x56c17]
0021f3d1mov rax, [rsp+32]
0021f3d6mov rsi, [rsi]
0021f3dacmp [rax], rsi
0021f3ddje 0x21f47a
0021f3e3
0021f3e3loc_21f3e3:
0021f3e3lea rdi, [rip+0x10085]
0021f3eaxor eax, eax
0021f3eccall caml_gc_log
0021f3f1add rsp, 72
0021f3f5mov edi, 44
0021f3fapop rbx
0021f3fbpop rbp
0021f3fcpop r12
0021f3fepop r13
0021f400pop r14
0021f402pop r15
0021f404jmp 0x21cae0
0021f409
0021f409loc_21f409:
0021f409mov esi, r14l
0021f40clea rdi, [rip+0x11f4d]
0021f413xor eax, eax
0021f415add r14, 1
0021f419call caml_gc_log
0021f41eadd r13, 8
0021f422cmp r14, 32
0021f426jne 0x21ef80
0021f42cjmp 0x21f238
0021f431
0021f431loc_21f431:
0021f431mov rsi, r13
0021f434jmp 0x21f0c0
0021f439
0021f439loc_21f439:
0021f439mov edi, r15l
0021f43ccall caml_enter_global_barrier
0021f441mov edi, 47
0021f446call caml_ev_begin
0021f44btest rbp, rbp
0021f44ejne 0x21f37b
0021f454mov edi, 47
0021f459call caml_ev_end
0021f45e
0021f45eloc_21f45e:
0021f45emov edi, r15l
0021f461call caml_enter_global_barrier
0021f466jmp 0x21f3ca
0021f46b
0021f46bloc_21f46b:
0021f46bxor esi, esi
0021f46dmov rdi, r13
0021f470call caml_scan_global_roots
0021f475jmp 0x21f2c3
0021f47a
0021f47aloc_21f47a:
0021f47alea rbp, [rip+0x15995f]
0021f481mov rdi, rbp
0021f484call fn_f4710
0021f489mov esi, eax
0021f48btest eax, eax
0021f48djne 0x21f4e6
0021f48fmov rbx, [rip+0x159972]
0021f496test rbx, rbx
0021f499je 0x21f4b0
0021f49b
0021f49bloc_21f49b:
0021f49bmov rdi, rbx
0021f49emov rbx, [rbx]
0021f4a1mov esi, 32768
0021f4a6call caml_mem_unmap
0021f4abtest rbx, rbx
0021f4aejne 0x21f49b
0021f4b0
0021f4b0loc_21f4b0:
0021f4b0mov [rip+0x15994d], 0
0021f4bbmov rdi, rbp
0021f4becall fn_f47c0
0021f4c3mov esi, eax
0021f4c5test eax, eax
0021f4c7jne 0x21f4f2
0021f4c9lock add [rip+0x1598ee], 1
0021f4d2jmp 0x21f3e3
0021f4d7
0021f4d7loc_21f4d7:
0021f4d7mov edi, 47
0021f4dccall caml_ev_end
0021f4e1jmp 0x21f3ca
0021f4e6
0021f4e6loc_21f4e6:
0021f4e6lea rdi, [rip+0x10022]
0021f4edcall caml_plat_fatal_error
0021f4f2
0021f4f2loc_21f4f2:
0021f4f2lea rdi, [rip+0x10021]
0021f4f9call caml_plat_fatal_error
0021ef00
0021ef00caml_compact_heap:
0021ef00push r15
0021ef02lea rdi, [rip+0x1054c]
0021ef09xor eax, eax
0021ef0bmov r15l, esi
0021ef0epush r14
0021ef10push r13
0021ef12push r12
0021ef14push rbp
0021ef15push rbx
0021ef16sub rsp, 72
0021ef1amov [rsp+32], rdx
0021ef1fcall caml_gc_log
0021ef24mov edi, 44
0021ef29call caml_ev_begin
0021ef2ecmp r15l, 1
0021ef32je 0x21ef40
0021ef34mov edi, r15l
0021ef37call caml_enter_global_barrier
0021ef3cmov edi, 45
0021ef41mov r14l, 1
0021ef47xor ebp, ebp
0021ef49call caml_ev_begin
0021ef4emov rax, [rip+0x5708f]
0021ef55mov rax, [rax]
0021ef59mov [rsp+60], r15l
0021ef5emov rbx, [rax+280]
0021ef65lea r12, [rbx+520]
0021ef6cmov [rsp+40], rbx
0021ef71mov [rsp+48], r12
0021ef76mov r13, r12
0021ef79nop [rax]
0021ef7cmov rax, [r13]
0021ef80
0021ef80loc_21ef80:
0021ef80test rax, rax
0021ef83je 0x21f226
0021ef89xor edx, edx
0021ef8bnop
0021ef8cmov rax, [rax]
0021ef8fadd edx, 1
0021ef92test rax, rax
0021ef95jne 0x21ef90
0021ef97movsxd rdx, edx
0021ef9alea rdi, [8*rdx]
0021efa2call caml_stat_alloc_noexc
0021efa7mov r11, rax
0021efaatest rax, rax
0021efadje 0x21f409
0021efb3mov r8, [r13]
0021efb7test r8, r8
0021efbaje 0x21f226
0021efc0lea rax, [rip+0x134d5]
0021efc7xor r9l, r9l
0021efcaxor r10l, r10l
0021efcdmovzx eax, [rax+r14]
0021efd2lea r12, [8*rax+32]
0021efdalea rax, [rip+0x134db]
0021efe1mov ebx, [rax+4*r14]
0021efe5shl rbx, 3
0021efe9nop [rax]
0021efeclea rdx, [r8+r12]
0021eff0
0021eff0loc_21eff0:
0021eff0movsxd rax, r10l
0021eff3lea rdi, [r8+32768]
0021effalea rsi, [r11+8*rax]
0021effelea rcx, [rdx+rbx]
0021f002mov [rsi], 0
0021f009cmp rdi, rcx
0021f00cjae 0x21f02e
0021f00ejmp 0x21f060
0021f010db 0x73
0021f011sbb al, -21
0021f013db 0x4c
0021f014
0021f014 66 66 2e 0f 1f 84 00 00 00 00 00 90 ff..........
0021f020
0021f020loc_21f020:
0021f020add [rsi], 1
0021f023
0021f023loc_21f023:
0021f023add rcx, rbx
0021f026add rdx, rbx
0021f029cmp rdi, rcx
0021f02cjb 0x21f060
0021f02e
0021f02eloc_21f02e:
0021f02emov rax, [rdx]
0021f031test rax, rax
0021f034je 0x21f020
0021f036and eax, 768
0021f03bcmp [rip+0x159386], rax
0021f042jne 0x21f023
0021f044add rcx, rbx
0021f047add [rsi+4], 1
0021f04badd r9l, 1
0021f04fadd rdx, rbx
0021f052cmp rdi, rcx
0021f055jae 0x21f02e
0021f057nop [rax+rax]
0021f060
0021f060loc_21f060:
0021f060mov r8, [r8]
0021f063add r10l, 1
0021f067test r8, r8
0021f06ajne 0x21eff0
0021f06ctest r9l, r9l
0021f06fje 0x21f226
0021f075mov r15, [r13]
0021f079jle 0x21f431
0021f07ftest r15, r15
0021f082je 0x21f431
0021f088xor eax, eax
0021f08axor ecx, ecx
0021f08cjmp 0x21f0a5
0021f08e
0021f08e 66 66 ff
0021f090 2e 0f 1f 84 00 00 00 00 00 0f 1f 80 00 00 00 00 ................
0021f0a0
0021f0a0loc_21f0a0:
0021f0a0cmp ecx, r9l
0021f0a3jge 0x21f0c0
0021f0a5
0021f0a5loc_21f0a5:
0021f0a5movsxd rdx, eax
0021f0a8mov rsi, r15
0021f0abmov r15, [r15]
0021f0aeadd eax, 1
0021f0b1lea rdx, [r11+8*rdx]
0021f0b5add ecx, [rdx]
0021f0b7sub r9l, [rdx+4]
0021f0bbtest r15, r15
0021f0bejne 0x21f0a0
0021f0c0
0021f0c0loc_21f0c0:
0021f0c0mov rdi, r11
0021f0c3mov [rsp], rsi
0021f0c7call caml_stat_free
0021f0ccmov rsi, [rsp]
0021f0d0mov [rsi], 0
0021f0d7test r15, r15
0021f0daje 0x21f226
0021f0e0mov [rsp+16], r12
0021f0e5mov rax, rbp
0021f0e8mov rbp, r13
0021f0ebmov r13, rbx
0021f0eemov [rsp+24], r14
0021f0f3mov r14, r15
0021f0f6nop [rax+rax]
0021f100
0021f100loc_21f100:
0021f100mov rsi, [rsp+16]
0021f105lea rcx, [r14+32768]
0021f10clea r15, [r14+rsi]
0021f110lea r12, [r15+r13]
0021f114cmp rcx, r12
0021f117jb 0x21f1d9
0021f11dmov [rsp], r14
0021f121mov r14, rcx
0021f124mov [rsp+8], rax
0021f129jmp 0x21f14c
0021f12b
0021f12b 0f 1f 44 00 00 ..D..
0021f130
0021f130loc_21f130:
0021f130cmp [rip+0x159299], rax
0021f137je 0x21f1f0
0021f13d
0021f13dloc_21f13d:
0021f13dadd r12, r13
0021f140add r15, r13
0021f143cmp r14, r12
0021f146jb 0x21f1d0
0021f14c
0021f14cloc_21f14c:
0021f14cmov rbx, [r15]
0021f14ftest rbx, rbx
0021f152je 0x21f13d
0021f154mov rax, rbx
0021f157and eax, 768
0021f15ccmp [rip+0x159265], rax
0021f163jne 0x21f130
0021f165mov rax, [rbp]
0021f169mov rdi, [rax+8]
0021f16dmov rdx, [rdi+8]
0021f171mov [rax+8], rdx
0021f175test rdx, rdx
0021f178jne 0x21f192
0021f17amov rdx, [rax]
0021f17dmov [rbp], rdx
0021f181mov rdx, [rbp+256]
0021f188mov [rax], rdx
0021f18bmov [rbp+256], rax
0021f192
0021f192loc_21f192:
0021f192mov rax, rbx
0021f195mov rsi, r15
0021f198and bh, 252
0021f19badd r12, r13
0021f19eshr rax, 10
0021f1a2lea rdx, [8*rax+8]
0021f1aacall fn_f47d0
0021f1afor rbx, [rip+0x15920a]
0021f1b6mov rdi, rax
0021f1b9mov [r15], rbx
0021f1bcadd rdi, 8
0021f1c0mov [r15+8], rdi
0021f1c4add r15, r13
0021f1c7cmp r14, r12
0021f1cajae 0x21f14c
0021f1ccnop [rax]
0021f1d0
0021f1d0loc_21f1d0:
0021f1d0mov r14, [rsp]
0021f1d4mov rax, [rsp+8]
0021f1d9
0021f1d9loc_21f1d9:
0021f1d9mov rcx, [r14]
0021f1dcmov [r14], rax
0021f1dfmov rax, r14
0021f1e2test rcx, rcx
0021f1e5je 0x21f21b
0021f1e7mov r14, rcx
0021f1eajmp 0x21f100
0021f1ef
0021f1ef 90 .
0021f1f0
0021f1f0loc_21f1f0:
0021f1f0movzx ebx, bl
0021f1f3cmp ebx, 255
0021f1f9jne 0x21f13d
0021f1ffmov rax, [r15+8]
0021f203mov rax, [rax+8]
0021f207test rax, rax
0021f20aje 0x21f13d
0021f210lea rdi, [r15+8]
0021f214call rax
0021f216jmp 0x21f13d
0021f21b
0021f21bloc_21f21b:
0021f21bmov r13, rbp
0021f21emov rbp, r14
0021f221mov r14, [rsp+24]
0021f226
0021f226loc_21f226:
0021f226add r14, 1
0021f22aadd r13, 8
0021f22ecmp r14, 32
0021f232jne 0x21ef80
0021f238
0021f238loc_21f238:
0021f238mov r15l, [rsp+60]
0021f23dmov edi, 45
0021f242mov rbx, [rsp+40]
0021f247mov r12, [rsp+48]
0021f24ccall caml_ev_end
0021f251cmp r15l, 1
0021f255je 0x21f25f
0021f257mov edi, r15l
0021f25acall caml_enter_global_barrier
0021f25f
0021f25floc_21f25f:
0021f25fmov edi, 46
0021f264lea r13, [rip-6427]
0021f26bcall caml_ev_begin
0021f270mov rax, [rip+0x56d71]
0021f277xor edx, edx
0021f279xor esi, esi
0021f27bmov r8l, 1
0021f281mov rdi, r13
0021f284mov rcx, [rax]
0021f288call caml_do_roots
0021f28dmov rax, [rip+0x56d54]
0021f294xor esi, esi
0021f296xor edx, edx
0021f298mov r8l, 1
0021f29emov rdi, r13
0021f2a1mov rcx, [rax]
0021f2a5call caml_memprof_scan_roots
0021f2aamov rsi, [rip+0x56d37]
0021f2b1mov rax, [rsp+32]
0021f2b6mov rsi, [rsi]
0021f2bacmp [rax], rsi
0021f2bdje 0x21f46b
0021f2c3
0021f2c3loc_21f2c3:
0021f2c3lea r13, [rbx+768]
0021f2canop [rax+rax]
0021f2d0
0021f2d0loc_21f2d0:
0021f2d0mov rdi, [r12]
0021f2d4add r12, 8
0021f2d8call fn_21ddc0
0021f2ddmov rdi, [r12+248]
0021f2e5call fn_21ddc0
0021f2eacmp r12, r13
0021f2edjne 0x21f2d0
0021f2efmov r12, [rbx+1032]
0021f2f6test r12, r12
0021f2f9jne 0x21f30a
0021f2fbjmp 0x21f331
0021f2fd
0021f2fd 0f 1f 00 ...
0021f300
0021f300loc_21f300:
0021f300mov r12, [r12+8]
0021f305test r12, r12
0021f308je 0x21f331
0021f30a
0021f30aloc_21f30a:
0021f30amov rax, [r12+16]
0021f30fand eax, 768
0021f314cmp [rip+0x1590ad], rax
0021f31bjne 0x21f300
0021f31dlea rdi, [r12+16]
0021f322call fn_21dca0
0021f327mov r12, [r12+8]
0021f32ctest r12, r12
0021f32fjne 0x21f30a
0021f331
0021f331loc_21f331:
0021f331mov rax, [rip+0x56cb0]
0021f338mov rax, [rax]
0021f33cmov r11, [rax+168]
0021f343mov rdi, r11
0021f346call fn_21d9e0
0021f34blea rdi, [r11+8]
0021f34fcall fn_21d9e0
0021f354mov edi, 46
0021f359call caml_ev_end
0021f35ecmp r15l, 1
0021f362jne 0x21f439
0021f368mov edi, 47
0021f36dcall caml_ev_begin
0021f372test rbp, rbp
0021f375je 0x21f4d7
0021f37b
0021f37bloc_21f37b:
0021f37blea r12, [rip+0x1311e]
0021f382
0021f382loc_21f382:
0021f382mov rdi, rbp
0021f385mov rbp, [rbp]
0021f389mov esi, 32768
0021f38emov eax, [rdi+24]
0021f391sub [rbx+1056], 4096
0021f39cmovzx eax, [r12+rax]
0021f3a1add rax, 4
0021f3a5sub [rbx+1088], rax
0021f3accall caml_mem_unmap
0021f3b1test rbp, rbp
0021f3b4jne 0x21f382
0021f3b6mov edi, 47
0021f3bbcall caml_ev_end
0021f3c0cmp r15l, 1
0021f3c4jne 0x21f45e
0021f3ca
0021f3caloc_21f3ca:
0021f3camov rsi, [rip+0x56c17]
0021f3d1mov rax, [rsp+32]
0021f3d6mov rsi, [rsi]
0021f3dacmp [rax], rsi
0021f3ddje 0x21f47a
0021f3e3
0021f3e3loc_21f3e3:
0021f3e3lea rdi, [rip+0x10085]
0021f3eaxor eax, eax
0021f3eccall caml_gc_log
0021f3f1add rsp, 72
0021f3f5mov edi, 44
0021f3fapop rbx
0021f3fbpop rbp
0021f3fcpop r12
0021f3fepop r13
0021f400pop r14
0021f402pop r15
0021f404jmp 0x21cae0
0021f409
0021f409loc_21f409:
0021f409mov esi, r14l
0021f40clea rdi, [rip+0x11f4d]
0021f413xor eax, eax
0021f415add r14, 1
0021f419call caml_gc_log
0021f41eadd r13, 8
0021f422cmp r14, 32
0021f426jne 0x21ef80
0021f42cjmp 0x21f238
0021f431
0021f431loc_21f431:
0021f431mov rsi, r13
0021f434jmp 0x21f0c0
0021f439
0021f439loc_21f439:
0021f439mov edi, r15l
0021f43ccall caml_enter_global_barrier
0021f441mov edi, 47
0021f446call caml_ev_begin
0021f44btest rbp, rbp
0021f44ejne 0x21f37b
0021f454mov edi, 47
0021f459call caml_ev_end
0021f45e
0021f45eloc_21f45e:
0021f45emov edi, r15l
0021f461call caml_enter_global_barrier
0021f466jmp 0x21f3ca
0021f46b
0021f46bloc_21f46b:
0021f46bxor esi, esi
0021f46dmov rdi, r13
0021f470call caml_scan_global_roots
0021f475jmp 0x21f2c3
0021f47a
0021f47aloc_21f47a:
0021f47alea rbp, [rip+0x15995f]
0021f481mov rdi, rbp
0021f484call fn_f4710
0021f489mov esi, eax
0021f48btest eax, eax
0021f48djne 0x21f4e6
0021f48fmov rbx, [rip+0x159972]
0021f496test rbx, rbx
0021f499je 0x21f4b0
0021f49b
0021f49bloc_21f49b:
0021f49bmov rdi, rbx
0021f49emov rbx, [rbx]
0021f4a1mov esi, 32768
0021f4a6call caml_mem_unmap
0021f4abtest rbx, rbx
0021f4aejne 0x21f49b
0021f4b0
0021f4b0loc_21f4b0:
0021f4b0mov [rip+0x15994d], 0
0021f4bbmov rdi, rbp
0021f4becall fn_f47c0
0021f4c3mov esi, eax
0021f4c5test eax, eax
0021f4c7jne 0x21f4f2
0021f4c9lock add [rip+0x1598ee], 1
0021f4d2jmp 0x21f3e3
0021f4d7
0021f4d7loc_21f4d7:
0021f4d7mov edi, 47
0021f4dccall caml_ev_end
0021f4e1jmp 0x21f3ca
0021f4e6
0021f4e6loc_21f4e6:
0021f4e6lea rdi, [rip+0x10022]
0021f4edcall caml_plat_fatal_error
0021f4f2
0021f4f2loc_21f4f2:
0021f4f2lea rdi, [rip+0x10021]
0021f4f9call caml_plat_fatal_error
0021ef00
0021f4fe
0021f4fe // align 0x10
0021f4fe // align 0x10
0021f500
0021f500caml_cycle_heap_from_stw_single:
0021f500movq x0, [rip+0x158ec4]
0021f508mov rax, [rip+0x158eb5]
0021f50fmovhps x0, [rip+0x158ea6]
0021f516mov [rip+0x158eaf], rax
0021f51dmovaps [rip+0x158e98], x0
0021f524ret
0021f525db 0x8e
0021f526db 0x15
0021f527add bl, al
0021f500
0021f500caml_cycle_heap_from_stw_single:
0021f500movq x0, [rip+0x158ec4]
0021f508mov rax, [rip+0x158eb5]
0021f50fmovhps x0, [rip+0x158ea6]
0021f516mov [rip+0x158eaf], rax
0021f51dmovaps [rip+0x158e98], x0
0021f524ret
0021f525db 0x8e
0021f526db 0x15
0021f527add bl, al
0021f500
0021f529
0021f529 // align 0x20
0021f529 // align 0x20
0021f540
0021f540caml_cycle_heap:
0021f540push r13
0021f542push r12
0021f544mov r12, rdi
0021f547push rbp
0021f548lea rbp, [r12+512]
0021f550push rbx
0021f551sub rsp, 8
0021f555mov rax, [rdi+1048]
0021f55clea rdi, [rip+65313]
0021f563mov esi, [rax+288]
0021f569xor eax, eax
0021f56bcall caml_gc_log
0021f570mov rax, r12
0021f573pxor x0, x0
0021f577lea rdx, [r12+256]
0021f57fnop [rax+rax]
0021f58anop [rax+rax]
0021f595nop [rax+rax]
0021f5a0nop [rax+rax]
0021f5abnop [rax+rax]
0021f5b6nop [rax+rax]
0021f5bcmovdqu x1, [rax]
0021f5c0
0021f5c0loc_21f5c0:
0021f5c0movups [rax], x0
0021f5c3add rax, 16
0021f5c7movups [rax+496], x1
0021f5cemovdqu x1, [rax+240]
0021f5d6movups [rax+240], x0
0021f5ddmovups [rax+752], x1
0021f5e4cmp rax, rdx
0021f5e7jne 0x21f5c0
0021f5e9mov rax, [r12+1024]
0021f5f1lea rbx, [rip+0x1597e4]
0021f5f8mov [r12+1024], 0
0021f604mov rdi, rbx
0021f607mov [r12+1032], rax
0021f60fcall fn_f4710
0021f614mov r13l, eax
0021f617test eax, eax
0021f619jne 0x21f80d
0021f61flea rdx, [rip+0x159826]
0021f626mov rcx, rbp
0021f629xor ebp, ebp
0021f62blea r9, [rdx+256]
0021f632nop [rax+rax]
0021f63cmov rax, [rdx]
0021f63fmov rdi, [r12+1048]
0021f647test rax, rax
0021f64aje 0x21f6a8
0021f64cxor esi, esi
0021f64enop [rax+rax]
0021f659nop [rax+rax]
0021f664nop [rax+rax]
0021f66fnop [rax+rax]
0021f67anop
0021f67cmov r8, [rax]
0021f67fmov [rdx], r8
0021f682mov [rax+16], rdi
0021f686mov r8, [rcx]
0021f689mov [rax], r8
0021f68cxchg [rcx], rax
0021f68fmov rax, [rdx]
0021f692add esi, 1
0021f695test rax, rax
0021f698jne 0x21f680
0021f69amov rdi, [r12+1048]
0021f6a2add ebp, esi
0021f6a4mov rax, [rdx+256]
0021f6ablea rsi, [rcx+256]
0021f6b2test rax, rax
0021f6b5je 0x21f6ea
0021f6b7xor r8l, r8l
0021f6banop
0021f6bcmov r10, [rax]
0021f6bfmov [rdx+256], r10
0021f6c6mov [rax+16], rdi
0021f6camov r10, [rsi]
0021f6cdmov [rax], r10
0021f6d0xchg [rsi], rax
0021f6d3mov rax, [rdx+256]
0021f6daadd r8l, 1
0021f6detest rax, rax
0021f6e1jne 0x21f6c0
0021f6e3add ebp, r8l
0021f6e6add rdx, 8
0021f6ea
0021f6ealoc_21f6ea:
0021f6eaadd rcx, 8
0021f6eecmp r9, rdx
0021f6f1jne 0x21f640
0021f6f7mov rax, [rip+0x15994e]
0021f6fetest rax, rax
0021f701je 0x21f7fb
0021f707nop [rax+rax]
0021f712nop [rax+rax]
0021f71dnop [rax+rax]
0021f728nop [rax+rax]
0021f733nop [rax+rax]
0021f73cmov rdx, [rax+8]
0021f740
0021f740loc_21f740:
0021f740add r13l, 1
0021f744mov [rip+0x159901], rdx
0021f74bmov rdx, [r12+1048]
0021f753mov [rax], rdx
0021f756mov rdx, [r12+1032]
0021f75emov [rax+8], rdx
0021f762mov [r12+1032], rax
0021f76amov rax, [rip+0x1598db]
0021f771test rax, rax
0021f774jne 0x21f740
0021f776mov eax, ebp
0021f778or eax, r13l
0021f77btest eax, eax
0021f77djne 0x21f7a6
0021f77f
0021f77floc_21f77f:
0021f77fmov rdi, rbx
0021f782call fn_f47c0
0021f787test eax, eax
0021f789jne 0x21f7ff
0021f78bmov [r12+1040], 0
0021f797add rsp, 8
0021f79bpop rbx
0021f79cpop rbp
0021f79dpop r12
0021f79fpop r13
0021f7a1ret
0021f7a2lea rdi, [r12+1056]
0021f7aalea rsi, [rip+0x15965b]
0021f7b1call caml_accum_heap_stats
0021f7b6pxor x0, x0
0021f7bamov rdi, rbx
0021f7bdmovaps [rip+0x159648], x0
0021f7c4movaps [rip+0x159651], x0
0021f7cbmovaps [rip+0x15965a], x0
0021f7d2movaps [rip+0x159663], x0
0021f7d9call fn_f47c0
0021f7detest eax, eax
0021f7e0jne 0x21f7ff
0021f7e2mov edx, r13l
0021f7e5mov esi, ebp
0021f7e7lea rdi, [rip+0x11b9e]
0021f7eexor eax, eax
0021f7f0call caml_gc_log
0021f7f5jmp 0x21f78f
0021f7f7mov eax, ebp
0021f7f9jmp 0x21f77f
0021f7fb
0021f7fbloc_21f7fb:
0021f7fbmov esi, eax
0021f7fdlea rdi, [rip+64786]
0021f804call caml_plat_fatal_error
0021f809mov esi, eax
0021f80blea rdi, [rip+64761]
0021f812call caml_plat_fatal_error
0021f817db 0xb5
0021f818sar edi, -1
0021f540
0021f540caml_cycle_heap:
0021f540push r13
0021f542push r12
0021f544mov r12, rdi
0021f547push rbp
0021f548lea rbp, [r12+512]
0021f550push rbx
0021f551sub rsp, 8
0021f555mov rax, [rdi+1048]
0021f55clea rdi, [rip+65313]
0021f563mov esi, [rax+288]
0021f569xor eax, eax
0021f56bcall caml_gc_log
0021f570mov rax, r12
0021f573pxor x0, x0
0021f577lea rdx, [r12+256]
0021f57fnop [rax+rax]
0021f58anop [rax+rax]
0021f595nop [rax+rax]
0021f5a0nop [rax+rax]
0021f5abnop [rax+rax]
0021f5b6nop [rax+rax]
0021f5bcmovdqu x1, [rax]
0021f5c0
0021f5c0loc_21f5c0:
0021f5c0movups [rax], x0
0021f5c3add rax, 16
0021f5c7movups [rax+496], x1
0021f5cemovdqu x1, [rax+240]
0021f5d6movups [rax+240], x0
0021f5ddmovups [rax+752], x1
0021f5e4cmp rax, rdx
0021f5e7jne 0x21f5c0
0021f5e9mov rax, [r12+1024]
0021f5f1lea rbx, [rip+0x1597e4]
0021f5f8mov [r12+1024], 0
0021f604mov rdi, rbx
0021f607mov [r12+1032], rax
0021f60fcall fn_f4710
0021f614mov r13l, eax
0021f617test eax, eax
0021f619jne 0x21f80d
0021f61flea rdx, [rip+0x159826]
0021f626mov rcx, rbp
0021f629xor ebp, ebp
0021f62blea r9, [rdx+256]
0021f632nop [rax+rax]
0021f63cmov rax, [rdx]
0021f63fmov rdi, [r12+1048]
0021f647test rax, rax
0021f64aje 0x21f6a8
0021f64cxor esi, esi
0021f64enop [rax+rax]
0021f659nop [rax+rax]
0021f664nop [rax+rax]
0021f66fnop [rax+rax]
0021f67anop
0021f67cmov r8, [rax]
0021f67fmov [rdx], r8
0021f682mov [rax+16], rdi
0021f686mov r8, [rcx]
0021f689mov [rax], r8
0021f68cxchg [rcx], rax
0021f68fmov rax, [rdx]
0021f692add esi, 1
0021f695test rax, rax
0021f698jne 0x21f680
0021f69amov rdi, [r12+1048]
0021f6a2add ebp, esi
0021f6a4mov rax, [rdx+256]
0021f6ablea rsi, [rcx+256]
0021f6b2test rax, rax
0021f6b5je 0x21f6ea
0021f6b7xor r8l, r8l
0021f6banop
0021f6bcmov r10, [rax]
0021f6bfmov [rdx+256], r10
0021f6c6mov [rax+16], rdi
0021f6camov r10, [rsi]
0021f6cdmov [rax], r10
0021f6d0xchg [rsi], rax
0021f6d3mov rax, [rdx+256]
0021f6daadd r8l, 1
0021f6detest rax, rax
0021f6e1jne 0x21f6c0
0021f6e3add ebp, r8l
0021f6e6add rdx, 8
0021f6ea
0021f6ealoc_21f6ea:
0021f6eaadd rcx, 8
0021f6eecmp r9, rdx
0021f6f1jne 0x21f640
0021f6f7mov rax, [rip+0x15994e]
0021f6fetest rax, rax
0021f701je 0x21f7fb
0021f707nop [rax+rax]
0021f712nop [rax+rax]
0021f71dnop [rax+rax]
0021f728nop [rax+rax]
0021f733nop [rax+rax]
0021f73cmov rdx, [rax+8]
0021f740
0021f740loc_21f740:
0021f740add r13l, 1
0021f744mov [rip+0x159901], rdx
0021f74bmov rdx, [r12+1048]
0021f753mov [rax], rdx
0021f756mov rdx, [r12+1032]
0021f75emov [rax+8], rdx
0021f762mov [r12+1032], rax
0021f76amov rax, [rip+0x1598db]
0021f771test rax, rax
0021f774jne 0x21f740
0021f776mov eax, ebp
0021f778or eax, r13l
0021f77btest eax, eax
0021f77djne 0x21f7a6
0021f77f
0021f77floc_21f77f:
0021f77fmov rdi, rbx
0021f782call fn_f47c0
0021f787test eax, eax
0021f789jne 0x21f7ff
0021f78bmov [r12+1040], 0
0021f797add rsp, 8
0021f79bpop rbx
0021f79cpop rbp
0021f79dpop r12
0021f79fpop r13
0021f7a1ret
0021f7a2lea rdi, [r12+1056]
0021f7aalea rsi, [rip+0x15965b]
0021f7b1call caml_accum_heap_stats
0021f7b6pxor x0, x0
0021f7bamov rdi, rbx
0021f7bdmovaps [rip+0x159648], x0
0021f7c4movaps [rip+0x159651], x0
0021f7cbmovaps [rip+0x15965a], x0
0021f7d2movaps [rip+0x159663], x0
0021f7d9call fn_f47c0
0021f7detest eax, eax
0021f7e0jne 0x21f7ff
0021f7e2mov edx, r13l
0021f7e5mov esi, ebp
0021f7e7lea rdi, [rip+0x11b9e]
0021f7eexor eax, eax
0021f7f0call caml_gc_log
0021f7f5jmp 0x21f78f
0021f7f7mov eax, ebp
0021f7f9jmp 0x21f77f
0021f7fb
0021f7fbloc_21f7fb:
0021f7fbmov esi, eax
0021f7fdlea rdi, [rip+64786]
0021f804call caml_plat_fatal_error
0021f809mov esi, eax
0021f80blea rdi, [rip+64761]
0021f812call caml_plat_fatal_error
0021f817db 0xb5
0021f818sar edi, -1
0021f540
0021f81b
0021f81b // align 0x10
0021f81b // align 0x10
0021f820
0021f820fn_21f820:
0021f820sub rsp, 8
0021f824call caml_bt_exit_ocaml
0021f829add rsp, 8
0021f82djmp 0x203050
0021f832db 0x1a
0021f833cmp dh, bh
0021f835db 0xff
0021f820
0021f820fn_21f820:
0021f820sub rsp, 8
0021f824call caml_bt_exit_ocaml
0021f829add rsp, 8
0021f82djmp 0x203050
0021f832db 0x1a
0021f833cmp dh, bh
0021f835db 0xff
0021f820
0021f836
0021f836 // align 0x10
0021f836 // align 0x10
0021f840
0021f840fn_21f840:
0021f840sub rsp, 8
0021f844call caml_bt_enter_ocaml
0021f849add rsp, 8
0021f84djmp 0x202fe0
0021f852db 0x8a
0021f853db 0x37
0021f854db 0xfe
0021f855db 0xff
0021f840
0021f840fn_21f840:
0021f840sub rsp, 8
0021f844call caml_bt_enter_ocaml
0021f849add rsp, 8
0021f84djmp 0x202fe0
0021f852db 0x8a
0021f853db 0x37
0021f854db 0xfe
0021f855db 0xff
0021f840
0021f856
0021f856 // align 0x10
0021f856 // align 0x10
0021f860
0021f860fn_21f860:
0021f860push r12
0021f862push rbp
0021f863push rbx
0021f864mov ebx, edi
0021f866call fn_f4570
0021f86blea ecx, [rbx-1]
0021f86emov r12l, [rax]
0021f871mov rbp, rax
0021f874cmp ecx, 63
0021f877ja 0x21f892
0021f879mov eax, 1
0021f87eshl rax, cl
0021f881lock or [rip+0x1597d3], rax
0021f889call caml_interrupt_all_signal_safe
0021f88emov [rbp], r12l
0021f892
0021f892loc_21f892:
0021f892pop rbx
0021f893pop rbp
0021f894pop r12
0021f896ret
0021f897db 0x5d
0021f898pop r12
0021f89aret
0021f860
0021f860fn_21f860:
0021f860push r12
0021f862push rbp
0021f863push rbx
0021f864mov ebx, edi
0021f866call fn_f4570
0021f86blea ecx, [rbx-1]
0021f86emov r12l, [rax]
0021f871mov rbp, rax
0021f874cmp ecx, 63
0021f877ja 0x21f892
0021f879mov eax, 1
0021f87eshl rax, cl
0021f881lock or [rip+0x1597d3], rax
0021f889call caml_interrupt_all_signal_safe
0021f88emov [rbp], r12l
0021f892
0021f892loc_21f892:
0021f892pop rbx
0021f893pop rbp
0021f894pop r12
0021f896ret
0021f897db 0x5d
0021f898pop r12
0021f89aret
0021f860
0021f89b
0021f89b // align 0x10
0021f89b // align 0x10
0021f8a0
0021f8a0caml_check_pending_signals:
0021f8a0mov rax, [rip+0x1597b5]
0021f8a7test rax, rax
0021f8aasetne al
0021f8admovzx eax, al
0021f8b0ret
0021f8b1db 0x0f
0021f8b2mov dh, 192
0021f8b4ret
0021f8a0
0021f8a0caml_check_pending_signals:
0021f8a0mov rax, [rip+0x1597b5]
0021f8a7test rax, rax
0021f8aasetne al
0021f8admovzx eax, al
0021f8b0ret
0021f8b1db 0x0f
0021f8b2mov dh, 192
0021f8b4ret
0021f8a0
0021f8b5
0021f8b5 // align 0x10
0021f8b5 // align 0x10
0021f8c0
0021f8c0caml_record_signal:
0021f8c0lea ecx, [rdi-1]
0021f8c3cmp ecx, 63
0021f8c6jbe 0x21f8d0
0021f8c8ret
0021f8c9db 0x3f
0021f8cajbe 0x21f8d0
0021f8ccret
0021f8cd
0021f8cd 0f 1f 00 ...
0021f8d0
0021f8d0loc_21f8d0:
0021f8d0mov eax, 1
0021f8d5shl rax, cl
0021f8d8lock or [rip+0x159780], rax
0021f8e0jmp 0x201680
0021f8c0
0021f8c0caml_record_signal:
0021f8c0lea ecx, [rdi-1]
0021f8c3cmp ecx, 63
0021f8c6jbe 0x21f8d0
0021f8c8ret
0021f8c9db 0x3f
0021f8cajbe 0x21f8d0
0021f8ccret
0021f8cd
0021f8cd 0f 1f 00 ...
0021f8d0
0021f8d0loc_21f8d0:
0021f8d0mov eax, 1
0021f8d5shl rax, cl
0021f8d8lock or [rip+0x159780], rax
0021f8e0jmp 0x201680
0021f8c0
0021f8e5
0021f8e5 // align 0x10
0021f8e5 // align 0x10
0021f8f0
0021f8f0caml_enter_blocking_section_no_pending:
0021f8f0jmp [rip+0x158ae6]
0021f8f6db 0xe6
0021f8f7db 0x8a
0021f8f8db 0x15
0021f8f9db 0x00
0021f8f0
0021f8f0caml_enter_blocking_section_no_pending:
0021f8f0jmp [rip+0x158ae6]
0021f8f6db 0xe6
0021f8f7db 0x8a
0021f8f8db 0x15
0021f8f9db 0x00
0021f8f0
0021f8fa
0021f8fa // align 0x10
0021f8fa // align 0x10
0021f900
0021f900caml_leave_blocking_section:
0021f900push rbp
0021f901push rbx
0021f902sub rsp, 8
0021f906call fn_f4570
0021f90bmov ebp, [rax]
0021f90dmov rbx, rax
0021f910call [rip+0x158abe]
0021f916mov rax, [rip+0x566c7]
0021f91dcmp [rax], 0
0021f922je 0x21f950
0021f924mov rdx, [rip+0x159731]
0021f92btest rdx, rdx
0021f92eje 0x21f940
0021f930mov rax, [rax]
0021f934mov [rax+56], 1
0021f93cmov [rbx], ebp
0021f93eadd rsp, 8
0021f942pop rbx
0021f943pop rbp
0021f944ret
0021f945db 0x08
0021f946pop rbx
0021f947pop rbp
0021f948ret
0021f949
0021f949 0f 1f 80 00 00 00 00 .......
0021f950
0021f950loc_21f950:
0021f950call caml_bad_caml_state
0021f900
0021f900caml_leave_blocking_section:
0021f900push rbp
0021f901push rbx
0021f902sub rsp, 8
0021f906call fn_f4570
0021f90bmov ebp, [rax]
0021f90dmov rbx, rax
0021f910call [rip+0x158abe]
0021f916mov rax, [rip+0x566c7]
0021f91dcmp [rax], 0
0021f922je 0x21f950
0021f924mov rdx, [rip+0x159731]
0021f92btest rdx, rdx
0021f92eje 0x21f940
0021f930mov rax, [rax]
0021f934mov [rax+56], 1
0021f93cmov [rbx], ebp
0021f93eadd rsp, 8
0021f942pop rbx
0021f943pop rbp
0021f944ret
0021f945db 0x08
0021f946pop rbx
0021f947pop rbp
0021f948ret
0021f949
0021f949 0f 1f 80 00 00 00 00 .......
0021f950
0021f950loc_21f950:
0021f950call caml_bad_caml_state
0021f900
0021f955
0021f955 // align 0x10
0021f955 // align 0x10
0021f960
0021f960caml_init_signal_handling:
0021f960sub rsp, 8
0021f964xor esi, esi
0021f966mov edi, 65
0021f96bcall caml_alloc_shr
0021f970mov [rip+0x1596f5], rax
0021f977mov [rax], 1
0021f97emov eax, 8
0021f983nop [rax+rax]
0021f98enop [rax+rax]
0021f999nop [rax]
0021f99cmov rdx, [rip+0x1596c9]
0021f9a3add rdx, rax
0021f9a6add rax, 8
0021f9aamov [rdx], 1
0021f9b1cmp rax, 520
0021f9b7jne 0x21f9a0
0021f9b9lea rdi, [rip+0x1596ac]
0021f9c0add rsp, 8
0021f9c4jmp 0x209dd0
0021f9c9db 0x03
0021f9camovsb [rdi], [rsi]
0021f9cbdb 0xfe
0021f9ccdb 0xff
0021f960
0021f960caml_init_signal_handling:
0021f960sub rsp, 8
0021f964xor esi, esi
0021f966mov edi, 65
0021f96bcall caml_alloc_shr
0021f970mov [rip+0x1596f5], rax
0021f977mov [rax], 1
0021f97emov eax, 8
0021f983nop [rax+rax]
0021f98enop [rax+rax]
0021f999nop [rax]
0021f99cmov rdx, [rip+0x1596c9]
0021f9a3add rdx, rax
0021f9a6add rax, 8
0021f9aamov [rdx], 1
0021f9b1cmp rax, 520
0021f9b7jne 0x21f9a0
0021f9b9lea rdi, [rip+0x1596ac]
0021f9c0add rsp, 8
0021f9c4jmp 0x209dd0
0021f9c9db 0x03
0021f9camovsb [rdi], [rsi]
0021f9cbdb 0xfe
0021f9ccdb 0xff
0021f960
0021f9cd
0021f9cd // align 0x10
0021f9cd // align 0x10
0021f9d0
0021f9d0caml_execute_signal_res:
0021f9d0push r13
0021f9d2push r12
0021f9d4push rbp
0021f9d5push rbx
0021f9d6sub rsp, 280
0021f9ddmov rbx, [0x28]
0021f9e6mov [rsp+264], rbx
0021f9eemov ebx, edi
0021f9f0mov rdi, rsp
0021f9f3lea rbp, [rsp+128]
0021f9fbcall fn_f46c0
0021fa00mov rdi, rsp
0021fa03mov esi, ebx
0021fa05call fn_f4580
0021fa0amov rdx, rbp
0021fa0dxor edi, edi
0021fa0fmov rsi, rsp
0021fa12call fn_f4130
0021fa17mov rax, [rip+0x15964e]
0021fa1emovsxd rcx, ebx
0021fa21lea rdx, [rip+0x12b14]
0021fa28lea rax, [rax+8*rcx]
0021fa2cmov rdi, [rax]
0021fa2fxor eax, eax
0021fa31jmp 0x21fa4a
0021fa33db 0x31
0021fa34shr bl, 19
0021fa37
0021fa37 66 0f 1f 84 00 00 00 00 00 f........
0021fa40
0021fa40loc_21fa40:
0021fa40add rax, 1
0021fa44cmp rax, 28
0021fa48je 0x21fa56
0021fa4a
0021fa4aloc_21fa4a:
0021fa4acmp ebx, [rdx+4*rax]
0021fa4djne 0x21fa40
0021fa4fmov ebx, eax
0021fa51not ebx
0021fa53movsxd rcx, ebx
0021fa56
0021fa56loc_21fa56:
0021fa56lea rsi, [rcx+rcx+1]
0021fa5bcall caml_callback_res
0021fa60mov rsi, rbp
0021fa63mov edi, 2
0021fa68mov r12, rax
0021fa6bmov r13, rdx
0021fa6exor edx, edx
0021fa70call fn_f4130
0021fa75mov rax, r12
0021fa78mov rdx, r13
0021fa7bmov rcx, [rsp+264]
0021fa83sub rcx, [0x28]
0021fa8cjne 0x21fa9c
0021fa8eadd rsp, 280
0021fa95pop rbx
0021fa96pop rbp
0021fa97pop r12
0021fa99pop r13
0021fa9bret
0021fa9c
0021fa9cloc_21fa9c:
0021fa9ccall fn_f4590
0021f9d0
0021f9d0caml_execute_signal_res:
0021f9d0push r13
0021f9d2push r12
0021f9d4push rbp
0021f9d5push rbx
0021f9d6sub rsp, 280
0021f9ddmov rbx, [0x28]
0021f9e6mov [rsp+264], rbx
0021f9eemov ebx, edi
0021f9f0mov rdi, rsp
0021f9f3lea rbp, [rsp+128]
0021f9fbcall fn_f46c0
0021fa00mov rdi, rsp
0021fa03mov esi, ebx
0021fa05call fn_f4580
0021fa0amov rdx, rbp
0021fa0dxor edi, edi
0021fa0fmov rsi, rsp
0021fa12call fn_f4130
0021fa17mov rax, [rip+0x15964e]
0021fa1emovsxd rcx, ebx
0021fa21lea rdx, [rip+0x12b14]
0021fa28lea rax, [rax+8*rcx]
0021fa2cmov rdi, [rax]
0021fa2fxor eax, eax
0021fa31jmp 0x21fa4a
0021fa33db 0x31
0021fa34shr bl, 19
0021fa37
0021fa37 66 0f 1f 84 00 00 00 00 00 f........
0021fa40
0021fa40loc_21fa40:
0021fa40add rax, 1
0021fa44cmp rax, 28
0021fa48je 0x21fa56
0021fa4a
0021fa4aloc_21fa4a:
0021fa4acmp ebx, [rdx+4*rax]
0021fa4djne 0x21fa40
0021fa4fmov ebx, eax
0021fa51not ebx
0021fa53movsxd rcx, ebx
0021fa56
0021fa56loc_21fa56:
0021fa56lea rsi, [rcx+rcx+1]
0021fa5bcall caml_callback_res
0021fa60mov rsi, rbp
0021fa63mov edi, 2
0021fa68mov r12, rax
0021fa6bmov r13, rdx
0021fa6exor edx, edx
0021fa70call fn_f4130
0021fa75mov rax, r12
0021fa78mov rdx, r13
0021fa7bmov rcx, [rsp+264]
0021fa83sub rcx, [0x28]
0021fa8cjne 0x21fa9c
0021fa8eadd rsp, 280
0021fa95pop rbx
0021fa96pop rbp
0021fa97pop r12
0021fa99pop r13
0021fa9bret
0021fa9c
0021fa9cloc_21fa9c:
0021fa9ccall fn_f4590
0021f9d0
0021faa1
0021faa1 // align 0x20
0021faa1 // align 0x20
0021fac0
0021fac0fn_21fac0:
0021fac0push r14
0021fac2xor esi, esi
0021fac4xor edi, edi
0021fac6push r13
0021fac8push r12
0021facapush rbp
0021facbpush rbx
0021faccsub rsp, 144
0021fad3mov rdx, [0x28]
0021fadcmov [rsp+136], rdx
0021fae4mov rdx, rsp
0021fae7call fn_f4130
0021faecmov r12, [rip+0x15956d]
0021faf3test r12, r12
0021faf6jne 0x21fb40
0021faf8
0021faf8loc_21faf8:
0021faf8xor ecx, ecx
0021fafamov ebp, 1
0021faffmov rsi, 0xffffffff00000000
0021fb09and rcx, rsi
0021fb0cmov rdi, rcx
0021fb0f
0021fb0floc_21fb0f:
0021fb0fmov eax, edi
0021fb11mov rdx, rbp
0021fb14mov rcx, [rsp+136]
0021fb1csub rcx, [0x28]
0021fb25jne 0x21fbd7
0021fb2badd rsp, 144
0021fb32pop rbx
0021fb33pop rbp
0021fb34pop r12
0021fb36pop r13
0021fb38pop r14
0021fb3aret
0021fb3b
0021fb3b 0f 1f 44 00 00 ..D..
0021fb40
0021fb40loc_21fb40:
0021fb40mov r14, rsp
0021fb43xor ecx, ecx
0021fb45mov r13l, 1
0021fb4bjmp 0x21fb67
0021fb4d
0021fb4d 66 66 2e ff.
0021fb50 0f 1f 84 00 00 00 00 00 0f 1f 84 00 00 00 00 00 ................
0021fb60
0021fb60loc_21fb60:
0021fb60mov ecx, ebx
0021fb62cmp ebx, 64
0021fb65je 0x21faf8
0021fb67
0021fb67loc_21fb67:
0021fb67mov rbp, r13
0021fb6alea ebx, [rcx+1]
0021fb6dshl rbp, cl
0021fb70test rbp, r12
0021fb73je 0x21fb60
0021fb75mov esi, ebx
0021fb77mov rdi, r14
0021fb7acall fn_f42b0
0021fb7fmov rdx, rbp
0021fb82not rdx
0021fb85test eax, eax
0021fb87jne 0x21fb60
0021fb89
0021fb89loc_21fb89:
0021fb89mov rcx, rdx
0021fb8cmov rax, r12
0021fb8fand rcx, r12
0021fb92lock cmpxchg [rip+0x1594c5], rcx
0021fb9bmov r12, rax
0021fb9ejne 0x21fbc7
0021fba0mov edi, ebx
0021fba2call caml_execute_signal_res
0021fba7test eax, eax
0021fba9jne 0x21fbbc
0021fbabmov r12, [rip+0x1594ae]
0021fbb2test r12, r12
0021fbb5jne 0x21fb60
0021fbb7jmp 0x21faf8
0021fbbc
0021fbbcloc_21fbbc:
0021fbbcmov rdi, rax
0021fbbfmov rbp, rdx
0021fbc2jmp 0x21fb0f
0021fbc7
0021fbc7loc_21fbc7:
0021fbc7test r12, r12
0021fbcaje 0x21faf8
0021fbd0test rbp, r12
0021fbd3jne 0x21fb89
0021fbd5jmp 0x21fb60
0021fbd7
0021fbd7loc_21fbd7:
0021fbd7call fn_f4590
0021fac0
0021fac0fn_21fac0:
0021fac0push r14
0021fac2xor esi, esi
0021fac4xor edi, edi
0021fac6push r13
0021fac8push r12
0021facapush rbp
0021facbpush rbx
0021faccsub rsp, 144
0021fad3mov rdx, [0x28]
0021fadcmov [rsp+136], rdx
0021fae4mov rdx, rsp
0021fae7call fn_f4130
0021faecmov r12, [rip+0x15956d]
0021faf3test r12, r12
0021faf6jne 0x21fb40
0021faf8
0021faf8loc_21faf8:
0021faf8xor ecx, ecx
0021fafamov ebp, 1
0021faffmov rsi, 0xffffffff00000000
0021fb09and rcx, rsi
0021fb0cmov rdi, rcx
0021fb0f
0021fb0floc_21fb0f:
0021fb0fmov eax, edi
0021fb11mov rdx, rbp
0021fb14mov rcx, [rsp+136]
0021fb1csub rcx, [0x28]
0021fb25jne 0x21fbd7
0021fb2badd rsp, 144
0021fb32pop rbx
0021fb33pop rbp
0021fb34pop r12
0021fb36pop r13
0021fb38pop r14
0021fb3aret
0021fb3b
0021fb3b 0f 1f 44 00 00 ..D..
0021fb40
0021fb40loc_21fb40:
0021fb40mov r14, rsp
0021fb43xor ecx, ecx
0021fb45mov r13l, 1
0021fb4bjmp 0x21fb67
0021fb4d
0021fb4d 66 66 2e ff.
0021fb50 0f 1f 84 00 00 00 00 00 0f 1f 84 00 00 00 00 00 ................
0021fb60
0021fb60loc_21fb60:
0021fb60mov ecx, ebx
0021fb62cmp ebx, 64
0021fb65je 0x21faf8
0021fb67
0021fb67loc_21fb67:
0021fb67mov rbp, r13
0021fb6alea ebx, [rcx+1]
0021fb6dshl rbp, cl
0021fb70test rbp, r12
0021fb73je 0x21fb60
0021fb75mov esi, ebx
0021fb77mov rdi, r14
0021fb7acall fn_f42b0
0021fb7fmov rdx, rbp
0021fb82not rdx
0021fb85test eax, eax
0021fb87jne 0x21fb60
0021fb89
0021fb89loc_21fb89:
0021fb89mov rcx, rdx
0021fb8cmov rax, r12
0021fb8fand rcx, r12
0021fb92lock cmpxchg [rip+0x1594c5], rcx
0021fb9bmov r12, rax
0021fb9ejne 0x21fbc7
0021fba0mov edi, ebx
0021fba2call caml_execute_signal_res
0021fba7test eax, eax
0021fba9jne 0x21fbbc
0021fbabmov r12, [rip+0x1594ae]
0021fbb2test r12, r12
0021fbb5jne 0x21fb60
0021fbb7jmp 0x21faf8
0021fbbc
0021fbbcloc_21fbbc:
0021fbbcmov rdi, rax
0021fbbfmov rbp, rdx
0021fbc2jmp 0x21fb0f
0021fbc7
0021fbc7loc_21fbc7:
0021fbc7test r12, r12
0021fbcaje 0x21faf8
0021fbd0test rbp, r12
0021fbd3jne 0x21fb89
0021fbd5jmp 0x21fb60
0021fbd7
0021fbd7loc_21fbd7:
0021fbd7call fn_f4590
0021fac0
0021fbdc
0021fbdc // align 0x10
0021fbdc // align 0x10
0021fbe0
0021fbe0caml_process_pending_signals_res:
0021fbe0mov rax, [rip+0x159475]
0021fbe7test rax, rax
0021fbeajne 0x21fc10
0021fbecxor eax, eax
0021fbeemov edx, 1
0021fbf3mov rsi, 0xffffffff00000000
0021fbfdmov rcx, rax
0021fc00and rcx, rsi
0021fc03mov rax, rcx
0021fc06ret
0021fc07db 0x48
0021fc08mov eax, ecx
0021fc0aret
0021fc0b
0021fc0b 0f 1f 44 00 00 ..D..
0021fc10
0021fc10loc_21fc10:
0021fc10jmp 0x21fac0
0021fbe0
0021fbe0caml_process_pending_signals_res:
0021fbe0mov rax, [rip+0x159475]
0021fbe7test rax, rax
0021fbeajne 0x21fc10
0021fbecxor eax, eax
0021fbeemov edx, 1
0021fbf3mov rsi, 0xffffffff00000000
0021fbfdmov rcx, rax
0021fc00and rcx, rsi
0021fc03mov rax, rcx
0021fc06ret
0021fc07db 0x48
0021fc08mov eax, ecx
0021fc0aret
0021fc0b
0021fc0b 0f 1f 44 00 00 ..D..
0021fc10
0021fc10loc_21fc10:
0021fc10jmp 0x21fac0
0021fbe0
0021fc15
0021fc15 // align 0x10
0021fc15 // align 0x10
0021fc20
0021fc20caml_enter_blocking_section:
0021fc20mov rax, [rip+0x563bd]
0021fc27push rbx
0021fc28mov rbx, [rax]
0021fc2cjmp 0x21fc75
0021fc2edb 0x8b
0021fc2fsbb bl, ch
0021fc31db 0x43
0021fc32
0021fc32 66 0f 1f 44 00 00 f..D..
0021fc38
0021fc38loc_21fc38:
0021fc38cmp [rbx+56], 0
0021fc3dje 0x21fc60
0021fc3f
0021fc3floc_21fc3f:
0021fc3fcall caml_handle_gc_interrupt
0021fc44mov rax, [rip+0x159415]
0021fc4btest rax, rax
0021fc4eje 0x21fc60
0021fc50call fn_21fac0
0021fc55test eax, eax
0021fc57jne 0x21fc82
0021fc59nop [rax]
0021fc60
0021fc60loc_21fc60:
0021fc60call [rip+0x15877a]
0021fc66mov rax, [rbx]
0021fc69cmp rax, -1
0021fc6djne 0x21fc80
0021fc6fcall [rip+0x158763]
0021fc75
0021fc75loc_21fc75:
0021fc75mov rax, [rbx]
0021fc78cmp [rbx+8], rax
0021fc7cjae 0x21fc38
0021fc7ejmp 0x21fc3f
0021fc80
0021fc80loc_21fc80:
0021fc80pop rbx
0021fc81ret
0021fc82
0021fc82loc_21fc82:
0021fc82mov rdi, rdx
0021fc85call caml_raise
0021fc20
0021fc20caml_enter_blocking_section:
0021fc20mov rax, [rip+0x563bd]
0021fc27push rbx
0021fc28mov rbx, [rax]
0021fc2cjmp 0x21fc75
0021fc2edb 0x8b
0021fc2fsbb bl, ch
0021fc31db 0x43
0021fc32
0021fc32 66 0f 1f 44 00 00 f..D..
0021fc38
0021fc38loc_21fc38:
0021fc38cmp [rbx+56], 0
0021fc3dje 0x21fc60
0021fc3f
0021fc3floc_21fc3f:
0021fc3fcall caml_handle_gc_interrupt
0021fc44mov rax, [rip+0x159415]
0021fc4btest rax, rax
0021fc4eje 0x21fc60
0021fc50call fn_21fac0
0021fc55test eax, eax
0021fc57jne 0x21fc82
0021fc59nop [rax]
0021fc60
0021fc60loc_21fc60:
0021fc60call [rip+0x15877a]
0021fc66mov rax, [rbx]
0021fc69cmp rax, -1
0021fc6djne 0x21fc80
0021fc6fcall [rip+0x158763]
0021fc75
0021fc75loc_21fc75:
0021fc75mov rax, [rbx]
0021fc78cmp [rbx+8], rax
0021fc7cjae 0x21fc38
0021fc7ejmp 0x21fc3f
0021fc80
0021fc80loc_21fc80:
0021fc80pop rbx
0021fc81ret
0021fc82
0021fc82loc_21fc82:
0021fc82mov rdi, rdx
0021fc85call caml_raise
0021fc20
0021fc8a
0021fc8a // align 0x10
0021fc8a // align 0x10
0021fc90
0021fc90caml_request_major_slice:
0021fc90mov rax, [rip+0x5634d]
0021fc97mov rax, [rax]
0021fc9btest edi, edi
0021fc9dje 0x21fcb8
0021fc9fmov [rax+240], 1
0021fcaajmp 0x201650
0021fcafdb 0x9d
0021fcb0sbb esi, edi
0021fcb2db 0xff
0021fcb3
0021fcb3 0f 1f 44 00 00 ..D..
0021fcb8
0021fcb8loc_21fcb8:
0021fcb8mov [rax+232], 1
0021fcc3jmp 0x201650
0021fc90
0021fc90caml_request_major_slice:
0021fc90mov rax, [rip+0x5634d]
0021fc97mov rax, [rax]
0021fc9btest edi, edi
0021fc9dje 0x21fcb8
0021fc9fmov [rax+240], 1
0021fcaajmp 0x201650
0021fcafdb 0x9d
0021fcb0sbb esi, edi
0021fcb2db 0xff
0021fcb3
0021fcb3 0f 1f 44 00 00 ..D..
0021fcb8
0021fcb8loc_21fcb8:
0021fcb8mov [rax+232], 1
0021fcc3jmp 0x201650
0021fc90
0021fcc8
0021fcc8 // align 0x10
0021fcc8 // align 0x10
0021fcd0
0021fcd0caml_request_minor_gc:
0021fcd0mov rax, [rip+0x5630d]
0021fcd7mov rax, [rax]
0021fcdbmov [rax+248], 1
0021fce6jmp 0x201650
0021fcebdb 0x61
0021fcecsbb esi, edi
0021fceedb 0xff
0021fcd0
0021fcd0caml_request_minor_gc:
0021fcd0mov rax, [rip+0x5630d]
0021fcd7mov rax, [rax]
0021fcdbmov [rax+248], 1
0021fce6jmp 0x201650
0021fcebdb 0x61
0021fcecsbb esi, edi
0021fceedb 0xff
0021fcd0
0021fcef
0021fcef // align 0x10
0021fcef // align 0x10
0021fcf0
0021fcf0caml_set_action_pending:
0021fcf0mov [rdi+56], 1
0021fcf8ret
0021fcf9db 0x00
0021fcfaadd [rax], al
0021fcfcret
0021fcf0
0021fcf0caml_set_action_pending:
0021fcf0mov [rdi+56], 1
0021fcf8ret
0021fcf9db 0x00
0021fcfaadd [rax], al
0021fcfcret
0021fcf0
0021fcfd
0021fcfd // align 0x10
0021fcfd // align 0x10
0021fd00
0021fd00caml_check_pending_actions:
0021fd00mov rax, [rip+0x562dd]
0021fd07mov rax, [rax]
0021fd0btest rax, rax
0021fd0eje 0x21fd40
0021fd10mov rdx, [rax]
0021fd13cmp [rax+8], rdx
0021fd17jb 0x21fd30
0021fd19cmp [rax+56], 0
0021fd1esetne al
0021fd21movzx eax, al
0021fd24ret
0021fd25db 0x0f
0021fd26mov dh, 192
0021fd28ret
0021fd29
0021fd29 0f 1f 80 00 00 00 00 .......
0021fd30
0021fd30loc_21fd30:
0021fd30mov eax, 1
0021fd35ret
0021fd36
0021fd36 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021fd40
0021fd40loc_21fd40:
0021fd40sub rsp, 8
0021fd44call caml_bad_caml_state
0021fd00
0021fd00caml_check_pending_actions:
0021fd00mov rax, [rip+0x562dd]
0021fd07mov rax, [rax]
0021fd0btest rax, rax
0021fd0eje 0x21fd40
0021fd10mov rdx, [rax]
0021fd13cmp [rax+8], rdx
0021fd17jb 0x21fd30
0021fd19cmp [rax+56], 0
0021fd1esetne al
0021fd21movzx eax, al
0021fd24ret
0021fd25db 0x0f
0021fd26mov dh, 192
0021fd28ret
0021fd29
0021fd29 0f 1f 80 00 00 00 00 .......
0021fd30
0021fd30loc_21fd30:
0021fd30mov eax, 1
0021fd35ret
0021fd36
0021fd36 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021fd40
0021fd40loc_21fd40:
0021fd40sub rsp, 8
0021fd44call caml_bad_caml_state
0021fd00
0021fd49
0021fd49 // align 0x10
0021fd49 // align 0x10
0021fd50
0021fd50caml_do_pending_actions_res:
0021fd50push rbx
0021fd51call caml_handle_gc_interrupt
0021fd56mov rbx, [rip+0x56287]
0021fd5dmov rax, [rbx]
0021fd61mov [rax+56], 0
0021fd69mov rax, [rip+0x1592ec]
0021fd70test rax, rax
0021fd73jne 0x21fe00
0021fd79call caml_memprof_run_callbacks_res
0021fd7emov ecx, eax
0021fd80mov r8, rax
0021fd83mov r9, rdx
0021fd86test ecx, ecx
0021fd88je 0x21fdc0
0021fd8amov rsi, r9
0021fd8dmov rdx, [rbx]
0021fd91
0021fd91loc_21fd91:
0021fd91mov rax, r8
0021fd94mov r11, rsi
0021fd97mov [rdx+56], 1
0021fd9fpop rbx
0021fda0mov rdx, 0xffffffff00000000
0021fdaaand rax, rdx
0021fdadmov rdx, r11
0021fdb0or rax, rcx
0021fdb3mov r10, rax
0021fdb6mov eax, r10l
0021fdb9ret
0021fdbadb 0x44
0021fdbbmov eax, edx
0021fdbdret
0021fdbe
0021fdbe 66 90 f.
0021fdc0
0021fdc0loc_21fdc0:
0021fdc0call caml_final_do_calls_res
0021fdc5mov ecx, eax
0021fdc7mov r8, rax
0021fdcamov r9, rdx
0021fdcdtest ecx, ecx
0021fdcfjne 0x21fd8e
0021fdd1call caml_process_external_interrupt
0021fdd6xor ecx, ecx
0021fdd8mov r11l, 1
0021fddepop rbx
0021fddfmov rsi, 0xffffffff00000000
0021fde9mov rdx, r11
0021fdecand rcx, rsi
0021fdefmov r10, rcx
0021fdf2mov eax, r10l
0021fdf5ret
0021fdf6
0021fdf6 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021fe00
0021fe00loc_21fe00:
0021fe00call fn_21fac0
0021fe05mov ecx, eax
0021fe07mov rsi, rdx
0021fe0amov r8, rax
0021fe0dtest ecx, ecx
0021fe0fjne 0x21fd91
0021fe11jmp 0x21fd7d
0021fd50
0021fd50caml_do_pending_actions_res:
0021fd50push rbx
0021fd51call caml_handle_gc_interrupt
0021fd56mov rbx, [rip+0x56287]
0021fd5dmov rax, [rbx]
0021fd61mov [rax+56], 0
0021fd69mov rax, [rip+0x1592ec]
0021fd70test rax, rax
0021fd73jne 0x21fe00
0021fd79call caml_memprof_run_callbacks_res
0021fd7emov ecx, eax
0021fd80mov r8, rax
0021fd83mov r9, rdx
0021fd86test ecx, ecx
0021fd88je 0x21fdc0
0021fd8amov rsi, r9
0021fd8dmov rdx, [rbx]
0021fd91
0021fd91loc_21fd91:
0021fd91mov rax, r8
0021fd94mov r11, rsi
0021fd97mov [rdx+56], 1
0021fd9fpop rbx
0021fda0mov rdx, 0xffffffff00000000
0021fdaaand rax, rdx
0021fdadmov rdx, r11
0021fdb0or rax, rcx
0021fdb3mov r10, rax
0021fdb6mov eax, r10l
0021fdb9ret
0021fdbadb 0x44
0021fdbbmov eax, edx
0021fdbdret
0021fdbe
0021fdbe 66 90 f.
0021fdc0
0021fdc0loc_21fdc0:
0021fdc0call caml_final_do_calls_res
0021fdc5mov ecx, eax
0021fdc7mov r8, rax
0021fdcamov r9, rdx
0021fdcdtest ecx, ecx
0021fdcfjne 0x21fd8e
0021fdd1call caml_process_external_interrupt
0021fdd6xor ecx, ecx
0021fdd8mov r11l, 1
0021fddepop rbx
0021fddfmov rsi, 0xffffffff00000000
0021fde9mov rdx, r11
0021fdecand rcx, rsi
0021fdefmov r10, rcx
0021fdf2mov eax, r10l
0021fdf5ret
0021fdf6
0021fdf6 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021fe00
0021fe00loc_21fe00:
0021fe00call fn_21fac0
0021fe05mov ecx, eax
0021fe07mov rsi, rdx
0021fe0amov r8, rax
0021fe0dtest ecx, ecx
0021fe0fjne 0x21fd91
0021fe11jmp 0x21fd7d
0021fd50
Loading..