File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
Loading..
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
0020eca0
0020eca0caml_flush_partial:
0020eca0push r12
0020eca2push rbp
0020eca3push rbx
0020eca4mov rbx, rdi
0020eca7jmp 0x20eccb
0020eca9db 0x89
0020ecaasti
0020ecabjmp 0x20eccb
0020ecad
0020ecad 0f 1f 00 ...
0020ecb0
0020ecb0loc_20ecb0:
0020ecb0mov esi, [rbx+104]
0020ecb3mov edi, [rbx]
0020ecb5call caml_write_fd
0020ecbacmp eax, -1
0020ecbdjne 0x20ecf8
0020ecbfcall fn_f4570
0020ecc4mov eax, [rax]
0020ecc6cmp eax, 4
0020ecc9jne 0x20ed34
0020eccb
0020eccbloc_20eccb:
0020eccbmov rdi, rbx
0020eccecall fn_20e670
0020ecd3mov rax, [rbx+24]
0020ecd7mov rdx, [rbx+112]
0020ecdbmov rbp, rax
0020ecdesub rbp, rdx
0020ece1mov ecx, ebp
0020ece3test ebp, ebp
0020ece5jg 0x20ecb0
0020ece7cmp rax, rdx
0020eceapop rbx
0020ecebpop rbp
0020ececsete al
0020ecefpop r12
0020ecf1movzx eax, al
0020ecf4ret
0020ecf5
0020ecf5 0f 1f 00 ...
0020ecf8
0020ecf8loc_20ecf8:
0020ecf8movsxd r12, eax
0020ecfbadd [rbx+8], r12
0020ecffcmp ebp, eax
0020ed01jg 0x20ed20
0020ed03
0020ed03loc_20ed03:
0020ed03mov rax, [rbx+24]
0020ed07mov rdx, [rbx+112]
0020ed0bsub rax, r12
0020ed0ecmp rax, rdx
0020ed11mov [rbx+24], rax
0020ed15pop rbx
0020ed16sete al
0020ed19pop rbp
0020ed1apop r12
0020ed1cmovzx eax, al
0020ed1fret
0020ed20
0020ed20loc_20ed20:
0020ed20mov rdi, [rbx+112]
0020ed24sub ebp, eax
0020ed26movsxd rdx, ebp
0020ed29lea rsi, [rdi+r12]
0020ed2dcall fn_f4520
0020ed32jmp 0x20ed03
0020ed34
0020ed34loc_20ed34:
0020ed34cmp eax, 9
0020ed37sete dl
0020ed3acmp eax, 32
0020ed3dsete cl
0020ed40or dl, cl
0020ed42jne 0x20ed49
0020ed44cmp eax, 104
0020ed47jne 0x20ed56
0020ed49
0020ed49loc_20ed49:
0020ed49cmp [rbx], -1
0020ed4cje 0x20ed56
0020ed4emov rax, [rbx+112]
0020ed52mov [rbx+24], rax
0020ed56
0020ed56loc_20ed56:
0020ed56mov edi, 1
0020ed5bcall caml_sys_io_error
0020eca0
0020eca0caml_flush_partial:
0020eca0push r12
0020eca2push rbp
0020eca3push rbx
0020eca4mov rbx, rdi
0020eca7jmp 0x20eccb
0020eca9db 0x89
0020ecaasti
0020ecabjmp 0x20eccb
0020ecad
0020ecad 0f 1f 00 ...
0020ecb0
0020ecb0loc_20ecb0:
0020ecb0mov esi, [rbx+104]
0020ecb3mov edi, [rbx]
0020ecb5call caml_write_fd
0020ecbacmp eax, -1
0020ecbdjne 0x20ecf8
0020ecbfcall fn_f4570
0020ecc4mov eax, [rax]
0020ecc6cmp eax, 4
0020ecc9jne 0x20ed34
0020eccb
0020eccbloc_20eccb:
0020eccbmov rdi, rbx
0020eccecall fn_20e670
0020ecd3mov rax, [rbx+24]
0020ecd7mov rdx, [rbx+112]
0020ecdbmov rbp, rax
0020ecdesub rbp, rdx
0020ece1mov ecx, ebp
0020ece3test ebp, ebp
0020ece5jg 0x20ecb0
0020ece7cmp rax, rdx
0020eceapop rbx
0020ecebpop rbp
0020ececsete al
0020ecefpop r12
0020ecf1movzx eax, al
0020ecf4ret
0020ecf5
0020ecf5 0f 1f 00 ...
0020ecf8
0020ecf8loc_20ecf8:
0020ecf8movsxd r12, eax
0020ecfbadd [rbx+8], r12
0020ecffcmp ebp, eax
0020ed01jg 0x20ed20
0020ed03
0020ed03loc_20ed03:
0020ed03mov rax, [rbx+24]
0020ed07mov rdx, [rbx+112]
0020ed0bsub rax, r12
0020ed0ecmp rax, rdx
0020ed11mov [rbx+24], rax
0020ed15pop rbx
0020ed16sete al
0020ed19pop rbp
0020ed1apop r12
0020ed1cmovzx eax, al
0020ed1fret
0020ed20
0020ed20loc_20ed20:
0020ed20mov rdi, [rbx+112]
0020ed24sub ebp, eax
0020ed26movsxd rdx, ebp
0020ed29lea rsi, [rdi+r12]
0020ed2dcall fn_f4520
0020ed32jmp 0x20ed03
0020ed34
0020ed34loc_20ed34:
0020ed34cmp eax, 9
0020ed37sete dl
0020ed3acmp eax, 32
0020ed3dsete cl
0020ed40or dl, cl
0020ed42jne 0x20ed49
0020ed44cmp eax, 104
0020ed47jne 0x20ed56
0020ed49
0020ed49loc_20ed49:
0020ed49cmp [rbx], -1
0020ed4cje 0x20ed56
0020ed4emov rax, [rbx+112]
0020ed52mov [rbx+24], rax
0020ed56
0020ed56loc_20ed56:
0020ed56mov edi, 1
0020ed5bcall caml_sys_io_error
0020eca0
0020ed60
0020ed60caml_flush:
0020ed60push rbx
0020ed61mov rbx, rdi
0020ed64nop [rax+rax]
0020ed6cmov rdi, rbx
0020ed6fcall caml_flush_partial
0020ed74test eax, eax
0020ed76je 0x20ed70
0020ed78pop rbx
0020ed79ret
0020ed7adb 0x74
0020ed7bhlt
0020ed7cpop rbx
0020ed7dret
0020ed60
0020ed60caml_flush:
0020ed60push rbx
0020ed61mov rbx, rdi
0020ed64nop [rax+rax]
0020ed6cmov rdi, rbx
0020ed6fcall caml_flush_partial
0020ed74test eax, eax
0020ed76je 0x20ed70
0020ed78pop rbx
0020ed79ret
0020ed7adb 0x74
0020ed7bhlt
0020ed7cpop rbx
0020ed7dret
0020ed60
0020ed7e
0020ed7e // align 0x10
0020ed7e // align 0x10
0020ed80
0020ed80caml_flush_if_unbuffered:
0020ed80test [rdi+104], 16
0020ed84je 0x20eda0
0020ed86push rbx
0020ed87mov rbx, rdi
0020ed8anop
0020ed8cmov rdi, rbx
0020ed8fcall caml_flush_partial
0020ed94test eax, eax
0020ed96je 0x20ed90
0020ed98pop rbx
0020ed99ret
0020ed9adb 0x74
0020ed9bhlt
0020ed9cpop rbx
0020ed9dret
0020ed9e
0020ed9e 66 90 f.
0020eda0
0020eda0loc_20eda0:
0020eda0ret
0020ed80
0020ed80caml_flush_if_unbuffered:
0020ed80test [rdi+104], 16
0020ed84je 0x20eda0
0020ed86push rbx
0020ed87mov rbx, rdi
0020ed8anop
0020ed8cmov rdi, rbx
0020ed8fcall caml_flush_partial
0020ed94test eax, eax
0020ed96je 0x20ed90
0020ed98pop rbx
0020ed99ret
0020ed9adb 0x74
0020ed9bhlt
0020ed9cpop rbx
0020ed9dret
0020ed9e
0020ed9e 66 90 f.
0020eda0
0020eda0loc_20eda0:
0020eda0ret
0020ed80
0020eda1
0020eda1 // align 0x10
0020eda1 // align 0x10
0020edb0
0020edb0caml_putch:
0020edb0push rbp
0020edb1mov ebp, esi
0020edb3push rbx
0020edb4mov rbx, rdi
0020edb7sub rsp, 8
0020edbbmov rax, [rdi+24]
0020edbfcmp rax, [rdi+16]
0020edc3jae 0x20ede0
0020edc5lea rdx, [rax+1]
0020edc9
0020edc9loc_20edc9:
0020edc9mov [rbx+24], rdx
0020edcdmov [rax], bpl
0020edd0add rsp, 8
0020edd4pop rbx
0020edd5pop rbp
0020edd6ret
0020edd7db 0x08
0020edd8pop rbx
0020edd9pop rbp
0020eddaret
0020eddb
0020eddb 0f 1f 44 00 00 ..D..
0020ede0
0020ede0loc_20ede0:
0020ede0call caml_flush_partial
0020ede5mov rax, [rbx+24]
0020ede9jmp 0x20edc9
0020edb0
0020edb0caml_putch:
0020edb0push rbp
0020edb1mov ebp, esi
0020edb3push rbx
0020edb4mov rbx, rdi
0020edb7sub rsp, 8
0020edbbmov rax, [rdi+24]
0020edbfcmp rax, [rdi+16]
0020edc3jae 0x20ede0
0020edc5lea rdx, [rax+1]
0020edc9
0020edc9loc_20edc9:
0020edc9mov [rbx+24], rdx
0020edcdmov [rax], bpl
0020edd0add rsp, 8
0020edd4pop rbx
0020edd5pop rbp
0020edd6ret
0020edd7db 0x08
0020edd8pop rbx
0020edd9pop rbp
0020eddaret
0020eddb
0020eddb 0f 1f 44 00 00 ..D..
0020ede0
0020ede0loc_20ede0:
0020ede0call caml_flush_partial
0020ede5mov rax, [rbx+24]
0020ede9jmp 0x20edc9
0020edb0
0020edeb
0020edeb // align 0x10
0020edeb // align 0x10
0020edf0
0020edf0caml_putword:
0020edf0push r12
0020edf2push rbp
0020edf3push rbx
0020edf4test [rdi+104], 8
0020edf8jne 0x20eed1
0020edfemov r12l, esi
0020ee01mov rax, [rdi+24]
0020ee05mov rbx, rdi
0020ee08mov ebp, esi
0020ee0ashr r12l, 24
0020ee0ecmp rax, [rdi+16]
0020ee12jae 0x20ee80
0020ee14lea rdx, [rax+1]
0020ee18
0020ee18loc_20ee18:
0020ee18mov [rbx+24], rdx
0020ee1cmov [rax], r12b
0020ee1fmov r12l, ebp
0020ee22mov rax, [rbx+24]
0020ee26shr r12l, 16
0020ee2acmp rax, [rbx+16]
0020ee2ejae 0x20eec0
0020ee34lea rdx, [rax+1]
0020ee38
0020ee38loc_20ee38:
0020ee38mov [rbx+24], rdx
0020ee3cmov [rax], r12b
0020ee3fmov r12l, ebp
0020ee42mov rax, [rbx+24]
0020ee46shr r12l, 8
0020ee4acmp rax, [rbx+16]
0020ee4ejae 0x20eeb0
0020ee50lea rdx, [rax+1]
0020ee54
0020ee54loc_20ee54:
0020ee54mov [rbx+24], rdx
0020ee58mov [rax], r12b
0020ee5bmov rax, [rbx+24]
0020ee5fcmp rax, [rbx+16]
0020ee63jae 0x20ee90
0020ee65lea rdx, [rax+1]
0020ee69mov [rbx+24], rdx
0020ee6dmov [rax], bpl
0020ee70pop rbx
0020ee71pop rbp
0020ee72pop r12
0020ee74ret
0020ee75db 0x5d
0020ee76pop r12
0020ee78ret
0020ee79
0020ee79 0f 1f 80 00 00 00 00 .......
0020ee80
0020ee80loc_20ee80:
0020ee80call caml_flush_partial
0020ee85mov rax, [rbx+24]
0020ee89jmp 0x20ee18
0020ee8b
0020ee8b 0f 1f 44 00 00 ..D..
0020ee90
0020ee90loc_20ee90:
0020ee90mov rdi, rbx
0020ee93call caml_flush_partial
0020ee98mov rax, [rbx+24]
0020ee9clea rdx, [rax+1]
0020eea0mov [rbx+24], rdx
0020eea4mov [rax], bpl
0020eea7pop rbx
0020eea8pop rbp
0020eea9pop r12
0020eeabret
0020eeac
0020eeac 0f 1f 40 00 ..@.
0020eeb0
0020eeb0loc_20eeb0:
0020eeb0mov rdi, rbx
0020eeb3call caml_flush_partial
0020eeb8mov rax, [rbx+24]
0020eebcjmp 0x20ee54
0020eebe
0020eebe 66 90 f.
0020eec0
0020eec0loc_20eec0:
0020eec0mov rdi, rbx
0020eec3call caml_flush_partial
0020eec8mov rax, [rbx+24]
0020eeccjmp 0x20ee38
0020eed1
0020eed1loc_20eed1:
0020eed1lea rdi, [rip+0x219f0]
0020eed8call caml_failwith
0020edf0
0020edf0caml_putword:
0020edf0push r12
0020edf2push rbp
0020edf3push rbx
0020edf4test [rdi+104], 8
0020edf8jne 0x20eed1
0020edfemov r12l, esi
0020ee01mov rax, [rdi+24]
0020ee05mov rbx, rdi
0020ee08mov ebp, esi
0020ee0ashr r12l, 24
0020ee0ecmp rax, [rdi+16]
0020ee12jae 0x20ee80
0020ee14lea rdx, [rax+1]
0020ee18
0020ee18loc_20ee18:
0020ee18mov [rbx+24], rdx
0020ee1cmov [rax], r12b
0020ee1fmov r12l, ebp
0020ee22mov rax, [rbx+24]
0020ee26shr r12l, 16
0020ee2acmp rax, [rbx+16]
0020ee2ejae 0x20eec0
0020ee34lea rdx, [rax+1]
0020ee38
0020ee38loc_20ee38:
0020ee38mov [rbx+24], rdx
0020ee3cmov [rax], r12b
0020ee3fmov r12l, ebp
0020ee42mov rax, [rbx+24]
0020ee46shr r12l, 8
0020ee4acmp rax, [rbx+16]
0020ee4ejae 0x20eeb0
0020ee50lea rdx, [rax+1]
0020ee54
0020ee54loc_20ee54:
0020ee54mov [rbx+24], rdx
0020ee58mov [rax], r12b
0020ee5bmov rax, [rbx+24]
0020ee5fcmp rax, [rbx+16]
0020ee63jae 0x20ee90
0020ee65lea rdx, [rax+1]
0020ee69mov [rbx+24], rdx
0020ee6dmov [rax], bpl
0020ee70pop rbx
0020ee71pop rbp
0020ee72pop r12
0020ee74ret
0020ee75db 0x5d
0020ee76pop r12
0020ee78ret
0020ee79
0020ee79 0f 1f 80 00 00 00 00 .......
0020ee80
0020ee80loc_20ee80:
0020ee80call caml_flush_partial
0020ee85mov rax, [rbx+24]
0020ee89jmp 0x20ee18
0020ee8b
0020ee8b 0f 1f 44 00 00 ..D..
0020ee90
0020ee90loc_20ee90:
0020ee90mov rdi, rbx
0020ee93call caml_flush_partial
0020ee98mov rax, [rbx+24]
0020ee9clea rdx, [rax+1]
0020eea0mov [rbx+24], rdx
0020eea4mov [rax], bpl
0020eea7pop rbx
0020eea8pop rbp
0020eea9pop r12
0020eeabret
0020eeac
0020eeac 0f 1f 40 00 ..@.
0020eeb0
0020eeb0loc_20eeb0:
0020eeb0mov rdi, rbx
0020eeb3call caml_flush_partial
0020eeb8mov rax, [rbx+24]
0020eebcjmp 0x20ee54
0020eebe
0020eebe 66 90 f.
0020eec0
0020eec0loc_20eec0:
0020eec0mov rdi, rbx
0020eec3call caml_flush_partial
0020eec8mov rax, [rbx+24]
0020eeccjmp 0x20ee38
0020eed1
0020eed1loc_20eed1:
0020eed1lea rdi, [rip+0x219f0]
0020eed8call caml_failwith
0020edf0
0020eedd
0020eedd // align 0x10
0020eedd // align 0x10
0020eee0
0020eee0caml_putblock:
0020eee0push r12
0020eee2mov eax, 0x7fffffff
0020eee7push rbp
0020eee8mov rbp, rdi
0020eeebcmp rdx, rax
0020eeeepush rbx
0020eeefmov rdi, [rdi+24]
0020eef3cmovg rdx, rax
0020eef7mov rbx, [rbp+16]
0020eefbsub rbx, rdi
0020eefecmp edx, ebx
0020ef00jge 0x20ef20
0020ef02movsxd rbx, edx
0020ef05mov r12l, edx
0020ef08mov rdx, rbx
0020ef0bcall fn_f4520
0020ef10add [rbp+24], rbx
0020ef14mov eax, r12l
0020ef17pop rbx
0020ef18pop rbp
0020ef19pop r12
0020ef1bret
0020ef1cmovsxd rdx, ebx
0020ef1fmov r12l, ebx
0020ef22call fn_f4520
0020ef27mov rax, [rbp+16]
0020ef2bmov rdi, rbp
0020ef2emov [rbp+24], rax
0020ef32call caml_flush_partial
0020ef37mov eax, r12l
0020ef3apop rbx
0020ef3bpop rbp
0020ef3cpop r12
0020ef3eret
0020ef3fdb 0x5d
0020ef40pop r12
0020ef42ret
0020eee0
0020eee0caml_putblock:
0020eee0push r12
0020eee2mov eax, 0x7fffffff
0020eee7push rbp
0020eee8mov rbp, rdi
0020eeebcmp rdx, rax
0020eeeepush rbx
0020eeefmov rdi, [rdi+24]
0020eef3cmovg rdx, rax
0020eef7mov rbx, [rbp+16]
0020eefbsub rbx, rdi
0020eefecmp edx, ebx
0020ef00jge 0x20ef20
0020ef02movsxd rbx, edx
0020ef05mov r12l, edx
0020ef08mov rdx, rbx
0020ef0bcall fn_f4520
0020ef10add [rbp+24], rbx
0020ef14mov eax, r12l
0020ef17pop rbx
0020ef18pop rbp
0020ef19pop r12
0020ef1bret
0020ef1cmovsxd rdx, ebx
0020ef1fmov r12l, ebx
0020ef22call fn_f4520
0020ef27mov rax, [rbp+16]
0020ef2bmov rdi, rbp
0020ef2emov [rbp+24], rax
0020ef32call caml_flush_partial
0020ef37mov eax, r12l
0020ef3apop rbx
0020ef3bpop rbp
0020ef3cpop r12
0020ef3eret
0020ef3fdb 0x5d
0020ef40pop r12
0020ef42ret
0020eee0
Loading..