File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
Loading..
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
0020ef43
0020ef43 // align 0x10
0020ef43 // align 0x10
0020ef50
0020ef50caml_really_putblock:
0020ef50test rdx, rdx
0020ef53jle 0x20f000
0020ef59push r15
0020ef5bmov r15, rsi
0020ef5epush r14
0020ef60push r13
0020ef62mov r13, rdi
0020ef65push r12
0020ef67push rbp
0020ef68mov rbp, rdx
0020ef6bpush rbx
0020ef6csub rsp, 8
0020ef70jmp 0x20ef9d
0020ef72db 0xec
0020ef73or bl, ch
0020ef75db 0x27
0020ef76
0020ef76 66 2e 0f 1f 84 00 00 00 00 00 f.........
0020ef80
0020ef80loc_20ef80:
0020ef80movsxd rbx, ebx
0020ef83mov rsi, r15
0020ef86sub rbp, r14
0020ef89mov rdx, rbx
0020ef8cadd r15, rbx
0020ef8fcall fn_f4520
0020ef94add [r13+24], rbx
0020ef98test rbp, rbp
0020ef9bjle 0x20efe8
0020ef9d
0020ef9dloc_20ef9d:
0020ef9dmov ebx, 0x7fffffff
0020efa2mov rdi, [r13+24]
0020efa6mov r12, [r13+16]
0020efaacmp rbp, rbx
0020efadcmovle rbx, rbp
0020efb1sub r12, rdi
0020efb4movsxd r14, ebx
0020efb7cmp ebx, r12l
0020efbajl 0x20ef80
0020efbcmovsxd rbx, r12l
0020efbfmov rsi, r15
0020efc2movsxd r14, r12l
0020efc5mov rdx, rbx
0020efc8sub rbp, r14
0020efcbadd r15, rbx
0020efcecall fn_f4520
0020efd3mov rax, [r13+16]
0020efd7mov rdi, r13
0020efdamov [r13+24], rax
0020efdecall caml_flush_partial
0020efe3test rbp, rbp
0020efe6jg 0x20ef9d
0020efe8
0020efe8loc_20efe8:
0020efe8add rsp, 8
0020efecpop rbx
0020efedpop rbp
0020efeepop r12
0020eff0pop r13
0020eff2pop r14
0020eff4pop r15
0020eff6ret
0020eff7
0020eff7 66 0f 1f 84 00 00 00 00 00 f........
0020f000
0020f000loc_20f000:
0020f000ret
0020ef50
0020ef50caml_really_putblock:
0020ef50test rdx, rdx
0020ef53jle 0x20f000
0020ef59push r15
0020ef5bmov r15, rsi
0020ef5epush r14
0020ef60push r13
0020ef62mov r13, rdi
0020ef65push r12
0020ef67push rbp
0020ef68mov rbp, rdx
0020ef6bpush rbx
0020ef6csub rsp, 8
0020ef70jmp 0x20ef9d
0020ef72db 0xec
0020ef73or bl, ch
0020ef75db 0x27
0020ef76
0020ef76 66 2e 0f 1f 84 00 00 00 00 00 f.........
0020ef80
0020ef80loc_20ef80:
0020ef80movsxd rbx, ebx
0020ef83mov rsi, r15
0020ef86sub rbp, r14
0020ef89mov rdx, rbx
0020ef8cadd r15, rbx
0020ef8fcall fn_f4520
0020ef94add [r13+24], rbx
0020ef98test rbp, rbp
0020ef9bjle 0x20efe8
0020ef9d
0020ef9dloc_20ef9d:
0020ef9dmov ebx, 0x7fffffff
0020efa2mov rdi, [r13+24]
0020efa6mov r12, [r13+16]
0020efaacmp rbp, rbx
0020efadcmovle rbx, rbp
0020efb1sub r12, rdi
0020efb4movsxd r14, ebx
0020efb7cmp ebx, r12l
0020efbajl 0x20ef80
0020efbcmovsxd rbx, r12l
0020efbfmov rsi, r15
0020efc2movsxd r14, r12l
0020efc5mov rdx, rbx
0020efc8sub rbp, r14
0020efcbadd r15, rbx
0020efcecall fn_f4520
0020efd3mov rax, [r13+16]
0020efd7mov rdi, r13
0020efdamov [r13+24], rax
0020efdecall caml_flush_partial
0020efe3test rbp, rbp
0020efe6jg 0x20ef9d
0020efe8
0020efe8loc_20efe8:
0020efe8add rsp, 8
0020efecpop rbx
0020efedpop rbp
0020efeepop r12
0020eff0pop r13
0020eff2pop r14
0020eff4pop r15
0020eff6ret
0020eff7
0020eff7 66 0f 1f 84 00 00 00 00 00 f........
0020f000
0020f000loc_20f000:
0020f000ret
0020ef50
0020f001
0020f001 // align 0x10
0020f001 // align 0x10
0020f010
0020f010caml_seek_out:
0020f010push rbp
0020f011mov rbp, rsi
0020f014push rbx
0020f015mov rbx, rdi
0020f018sub rsp, 8
0020f01cmov rdi, rbx
0020f01fcall caml_flush_partial
0020f024test eax, eax
0020f026je 0x20f020
0020f028call caml_enter_blocking_section_no_pending
0020f02dmov edi, [rbx]
0020f02fxor edx, edx
0020f031mov rsi, rbp
0020f034call fn_f4660
0020f039test rax, rax
0020f03cjs 0x20f057
0020f03ecmp rbp, rax
0020f041jne 0x20f057
0020f043call caml_leave_blocking_section
0020f048mov [rbx+8], rbp
0020f04cadd rsp, 8
0020f050pop rbx
0020f051pop rbp
0020f052ret
0020f053call caml_leave_blocking_section
0020f058mov edi, 1
0020f05dcall caml_sys_error
0020f062db 0xba
0020f063db 0x2f
0020f064add [rax], eax
0020f010
0020f010caml_seek_out:
0020f010push rbp
0020f011mov rbp, rsi
0020f014push rbx
0020f015mov rbx, rdi
0020f018sub rsp, 8
0020f01cmov rdi, rbx
0020f01fcall caml_flush_partial
0020f024test eax, eax
0020f026je 0x20f020
0020f028call caml_enter_blocking_section_no_pending
0020f02dmov edi, [rbx]
0020f02fxor edx, edx
0020f031mov rsi, rbp
0020f034call fn_f4660
0020f039test rax, rax
0020f03cjs 0x20f057
0020f03ecmp rbp, rax
0020f041jne 0x20f057
0020f043call caml_leave_blocking_section
0020f048mov [rbx+8], rbp
0020f04cadd rsp, 8
0020f050pop rbx
0020f051pop rbp
0020f052ret
0020f053call caml_leave_blocking_section
0020f058mov edi, 1
0020f05dcall caml_sys_error
0020f062db 0xba
0020f063db 0x2f
0020f064add [rax], eax
0020f010
0020f066
0020f066 // align 0x10
0020f066 // align 0x10
0020f070
0020f070caml_pos_out:
0020f070mov rax, [rdi+24]
0020f074sub rax, [rdi+112]
0020f078add rax, [rdi+8]
0020f07cret
0020f07ddb 0x03
0020f07eor r11b, r8b
0020f070
0020f070caml_pos_out:
0020f070mov rax, [rdi+24]
0020f074sub rax, [rdi+112]
0020f078add rax, [rdi+8]
0020f07cret
0020f07ddb 0x03
0020f07eor r11b, r8b
0020f070
0020f081
0020f081 // align 0x10
0020f081 // align 0x10
0020f090
0020f090caml_do_read:
0020f090push r13
0020f092mov r13l, edi
0020f095push r12
0020f097mov r12, rsi
0020f09apush rbp
0020f09bmov ebp, edx
0020f09dpush rbx
0020f09esub rsp, 8
0020f0a2jmp 0x20f0ba
0020f0a4db 0xec
0020f0a5or bl, ch
0020f0a7db 0x12
0020f0a8
0020f0a8 0f 1f 84 00 00 00 00 00 ........
0020f0b0
0020f0b0loc_20f0b0:
0020f0b0call fn_f4570
0020f0b5cmp [rax], 4
0020f0b8jne 0x20f0d0
0020f0ba
0020f0baloc_20f0ba:
0020f0bamov ecx, ebp
0020f0bcmov rdx, r12
0020f0bfxor esi, esi
0020f0c1mov edi, r13l
0020f0c4call caml_read_fd
0020f0c9mov ebx, eax
0020f0cbcmp eax, -1
0020f0ceje 0x20f0b0
0020f0d0
0020f0d0loc_20f0d0:
0020f0d0add rsp, 8
0020f0d4mov eax, ebx
0020f0d6pop rbx
0020f0d7pop rbp
0020f0d8pop r12
0020f0dapop r13
0020f0dcret
0020f090
0020f090caml_do_read:
0020f090push r13
0020f092mov r13l, edi
0020f095push r12
0020f097mov r12, rsi
0020f09apush rbp
0020f09bmov ebp, edx
0020f09dpush rbx
0020f09esub rsp, 8
0020f0a2jmp 0x20f0ba
0020f0a4db 0xec
0020f0a5or bl, ch
0020f0a7db 0x12
0020f0a8
0020f0a8 0f 1f 84 00 00 00 00 00 ........
0020f0b0
0020f0b0loc_20f0b0:
0020f0b0call fn_f4570
0020f0b5cmp [rax], 4
0020f0b8jne 0x20f0d0
0020f0ba
0020f0baloc_20f0ba:
0020f0bamov ecx, ebp
0020f0bcmov rdx, r12
0020f0bfxor esi, esi
0020f0c1mov edi, r13l
0020f0c4call caml_read_fd
0020f0c9mov ebx, eax
0020f0cbcmp eax, -1
0020f0ceje 0x20f0b0
0020f0d0
0020f0d0loc_20f0d0:
0020f0d0add rsp, 8
0020f0d4mov eax, ebx
0020f0d6pop rbx
0020f0d7pop rbp
0020f0d8pop r12
0020f0dapop r13
0020f0dcret
0020f090
0020f0dd
0020f0dd // align 0x10
0020f0dd // align 0x10
0020f0e0
0020f0e0caml_refill:
0020f0e0push rbx
0020f0e1mov rbx, rdi
0020f0e4jmp 0x20f0fa
0020f0e6db 0x89
0020f0e7sti
0020f0e8jmp 0x20f0fa
0020f0ea
0020f0ea 66 0f 1f 44 00 00 f..D..
0020f0f0
0020f0f0loc_20f0f0:
0020f0f0call fn_f4570
0020f0f5cmp [rax], 4
0020f0f8jne 0x20f151
0020f0fa
0020f0faloc_20f0fa:
0020f0famov rdi, rbx
0020f0fdcall fn_20e670
0020f102mov rdx, [rbx+112]
0020f106mov ecx, [rbx+16]
0020f109mov esi, [rbx+104]
0020f10cmov edi, [rbx]
0020f10esub ecx, edx
0020f110call caml_read_fd
0020f115cmp eax, -1
0020f118je 0x20f0f0
0020f11atest eax, eax
0020f11cje 0x20f15b
0020f11emov rdx, [rbx+112]
0020f122cdqe
0020f124mov esi, 1
0020f129add [rbx+8], rax
0020f12dmovq x2, rax
0020f132movq x1, rsi
0020f137movq x0, rdx
0020f13cpunpcklqdq x1, x2
0020f140punpcklqdq x0, x0
0020f144paddq x0, x1
0020f148movups [rbx+24], x0
0020f14cmovzx eax, [rdx]
0020f14fpop rbx
0020f150ret
0020f151
0020f151loc_20f151:
0020f151mov edi, 1
0020f156call caml_sys_io_error
0020f15b
0020f15bloc_20f15b:
0020f15bcall caml_raise_end_of_file
0020f0e0
0020f0e0caml_refill:
0020f0e0push rbx
0020f0e1mov rbx, rdi
0020f0e4jmp 0x20f0fa
0020f0e6db 0x89
0020f0e7sti
0020f0e8jmp 0x20f0fa
0020f0ea
0020f0ea 66 0f 1f 44 00 00 f..D..
0020f0f0
0020f0f0loc_20f0f0:
0020f0f0call fn_f4570
0020f0f5cmp [rax], 4
0020f0f8jne 0x20f151
0020f0fa
0020f0faloc_20f0fa:
0020f0famov rdi, rbx
0020f0fdcall fn_20e670
0020f102mov rdx, [rbx+112]
0020f106mov ecx, [rbx+16]
0020f109mov esi, [rbx+104]
0020f10cmov edi, [rbx]
0020f10esub ecx, edx
0020f110call caml_read_fd
0020f115cmp eax, -1
0020f118je 0x20f0f0
0020f11atest eax, eax
0020f11cje 0x20f15b
0020f11emov rdx, [rbx+112]
0020f122cdqe
0020f124mov esi, 1
0020f129add [rbx+8], rax
0020f12dmovq x2, rax
0020f132movq x1, rsi
0020f137movq x0, rdx
0020f13cpunpcklqdq x1, x2
0020f140punpcklqdq x0, x0
0020f144paddq x0, x1
0020f148movups [rbx+24], x0
0020f14cmovzx eax, [rdx]
0020f14fpop rbx
0020f150ret
0020f151
0020f151loc_20f151:
0020f151mov edi, 1
0020f156call caml_sys_io_error
0020f15b
0020f15bloc_20f15b:
0020f15bcall caml_raise_end_of_file
0020f0e0
0020f160
0020f160caml_getch:
0020f160mov rax, [rdi+24]
0020f164cmp rax, [rdi+32]
0020f168jae 0x20f180
0020f16alea rdx, [rax+1]
0020f16emov [rdi+24], rdx
0020f172movzx eax, [rax]
0020f175ret
0020f176db 0x0f
0020f177mov dh, 0
0020f179ret
0020f17a
0020f17a 66 0f 1f 44 00 00 f..D..
0020f180
0020f180loc_20f180:
0020f180jmp 0x20f0e0
0020f160
0020f160caml_getch:
0020f160mov rax, [rdi+24]
0020f164cmp rax, [rdi+32]
0020f168jae 0x20f180
0020f16alea rdx, [rax+1]
0020f16emov [rdi+24], rdx
0020f172movzx eax, [rax]
0020f175ret
0020f176db 0x0f
0020f177mov dh, 0
0020f179ret
0020f17a
0020f17a 66 0f 1f 44 00 00 f..D..
0020f180
0020f180loc_20f180:
0020f180jmp 0x20f0e0
0020f160
0020f185
0020f185 // align 0x10
0020f185 // align 0x10
0020f190
0020f190caml_getword:
0020f190push r12
0020f192push rbp
0020f193push rbx
0020f194test [rdi+104], 8
0020f198jne 0x20f1dd
0020f19amov rbp, rdi
0020f19dmov r12l, 4
0020f1a3xor ebx, ebx
0020f1a5mov rax, [rbp+24]
0020f1a9
0020f1a9loc_20f1a9:
0020f1a9shl ebx, 8
0020f1accmp rax, [rbp+32]
0020f1b0jae 0x20f1d0
0020f1b2lea rdx, [rax+1]
0020f1b6mov [rbp+24], rdx
0020f1bamovzx eax, [rax]
0020f1bdadd ebx, eax
0020f1bfsub r12l, 1
0020f1c3jne 0x20f1a9
0020f1c5mov eax, ebx
0020f1c7pop rbx
0020f1c8pop rbp
0020f1c9pop r12
0020f1cbret
0020f1ccmov rdi, rbp
0020f1cfcall caml_refill
0020f1d4movzx eax, al
0020f1d7jmp 0x20f1c1
0020f1d9lea rdi, [rip+0x2170c]
0020f1e0call caml_failwith
0020f1e5db 0xd7
0020f1e6ja 0x20f1e7
0020f1e8db 0xff
0020f190
0020f190caml_getword:
0020f190push r12
0020f192push rbp
0020f193push rbx
0020f194test [rdi+104], 8
0020f198jne 0x20f1dd
0020f19amov rbp, rdi
0020f19dmov r12l, 4
0020f1a3xor ebx, ebx
0020f1a5mov rax, [rbp+24]
0020f1a9
0020f1a9loc_20f1a9:
0020f1a9shl ebx, 8
0020f1accmp rax, [rbp+32]
0020f1b0jae 0x20f1d0
0020f1b2lea rdx, [rax+1]
0020f1b6mov [rbp+24], rdx
0020f1bamovzx eax, [rax]
0020f1bdadd ebx, eax
0020f1bfsub r12l, 1
0020f1c3jne 0x20f1a9
0020f1c5mov eax, ebx
0020f1c7pop rbx
0020f1c8pop rbp
0020f1c9pop r12
0020f1cbret
0020f1ccmov rdi, rbp
0020f1cfcall caml_refill
0020f1d4movzx eax, al
0020f1d7jmp 0x20f1c1
0020f1d9lea rdi, [rip+0x2170c]
0020f1e0call caml_failwith
0020f1e5db 0xd7
0020f1e6ja 0x20f1e7
0020f1e8db 0xff
0020f190
0020f1e9
0020f1e9 // align 0x10
0020f1e9 // align 0x10
0020f1f0
0020f1f0caml_getblock:
0020f1f0mov eax, 0x7fffffff
0020f1f5push r14
0020f1f7mov r14, rsi
0020f1facmp rdx, rax
0020f1fdpush r13
0020f1ffcmovle rax, rdx
0020f203push r12
0020f205push rbp
0020f206mov r13, rax
0020f209push rbx
0020f20amov r12l, eax
0020f20dmov rbx, rdi
0020f210jmp 0x20f24a
0020f212db 0x89
0020f213sti
0020f214jmp 0x20f24a
0020f216
0020f216 66 2e 0f 1f 84 00 00 00 00 00 f.........
0020f220
0020f220loc_20f220:
0020f220test ebp, ebp
0020f222jg 0x20f288
0020f224mov rdx, [rbx+112]
0020f228mov ecx, [rbx+16]
0020f22bmov esi, [rbx+104]
0020f22emov edi, [rbx]
0020f230sub ecx, edx
0020f232call caml_read_fd
0020f237cmp eax, -1
0020f23ajne 0x20f2b0
0020f23ccall fn_f4570
0020f241cmp [rax], 4
0020f244jne 0x20f2ee
0020f24a
0020f24aloc_20f24a:
0020f24amov rdi, rbx
0020f24dcall fn_20e670
0020f252mov rsi, [rbx+24]
0020f256mov rbp, [rbx+32]
0020f25asub rbp, rsi
0020f25dcmp ebp, r12l
0020f260jl 0x20f220
0020f262movsxd r13, r13l
0020f265mov rdi, r14
0020f268mov rdx, r13
0020f26bcall fn_f4520
0020f270add r13, [rbx+24]
0020f274mov eax, r12l
0020f277mov [rbx+24], r13
0020f27bpop rbx
0020f27cpop rbp
0020f27dpop r12
0020f27fpop r13
0020f281pop r14
0020f283ret
0020f284
0020f284 0f 1f 40 00 ..@.
0020f288
0020f288loc_20f288:
0020f288movsxd r13, ebp
0020f28bmov rdi, r14
0020f28emov r12l, ebp
0020f291mov rdx, r13
0020f294call fn_f4520
0020f299add r13, [rbx+24]
0020f29dmov eax, r12l
0020f2a0mov [rbx+24], r13
0020f2a4pop rbx
0020f2a5pop rbp
0020f2a6pop r12
0020f2a8pop r13
0020f2aapop r14
0020f2acret
0020f2ad
0020f2ad 0f 1f 00 ...
0020f2b0
0020f2b0loc_20f2b0:
0020f2b0mov rsi, [rbx+112]
0020f2b4movsxd rdx, eax
0020f2b7add [rbx+8], rdx
0020f2bbmov rdi, r14
0020f2beadd rdx, rsi
0020f2c1cmp eax, r13l
0020f2c4cmovle r13l, eax
0020f2c8mov [rbx+32], rdx
0020f2ccmov r12l, r13l
0020f2cfmovsxd r13, r13l
0020f2d2mov rdx, r13
0020f2d5call fn_f4520
0020f2daadd r13, [rbx+112]
0020f2demov eax, r12l
0020f2e1mov [rbx+24], r13
0020f2e5pop rbx
0020f2e6pop rbp
0020f2e7pop r12
0020f2e9pop r13
0020f2ebpop r14
0020f2edret
0020f2ee
0020f2eeloc_20f2ee:
0020f2eemov edi, 1
0020f2f3call caml_sys_io_error
0020f1f0
0020f1f0caml_getblock:
0020f1f0mov eax, 0x7fffffff
0020f1f5push r14
0020f1f7mov r14, rsi
0020f1facmp rdx, rax
0020f1fdpush r13
0020f1ffcmovle rax, rdx
0020f203push r12
0020f205push rbp
0020f206mov r13, rax
0020f209push rbx
0020f20amov r12l, eax
0020f20dmov rbx, rdi
0020f210jmp 0x20f24a
0020f212db 0x89
0020f213sti
0020f214jmp 0x20f24a
0020f216
0020f216 66 2e 0f 1f 84 00 00 00 00 00 f.........
0020f220
0020f220loc_20f220:
0020f220test ebp, ebp
0020f222jg 0x20f288
0020f224mov rdx, [rbx+112]
0020f228mov ecx, [rbx+16]
0020f22bmov esi, [rbx+104]
0020f22emov edi, [rbx]
0020f230sub ecx, edx
0020f232call caml_read_fd
0020f237cmp eax, -1
0020f23ajne 0x20f2b0
0020f23ccall fn_f4570
0020f241cmp [rax], 4
0020f244jne 0x20f2ee
0020f24a
0020f24aloc_20f24a:
0020f24amov rdi, rbx
0020f24dcall fn_20e670
0020f252mov rsi, [rbx+24]
0020f256mov rbp, [rbx+32]
0020f25asub rbp, rsi
0020f25dcmp ebp, r12l
0020f260jl 0x20f220
0020f262movsxd r13, r13l
0020f265mov rdi, r14
0020f268mov rdx, r13
0020f26bcall fn_f4520
0020f270add r13, [rbx+24]
0020f274mov eax, r12l
0020f277mov [rbx+24], r13
0020f27bpop rbx
0020f27cpop rbp
0020f27dpop r12
0020f27fpop r13
0020f281pop r14
0020f283ret
0020f284
0020f284 0f 1f 40 00 ..@.
0020f288
0020f288loc_20f288:
0020f288movsxd r13, ebp
0020f28bmov rdi, r14
0020f28emov r12l, ebp
0020f291mov rdx, r13
0020f294call fn_f4520
0020f299add r13, [rbx+24]
0020f29dmov eax, r12l
0020f2a0mov [rbx+24], r13
0020f2a4pop rbx
0020f2a5pop rbp
0020f2a6pop r12
0020f2a8pop r13
0020f2aapop r14
0020f2acret
0020f2ad
0020f2ad 0f 1f 00 ...
0020f2b0
0020f2b0loc_20f2b0:
0020f2b0mov rsi, [rbx+112]
0020f2b4movsxd rdx, eax
0020f2b7add [rbx+8], rdx
0020f2bbmov rdi, r14
0020f2beadd rdx, rsi
0020f2c1cmp eax, r13l
0020f2c4cmovle r13l, eax
0020f2c8mov [rbx+32], rdx
0020f2ccmov r12l, r13l
0020f2cfmovsxd r13, r13l
0020f2d2mov rdx, r13
0020f2d5call fn_f4520
0020f2daadd r13, [rbx+112]
0020f2demov eax, r12l
0020f2e1mov [rbx+24], r13
0020f2e5pop rbx
0020f2e6pop rbp
0020f2e7pop r12
0020f2e9pop r13
0020f2ebpop r14
0020f2edret
0020f2ee
0020f2eeloc_20f2ee:
0020f2eemov edi, 1
0020f2f3call caml_sys_io_error
0020f1f0
0020f2f8
0020f2f8 // align 0x10
0020f2f8 // align 0x10
0020f300
0020f300caml_really_getblock:
0020f300test rdx, rdx
0020f303jle 0x20f371
0020f305push r13
0020f307mov r13, rdx
0020f30apush r12
0020f30cmov r12, rdi
0020f30fpush rbp
0020f310mov rbp, rdx
0020f313push rbx
0020f314mov rbx, rsi
0020f317sub rsp, 8
0020f31bjmp 0x20f33b
0020f31ddb 0xec
0020f31eor bl, ch
0020f320db 0x1a
0020f321
0020f321 0f 1f 80 00 00 00 00 .......
0020f328
0020f328loc_20f328:
0020f328cdqe
0020f32amov rdx, r13
0020f32dsub rdx, rax
0020f330add rbx, rax
0020f333test rdx, rdx
0020f336jle 0x20f360
0020f338mov r13, rdx
0020f33b
0020f33bloc_20f33b:
0020f33bmov rdx, r13
0020f33emov rsi, rbx
0020f341mov rdi, r12
0020f344call caml_getblock
0020f349test eax, eax
0020f34bjne 0x20f328
0020f34dadd rsp, 8
0020f351mov rax, rbp
0020f354pop rbx
0020f355sub rax, r13
0020f358pop rbp
0020f359pop r12
0020f35bpop r13
0020f35dret
0020f35e
0020f35e 66 90 f.
0020f360
0020f360loc_20f360:
0020f360add rsp, 8
0020f364sub rax, r13
0020f367pop rbx
0020f368add rax, rbp
0020f36bpop rbp
0020f36cpop r12
0020f36epop r13
0020f370ret
0020f371
0020f371loc_20f371:
0020f371xor eax, eax
0020f373ret
0020f300
0020f300caml_really_getblock:
0020f300test rdx, rdx
0020f303jle 0x20f371
0020f305push r13
0020f307mov r13, rdx
0020f30apush r12
0020f30cmov r12, rdi
0020f30fpush rbp
0020f310mov rbp, rdx
0020f313push rbx
0020f314mov rbx, rsi
0020f317sub rsp, 8
0020f31bjmp 0x20f33b
0020f31ddb 0xec
0020f31eor bl, ch
0020f320db 0x1a
0020f321
0020f321 0f 1f 80 00 00 00 00 .......
0020f328
0020f328loc_20f328:
0020f328cdqe
0020f32amov rdx, r13
0020f32dsub rdx, rax
0020f330add rbx, rax
0020f333test rdx, rdx
0020f336jle 0x20f360
0020f338mov r13, rdx
0020f33b
0020f33bloc_20f33b:
0020f33bmov rdx, r13
0020f33emov rsi, rbx
0020f341mov rdi, r12
0020f344call caml_getblock
0020f349test eax, eax
0020f34bjne 0x20f328
0020f34dadd rsp, 8
0020f351mov rax, rbp
0020f354pop rbx
0020f355sub rax, r13
0020f358pop rbp
0020f359pop r12
0020f35bpop r13
0020f35dret
0020f35e
0020f35e 66 90 f.
0020f360
0020f360loc_20f360:
0020f360add rsp, 8
0020f364sub rax, r13
0020f367pop rbx
0020f368add rax, rbp
0020f36bpop rbp
0020f36cpop r12
0020f36epop r13
0020f370ret
0020f371
0020f371loc_20f371:
0020f371xor eax, eax
0020f373ret
0020f300
0020f374
0020f374 // align 0x10
0020f374 // align 0x10
0020f380
0020f380caml_seek_in:
0020f380push rbp
0020f381mov rbp, rsi
0020f384push rbx
0020f385mov rbx, rdi
0020f388sub rsp, 8
0020f38cmov rdx, [rdi+8]
0020f390mov rax, [rdi+32]
0020f394mov rcx, rdx
0020f397mov rsi, rax
0020f39asub rsi, [rdi+112]
0020f39esub rcx, rsi
0020f3a1cmp rcx, rbp
0020f3a4jg 0x20f3b5
0020f3a6cmp rdx, rbp
0020f3a9jl 0x20f3b5
0020f3abtest [rdi+104], 8
0020f3afje 0x20f3f0
0020f3b1call caml_enter_blocking_section_no_pending
0020f3b6mov edi, [rbx]
0020f3b8xor edx, edx
0020f3bamov rsi, rbp
0020f3bdcall fn_f4660
0020f3c2test rax, rax
0020f3c5js 0x20f401
0020f3c7cmp rbp, rax
0020f3cajne 0x20f401
0020f3cccall caml_leave_blocking_section
0020f3d1mov rax, [rbx+112]
0020f3d5mov [rbx+8], rbp
0020f3d9mov [rbx+32], rax
0020f3ddmov [rbx+24], rax
0020f3e1add rsp, 8
0020f3e5pop rbx
0020f3e6pop rbp
0020f3e7ret
0020f3e8db 0x08
0020f3e9pop rbx
0020f3eapop rbp
0020f3ebret
0020f3ec
0020f3ec 0f 1f 40 00 ..@.
0020f3f0
0020f3f0loc_20f3f0:
0020f3f0sub rdx, rbp
0020f3f3sub rax, rdx
0020f3f6mov [rbx+24], rax
0020f3faadd rsp, 8
0020f3fepop rbx
0020f3ffpop rbp
0020f400ret
0020f401
0020f401loc_20f401:
0020f401call caml_leave_blocking_section
0020f406mov edi, 1
0020f40bcall caml_sys_error
0020f380
0020f380caml_seek_in:
0020f380push rbp
0020f381mov rbp, rsi
0020f384push rbx
0020f385mov rbx, rdi
0020f388sub rsp, 8
0020f38cmov rdx, [rdi+8]
0020f390mov rax, [rdi+32]
0020f394mov rcx, rdx
0020f397mov rsi, rax
0020f39asub rsi, [rdi+112]
0020f39esub rcx, rsi
0020f3a1cmp rcx, rbp
0020f3a4jg 0x20f3b5
0020f3a6cmp rdx, rbp
0020f3a9jl 0x20f3b5
0020f3abtest [rdi+104], 8
0020f3afje 0x20f3f0
0020f3b1call caml_enter_blocking_section_no_pending
0020f3b6mov edi, [rbx]
0020f3b8xor edx, edx
0020f3bamov rsi, rbp
0020f3bdcall fn_f4660
0020f3c2test rax, rax
0020f3c5js 0x20f401
0020f3c7cmp rbp, rax
0020f3cajne 0x20f401
0020f3cccall caml_leave_blocking_section
0020f3d1mov rax, [rbx+112]
0020f3d5mov [rbx+8], rbp
0020f3d9mov [rbx+32], rax
0020f3ddmov [rbx+24], rax
0020f3e1add rsp, 8
0020f3e5pop rbx
0020f3e6pop rbp
0020f3e7ret
0020f3e8db 0x08
0020f3e9pop rbx
0020f3eapop rbp
0020f3ebret
0020f3ec
0020f3ec 0f 1f 40 00 ..@.
0020f3f0
0020f3f0loc_20f3f0:
0020f3f0sub rdx, rbp
0020f3f3sub rax, rdx
0020f3f6mov [rbx+24], rax
0020f3faadd rsp, 8
0020f3fepop rbx
0020f3ffpop rbp
0020f400ret
0020f401
0020f401loc_20f401:
0020f401call caml_leave_blocking_section
0020f406mov edi, 1
0020f40bcall caml_sys_error
0020f380
0020f410
0020f410caml_pos_in:
0020f410mov rax, [rdi+8]
0020f414mov rdx, [rdi+32]
0020f418sub rdx, [rdi+24]
0020f41csub rax, rdx
0020f41fret
0020f420db 0x48
0020f421sub eax, edx
0020f423ret
0020f410
0020f410caml_pos_in:
0020f410mov rax, [rdi+8]
0020f414mov rdx, [rdi+32]
0020f418sub rdx, [rdi+24]
0020f41csub rax, rdx
0020f41fret
0020f420db 0x48
0020f421sub eax, edx
0020f423ret
0020f410
0020f424
0020f424 // align 0x10
0020f424 // align 0x10
0020f430
0020f430caml_input_scan_line:
0020f430push rbp
0020f431push rbx
0020f432mov rbx, rdi
0020f435sub rsp, 8
0020f439mov rdi, rbx
0020f43ccall fn_20e670
0020f441mov rbp, [rbx+24]
0020f445jmp 0x20f4a0
0020f447db 0x6b
0020f448db 0x18
0020f449db 0xeb
0020f44apush rbp
0020f44b
0020f44b 0f 1f 44 00 00 ..D..
0020f450
0020f450loc_20f450:
0020f450mov rsi, [rbx+24]
0020f454mov rdi, [rbx+112]
0020f458cmp rdi, rsi
0020f45bjb 0x20f4c8
0020f45dmov rcx, [rbx+16]
0020f461cmp rdx, rcx
0020f464jae 0x20f4ff
0020f46a
0020f46aloc_20f46a:
0020f46amov esi, [rbx+104]
0020f46dmov edi, [rbx]
0020f46fsub ecx, edx
0020f471call caml_read_fd
0020f476cmp eax, -1
0020f479je 0x20f510
0020f47fmov rdx, [rbx+32]
0020f483test eax, eax
0020f485je 0x20f4ff
0020f487cdqe
0020f489add [rbx+8], rax
0020f48dadd rdx, rax
0020f490mov rax, rbp
0020f493add rbp, 1
0020f497mov [rbx+32], rdx
0020f49bcmp [rax], 10
0020f49eje 0x20f4b5
0020f4a0
0020f4a0loc_20f4a0:
0020f4a0mov rdx, [rbx+32]
0020f4a4cmp rbp, rdx
0020f4a7jae 0x20f450
0020f4a9mov rax, rbp
0020f4acadd rbp, 1
0020f4b0cmp [rax], 10
0020f4b3jne 0x20f4a0
0020f4b5
0020f4b5loc_20f4b5:
0020f4b5mov rax, rbp
0020f4b8sub rax, [rbx+24]
0020f4bcadd rsp, 8
0020f4c0pop rbx
0020f4c1pop rbp
0020f4c2ret
0020f4c3
0020f4c3 0f 1f 44 00 00 ..D..
0020f4c8
0020f4c8loc_20f4c8:
0020f4c8sub rdx, rsi
0020f4cbcall fn_f4520
0020f4d0mov rdx, [rbx+24]
0020f4d4mov rcx, [rbx+16]
0020f4d8mov rax, rdx
0020f4dbsub rax, [rbx+112]
0020f4dfcdqe
0020f4e1sub rdx, rax
0020f4e4sub rbp, rax
0020f4e7mov [rbx+24], rdx
0020f4ebmov rdx, [rbx+32]
0020f4efsub rdx, rax
0020f4f2mov [rbx+32], rdx
0020f4f6cmp rdx, rcx
0020f4f9jb 0x20f46a
0020f4ff
0020f4ffloc_20f4ff:
0020f4ffsub rdx, [rbx+24]
0020f503add rsp, 8
0020f507mov rax, rdx
0020f50apop rbx
0020f50bpop rbp
0020f50cneg rax
0020f50fret
0020f510
0020f510loc_20f510:
0020f510call fn_f4570
0020f515cmp [rax], 4
0020f518je 0x20f43d
0020f51emov edi, 1
0020f523call caml_sys_io_error
0020f430
0020f430caml_input_scan_line:
0020f430push rbp
0020f431push rbx
0020f432mov rbx, rdi
0020f435sub rsp, 8
0020f439mov rdi, rbx
0020f43ccall fn_20e670
0020f441mov rbp, [rbx+24]
0020f445jmp 0x20f4a0
0020f447db 0x6b
0020f448db 0x18
0020f449db 0xeb
0020f44apush rbp
0020f44b
0020f44b 0f 1f 44 00 00 ..D..
0020f450
0020f450loc_20f450:
0020f450mov rsi, [rbx+24]
0020f454mov rdi, [rbx+112]
0020f458cmp rdi, rsi
0020f45bjb 0x20f4c8
0020f45dmov rcx, [rbx+16]
0020f461cmp rdx, rcx
0020f464jae 0x20f4ff
0020f46a
0020f46aloc_20f46a:
0020f46amov esi, [rbx+104]
0020f46dmov edi, [rbx]
0020f46fsub ecx, edx
0020f471call caml_read_fd
0020f476cmp eax, -1
0020f479je 0x20f510
0020f47fmov rdx, [rbx+32]
0020f483test eax, eax
0020f485je 0x20f4ff
0020f487cdqe
0020f489add [rbx+8], rax
0020f48dadd rdx, rax
0020f490mov rax, rbp
0020f493add rbp, 1
0020f497mov [rbx+32], rdx
0020f49bcmp [rax], 10
0020f49eje 0x20f4b5
0020f4a0
0020f4a0loc_20f4a0:
0020f4a0mov rdx, [rbx+32]
0020f4a4cmp rbp, rdx
0020f4a7jae 0x20f450
0020f4a9mov rax, rbp
0020f4acadd rbp, 1
0020f4b0cmp [rax], 10
0020f4b3jne 0x20f4a0
0020f4b5
0020f4b5loc_20f4b5:
0020f4b5mov rax, rbp
0020f4b8sub rax, [rbx+24]
0020f4bcadd rsp, 8
0020f4c0pop rbx
0020f4c1pop rbp
0020f4c2ret
0020f4c3
0020f4c3 0f 1f 44 00 00 ..D..
0020f4c8
0020f4c8loc_20f4c8:
0020f4c8sub rdx, rsi
0020f4cbcall fn_f4520
0020f4d0mov rdx, [rbx+24]
0020f4d4mov rcx, [rbx+16]
0020f4d8mov rax, rdx
0020f4dbsub rax, [rbx+112]
0020f4dfcdqe
0020f4e1sub rdx, rax
0020f4e4sub rbp, rax
0020f4e7mov [rbx+24], rdx
0020f4ebmov rdx, [rbx+32]
0020f4efsub rdx, rax
0020f4f2mov [rbx+32], rdx
0020f4f6cmp rdx, rcx
0020f4f9jb 0x20f46a
0020f4ff
0020f4ffloc_20f4ff:
0020f4ffsub rdx, [rbx+24]
0020f503add rsp, 8
0020f507mov rax, rdx
0020f50apop rbx
0020f50bpop rbp
0020f50cneg rax
0020f50fret
0020f510
0020f510loc_20f510:
0020f510call fn_f4570
0020f515cmp [rax], 4
0020f518je 0x20f43d
0020f51emov edi, 1
0020f523call caml_sys_io_error
0020f430
0020f528
0020f528 // align 0x10
0020f528 // align 0x10
0020f530
0020f530caml_alloc_channel:
0020f530push rbx
0020f531mov ecx, 1
0020f536mov rbx, rdi
0020f539xor edx, edx
0020f53bmov esi, 8
0020f540lea rdi, [rip+0x168e15]
0020f547call caml_alloc_custom
0020f54cmov [rax+8], rbx
0020f550pop rbx
0020f551ret
0020f552db 0x58
0020f553or [rbx-61], bl
0020f530
0020f530caml_alloc_channel:
0020f530push rbx
0020f531mov ecx, 1
0020f536mov rbx, rdi
0020f539xor edx, edx
0020f53bmov esi, 8
0020f540lea rdi, [rip+0x168e15]
0020f547call caml_alloc_custom
0020f54cmov [rax+8], rbx
0020f550pop rbx
0020f551ret
0020f552db 0x58
0020f553or [rbx-61], bl
0020f530
0020f556
0020f556 // align 0x10
0020f556 // align 0x10
0020f560
0020f560caml_ml_open_descriptor_in_with_flags:
0020f560push rbp
0020f561mov ebp, esi
0020f563push rbx
0020f564sub rsp, 8
0020f568call caml_open_descriptor_in
0020f56dor ebp, [rax+104]
0020f570mov [rax+96], 1
0020f578mov rbx, rax
0020f57bor ebp, 4
0020f57emov [rax+104], ebp
0020f581lea rbp, [rip+0x169494]
0020f588mov rdi, rbp
0020f58bcall fn_f4710
0020f590test eax, eax
0020f592jne 0x20f5e2
0020f594mov rax, [rip+0x1694a9]
0020f59bmov [rbx+80], rax
0020f59ftest rax, rax
0020f5a2je 0x20f5ac
0020f5a4mov [rax+88], rbx
0020f5a8mov rdi, rbp
0020f5abmov [rip+0x169492], rbx
0020f5b2call fn_f47c0
0020f5b7test eax, eax
0020f5b9jne 0x20f5f0
0020f5bbmov ecx, 1
0020f5c0xor edx, edx
0020f5c2mov esi, 8
0020f5c7lea rdi, [rip+0x168d8e]
0020f5cecall caml_alloc_custom
0020f5d3mov [rax+8], rbx
0020f5d7add rsp, 8
0020f5dbpop rbx
0020f5dcpop rbp
0020f5ddret
0020f5demov esi, eax
0020f5e0lea rdi, [rip+0x1ff24]
0020f5e7call caml_plat_fatal_error
0020f5ecmov esi, eax
0020f5eelea rdi, [rip+0x1ff21]
0020f5f5call caml_plat_fatal_error
0020f5fadb 0xd2
0020f5fbret
0020f5fcadd [rax], al
0020f560
0020f560caml_ml_open_descriptor_in_with_flags:
0020f560push rbp
0020f561mov ebp, esi
0020f563push rbx
0020f564sub rsp, 8
0020f568call caml_open_descriptor_in
0020f56dor ebp, [rax+104]
0020f570mov [rax+96], 1
0020f578mov rbx, rax
0020f57bor ebp, 4
0020f57emov [rax+104], ebp
0020f581lea rbp, [rip+0x169494]
0020f588mov rdi, rbp
0020f58bcall fn_f4710
0020f590test eax, eax
0020f592jne 0x20f5e2
0020f594mov rax, [rip+0x1694a9]
0020f59bmov [rbx+80], rax
0020f59ftest rax, rax
0020f5a2je 0x20f5ac
0020f5a4mov [rax+88], rbx
0020f5a8mov rdi, rbp
0020f5abmov [rip+0x169492], rbx
0020f5b2call fn_f47c0
0020f5b7test eax, eax
0020f5b9jne 0x20f5f0
0020f5bbmov ecx, 1
0020f5c0xor edx, edx
0020f5c2mov esi, 8
0020f5c7lea rdi, [rip+0x168d8e]
0020f5cecall caml_alloc_custom
0020f5d3mov [rax+8], rbx
0020f5d7add rsp, 8
0020f5dbpop rbx
0020f5dcpop rbp
0020f5ddret
0020f5demov esi, eax
0020f5e0lea rdi, [rip+0x1ff24]
0020f5e7call caml_plat_fatal_error
0020f5ecmov esi, eax
0020f5eelea rdi, [rip+0x1ff21]
0020f5f5call caml_plat_fatal_error
0020f5fadb 0xd2
0020f5fbret
0020f5fcadd [rax], al
0020f560
0020f5fe
0020f5fe // align 0x10
0020f5fe // align 0x10
0020f600
0020f600caml_ml_open_descriptor_in:
0020f600sar rdi, 1
0020f603xor esi, esi
0020f605jmp 0x20f560
0020f60adb 0x52
0020f60bdb 0xff
0020f60cdb 0xff
0020f60ddb 0xff
0020f600
0020f600caml_ml_open_descriptor_in:
0020f600sar rdi, 1
0020f603xor esi, esi
0020f605jmp 0x20f560
0020f60adb 0x52
0020f60bdb 0xff
0020f60cdb 0xff
0020f60ddb 0xff
0020f600
0020f60e
0020f60e // align 0x10
0020f60e // align 0x10
0020f610
0020f610caml_ml_open_descriptor_out_with_flags:
0020f610push rbp
0020f611mov ebp, esi
0020f613push rbx
0020f614sub rsp, 8
0020f618call caml_open_descriptor_in
0020f61dor ebp, [rax+104]
0020f620mov [rax+32], 0
0020f628mov rbx, rax
0020f62bor ebp, 4
0020f62emov [rax+96], 1
0020f636mov [rax+104], ebp
0020f639lea rbp, [rip+0x1693dc]
0020f640mov rdi, rbp
0020f643call fn_f4710
0020f648test eax, eax
0020f64ajne 0x20f69a
0020f64cmov rax, [rip+0x1693f1]
0020f653mov [rbx+80], rax
0020f657test rax, rax
0020f65aje 0x20f664
0020f65cmov [rax+88], rbx
0020f660mov rdi, rbp
0020f663mov [rip+0x1693da], rbx
0020f66acall fn_f47c0
0020f66ftest eax, eax
0020f671jne 0x20f6a8
0020f673mov ecx, 1
0020f678xor edx, edx
0020f67amov esi, 8
0020f67flea rdi, [rip+0x168cd6]
0020f686call caml_alloc_custom
0020f68bmov [rax+8], rbx
0020f68fadd rsp, 8
0020f693pop rbx
0020f694pop rbp
0020f695ret
0020f696mov esi, eax
0020f698lea rdi, [rip+0x1fe6c]
0020f69fcall caml_plat_fatal_error
0020f6a4mov esi, eax
0020f6a6lea rdi, [rip+0x1fe69]
0020f6adcall caml_plat_fatal_error
0020f6b2db 0x1a
0020f6b3ret
0020f6b4add [rax], al
0020f610
0020f610caml_ml_open_descriptor_out_with_flags:
0020f610push rbp
0020f611mov ebp, esi
0020f613push rbx
0020f614sub rsp, 8
0020f618call caml_open_descriptor_in
0020f61dor ebp, [rax+104]
0020f620mov [rax+32], 0
0020f628mov rbx, rax
0020f62bor ebp, 4
0020f62emov [rax+96], 1
0020f636mov [rax+104], ebp
0020f639lea rbp, [rip+0x1693dc]
0020f640mov rdi, rbp
0020f643call fn_f4710
0020f648test eax, eax
0020f64ajne 0x20f69a
0020f64cmov rax, [rip+0x1693f1]
0020f653mov [rbx+80], rax
0020f657test rax, rax
0020f65aje 0x20f664
0020f65cmov [rax+88], rbx
0020f660mov rdi, rbp
0020f663mov [rip+0x1693da], rbx
0020f66acall fn_f47c0
0020f66ftest eax, eax
0020f671jne 0x20f6a8
0020f673mov ecx, 1
0020f678xor edx, edx
0020f67amov esi, 8
0020f67flea rdi, [rip+0x168cd6]
0020f686call caml_alloc_custom
0020f68bmov [rax+8], rbx
0020f68fadd rsp, 8
0020f693pop rbx
0020f694pop rbp
0020f695ret
0020f696mov esi, eax
0020f698lea rdi, [rip+0x1fe6c]
0020f69fcall caml_plat_fatal_error
0020f6a4mov esi, eax
0020f6a6lea rdi, [rip+0x1fe69]
0020f6adcall caml_plat_fatal_error
0020f6b2db 0x1a
0020f6b3ret
0020f6b4add [rax], al
0020f610
Loading..