File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
Loading..
0020cc80
0020cc80caml_deserialize_block_4:
0020cc80sub rsp, 8
0020cc84mov rax, [rip+0x69359]
0020cc8bmov rax, [rax]
0020cc8ftest rax, rax
0020cc92je 0x20cd00
0020cc94mov r9, [rax+376]
0020cc9btest r9, r9
0020cc9eje 0x20cd05
0020cca0mov r8, rdi
0020cca3mov rcx, [r9]
0020cca6mov rdi, rsi
0020cca9test rsi, rsi
0020ccacjle 0x20ccf3
0020ccaexor edx, edx
0020ccb0nop [rax+rax]
0020ccbbnop
0020ccbcmovzx eax, [rcx+4*rdx]
0020ccc0
0020ccc0loc_20ccc0:
0020ccc0movzx esi, [rcx+4*rdx+1]
0020ccc5shl eax, 8
0020ccc8or eax, esi
0020cccamovzx esi, [rcx+4*rdx+2]
0020cccfshl eax, 8
0020ccd2or eax, esi
0020ccd4movzx esi, [rcx+4*rdx+3]
0020ccd9shl eax, 8
0020ccdcor eax, esi
0020ccdemov [r8+4*rdx], eax
0020cce2add rdx, 1
0020cce6cmp rdi, rdx
0020cce9jne 0x20ccc0
0020cceblea rcx, [rcx+4*rdi]
0020ccefmov [r9], rcx
0020ccf2add rsp, 8
0020ccf6ret
0020ccf7db 0x83
0020ccf8db 0xc4
0020ccf9or bl, al
0020ccfb
0020ccfb 0f 1f 44 00 00 ..D..
0020cd00
0020cd00loc_20cd00:
0020cd00call caml_bad_caml_state
0020cd05
0020cd05loc_20cd05:
0020cd05lea rdi, [rip+0x23aa4]
0020cd0cxor eax, eax
0020cd0ecall caml_fatal_error
0020cc80
0020cc80caml_deserialize_block_4:
0020cc80sub rsp, 8
0020cc84mov rax, [rip+0x69359]
0020cc8bmov rax, [rax]
0020cc8ftest rax, rax
0020cc92je 0x20cd00
0020cc94mov r9, [rax+376]
0020cc9btest r9, r9
0020cc9eje 0x20cd05
0020cca0mov r8, rdi
0020cca3mov rcx, [r9]
0020cca6mov rdi, rsi
0020cca9test rsi, rsi
0020ccacjle 0x20ccf3
0020ccaexor edx, edx
0020ccb0nop [rax+rax]
0020ccbbnop
0020ccbcmovzx eax, [rcx+4*rdx]
0020ccc0
0020ccc0loc_20ccc0:
0020ccc0movzx esi, [rcx+4*rdx+1]
0020ccc5shl eax, 8
0020ccc8or eax, esi
0020cccamovzx esi, [rcx+4*rdx+2]
0020cccfshl eax, 8
0020ccd2or eax, esi
0020ccd4movzx esi, [rcx+4*rdx+3]
0020ccd9shl eax, 8
0020ccdcor eax, esi
0020ccdemov [r8+4*rdx], eax
0020cce2add rdx, 1
0020cce6cmp rdi, rdx
0020cce9jne 0x20ccc0
0020cceblea rcx, [rcx+4*rdi]
0020ccefmov [r9], rcx
0020ccf2add rsp, 8
0020ccf6ret
0020ccf7db 0x83
0020ccf8db 0xc4
0020ccf9or bl, al
0020ccfb
0020ccfb 0f 1f 44 00 00 ..D..
0020cd00
0020cd00loc_20cd00:
0020cd00call caml_bad_caml_state
0020cd05
0020cd05loc_20cd05:
0020cd05lea rdi, [rip+0x23aa4]
0020cd0cxor eax, eax
0020cd0ecall caml_fatal_error
0020cc80
0020cd13
0020cd13 // align 0x10
0020cd13 // align 0x10
0020cd20
0020cd20caml_deserialize_block_8:
0020cd20sub rsp, 8
0020cd24mov rax, [rip+0x692b9]
0020cd2bmov rax, [rax]
0020cd2ftest rax, rax
0020cd32je 0x20cdd8
0020cd38mov r9, [rax+376]
0020cd3ftest r9, r9
0020cd42je 0x20cddd
0020cd48mov rcx, rdi
0020cd4bmov r8, [r9]
0020cd4emov rdi, rsi
0020cd51test rsi, rsi
0020cd54jle 0x20cdcd
0020cd56mov rdx, r8
0020cd59nop [rax]
0020cd5cmovzx eax, [rdx]
0020cd5fmovzx r10l, [rdx+1]
0020cd64add rcx, 8
0020cd68add rdx, 8
0020cd6cshl rax, 8
0020cd70or rax, r10
0020cd73movzx r10l, [rdx-6]
0020cd78shl rax, 8
0020cd7cor rax, r10
0020cd7fmovzx r10l, [rdx-5]
0020cd84shl rax, 8
0020cd88or rax, r10
0020cd8bmovzx r10l, [rdx-4]
0020cd90shl rax, 8
0020cd94or rax, r10
0020cd97movzx r10l, [rdx-3]
0020cd9cshl rax, 8
0020cda0or rax, r10
0020cda3movzx r10l, [rdx-2]
0020cda8shl rax, 8
0020cdacor rax, r10
0020cdafmovzx r10l, [rdx-1]
0020cdb4shl rax, 8
0020cdb8or rax, r10
0020cdbbmov [rcx-8], rax
0020cdbfsub rsi, 1
0020cdc3jne 0x20cd60
0020cdc5lea r8, [r8+8*rdi]
0020cdc9mov [r9], r8
0020cdccadd rsp, 8
0020cdd0ret
0020cdd1db 0x83
0020cdd2db 0xc4
0020cdd3or bl, al
0020cdd5
0020cdd5 0f 1f 00 ...
0020cdd8
0020cdd8loc_20cdd8:
0020cdd8call caml_bad_caml_state
0020cddd
0020cdddloc_20cddd:
0020cdddlea rdi, [rip+0x239cc]
0020cde4xor eax, eax
0020cde6call caml_fatal_error
0020cd20
0020cd20caml_deserialize_block_8:
0020cd20sub rsp, 8
0020cd24mov rax, [rip+0x692b9]
0020cd2bmov rax, [rax]
0020cd2ftest rax, rax
0020cd32je 0x20cdd8
0020cd38mov r9, [rax+376]
0020cd3ftest r9, r9
0020cd42je 0x20cddd
0020cd48mov rcx, rdi
0020cd4bmov r8, [r9]
0020cd4emov rdi, rsi
0020cd51test rsi, rsi
0020cd54jle 0x20cdcd
0020cd56mov rdx, r8
0020cd59nop [rax]
0020cd5cmovzx eax, [rdx]
0020cd5fmovzx r10l, [rdx+1]
0020cd64add rcx, 8
0020cd68add rdx, 8
0020cd6cshl rax, 8
0020cd70or rax, r10
0020cd73movzx r10l, [rdx-6]
0020cd78shl rax, 8
0020cd7cor rax, r10
0020cd7fmovzx r10l, [rdx-5]
0020cd84shl rax, 8
0020cd88or rax, r10
0020cd8bmovzx r10l, [rdx-4]
0020cd90shl rax, 8
0020cd94or rax, r10
0020cd97movzx r10l, [rdx-3]
0020cd9cshl rax, 8
0020cda0or rax, r10
0020cda3movzx r10l, [rdx-2]
0020cda8shl rax, 8
0020cdacor rax, r10
0020cdafmovzx r10l, [rdx-1]
0020cdb4shl rax, 8
0020cdb8or rax, r10
0020cdbbmov [rcx-8], rax
0020cdbfsub rsi, 1
0020cdc3jne 0x20cd60
0020cdc5lea r8, [r8+8*rdi]
0020cdc9mov [r9], r8
0020cdccadd rsp, 8
0020cdd0ret
0020cdd1db 0x83
0020cdd2db 0xc4
0020cdd3or bl, al
0020cdd5
0020cdd5 0f 1f 00 ...
0020cdd8
0020cdd8loc_20cdd8:
0020cdd8call caml_bad_caml_state
0020cddd
0020cdddloc_20cddd:
0020cdddlea rdi, [rip+0x239cc]
0020cde4xor eax, eax
0020cde6call caml_fatal_error
0020cd20
0020cdeb
0020cdeb // align 0x10
0020cdeb // align 0x10
0020cdf0
0020cdf0caml_deserialize_block_float_8:
0020cdf0push rbp
0020cdf1push rbx
0020cdf2sub rsp, 8
0020cdf6mov rax, [rip+0x691e7]
0020cdfdmov rax, [rax]
0020ce01test rax, rax
0020ce04je 0x20ce38
0020ce06mov rbp, [rax+376]
0020ce0dtest rbp, rbp
0020ce10je 0x20ce3d
0020ce12lea rbx, [8*rsi]
0020ce1amov rsi, [rbp]
0020ce1emov rdx, rbx
0020ce21call fn_f47d0
0020ce26add [rbp], rbx
0020ce2aadd rsp, 8
0020ce2epop rbx
0020ce2fpop rbp
0020ce30ret
0020ce31db 0x08
0020ce32pop rbx
0020ce33pop rbp
0020ce34ret
0020ce35
0020ce35 0f 1f 00 ...
0020ce38
0020ce38loc_20ce38:
0020ce38call caml_bad_caml_state
0020ce3d
0020ce3dloc_20ce3d:
0020ce3dlea rdi, [rip+0x2396c]
0020ce44xor eax, eax
0020ce46call caml_fatal_error
0020cdf0
0020cdf0caml_deserialize_block_float_8:
0020cdf0push rbp
0020cdf1push rbx
0020cdf2sub rsp, 8
0020cdf6mov rax, [rip+0x691e7]
0020cdfdmov rax, [rax]
0020ce01test rax, rax
0020ce04je 0x20ce38
0020ce06mov rbp, [rax+376]
0020ce0dtest rbp, rbp
0020ce10je 0x20ce3d
0020ce12lea rbx, [8*rsi]
0020ce1amov rsi, [rbp]
0020ce1emov rdx, rbx
0020ce21call fn_f47d0
0020ce26add [rbp], rbx
0020ce2aadd rsp, 8
0020ce2epop rbx
0020ce2fpop rbp
0020ce30ret
0020ce31db 0x08
0020ce32pop rbx
0020ce33pop rbp
0020ce34ret
0020ce35
0020ce35 0f 1f 00 ...
0020ce38
0020ce38loc_20ce38:
0020ce38call caml_bad_caml_state
0020ce3d
0020ce3dloc_20ce3d:
0020ce3dlea rdi, [rip+0x2396c]
0020ce44xor eax, eax
0020ce46call caml_fatal_error
0020cdf0
0020ce4b
0020ce4b // align 0x10
0020ce4b // align 0x10
0020ce50
0020ce50caml_deserialize_error:
0020ce50mov rax, [rip+0x6918d]
0020ce57push rbx
0020ce58mov rax, [rax]
0020ce5ctest rax, rax
0020ce5fje 0x20ce81
0020ce61mov rbx, rdi
0020ce64mov rdi, [rax+376]
0020ce6btest rdi, rdi
0020ce6eje 0x20ce86
0020ce70call fn_20ad20
0020ce75mov rdi, rbx
0020ce78call caml_failwith
0020ce7dcall caml_bad_caml_state
0020ce82lea rdi, [rip+0x23923]
0020ce89xor eax, eax
0020ce8bcall caml_fatal_error
0020ce90db 0x9c
0020ce91fild [rax]
0020ce93db 0x00
0020ce50
0020ce50caml_deserialize_error:
0020ce50mov rax, [rip+0x6918d]
0020ce57push rbx
0020ce58mov rax, [rax]
0020ce5ctest rax, rax
0020ce5fje 0x20ce81
0020ce61mov rbx, rdi
0020ce64mov rdi, [rax+376]
0020ce6btest rdi, rdi
0020ce6eje 0x20ce86
0020ce70call fn_20ad20
0020ce75mov rdi, rbx
0020ce78call caml_failwith
0020ce7dcall caml_bad_caml_state
0020ce82lea rdi, [rip+0x23923]
0020ce89xor eax, eax
0020ce8bcall caml_fatal_error
0020ce90db 0x9c
0020ce91fild [rax]
0020ce93db 0x00
0020ce50
0020ce94
0020ce94 // align 0x10
0020ce94 // align 0x10
0020cea0
0020cea0fn_20cea0:
0020cea0mov [rcx], 1
0020cea6movzx eax, [rdi]
0020cea9cmp al, 45
0020ceabje 0x20cef0
0020ceadcmp al, 43
0020ceafsete al
0020ceb2movzx eax, al
0020ceb5add rax, rdi
0020ceb8
0020ceb8loc_20ceb8:
0020ceb8mov [rsi], 10
0020cebemov [rdx], 1
0020cec4cmp [rax], 48
0020cec7je 0x20ced0
0020cec9
0020cec9loc_20cec9:
0020cec9ret
0020cecanop [rax+rax]
0020ced0
0020ced0loc_20ced0:
0020ced0movzx edi, [rax+1]
0020ced4lea ecx, [rdi-66]
0020ced7cmp cl, 54
0020cedaja 0x20cec9
0020cedclea rdi, [rip+0x24bad]
0020cee3movzx ecx, cl
0020cee6movsxd rcx, [rdi+4*rcx]
0020ceeaadd rcx, rdi
0020ceedjmp rcx
0020cef0
0020cef0loc_20cef0:
0020cef0mov [rcx], -1
0020cef6lea rax, [rdi+1]
0020cefajmp 0x20ceb8
0020cefcnop [rax]
0020cf00mov [rsi], 16
0020cf06add rax, 2
0020cf0amov [rdx], 0
0020cf10ret
0020cf11nop [rax]
0020cf18mov [rdx], 0
0020cf1eadd rax, 2
0020cf22ret
0020cf23nop [rax+rax]
0020cf28mov [rsi], 8
0020cf2eadd rax, 2
0020cf32mov [rdx], 0
0020cf38ret
0020cf39nop [rax]
0020cf40mov [rsi], 2
0020cf46add rax, 2
0020cf4amov [rdx], 0
0020cf50ret
0020cea0
0020cea0fn_20cea0:
0020cea0mov [rcx], 1
0020cea6movzx eax, [rdi]
0020cea9cmp al, 45
0020ceabje 0x20cef0
0020ceadcmp al, 43
0020ceafsete al
0020ceb2movzx eax, al
0020ceb5add rax, rdi
0020ceb8
0020ceb8loc_20ceb8:
0020ceb8mov [rsi], 10
0020cebemov [rdx], 1
0020cec4cmp [rax], 48
0020cec7je 0x20ced0
0020cec9
0020cec9loc_20cec9:
0020cec9ret
0020cecanop [rax+rax]
0020ced0
0020ced0loc_20ced0:
0020ced0movzx edi, [rax+1]
0020ced4lea ecx, [rdi-66]
0020ced7cmp cl, 54
0020cedaja 0x20cec9
0020cedclea rdi, [rip+0x24bad]
0020cee3movzx ecx, cl
0020cee6movsxd rcx, [rdi+4*rcx]
0020ceeaadd rcx, rdi
0020ceedjmp rcx
0020cef0
0020cef0loc_20cef0:
0020cef0mov [rcx], -1
0020cef6lea rax, [rdi+1]
0020cefajmp 0x20ceb8
0020cefcnop [rax]
0020cf00mov [rsi], 16
0020cf06add rax, 2
0020cf0amov [rdx], 0
0020cf10ret
0020cf11nop [rax]
0020cf18mov [rdx], 0
0020cf1eadd rax, 2
0020cf22ret
0020cf23nop [rax+rax]
0020cf28mov [rsi], 8
0020cf2eadd rax, 2
0020cf32mov [rdx], 0
0020cf38ret
0020cf39nop [rax]
0020cf40mov [rsi], 2
0020cf46add rax, 2
0020cf4amov [rdx], 0
0020cf50ret
0020cea0
0020cf51
0020cf51 // align 0x10
0020cf51 // align 0x10
0020cf60
0020cf60fn_20cf60:
0020cf60mov eax, [rsi+8]
0020cf63cmp [rdi+8], eax
0020cf66setg al
0020cf69setl dl
0020cf6cmovzx edx, dl
0020cf6fmovzx eax, al
0020cf72sub eax, edx
0020cf74ret
0020cf75db 0xc0
0020cf76sub eax, edx
0020cf78ret
0020cf60
0020cf60fn_20cf60:
0020cf60mov eax, [rsi+8]
0020cf63cmp [rdi+8], eax
0020cf66setg al
0020cf69setl dl
0020cf6cmovzx edx, dl
0020cf6fmovzx eax, al
0020cf72sub eax, edx
0020cf74ret
0020cf75db 0xc0
0020cf76sub eax, edx
0020cf78ret
0020cf60
0020cf79
0020cf79 // align 0x10
0020cf79 // align 0x10
0020cf80
0020cf80fn_20cf80:
0020cf80movsxd rax, [rdi+8]
0020cf84ret
0020cf85db 0x63
0020cf86or r11b, r8b
0020cf80
0020cf80fn_20cf80:
0020cf80movsxd rax, [rdi+8]
0020cf84ret
0020cf85db 0x63
0020cf86or r11b, r8b
0020cf80
0020cf89
0020cf89 // align 0x10
0020cf89 // align 0x10
0020cf90
0020cf90fn_20cf90:
0020cf90mov rax, [rsi+8]
0020cf94cmp [rdi+8], rax
0020cf98setg al
0020cf9bsetl dl
0020cf9emovzx edx, dl
0020cfa1movzx eax, al
0020cfa4sub eax, edx
0020cfa6ret
0020cfa7db 0xc0
0020cfa8sub eax, edx
0020cfaaret
0020cf90
0020cf90fn_20cf90:
0020cf90mov rax, [rsi+8]
0020cf94cmp [rdi+8], rax
0020cf98setg al
0020cf9bsetl dl
0020cf9emovzx edx, dl
0020cfa1movzx eax, al
0020cfa4sub eax, edx
0020cfa6ret
0020cfa7db 0xc0
0020cfa8sub eax, edx
0020cfaaret
0020cf90
0020cfab
0020cfab // align 0x10
0020cfab // align 0x10
0020cfb0
0020cfb0fn_20cfb0:
0020cfb0mov rdx, [rdi+8]
0020cfb4mov rax, rdx
0020cfb7sar rax, 32
0020cfbbxor eax, edx
0020cfbdret
0020cfbedb 0x20
0020cfbfxor eax, edx
0020cfc1ret
0020cfb0
0020cfb0fn_20cfb0:
0020cfb0mov rdx, [rdi+8]
0020cfb4mov rax, rdx
0020cfb7sar rax, 32
0020cfbbxor eax, edx
0020cfbdret
0020cfbedb 0x20
0020cfbfxor eax, edx
0020cfc1ret
0020cfb0
0020cfc2
0020cfc2 // align 0x10
0020cfc2 // align 0x10
0020cfd0
0020cfd0fn_20cfd0:
0020cfd0mov rdx, [rdi+8]
0020cfd4mov rax, rdx
0020cfd7mov rcx, rdx
0020cfdasar rax, 32
0020cfdesar rcx, 63
0020cfe2xor rax, rcx
0020cfe5xor rax, rdx
0020cfe8ret
0020cfe9db 0x48
0020cfeaxor eax, edx
0020cfecret
0020cfd0
0020cfd0fn_20cfd0:
0020cfd0mov rdx, [rdi+8]
0020cfd4mov rax, rdx
0020cfd7mov rcx, rdx
0020cfdasar rax, 32
0020cfdesar rcx, 63
0020cfe2xor rax, rcx
0020cfe5xor rax, rdx
0020cfe8ret
0020cfe9db 0x48
0020cfeaxor eax, edx
0020cfecret
0020cfd0
0020cfed
0020cfed // align 0x10
0020cfed // align 0x10
0020cff0
0020cff0fn_20cff0:
0020cff0push r14
0020cff2mov r14, rdx
0020cff5push r13
0020cff7mov r13, rdi
0020cffapush r12
0020cffcmov r12, rsi
0020cfffpush rbp
0020d000push rbx
0020d001call caml_string_length
0020d006mov rdi, r12
0020d009mov rbp, rax
0020d00ccall fn_f43a0
0020d011mov rbx, rax
0020d014lea rax, [rbp+rax+1]
0020d019cmp rax, 31
0020d01dja 0x20d07c
0020d01fmov rdx, rbp
0020d022mov rdi, r14
0020d025mov rsi, r13
0020d028call fn_f4520
0020d02dlea rdi, [r14+rbp-1]
0020d032movzx eax, [rdi-1]
0020d036movzx ebp, [rdi]
0020d039lea ecx, [rax-76]
0020d03ccmp cl, 34
0020d03fja 0x20d059
0020d041mov rax, 0x500000001
0020d04bshr rax, cl
0020d04eand eax, 1
0020d051cmp rax, 1
0020d055adc rdi, -1
0020d059
0020d059loc_20d059:
0020d059mov rdx, rbx
0020d05cmov rsi, r12
0020d05fcall fn_f4520
0020d064mov rdi, rax
0020d067mov eax, ebp
0020d069add rdi, rbx
0020d06cmov [rdi], bpl
0020d06fmov [rdi+1], 0
0020d073pop rbx
0020d074pop rbp
0020d075pop r12
0020d077pop r13
0020d079pop r14
0020d07bret
0020d07c
0020d07cloc_20d07c:
0020d07clea rdi, [rip+0x21fbb]
0020d083call caml_invalid_argument
0020cff0
0020cff0fn_20cff0:
0020cff0push r14
0020cff2mov r14, rdx
0020cff5push r13
0020cff7mov r13, rdi
0020cffapush r12
0020cffcmov r12, rsi
0020cfffpush rbp
0020d000push rbx
0020d001call caml_string_length
0020d006mov rdi, r12
0020d009mov rbp, rax
0020d00ccall fn_f43a0
0020d011mov rbx, rax
0020d014lea rax, [rbp+rax+1]
0020d019cmp rax, 31
0020d01dja 0x20d07c
0020d01fmov rdx, rbp
0020d022mov rdi, r14
0020d025mov rsi, r13
0020d028call fn_f4520
0020d02dlea rdi, [r14+rbp-1]
0020d032movzx eax, [rdi-1]
0020d036movzx ebp, [rdi]
0020d039lea ecx, [rax-76]
0020d03ccmp cl, 34
0020d03fja 0x20d059
0020d041mov rax, 0x500000001
0020d04bshr rax, cl
0020d04eand eax, 1
0020d051cmp rax, 1
0020d055adc rdi, -1
0020d059
0020d059loc_20d059:
0020d059mov rdx, rbx
0020d05cmov rsi, r12
0020d05fcall fn_f4520
0020d064mov rdi, rax
0020d067mov eax, ebp
0020d069add rdi, rbx
0020d06cmov [rdi], bpl
0020d06fmov [rdi+1], 0
0020d073pop rbx
0020d074pop rbp
0020d075pop r12
0020d077pop r13
0020d079pop r14
0020d07bret
0020d07c
0020d07cloc_20d07c:
0020d07clea rdi, [rip+0x21fbb]
0020d083call caml_invalid_argument
0020cff0
0020d088
0020d088 // align 0x10
0020d088 // align 0x10
0020d090
0020d090fn_20d090:
0020d090push rbx
0020d091mov rbx, rdi
0020d094call caml_deserialize_sint_4
0020d099mov [rbx], eax
0020d09bmov eax, 4
0020d0a0pop rbx
0020d0a1ret
0020d0a2db 0x00
0020d0a3add [rbx-61], bl
0020d090
0020d090fn_20d090:
0020d090push rbx
0020d091mov rbx, rdi
0020d094call caml_deserialize_sint_4
0020d099mov [rbx], eax
0020d09bmov eax, 4
0020d0a0pop rbx
0020d0a1ret
0020d0a2db 0x00
0020d0a3add [rbx-61], bl
0020d090
0020d0a6
0020d0a6 // align 0x10
0020d0a6 // align 0x10
0020d0b0
0020d0b0fn_20d0b0:
0020d0b0push rbp
0020d0b1mov rbp, rdx
0020d0b4push rbx
0020d0b5mov rbx, rsi
0020d0b8sub rsp, 8
0020d0bcmov edi, [rdi+8]
0020d0bfcall caml_serialize_int_4
0020d0c4mov [rbp], 4
0020d0ccmov [rbx], 4
0020d0d3add rsp, 8
0020d0d7pop rbx
0020d0d8pop rbp
0020d0d9ret
0020d0dadb 0x08
0020d0dbpop rbx
0020d0dcpop rbp
0020d0ddret
0020d0b0
0020d0b0fn_20d0b0:
0020d0b0push rbp
0020d0b1mov rbp, rdx
0020d0b4push rbx
0020d0b5mov rbx, rsi
0020d0b8sub rsp, 8
0020d0bcmov edi, [rdi+8]
0020d0bfcall caml_serialize_int_4
0020d0c4mov [rbp], 4
0020d0ccmov [rbx], 4
0020d0d3add rsp, 8
0020d0d7pop rbx
0020d0d8pop rbp
0020d0d9ret
0020d0dadb 0x08
0020d0dbpop rbx
0020d0dcpop rbp
0020d0ddret
0020d0b0
0020d0de
0020d0de // align 0x10
0020d0de // align 0x10
0020d0e0
0020d0e0fn_20d0e0:
0020d0e0push rbx
0020d0e1mov rbx, rdi
0020d0e4call caml_deserialize_sint_8
0020d0e9mov [rbx], rax
0020d0ecmov eax, 8
0020d0f1pop rbx
0020d0f2ret
0020d0f3db 0x00
0020d0f4add [rbx-61], bl
0020d0e0
0020d0e0fn_20d0e0:
0020d0e0push rbx
0020d0e1mov rbx, rdi
0020d0e4call caml_deserialize_sint_8
0020d0e9mov [rbx], rax
0020d0ecmov eax, 8
0020d0f1pop rbx
0020d0f2ret
0020d0f3db 0x00
0020d0f4add [rbx-61], bl
0020d0e0
0020d0f7
0020d0f7 // align 0x10
0020d0f7 // align 0x10
0020d100
0020d100fn_20d100:
0020d100push rbp
0020d101mov rbp, rdx
0020d104push rbx
0020d105mov rbx, rsi
0020d108sub rsp, 8
0020d10cmov rdi, [rdi+8]
0020d110call caml_serialize_int_8
0020d115mov [rbp], 8
0020d11dmov [rbx], 8
0020d124add rsp, 8
0020d128pop rbx
0020d129pop rbp
0020d12aret
0020d12bdb 0x08
0020d12cpop rbx
0020d12dpop rbp
0020d12eret
0020d100
0020d100fn_20d100:
0020d100push rbp
0020d101mov rbp, rdx
0020d104push rbx
0020d105mov rbx, rsi
0020d108sub rsp, 8
0020d10cmov rdi, [rdi+8]
0020d110call caml_serialize_int_8
0020d115mov [rbp], 8
0020d11dmov [rbx], 8
0020d124add rsp, 8
0020d128pop rbx
0020d129pop rbp
0020d12aret
0020d12bdb 0x08
0020d12cpop rbx
0020d12dpop rbp
0020d12eret
0020d100
0020d12f
0020d12f // align 0x10
0020d12f // align 0x10
0020d130
0020d130fn_20d130:
0020d130push rbx
0020d131mov rbx, rdi
0020d134call caml_deserialize_uint_1
0020d139cmp eax, 1
0020d13cje 0x20d160
0020d13ecmp eax, 2
0020d141jne 0x20d171
0020d143call caml_deserialize_sint_8
0020d148mov [rbx], rax
0020d14bmov eax, 8
0020d150pop rbx
0020d151ret
0020d152db 0x00
0020d153add [rbx-61], bl
0020d156
0020d156 66 2e 0f 1f 84 00 00 00 00 00 f.........
0020d160
0020d160loc_20d160:
0020d160call caml_deserialize_sint_4
0020d165cdqe
0020d167mov [rbx], rax
0020d16amov eax, 8
0020d16fpop rbx
0020d170ret
0020d171
0020d171loc_20d171:
0020d171lea rdi, [rip+0x236b8]
0020d178call caml_deserialize_error
0020d130
0020d130fn_20d130:
0020d130push rbx
0020d131mov rbx, rdi
0020d134call caml_deserialize_uint_1
0020d139cmp eax, 1
0020d13cje 0x20d160
0020d13ecmp eax, 2
0020d141jne 0x20d171
0020d143call caml_deserialize_sint_8
0020d148mov [rbx], rax
0020d14bmov eax, 8
0020d150pop rbx
0020d151ret
0020d152db 0x00
0020d153add [rbx-61], bl
0020d156
0020d156 66 2e 0f 1f 84 00 00 00 00 00 f.........
0020d160
0020d160loc_20d160:
0020d160call caml_deserialize_sint_4
0020d165cdqe
0020d167mov [rbx], rax
0020d16amov eax, 8
0020d16fpop rbx
0020d170ret
0020d171
0020d171loc_20d171:
0020d171lea rdi, [rip+0x236b8]
0020d178call caml_deserialize_error
0020d130
0020d17d
0020d17d // align 0x10
0020d17d // align 0x10
0020d180
0020d180fn_20d180:
0020d180push r12
0020d182mov eax, 0xffffffff80000000
0020d187push rbp
0020d188mov rbp, rsi
0020d18bpush rbx
0020d18cmov r12, [rdi+8]
0020d190mov rbx, rdx
0020d193add rax, r12
0020d196shr rax, 32
0020d19ajne 0x20d1d0
0020d19cmov edi, 1
0020d1a1call caml_serialize_int_1
0020d1a6mov edi, r12l
0020d1a9call caml_serialize_int_4
0020d1aemov [rbp], 4
0020d1b6mov [rbx], 8
0020d1bdpop rbx
0020d1bepop rbp
0020d1bfpop r12
0020d1c1ret
0020d1c2db 0x5d
0020d1c3pop r12
0020d1c5ret
0020d1c6
0020d1c6 66 2e 0f 1f 84 00 00 00 00 00 f.........
0020d1d0
0020d1d0loc_20d1d0:
0020d1d0mov edi, 2
0020d1d5call caml_serialize_int_1
0020d1damov rdi, r12
0020d1ddcall caml_serialize_int_8
0020d1e2jmp 0x20d1b2
0020d180
0020d180fn_20d180:
0020d180push r12
0020d182mov eax, 0xffffffff80000000
0020d187push rbp
0020d188mov rbp, rsi
0020d18bpush rbx
0020d18cmov r12, [rdi+8]
0020d190mov rbx, rdx
0020d193add rax, r12
0020d196shr rax, 32
0020d19ajne 0x20d1d0
0020d19cmov edi, 1
0020d1a1call caml_serialize_int_1
0020d1a6mov edi, r12l
0020d1a9call caml_serialize_int_4
0020d1aemov [rbp], 4
0020d1b6mov [rbx], 8
0020d1bdpop rbx
0020d1bepop rbp
0020d1bfpop r12
0020d1c1ret
0020d1c2db 0x5d
0020d1c3pop r12
0020d1c5ret
0020d1c6
0020d1c6 66 2e 0f 1f 84 00 00 00 00 00 f.........
0020d1d0
0020d1d0loc_20d1d0:
0020d1d0mov edi, 2
0020d1d5call caml_serialize_int_1
0020d1damov rdi, r12
0020d1ddcall caml_serialize_int_8
0020d1e2jmp 0x20d1b2
0020d180
0020d1e4
0020d1e4 // align 0x10
0020d1e4 // align 0x10
0020d1f0
0020d1f0fn_20d1f0:
0020d1f0mov rax, [rsi+8]
0020d1f4cmp [rdi+8], rax
0020d1f8setg al
0020d1fbsetl dl
0020d1femovzx edx, dl
0020d201movzx eax, al
0020d204sub eax, edx
0020d206ret
0020d207db 0xc0
0020d208sub eax, edx
0020d20aret
0020d1f0
0020d1f0fn_20d1f0:
0020d1f0mov rax, [rsi+8]
0020d1f4cmp [rdi+8], rax
0020d1f8setg al
0020d1fbsetl dl
0020d1femovzx edx, dl
0020d201movzx eax, al
0020d204sub eax, edx
0020d206ret
0020d207db 0xc0
0020d208sub eax, edx
0020d20aret
0020d1f0
0020d20b
0020d20b // align 0x10
0020d20b // align 0x10
0020d210
0020d210fn_20d210:
0020d210push r14
0020d212push r13
0020d214push r12
0020d216push rbp
0020d217mov ebp, esi
0020d219push rbx
0020d21amov rbx, rdi
0020d21dsub rsp, 32
0020d221mov r12, [0x28]
0020d22amov [rsp+24], r12
0020d22fmov r12, rdx
0020d232lea rcx, [rsp+12]
0020d237lea rdx, [rsp+20]
0020d23clea rsi, [rsp+16]
0020d241call fn_20cea0
0020d246movsxd rcx, [rsp+16]
0020d24bmovzx edx, [rax]
0020d24emov rdi, rcx
0020d251movsx r13l, dl
0020d255lea esi, [rdx-48]
0020d258sub r13l, 48
0020d25ccmp sil, 9
0020d260jbe 0x20d288
0020d262movsx r13l, dl
0020d266lea esi, [rdx-65]
0020d269sub r13l, 55
0020d26dcmp sil, 5
0020d271jbe 0x20d288
0020d273lea esi, [rdx-97]
0020d276cmp sil, 5
0020d27aja 0x20d368
0020d280movsx r13l, dl
0020d284sub r13l, 87
0020d288
0020d288loc_20d288:
0020d288cmp edi, r13l
0020d28bjle 0x20d368
0020d291lea r14, [rax+1]
0020d295movsxd r13, r13l
0020d298jmp 0x20d2d8
0020d29a
0020d29a 66 0f 1f 44 00 00 f..D..
0020d2a0
0020d2a0loc_20d2a0:
0020d2a0lea eax, [rsi-65]
0020d2a3cmp al, 5
0020d2a5jbe 0x20d348
0020d2ablea eax, [rsi-97]
0020d2aecmp al, 5
0020d2b0ja 0x20d2f0
0020d2b2sub esi, 87
0020d2b5
0020d2b5loc_20d2b5:
0020d2b5cmp edi, esi
0020d2b7jle 0x20d2f0
0020d2b9
0020d2b9loc_20d2b9:
0020d2b9mov rax, r13
0020d2bcmul rcx
0020d2bfmov r13, rax
0020d2c2jo 0x20d368
0020d2c8movsxd rsi, esi
0020d2cbadd r13, rsi
0020d2cejb 0x20d368
0020d2d4
0020d2d4loc_20d2d4:
0020d2d4add r14, 1
0020d2d8
0020d2d8loc_20d2d8:
0020d2d8movsx esi, [r14]
0020d2dccmp sil, 95
0020d2e0je 0x20d2d4
0020d2e2lea eax, [rsi-48]
0020d2e5cmp al, 9
0020d2e7ja 0x20d2a0
0020d2e9sub esi, 48
0020d2eccmp edi, esi
0020d2eejg 0x20d2b9
0020d2f0
0020d2f0loc_20d2f0:
0020d2f0mov rdi, rbx
0020d2f3call caml_string_length
0020d2f8add rbx, rax
0020d2fbcmp r14, rbx
0020d2fejne 0x20d368
0020d300mov ecx, [rsp+20]
0020d304test ecx, ecx
0020d306jne 0x20d350
0020d308cmp ebp, 63
0020d30bja 0x20d31c
0020d30dmov eax, 1
0020d312mov ecx, ebp
0020d314shl rax, cl
0020d317cmp r13, rax
0020d31ajae 0x20d368
0020d31c
0020d31cloc_20d31c:
0020d31cmov eax, [rsp+12]
0020d320test eax, eax
0020d322js 0x20d375
0020d324
0020d324loc_20d324:
0020d324mov rax, r13
0020d327
0020d327loc_20d327:
0020d327mov rdx, [rsp+24]
0020d32csub rdx, [0x28]
0020d335jne 0x20d37d
0020d337add rsp, 32
0020d33bpop rbx
0020d33cpop rbp
0020d33dpop r12
0020d33fpop r13
0020d341pop r14
0020d343ret
0020d344
0020d344 0f 1f 40 00 ..@.
0020d348
0020d348loc_20d348:
0020d348sub esi, 55
0020d34bjmp 0x20d2b5
0020d350
0020d350loc_20d350:
0020d350mov edx, [rsp+12]
0020d354lea ecx, [rbp-1]
0020d357mov eax, 1
0020d35cshl rax, cl
0020d35ftest edx, edx
0020d361js 0x20d370
0020d363cmp r13, rax
0020d366jb 0x20d324
0020d368
0020d368loc_20d368:
0020d368mov rdi, r12
0020d36bcall caml_failwith
0020d370
0020d370loc_20d370:
0020d370cmp rax, r13
0020d373jb 0x20d368
0020d375
0020d375loc_20d375:
0020d375mov rax, r13
0020d378neg rax
0020d37bjmp 0x20d327
0020d37d
0020d37dloc_20d37d:
0020d37dcall fn_f4590
0020d210
0020d210fn_20d210:
0020d210push r14
0020d212push r13
0020d214push r12
0020d216push rbp
0020d217mov ebp, esi
0020d219push rbx
0020d21amov rbx, rdi
0020d21dsub rsp, 32
0020d221mov r12, [0x28]
0020d22amov [rsp+24], r12
0020d22fmov r12, rdx
0020d232lea rcx, [rsp+12]
0020d237lea rdx, [rsp+20]
0020d23clea rsi, [rsp+16]
0020d241call fn_20cea0
0020d246movsxd rcx, [rsp+16]
0020d24bmovzx edx, [rax]
0020d24emov rdi, rcx
0020d251movsx r13l, dl
0020d255lea esi, [rdx-48]
0020d258sub r13l, 48
0020d25ccmp sil, 9
0020d260jbe 0x20d288
0020d262movsx r13l, dl
0020d266lea esi, [rdx-65]
0020d269sub r13l, 55
0020d26dcmp sil, 5
0020d271jbe 0x20d288
0020d273lea esi, [rdx-97]
0020d276cmp sil, 5
0020d27aja 0x20d368
0020d280movsx r13l, dl
0020d284sub r13l, 87
0020d288
0020d288loc_20d288:
0020d288cmp edi, r13l
0020d28bjle 0x20d368
0020d291lea r14, [rax+1]
0020d295movsxd r13, r13l
0020d298jmp 0x20d2d8
0020d29a
0020d29a 66 0f 1f 44 00 00 f..D..
0020d2a0
0020d2a0loc_20d2a0:
0020d2a0lea eax, [rsi-65]
0020d2a3cmp al, 5
0020d2a5jbe 0x20d348
0020d2ablea eax, [rsi-97]
0020d2aecmp al, 5
0020d2b0ja 0x20d2f0
0020d2b2sub esi, 87
0020d2b5
0020d2b5loc_20d2b5:
0020d2b5cmp edi, esi
0020d2b7jle 0x20d2f0
0020d2b9
0020d2b9loc_20d2b9:
0020d2b9mov rax, r13
0020d2bcmul rcx
0020d2bfmov r13, rax
0020d2c2jo 0x20d368
0020d2c8movsxd rsi, esi
0020d2cbadd r13, rsi
0020d2cejb 0x20d368
0020d2d4
0020d2d4loc_20d2d4:
0020d2d4add r14, 1
0020d2d8
0020d2d8loc_20d2d8:
0020d2d8movsx esi, [r14]
0020d2dccmp sil, 95
0020d2e0je 0x20d2d4
0020d2e2lea eax, [rsi-48]
0020d2e5cmp al, 9
0020d2e7ja 0x20d2a0
0020d2e9sub esi, 48
0020d2eccmp edi, esi
0020d2eejg 0x20d2b9
0020d2f0
0020d2f0loc_20d2f0:
0020d2f0mov rdi, rbx
0020d2f3call caml_string_length
0020d2f8add rbx, rax
0020d2fbcmp r14, rbx
0020d2fejne 0x20d368
0020d300mov ecx, [rsp+20]
0020d304test ecx, ecx
0020d306jne 0x20d350
0020d308cmp ebp, 63
0020d30bja 0x20d31c
0020d30dmov eax, 1
0020d312mov ecx, ebp
0020d314shl rax, cl
0020d317cmp r13, rax
0020d31ajae 0x20d368
0020d31c
0020d31cloc_20d31c:
0020d31cmov eax, [rsp+12]
0020d320test eax, eax
0020d322js 0x20d375
0020d324
0020d324loc_20d324:
0020d324mov rax, r13
0020d327
0020d327loc_20d327:
0020d327mov rdx, [rsp+24]
0020d32csub rdx, [0x28]
0020d335jne 0x20d37d
0020d337add rsp, 32
0020d33bpop rbx
0020d33cpop rbp
0020d33dpop r12
0020d33fpop r13
0020d341pop r14
0020d343ret
0020d344
0020d344 0f 1f 40 00 ..@.
0020d348
0020d348loc_20d348:
0020d348sub esi, 55
0020d34bjmp 0x20d2b5
0020d350
0020d350loc_20d350:
0020d350mov edx, [rsp+12]
0020d354lea ecx, [rbp-1]
0020d357mov eax, 1
0020d35cshl rax, cl
0020d35ftest edx, edx
0020d361js 0x20d370
0020d363cmp r13, rax
0020d366jb 0x20d324
0020d368
0020d368loc_20d368:
0020d368mov rdi, r12
0020d36bcall caml_failwith
0020d370
0020d370loc_20d370:
0020d370cmp rax, r13
0020d373jb 0x20d368
0020d375
0020d375loc_20d375:
0020d375mov rax, r13
0020d378neg rax
0020d37bjmp 0x20d327
0020d37d
0020d37dloc_20d37d:
0020d37dcall fn_f4590
0020d210
0020d382
0020d382 // align 0x10
0020d382 // align 0x10
0020d390
0020d390caml_bswap16_direct:
0020d390movzx eax, di
0020d393bswap rax
0020d396rol rax, 16
0020d39aret
0020d39bdb 0xc1
0020d39crcl [rax], -61
0020d390
0020d390caml_bswap16_direct:
0020d390movzx eax, di
0020d393bswap rax
0020d396rol rax, 16
0020d39aret
0020d39bdb 0xc1
0020d39crcl [rax], -61
0020d390
0020d39f
0020d39f // align 0x10
0020d39f // align 0x10
0020d3a0
0020d3a0caml_bswap16:
0020d3a0sar rdi, 1
0020d3a3movzx edi, di
0020d3a6bswap rdi
0020d3a9rol rdi, 16
0020d3adlea rax, [rdi+rdi+1]
0020d3b2ret
0020d3b3db 0x44
0020d3b4db 0x3f
0020d3b5add ebx, eax
0020d3a0
0020d3a0caml_bswap16:
0020d3a0sar rdi, 1
0020d3a3movzx edi, di
0020d3a6bswap rdi
0020d3a9rol rdi, 16
0020d3adlea rax, [rdi+rdi+1]
0020d3b2ret
0020d3b3db 0x44
0020d3b4db 0x3f
0020d3b5add ebx, eax
0020d3a0
0020d3b7
0020d3b7 // align 0x10
0020d3b7 // align 0x10
0020d3c0
0020d3c0caml_int_compare:
0020d3c0xor eax, eax
0020d3c2cmp rdi, rsi
0020d3c5setl dl
0020d3c8setg al
0020d3cbmovzx edx, dl
0020d3cesub rax, rdx
0020d3d1lea rax, [rax+rax+1]
0020d3d6ret
0020d3d7db 0x44
0020d3d8add [rcx], al
0020d3daret
0020d3c0
0020d3c0caml_int_compare:
0020d3c0xor eax, eax
0020d3c2cmp rdi, rsi
0020d3c5setl dl
0020d3c8setg al
0020d3cbmovzx edx, dl
0020d3cesub rax, rdx
0020d3d1lea rax, [rax+rax+1]
0020d3d6ret
0020d3d7db 0x44
0020d3d8add [rcx], al
0020d3daret
0020d3c0
0020d3db
0020d3db // align 0x10
0020d3db // align 0x10
0020d3e0
0020d3e0caml_int_of_string:
0020d3e0sub rsp, 8
0020d3e4lea rdx, [rip+0x21c6b]
0020d3ebmov esi, 63
0020d3f0call fn_20d210
0020d3f5add rsp, 8
0020d3f9lea rax, [rax+rax+1]
0020d3feret
0020d3ffdb 0x44
0020d400add [rcx], al
0020d402ret
0020d3e0
0020d3e0caml_int_of_string:
0020d3e0sub rsp, 8
0020d3e4lea rdx, [rip+0x21c6b]
0020d3ebmov esi, 63
0020d3f0call fn_20d210
0020d3f5add rsp, 8
0020d3f9lea rax, [rax+rax+1]
0020d3feret
0020d3ffdb 0x44
0020d400add [rcx], al
0020d402ret
0020d3e0
0020d403
0020d403 // align 0x10
0020d403 // align 0x10
0020d410
0020d410caml_format_int:
0020d410push rbp
0020d411push rbx
0020d412sub rsp, 56
0020d416mov rbx, [0x28]
0020d41fmov [rsp+40], rbx
0020d424mov rbx, rsi
0020d427mov rdx, rsp
0020d42alea rsi, [rip+0x2212a]
0020d431mov rbp, rsp
0020d434call fn_20cff0
0020d439sub eax, 88
0020d43ccmp al, 32
0020d43eja 0x20d480
0020d440mov rdx, 0x120800001
0020d44abt rdx, rax
0020d44ejae 0x20d480
0020d450shr rbx, 1
0020d453mov rdi, rsp
0020d456xor eax, eax
0020d458mov rsi, rbx
0020d45bcall caml_alloc_sprintf
0020d460mov rdx, [rsp+40]
0020d465sub rdx, [0x28]
0020d46ejne 0x20d492
0020d470add rsp, 56
0020d474pop rbx
0020d475pop rbp
0020d476ret
0020d477db 0x38
0020d478pop rbx
0020d479pop rbp
0020d47aret
0020d47b
0020d47b 0f 1f 44 00 00 ..D..
0020d480
0020d480loc_20d480:
0020d480sar rbx, 1
0020d483mov rdi, rbp
0020d486xor eax, eax
0020d488mov rsi, rbx
0020d48bcall caml_alloc_sprintf
0020d490jmp 0x20d464
0020d492
0020d492loc_20d492:
0020d492call fn_f4590
0020d410
0020d410caml_format_int:
0020d410push rbp
0020d411push rbx
0020d412sub rsp, 56
0020d416mov rbx, [0x28]
0020d41fmov [rsp+40], rbx
0020d424mov rbx, rsi
0020d427mov rdx, rsp
0020d42alea rsi, [rip+0x2212a]
0020d431mov rbp, rsp
0020d434call fn_20cff0
0020d439sub eax, 88
0020d43ccmp al, 32
0020d43eja 0x20d480
0020d440mov rdx, 0x120800001
0020d44abt rdx, rax
0020d44ejae 0x20d480
0020d450shr rbx, 1
0020d453mov rdi, rsp
0020d456xor eax, eax
0020d458mov rsi, rbx
0020d45bcall caml_alloc_sprintf
0020d460mov rdx, [rsp+40]
0020d465sub rdx, [0x28]
0020d46ejne 0x20d492
0020d470add rsp, 56
0020d474pop rbx
0020d475pop rbp
0020d476ret
0020d477db 0x38
0020d478pop rbx
0020d479pop rbp
0020d47aret
0020d47b
0020d47b 0f 1f 44 00 00 ..D..
0020d480
0020d480loc_20d480:
0020d480sar rbx, 1
0020d483mov rdi, rbp
0020d486xor eax, eax
0020d488mov rsi, rbx
0020d48bcall caml_alloc_sprintf
0020d490jmp 0x20d464
0020d492
0020d492loc_20d492:
0020d492call fn_f4590
0020d410
0020d497
0020d497 // align 0x10
0020d497 // align 0x10
0020d4a0
0020d4a0caml_copy_int32:
0020d4a0push rbx
0020d4a1mov ecx, 1
0020d4a6mov ebx, edi
0020d4a8xor edx, edx
0020d4aamov esi, 4
0020d4aflea rdi, [rip+0x68406]
0020d4b6call caml_alloc_custom
0020d4bbmov [rax+8], ebx
0020d4bepop rbx
0020d4bfret
0020d4c0db 0x58
0020d4c1or [rbx-61], bl
0020d4a0
0020d4a0caml_copy_int32:
0020d4a0push rbx
0020d4a1mov ecx, 1
0020d4a6mov ebx, edi
0020d4a8xor edx, edx
0020d4aamov esi, 4
0020d4aflea rdi, [rip+0x68406]
0020d4b6call caml_alloc_custom
0020d4bbmov [rax+8], ebx
0020d4bepop rbx
0020d4bfret
0020d4c0db 0x58
0020d4c1or [rbx-61], bl
0020d4a0
0020d4c4
0020d4c4 // align 0x10
0020d4c4 // align 0x10
0020d4d0
0020d4d0caml_int32_neg:
0020d4d0push rbx
0020d4d1mov ebx, [rdi+8]
0020d4d4mov ecx, 1
0020d4d9xor edx, edx
0020d4dbmov esi, 4
0020d4e0lea rdi, [rip+0x683d5]
0020d4e7neg ebx
0020d4e9call caml_alloc_custom
0020d4eemov [rax+8], ebx
0020d4f1pop rbx
0020d4f2ret
0020d4f3db 0x58
0020d4f4or [rbx-61], bl
0020d4d0
0020d4d0caml_int32_neg:
0020d4d0push rbx
0020d4d1mov ebx, [rdi+8]
0020d4d4mov ecx, 1
0020d4d9xor edx, edx
0020d4dbmov esi, 4
0020d4e0lea rdi, [rip+0x683d5]
0020d4e7neg ebx
0020d4e9call caml_alloc_custom
0020d4eemov [rax+8], ebx
0020d4f1pop rbx
0020d4f2ret
0020d4f3db 0x58
0020d4f4or [rbx-61], bl
0020d4d0
0020d4f7
0020d4f7 // align 0x10
0020d4f7 // align 0x10
0020d500
0020d500caml_int32_add:
0020d500push rbx
0020d501mov ecx, 1
0020d506mov ebx, [rsi+8]
0020d509xor edx, edx
0020d50badd ebx, [rdi+8]
0020d50emov esi, 4
0020d513lea rdi, [rip+0x683a2]
0020d51acall caml_alloc_custom
0020d51fmov [rax+8], ebx
0020d522pop rbx
0020d523ret
0020d524db 0x58
0020d525or [rbx-61], bl
0020d500
0020d500caml_int32_add:
0020d500push rbx
0020d501mov ecx, 1
0020d506mov ebx, [rsi+8]
0020d509xor edx, edx
0020d50badd ebx, [rdi+8]
0020d50emov esi, 4
0020d513lea rdi, [rip+0x683a2]
0020d51acall caml_alloc_custom
0020d51fmov [rax+8], ebx
0020d522pop rbx
0020d523ret
0020d524db 0x58
0020d525or [rbx-61], bl
0020d500
0020d528
0020d528 // align 0x10
0020d528 // align 0x10
0020d530
0020d530caml_int32_sub:
0020d530push rbx
0020d531mov ecx, 1
0020d536mov ebx, [rdi+8]
0020d539xor edx, edx
0020d53bsub ebx, [rsi+8]
0020d53elea rdi, [rip+0x68377]
0020d545mov esi, 4
0020d54acall caml_alloc_custom
0020d54fmov [rax+8], ebx
0020d552pop rbx
0020d553ret
0020d554db 0x58
0020d555or [rbx-61], bl
0020d530
0020d530caml_int32_sub:
0020d530push rbx
0020d531mov ecx, 1
0020d536mov ebx, [rdi+8]
0020d539xor edx, edx
0020d53bsub ebx, [rsi+8]
0020d53elea rdi, [rip+0x68377]
0020d545mov esi, 4
0020d54acall caml_alloc_custom
0020d54fmov [rax+8], ebx
0020d552pop rbx
0020d553ret
0020d554db 0x58
0020d555or [rbx-61], bl
0020d530
0020d558
0020d558 // align 0x10
0020d558 // align 0x10
0020d560
0020d560caml_int32_mul:
0020d560push rbx
0020d561mov ebx, [rdi+8]
0020d564mov ecx, 1
0020d569xor edx, edx
0020d56bimul ebx, [rsi+8]
0020d56flea rdi, [rip+0x68346]
0020d576mov esi, 4
0020d57bcall caml_alloc_custom
0020d580mov [rax+8], ebx
0020d583pop rbx
0020d584ret
0020d585db 0x58
0020d586or [rbx-61], bl
0020d560
0020d560caml_int32_mul:
0020d560push rbx
0020d561mov ebx, [rdi+8]
0020d564mov ecx, 1
0020d569xor edx, edx
0020d56bimul ebx, [rsi+8]
0020d56flea rdi, [rip+0x68346]
0020d576mov esi, 4
0020d57bcall caml_alloc_custom
0020d580mov [rax+8], ebx
0020d583pop rbx
0020d584ret
0020d585db 0x58
0020d586or [rbx-61], bl
0020d560
0020d589
0020d589 // align 0x10
0020d589 // align 0x10
0020d590
0020d590caml_int32_div:
0020d590push rbx
0020d591mov ecx, [rsi+8]
0020d594mov eax, [rdi+8]
0020d597test ecx, ecx
0020d599je 0x20d5d8
0020d59bcmp eax, 0xffffffff80000000
0020d5a0jne 0x20d5b0
0020d5a2cmp ecx, -1
0020d5a5jne 0x20d5b0
0020d5a7mov rax, rdi
0020d5aapop rbx
0020d5abret
0020d5accdq
0020d5adlea rdi, [rip+0x68308]
0020d5b4mov esi, 4
0020d5b9idiv ecx
0020d5bbmov ecx, 1
0020d5c0xor edx, edx
0020d5c2mov ebx, eax
0020d5c4call caml_alloc_custom
0020d5c9mov rdi, rax
0020d5ccmov [rax+8], ebx
0020d5cfpop rbx
0020d5d0mov rax, rdi
0020d5d3ret
0020d5d4call caml_raise_zero_divide
0020d5d9db 0xe3
0020d5daxchg eax, esp
0020d5dbdb 0xff
0020d5dcdb 0xff
0020d590
0020d590caml_int32_div:
0020d590push rbx
0020d591mov ecx, [rsi+8]
0020d594mov eax, [rdi+8]
0020d597test ecx, ecx
0020d599je 0x20d5d8
0020d59bcmp eax, 0xffffffff80000000
0020d5a0jne 0x20d5b0
0020d5a2cmp ecx, -1
0020d5a5jne 0x20d5b0
0020d5a7mov rax, rdi
0020d5aapop rbx
0020d5abret
0020d5accdq
0020d5adlea rdi, [rip+0x68308]
0020d5b4mov esi, 4
0020d5b9idiv ecx
0020d5bbmov ecx, 1
0020d5c0xor edx, edx
0020d5c2mov ebx, eax
0020d5c4call caml_alloc_custom
0020d5c9mov rdi, rax
0020d5ccmov [rax+8], ebx
0020d5cfpop rbx
0020d5d0mov rax, rdi
0020d5d3ret
0020d5d4call caml_raise_zero_divide
0020d5d9db 0xe3
0020d5daxchg eax, esp
0020d5dbdb 0xff
0020d5dcdb 0xff
0020d590
0020d5dd
0020d5dd // align 0x10
0020d5dd // align 0x10
0020d5e0
0020d5e0caml_int32_mod:
0020d5e0push rbx
0020d5e1mov ecx, [rsi+8]
0020d5e4mov eax, [rdi+8]
0020d5e7test ecx, ecx
0020d5e9je 0x20d642
0020d5ebcmp eax, 0xffffffff80000000
0020d5f0jne 0x20d620
0020d5f2cmp ecx, -1
0020d5f5jne 0x20d620
0020d5f7mov ecx, 1
0020d5fcxor edx, edx
0020d5femov esi, 4
0020d603lea rdi, [rip+0x682b2]
0020d60acall caml_alloc_custom
0020d60fmov [rax+8], 0
0020d616pop rbx
0020d617ret
0020d618db 0x00
0020d619add [rbx-61], bl
0020d61c
0020d61c 0f 1f 40 00 ..@.
0020d620
0020d620loc_20d620:
0020d620cdq
0020d621mov esi, 4
0020d626lea rdi, [rip+0x68293]
0020d62didiv ecx
0020d62fmov ecx, 1
0020d634mov ebx, edx
0020d636xor edx, edx
0020d638call caml_alloc_custom
0020d63dmov [rax+8], ebx
0020d640pop rbx
0020d641ret
0020d642
0020d642loc_20d642:
0020d642call caml_raise_zero_divide
0020d5e0
0020d5e0caml_int32_mod:
0020d5e0push rbx
0020d5e1mov ecx, [rsi+8]
0020d5e4mov eax, [rdi+8]
0020d5e7test ecx, ecx
0020d5e9je 0x20d642
0020d5ebcmp eax, 0xffffffff80000000
0020d5f0jne 0x20d620
0020d5f2cmp ecx, -1
0020d5f5jne 0x20d620
0020d5f7mov ecx, 1
0020d5fcxor edx, edx
0020d5femov esi, 4
0020d603lea rdi, [rip+0x682b2]
0020d60acall caml_alloc_custom
0020d60fmov [rax+8], 0
0020d616pop rbx
0020d617ret
0020d618db 0x00
0020d619add [rbx-61], bl
0020d61c
0020d61c 0f 1f 40 00 ..@.
0020d620
0020d620loc_20d620:
0020d620cdq
0020d621mov esi, 4
0020d626lea rdi, [rip+0x68293]
0020d62didiv ecx
0020d62fmov ecx, 1
0020d634mov ebx, edx
0020d636xor edx, edx
0020d638call caml_alloc_custom
0020d63dmov [rax+8], ebx
0020d640pop rbx
0020d641ret
0020d642
0020d642loc_20d642:
0020d642call caml_raise_zero_divide
0020d5e0
0020d647
0020d647 // align 0x10
0020d647 // align 0x10
0020d650
0020d650caml_int32_and:
0020d650push rbx
0020d651mov ecx, 1
0020d656mov ebx, [rdi+8]
0020d659xor edx, edx
0020d65band ebx, [rsi+8]
0020d65elea rdi, [rip+0x68257]
0020d665mov esi, 4
0020d66acall caml_alloc_custom
0020d66fmov [rax+8], ebx
0020d672pop rbx
0020d673ret
0020d674db 0x58
0020d675or [rbx-61], bl
0020d650
0020d650caml_int32_and:
0020d650push rbx
0020d651mov ecx, 1
0020d656mov ebx, [rdi+8]
0020d659xor edx, edx
0020d65band ebx, [rsi+8]
0020d65elea rdi, [rip+0x68257]
0020d665mov esi, 4
0020d66acall caml_alloc_custom
0020d66fmov [rax+8], ebx
0020d672pop rbx
0020d673ret
0020d674db 0x58
0020d675or [rbx-61], bl
0020d650
0020d678
0020d678 // align 0x10
0020d678 // align 0x10
0020d680
0020d680caml_int32_or:
0020d680push rbx
0020d681mov ecx, 1
0020d686mov ebx, [rdi+8]
0020d689xor edx, edx
0020d68bor ebx, [rsi+8]
0020d68elea rdi, [rip+0x68227]
0020d695mov esi, 4
0020d69acall caml_alloc_custom
0020d69fmov [rax+8], ebx
0020d6a2pop rbx
0020d6a3ret
0020d6a4db 0x58
0020d6a5or [rbx-61], bl
0020d680
0020d680caml_int32_or:
0020d680push rbx
0020d681mov ecx, 1
0020d686mov ebx, [rdi+8]
0020d689xor edx, edx
0020d68bor ebx, [rsi+8]
0020d68elea rdi, [rip+0x68227]
0020d695mov esi, 4
0020d69acall caml_alloc_custom
0020d69fmov [rax+8], ebx
0020d6a2pop rbx
0020d6a3ret
0020d6a4db 0x58
0020d6a5or [rbx-61], bl
0020d680
0020d6a8
0020d6a8 // align 0x10
0020d6a8 // align 0x10
0020d6b0
0020d6b0caml_int32_xor:
0020d6b0push rbx
0020d6b1mov ecx, 1
0020d6b6mov ebx, [rdi+8]
0020d6b9xor edx, edx
0020d6bbxor ebx, [rsi+8]
0020d6belea rdi, [rip+0x681f7]
0020d6c5mov esi, 4
0020d6cacall caml_alloc_custom
0020d6cfmov [rax+8], ebx
0020d6d2pop rbx
0020d6d3ret
0020d6d4db 0x58
0020d6d5or [rbx-61], bl
0020d6b0
0020d6b0caml_int32_xor:
0020d6b0push rbx
0020d6b1mov ecx, 1
0020d6b6mov ebx, [rdi+8]
0020d6b9xor edx, edx
0020d6bbxor ebx, [rsi+8]
0020d6belea rdi, [rip+0x681f7]
0020d6c5mov esi, 4
0020d6cacall caml_alloc_custom
0020d6cfmov [rax+8], ebx
0020d6d2pop rbx
0020d6d3ret
0020d6d4db 0x58
0020d6d5or [rbx-61], bl
0020d6b0
0020d6d8
0020d6d8 // align 0x10
0020d6d8 // align 0x10
0020d6e0
0020d6e0caml_int32_shift_left:
0020d6e0push rbx
0020d6e1mov rcx, rsi
0020d6e4mov ebx, [rdi+8]
0020d6e7xor edx, edx
0020d6e9sar rcx, 1
0020d6ecmov esi, 4
0020d6f1lea rdi, [rip+0x681c4]
0020d6f8shl ebx, cl
0020d6famov ecx, 1
0020d6ffcall caml_alloc_custom
0020d704mov [rax+8], ebx
0020d707pop rbx
0020d708ret
0020d709db 0x58
0020d70aor [rbx-61], bl
0020d6e0
0020d6e0caml_int32_shift_left:
0020d6e0push rbx
0020d6e1mov rcx, rsi
0020d6e4mov ebx, [rdi+8]
0020d6e7xor edx, edx
0020d6e9sar rcx, 1
0020d6ecmov esi, 4
0020d6f1lea rdi, [rip+0x681c4]
0020d6f8shl ebx, cl
0020d6famov ecx, 1
0020d6ffcall caml_alloc_custom
0020d704mov [rax+8], ebx
0020d707pop rbx
0020d708ret
0020d709db 0x58
0020d70aor [rbx-61], bl
0020d6e0
0020d70d
0020d70d // align 0x10
0020d70d // align 0x10
0020d710
0020d710caml_int32_shift_right:
0020d710push rbx
0020d711mov rcx, rsi
0020d714mov ebx, [rdi+8]
0020d717xor edx, edx
0020d719sar rcx, 1
0020d71cmov esi, 4
0020d721lea rdi, [rip+0x68194]
0020d728sar ebx, cl
0020d72amov ecx, 1
0020d72fcall caml_alloc_custom
0020d734mov [rax+8], ebx
0020d737pop rbx
0020d738ret
0020d739db 0x58
0020d73aor [rbx-61], bl
0020d710
0020d710caml_int32_shift_right:
0020d710push rbx
0020d711mov rcx, rsi
0020d714mov ebx, [rdi+8]
0020d717xor edx, edx
0020d719sar rcx, 1
0020d71cmov esi, 4
0020d721lea rdi, [rip+0x68194]
0020d728sar ebx, cl
0020d72amov ecx, 1
0020d72fcall caml_alloc_custom
0020d734mov [rax+8], ebx
0020d737pop rbx
0020d738ret
0020d739db 0x58
0020d73aor [rbx-61], bl
0020d710
0020d73d
0020d73d // align 0x10
0020d73d // align 0x10
0020d740
0020d740caml_int32_shift_right_unsigned:
0020d740push rbx
0020d741mov rcx, rsi
0020d744mov ebx, [rdi+8]
0020d747xor edx, edx
0020d749sar rcx, 1
0020d74cmov esi, 4
0020d751lea rdi, [rip+0x68164]
0020d758shr ebx, cl
0020d75amov ecx, 1
0020d75fcall caml_alloc_custom
0020d764mov [rax+8], ebx
0020d767pop rbx
0020d768ret
0020d769db 0x58
0020d76aor [rbx-61], bl
0020d740
0020d740caml_int32_shift_right_unsigned:
0020d740push rbx
0020d741mov rcx, rsi
0020d744mov ebx, [rdi+8]
0020d747xor edx, edx
0020d749sar rcx, 1
0020d74cmov esi, 4
0020d751lea rdi, [rip+0x68164]
0020d758shr ebx, cl
0020d75amov ecx, 1
0020d75fcall caml_alloc_custom
0020d764mov [rax+8], ebx
0020d767pop rbx
0020d768ret
0020d769db 0x58
0020d76aor [rbx-61], bl
0020d740
0020d76d
0020d76d // align 0x10
0020d76d // align 0x10
0020d770
0020d770caml_int32_direct_bswap:
0020d770bswap edi
0020d772movsxd rax, edi
0020d775ret
0020d776db 0x48
0020d777movsxd rax, edi
0020d779ret
0020d770
0020d770caml_int32_direct_bswap:
0020d770bswap edi
0020d772movsxd rax, edi
0020d775ret
0020d776db 0x48
0020d777movsxd rax, edi
0020d779ret
0020d770
0020d77a
0020d77a // align 0x10
0020d77a // align 0x10
0020d780
0020d780caml_int32_bswap:
0020d780push rbx
0020d781mov ecx, 1
0020d786mov ebx, [rdi+8]
0020d789xor edx, edx
0020d78bmov esi, 4
0020d790lea rdi, [rip+0x68125]
0020d797bswap ebx
0020d799call caml_alloc_custom
0020d79emov [rax+8], ebx
0020d7a1pop rbx
0020d7a2ret
0020d7a3db 0x58
0020d7a4or [rbx-61], bl
0020d780
0020d780caml_int32_bswap:
0020d780push rbx
0020d781mov ecx, 1
0020d786mov ebx, [rdi+8]
0020d789xor edx, edx
0020d78bmov esi, 4
0020d790lea rdi, [rip+0x68125]
0020d797bswap ebx
0020d799call caml_alloc_custom
0020d79emov [rax+8], ebx
0020d7a1pop rbx
0020d7a2ret
0020d7a3db 0x58
0020d7a4or [rbx-61], bl
0020d780
0020d7a7
0020d7a7 // align 0x10
0020d7a7 // align 0x10
0020d7b0
0020d7b0caml_int32_of_int:
0020d7b0push rbx
0020d7b1mov ecx, 1
0020d7b6mov rbx, rdi
0020d7b9xor edx, edx
0020d7bbmov esi, 4
0020d7c0lea rdi, [rip+0x680f5]
0020d7c7sar rbx, 1
0020d7cacall caml_alloc_custom
0020d7cfmov [rax+8], ebx
0020d7d2pop rbx
0020d7d3ret
0020d7d4db 0x58
0020d7d5or [rbx-61], bl
0020d7b0
0020d7b0caml_int32_of_int:
0020d7b0push rbx
0020d7b1mov ecx, 1
0020d7b6mov rbx, rdi
0020d7b9xor edx, edx
0020d7bbmov esi, 4
0020d7c0lea rdi, [rip+0x680f5]
0020d7c7sar rbx, 1
0020d7cacall caml_alloc_custom
0020d7cfmov [rax+8], ebx
0020d7d2pop rbx
0020d7d3ret
0020d7d4db 0x58
0020d7d5or [rbx-61], bl
0020d7b0
0020d7d8
0020d7d8 // align 0x10
0020d7d8 // align 0x10
0020d7e0
0020d7e0caml_int32_to_int:
0020d7e0movsxd rax, [rdi+8]
0020d7e4lea rax, [rax+rax+1]
0020d7e9ret
0020d7eadb 0x44
0020d7ebadd [rcx], al
0020d7edret
0020d7e0
0020d7e0caml_int32_to_int:
0020d7e0movsxd rax, [rdi+8]
0020d7e4lea rax, [rax+rax+1]
0020d7e9ret
0020d7eadb 0x44
0020d7ebadd [rcx], al
0020d7edret
0020d7e0
0020d7ee
0020d7ee // align 0x10
0020d7ee // align 0x10
0020d7f0
0020d7f0caml_int32_of_float_unboxed:
0020d7f0cvttsd2si eax, x0
0020d7f4ret
0020d7f5db 0x0f
0020d7f6sub al, -64
0020d7f8ret
0020d7f0
0020d7f0caml_int32_of_float_unboxed:
0020d7f0cvttsd2si eax, x0
0020d7f4ret
0020d7f5db 0x0f
0020d7f6sub al, -64
0020d7f8ret
0020d7f0
0020d7f9
0020d7f9 // align 0x10
0020d7f9 // align 0x10
0020d800
0020d800caml_int32_of_float:
0020d800push rbx
0020d801cvttsd2si ebx, [rdi]
0020d805mov ecx, 1
0020d80axor edx, edx
0020d80cmov esi, 4
0020d811lea rdi, [rip+0x680a4]
0020d818call caml_alloc_custom
0020d81dmov [rax+8], ebx
0020d820pop rbx
0020d821ret
0020d822db 0x58
0020d823or [rbx-61], bl
0020d800
0020d800caml_int32_of_float:
0020d800push rbx
0020d801cvttsd2si ebx, [rdi]
0020d805mov ecx, 1
0020d80axor edx, edx
0020d80cmov esi, 4
0020d811lea rdi, [rip+0x680a4]
0020d818call caml_alloc_custom
0020d81dmov [rax+8], ebx
0020d820pop rbx
0020d821ret
0020d822db 0x58
0020d823or [rbx-61], bl
0020d800
0020d826
0020d826 // align 0x10
0020d826 // align 0x10
0020d830
0020d830caml_int32_to_float_unboxed:
0020d830pxor x0, x0
0020d834cvtsi2sd x0, edi
0020d838ret
0020d839db 0x0f
0020d83asub al, bh
0020d83cret
0020d830
0020d830caml_int32_to_float_unboxed:
0020d830pxor x0, x0
0020d834cvtsi2sd x0, edi
0020d838ret
0020d839db 0x0f
0020d83asub al, bh
0020d83cret
0020d830
0020d83d
0020d83d // align 0x10
0020d83d // align 0x10
0020d840
0020d840caml_int32_to_float:
0020d840pxor x0, x0
0020d844cvtsi2sd x0, [rdi+8]
0020d849jmp 0x2075f0
0020d84edb 0x9e
0020d84fpopf
0020d850db 0xff
0020d851db 0xff
0020d840
0020d840caml_int32_to_float:
0020d840pxor x0, x0
0020d844cvtsi2sd x0, [rdi+8]
0020d849jmp 0x2075f0
0020d84edb 0x9e
0020d84fpopf
0020d850db 0xff
0020d851db 0xff
0020d840
0020d852
0020d852 // align 0x10
0020d852 // align 0x10
0020d860
0020d860caml_int32_compare_unboxed:
0020d860xor eax, eax
0020d862cmp edi, esi
0020d864setl dl
0020d867setg al
0020d86amovzx edx, dl
0020d86dsub rax, rdx
0020d870ret
0020d871db 0x48
0020d872sub eax, edx
0020d874ret
0020d860
0020d860caml_int32_compare_unboxed:
0020d860xor eax, eax
0020d862cmp edi, esi
0020d864setl dl
0020d867setg al
0020d86amovzx edx, dl
0020d86dsub rax, rdx
0020d870ret
0020d871db 0x48
0020d872sub eax, edx
0020d874ret
0020d860
0020d875
0020d875 // align 0x10
0020d875 // align 0x10
0020d880
0020d880caml_int32_compare:
0020d880mov eax, [rdi+8]
0020d883cmp [rsi+8], eax
0020d886setl al
0020d889setg dl
0020d88cmovzx edx, dl
0020d88fmovzx eax, al
0020d892sub rax, rdx
0020d895lea rax, [rax+rax+1]
0020d89aret
0020d89bdb 0x44
0020d89cadd [rcx], al
0020d89eret
0020d880
0020d880caml_int32_compare:
0020d880mov eax, [rdi+8]
0020d883cmp [rsi+8], eax
0020d886setl al
0020d889setg dl
0020d88cmovzx edx, dl
0020d88fmovzx eax, al
0020d892sub rax, rdx
0020d895lea rax, [rax+rax+1]
0020d89aret
0020d89bdb 0x44
0020d89cadd [rcx], al
0020d89eret
0020d880
0020d89f
0020d89f // align 0x10
0020d89f // align 0x10
0020d8a0
0020d8a0caml_int32_format:
0020d8a0push rbp
0020d8a1push rbx
0020d8a2sub rsp, 56
0020d8a6mov rbx, [0x28]
0020d8afmov [rsp+40], rbx
0020d8b4mov rbx, rsi
0020d8b7mov rdx, rsp
0020d8balea rsi, [rip+0x21667]
0020d8c1call fn_20cff0
0020d8c6xor eax, eax
0020d8c8mov rdi, rsp
0020d8cbmov esi, [rbx+8]
0020d8cecall caml_alloc_sprintf
0020d8d3mov rdx, [rsp+40]
0020d8d8sub rdx, [0x28]
0020d8e1jne 0x20d8ee
0020d8e3add rsp, 56
0020d8e7pop rbx
0020d8e8pop rbp
0020d8e9ret
0020d8eacall fn_f4590
0020d8efdb 0x9d
0020d8f0insb [rdi], dl
0020d8f1out dx, al
0020d8f2db 0xff
0020d8a0
0020d8a0caml_int32_format:
0020d8a0push rbp
0020d8a1push rbx
0020d8a2sub rsp, 56
0020d8a6mov rbx, [0x28]
0020d8afmov [rsp+40], rbx
0020d8b4mov rbx, rsi
0020d8b7mov rdx, rsp
0020d8balea rsi, [rip+0x21667]
0020d8c1call fn_20cff0
0020d8c6xor eax, eax
0020d8c8mov rdi, rsp
0020d8cbmov esi, [rbx+8]
0020d8cecall caml_alloc_sprintf
0020d8d3mov rdx, [rsp+40]
0020d8d8sub rdx, [0x28]
0020d8e1jne 0x20d8ee
0020d8e3add rsp, 56
0020d8e7pop rbx
0020d8e8pop rbp
0020d8e9ret
0020d8eacall fn_f4590
0020d8efdb 0x9d
0020d8f0insb [rdi], dl
0020d8f1out dx, al
0020d8f2db 0xff
0020d8a0
0020d8f3
0020d8f3 // align 0x10
0020d8f3 // align 0x10
0020d900
0020d900caml_int32_of_string:
0020d900push rbx
0020d901lea rdx, [rip+0x2175c]
0020d908mov esi, 32
0020d90dcall fn_20d210
0020d912mov ecx, 1
0020d917xor edx, edx
0020d919mov esi, 4
0020d91elea rdi, [rip+0x67f97]
0020d925mov rbx, rax
0020d928call caml_alloc_custom
0020d92dmov [rax+8], ebx
0020d930pop rbx
0020d931ret
0020d932db 0x58
0020d933or [rbx-61], bl
0020d900
0020d900caml_int32_of_string:
0020d900push rbx
0020d901lea rdx, [rip+0x2175c]
0020d908mov esi, 32
0020d90dcall fn_20d210
0020d912mov ecx, 1
0020d917xor edx, edx
0020d919mov esi, 4
0020d91elea rdi, [rip+0x67f97]
0020d925mov rbx, rax
0020d928call caml_alloc_custom
0020d92dmov [rax+8], ebx
0020d930pop rbx
0020d931ret
0020d932db 0x58
0020d933or [rbx-61], bl
0020d900
0020d936
0020d936 // align 0x10
0020d936 // align 0x10
0020d940
0020d940caml_int32_bits_of_float_unboxed:
0020d940pxor x1, x1
0020d944cvtsd2ss x1, x0
0020d948movd eax, x1
0020d94cret
0020d94ddb 0x0f
0020d94ejle 0x20d918
0020d950ret
0020d940
0020d940caml_int32_bits_of_float_unboxed:
0020d940pxor x1, x1
0020d944cvtsd2ss x1, x0
0020d948movd eax, x1
0020d94cret
0020d94ddb 0x0f
0020d94ejle 0x20d918
0020d950ret
0020d940
0020d951
0020d951 // align 0x10
0020d951 // align 0x10
0020d960
0020d960caml_int32_float_of_bits_unboxed:
0020d960movd x1, edi
0020d964pxor x0, x0
0020d968cvtss2sd x0, x1
0020d96cret
0020d96ddb 0x0f
0020d96epop rdx
0020d96fdb 0xc1
0020d970ret
0020d960
0020d960caml_int32_float_of_bits_unboxed:
0020d960movd x1, edi
0020d964pxor x0, x0
0020d968cvtss2sd x0, x1
0020d96cret
0020d96ddb 0x0f
0020d96epop rdx
0020d96fdb 0xc1
0020d970ret
0020d960
0020d971
0020d971 // align 0x10
0020d971 // align 0x10
0020d980
0020d980caml_int32_bits_of_float:
0020d980push rbx
0020d981pxor x0, x0
0020d985mov ecx, 1
0020d98axor edx, edx
0020d98cmov esi, 4
0020d991cvtsd2ss x0, [rdi]
0020d995lea rdi, [rip+0x67f20]
0020d99cmovd ebx, x0
0020d9a0call caml_alloc_custom
0020d9a5mov [rax+8], ebx
0020d9a8pop rbx
0020d9a9ret
0020d9aadb 0x58
0020d9abor [rbx-61], bl
0020d980
0020d980caml_int32_bits_of_float:
0020d980push rbx
0020d981pxor x0, x0
0020d985mov ecx, 1
0020d98axor edx, edx
0020d98cmov esi, 4
0020d991cvtsd2ss x0, [rdi]
0020d995lea rdi, [rip+0x67f20]
0020d99cmovd ebx, x0
0020d9a0call caml_alloc_custom
0020d9a5mov [rax+8], ebx
0020d9a8pop rbx
0020d9a9ret
0020d9aadb 0x58
0020d9abor [rbx-61], bl
0020d980
0020d9ae
0020d9ae // align 0x10
0020d9ae // align 0x10
0020d9b0
0020d9b0caml_int32_float_of_bits:
0020d9b0pxor x0, x0
0020d9b4cvtss2sd x0, [rdi+8]
0020d9b9jmp 0x2075f0
0020d9bedb 0x2e
0020d9bfpushf
0020d9c0db 0xff
0020d9c1db 0xff
0020d9b0
0020d9b0caml_int32_float_of_bits:
0020d9b0pxor x0, x0
0020d9b4cvtss2sd x0, [rdi+8]
0020d9b9jmp 0x2075f0
0020d9bedb 0x2e
0020d9bfpushf
0020d9c0db 0xff
0020d9c1db 0xff
0020d9b0
0020d9c2
0020d9c2 // align 0x10
0020d9c2 // align 0x10
0020d9d0
0020d9d0caml_copy_int64:
0020d9d0push rbx
0020d9d1mov ecx, 1
0020d9d6mov rbx, rdi
0020d9d9xor edx, edx
0020d9dbmov esi, 8
0020d9e0lea rdi, [rip+0x67e95]
0020d9e7call caml_alloc_custom
0020d9ecmov [rax+8], rbx
0020d9f0pop rbx
0020d9f1ret
0020d9f2db 0x58
0020d9f3or [rbx-61], bl
0020d9d0
0020d9d0caml_copy_int64:
0020d9d0push rbx
0020d9d1mov ecx, 1
0020d9d6mov rbx, rdi
0020d9d9xor edx, edx
0020d9dbmov esi, 8
0020d9e0lea rdi, [rip+0x67e95]
0020d9e7call caml_alloc_custom
0020d9ecmov [rax+8], rbx
0020d9f0pop rbx
0020d9f1ret
0020d9f2db 0x58
0020d9f3or [rbx-61], bl
0020d9d0
0020d9f6
0020d9f6 // align 0x10
0020d9f6 // align 0x10
0020da00
0020da00caml_int64_neg:
0020da00push rbx
0020da01mov rbx, [rdi+8]
0020da05mov ecx, 1
0020da0axor edx, edx
0020da0cmov esi, 8
0020da11lea rdi, [rip+0x67e64]
0020da18neg rbx
0020da1bcall caml_alloc_custom
0020da20mov [rax+8], rbx
0020da24pop rbx
0020da25ret
0020da26db 0x58
0020da27or [rbx-61], bl
0020da00
0020da00caml_int64_neg:
0020da00push rbx
0020da01mov rbx, [rdi+8]
0020da05mov ecx, 1
0020da0axor edx, edx
0020da0cmov esi, 8
0020da11lea rdi, [rip+0x67e64]
0020da18neg rbx
0020da1bcall caml_alloc_custom
0020da20mov [rax+8], rbx
0020da24pop rbx
0020da25ret
0020da26db 0x58
0020da27or [rbx-61], bl
0020da00
0020da2a
0020da2a // align 0x10
0020da2a // align 0x10
0020da30
0020da30caml_int64_add:
0020da30push rbx
0020da31mov ecx, 1
0020da36mov rbx, [rsi+8]
0020da3axor edx, edx
0020da3cadd rbx, [rdi+8]
0020da40mov esi, 8
0020da45lea rdi, [rip+0x67e30]
0020da4ccall caml_alloc_custom
0020da51mov [rax+8], rbx
0020da55pop rbx
0020da56ret
0020da57db 0x58
0020da58or [rbx-61], bl
0020da30
0020da30caml_int64_add:
0020da30push rbx
0020da31mov ecx, 1
0020da36mov rbx, [rsi+8]
0020da3axor edx, edx
0020da3cadd rbx, [rdi+8]
0020da40mov esi, 8
0020da45lea rdi, [rip+0x67e30]
0020da4ccall caml_alloc_custom
0020da51mov [rax+8], rbx
0020da55pop rbx
0020da56ret
0020da57db 0x58
0020da58or [rbx-61], bl
0020da30
0020da5b
0020da5b // align 0x10
0020da5b // align 0x10
0020da60
0020da60caml_int64_sub:
0020da60push rbx
0020da61mov ecx, 1
0020da66mov rbx, [rdi+8]
0020da6axor edx, edx
0020da6csub rbx, [rsi+8]
0020da70lea rdi, [rip+0x67e05]
0020da77mov esi, 8
0020da7ccall caml_alloc_custom
0020da81mov [rax+8], rbx
0020da85pop rbx
0020da86ret
0020da87db 0x58
0020da88or [rbx-61], bl
0020da60
0020da60caml_int64_sub:
0020da60push rbx
0020da61mov ecx, 1
0020da66mov rbx, [rdi+8]
0020da6axor edx, edx
0020da6csub rbx, [rsi+8]
0020da70lea rdi, [rip+0x67e05]
0020da77mov esi, 8
0020da7ccall caml_alloc_custom
0020da81mov [rax+8], rbx
0020da85pop rbx
0020da86ret
0020da87db 0x58
0020da88or [rbx-61], bl
0020da60
0020da8b
0020da8b // align 0x10
0020da8b // align 0x10
0020da90
0020da90caml_int64_mul:
0020da90push rbx
0020da91mov rbx, [rdi+8]
0020da95mov ecx, 1
0020da9axor edx, edx
0020da9cimul rbx, [rsi+8]
0020daa1lea rdi, [rip+0x67dd4]
0020daa8mov esi, 8
0020daadcall caml_alloc_custom
0020dab2mov [rax+8], rbx
0020dab6pop rbx
0020dab7ret
0020dab8db 0x58
0020dab9or [rbx-61], bl
0020da90
0020da90caml_int64_mul:
0020da90push rbx
0020da91mov rbx, [rdi+8]
0020da95mov ecx, 1
0020da9axor edx, edx
0020da9cimul rbx, [rsi+8]
0020daa1lea rdi, [rip+0x67dd4]
0020daa8mov esi, 8
0020daadcall caml_alloc_custom
0020dab2mov [rax+8], rbx
0020dab6pop rbx
0020dab7ret
0020dab8db 0x58
0020dab9or [rbx-61], bl
0020da90
0020dabc
0020dabc // align 0x10
0020dabc // align 0x10
0020dac0
0020dac0caml_int64_div:
0020dac0push rbx
0020dac1mov rcx, [rsi+8]
0020dac5mov rax, [rdi+8]
0020dac9test rcx, rcx
0020daccje 0x20db1c
0020dacemov rdx, 0x8000000000000000
0020dad8cmp rax, rdx
0020dadbjne 0x20daf0
0020daddcmp rcx, -1
0020dae1jne 0x20daf0
0020dae3mov rax, rdi
0020dae6pop rbx
0020dae7ret
0020dae8db 0x89
0020dae9clc
0020daeapop rbx
0020daebret
0020daec
0020daec 0f 1f 40 00 ..@.
0020daf0
0020daf0loc_20daf0:
0020daf0cqo
0020daf2lea rdi, [rip+0x67d87]
0020daf9mov esi, 8
0020dafeidiv rcx
0020db01mov ecx, 1
0020db06xor edx, edx
0020db08mov rbx, rax
0020db0bcall caml_alloc_custom
0020db10mov rdi, rax
0020db13mov [rax+8], rbx
0020db17pop rbx
0020db18mov rax, rdi
0020db1bret
0020db1c
0020db1cloc_20db1c:
0020db1ccall caml_raise_zero_divide
0020dac0
0020dac0caml_int64_div:
0020dac0push rbx
0020dac1mov rcx, [rsi+8]
0020dac5mov rax, [rdi+8]
0020dac9test rcx, rcx
0020daccje 0x20db1c
0020dacemov rdx, 0x8000000000000000
0020dad8cmp rax, rdx
0020dadbjne 0x20daf0
0020daddcmp rcx, -1
0020dae1jne 0x20daf0
0020dae3mov rax, rdi
0020dae6pop rbx
0020dae7ret
0020dae8db 0x89
0020dae9clc
0020daeapop rbx
0020daebret
0020daec
0020daec 0f 1f 40 00 ..@.
0020daf0
0020daf0loc_20daf0:
0020daf0cqo
0020daf2lea rdi, [rip+0x67d87]
0020daf9mov esi, 8
0020dafeidiv rcx
0020db01mov ecx, 1
0020db06xor edx, edx
0020db08mov rbx, rax
0020db0bcall caml_alloc_custom
0020db10mov rdi, rax
0020db13mov [rax+8], rbx
0020db17pop rbx
0020db18mov rax, rdi
0020db1bret
0020db1c
0020db1cloc_20db1c:
0020db1ccall caml_raise_zero_divide
0020dac0
0020db21
0020db21 // align 0x10
0020db21 // align 0x10
0020db30
0020db30caml_int64_mod:
0020db30push rbx
0020db31mov rbx, [rsi+8]
0020db35mov rax, [rdi+8]
0020db39test rbx, rbx
0020db3cje 0x20dba6
0020db3emov rcx, 0x8000000000000000
0020db48cmp rax, rcx
0020db4bjne 0x20db80
0020db4dcmp rbx, -1
0020db51jne 0x20db80
0020db53mov ecx, 1
0020db58xor edx, edx
0020db5amov esi, 8
0020db5flea rdi, [rip+0x67d16]
0020db66call caml_alloc_custom
0020db6bmov [rax+8], 0
0020db73pop rbx
0020db74ret
0020db75db 0x00
0020db76add [rbx-61], bl
0020db79
0020db79 0f 1f 80 00 00 00 00 .......
0020db80
0020db80loc_20db80:
0020db80cqo
0020db82mov ecx, 1
0020db87mov esi, 8
0020db8cidiv rbx
0020db8flea rdi, [rip+0x67cea]
0020db96mov rbx, rdx
0020db99xor edx, edx
0020db9bcall caml_alloc_custom
0020dba0mov [rax+8], rbx
0020dba4pop rbx
0020dba5ret
0020dba6
0020dba6loc_20dba6:
0020dba6call caml_raise_zero_divide
0020db30
0020db30caml_int64_mod:
0020db30push rbx
0020db31mov rbx, [rsi+8]
0020db35mov rax, [rdi+8]
0020db39test rbx, rbx
0020db3cje 0x20dba6
0020db3emov rcx, 0x8000000000000000
0020db48cmp rax, rcx
0020db4bjne 0x20db80
0020db4dcmp rbx, -1
0020db51jne 0x20db80
0020db53mov ecx, 1
0020db58xor edx, edx
0020db5amov esi, 8
0020db5flea rdi, [rip+0x67d16]
0020db66call caml_alloc_custom
0020db6bmov [rax+8], 0
0020db73pop rbx
0020db74ret
0020db75db 0x00
0020db76add [rbx-61], bl
0020db79
0020db79 0f 1f 80 00 00 00 00 .......
0020db80
0020db80loc_20db80:
0020db80cqo
0020db82mov ecx, 1
0020db87mov esi, 8
0020db8cidiv rbx
0020db8flea rdi, [rip+0x67cea]
0020db96mov rbx, rdx
0020db99xor edx, edx
0020db9bcall caml_alloc_custom
0020dba0mov [rax+8], rbx
0020dba4pop rbx
0020dba5ret
0020dba6
0020dba6loc_20dba6:
0020dba6call caml_raise_zero_divide
0020db30
0020dbab
0020dbab // align 0x10
0020dbab // align 0x10
0020dbb0
0020dbb0caml_int64_and:
0020dbb0push rbx
0020dbb1mov ecx, 1
0020dbb6mov rbx, [rdi+8]
0020dbbaxor edx, edx
0020dbbcand rbx, [rsi+8]
0020dbc0lea rdi, [rip+0x67cb5]
0020dbc7mov esi, 8
0020dbcccall caml_alloc_custom
0020dbd1mov [rax+8], rbx
0020dbd5pop rbx
0020dbd6ret
0020dbd7db 0x58
0020dbd8or [rbx-61], bl
0020dbb0
0020dbb0caml_int64_and:
0020dbb0push rbx
0020dbb1mov ecx, 1
0020dbb6mov rbx, [rdi+8]
0020dbbaxor edx, edx
0020dbbcand rbx, [rsi+8]
0020dbc0lea rdi, [rip+0x67cb5]
0020dbc7mov esi, 8
0020dbcccall caml_alloc_custom
0020dbd1mov [rax+8], rbx
0020dbd5pop rbx
0020dbd6ret
0020dbd7db 0x58
0020dbd8or [rbx-61], bl
0020dbb0
0020dbdb
0020dbdb // align 0x10
0020dbdb // align 0x10
0020dbe0
0020dbe0caml_int64_or:
0020dbe0push rbx
0020dbe1mov ecx, 1
0020dbe6mov rbx, [rdi+8]
0020dbeaxor edx, edx
0020dbecor rbx, [rsi+8]
0020dbf0lea rdi, [rip+0x67c85]
0020dbf7mov esi, 8
0020dbfccall caml_alloc_custom
0020dc01mov [rax+8], rbx
0020dc05pop rbx
0020dc06ret
0020dc07db 0x58
0020dc08or [rbx-61], bl
0020dbe0
0020dbe0caml_int64_or:
0020dbe0push rbx
0020dbe1mov ecx, 1
0020dbe6mov rbx, [rdi+8]
0020dbeaxor edx, edx
0020dbecor rbx, [rsi+8]
0020dbf0lea rdi, [rip+0x67c85]
0020dbf7mov esi, 8
0020dbfccall caml_alloc_custom
0020dc01mov [rax+8], rbx
0020dc05pop rbx
0020dc06ret
0020dc07db 0x58
0020dc08or [rbx-61], bl
0020dbe0
0020dc0b
0020dc0b // align 0x10
0020dc0b // align 0x10
0020dc10
0020dc10caml_int64_xor:
0020dc10push rbx
0020dc11mov ecx, 1
0020dc16mov rbx, [rdi+8]
0020dc1axor edx, edx
0020dc1cxor rbx, [rsi+8]
0020dc20lea rdi, [rip+0x67c55]
0020dc27mov esi, 8
0020dc2ccall caml_alloc_custom
0020dc31mov [rax+8], rbx
0020dc35pop rbx
0020dc36ret
0020dc37db 0x58
0020dc38or [rbx-61], bl
0020dc10
0020dc10caml_int64_xor:
0020dc10push rbx
0020dc11mov ecx, 1
0020dc16mov rbx, [rdi+8]
0020dc1axor edx, edx
0020dc1cxor rbx, [rsi+8]
0020dc20lea rdi, [rip+0x67c55]
0020dc27mov esi, 8
0020dc2ccall caml_alloc_custom
0020dc31mov [rax+8], rbx
0020dc35pop rbx
0020dc36ret
0020dc37db 0x58
0020dc38or [rbx-61], bl
0020dc10
0020dc3b
0020dc3b // align 0x10
0020dc3b // align 0x10
0020dc40
0020dc40caml_int64_shift_left:
0020dc40push rbx
0020dc41mov rcx, rsi
0020dc44mov rbx, [rdi+8]
0020dc48xor edx, edx
0020dc4asar rcx, 1
0020dc4dmov esi, 8
0020dc52lea rdi, [rip+0x67c23]
0020dc59shl rbx, cl
0020dc5cmov ecx, 1
0020dc61call caml_alloc_custom
0020dc66mov [rax+8], rbx
0020dc6apop rbx
0020dc6bret
0020dc6cdb 0x58
0020dc6dor [rbx-61], bl
0020dc40
0020dc40caml_int64_shift_left:
0020dc40push rbx
0020dc41mov rcx, rsi
0020dc44mov rbx, [rdi+8]
0020dc48xor edx, edx
0020dc4asar rcx, 1
0020dc4dmov esi, 8
0020dc52lea rdi, [rip+0x67c23]
0020dc59shl rbx, cl
0020dc5cmov ecx, 1
0020dc61call caml_alloc_custom
0020dc66mov [rax+8], rbx
0020dc6apop rbx
0020dc6bret
0020dc6cdb 0x58
0020dc6dor [rbx-61], bl
0020dc40
0020dc70
0020dc70caml_int64_shift_right:
0020dc70push rbx
0020dc71mov rcx, rsi
0020dc74mov rbx, [rdi+8]
0020dc78xor edx, edx
0020dc7asar rcx, 1
0020dc7dmov esi, 8
0020dc82lea rdi, [rip+0x67bf3]
0020dc89sar rbx, cl
0020dc8cmov ecx, 1
0020dc91call caml_alloc_custom
0020dc96mov [rax+8], rbx
0020dc9apop rbx
0020dc9bret
0020dc9cdb 0x58
0020dc9dor [rbx-61], bl
0020dc70
0020dc70caml_int64_shift_right:
0020dc70push rbx
0020dc71mov rcx, rsi
0020dc74mov rbx, [rdi+8]
0020dc78xor edx, edx
0020dc7asar rcx, 1
0020dc7dmov esi, 8
0020dc82lea rdi, [rip+0x67bf3]
0020dc89sar rbx, cl
0020dc8cmov ecx, 1
0020dc91call caml_alloc_custom
0020dc96mov [rax+8], rbx
0020dc9apop rbx
0020dc9bret
0020dc9cdb 0x58
0020dc9dor [rbx-61], bl
0020dc70
0020dca0
0020dca0caml_int64_shift_right_unsigned:
0020dca0push rbx
0020dca1mov rcx, rsi
0020dca4mov rbx, [rdi+8]
0020dca8xor edx, edx
0020dcaasar rcx, 1
0020dcadmov esi, 8
0020dcb2lea rdi, [rip+0x67bc3]
0020dcb9shr rbx, cl
0020dcbcmov ecx, 1
0020dcc1call caml_alloc_custom
0020dcc6mov [rax+8], rbx
0020dccapop rbx
0020dccbret
0020dcccdb 0x58
0020dccdor [rbx-61], bl
0020dca0
0020dca0caml_int64_shift_right_unsigned:
0020dca0push rbx
0020dca1mov rcx, rsi
0020dca4mov rbx, [rdi+8]
0020dca8xor edx, edx
0020dcaasar rcx, 1
0020dcadmov esi, 8
0020dcb2lea rdi, [rip+0x67bc3]
0020dcb9shr rbx, cl
0020dcbcmov ecx, 1
0020dcc1call caml_alloc_custom
0020dcc6mov [rax+8], rbx
0020dccapop rbx
0020dccbret
0020dcccdb 0x58
0020dccdor [rbx-61], bl
0020dca0
0020dcd0
0020dcd0caml_int64_direct_bswap:
0020dcd0mov rax, rdi
0020dcd3bswap rax
0020dcd6ret
0020dcd7db 0x48
0020dcd8bswap eax
0020dcdaret
0020dcd0
0020dcd0caml_int64_direct_bswap:
0020dcd0mov rax, rdi
0020dcd3bswap rax
0020dcd6ret
0020dcd7db 0x48
0020dcd8bswap eax
0020dcdaret
0020dcd0
0020dcdb
0020dcdb // align 0x10
0020dcdb // align 0x10
0020dce0
0020dce0caml_int64_bswap:
0020dce0push rbx
0020dce1mov ecx, 1
0020dce6mov rbx, [rdi+8]
0020dceaxor edx, edx
0020dcecmov esi, 8
0020dcf1lea rdi, [rip+0x67b84]
0020dcf8bswap rbx
0020dcfbcall caml_alloc_custom
0020dd00mov [rax+8], rbx
0020dd04pop rbx
0020dd05ret
0020dd06db 0x58
0020dd07or [rbx-61], bl
0020dce0
0020dce0caml_int64_bswap:
0020dce0push rbx
0020dce1mov ecx, 1
0020dce6mov rbx, [rdi+8]
0020dceaxor edx, edx
0020dcecmov esi, 8
0020dcf1lea rdi, [rip+0x67b84]
0020dcf8bswap rbx
0020dcfbcall caml_alloc_custom
0020dd00mov [rax+8], rbx
0020dd04pop rbx
0020dd05ret
0020dd06db 0x58
0020dd07or [rbx-61], bl
0020dce0
0020dd0a
0020dd0a // align 0x10
0020dd0a // align 0x10
0020dd10
0020dd10caml_int64_of_int:
0020dd10push rbx
0020dd11mov ecx, 1
0020dd16mov rbx, rdi
0020dd19xor edx, edx
0020dd1bmov esi, 8
0020dd20lea rdi, [rip+0x67b55]
0020dd27sar rbx, 1
0020dd2acall caml_alloc_custom
0020dd2fmov [rax+8], rbx
0020dd33pop rbx
0020dd34ret
0020dd35db 0x58
0020dd36or [rbx-61], bl
0020dd10
0020dd10caml_int64_of_int:
0020dd10push rbx
0020dd11mov ecx, 1
0020dd16mov rbx, rdi
0020dd19xor edx, edx
0020dd1bmov esi, 8
0020dd20lea rdi, [rip+0x67b55]
0020dd27sar rbx, 1
0020dd2acall caml_alloc_custom
0020dd2fmov [rax+8], rbx
0020dd33pop rbx
0020dd34ret
0020dd35db 0x58
0020dd36or [rbx-61], bl
0020dd10
0020dd39
0020dd39 // align 0x10
0020dd39 // align 0x10
0020dd40
0020dd40caml_int64_to_int:
0020dd40mov rax, [rdi+8]
0020dd44lea rax, [rax+rax+1]
0020dd49ret
0020dd4adb 0x44
0020dd4badd [rcx], al
0020dd4dret
0020dd40
0020dd40caml_int64_to_int:
0020dd40mov rax, [rdi+8]
0020dd44lea rax, [rax+rax+1]
0020dd49ret
0020dd4adb 0x44
0020dd4badd [rcx], al
0020dd4dret
0020dd40
0020dd4e
0020dd4e // align 0x10
0020dd4e // align 0x10
0020dd50
0020dd50caml_int64_of_float_unboxed:
0020dd50cvttsd2si rax, x0
0020dd55ret
0020dd56db 0x0f
0020dd57sub al, -64
0020dd59ret
0020dd50
0020dd50caml_int64_of_float_unboxed:
0020dd50cvttsd2si rax, x0
0020dd55ret
0020dd56db 0x0f
0020dd57sub al, -64
0020dd59ret
0020dd50
0020dd5a
0020dd5a // align 0x10
0020dd5a // align 0x10
0020dd60
0020dd60caml_int64_of_float:
0020dd60push rbx
0020dd61cvttsd2si rbx, [rdi]
0020dd66mov ecx, 1
0020dd6bxor edx, edx
0020dd6dmov esi, 8
0020dd72lea rdi, [rip+0x67b03]
0020dd79call caml_alloc_custom
0020dd7emov [rax+8], rbx
0020dd82pop rbx
0020dd83ret
0020dd84db 0x58
0020dd85or [rbx-61], bl
0020dd60
0020dd60caml_int64_of_float:
0020dd60push rbx
0020dd61cvttsd2si rbx, [rdi]
0020dd66mov ecx, 1
0020dd6bxor edx, edx
0020dd6dmov esi, 8
0020dd72lea rdi, [rip+0x67b03]
0020dd79call caml_alloc_custom
0020dd7emov [rax+8], rbx
0020dd82pop rbx
0020dd83ret
0020dd84db 0x58
0020dd85or [rbx-61], bl
0020dd60
0020dd88
0020dd88 // align 0x10
0020dd88 // align 0x10
0020dd90
0020dd90caml_int64_to_float_unboxed:
0020dd90pxor x0, x0
0020dd94cvtsi2sd x0, rdi
0020dd99ret
0020dd9adb 0x0f
0020dd9bsub al, bh
0020dd9dret
0020dd90
0020dd90caml_int64_to_float_unboxed:
0020dd90pxor x0, x0
0020dd94cvtsi2sd x0, rdi
0020dd99ret
0020dd9adb 0x0f
0020dd9bsub al, bh
0020dd9dret
0020dd90
0020dd9e
0020dd9e // align 0x10
0020dd9e // align 0x10
0020dda0
0020dda0caml_int64_to_float:
0020dda0pxor x0, x0
0020dda4cvtsi2sd x0, [rdi+8]
0020ddaajmp 0x2075f0
0020ddafdb 0x3d
0020ddb0cwde
0020ddb1db 0xff
0020ddb2db 0xff
0020dda0
0020dda0caml_int64_to_float:
0020dda0pxor x0, x0
0020dda4cvtsi2sd x0, [rdi+8]
0020ddaajmp 0x2075f0
0020ddafdb 0x3d
0020ddb0cwde
0020ddb1db 0xff
0020ddb2db 0xff
0020dda0
0020ddb3
0020ddb3 // align 0x10
0020ddb3 // align 0x10
0020ddc0
0020ddc0caml_int64_of_int32:
0020ddc0push rbx
0020ddc1mov ecx, 1
0020ddc6movsxd rbx, [rdi+8]
0020ddcaxor edx, edx
0020ddccmov esi, 8
0020ddd1lea rdi, [rip+0x67aa4]
0020ddd8call caml_alloc_custom
0020ddddmov [rax+8], rbx
0020dde1pop rbx
0020dde2ret
0020dde3db 0x58
0020dde4or [rbx-61], bl
0020ddc0
0020ddc0caml_int64_of_int32:
0020ddc0push rbx
0020ddc1mov ecx, 1
0020ddc6movsxd rbx, [rdi+8]
0020ddcaxor edx, edx
0020ddccmov esi, 8
0020ddd1lea rdi, [rip+0x67aa4]
0020ddd8call caml_alloc_custom
0020ddddmov [rax+8], rbx
0020dde1pop rbx
0020dde2ret
0020dde3db 0x58
0020dde4or [rbx-61], bl
0020ddc0
0020dde7
0020dde7 // align 0x10
0020dde7 // align 0x10
0020ddf0
0020ddf0caml_int64_to_int32:
0020ddf0push rbx
0020ddf1mov ecx, 1
0020ddf6mov rbx, [rdi+8]
0020ddfaxor edx, edx
0020ddfcmov esi, 4
0020de01lea rdi, [rip+0x67ab4]
0020de08call caml_alloc_custom
0020de0dmov [rax+8], ebx
0020de10pop rbx
0020de11ret
0020de12db 0x58
0020de13or [rbx-61], bl
0020ddf0
0020ddf0caml_int64_to_int32:
0020ddf0push rbx
0020ddf1mov ecx, 1
0020ddf6mov rbx, [rdi+8]
0020ddfaxor edx, edx
0020ddfcmov esi, 4
0020de01lea rdi, [rip+0x67ab4]
0020de08call caml_alloc_custom
0020de0dmov [rax+8], ebx
0020de10pop rbx
0020de11ret
0020de12db 0x58
0020de13or [rbx-61], bl
0020ddf0
0020de16
0020de16 // align 0x10
0020de16 // align 0x10
0020de20
0020de20caml_int64_of_nativeint:
0020de20push rbx
0020de21mov ecx, 1
0020de26mov rbx, [rdi+8]
0020de2axor edx, edx
0020de2cmov esi, 8
0020de31lea rdi, [rip+0x67a44]
0020de38call caml_alloc_custom
0020de3dmov [rax+8], rbx
0020de41pop rbx
0020de42ret
0020de43db 0x58
0020de44or [rbx-61], bl
0020de20
0020de20caml_int64_of_nativeint:
0020de20push rbx
0020de21mov ecx, 1
0020de26mov rbx, [rdi+8]
0020de2axor edx, edx
0020de2cmov esi, 8
0020de31lea rdi, [rip+0x67a44]
0020de38call caml_alloc_custom
0020de3dmov [rax+8], rbx
0020de41pop rbx
0020de42ret
0020de43db 0x58
0020de44or [rbx-61], bl
0020de20
0020de47
0020de47 // align 0x10
0020de47 // align 0x10
0020de50
0020de50caml_int64_to_nativeint:
0020de50push rbx
0020de51mov ecx, 1
0020de56mov rbx, [rdi+8]
0020de5axor edx, edx
0020de5cmov esi, 8
0020de61lea rdi, [rip+0x679d4]
0020de68call caml_alloc_custom
0020de6dmov [rax+8], rbx
0020de71pop rbx
0020de72ret
0020de73db 0x58
0020de74or [rbx-61], bl
0020de50
0020de50caml_int64_to_nativeint:
0020de50push rbx
0020de51mov ecx, 1
0020de56mov rbx, [rdi+8]
0020de5axor edx, edx
0020de5cmov esi, 8
0020de61lea rdi, [rip+0x679d4]
0020de68call caml_alloc_custom
0020de6dmov [rax+8], rbx
0020de71pop rbx
0020de72ret
0020de73db 0x58
0020de74or [rbx-61], bl
0020de50
0020de77
0020de77 // align 0x10
0020de77 // align 0x10
0020de80
0020de80caml_int64_compare_unboxed:
0020de80xor eax, eax
0020de82cmp rdi, rsi
0020de85setl dl
0020de88setg al
0020de8bmovzx edx, dl
0020de8esub rax, rdx
0020de91ret
0020de92db 0x48
0020de93sub eax, edx
0020de95ret
0020de80
0020de80caml_int64_compare_unboxed:
0020de80xor eax, eax
0020de82cmp rdi, rsi
0020de85setl dl
0020de88setg al
0020de8bmovzx edx, dl
0020de8esub rax, rdx
0020de91ret
0020de92db 0x48
0020de93sub eax, edx
0020de95ret
0020de80
0020de96
0020de96 // align 0x10
0020de96 // align 0x10
0020dea0
0020dea0caml_int64_compare:
0020dea0mov rax, [rdi+8]
0020dea4cmp [rsi+8], rax
0020dea8setl al
0020deabsetg dl
0020deaemovzx edx, dl
0020deb1movzx eax, al
0020deb4sub rax, rdx
0020deb7lea rax, [rax+rax+1]
0020debcret
0020debddb 0x44
0020debeadd [rcx], al
0020dec0ret
0020dea0
0020dea0caml_int64_compare:
0020dea0mov rax, [rdi+8]
0020dea4cmp [rsi+8], rax
0020dea8setl al
0020deabsetg dl
0020deaemovzx edx, dl
0020deb1movzx eax, al
0020deb4sub rax, rdx
0020deb7lea rax, [rax+rax+1]
0020debcret
0020debddb 0x44
0020debeadd [rcx], al
0020dec0ret
0020dea0
0020dec1
0020dec1 // align 0x10
0020dec1 // align 0x10
0020ded0
0020ded0caml_int64_format:
0020ded0push rbp
0020ded1push rbx
0020ded2sub rsp, 56
0020ded6mov rbx, [0x28]
0020dedfmov [rsp+40], rbx
0020dee4mov rbx, rsi
0020dee7mov rdx, rsp
0020deealea rsi, [rip+0x2166a]
0020def1call fn_20cff0
0020def6xor eax, eax
0020def8mov rdi, rsp
0020defbmov rsi, [rbx+8]
0020deffcall caml_alloc_sprintf
0020df04mov rdx, [rsp+40]
0020df09sub rdx, [0x28]
0020df12jne 0x20df1f
0020df14add rsp, 56
0020df18pop rbx
0020df19pop rbp
0020df1aret
0020df1bcall fn_f4590
0020df20db 0x6c
0020df21out dx, al
0020df23db 0xff
0020ded0
0020ded0caml_int64_format:
0020ded0push rbp
0020ded1push rbx
0020ded2sub rsp, 56
0020ded6mov rbx, [0x28]
0020dedfmov [rsp+40], rbx
0020dee4mov rbx, rsi
0020dee7mov rdx, rsp
0020deealea rsi, [rip+0x2166a]
0020def1call fn_20cff0
0020def6xor eax, eax
0020def8mov rdi, rsp
0020defbmov rsi, [rbx+8]
0020deffcall caml_alloc_sprintf
0020df04mov rdx, [rsp+40]
0020df09sub rdx, [0x28]
0020df12jne 0x20df1f
0020df14add rsp, 56
0020df18pop rbx
0020df19pop rbp
0020df1aret
0020df1bcall fn_f4590
0020df20db 0x6c
0020df21out dx, al
0020df23db 0xff
0020ded0
0020df24
0020df24 // align 0x10
0020df24 // align 0x10
0020df30
0020df30caml_int64_of_string:
0020df30push r12
0020df32push rbp
0020df33push rbx
0020df34sub rsp, 32
0020df38mov rbx, [0x28]
0020df41mov [rsp+24], rbx
0020df46mov rbx, rdi
0020df49lea rcx, [rsp+12]
0020df4elea rdx, [rsp+20]
0020df53lea rsi, [rsp+16]
0020df58call fn_20cea0
0020df5dmovsxd rsi, [rsp+16]
0020df62movzx edx, [rax]
0020df65mov rdi, rsi
0020df68movsx ebp, dl
0020df6blea ecx, [rdx-48]
0020df6esub ebp, 48
0020df71cmp cl, 9
0020df74jbe 0x20df9a
0020df76movsx ebp, dl
0020df79lea ecx, [rdx-65]
0020df7csub ebp, 55
0020df7fcmp cl, 5
0020df82jbe 0x20df9a
0020df84lea ecx, [rdx-97]
0020df87cmp cl, 5
0020df8aja 0x20e069
0020df90movsx ebp, dl
0020df93sub ebp, 87
0020df96cmp edi, ebp
0020df98jle 0x20e069
0020df9emovsxd rbp, ebp
0020dfa1lea r12, [rax+1]
0020dfa5jmp 0x20dfe8
0020dfa7db 0x60
0020dfa8add ebx, ebp
0020dfaadb 0x3d
0020dfab
0020dfab 0f 1f 44 00 00 ..D..
0020dfb0
0020dfb0loc_20dfb0:
0020dfb0lea eax, [rcx-65]
0020dfb3cmp al, 5
0020dfb5jbe 0x20e058
0020dfbblea eax, [rcx-97]
0020dfbecmp al, 5
0020dfc0ja 0x20e000
0020dfc2sub ecx, 87
0020dfc5
0020dfc5loc_20dfc5:
0020dfc5cmp edi, ecx
0020dfc7jle 0x20e000
0020dfc9
0020dfc9loc_20dfc9:
0020dfc9mov rax, rbp
0020dfccmul rsi
0020dfcfmov rbp, rax
0020dfd2jo 0x20e069
0020dfd8movsxd rcx, ecx
0020dfdbadd rbp, rcx
0020dfdejb 0x20e069
0020dfe4
0020dfe4loc_20dfe4:
0020dfe4add r12, 1
0020dfe8
0020dfe8loc_20dfe8:
0020dfe8movsx ecx, [r12]
0020dfedcmp cl, 95
0020dff0je 0x20dfe4
0020dff2lea eax, [rcx-48]
0020dff5cmp al, 9
0020dff7ja 0x20dfb0
0020dff9sub ecx, 48
0020dffccmp edi, ecx
0020dffejg 0x20dfc9
0020e000
0020e000loc_20e000:
0020e000mov rdi, rbx
0020e003call caml_string_length
0020e008add rbx, rax
0020e00bcmp r12, rbx
0020e00ejne 0x20e069
0020e010mov edx, [rsp+20]
0020e014mov eax, [rsp+12]
0020e018test edx, edx
0020e01ajne 0x20e060
0020e01ctest eax, eax
0020e01ejs 0x20e087
0020e020
0020e020loc_20e020:
0020e020mov ecx, 1
0020e025xor edx, edx
0020e027mov esi, 8
0020e02clea rdi, [rip+0x6784d]
0020e033call caml_alloc_custom
0020e038mov [rax+8], rbp
0020e03cmov rdx, [rsp+24]
0020e041sub rdx, [0x28]
0020e04ajne 0x20e08c
0020e04cadd rsp, 32
0020e050pop rbx
0020e051pop rbp
0020e052pop r12
0020e054ret
0020e055
0020e055 0f 1f 00 ...
0020e058
0020e058loc_20e058:
0020e058sub ecx, 55
0020e05bjmp 0x20dfc5
0020e060
0020e060loc_20e060:
0020e060test eax, eax
0020e062js 0x20e078
0020e064test rbp, rbp
0020e067jns 0x20e020
0020e069
0020e069loc_20e069:
0020e069lea rdi, [rip+0x21008]
0020e070call caml_failwith
0020e075nop [rax]
0020e078
0020e078loc_20e078:
0020e078mov rax, 0x8000000000000000
0020e082cmp rax, rbp
0020e085jb 0x20e069
0020e087
0020e087loc_20e087:
0020e087neg rbp
0020e08ajmp 0x20e020
0020e08c
0020e08cloc_20e08c:
0020e08ccall fn_f4590
0020df30
0020df30caml_int64_of_string:
0020df30push r12
0020df32push rbp
0020df33push rbx
0020df34sub rsp, 32
0020df38mov rbx, [0x28]
0020df41mov [rsp+24], rbx
0020df46mov rbx, rdi
0020df49lea rcx, [rsp+12]
0020df4elea rdx, [rsp+20]
0020df53lea rsi, [rsp+16]
0020df58call fn_20cea0
0020df5dmovsxd rsi, [rsp+16]
0020df62movzx edx, [rax]
0020df65mov rdi, rsi
0020df68movsx ebp, dl
0020df6blea ecx, [rdx-48]
0020df6esub ebp, 48
0020df71cmp cl, 9
0020df74jbe 0x20df9a
0020df76movsx ebp, dl
0020df79lea ecx, [rdx-65]
0020df7csub ebp, 55
0020df7fcmp cl, 5
0020df82jbe 0x20df9a
0020df84lea ecx, [rdx-97]
0020df87cmp cl, 5
0020df8aja 0x20e069
0020df90movsx ebp, dl
0020df93sub ebp, 87
0020df96cmp edi, ebp
0020df98jle 0x20e069
0020df9emovsxd rbp, ebp
0020dfa1lea r12, [rax+1]
0020dfa5jmp 0x20dfe8
0020dfa7db 0x60
0020dfa8add ebx, ebp
0020dfaadb 0x3d
0020dfab
0020dfab 0f 1f 44 00 00 ..D..
0020dfb0
0020dfb0loc_20dfb0:
0020dfb0lea eax, [rcx-65]
0020dfb3cmp al, 5
0020dfb5jbe 0x20e058
0020dfbblea eax, [rcx-97]
0020dfbecmp al, 5
0020dfc0ja 0x20e000
0020dfc2sub ecx, 87
0020dfc5
0020dfc5loc_20dfc5:
0020dfc5cmp edi, ecx
0020dfc7jle 0x20e000
0020dfc9
0020dfc9loc_20dfc9:
0020dfc9mov rax, rbp
0020dfccmul rsi
0020dfcfmov rbp, rax
0020dfd2jo 0x20e069
0020dfd8movsxd rcx, ecx
0020dfdbadd rbp, rcx
0020dfdejb 0x20e069
0020dfe4
0020dfe4loc_20dfe4:
0020dfe4add r12, 1
0020dfe8
0020dfe8loc_20dfe8:
0020dfe8movsx ecx, [r12]
0020dfedcmp cl, 95
0020dff0je 0x20dfe4
0020dff2lea eax, [rcx-48]
0020dff5cmp al, 9
0020dff7ja 0x20dfb0
0020dff9sub ecx, 48
0020dffccmp edi, ecx
0020dffejg 0x20dfc9
0020e000
0020e000loc_20e000:
0020e000mov rdi, rbx
0020e003call caml_string_length
0020e008add rbx, rax
0020e00bcmp r12, rbx
0020e00ejne 0x20e069
0020e010mov edx, [rsp+20]
0020e014mov eax, [rsp+12]
0020e018test edx, edx
0020e01ajne 0x20e060
0020e01ctest eax, eax
0020e01ejs 0x20e087
0020e020
0020e020loc_20e020:
0020e020mov ecx, 1
0020e025xor edx, edx
0020e027mov esi, 8
0020e02clea rdi, [rip+0x6784d]
0020e033call caml_alloc_custom
0020e038mov [rax+8], rbp
0020e03cmov rdx, [rsp+24]
0020e041sub rdx, [0x28]
0020e04ajne 0x20e08c
0020e04cadd rsp, 32
0020e050pop rbx
0020e051pop rbp
0020e052pop r12
0020e054ret
0020e055
0020e055 0f 1f 00 ...
0020e058
0020e058loc_20e058:
0020e058sub ecx, 55
0020e05bjmp 0x20dfc5
0020e060
0020e060loc_20e060:
0020e060test eax, eax
0020e062js 0x20e078
0020e064test rbp, rbp
0020e067jns 0x20e020
0020e069
0020e069loc_20e069:
0020e069lea rdi, [rip+0x21008]
0020e070call caml_failwith
0020e075nop [rax]
0020e078
0020e078loc_20e078:
0020e078mov rax, 0x8000000000000000
0020e082cmp rax, rbp
0020e085jb 0x20e069
0020e087
0020e087loc_20e087:
0020e087neg rbp
0020e08ajmp 0x20e020
0020e08c
0020e08cloc_20e08c:
0020e08ccall fn_f4590
0020df30
0020e091
0020e091 // align 0x10
0020e091 // align 0x10
0020e0a0
0020e0a0caml_int64_bits_of_float_unboxed:
0020e0a0movq rax, x0
0020e0a5ret
0020e0a6db 0x0f
0020e0a7jle 0x20e069
0020e0a9ret
0020e0a0
0020e0a0caml_int64_bits_of_float_unboxed:
0020e0a0movq rax, x0
0020e0a5ret
0020e0a6db 0x0f
0020e0a7jle 0x20e069
0020e0a9ret
0020e0a0
0020e0aa
0020e0aa // align 0x10
0020e0aa // align 0x10
0020e0b0
0020e0b0caml_int64_float_of_bits_unboxed:
0020e0b0movq x0, rdi
0020e0b5ret
0020e0b6db 0x0f
0020e0b7outsb dl, [rsi]
0020e0b8db 0xc7
0020e0b9ret
0020e0b0
0020e0b0caml_int64_float_of_bits_unboxed:
0020e0b0movq x0, rdi
0020e0b5ret
0020e0b6db 0x0f
0020e0b7outsb dl, [rsi]
0020e0b8db 0xc7
0020e0b9ret
0020e0b0
0020e0ba
0020e0ba // align 0x10
0020e0ba // align 0x10
0020e0c0
0020e0c0caml_int64_bits_of_float:
0020e0c0push rbx
0020e0c1mov ecx, 1
0020e0c6mov rbx, [rdi]
0020e0c9xor edx, edx
0020e0cbmov esi, 8
0020e0d0lea rdi, [rip+0x677a5]
0020e0d7call caml_alloc_custom
0020e0dcmov [rax+8], rbx
0020e0e0pop rbx
0020e0e1ret
0020e0e2db 0x58
0020e0e3or [rbx-61], bl
0020e0c0
0020e0c0caml_int64_bits_of_float:
0020e0c0push rbx
0020e0c1mov ecx, 1
0020e0c6mov rbx, [rdi]
0020e0c9xor edx, edx
0020e0cbmov esi, 8
0020e0d0lea rdi, [rip+0x677a5]
0020e0d7call caml_alloc_custom
0020e0dcmov [rax+8], rbx
0020e0e0pop rbx
0020e0e1ret
0020e0e2db 0x58
0020e0e3or [rbx-61], bl
0020e0c0
0020e0e6
0020e0e6 // align 0x10
0020e0e6 // align 0x10
0020e0f0
0020e0f0caml_int64_float_of_bits:
0020e0f0movsd_xmm x0, [rdi+8]
0020e0f5jmp 0x2075f0
0020e0fadb 0xf2
0020e0fbxchg eax, esp
0020e0fcdb 0xff
0020e0fddb 0xff
0020e0f0
0020e0f0caml_int64_float_of_bits:
0020e0f0movsd_xmm x0, [rdi+8]
0020e0f5jmp 0x2075f0
0020e0fadb 0xf2
0020e0fbxchg eax, esp
0020e0fcdb 0xff
0020e0fddb 0xff
0020e0f0
0020e0fe
0020e0fe // align 0x10
0020e0fe // align 0x10
0020e100
0020e100caml_copy_nativeint:
0020e100push rbx
0020e101mov ecx, 1
0020e106mov rbx, rdi
0020e109xor edx, edx
0020e10bmov esi, 8
0020e110lea rdi, [rip+0x67725]
0020e117call caml_alloc_custom
0020e11cmov [rax+8], rbx
0020e120pop rbx
0020e121ret
0020e122db 0x58
0020e123or [rbx-61], bl
0020e100
0020e100caml_copy_nativeint:
0020e100push rbx
0020e101mov ecx, 1
0020e106mov rbx, rdi
0020e109xor edx, edx
0020e10bmov esi, 8
0020e110lea rdi, [rip+0x67725]
0020e117call caml_alloc_custom
0020e11cmov [rax+8], rbx
0020e120pop rbx
0020e121ret
0020e122db 0x58
0020e123or [rbx-61], bl
0020e100
0020e126
0020e126 // align 0x10
0020e126 // align 0x10
0020e130
0020e130caml_nativeint_neg:
0020e130push rbx
0020e131mov rbx, [rdi+8]
0020e135mov ecx, 1
0020e13axor edx, edx
0020e13cmov esi, 8
0020e141lea rdi, [rip+0x676f4]
0020e148neg rbx
0020e14bcall caml_alloc_custom
0020e150mov [rax+8], rbx
0020e154pop rbx
0020e155ret
0020e156db 0x58
0020e157or [rbx-61], bl
0020e130
0020e130caml_nativeint_neg:
0020e130push rbx
0020e131mov rbx, [rdi+8]
0020e135mov ecx, 1
0020e13axor edx, edx
0020e13cmov esi, 8
0020e141lea rdi, [rip+0x676f4]
0020e148neg rbx
0020e14bcall caml_alloc_custom
0020e150mov [rax+8], rbx
0020e154pop rbx
0020e155ret
0020e156db 0x58
0020e157or [rbx-61], bl
0020e130
0020e15a
0020e15a // align 0x10
0020e15a // align 0x10
0020e160
0020e160caml_nativeint_add:
0020e160push rbx
0020e161mov ecx, 1
0020e166mov rbx, [rsi+8]
0020e16axor edx, edx
0020e16cadd rbx, [rdi+8]
0020e170mov esi, 8
0020e175lea rdi, [rip+0x676c0]
0020e17ccall caml_alloc_custom
0020e181mov [rax+8], rbx
0020e185pop rbx
0020e186ret
0020e187db 0x58
0020e188or [rbx-61], bl
0020e160
0020e160caml_nativeint_add:
0020e160push rbx
0020e161mov ecx, 1
0020e166mov rbx, [rsi+8]
0020e16axor edx, edx
0020e16cadd rbx, [rdi+8]
0020e170mov esi, 8
0020e175lea rdi, [rip+0x676c0]
0020e17ccall caml_alloc_custom
0020e181mov [rax+8], rbx
0020e185pop rbx
0020e186ret
0020e187db 0x58
0020e188or [rbx-61], bl
0020e160
0020e18b
0020e18b // align 0x10
0020e18b // align 0x10
0020e190
0020e190caml_nativeint_sub:
0020e190push rbx
0020e191mov ecx, 1
0020e196mov rbx, [rdi+8]
0020e19axor edx, edx
0020e19csub rbx, [rsi+8]
0020e1a0lea rdi, [rip+0x67695]
0020e1a7mov esi, 8
0020e1accall caml_alloc_custom
0020e1b1mov [rax+8], rbx
0020e1b5pop rbx
0020e1b6ret
0020e1b7db 0x58
0020e1b8or [rbx-61], bl
0020e190
0020e190caml_nativeint_sub:
0020e190push rbx
0020e191mov ecx, 1
0020e196mov rbx, [rdi+8]
0020e19axor edx, edx
0020e19csub rbx, [rsi+8]
0020e1a0lea rdi, [rip+0x67695]
0020e1a7mov esi, 8
0020e1accall caml_alloc_custom
0020e1b1mov [rax+8], rbx
0020e1b5pop rbx
0020e1b6ret
0020e1b7db 0x58
0020e1b8or [rbx-61], bl
0020e190
0020e1bb
0020e1bb // align 0x10
0020e1bb // align 0x10
0020e1c0
0020e1c0caml_nativeint_mul:
0020e1c0push rbx
0020e1c1mov rbx, [rdi+8]
0020e1c5mov ecx, 1
0020e1caxor edx, edx
0020e1ccimul rbx, [rsi+8]
0020e1d1lea rdi, [rip+0x67664]
0020e1d8mov esi, 8
0020e1ddcall caml_alloc_custom
0020e1e2mov [rax+8], rbx
0020e1e6pop rbx
0020e1e7ret
0020e1e8db 0x58
0020e1e9or [rbx-61], bl
0020e1c0
0020e1c0caml_nativeint_mul:
0020e1c0push rbx
0020e1c1mov rbx, [rdi+8]
0020e1c5mov ecx, 1
0020e1caxor edx, edx
0020e1ccimul rbx, [rsi+8]
0020e1d1lea rdi, [rip+0x67664]
0020e1d8mov esi, 8
0020e1ddcall caml_alloc_custom
0020e1e2mov [rax+8], rbx
0020e1e6pop rbx
0020e1e7ret
0020e1e8db 0x58
0020e1e9or [rbx-61], bl
0020e1c0
0020e1ec
0020e1ec // align 0x10
0020e1ec // align 0x10
0020e1f0
0020e1f0caml_nativeint_div:
0020e1f0push rbx
0020e1f1mov rcx, [rsi+8]
0020e1f5mov rax, [rdi+8]
0020e1f9test rcx, rcx
0020e1fcje 0x20e24c
0020e1femov rdx, 0x8000000000000000
0020e208cmp rax, rdx
0020e20bjne 0x20e220
0020e20dcmp rcx, -1
0020e211jne 0x20e220
0020e213mov rax, rdi
0020e216pop rbx
0020e217ret
0020e218db 0x89
0020e219clc
0020e21apop rbx
0020e21bret
0020e21c
0020e21c 0f 1f 40 00 ..@.
0020e220
0020e220loc_20e220:
0020e220cqo
0020e222lea rdi, [rip+0x67617]
0020e229mov esi, 8
0020e22eidiv rcx
0020e231mov ecx, 1
0020e236xor edx, edx
0020e238mov rbx, rax
0020e23bcall caml_alloc_custom
0020e240mov rdi, rax
0020e243mov [rax+8], rbx
0020e247pop rbx
0020e248mov rax, rdi
0020e24bret
0020e24c
0020e24cloc_20e24c:
0020e24ccall caml_raise_zero_divide
0020e1f0
0020e1f0caml_nativeint_div:
0020e1f0push rbx
0020e1f1mov rcx, [rsi+8]
0020e1f5mov rax, [rdi+8]
0020e1f9test rcx, rcx
0020e1fcje 0x20e24c
0020e1femov rdx, 0x8000000000000000
0020e208cmp rax, rdx
0020e20bjne 0x20e220
0020e20dcmp rcx, -1
0020e211jne 0x20e220
0020e213mov rax, rdi
0020e216pop rbx
0020e217ret
0020e218db 0x89
0020e219clc
0020e21apop rbx
0020e21bret
0020e21c
0020e21c 0f 1f 40 00 ..@.
0020e220
0020e220loc_20e220:
0020e220cqo
0020e222lea rdi, [rip+0x67617]
0020e229mov esi, 8
0020e22eidiv rcx
0020e231mov ecx, 1
0020e236xor edx, edx
0020e238mov rbx, rax
0020e23bcall caml_alloc_custom
0020e240mov rdi, rax
0020e243mov [rax+8], rbx
0020e247pop rbx
0020e248mov rax, rdi
0020e24bret
0020e24c
0020e24cloc_20e24c:
0020e24ccall caml_raise_zero_divide
0020e1f0
0020e251
0020e251 // align 0x10
0020e251 // align 0x10
0020e260
0020e260caml_nativeint_mod:
0020e260push rbx
0020e261mov rbx, [rsi+8]
0020e265mov rax, [rdi+8]
0020e269test rbx, rbx
0020e26cje 0x20e2d6
0020e26emov rcx, 0x8000000000000000
0020e278cmp rax, rcx
0020e27bjne 0x20e2b0
0020e27dcmp rbx, -1
0020e281jne 0x20e2b0
0020e283mov ecx, 1
0020e288xor edx, edx
0020e28amov esi, 8
0020e28flea rdi, [rip+0x675a6]
0020e296call caml_alloc_custom
0020e29bmov [rax+8], 0
0020e2a3pop rbx
0020e2a4ret
0020e2a5db 0x00
0020e2a6add [rbx-61], bl
0020e2a9
0020e2a9 0f 1f 80 00 00 00 00 .......
0020e2b0
0020e2b0loc_20e2b0:
0020e2b0cqo
0020e2b2mov ecx, 1
0020e2b7mov esi, 8
0020e2bcidiv rbx
0020e2bflea rdi, [rip+0x6757a]
0020e2c6mov rbx, rdx
0020e2c9xor edx, edx
0020e2cbcall caml_alloc_custom
0020e2d0mov [rax+8], rbx
0020e2d4pop rbx
0020e2d5ret
0020e2d6
0020e2d6loc_20e2d6:
0020e2d6call caml_raise_zero_divide
0020e260
0020e260caml_nativeint_mod:
0020e260push rbx
0020e261mov rbx, [rsi+8]
0020e265mov rax, [rdi+8]
0020e269test rbx, rbx
0020e26cje 0x20e2d6
0020e26emov rcx, 0x8000000000000000
0020e278cmp rax, rcx
0020e27bjne 0x20e2b0
0020e27dcmp rbx, -1
0020e281jne 0x20e2b0
0020e283mov ecx, 1
0020e288xor edx, edx
0020e28amov esi, 8
0020e28flea rdi, [rip+0x675a6]
0020e296call caml_alloc_custom
0020e29bmov [rax+8], 0
0020e2a3pop rbx
0020e2a4ret
0020e2a5db 0x00
0020e2a6add [rbx-61], bl
0020e2a9
0020e2a9 0f 1f 80 00 00 00 00 .......
0020e2b0
0020e2b0loc_20e2b0:
0020e2b0cqo
0020e2b2mov ecx, 1
0020e2b7mov esi, 8
0020e2bcidiv rbx
0020e2bflea rdi, [rip+0x6757a]
0020e2c6mov rbx, rdx
0020e2c9xor edx, edx
0020e2cbcall caml_alloc_custom
0020e2d0mov [rax+8], rbx
0020e2d4pop rbx
0020e2d5ret
0020e2d6
0020e2d6loc_20e2d6:
0020e2d6call caml_raise_zero_divide
0020e260
0020e2db
0020e2db // align 0x10
0020e2db // align 0x10
0020e2e0
0020e2e0caml_nativeint_and:
0020e2e0push rbx
0020e2e1mov ecx, 1
0020e2e6mov rbx, [rdi+8]
0020e2eaxor edx, edx
0020e2ecand rbx, [rsi+8]
0020e2f0lea rdi, [rip+0x67545]
0020e2f7mov esi, 8
0020e2fccall caml_alloc_custom
0020e301mov [rax+8], rbx
0020e305pop rbx
0020e306ret
0020e307db 0x58
0020e308or [rbx-61], bl
0020e2e0
0020e2e0caml_nativeint_and:
0020e2e0push rbx
0020e2e1mov ecx, 1
0020e2e6mov rbx, [rdi+8]
0020e2eaxor edx, edx
0020e2ecand rbx, [rsi+8]
0020e2f0lea rdi, [rip+0x67545]
0020e2f7mov esi, 8
0020e2fccall caml_alloc_custom
0020e301mov [rax+8], rbx
0020e305pop rbx
0020e306ret
0020e307db 0x58
0020e308or [rbx-61], bl
0020e2e0
0020e30b
0020e30b // align 0x10
0020e30b // align 0x10
0020e310
0020e310caml_nativeint_or:
0020e310push rbx
0020e311mov ecx, 1
0020e316mov rbx, [rdi+8]
0020e31axor edx, edx
0020e31cor rbx, [rsi+8]
0020e320lea rdi, [rip+0x67515]
0020e327mov esi, 8
0020e32ccall caml_alloc_custom
0020e331mov [rax+8], rbx
0020e335pop rbx
0020e336ret
0020e337db 0x58
0020e338or [rbx-61], bl
0020e310
0020e310caml_nativeint_or:
0020e310push rbx
0020e311mov ecx, 1
0020e316mov rbx, [rdi+8]
0020e31axor edx, edx
0020e31cor rbx, [rsi+8]
0020e320lea rdi, [rip+0x67515]
0020e327mov esi, 8
0020e32ccall caml_alloc_custom
0020e331mov [rax+8], rbx
0020e335pop rbx
0020e336ret
0020e337db 0x58
0020e338or [rbx-61], bl
0020e310
0020e33b
0020e33b // align 0x10
0020e33b // align 0x10
0020e340
0020e340caml_nativeint_xor:
0020e340push rbx
0020e341mov ecx, 1
0020e346mov rbx, [rdi+8]
0020e34axor edx, edx
0020e34cxor rbx, [rsi+8]
0020e350lea rdi, [rip+0x674e5]
0020e357mov esi, 8
0020e35ccall caml_alloc_custom
0020e361mov [rax+8], rbx
0020e365pop rbx
0020e366ret
0020e367db 0x58
0020e368or [rbx-61], bl
0020e340
0020e340caml_nativeint_xor:
0020e340push rbx
0020e341mov ecx, 1
0020e346mov rbx, [rdi+8]
0020e34axor edx, edx
0020e34cxor rbx, [rsi+8]
0020e350lea rdi, [rip+0x674e5]
0020e357mov esi, 8
0020e35ccall caml_alloc_custom
0020e361mov [rax+8], rbx
0020e365pop rbx
0020e366ret
0020e367db 0x58
0020e368or [rbx-61], bl
0020e340
0020e36b
0020e36b // align 0x10
0020e36b // align 0x10
0020e370
0020e370caml_nativeint_shift_left:
0020e370push rbx
0020e371mov rcx, rsi
0020e374mov rbx, [rdi+8]
0020e378xor edx, edx
0020e37asar rcx, 1
0020e37dmov esi, 8
0020e382lea rdi, [rip+0x674b3]
0020e389shl rbx, cl
0020e38cmov ecx, 1
0020e391call caml_alloc_custom
0020e396mov [rax+8], rbx
0020e39apop rbx
0020e39bret
0020e39cdb 0x58
0020e39dor [rbx-61], bl
0020e370
0020e370caml_nativeint_shift_left:
0020e370push rbx
0020e371mov rcx, rsi
0020e374mov rbx, [rdi+8]
0020e378xor edx, edx
0020e37asar rcx, 1
0020e37dmov esi, 8
0020e382lea rdi, [rip+0x674b3]
0020e389shl rbx, cl
0020e38cmov ecx, 1
0020e391call caml_alloc_custom
0020e396mov [rax+8], rbx
0020e39apop rbx
0020e39bret
0020e39cdb 0x58
0020e39dor [rbx-61], bl
0020e370
0020e3a0
0020e3a0caml_nativeint_shift_right:
0020e3a0push rbx
0020e3a1mov rcx, rsi
0020e3a4mov rbx, [rdi+8]
0020e3a8xor edx, edx
0020e3aasar rcx, 1
0020e3admov esi, 8
0020e3b2lea rdi, [rip+0x67483]
0020e3b9sar rbx, cl
0020e3bcmov ecx, 1
0020e3c1call caml_alloc_custom
0020e3c6mov [rax+8], rbx
0020e3capop rbx
0020e3cbret
0020e3ccdb 0x58
0020e3cdor [rbx-61], bl
0020e3a0
0020e3a0caml_nativeint_shift_right:
0020e3a0push rbx
0020e3a1mov rcx, rsi
0020e3a4mov rbx, [rdi+8]
0020e3a8xor edx, edx
0020e3aasar rcx, 1
0020e3admov esi, 8
0020e3b2lea rdi, [rip+0x67483]
0020e3b9sar rbx, cl
0020e3bcmov ecx, 1
0020e3c1call caml_alloc_custom
0020e3c6mov [rax+8], rbx
0020e3capop rbx
0020e3cbret
0020e3ccdb 0x58
0020e3cdor [rbx-61], bl
0020e3a0
0020e3d0
0020e3d0caml_nativeint_shift_right_unsigned:
0020e3d0push rbx
0020e3d1mov rcx, rsi
0020e3d4mov rbx, [rdi+8]
0020e3d8xor edx, edx
0020e3dasar rcx, 1
0020e3ddmov esi, 8
0020e3e2lea rdi, [rip+0x67453]
0020e3e9shr rbx, cl
0020e3ecmov ecx, 1
0020e3f1call caml_alloc_custom
0020e3f6mov [rax+8], rbx
0020e3fapop rbx
0020e3fbret
0020e3fcdb 0x58
0020e3fdor [rbx-61], bl
0020e3d0
0020e3d0caml_nativeint_shift_right_unsigned:
0020e3d0push rbx
0020e3d1mov rcx, rsi
0020e3d4mov rbx, [rdi+8]
0020e3d8xor edx, edx
0020e3dasar rcx, 1
0020e3ddmov esi, 8
0020e3e2lea rdi, [rip+0x67453]
0020e3e9shr rbx, cl
0020e3ecmov ecx, 1
0020e3f1call caml_alloc_custom
0020e3f6mov [rax+8], rbx
0020e3fapop rbx
0020e3fbret
0020e3fcdb 0x58
0020e3fdor [rbx-61], bl
0020e3d0
0020e400
0020e400caml_nativeint_direct_bswap:
0020e400mov rax, rdi
0020e403bswap rax
0020e406ret
0020e407db 0x48
0020e408bswap eax
0020e40aret
0020e400
0020e400caml_nativeint_direct_bswap:
0020e400mov rax, rdi
0020e403bswap rax
0020e406ret
0020e407db 0x48
0020e408bswap eax
0020e40aret
0020e400
0020e40b
0020e40b // align 0x10
0020e40b // align 0x10
0020e410
0020e410caml_nativeint_bswap:
0020e410push rbx
0020e411mov ecx, 1
0020e416mov rbx, [rdi+8]
0020e41axor edx, edx
0020e41cmov esi, 8
0020e421lea rdi, [rip+0x67414]
0020e428bswap rbx
0020e42bcall caml_alloc_custom
0020e430mov [rax+8], rbx
0020e434pop rbx
0020e435ret
0020e436db 0x58
0020e437or [rbx-61], bl
0020e410
0020e410caml_nativeint_bswap:
0020e410push rbx
0020e411mov ecx, 1
0020e416mov rbx, [rdi+8]
0020e41axor edx, edx
0020e41cmov esi, 8
0020e421lea rdi, [rip+0x67414]
0020e428bswap rbx
0020e42bcall caml_alloc_custom
0020e430mov [rax+8], rbx
0020e434pop rbx
0020e435ret
0020e436db 0x58
0020e437or [rbx-61], bl
0020e410
0020e43a
0020e43a // align 0x10
0020e43a // align 0x10
0020e440
0020e440caml_nativeint_of_int:
0020e440push rbx
0020e441mov ecx, 1
0020e446mov rbx, rdi
0020e449xor edx, edx
0020e44bmov esi, 8
0020e450lea rdi, [rip+0x673e5]
0020e457sar rbx, 1
0020e45acall caml_alloc_custom
0020e45fmov [rax+8], rbx
0020e463pop rbx
0020e464ret
0020e465db 0x58
0020e466or [rbx-61], bl
0020e440
0020e440caml_nativeint_of_int:
0020e440push rbx
0020e441mov ecx, 1
0020e446mov rbx, rdi
0020e449xor edx, edx
0020e44bmov esi, 8
0020e450lea rdi, [rip+0x673e5]
0020e457sar rbx, 1
0020e45acall caml_alloc_custom
0020e45fmov [rax+8], rbx
0020e463pop rbx
0020e464ret
0020e465db 0x58
0020e466or [rbx-61], bl
0020e440
0020e469
0020e469 // align 0x10
0020e469 // align 0x10
0020e470
0020e470caml_nativeint_to_int:
0020e470mov rax, [rdi+8]
0020e474lea rax, [rax+rax+1]
0020e479ret
0020e47adb 0x44
0020e47badd [rcx], al
0020e47dret
0020e470
0020e470caml_nativeint_to_int:
0020e470mov rax, [rdi+8]
0020e474lea rax, [rax+rax+1]
0020e479ret
0020e47adb 0x44
0020e47badd [rcx], al
0020e47dret
0020e470
0020e47e
0020e47e // align 0x10
0020e47e // align 0x10
0020e480
0020e480caml_nativeint_of_float_unboxed:
0020e480cvttsd2si rax, x0
0020e485ret
0020e486db 0x0f
0020e487sub al, -64
0020e489ret
0020e480
0020e480caml_nativeint_of_float_unboxed:
0020e480cvttsd2si rax, x0
0020e485ret
0020e486db 0x0f
0020e487sub al, -64
0020e489ret
0020e480
0020e48a
0020e48a // align 0x10
0020e48a // align 0x10
0020e490
0020e490caml_nativeint_of_float:
0020e490push rbx
0020e491cvttsd2si rbx, [rdi]
0020e496mov ecx, 1
0020e49bxor edx, edx
0020e49dmov esi, 8
0020e4a2lea rdi, [rip+0x67393]
0020e4a9call caml_alloc_custom
0020e4aemov [rax+8], rbx
0020e4b2pop rbx
0020e4b3ret
0020e4b4db 0x58
0020e4b5or [rbx-61], bl
0020e490
0020e490caml_nativeint_of_float:
0020e490push rbx
0020e491cvttsd2si rbx, [rdi]
0020e496mov ecx, 1
0020e49bxor edx, edx
0020e49dmov esi, 8
0020e4a2lea rdi, [rip+0x67393]
0020e4a9call caml_alloc_custom
0020e4aemov [rax+8], rbx
0020e4b2pop rbx
0020e4b3ret
0020e4b4db 0x58
0020e4b5or [rbx-61], bl
0020e490
0020e4b8
0020e4b8 // align 0x10
0020e4b8 // align 0x10
0020e4c0
0020e4c0caml_nativeint_to_float_unboxed:
0020e4c0pxor x0, x0
0020e4c4cvtsi2sd x0, rdi
0020e4c9ret
0020e4cadb 0x0f
0020e4cbsub al, bh
0020e4cdret
0020e4c0
0020e4c0caml_nativeint_to_float_unboxed:
0020e4c0pxor x0, x0
0020e4c4cvtsi2sd x0, rdi
0020e4c9ret
0020e4cadb 0x0f
0020e4cbsub al, bh
0020e4cdret
0020e4c0
0020e4ce
0020e4ce // align 0x10
0020e4ce // align 0x10
0020e4d0
0020e4d0caml_nativeint_to_float:
0020e4d0pxor x0, x0
0020e4d4cvtsi2sd x0, [rdi+8]
0020e4dajmp 0x2075f0
0020e4dfdb 0x0d
0020e4e0xchg eax, ecx
0020e4e1db 0xff
0020e4e2db 0xff
0020e4d0
0020e4d0caml_nativeint_to_float:
0020e4d0pxor x0, x0
0020e4d4cvtsi2sd x0, [rdi+8]
0020e4dajmp 0x2075f0
0020e4dfdb 0x0d
0020e4e0xchg eax, ecx
0020e4e1db 0xff
0020e4e2db 0xff
0020e4d0
0020e4e3
0020e4e3 // align 0x10
0020e4e3 // align 0x10
0020e4f0
0020e4f0caml_nativeint_of_int32:
0020e4f0push rbx
0020e4f1mov ecx, 1
0020e4f6movsxd rbx, [rdi+8]
0020e4faxor edx, edx
0020e4fcmov esi, 8
0020e501lea rdi, [rip+0x67334]
0020e508call caml_alloc_custom
0020e50dmov [rax+8], rbx
0020e511pop rbx
0020e512ret
0020e513db 0x58
0020e514or [rbx-61], bl
0020e4f0
0020e4f0caml_nativeint_of_int32:
0020e4f0push rbx
0020e4f1mov ecx, 1
0020e4f6movsxd rbx, [rdi+8]
0020e4faxor edx, edx
0020e4fcmov esi, 8
0020e501lea rdi, [rip+0x67334]
0020e508call caml_alloc_custom
0020e50dmov [rax+8], rbx
0020e511pop rbx
0020e512ret
0020e513db 0x58
0020e514or [rbx-61], bl
0020e4f0
0020e517
0020e517 // align 0x10
0020e517 // align 0x10
0020e520
0020e520caml_nativeint_to_int32:
0020e520push rbx
0020e521mov ecx, 1
0020e526mov rbx, [rdi+8]
0020e52axor edx, edx
0020e52cmov esi, 4
0020e531lea rdi, [rip+0x67384]
0020e538call caml_alloc_custom
0020e53dmov [rax+8], ebx
0020e540pop rbx
0020e541ret
0020e542db 0x58
0020e543or [rbx-61], bl
0020e520
0020e520caml_nativeint_to_int32:
0020e520push rbx
0020e521mov ecx, 1
0020e526mov rbx, [rdi+8]
0020e52axor edx, edx
0020e52cmov esi, 4
0020e531lea rdi, [rip+0x67384]
0020e538call caml_alloc_custom
0020e53dmov [rax+8], ebx
0020e540pop rbx
0020e541ret
0020e542db 0x58
0020e543or [rbx-61], bl
0020e520
0020e546
0020e546 // align 0x10
0020e546 // align 0x10
0020e550
0020e550caml_nativeint_compare_unboxed:
0020e550xor eax, eax
0020e552cmp rdi, rsi
0020e555setl dl
0020e558setg al
0020e55bmovzx edx, dl
0020e55esub rax, rdx
0020e561ret
0020e562db 0x48
0020e563sub eax, edx
0020e565ret
0020e550
0020e550caml_nativeint_compare_unboxed:
0020e550xor eax, eax
0020e552cmp rdi, rsi
0020e555setl dl
0020e558setg al
0020e55bmovzx edx, dl
0020e55esub rax, rdx
0020e561ret
0020e562db 0x48
0020e563sub eax, edx
0020e565ret
0020e550
0020e566
0020e566 // align 0x10
0020e566 // align 0x10
0020e570
0020e570caml_nativeint_compare:
0020e570mov rax, [rdi+8]
0020e574cmp [rsi+8], rax
0020e578setl al
0020e57bsetg dl
0020e57emovzx edx, dl
0020e581movzx eax, al
0020e584sub rax, rdx
0020e587lea rax, [rax+rax+1]
0020e58cret
0020e58ddb 0x44
0020e58eadd [rcx], al
0020e590ret
0020e570
0020e570caml_nativeint_compare:
0020e570mov rax, [rdi+8]
0020e574cmp [rsi+8], rax
0020e578setl al
0020e57bsetg dl
0020e57emovzx edx, dl
0020e581movzx eax, al
0020e584sub rax, rdx
0020e587lea rax, [rax+rax+1]
0020e58cret
0020e58ddb 0x44
0020e58eadd [rcx], al
0020e590ret
0020e570
0020e591
0020e591 // align 0x10
0020e591 // align 0x10
0020e5a0
0020e5a0caml_nativeint_format:
0020e5a0push rbp
0020e5a1push rbx
0020e5a2sub rsp, 56
0020e5a6mov rbx, [0x28]
0020e5afmov [rsp+40], rbx
0020e5b4mov rbx, rsi
0020e5b7mov rdx, rsp
0020e5balea rsi, [rip+0x20f9a]
0020e5c1call fn_20cff0
0020e5c6xor eax, eax
0020e5c8mov rdi, rsp
0020e5cbmov rsi, [rbx+8]
0020e5cfcall caml_alloc_sprintf
0020e5d4mov rdx, [rsp+40]
0020e5d9sub rdx, [0x28]
0020e5e2jne 0x20e5ef
0020e5e4add rsp, 56
0020e5e8pop rbx
0020e5e9pop rbp
0020e5earet
0020e5ebcall fn_f4590
0020e5f0db 0x9c
0020e5f1pop rdi
0020e5f2out dx, al
0020e5f3db 0xff
0020e5a0
0020e5a0caml_nativeint_format:
0020e5a0push rbp
0020e5a1push rbx
0020e5a2sub rsp, 56
0020e5a6mov rbx, [0x28]
0020e5afmov [rsp+40], rbx
0020e5b4mov rbx, rsi
0020e5b7mov rdx, rsp
0020e5balea rsi, [rip+0x20f9a]
0020e5c1call fn_20cff0
0020e5c6xor eax, eax
0020e5c8mov rdi, rsp
0020e5cbmov rsi, [rbx+8]
0020e5cfcall caml_alloc_sprintf
0020e5d4mov rdx, [rsp+40]
0020e5d9sub rdx, [0x28]
0020e5e2jne 0x20e5ef
0020e5e4add rsp, 56
0020e5e8pop rbx
0020e5e9pop rbp
0020e5earet
0020e5ebcall fn_f4590
0020e5f0db 0x9c
0020e5f1pop rdi
0020e5f2out dx, al
0020e5f3db 0xff
0020e5a0
0020e5f4
0020e5f4 // align 0x10
0020e5f4 // align 0x10
0020e600
0020e600caml_nativeint_of_string:
0020e600push rbx
0020e601lea rdx, [rip+0x20a7c]
0020e608mov esi, 64
0020e60dcall fn_20d210
0020e612mov ecx, 1
0020e617xor edx, edx
0020e619mov esi, 8
0020e61elea rdi, [rip+0x67217]
0020e625mov rbx, rax
0020e628call caml_alloc_custom
0020e62dmov [rax+8], rbx
0020e631pop rbx
0020e632ret
0020e633db 0x58
0020e634or [rbx-61], bl
0020e600
0020e600caml_nativeint_of_string:
0020e600push rbx
0020e601lea rdx, [rip+0x20a7c]
0020e608mov esi, 64
0020e60dcall fn_20d210
0020e612mov ecx, 1
0020e617xor edx, edx
0020e619mov esi, 8
0020e61elea rdi, [rip+0x67217]
0020e625mov rbx, rax
0020e628call caml_alloc_custom
0020e62dmov [rax+8], rbx
0020e631pop rbx
0020e632ret
0020e633db 0x58
0020e634or [rbx-61], bl
0020e600
0020e637
0020e637 // align 0x10
0020e637 // align 0x10
0020e640
0020e640fn_20e640:
0020e640mov rdx, [rsi+8]
0020e644xor eax, eax
0020e646cmp [rdi+8], rdx
0020e64aje 0x20e655
0020e64csbb eax, eax
0020e64eor eax, 1
0020e651ret
0020e652db 0x83
0020e653db 0xc8
0020e654add ebx, eax
0020e640
0020e640fn_20e640:
0020e640mov rdx, [rsi+8]
0020e644xor eax, eax
0020e646cmp [rdi+8], rdx
0020e64aje 0x20e655
0020e64csbb eax, eax
0020e64eor eax, 1
0020e651ret
0020e652db 0x83
0020e653db 0xc8
0020e654add ebx, eax
0020e640
0020e656
0020e656 // align 0x10
0020e656 // align 0x10
0020e660
0020e660fn_20e660:
0020e660mov rax, [rdi+8]
0020e664ret
0020e665db 0x8b
0020e666or r11b, r8b
0020e660
0020e660fn_20e660:
0020e660mov rax, [rdi+8]
0020e664ret
0020e665db 0x8b
0020e666or r11b, r8b
0020e660
0020e669
0020e669 // align 0x10
0020e669 // align 0x10
0020e670
0020e670fn_20e670:
0020e670push rbp
0020e671push rbx
0020e672mov rbx, rdi
0020e675sub rsp, 8
0020e679call caml_check_pending_actions
0020e67etest eax, eax
0020e680je 0x20e693
0020e682test [rbx+104], 4
0020e686jne 0x20e6c8
0020e688call caml_process_pending_actions
0020e68dtest [rbx+104], 4
0020e691jne 0x20e6a0
0020e693
0020e693loc_20e693:
0020e693add rsp, 8
0020e697pop rbx
0020e698pop rbp
0020e699ret
0020e69a
0020e69a 66 0f 1f 44 00 00 f..D..
0020e6a0
0020e6a0loc_20e6a0:
0020e6a0lea rbp, [rbx+40]
0020e6a4mov rdi, rbp
0020e6a7call fn_f4780
0020e6accmp eax, 16
0020e6afje 0x20e6f0
0020e6b1test eax, eax
0020e6b3jne 0x20e6fa
0020e6b5
0020e6b5loc_20e6b5:
0020e6b5mov [0xfffffffffffffff0], rbx
0020e6beadd rsp, 8
0020e6c2pop rbx
0020e6c3pop rbp
0020e6c4ret
0020e6c5
0020e6c5 0f 1f 00 ...
0020e6c8
0020e6c8loc_20e6c8:
0020e6c8lea rdi, [rbx+40]
0020e6cccall fn_f47c0
0020e6d1test eax, eax
0020e6d3jne 0x20e708
0020e6d5mov [0xfffffffffffffff0], 0
0020e6e2call caml_process_pending_actions
0020e6e7test [rbx+104], 4
0020e6ebje 0x20e693
0020e6edjmp 0x20e6a0
0020e6ef
0020e6ef 90 .
0020e6f0
0020e6f0loc_20e6f0:
0020e6f0mov rdi, rbp
0020e6f3call caml_plat_lock_non_blocking_actual
0020e6f8jmp 0x20e6b5
0020e6fa
0020e6faloc_20e6fa:
0020e6famov esi, eax
0020e6fclea rdi, [rip+0x20e24]
0020e703call caml_plat_fatal_error
0020e708
0020e708loc_20e708:
0020e708mov esi, eax
0020e70alea rdi, [rip+0x20e09]
0020e711call caml_plat_fatal_error
0020e670
0020e670fn_20e670:
0020e670push rbp
0020e671push rbx
0020e672mov rbx, rdi
0020e675sub rsp, 8
0020e679call caml_check_pending_actions
0020e67etest eax, eax
0020e680je 0x20e693
0020e682test [rbx+104], 4
0020e686jne 0x20e6c8
0020e688call caml_process_pending_actions
0020e68dtest [rbx+104], 4
0020e691jne 0x20e6a0
0020e693
0020e693loc_20e693:
0020e693add rsp, 8
0020e697pop rbx
0020e698pop rbp
0020e699ret
0020e69a
0020e69a 66 0f 1f 44 00 00 f..D..
0020e6a0
0020e6a0loc_20e6a0:
0020e6a0lea rbp, [rbx+40]
0020e6a4mov rdi, rbp
0020e6a7call fn_f4780
0020e6accmp eax, 16
0020e6afje 0x20e6f0
0020e6b1test eax, eax
0020e6b3jne 0x20e6fa
0020e6b5
0020e6b5loc_20e6b5:
0020e6b5mov [0xfffffffffffffff0], rbx
0020e6beadd rsp, 8
0020e6c2pop rbx
0020e6c3pop rbp
0020e6c4ret
0020e6c5
0020e6c5 0f 1f 00 ...
0020e6c8
0020e6c8loc_20e6c8:
0020e6c8lea rdi, [rbx+40]
0020e6cccall fn_f47c0
0020e6d1test eax, eax
0020e6d3jne 0x20e708
0020e6d5mov [0xfffffffffffffff0], 0
0020e6e2call caml_process_pending_actions
0020e6e7test [rbx+104], 4
0020e6ebje 0x20e693
0020e6edjmp 0x20e6a0
0020e6ef
0020e6ef 90 .
0020e6f0
0020e6f0loc_20e6f0:
0020e6f0mov rdi, rbp
0020e6f3call caml_plat_lock_non_blocking_actual
0020e6f8jmp 0x20e6b5
0020e6fa
0020e6faloc_20e6fa:
0020e6famov esi, eax
0020e6fclea rdi, [rip+0x20e24]
0020e703call caml_plat_fatal_error
0020e708
0020e708loc_20e708:
0020e708mov esi, eax
0020e70alea rdi, [rip+0x20e09]
0020e711call caml_plat_fatal_error
0020e670
0020e716
0020e716 // align 0x10
0020e716 // align 0x10
0020e720
0020e720caml_finalize_channel:
0020e720push rbp
0020e721push rbx
0020e722sub rsp, 8
0020e726mov rbx, [rdi+8]
0020e72atest [rbx+104], 4
0020e72eje 0x20e786
0020e730cmp [rbx], -1
0020e733je 0x20e74d
0020e735cmp [rbx+120], 0
0020e73aje 0x20e74d
0020e73ccall caml_runtime_warnings_active
0020e741test eax, eax
0020e743jne 0x20e880
0020e749cmp [rbx+32], 0
0020e74eje 0x20e800
0020e754lea rbp, [rip+0x16a2c1]
0020e75bmov rdi, rbp
0020e75ecall fn_f4710
0020e763test eax, eax
0020e765jne 0x20e8d8
0020e76bsub [rbx+96], 1
0020e770je 0x20e790
0020e772mov rdi, rbp
0020e775call fn_f47c0
0020e77atest eax, eax
0020e77cjne 0x20e8ca
0020e782add rsp, 8
0020e786
0020e786loc_20e786:
0020e786pop rbx
0020e787pop rbp
0020e788ret
0020e789db 0x08
0020e78apop rbx
0020e78bpop rbp
0020e78cret
0020e78d
0020e78d 0f 1f 00 ...
0020e790
0020e790loc_20e790:
0020e790mov rax, [rbx+88]
0020e794test rax, rax
0020e797je 0x20e850
0020e79dmov rdx, [rbx+80]
0020e7a1mov [rax+80], rdx
0020e7a5test rdx, rdx
0020e7a8je 0x20e7b2
0020e7aamov rax, [rbx+88]
0020e7aemov [rdx+88], rax
0020e7b2
0020e7b2loc_20e7b2:
0020e7b2pxor x0, x0
0020e7b6mov rdi, rbp
0020e7b9movups [rbx+80], x0
0020e7bdcall fn_f47c0
0020e7c2test eax, eax
0020e7c4jne 0x20e8ca
0020e7calea rdi, [rbx+40]
0020e7cecall caml_plat_mutex_free
0020e7d3mov rdi, [rbx+120]
0020e7d7call caml_stat_free
0020e7dccmp [rbx], -1
0020e7dfje 0x20e7ea
0020e7e1mov rdi, [rbx+112]
0020e7e5call caml_stat_free
0020e7ea
0020e7ealoc_20e7ea:
0020e7eaadd rsp, 8
0020e7eemov rdi, rbx
0020e7f1pop rbx
0020e7f2pop rbp
0020e7f3jmp 0x216690
0020e7f8
0020e7f8 0f 1f 84 00 00 00 00 00 ........
0020e800
0020e800loc_20e800:
0020e800mov rax, [rbx+112]
0020e804cmp [rbx+24], rax
0020e808je 0x20e758
0020e80ecmp [rbx+120], 0
0020e813je 0x20e822
0020e815call caml_runtime_warnings_active
0020e81atest eax, eax
0020e81cjne 0x20e8a8
0020e822
0020e822loc_20e822:
0020e822lea rbp, [rip+0x16a1f7]
0020e829mov rdi, rbp
0020e82ccall fn_f4710
0020e831test eax, eax
0020e833jne 0x20e8d8
0020e839sub [rbx+96], 1
0020e83emov rdi, rbp
0020e841call fn_f47c0
0020e846test eax, eax
0020e848je 0x20e786
0020e84ejmp 0x20e8ca
0020e850
0020e850loc_20e850:
0020e850mov rax, [rip+0x16a1f1]
0020e857mov rax, [rax+80]
0020e85bmov [rip+0x16a1e6], rax
0020e862test rax, rax
0020e865je 0x20e7b2
0020e86bmov [rax+88], 0
0020e873jmp 0x20e7b2
0020e878
0020e878 0f 1f 84 00 00 00 00 00 ........
0020e880
0020e880loc_20e880:
0020e880mov rcx, [rbx+120]
0020e884mov rdi, [rip+0x169c55]
0020e88blea rdx, [rip+0x21fc6]
0020e892xor eax, eax
0020e894mov esi, 1
0020e899call fn_f41b0
0020e89ejmp 0x20e74d
0020e8a3
0020e8a3 0f 1f 44 00 00 ..D..
0020e8a8
0020e8a8loc_20e8a8:
0020e8a8mov rcx, [rip+0x169c31]
0020e8afmov edx, 42
0020e8b4mov esi, 1
0020e8b9lea rdi, [rip+0x21fd8]
0020e8c0call fn_f4700
0020e8c5jmp 0x20e822
0020e8ca
0020e8caloc_20e8ca:
0020e8camov esi, eax
0020e8cclea rdi, [rip+0x20c47]
0020e8d3call caml_plat_fatal_error
0020e8d8
0020e8d8loc_20e8d8:
0020e8d8mov esi, eax
0020e8dalea rdi, [rip+0x20c2e]
0020e8e1call caml_plat_fatal_error
0020e720
0020e720caml_finalize_channel:
0020e720push rbp
0020e721push rbx
0020e722sub rsp, 8
0020e726mov rbx, [rdi+8]
0020e72atest [rbx+104], 4
0020e72eje 0x20e786
0020e730cmp [rbx], -1
0020e733je 0x20e74d
0020e735cmp [rbx+120], 0
0020e73aje 0x20e74d
0020e73ccall caml_runtime_warnings_active
0020e741test eax, eax
0020e743jne 0x20e880
0020e749cmp [rbx+32], 0
0020e74eje 0x20e800
0020e754lea rbp, [rip+0x16a2c1]
0020e75bmov rdi, rbp
0020e75ecall fn_f4710
0020e763test eax, eax
0020e765jne 0x20e8d8
0020e76bsub [rbx+96], 1
0020e770je 0x20e790
0020e772mov rdi, rbp
0020e775call fn_f47c0
0020e77atest eax, eax
0020e77cjne 0x20e8ca
0020e782add rsp, 8
0020e786
0020e786loc_20e786:
0020e786pop rbx
0020e787pop rbp
0020e788ret
0020e789db 0x08
0020e78apop rbx
0020e78bpop rbp
0020e78cret
0020e78d
0020e78d 0f 1f 00 ...
0020e790
0020e790loc_20e790:
0020e790mov rax, [rbx+88]
0020e794test rax, rax
0020e797je 0x20e850
0020e79dmov rdx, [rbx+80]
0020e7a1mov [rax+80], rdx
0020e7a5test rdx, rdx
0020e7a8je 0x20e7b2
0020e7aamov rax, [rbx+88]
0020e7aemov [rdx+88], rax
0020e7b2
0020e7b2loc_20e7b2:
0020e7b2pxor x0, x0
0020e7b6mov rdi, rbp
0020e7b9movups [rbx+80], x0
0020e7bdcall fn_f47c0
0020e7c2test eax, eax
0020e7c4jne 0x20e8ca
0020e7calea rdi, [rbx+40]
0020e7cecall caml_plat_mutex_free
0020e7d3mov rdi, [rbx+120]
0020e7d7call caml_stat_free
0020e7dccmp [rbx], -1
0020e7dfje 0x20e7ea
0020e7e1mov rdi, [rbx+112]
0020e7e5call caml_stat_free
0020e7ea
0020e7ealoc_20e7ea:
0020e7eaadd rsp, 8
0020e7eemov rdi, rbx
0020e7f1pop rbx
0020e7f2pop rbp
0020e7f3jmp 0x216690
0020e7f8
0020e7f8 0f 1f 84 00 00 00 00 00 ........
0020e800
0020e800loc_20e800:
0020e800mov rax, [rbx+112]
0020e804cmp [rbx+24], rax
0020e808je 0x20e758
0020e80ecmp [rbx+120], 0
0020e813je 0x20e822
0020e815call caml_runtime_warnings_active
0020e81atest eax, eax
0020e81cjne 0x20e8a8
0020e822
0020e822loc_20e822:
0020e822lea rbp, [rip+0x16a1f7]
0020e829mov rdi, rbp
0020e82ccall fn_f4710
0020e831test eax, eax
0020e833jne 0x20e8d8
0020e839sub [rbx+96], 1
0020e83emov rdi, rbp
0020e841call fn_f47c0
0020e846test eax, eax
0020e848je 0x20e786
0020e84ejmp 0x20e8ca
0020e850
0020e850loc_20e850:
0020e850mov rax, [rip+0x16a1f1]
0020e857mov rax, [rax+80]
0020e85bmov [rip+0x16a1e6], rax
0020e862test rax, rax
0020e865je 0x20e7b2
0020e86bmov [rax+88], 0
0020e873jmp 0x20e7b2
0020e878
0020e878 0f 1f 84 00 00 00 00 00 ........
0020e880
0020e880loc_20e880:
0020e880mov rcx, [rbx+120]
0020e884mov rdi, [rip+0x169c55]
0020e88blea rdx, [rip+0x21fc6]
0020e892xor eax, eax
0020e894mov esi, 1
0020e899call fn_f41b0
0020e89ejmp 0x20e74d
0020e8a3
0020e8a3 0f 1f 44 00 00 ..D..
0020e8a8
0020e8a8loc_20e8a8:
0020e8a8mov rcx, [rip+0x169c31]
0020e8afmov edx, 42
0020e8b4mov esi, 1
0020e8b9lea rdi, [rip+0x21fd8]
0020e8c0call fn_f4700
0020e8c5jmp 0x20e822
0020e8ca
0020e8caloc_20e8ca:
0020e8camov esi, eax
0020e8cclea rdi, [rip+0x20c47]
0020e8d3call caml_plat_fatal_error
0020e8d8
0020e8d8loc_20e8d8:
0020e8d8mov esi, eax
0020e8dalea rdi, [rip+0x20c2e]
0020e8e1call caml_plat_fatal_error
0020e720
0020e8e6
0020e8e6 // align 0x10
0020e8e6 // align 0x10
0020e8f0
0020e8f0caml_channel_lock:
0020e8f0push rbp
0020e8f1lea rbp, [rdi+40]
0020e8f5push rbx
0020e8f6mov rbx, rdi
0020e8f9mov rdi, rbp
0020e8fcsub rsp, 8
0020e900call fn_f4780
0020e905cmp eax, 16
0020e908je 0x20e928
0020e90atest eax, eax
0020e90cjne 0x20e940
0020e90emov [0xfffffffffffffff0], rbx
0020e917add rsp, 8
0020e91bpop rbx
0020e91cpop rbp
0020e91dret
0020e91edb 0x08
0020e91fpop rbx
0020e920pop rbp
0020e921ret
0020e922
0020e922 66 0f 1f 44 00 00 f..D..
0020e928
0020e928loc_20e928:
0020e928mov rdi, rbp
0020e92bcall caml_plat_lock_non_blocking_actual
0020e930mov [0xfffffffffffffff0], rbx
0020e939add rsp, 8
0020e93dpop rbx
0020e93epop rbp
0020e93fret
0020e940
0020e940loc_20e940:
0020e940mov esi, eax
0020e942lea rdi, [rip+0x20bde]
0020e949call caml_plat_fatal_error
0020e8f0
0020e8f0caml_channel_lock:
0020e8f0push rbp
0020e8f1lea rbp, [rdi+40]
0020e8f5push rbx
0020e8f6mov rbx, rdi
0020e8f9mov rdi, rbp
0020e8fcsub rsp, 8
0020e900call fn_f4780
0020e905cmp eax, 16
0020e908je 0x20e928
0020e90atest eax, eax
0020e90cjne 0x20e940
0020e90emov [0xfffffffffffffff0], rbx
0020e917add rsp, 8
0020e91bpop rbx
0020e91cpop rbp
0020e91dret
0020e91edb 0x08
0020e91fpop rbx
0020e920pop rbp
0020e921ret
0020e922
0020e922 66 0f 1f 44 00 00 f..D..
0020e928
0020e928loc_20e928:
0020e928mov rdi, rbp
0020e92bcall caml_plat_lock_non_blocking_actual
0020e930mov [0xfffffffffffffff0], rbx
0020e939add rsp, 8
0020e93dpop rbx
0020e93epop rbp
0020e93fret
0020e940
0020e940loc_20e940:
0020e940mov esi, eax
0020e942lea rdi, [rip+0x20bde]
0020e949call caml_plat_fatal_error
0020e8f0
0020e94e
0020e94e // align 0x10
0020e94e // align 0x10
0020e950
0020e950caml_channel_unlock:
0020e950sub rsp, 8
0020e954add rdi, 40
0020e958call fn_f47c0
0020e95dtest eax, eax
0020e95fjne 0x20e977
0020e961mov [0xfffffffffffffff0], 0
0020e96eadd rsp, 8
0020e972ret
0020e973mov esi, eax
0020e975lea rdi, [rip+0x20b9a]
0020e97ccall caml_plat_fatal_error
0020e981db 0x4b
0020e982rol [rax], 1
0020e984db 0x00
0020e950
0020e950caml_channel_unlock:
0020e950sub rsp, 8
0020e954add rdi, 40
0020e958call fn_f47c0
0020e95dtest eax, eax
0020e95fjne 0x20e977
0020e961mov [0xfffffffffffffff0], 0
0020e96eadd rsp, 8
0020e972ret
0020e973mov esi, eax
0020e975lea rdi, [rip+0x20b9a]
0020e97ccall caml_plat_fatal_error
0020e981db 0x4b
0020e982rol [rax], 1
0020e984db 0x00
0020e950
0020e985
0020e985 // align 0x10
0020e985 // align 0x10
0020e990
0020e990caml_channel_cleanup_on_raise:
0020e990mov rdi, [0xfffffffffffffff0]
0020e999test rdi, rdi
0020e99cje 0x20e9c8
0020e99esub rsp, 8
0020e9a2add rdi, 40
0020e9a6call fn_f47c0
0020e9abtest eax, eax
0020e9adjne 0x20e9c9
0020e9afmov [0xfffffffffffffff0], 0
0020e9bcadd rsp, 8
0020e9c0ret
0020e9c1db 0x83
0020e9c2db 0xc4
0020e9c3or bl, al
0020e9c5
0020e9c5 0f 1f 00 ...
0020e9c8
0020e9c8loc_20e9c8:
0020e9c8ret
0020e9c9
0020e9c9loc_20e9c9:
0020e9c9mov esi, eax
0020e9cblea rdi, [rip+0x20b48]
0020e9d2call caml_plat_fatal_error
0020e990
0020e990caml_channel_cleanup_on_raise:
0020e990mov rdi, [0xfffffffffffffff0]
0020e999test rdi, rdi
0020e99cje 0x20e9c8
0020e99esub rsp, 8
0020e9a2add rdi, 40
0020e9a6call fn_f47c0
0020e9abtest eax, eax
0020e9adjne 0x20e9c9
0020e9afmov [0xfffffffffffffff0], 0
0020e9bcadd rsp, 8
0020e9c0ret
0020e9c1db 0x83
0020e9c2db 0xc4
0020e9c3or bl, al
0020e9c5
0020e9c5 0f 1f 00 ...
0020e9c8
0020e9c8loc_20e9c8:
0020e9c8ret
0020e9c9
0020e9c9loc_20e9c9:
0020e9c9mov esi, eax
0020e9cblea rdi, [rip+0x20b48]
0020e9d2call caml_plat_fatal_error
0020e990
0020e9d7
0020e9d7 // align 0x10
0020e9d7 // align 0x10
0020e9e0
0020e9e0caml_open_descriptor_in:
0020e9e0push rbp
0020e9e1mov ebp, edi
0020e9e3mov edi, 128
0020e9e8push rbx
0020e9e9sub rsp, 8
0020e9edcall caml_stat_alloc
0020e9f2mov edi, 0x10000
0020e9f7mov rbx, rax
0020e9facall caml_stat_alloc_noexc
0020e9ffmov [rbx+112], rax
0020ea03test rax, rax
0020ea06je 0x20ea7d
0020ea08mov [rbx], ebp
0020ea0acall caml_enter_blocking_section_no_pending
0020ea0fmov edi, ebp
0020ea11mov edx, 1
0020ea16xor esi, esi
0020ea18call fn_f4660
0020ea1dmov [rbx+8], rax
0020ea21call caml_leave_blocking_section
0020ea26mov rax, [rbx+112]
0020ea2alea rdi, [rbx+40]
0020ea2elea rcx, [rax+0x10000]
0020ea35mov [rbx+32], rax
0020ea39movq x1, rax
0020ea3emovq x0, rcx
0020ea43punpcklqdq x0, x1
0020ea47movups [rbx+16], x0
0020ea4bcall caml_plat_mutex_init
0020ea50pxor x0, x0
0020ea54mov rax, rbx
0020ea57mov [rbx+96], 0
0020ea5fmov [rbx+120], 0
0020ea67mov [rbx+104], 0
0020ea6emovups [rbx+80], x0
0020ea72add rsp, 8
0020ea76pop rbx
0020ea77pop rbp
0020ea78ret
0020ea79mov rdi, rbx
0020ea7ccall caml_stat_free
0020ea81call caml_raise_out_of_memory
0020ea86db 0xb6
0020ea87jg 0x20ea88
0020ea89db 0xff
0020e9e0
0020e9e0caml_open_descriptor_in:
0020e9e0push rbp
0020e9e1mov ebp, edi
0020e9e3mov edi, 128
0020e9e8push rbx
0020e9e9sub rsp, 8
0020e9edcall caml_stat_alloc
0020e9f2mov edi, 0x10000
0020e9f7mov rbx, rax
0020e9facall caml_stat_alloc_noexc
0020e9ffmov [rbx+112], rax
0020ea03test rax, rax
0020ea06je 0x20ea7d
0020ea08mov [rbx], ebp
0020ea0acall caml_enter_blocking_section_no_pending
0020ea0fmov edi, ebp
0020ea11mov edx, 1
0020ea16xor esi, esi
0020ea18call fn_f4660
0020ea1dmov [rbx+8], rax
0020ea21call caml_leave_blocking_section
0020ea26mov rax, [rbx+112]
0020ea2alea rdi, [rbx+40]
0020ea2elea rcx, [rax+0x10000]
0020ea35mov [rbx+32], rax
0020ea39movq x1, rax
0020ea3emovq x0, rcx
0020ea43punpcklqdq x0, x1
0020ea47movups [rbx+16], x0
0020ea4bcall caml_plat_mutex_init
0020ea50pxor x0, x0
0020ea54mov rax, rbx
0020ea57mov [rbx+96], 0
0020ea5fmov [rbx+120], 0
0020ea67mov [rbx+104], 0
0020ea6emovups [rbx+80], x0
0020ea72add rsp, 8
0020ea76pop rbx
0020ea77pop rbp
0020ea78ret
0020ea79mov rdi, rbx
0020ea7ccall caml_stat_free
0020ea81call caml_raise_out_of_memory
0020ea86db 0xb6
0020ea87jg 0x20ea88
0020ea89db 0xff
0020e9e0
0020ea8a
0020ea8a // align 0x10
0020ea8a // align 0x10
0020ea90
0020ea90caml_open_descriptor_out:
0020ea90sub rsp, 8
0020ea94call caml_open_descriptor_in
0020ea99mov [rax+32], 0
0020eaa1add rsp, 8
0020eaa5ret
0020eaa6db 0x83
0020eaa7db 0xc4
0020eaa8or bl, al
0020ea90
0020ea90caml_open_descriptor_out:
0020ea90sub rsp, 8
0020ea94call caml_open_descriptor_in
0020ea99mov [rax+32], 0
0020eaa1add rsp, 8
0020eaa5ret
0020eaa6db 0x83
0020eaa7db 0xc4
0020eaa8or bl, al
0020ea90
0020eaaa
0020eaaa // align 0x10
0020eaaa // align 0x10
0020eab0
0020eab0caml_close_channel:
0020eab0push rbx
0020eab1mov rbx, rdi
0020eab4mov edi, [rdi]
0020eab6call fn_f4140
0020eabblea rdi, [rbx+40]
0020eabfcall caml_plat_mutex_free
0020eac4mov rdi, [rbx+120]
0020eac8call caml_stat_free
0020eacdmov rdi, [rbx+112]
0020ead1call caml_stat_free
0020ead6mov rdi, rbx
0020ead9pop rbx
0020eadajmp 0x216690
0020eadfdb 0xad
0020eae0jnp 0x20eae2
0020eae2db 0x00
0020eab0
0020eab0caml_close_channel:
0020eab0push rbx
0020eab1mov rbx, rdi
0020eab4mov edi, [rdi]
0020eab6call fn_f4140
0020eabblea rdi, [rbx+40]
0020eabfcall caml_plat_mutex_free
0020eac4mov rdi, [rbx+120]
0020eac8call caml_stat_free
0020eacdmov rdi, [rbx+112]
0020ead1call caml_stat_free
0020ead6mov rdi, rbx
0020ead9pop rbx
0020eadajmp 0x216690
0020eadfdb 0xad
0020eae0jnp 0x20eae2
0020eae2db 0x00
0020eab0
0020eae3
0020eae3 // align 0x10
0020eae3 // align 0x10
0020eaf0
0020eaf0caml_channel_size:
0020eaf0push r12
0020eaf2push rbp
0020eaf3push rbx
0020eaf4mov rbx, rdi
0020eaf7call fn_20e670
0020eafcmov r12l, [rbx]
0020eafftest [rbx+104], 8
0020eb03je 0x20eb60
0020eb05call caml_enter_blocking_section_no_pending
0020eb0amov edx, 1
0020eb0fxor esi, esi
0020eb11mov edi, r12l
0020eb14call fn_f4660
0020eb19mov rbx, rax
0020eb1ccmp rax, -1
0020eb20je 0x20eb71
0020eb22mov edx, 2
0020eb27xor esi, esi
0020eb29mov edi, r12l
0020eb2ccall fn_f4660
0020eb31mov rbp, rax
0020eb34cmp rax, -1
0020eb38je 0x20eb71
0020eb3axor edx, edx
0020eb3cmov rsi, rbx
0020eb3fmov edi, r12l
0020eb42call fn_f4660
0020eb47cmp rax, rbx
0020eb4ajne 0x20eb71
0020eb4ccall caml_leave_blocking_section
0020eb51mov rax, rbp
0020eb54pop rbx
0020eb55pop rbp
0020eb56pop r12
0020eb58ret
0020eb59db 0x5d
0020eb5apop r12
0020eb5cret
0020eb5d
0020eb5d 0f 1f 00 ...
0020eb60
0020eb60loc_20eb60:
0020eb60mov rbx, [rbx+8]
0020eb64call caml_enter_blocking_section_no_pending
0020eb69cmp rbx, -1
0020eb6djne 0x20eb26
0020eb6fjmp 0x20eb0e
0020eb71
0020eb71loc_20eb71:
0020eb71call caml_leave_blocking_section
0020eb76mov edi, 1
0020eb7bcall caml_sys_error
0020eaf0
0020eaf0caml_channel_size:
0020eaf0push r12
0020eaf2push rbp
0020eaf3push rbx
0020eaf4mov rbx, rdi
0020eaf7call fn_20e670
0020eafcmov r12l, [rbx]
0020eafftest [rbx+104], 8
0020eb03je 0x20eb60
0020eb05call caml_enter_blocking_section_no_pending
0020eb0amov edx, 1
0020eb0fxor esi, esi
0020eb11mov edi, r12l
0020eb14call fn_f4660
0020eb19mov rbx, rax
0020eb1ccmp rax, -1
0020eb20je 0x20eb71
0020eb22mov edx, 2
0020eb27xor esi, esi
0020eb29mov edi, r12l
0020eb2ccall fn_f4660
0020eb31mov rbp, rax
0020eb34cmp rax, -1
0020eb38je 0x20eb71
0020eb3axor edx, edx
0020eb3cmov rsi, rbx
0020eb3fmov edi, r12l
0020eb42call fn_f4660
0020eb47cmp rax, rbx
0020eb4ajne 0x20eb71
0020eb4ccall caml_leave_blocking_section
0020eb51mov rax, rbp
0020eb54pop rbx
0020eb55pop rbp
0020eb56pop r12
0020eb58ret
0020eb59db 0x5d
0020eb5apop r12
0020eb5cret
0020eb5d
0020eb5d 0f 1f 00 ...
0020eb60
0020eb60loc_20eb60:
0020eb60mov rbx, [rbx+8]
0020eb64call caml_enter_blocking_section_no_pending
0020eb69cmp rbx, -1
0020eb6djne 0x20eb26
0020eb6fjmp 0x20eb0e
0020eb71
0020eb71loc_20eb71:
0020eb71call caml_leave_blocking_section
0020eb76mov edi, 1
0020eb7bcall caml_sys_error
0020eaf0
0020eb80
0020eb80fn_20eb80:
0020eb80push r13
0020eb82push r12
0020eb84push rbp
0020eb85push rbx
0020eb86sub rsp, 104
0020eb8amov [rsp+8], rdi
0020eb8fmov rax, [0x28]
0020eb98mov [rsp+88], rax
0020eb9dmov rax, [rip+0x67444]
0020eba4mov rbx, [rax]
0020eba8lea rax, [rsp+16]
0020ebadmov rbp, [rbx+160]
0020ebb4mov [rbx+160], rax
0020ebbbmov eax, 1
0020ebc0movq x0, rax
0020ebc5lea rax, [rsp+8]
0020ebcapunpcklqdq x0, x0
0020ebcemov [rsp+16], rbp
0020ebd3mov [rsp+40], rax
0020ebd8movups [rsp+24], x0
0020ebddmov r13, [rdi+8]
0020ebe1lea r12, [r13+40]
0020ebe5mov rdi, r12
0020ebe8call fn_f4780
0020ebedcmp eax, 16
0020ebf0je 0x20ec50
0020ebf2test eax, eax
0020ebf4jne 0x20ec6d
0020ebf6
0020ebf6loc_20ebf6:
0020ebf6mov [0xfffffffffffffff0], r13
0020ebffmov rax, [rsp+8]
0020ec04mov rdi, [rax+8]
0020ec08call caml_channel_size
0020ec0dmov rdi, r12
0020ec10mov r13, rax
0020ec13call fn_f47c0
0020ec18test eax, eax
0020ec1ajne 0x20ec5f
0020ec1cmov [0xfffffffffffffff0], 0
0020ec29mov [rbx+160], rbp
0020ec30mov rax, [rsp+88]
0020ec35sub rax, [0x28]
0020ec3ejne 0x20ec5a
0020ec40add rsp, 104
0020ec44mov rax, r13
0020ec47pop rbx
0020ec48pop rbp
0020ec49pop r12
0020ec4bpop r13
0020ec4dret
0020ec4e
0020ec4e 66 90 f.
0020ec50
0020ec50loc_20ec50:
0020ec50mov rdi, r12
0020ec53call caml_plat_lock_non_blocking_actual
0020ec58jmp 0x20ebf6
0020ec5a
0020ec5aloc_20ec5a:
0020ec5acall fn_f4590
0020ec5f
0020ec5floc_20ec5f:
0020ec5fmov esi, eax
0020ec61lea rdi, [rip+0x208b2]
0020ec68call caml_plat_fatal_error
0020ec6d
0020ec6dloc_20ec6d:
0020ec6dmov esi, eax
0020ec6flea rdi, [rip+0x208b1]
0020ec76call caml_plat_fatal_error
0020eb80
0020eb80fn_20eb80:
0020eb80push r13
0020eb82push r12
0020eb84push rbp
0020eb85push rbx
0020eb86sub rsp, 104
0020eb8amov [rsp+8], rdi
0020eb8fmov rax, [0x28]
0020eb98mov [rsp+88], rax
0020eb9dmov rax, [rip+0x67444]
0020eba4mov rbx, [rax]
0020eba8lea rax, [rsp+16]
0020ebadmov rbp, [rbx+160]
0020ebb4mov [rbx+160], rax
0020ebbbmov eax, 1
0020ebc0movq x0, rax
0020ebc5lea rax, [rsp+8]
0020ebcapunpcklqdq x0, x0
0020ebcemov [rsp+16], rbp
0020ebd3mov [rsp+40], rax
0020ebd8movups [rsp+24], x0
0020ebddmov r13, [rdi+8]
0020ebe1lea r12, [r13+40]
0020ebe5mov rdi, r12
0020ebe8call fn_f4780
0020ebedcmp eax, 16
0020ebf0je 0x20ec50
0020ebf2test eax, eax
0020ebf4jne 0x20ec6d
0020ebf6
0020ebf6loc_20ebf6:
0020ebf6mov [0xfffffffffffffff0], r13
0020ebffmov rax, [rsp+8]
0020ec04mov rdi, [rax+8]
0020ec08call caml_channel_size
0020ec0dmov rdi, r12
0020ec10mov r13, rax
0020ec13call fn_f47c0
0020ec18test eax, eax
0020ec1ajne 0x20ec5f
0020ec1cmov [0xfffffffffffffff0], 0
0020ec29mov [rbx+160], rbp
0020ec30mov rax, [rsp+88]
0020ec35sub rax, [0x28]
0020ec3ejne 0x20ec5a
0020ec40add rsp, 104
0020ec44mov rax, r13
0020ec47pop rbx
0020ec48pop rbp
0020ec49pop r12
0020ec4bpop r13
0020ec4dret
0020ec4e
0020ec4e 66 90 f.
0020ec50
0020ec50loc_20ec50:
0020ec50mov rdi, r12
0020ec53call caml_plat_lock_non_blocking_actual
0020ec58jmp 0x20ebf6
0020ec5a
0020ec5aloc_20ec5a:
0020ec5acall fn_f4590
0020ec5f
0020ec5floc_20ec5f:
0020ec5fmov esi, eax
0020ec61lea rdi, [rip+0x208b2]
0020ec68call caml_plat_fatal_error
0020ec6d
0020ec6dloc_20ec6d:
0020ec6dmov esi, eax
0020ec6flea rdi, [rip+0x208b1]
0020ec76call caml_plat_fatal_error
0020eb80
0020ec7b
0020ec7b // align 0x10
0020ec7b // align 0x10
0020ec80
0020ec80caml_channel_binary_mode:
0020ec80movzx eax, [rdi+104]
0020ec84shr al, 3
0020ec87and eax, 1
0020ec8axor eax, 1
0020ec8dret
0020ec8edb 0x83
0020ec8fdb 0xf0
0020ec90add ebx, eax
0020ec80
0020ec80caml_channel_binary_mode:
0020ec80movzx eax, [rdi+104]
0020ec84shr al, 3
0020ec87and eax, 1
0020ec8axor eax, 1
0020ec8dret
0020ec8edb 0x83
0020ec8fdb 0xf0
0020ec90add ebx, eax
0020ec80
0020ec92
0020ec92 // align 0x10
0020ec92 // align 0x10
Loading..