File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
Loading..
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
0020f6b6
0020f6b6 // align 0x10
0020f6b6 // align 0x10
0020f6c0
0020f6c0caml_ml_open_descriptor_out:
0020f6c0sar rdi, 1
0020f6c3xor esi, esi
0020f6c5jmp 0x20f610
0020f6cadb 0x42
0020f6cbdb 0xff
0020f6ccdb 0xff
0020f6cddb 0xff
0020f6c0
0020f6c0caml_ml_open_descriptor_out:
0020f6c0sar rdi, 1
0020f6c3xor esi, esi
0020f6c5jmp 0x20f610
0020f6cadb 0x42
0020f6cbdb 0xff
0020f6ccdb 0xff
0020f6cddb 0xff
0020f6c0
0020f6ce
0020f6ce // align 0x10
0020f6ce // align 0x10
0020f6d0
0020f6d0caml_ml_set_channel_name:
0020f6d0push r13
0020f6d2push r12
0020f6d4push rbp
0020f6d5push rbx
0020f6d6sub rsp, 104
0020f6damovdqa x0, [rip+0x1a9ea]
0020f6e2mov [rsp+8], rdi
0020f6e7movq x1, rsp
0020f6ecmov [rsp], rsi
0020f6f0mov rax, [0x28]
0020f6f9mov [rsp+88], rax
0020f6femov rax, [rip+0x668df]
0020f705mov rbp, [rax]
0020f709lea rax, [rsp+16]
0020f70emovups [rsp+24], x0
0020f713mov r12, [rbp+160]
0020f71amov [rbp+160], rax
0020f721lea rax, [rsp+8]
0020f726movq x0, rax
0020f72bpunpcklqdq x0, x1
0020f72fmov [rsp+16], r12
0020f734movups [rsp+40], x0
0020f739mov rbx, [rdi+8]
0020f73dlea r13, [rbx+40]
0020f741mov rdi, r13
0020f744call fn_f4780
0020f749cmp eax, 16
0020f74cje 0x20f7c8
0020f74etest eax, eax
0020f750jne 0x20f7f6
0020f756mov [0xfffffffffffffff0], rbx
0020f75fmov rdi, [rbx+120]
0020f763call caml_stat_free
0020f768mov rdi, [rsp]
0020f76ccall caml_string_length
0020f771mov rdx, rax
0020f774xor eax, eax
0020f776test rdx, rdx
0020f779jne 0x20f7d8
0020f77bmov [rbx+120], rax
0020f77f
0020f77floc_20f77f:
0020f77fmov rdi, r13
0020f782call fn_f47c0
0020f787test eax, eax
0020f789jne 0x20f7e8
0020f78bmov [0xfffffffffffffff0], 0
0020f798mov [rbp+160], r12
0020f79fmov rax, [rsp+88]
0020f7a4sub rax, [0x28]
0020f7adjne 0x20f7e3
0020f7afadd rsp, 104
0020f7b3mov eax, 1
0020f7b8pop rbx
0020f7b9pop rbp
0020f7bapop r12
0020f7bcpop r13
0020f7beret
0020f7bfdb 0x5c
0020f7c0pop r13
0020f7c2ret
0020f7c3
0020f7c3 0f 1f 44 00 00 ..D..
0020f7c8
0020f7c8loc_20f7c8:
0020f7c8mov rdi, r13
0020f7cbcall caml_plat_lock_non_blocking_actual
0020f7d0jmp 0x20f75a
0020f7d2
0020f7d2 66 0f 1f 44 00 00 f..D..
0020f7d8
0020f7d8loc_20f7d8:
0020f7d8mov rdi, [rsp]
0020f7dccall caml_stat_strdup
0020f7e1jmp 0x20f77f
0020f7e3
0020f7e3loc_20f7e3:
0020f7e3call fn_f4590
0020f7e8
0020f7e8loc_20f7e8:
0020f7e8mov esi, eax
0020f7ealea rdi, [rip+0x1fd29]
0020f7f1call caml_plat_fatal_error
0020f7f6
0020f7f6loc_20f7f6:
0020f7f6mov esi, eax
0020f7f8lea rdi, [rip+0x1fd28]
0020f7ffcall caml_plat_fatal_error
0020f6d0
0020f6d0caml_ml_set_channel_name:
0020f6d0push r13
0020f6d2push r12
0020f6d4push rbp
0020f6d5push rbx
0020f6d6sub rsp, 104
0020f6damovdqa x0, [rip+0x1a9ea]
0020f6e2mov [rsp+8], rdi
0020f6e7movq x1, rsp
0020f6ecmov [rsp], rsi
0020f6f0mov rax, [0x28]
0020f6f9mov [rsp+88], rax
0020f6femov rax, [rip+0x668df]
0020f705mov rbp, [rax]
0020f709lea rax, [rsp+16]
0020f70emovups [rsp+24], x0
0020f713mov r12, [rbp+160]
0020f71amov [rbp+160], rax
0020f721lea rax, [rsp+8]
0020f726movq x0, rax
0020f72bpunpcklqdq x0, x1
0020f72fmov [rsp+16], r12
0020f734movups [rsp+40], x0
0020f739mov rbx, [rdi+8]
0020f73dlea r13, [rbx+40]
0020f741mov rdi, r13
0020f744call fn_f4780
0020f749cmp eax, 16
0020f74cje 0x20f7c8
0020f74etest eax, eax
0020f750jne 0x20f7f6
0020f756mov [0xfffffffffffffff0], rbx
0020f75fmov rdi, [rbx+120]
0020f763call caml_stat_free
0020f768mov rdi, [rsp]
0020f76ccall caml_string_length
0020f771mov rdx, rax
0020f774xor eax, eax
0020f776test rdx, rdx
0020f779jne 0x20f7d8
0020f77bmov [rbx+120], rax
0020f77f
0020f77floc_20f77f:
0020f77fmov rdi, r13
0020f782call fn_f47c0
0020f787test eax, eax
0020f789jne 0x20f7e8
0020f78bmov [0xfffffffffffffff0], 0
0020f798mov [rbp+160], r12
0020f79fmov rax, [rsp+88]
0020f7a4sub rax, [0x28]
0020f7adjne 0x20f7e3
0020f7afadd rsp, 104
0020f7b3mov eax, 1
0020f7b8pop rbx
0020f7b9pop rbp
0020f7bapop r12
0020f7bcpop r13
0020f7beret
0020f7bfdb 0x5c
0020f7c0pop r13
0020f7c2ret
0020f7c3
0020f7c3 0f 1f 44 00 00 ..D..
0020f7c8
0020f7c8loc_20f7c8:
0020f7c8mov rdi, r13
0020f7cbcall caml_plat_lock_non_blocking_actual
0020f7d0jmp 0x20f75a
0020f7d2
0020f7d2 66 0f 1f 44 00 00 f..D..
0020f7d8
0020f7d8loc_20f7d8:
0020f7d8mov rdi, [rsp]
0020f7dccall caml_stat_strdup
0020f7e1jmp 0x20f77f
0020f7e3
0020f7e3loc_20f7e3:
0020f7e3call fn_f4590
0020f7e8
0020f7e8loc_20f7e8:
0020f7e8mov esi, eax
0020f7ealea rdi, [rip+0x1fd29]
0020f7f1call caml_plat_fatal_error
0020f7f6
0020f7f6loc_20f7f6:
0020f7f6mov esi, eax
0020f7f8lea rdi, [rip+0x1fd28]
0020f7ffcall caml_plat_fatal_error
0020f6d0
0020f804
0020f804 // align 0x10
0020f804 // align 0x10
0020f810
0020f810caml_ml_out_channels_list:
0020f810push r15
0020f812lea r15, [rip+0x169203]
0020f819push r14
0020f81bmov rdi, r15
0020f81epush r13
0020f820push r12
0020f822push rbp
0020f823push rbx
0020f824sub rsp, 136
0020f82bmovdqa x0, [rip+0x1a8a9]
0020f833mov rax, [0x28]
0020f83cmov [rsp+120], rax
0020f841mov rax, [rip+0x6679c]
0020f848mov r13, [rax]
0020f84cmovups [rsp+56], x0
0020f851mov [rsp+24], 1
0020f85amov [rsp+32], 1
0020f863mov rax, [r13+160]
0020f86amov [rsp+40], 1
0020f873mov [rsp+8], rax
0020f878mov [rsp+48], rax
0020f87dlea rax, [rsp+48]
0020f882mov [r13+160], rax
0020f889lea rax, [rsp+24]
0020f88emovq x0, rax
0020f893lea rax, [rsp+32]
0020f898movq x1, rax
0020f89dlea rax, [rsp+40]
0020f8a2punpcklqdq x0, x1
0020f8a6mov [rsp+88], rax
0020f8abmovups [rsp+72], x0
0020f8b0call fn_f4710
0020f8b5test eax, eax
0020f8b7jne 0x20f9ff
0020f8bdmov rbx, [rip+0x169180]
0020f8c4test rbx, rbx
0020f8c7je 0x20f9d2
0020f8cdxor r12l, r12l
0020f8d0xor ebp, ebp
0020f8d2jmp 0x20f8e9
0020f8d4db 0x31
0020f8d5in eax, dx
0020f8d6jmp 0x20f8e9
0020f8d8
0020f8d8 0f 1f 84 00 00 00 00 00 ........
0020f8e0
0020f8e0loc_20f8e0:
0020f8e0mov rbx, [rbx+80]
0020f8e4test rbx, rbx
0020f8e7je 0x20f920
0020f8e9
0020f8e9loc_20f8e9:
0020f8e9cmp [rbx+32], 0
0020f8eejne 0x20f8e0
0020f8f0add [rbx+96], 1
0020f8f5mov edi, 16
0020f8faadd r12, 1
0020f8fecall caml_stat_alloc_noexc
0020f903test rax, rax
0020f906je 0x20f9e5
0020f90cmov [rax+8], rbp
0020f910mov rbp, rax
0020f913mov [rax], rbx
0020f916mov rbx, [rbx+80]
0020f91atest rbx, rbx
0020f91djne 0x20f8e9
0020f91fnop
0020f920
0020f920loc_20f920:
0020f920mov rdi, r15
0020f923call fn_f47c0
0020f928test eax, eax
0020f92ajne 0x20f9f1
0020f930mov [rsp+24], 1
0020f939xor r15l, r15l
0020f93clea rbx, [rip+0x168a1d]
0020f943test r12, r12
0020f946je 0x20f9de
0020f94cnop [rax]
0020f950
0020f950loc_20f950:
0020f950mov r14, [rbp]
0020f954mov ecx, 1
0020f959xor edx, edx
0020f95bmov esi, 8
0020f960mov rdi, rbx
0020f963add r15, 1
0020f967call caml_alloc_custom
0020f96cxor edi, edi
0020f96emov [rax+8], r14
0020f972mov rdx, [rsp+24]
0020f977mov rsi, rax
0020f97amov [rsp+40], rax
0020f97fmov [rsp+32], rdx
0020f984call caml_alloc_2
0020f989mov rdi, rbp
0020f98cmov rbp, [rbp+8]
0020f990mov [rsp+24], rax
0020f995call caml_stat_free
0020f99acmp r12, r15
0020f99djne 0x20f950
0020f99fmov rax, [rsp+24]
0020f9a4
0020f9a4loc_20f9a4:
0020f9a4mov rcx, [rsp+8]
0020f9a9mov [r13+160], rcx
0020f9b0mov rdx, [rsp+120]
0020f9b5sub rdx, [0x28]
0020f9bejne 0x20fa0d
0020f9c0add rsp, 136
0020f9c7pop rbx
0020f9c8pop rbp
0020f9c9pop r12
0020f9cbpop r13
0020f9cdpop r14
0020f9cfpop r15
0020f9d1ret
0020f9d2
0020f9d2loc_20f9d2:
0020f9d2mov rdi, r15
0020f9d5call fn_f47c0
0020f9datest eax, eax
0020f9dcjne 0x20f9f1
0020f9de
0020f9deloc_20f9de:
0020f9demov eax, 1
0020f9e3jmp 0x20f9a4
0020f9e5
0020f9e5loc_20f9e5:
0020f9e5lea rdi, [rip+0x20f2c]
0020f9eccall caml_fatal_error
0020f9f1
0020f9f1loc_20f9f1:
0020f9f1mov esi, eax
0020f9f3lea rdi, [rip+0x1fb20]
0020f9facall caml_plat_fatal_error
0020f9ff
0020f9ffloc_20f9ff:
0020f9ffmov esi, eax
0020fa01lea rdi, [rip+0x1fb07]
0020fa08call caml_plat_fatal_error
0020fa0d
0020fa0dloc_20fa0d:
0020fa0dcall fn_f4590
0020f810
0020f810caml_ml_out_channels_list:
0020f810push r15
0020f812lea r15, [rip+0x169203]
0020f819push r14
0020f81bmov rdi, r15
0020f81epush r13
0020f820push r12
0020f822push rbp
0020f823push rbx
0020f824sub rsp, 136
0020f82bmovdqa x0, [rip+0x1a8a9]
0020f833mov rax, [0x28]
0020f83cmov [rsp+120], rax
0020f841mov rax, [rip+0x6679c]
0020f848mov r13, [rax]
0020f84cmovups [rsp+56], x0
0020f851mov [rsp+24], 1
0020f85amov [rsp+32], 1
0020f863mov rax, [r13+160]
0020f86amov [rsp+40], 1
0020f873mov [rsp+8], rax
0020f878mov [rsp+48], rax
0020f87dlea rax, [rsp+48]
0020f882mov [r13+160], rax
0020f889lea rax, [rsp+24]
0020f88emovq x0, rax
0020f893lea rax, [rsp+32]
0020f898movq x1, rax
0020f89dlea rax, [rsp+40]
0020f8a2punpcklqdq x0, x1
0020f8a6mov [rsp+88], rax
0020f8abmovups [rsp+72], x0
0020f8b0call fn_f4710
0020f8b5test eax, eax
0020f8b7jne 0x20f9ff
0020f8bdmov rbx, [rip+0x169180]
0020f8c4test rbx, rbx
0020f8c7je 0x20f9d2
0020f8cdxor r12l, r12l
0020f8d0xor ebp, ebp
0020f8d2jmp 0x20f8e9
0020f8d4db 0x31
0020f8d5in eax, dx
0020f8d6jmp 0x20f8e9
0020f8d8
0020f8d8 0f 1f 84 00 00 00 00 00 ........
0020f8e0
0020f8e0loc_20f8e0:
0020f8e0mov rbx, [rbx+80]
0020f8e4test rbx, rbx
0020f8e7je 0x20f920
0020f8e9
0020f8e9loc_20f8e9:
0020f8e9cmp [rbx+32], 0
0020f8eejne 0x20f8e0
0020f8f0add [rbx+96], 1
0020f8f5mov edi, 16
0020f8faadd r12, 1
0020f8fecall caml_stat_alloc_noexc
0020f903test rax, rax
0020f906je 0x20f9e5
0020f90cmov [rax+8], rbp
0020f910mov rbp, rax
0020f913mov [rax], rbx
0020f916mov rbx, [rbx+80]
0020f91atest rbx, rbx
0020f91djne 0x20f8e9
0020f91fnop
0020f920
0020f920loc_20f920:
0020f920mov rdi, r15
0020f923call fn_f47c0
0020f928test eax, eax
0020f92ajne 0x20f9f1
0020f930mov [rsp+24], 1
0020f939xor r15l, r15l
0020f93clea rbx, [rip+0x168a1d]
0020f943test r12, r12
0020f946je 0x20f9de
0020f94cnop [rax]
0020f950
0020f950loc_20f950:
0020f950mov r14, [rbp]
0020f954mov ecx, 1
0020f959xor edx, edx
0020f95bmov esi, 8
0020f960mov rdi, rbx
0020f963add r15, 1
0020f967call caml_alloc_custom
0020f96cxor edi, edi
0020f96emov [rax+8], r14
0020f972mov rdx, [rsp+24]
0020f977mov rsi, rax
0020f97amov [rsp+40], rax
0020f97fmov [rsp+32], rdx
0020f984call caml_alloc_2
0020f989mov rdi, rbp
0020f98cmov rbp, [rbp+8]
0020f990mov [rsp+24], rax
0020f995call caml_stat_free
0020f99acmp r12, r15
0020f99djne 0x20f950
0020f99fmov rax, [rsp+24]
0020f9a4
0020f9a4loc_20f9a4:
0020f9a4mov rcx, [rsp+8]
0020f9a9mov [r13+160], rcx
0020f9b0mov rdx, [rsp+120]
0020f9b5sub rdx, [0x28]
0020f9bejne 0x20fa0d
0020f9c0add rsp, 136
0020f9c7pop rbx
0020f9c8pop rbp
0020f9c9pop r12
0020f9cbpop r13
0020f9cdpop r14
0020f9cfpop r15
0020f9d1ret
0020f9d2
0020f9d2loc_20f9d2:
0020f9d2mov rdi, r15
0020f9d5call fn_f47c0
0020f9datest eax, eax
0020f9dcjne 0x20f9f1
0020f9de
0020f9deloc_20f9de:
0020f9demov eax, 1
0020f9e3jmp 0x20f9a4
0020f9e5
0020f9e5loc_20f9e5:
0020f9e5lea rdi, [rip+0x20f2c]
0020f9eccall caml_fatal_error
0020f9f1
0020f9f1loc_20f9f1:
0020f9f1mov esi, eax
0020f9f3lea rdi, [rip+0x1fb20]
0020f9facall caml_plat_fatal_error
0020f9ff
0020f9ffloc_20f9ff:
0020f9ffmov esi, eax
0020fa01lea rdi, [rip+0x1fb07]
0020fa08call caml_plat_fatal_error
0020fa0d
0020fa0dloc_20fa0d:
0020fa0dcall fn_f4590
0020f810
0020fa12
0020fa12 // align 0x10
0020fa12 // align 0x10
0020fa20
0020fa20caml_channel_descriptor:
0020fa20mov rax, [rdi+8]
0020fa24movsxd rax, [rax]
0020fa27cmp eax, -1
0020fa2aje 0x20fa36
0020fa2clea rax, [rax+rax+1]
0020fa31ret
0020fa32push rax
0020fa33call fn_f4570
0020fa38mov edi, 1
0020fa3dmov [rax], 9
0020fa43call caml_sys_error
0020fa48db 0xd4
0020fa49db 0x25
0020fa4aadd [rax], eax
0020fa20
0020fa20caml_channel_descriptor:
0020fa20mov rax, [rdi+8]
0020fa24movsxd rax, [rax]
0020fa27cmp eax, -1
0020fa2aje 0x20fa36
0020fa2clea rax, [rax+rax+1]
0020fa31ret
0020fa32push rax
0020fa33call fn_f4570
0020fa38mov edi, 1
0020fa3dmov [rax], 9
0020fa43call caml_sys_error
0020fa48db 0xd4
0020fa49db 0x25
0020fa4aadd [rax], eax
0020fa20
0020fa4c
0020fa4c // align 0x10
0020fa4c // align 0x10
0020fa50
0020fa50caml_ml_close_channel:
0020fa50push r14
0020fa52push r13
0020fa54push r12
0020fa56push rbp
0020fa57push rbx
0020fa58sub rsp, 96
0020fa5cmov [rsp+8], rdi
0020fa61mov rax, [0x28]
0020fa6amov [rsp+88], rax
0020fa6fmov rax, [rip+0x6656e]
0020fa76mov rbp, [rax]
0020fa7alea rax, [rsp+16]
0020fa7fmov r12, [rbp+160]
0020fa86mov [rbp+160], rax
0020fa8dmov eax, 1
0020fa92movq x0, rax
0020fa97lea rax, [rsp+8]
0020fa9cpunpcklqdq x0, x0
0020faa0mov [rsp+16], r12
0020faa5mov [rsp+40], rax
0020faaamovups [rsp+24], x0
0020faafmov rbx, [rdi+8]
0020fab3lea r13, [rbx+40]
0020fab7mov rdi, r13
0020fabacall fn_f4780
0020fabfcmp eax, 16
0020fac2je 0x20fb80
0020fac8test eax, eax
0020facajne 0x20fbaa
0020fad0mov [0xfffffffffffffff0], rbx
0020fad9mov r14l, [rbx]
0020fadccmp r14l, -1
0020fae0je 0x20fb3a
0020fae2mov [rbx], -1
0020fae8mov rdi, [rbx+112]
0020faeccall caml_stat_free
0020faf1lea rdx, [rip+0x168f54]
0020faf8cmp [rbx+32], 0
0020fafdlea rcx, [rdx+1]
0020fb01mov [rbx+112], rdx
0020fb05mov rax, rcx
0020fb08mov [rbx+16], rcx
0020fb0ccmovne rax, rdx
0020fb10movq x0, rax
0020fb15punpcklqdq x0, x0
0020fb19movups [rbx+24], x0
0020fb1dcall caml_enter_blocking_section_no_pending
0020fb22mov edi, r14l
0020fb25call fn_f4140
0020fb2amov ebx, eax
0020fb2ccall caml_leave_blocking_section
0020fb31cmp ebx, -1
0020fb34je 0x20fba0
0020fb36mov rdi, r13
0020fb39call fn_f47c0
0020fb3etest eax, eax
0020fb40jne 0x20fb92
0020fb42mov [0xfffffffffffffff0], 0
0020fb4fmov [rbp+160], r12
0020fb56mov rax, [rsp+88]
0020fb5bsub rax, [0x28]
0020fb64jne 0x20fb8d
0020fb66add rsp, 96
0020fb6amov eax, 1
0020fb6fpop rbx
0020fb70pop rbp
0020fb71pop r12
0020fb73pop r13
0020fb75pop r14
0020fb77ret
0020fb78db 0x5d
0020fb79pop r14
0020fb7bret
0020fb7c
0020fb7c 0f 1f 40 00 ..@.
0020fb80
0020fb80loc_20fb80:
0020fb80mov rdi, r13
0020fb83call caml_plat_lock_non_blocking_actual
0020fb88jmp 0x20fad4
0020fb8d
0020fb8dloc_20fb8d:
0020fb8dcall fn_f4590
0020fb92
0020fb92loc_20fb92:
0020fb92mov esi, eax
0020fb94lea rdi, [rip+0x1f97f]
0020fb9bcall caml_plat_fatal_error
0020fba0
0020fba0loc_20fba0:
0020fba0mov edi, 1
0020fba5call caml_sys_error
0020fbaa
0020fbaaloc_20fbaa:
0020fbaamov esi, eax
0020fbaclea rdi, [rip+0x1f974]
0020fbb3call caml_plat_fatal_error
0020fa50
0020fa50caml_ml_close_channel:
0020fa50push r14
0020fa52push r13
0020fa54push r12
0020fa56push rbp
0020fa57push rbx
0020fa58sub rsp, 96
0020fa5cmov [rsp+8], rdi
0020fa61mov rax, [0x28]
0020fa6amov [rsp+88], rax
0020fa6fmov rax, [rip+0x6656e]
0020fa76mov rbp, [rax]
0020fa7alea rax, [rsp+16]
0020fa7fmov r12, [rbp+160]
0020fa86mov [rbp+160], rax
0020fa8dmov eax, 1
0020fa92movq x0, rax
0020fa97lea rax, [rsp+8]
0020fa9cpunpcklqdq x0, x0
0020faa0mov [rsp+16], r12
0020faa5mov [rsp+40], rax
0020faaamovups [rsp+24], x0
0020faafmov rbx, [rdi+8]
0020fab3lea r13, [rbx+40]
0020fab7mov rdi, r13
0020fabacall fn_f4780
0020fabfcmp eax, 16
0020fac2je 0x20fb80
0020fac8test eax, eax
0020facajne 0x20fbaa
0020fad0mov [0xfffffffffffffff0], rbx
0020fad9mov r14l, [rbx]
0020fadccmp r14l, -1
0020fae0je 0x20fb3a
0020fae2mov [rbx], -1
0020fae8mov rdi, [rbx+112]
0020faeccall caml_stat_free
0020faf1lea rdx, [rip+0x168f54]
0020faf8cmp [rbx+32], 0
0020fafdlea rcx, [rdx+1]
0020fb01mov [rbx+112], rdx
0020fb05mov rax, rcx
0020fb08mov [rbx+16], rcx
0020fb0ccmovne rax, rdx
0020fb10movq x0, rax
0020fb15punpcklqdq x0, x0
0020fb19movups [rbx+24], x0
0020fb1dcall caml_enter_blocking_section_no_pending
0020fb22mov edi, r14l
0020fb25call fn_f4140
0020fb2amov ebx, eax
0020fb2ccall caml_leave_blocking_section
0020fb31cmp ebx, -1
0020fb34je 0x20fba0
0020fb36mov rdi, r13
0020fb39call fn_f47c0
0020fb3etest eax, eax
0020fb40jne 0x20fb92
0020fb42mov [0xfffffffffffffff0], 0
0020fb4fmov [rbp+160], r12
0020fb56mov rax, [rsp+88]
0020fb5bsub rax, [0x28]
0020fb64jne 0x20fb8d
0020fb66add rsp, 96
0020fb6amov eax, 1
0020fb6fpop rbx
0020fb70pop rbp
0020fb71pop r12
0020fb73pop r13
0020fb75pop r14
0020fb77ret
0020fb78db 0x5d
0020fb79pop r14
0020fb7bret
0020fb7c
0020fb7c 0f 1f 40 00 ..@.
0020fb80
0020fb80loc_20fb80:
0020fb80mov rdi, r13
0020fb83call caml_plat_lock_non_blocking_actual
0020fb88jmp 0x20fad4
0020fb8d
0020fb8dloc_20fb8d:
0020fb8dcall fn_f4590
0020fb92
0020fb92loc_20fb92:
0020fb92mov esi, eax
0020fb94lea rdi, [rip+0x1f97f]
0020fb9bcall caml_plat_fatal_error
0020fba0
0020fba0loc_20fba0:
0020fba0mov edi, 1
0020fba5call caml_sys_error
0020fbaa
0020fbaaloc_20fbaa:
0020fbaamov esi, eax
0020fbaclea rdi, [rip+0x1f974]
0020fbb3call caml_plat_fatal_error
0020fa50
0020fbb8
0020fbb8 // align 0x10
0020fbb8 // align 0x10
0020fbc0
0020fbc0caml_ml_channel_size:
0020fbc0sub rsp, 8
0020fbc4call fn_20eb80
0020fbc9mov rdx, 0x3fffffffffffffff
0020fbd3cmp rax, rdx
0020fbd6jg 0x20fbe6
0020fbd8lea rax, [rax+rax+1]
0020fbddadd rsp, 8
0020fbe1ret
0020fbe2call fn_f4570
0020fbe7mov edi, 1
0020fbecmov [rax], 75
0020fbf2call caml_sys_error
0020fbf7db 0x25
0020fbf8and al, 1
0020fbfadb 0x00
0020fbc0
0020fbc0caml_ml_channel_size:
0020fbc0sub rsp, 8
0020fbc4call fn_20eb80
0020fbc9mov rdx, 0x3fffffffffffffff
0020fbd3cmp rax, rdx
0020fbd6jg 0x20fbe6
0020fbd8lea rax, [rax+rax+1]
0020fbddadd rsp, 8
0020fbe1ret
0020fbe2call fn_f4570
0020fbe7mov edi, 1
0020fbecmov [rax], 75
0020fbf2call caml_sys_error
0020fbf7db 0x25
0020fbf8and al, 1
0020fbfadb 0x00
0020fbc0
0020fbfb
0020fbfb // align 0x10
0020fbfb // align 0x10
0020fc00
0020fc00caml_ml_channel_size_64:
0020fc00sub rsp, 8
0020fc04call fn_20eb80
0020fc09add rsp, 8
0020fc0dmov rdi, rax
0020fc10jmp 0x20d9d0
0020fc15db 0xb7
0020fc16db 0xdd
0020fc17db 0xff
0020fc18db 0xff
0020fc00
0020fc00caml_ml_channel_size_64:
0020fc00sub rsp, 8
0020fc04call fn_20eb80
0020fc09add rsp, 8
0020fc0dmov rdi, rax
0020fc10jmp 0x20d9d0
0020fc15db 0xb7
0020fc16db 0xdd
0020fc17db 0xff
0020fc18db 0xff
0020fc00
0020fc19
0020fc19 // align 0x10
0020fc19 // align 0x10
0020fc20
0020fc20caml_ml_set_binary_mode:
0020fc20mov eax, 1
0020fc25ret
0020fc26db 0x00
0020fc27add [rax], al
0020fc29ret
0020fc20
0020fc20caml_ml_set_binary_mode:
0020fc20mov eax, 1
0020fc25ret
0020fc26db 0x00
0020fc27add [rax], al
0020fc29ret
0020fc20
0020fc2a
0020fc2a // align 0x10
0020fc2a // align 0x10
0020fc30
0020fc30caml_ml_is_binary_mode:
0020fc30mov rax, [rdi+8]
0020fc34mov eax, [rax+104]
0020fc37and eax, 8
0020fc3acmp eax, 1
0020fc3dsbb rax, rax
0020fc40and eax, 2
0020fc43add rax, 1
0020fc47ret
0020fc48db 0x83
0020fc49rol [rcx], -61
0020fc30
0020fc30caml_ml_is_binary_mode:
0020fc30mov rax, [rdi+8]
0020fc34mov eax, [rax+104]
0020fc37and eax, 8
0020fc3acmp eax, 1
0020fc3dsbb rax, rax
0020fc40and eax, 2
0020fc43add rax, 1
0020fc47ret
0020fc48db 0x83
0020fc49rol [rcx], -61
0020fc30
0020fc4c
0020fc4c // align 0x10
0020fc4c // align 0x10
0020fc50
0020fc50caml_ml_flush:
0020fc50push r13
0020fc52push r12
0020fc54push rbp
0020fc55push rbx
0020fc56sub rsp, 104
0020fc5amov [rsp+8], rdi
0020fc5fmov rax, [0x28]
0020fc68mov [rsp+88], rax
0020fc6dmov rax, [rip+0x66370]
0020fc74mov rbp, [rax]
0020fc78lea rax, [rsp+16]
0020fc7dmov r13, [rbp+160]
0020fc84mov [rbp+160], rax
0020fc8bmov eax, 1
0020fc90movq x0, rax
0020fc95lea rax, [rsp+8]
0020fc9apunpcklqdq x0, x0
0020fc9emov [rsp+16], r13
0020fca3mov [rsp+40], rax
0020fca8movups [rsp+24], x0
0020fcadmov rbx, [rdi+8]
0020fcb1lea r12, [rbx+40]
0020fcb5mov rdi, r12
0020fcb8call fn_f4780
0020fcbdcmp eax, 16
0020fcc0je 0x20fd30
0020fcc2test eax, eax
0020fcc4jne 0x20fd4d
0020fccamov [0xfffffffffffffff0], rbx
0020fcd3cmp [rbx], -1
0020fcd6je 0x20fcec
0020fcd8nop [rax]
0020fcdcmov rdi, rbx
0020fcdfcall caml_flush_partial
0020fce4test eax, eax
0020fce6je 0x20fce0
0020fce8mov rdi, r12
0020fcebcall fn_f47c0
0020fcf0test eax, eax
0020fcf2jne 0x20fd3f
0020fcf4mov [0xfffffffffffffff0], 0
0020fd01mov [rbp+160], r13
0020fd08mov rax, [rsp+88]
0020fd0dsub rax, [0x28]
0020fd16jne 0x20fd3a
0020fd18add rsp, 104
0020fd1cmov eax, 1
0020fd21pop rbx
0020fd22pop rbp
0020fd23pop r12
0020fd25pop r13
0020fd27ret
0020fd28db 0x5c
0020fd29pop r13
0020fd2bret
0020fd2c
0020fd2c 0f 1f 40 00 ..@.
0020fd30
0020fd30loc_20fd30:
0020fd30mov rdi, r12
0020fd33call caml_plat_lock_non_blocking_actual
0020fd38jmp 0x20fcce
0020fd3a
0020fd3aloc_20fd3a:
0020fd3acall fn_f4590
0020fd3f
0020fd3floc_20fd3f:
0020fd3fmov esi, eax
0020fd41lea rdi, [rip+0x1f7d2]
0020fd48call caml_plat_fatal_error
0020fd4d
0020fd4dloc_20fd4d:
0020fd4dmov esi, eax
0020fd4flea rdi, [rip+0x1f7d1]
0020fd56call caml_plat_fatal_error
0020fc50
0020fc50caml_ml_flush:
0020fc50push r13
0020fc52push r12
0020fc54push rbp
0020fc55push rbx
0020fc56sub rsp, 104
0020fc5amov [rsp+8], rdi
0020fc5fmov rax, [0x28]
0020fc68mov [rsp+88], rax
0020fc6dmov rax, [rip+0x66370]
0020fc74mov rbp, [rax]
0020fc78lea rax, [rsp+16]
0020fc7dmov r13, [rbp+160]
0020fc84mov [rbp+160], rax
0020fc8bmov eax, 1
0020fc90movq x0, rax
0020fc95lea rax, [rsp+8]
0020fc9apunpcklqdq x0, x0
0020fc9emov [rsp+16], r13
0020fca3mov [rsp+40], rax
0020fca8movups [rsp+24], x0
0020fcadmov rbx, [rdi+8]
0020fcb1lea r12, [rbx+40]
0020fcb5mov rdi, r12
0020fcb8call fn_f4780
0020fcbdcmp eax, 16
0020fcc0je 0x20fd30
0020fcc2test eax, eax
0020fcc4jne 0x20fd4d
0020fccamov [0xfffffffffffffff0], rbx
0020fcd3cmp [rbx], -1
0020fcd6je 0x20fcec
0020fcd8nop [rax]
0020fcdcmov rdi, rbx
0020fcdfcall caml_flush_partial
0020fce4test eax, eax
0020fce6je 0x20fce0
0020fce8mov rdi, r12
0020fcebcall fn_f47c0
0020fcf0test eax, eax
0020fcf2jne 0x20fd3f
0020fcf4mov [0xfffffffffffffff0], 0
0020fd01mov [rbp+160], r13
0020fd08mov rax, [rsp+88]
0020fd0dsub rax, [0x28]
0020fd16jne 0x20fd3a
0020fd18add rsp, 104
0020fd1cmov eax, 1
0020fd21pop rbx
0020fd22pop rbp
0020fd23pop r12
0020fd25pop r13
0020fd27ret
0020fd28db 0x5c
0020fd29pop r13
0020fd2bret
0020fd2c
0020fd2c 0f 1f 40 00 ..@.
0020fd30
0020fd30loc_20fd30:
0020fd30mov rdi, r12
0020fd33call caml_plat_lock_non_blocking_actual
0020fd38jmp 0x20fcce
0020fd3a
0020fd3aloc_20fd3a:
0020fd3acall fn_f4590
0020fd3f
0020fd3floc_20fd3f:
0020fd3fmov esi, eax
0020fd41lea rdi, [rip+0x1f7d2]
0020fd48call caml_plat_fatal_error
0020fd4d
0020fd4dloc_20fd4d:
0020fd4dmov esi, eax
0020fd4flea rdi, [rip+0x1f7d1]
0020fd56call caml_plat_fatal_error
0020fc50
0020fd5b
0020fd5b // align 0x10
0020fd5b // align 0x10
0020fd60
0020fd60caml_ml_set_buffered:
0020fd60push r13
0020fd62push r12
0020fd64push rbp
0020fd65push rbx
0020fd66sub rsp, 104
0020fd6amovdqa x0, [rip+0x1a35a]
0020fd72mov [rsp+8], rdi
0020fd77movq x1, rsp
0020fd7cmov [rsp], rsi
0020fd80mov rax, [0x28]
0020fd89mov [rsp+88], rax
0020fd8emov rax, [rip+0x6624f]
0020fd95mov rbp, [rax]
0020fd99lea rax, [rsp+16]
0020fd9emovups [rsp+24], x0
0020fda3mov r13, [rbp+160]
0020fdaamov [rbp+160], rax
0020fdb1lea rax, [rsp+8]
0020fdb6movq x0, rax
0020fdbbpunpcklqdq x0, x1
0020fdbfmov [rsp+16], r13
0020fdc4movups [rsp+40], x0
0020fdc9mov rbx, [rdi+8]
0020fdcdlea r12, [rbx+40]
0020fdd1mov rdi, r12
0020fdd4call fn_f4780
0020fdd9cmp eax, 16
0020fddcje 0x20fe80
0020fde2test eax, eax
0020fde4jne 0x20fea0
0020fdeamov [0xfffffffffffffff0], rbx
0020fdf3mov rax, [rsp]
0020fdf7mov edx, [rbx+104]
0020fdfasar rax, 1
0020fdfdtest eax, eax
0020fdffje 0x20fe50
0020fe01and edx, -17
0020fe04mov [rbx+104], edx
0020fe07mov rdi, r12
0020fe0acall fn_f47c0
0020fe0ftest eax, eax
0020fe11jne 0x20fe92
0020fe13mov [0xfffffffffffffff0], 0
0020fe20mov [rbp+160], r13
0020fe27mov rax, [rsp+88]
0020fe2csub rax, [0x28]
0020fe35jne 0x20fe8d
0020fe37add rsp, 104
0020fe3bmov eax, 1
0020fe40pop rbx
0020fe41pop rbp
0020fe42pop r12
0020fe44pop r13
0020fe46ret
0020fe47db 0x5c
0020fe48pop r13
0020fe4aret
0020fe4b
0020fe4b 0f 1f 44 00 00 ..D..
0020fe50
0020fe50loc_20fe50:
0020fe50or edx, 16
0020fe53cmp [rbx], -1
0020fe56mov [rbx+104], edx
0020fe59je 0x20fe0b
0020fe5bnop [rax+rax]
0020fe60
0020fe60loc_20fe60:
0020fe60mov rdi, rbx
0020fe63call caml_flush_partial
0020fe68test eax, eax
0020fe6ajne 0x20fe0b
0020fe6cmov rdi, rbx
0020fe6fcall caml_flush_partial
0020fe74test eax, eax
0020fe76je 0x20fe60
0020fe78jmp 0x20fe0b
0020fe7a
0020fe7a 66 0f 1f 44 00 00 f..D..
0020fe80
0020fe80loc_20fe80:
0020fe80mov rdi, r12
0020fe83call caml_plat_lock_non_blocking_actual
0020fe88jmp 0x20fdee
0020fe8d
0020fe8dloc_20fe8d:
0020fe8dcall fn_f4590
0020fe92
0020fe92loc_20fe92:
0020fe92mov esi, eax
0020fe94lea rdi, [rip+0x1f67f]
0020fe9bcall caml_plat_fatal_error
0020fea0
0020fea0loc_20fea0:
0020fea0mov esi, eax
0020fea2lea rdi, [rip+0x1f67e]
0020fea9call caml_plat_fatal_error
0020fd60
0020fd60caml_ml_set_buffered:
0020fd60push r13
0020fd62push r12
0020fd64push rbp
0020fd65push rbx
0020fd66sub rsp, 104
0020fd6amovdqa x0, [rip+0x1a35a]
0020fd72mov [rsp+8], rdi
0020fd77movq x1, rsp
0020fd7cmov [rsp], rsi
0020fd80mov rax, [0x28]
0020fd89mov [rsp+88], rax
0020fd8emov rax, [rip+0x6624f]
0020fd95mov rbp, [rax]
0020fd99lea rax, [rsp+16]
0020fd9emovups [rsp+24], x0
0020fda3mov r13, [rbp+160]
0020fdaamov [rbp+160], rax
0020fdb1lea rax, [rsp+8]
0020fdb6movq x0, rax
0020fdbbpunpcklqdq x0, x1
0020fdbfmov [rsp+16], r13
0020fdc4movups [rsp+40], x0
0020fdc9mov rbx, [rdi+8]
0020fdcdlea r12, [rbx+40]
0020fdd1mov rdi, r12
0020fdd4call fn_f4780
0020fdd9cmp eax, 16
0020fddcje 0x20fe80
0020fde2test eax, eax
0020fde4jne 0x20fea0
0020fdeamov [0xfffffffffffffff0], rbx
0020fdf3mov rax, [rsp]
0020fdf7mov edx, [rbx+104]
0020fdfasar rax, 1
0020fdfdtest eax, eax
0020fdffje 0x20fe50
0020fe01and edx, -17
0020fe04mov [rbx+104], edx
0020fe07mov rdi, r12
0020fe0acall fn_f47c0
0020fe0ftest eax, eax
0020fe11jne 0x20fe92
0020fe13mov [0xfffffffffffffff0], 0
0020fe20mov [rbp+160], r13
0020fe27mov rax, [rsp+88]
0020fe2csub rax, [0x28]
0020fe35jne 0x20fe8d
0020fe37add rsp, 104
0020fe3bmov eax, 1
0020fe40pop rbx
0020fe41pop rbp
0020fe42pop r12
0020fe44pop r13
0020fe46ret
0020fe47db 0x5c
0020fe48pop r13
0020fe4aret
0020fe4b
0020fe4b 0f 1f 44 00 00 ..D..
0020fe50
0020fe50loc_20fe50:
0020fe50or edx, 16
0020fe53cmp [rbx], -1
0020fe56mov [rbx+104], edx
0020fe59je 0x20fe0b
0020fe5bnop [rax+rax]
0020fe60
0020fe60loc_20fe60:
0020fe60mov rdi, rbx
0020fe63call caml_flush_partial
0020fe68test eax, eax
0020fe6ajne 0x20fe0b
0020fe6cmov rdi, rbx
0020fe6fcall caml_flush_partial
0020fe74test eax, eax
0020fe76je 0x20fe60
0020fe78jmp 0x20fe0b
0020fe7a
0020fe7a 66 0f 1f 44 00 00 f..D..
0020fe80
0020fe80loc_20fe80:
0020fe80mov rdi, r12
0020fe83call caml_plat_lock_non_blocking_actual
0020fe88jmp 0x20fdee
0020fe8d
0020fe8dloc_20fe8d:
0020fe8dcall fn_f4590
0020fe92
0020fe92loc_20fe92:
0020fe92mov esi, eax
0020fe94lea rdi, [rip+0x1f67f]
0020fe9bcall caml_plat_fatal_error
0020fea0
0020fea0loc_20fea0:
0020fea0mov esi, eax
0020fea2lea rdi, [rip+0x1f67e]
0020fea9call caml_plat_fatal_error
0020fd60
0020feae
0020feae // align 0x10
0020feae // align 0x10
0020feb0
0020feb0caml_ml_is_buffered:
0020feb0mov rax, [rdi+8]
0020feb4mov eax, [rax+104]
0020feb7and eax, 16
0020febacmp eax, 1
0020febdsbb rax, rax
0020fec0and eax, 2
0020fec3add rax, 1
0020fec7ret
0020fec8db 0x83
0020fec9rol [rcx], -61
0020feb0
0020feb0caml_ml_is_buffered:
0020feb0mov rax, [rdi+8]
0020feb4mov eax, [rax+104]
0020feb7and eax, 16
0020febacmp eax, 1
0020febdsbb rax, rax
0020fec0and eax, 2
0020fec3add rax, 1
0020fec7ret
0020fec8db 0x83
0020fec9rol [rcx], -61
0020feb0
0020fecc
0020fecc // align 0x10
0020fecc // align 0x10
0020fed0
0020fed0caml_ml_output_char:
0020fed0push r13
0020fed2push r12
0020fed4push rbp
0020fed5push rbx
0020fed6sub rsp, 104
0020fedamovdqa x0, [rip+0x1a1ea]
0020fee2mov [rsp+8], rdi
0020fee7movq x1, rsp
0020feecmov [rsp], rsi
0020fef0mov rax, [0x28]
0020fef9mov [rsp+88], rax
0020fefemov rax, [rip+0x660df]
0020ff05mov rbp, [rax]
0020ff09lea rax, [rsp+16]
0020ff0emovups [rsp+24], x0
0020ff13mov r13, [rbp+160]
0020ff1amov [rbp+160], rax
0020ff21lea rax, [rsp+8]
0020ff26movq x0, rax
0020ff2bpunpcklqdq x0, x1
0020ff2fmov [rsp+16], r13
0020ff34movups [rsp+40], x0
0020ff39mov rbx, [rdi+8]
0020ff3dlea r12, [rbx+40]
0020ff41mov rdi, r12
0020ff44call fn_f4780
0020ff49cmp eax, 16
0020ff4cje 0x20fff0
0020ff52test eax, eax
0020ff54jne 0x210011
0020ff5amov [0xfffffffffffffff0], rbx
0020ff63mov rax, [rbx+24]
0020ff67cmp rax, [rbx+16]
0020ff6bjae 0x210000
0020ff71mov rdx, [rsp]
0020ff75
0020ff75loc_20ff75:
0020ff75lea rcx, [rax+1]
0020ff79mov [rbx+24], rcx
0020ff7dsar rdx, 1
0020ff80mov [rax], dl
0020ff82test [rbx+104], 16
0020ff86jne 0x20ffd0
0020ff88mov rdi, r12
0020ff8bcall fn_f47c0
0020ff90test eax, eax
0020ff92jne 0x210024
0020ff98mov [0xfffffffffffffff0], 0
0020ffa5mov [rbp+160], r13
0020ffacmov rax, [rsp+88]
0020ffb1sub rax, [0x28]
0020ffbajne 0x21001f
0020ffbcadd rsp, 104
0020ffc0mov eax, 1
0020ffc5pop rbx
0020ffc6pop rbp
0020ffc7pop r12
0020ffc9pop r13
0020ffcbret
0020ffccmov rdi, rbx
0020ffcfcall caml_flush_partial
0020ffd4test eax, eax
0020ffd6jne 0x20ff8c
0020ffd8mov rdi, rbx
0020ffdbcall caml_flush_partial
0020ffe0test eax, eax
0020ffe2je 0x20ffd0
0020ffe4jmp 0x20ff8c
0020ffe6db 0x74
0020ffe7db 0xe8
0020ffe8jmp 0x20ff8c
0020ffea
0020ffea 66 0f 1f 44 00 00 f..D..
0020fff0
0020fff0loc_20fff0:
0020fff0mov rdi, r12
0020fff3call caml_plat_lock_non_blocking_actual
0020fff8jmp 0x20ff5e
0020fffd
0020fffd 0f 1f 00 ...
00210000
00210000loc_210000:
00210000mov rdi, rbx
00210003call caml_flush_partial
00210008mov rax, [rbx+24]
0021000cjmp 0x20ff75
00210011
00210011loc_210011:
00210011mov esi, eax
00210013lea rdi, [rip+0x1f50d]
0021001acall caml_plat_fatal_error
0021001f
0021001floc_21001f:
0021001fcall fn_f4590
00210024
00210024loc_210024:
00210024mov esi, eax
00210026lea rdi, [rip+0x1f4ed]
0021002dcall caml_plat_fatal_error
0020fed0
0020fed0caml_ml_output_char:
0020fed0push r13
0020fed2push r12
0020fed4push rbp
0020fed5push rbx
0020fed6sub rsp, 104
0020fedamovdqa x0, [rip+0x1a1ea]
0020fee2mov [rsp+8], rdi
0020fee7movq x1, rsp
0020feecmov [rsp], rsi
0020fef0mov rax, [0x28]
0020fef9mov [rsp+88], rax
0020fefemov rax, [rip+0x660df]
0020ff05mov rbp, [rax]
0020ff09lea rax, [rsp+16]
0020ff0emovups [rsp+24], x0
0020ff13mov r13, [rbp+160]
0020ff1amov [rbp+160], rax
0020ff21lea rax, [rsp+8]
0020ff26movq x0, rax
0020ff2bpunpcklqdq x0, x1
0020ff2fmov [rsp+16], r13
0020ff34movups [rsp+40], x0
0020ff39mov rbx, [rdi+8]
0020ff3dlea r12, [rbx+40]
0020ff41mov rdi, r12
0020ff44call fn_f4780
0020ff49cmp eax, 16
0020ff4cje 0x20fff0
0020ff52test eax, eax
0020ff54jne 0x210011
0020ff5amov [0xfffffffffffffff0], rbx
0020ff63mov rax, [rbx+24]
0020ff67cmp rax, [rbx+16]
0020ff6bjae 0x210000
0020ff71mov rdx, [rsp]
0020ff75
0020ff75loc_20ff75:
0020ff75lea rcx, [rax+1]
0020ff79mov [rbx+24], rcx
0020ff7dsar rdx, 1
0020ff80mov [rax], dl
0020ff82test [rbx+104], 16
0020ff86jne 0x20ffd0
0020ff88mov rdi, r12
0020ff8bcall fn_f47c0
0020ff90test eax, eax
0020ff92jne 0x210024
0020ff98mov [0xfffffffffffffff0], 0
0020ffa5mov [rbp+160], r13
0020ffacmov rax, [rsp+88]
0020ffb1sub rax, [0x28]
0020ffbajne 0x21001f
0020ffbcadd rsp, 104
0020ffc0mov eax, 1
0020ffc5pop rbx
0020ffc6pop rbp
0020ffc7pop r12
0020ffc9pop r13
0020ffcbret
0020ffccmov rdi, rbx
0020ffcfcall caml_flush_partial
0020ffd4test eax, eax
0020ffd6jne 0x20ff8c
0020ffd8mov rdi, rbx
0020ffdbcall caml_flush_partial
0020ffe0test eax, eax
0020ffe2je 0x20ffd0
0020ffe4jmp 0x20ff8c
0020ffe6db 0x74
0020ffe7db 0xe8
0020ffe8jmp 0x20ff8c
0020ffea
0020ffea 66 0f 1f 44 00 00 f..D..
0020fff0
0020fff0loc_20fff0:
0020fff0mov rdi, r12
0020fff3call caml_plat_lock_non_blocking_actual
0020fff8jmp 0x20ff5e
0020fffd
0020fffd 0f 1f 00 ...
00210000
00210000loc_210000:
00210000mov rdi, rbx
00210003call caml_flush_partial
00210008mov rax, [rbx+24]
0021000cjmp 0x20ff75
00210011
00210011loc_210011:
00210011mov esi, eax
00210013lea rdi, [rip+0x1f50d]
0021001acall caml_plat_fatal_error
0021001f
0021001floc_21001f:
0021001fcall fn_f4590
00210024
00210024loc_210024:
00210024mov esi, eax
00210026lea rdi, [rip+0x1f4ed]
0021002dcall caml_plat_fatal_error
0020fed0
00210032
00210032 // align 0x10
00210032 // align 0x10
00210040
00210040caml_ml_output_int:
00210040push r13
00210042push r12
00210044push rbp
00210045push rbx
00210046sub rsp, 104
0021004amovdqa x0, [rip+0x1a07a]
00210052mov [rsp+8], rdi
00210057movq x1, rsp
0021005cmov [rsp], rsi
00210060mov rax, [0x28]
00210069mov [rsp+88], rax
0021006emov rax, [rip+0x65f6f]
00210075mov rbp, [rax]
00210079lea rax, [rsp+16]
0021007emovups [rsp+24], x0
00210083mov r13, [rbp+160]
0021008amov [rbp+160], rax
00210091lea rax, [rsp+8]
00210096movq x0, rax
0021009bpunpcklqdq x0, x1
0021009fmov [rsp+16], r13
002100a4movups [rsp+40], x0
002100a9mov rbx, [rdi+8]
002100adlea r12, [rbx+40]
002100b1mov rdi, r12
002100b4call fn_f4780
002100b9cmp eax, 16
002100bcje 0x210150
002100c2test eax, eax
002100c4jne 0x210170
002100camov [0xfffffffffffffff0], rbx
002100d3mov rsi, [rsp]
002100d7mov rdi, rbx
002100dasar rsi, 1
002100ddcall caml_putword
002100e2test [rbx+104], 16
002100e6jne 0x210130
002100e8mov rdi, r12
002100ebcall fn_f47c0
002100f0test eax, eax
002100f2jne 0x210162
002100f4mov [0xfffffffffffffff0], 0
00210101mov [rbp+160], r13
00210108mov rax, [rsp+88]
0021010dsub rax, [0x28]
00210116jne 0x21015d
00210118add rsp, 104
0021011cmov eax, 1
00210121pop rbx
00210122pop rbp
00210123pop r12
00210125pop r13
00210127ret
00210128db 0x5c
00210129pop r13
0021012bret
0021012c
0021012c 0f 1f 40 00 ..@.
00210130
00210130loc_210130:
00210130mov rdi, rbx
00210133call caml_flush_partial
00210138test eax, eax
0021013ajne 0x2100ec
0021013cmov rdi, rbx
0021013fcall caml_flush_partial
00210144test eax, eax
00210146je 0x210130
00210148jmp 0x2100ec
0021014a
0021014a 66 0f 1f 44 00 00 f..D..
00210150
00210150loc_210150:
00210150mov rdi, r12
00210153call caml_plat_lock_non_blocking_actual
00210158jmp 0x2100ce
0021015d
0021015dloc_21015d:
0021015dcall fn_f4590
00210162
00210162loc_210162:
00210162mov esi, eax
00210164lea rdi, [rip+0x1f3af]
0021016bcall caml_plat_fatal_error
00210170
00210170loc_210170:
00210170mov esi, eax
00210172lea rdi, [rip+0x1f3ae]
00210179call caml_plat_fatal_error
00210040
00210040caml_ml_output_int:
00210040push r13
00210042push r12
00210044push rbp
00210045push rbx
00210046sub rsp, 104
0021004amovdqa x0, [rip+0x1a07a]
00210052mov [rsp+8], rdi
00210057movq x1, rsp
0021005cmov [rsp], rsi
00210060mov rax, [0x28]
00210069mov [rsp+88], rax
0021006emov rax, [rip+0x65f6f]
00210075mov rbp, [rax]
00210079lea rax, [rsp+16]
0021007emovups [rsp+24], x0
00210083mov r13, [rbp+160]
0021008amov [rbp+160], rax
00210091lea rax, [rsp+8]
00210096movq x0, rax
0021009bpunpcklqdq x0, x1
0021009fmov [rsp+16], r13
002100a4movups [rsp+40], x0
002100a9mov rbx, [rdi+8]
002100adlea r12, [rbx+40]
002100b1mov rdi, r12
002100b4call fn_f4780
002100b9cmp eax, 16
002100bcje 0x210150
002100c2test eax, eax
002100c4jne 0x210170
002100camov [0xfffffffffffffff0], rbx
002100d3mov rsi, [rsp]
002100d7mov rdi, rbx
002100dasar rsi, 1
002100ddcall caml_putword
002100e2test [rbx+104], 16
002100e6jne 0x210130
002100e8mov rdi, r12
002100ebcall fn_f47c0
002100f0test eax, eax
002100f2jne 0x210162
002100f4mov [0xfffffffffffffff0], 0
00210101mov [rbp+160], r13
00210108mov rax, [rsp+88]
0021010dsub rax, [0x28]
00210116jne 0x21015d
00210118add rsp, 104
0021011cmov eax, 1
00210121pop rbx
00210122pop rbp
00210123pop r12
00210125pop r13
00210127ret
00210128db 0x5c
00210129pop r13
0021012bret
0021012c
0021012c 0f 1f 40 00 ..@.
00210130
00210130loc_210130:
00210130mov rdi, rbx
00210133call caml_flush_partial
00210138test eax, eax
0021013ajne 0x2100ec
0021013cmov rdi, rbx
0021013fcall caml_flush_partial
00210144test eax, eax
00210146je 0x210130
00210148jmp 0x2100ec
0021014a
0021014a 66 0f 1f 44 00 00 f..D..
00210150
00210150loc_210150:
00210150mov rdi, r12
00210153call caml_plat_lock_non_blocking_actual
00210158jmp 0x2100ce
0021015d
0021015dloc_21015d:
0021015dcall fn_f4590
00210162
00210162loc_210162:
00210162mov esi, eax
00210164lea rdi, [rip+0x1f3af]
0021016bcall caml_plat_fatal_error
00210170
00210170loc_210170:
00210170mov esi, eax
00210172lea rdi, [rip+0x1f3ae]
00210179call caml_plat_fatal_error
00210040
0021017e
0021017e // align 0x10
0021017e // align 0x10
00210180
00210180caml_ml_output_bytes:
00210180push r15
00210182push r14
00210184push r13
00210186mov r13, rdx
00210189push r12
0021018bmov r12, rcx
0021018esar r13, 1
00210191push rbp
00210192sar r12, 1
00210195push rbx
00210196sub rsp, 136
0021019dmovdqa x0, [rip+0x19f47]
002101a5mov [rsp+40], rdi
002101aamov [rsp+32], rsi
002101afmov [rsp+24], rdx
002101b4mov [rsp+16], rcx
002101b9mov rax, [0x28]
002101c2mov [rsp+120], rax
002101c7mov rax, [rip+0x65e16]
002101cemov rbp, [rax]
002101d2movups [rsp+56], x0
002101d7mov rax, [rbp+160]
002101demov [rsp+48], rax
002101e3mov [rsp+8], rax
002101e8lea rax, [rsp+48]
002101edmov [rbp+160], rax
002101f4lea rax, [rsp+40]
002101f9movq x0, rax
002101felea rax, [rsp+32]
00210203movq x1, rax
00210208lea rax, [rsp+24]
0021020dpunpcklqdq x0, x1
00210211movups [rsp+72], x0
00210216movq x0, rax
0021021blea rax, [rsp+16]
00210220movq x2, rax
00210225punpcklqdq x0, x2
00210229movups [rsp+88], x0
0021022emov r14, [rdi+8]
00210232lea rax, [r14+40]
00210236mov rdi, rax
00210239mov [rsp], rax
0021023dcall fn_f4780
00210242cmp eax, 16
00210245je 0x210350
0021024btest eax, eax
0021024djne 0x210371
00210253mov [0xfffffffffffffff0], r14
0021025ctest r12, r12
0021025fjg 0x21028d
00210261jmp 0x2102dc
00210263db 0x7f
00210264sub bl, ch
00210266db 0x75
00210267
00210267 66 0f 1f 84 00 00 00 00 00 f........
00210270
00210270loc_210270:
00210270movsxd rbx, eax
00210273mov rdx, rbx
00210276call fn_f4520
0021027bmovsxd rax, r15l
0021027eadd [r14+24], rbx
00210282sub r12, rax
00210285add r13, rax
00210288test r12, r12
0021028bjle 0x2102dc
0021028d
0021028dloc_21028d:
0021028dmov rsi, [rsp+32]
00210292mov eax, 0x7fffffff
00210297mov rdi, [r14+24]
0021029bmov rbx, [r14+16]
0021029fadd rsi, r13
002102a2cmp r12, rax
002102a5cmovle rax, r12
002102a9sub rbx, rdi
002102acmov r15l, eax
002102afcmp eax, ebx
002102b1jl 0x210270
002102b3movsxd rdx, ebx
002102b6mov r15l, ebx
002102b9call fn_f4520
002102bemov rax, [r14+16]
002102c2mov rdi, r14
002102c5mov [r14+24], rax
002102c9call caml_flush_partial
002102cemovsxd rax, r15l
002102d1sub r12, rax
002102d4add r13, rax
002102d7test r12, r12
002102dajg 0x21028d
002102dc
002102dcloc_2102dc:
002102dctest [r14+104], 16
002102e1jne 0x210330
002102e3
002102e3loc_2102e3:
002102e3mov rdi, [rsp]
002102e7call fn_f47c0
002102ectest eax, eax
002102eejne 0x210363
002102f0mov [0xfffffffffffffff0], 0
002102fdmov rax, [rsp+8]
00210302mov [rbp+160], rax
00210309mov rax, [rsp+120]
0021030esub rax, [0x28]
00210317jne 0x21035e
00210319add rsp, 136
00210320mov eax, 1
00210325pop rbx
00210326pop rbp
00210327pop r12
00210329pop r13
0021032bpop r14
0021032dpop r15
0021032fret
00210330
00210330loc_210330:
00210330mov rdi, r14
00210333call caml_flush_partial
00210338test eax, eax
0021033ajne 0x2102e3
0021033cmov rdi, r14
0021033fcall caml_flush_partial
00210344test eax, eax
00210346je 0x210330
00210348jmp 0x2102e3
0021034a
0021034a 66 0f 1f 44 00 00 f..D..
00210350
00210350loc_210350:
00210350mov rdi, [rsp]
00210354call caml_plat_lock_non_blocking_actual
00210359jmp 0x210257
0021035e
0021035eloc_21035e:
0021035ecall fn_f4590
00210363
00210363loc_210363:
00210363mov esi, eax
00210365lea rdi, [rip+0x1f1ae]
0021036ccall caml_plat_fatal_error
00210371
00210371loc_210371:
00210371mov esi, eax
00210373lea rdi, [rip+0x1f1ad]
0021037acall caml_plat_fatal_error
00210180
00210180caml_ml_output_bytes:
00210180push r15
00210182push r14
00210184push r13
00210186mov r13, rdx
00210189push r12
0021018bmov r12, rcx
0021018esar r13, 1
00210191push rbp
00210192sar r12, 1
00210195push rbx
00210196sub rsp, 136
0021019dmovdqa x0, [rip+0x19f47]
002101a5mov [rsp+40], rdi
002101aamov [rsp+32], rsi
002101afmov [rsp+24], rdx
002101b4mov [rsp+16], rcx
002101b9mov rax, [0x28]
002101c2mov [rsp+120], rax
002101c7mov rax, [rip+0x65e16]
002101cemov rbp, [rax]
002101d2movups [rsp+56], x0
002101d7mov rax, [rbp+160]
002101demov [rsp+48], rax
002101e3mov [rsp+8], rax
002101e8lea rax, [rsp+48]
002101edmov [rbp+160], rax
002101f4lea rax, [rsp+40]
002101f9movq x0, rax
002101felea rax, [rsp+32]
00210203movq x1, rax
00210208lea rax, [rsp+24]
0021020dpunpcklqdq x0, x1
00210211movups [rsp+72], x0
00210216movq x0, rax
0021021blea rax, [rsp+16]
00210220movq x2, rax
00210225punpcklqdq x0, x2
00210229movups [rsp+88], x0
0021022emov r14, [rdi+8]
00210232lea rax, [r14+40]
00210236mov rdi, rax
00210239mov [rsp], rax
0021023dcall fn_f4780
00210242cmp eax, 16
00210245je 0x210350
0021024btest eax, eax
0021024djne 0x210371
00210253mov [0xfffffffffffffff0], r14
0021025ctest r12, r12
0021025fjg 0x21028d
00210261jmp 0x2102dc
00210263db 0x7f
00210264sub bl, ch
00210266db 0x75
00210267
00210267 66 0f 1f 84 00 00 00 00 00 f........
00210270
00210270loc_210270:
00210270movsxd rbx, eax
00210273mov rdx, rbx
00210276call fn_f4520
0021027bmovsxd rax, r15l
0021027eadd [r14+24], rbx
00210282sub r12, rax
00210285add r13, rax
00210288test r12, r12
0021028bjle 0x2102dc
0021028d
0021028dloc_21028d:
0021028dmov rsi, [rsp+32]
00210292mov eax, 0x7fffffff
00210297mov rdi, [r14+24]
0021029bmov rbx, [r14+16]
0021029fadd rsi, r13
002102a2cmp r12, rax
002102a5cmovle rax, r12
002102a9sub rbx, rdi
002102acmov r15l, eax
002102afcmp eax, ebx
002102b1jl 0x210270
002102b3movsxd rdx, ebx
002102b6mov r15l, ebx
002102b9call fn_f4520
002102bemov rax, [r14+16]
002102c2mov rdi, r14
002102c5mov [r14+24], rax
002102c9call caml_flush_partial
002102cemovsxd rax, r15l
002102d1sub r12, rax
002102d4add r13, rax
002102d7test r12, r12
002102dajg 0x21028d
002102dc
002102dcloc_2102dc:
002102dctest [r14+104], 16
002102e1jne 0x210330
002102e3
002102e3loc_2102e3:
002102e3mov rdi, [rsp]
002102e7call fn_f47c0
002102ectest eax, eax
002102eejne 0x210363
002102f0mov [0xfffffffffffffff0], 0
002102fdmov rax, [rsp+8]
00210302mov [rbp+160], rax
00210309mov rax, [rsp+120]
0021030esub rax, [0x28]
00210317jne 0x21035e
00210319add rsp, 136
00210320mov eax, 1
00210325pop rbx
00210326pop rbp
00210327pop r12
00210329pop r13
0021032bpop r14
0021032dpop r15
0021032fret
00210330
00210330loc_210330:
00210330mov rdi, r14
00210333call caml_flush_partial
00210338test eax, eax
0021033ajne 0x2102e3
0021033cmov rdi, r14
0021033fcall caml_flush_partial
00210344test eax, eax
00210346je 0x210330
00210348jmp 0x2102e3
0021034a
0021034a 66 0f 1f 44 00 00 f..D..
00210350
00210350loc_210350:
00210350mov rdi, [rsp]
00210354call caml_plat_lock_non_blocking_actual
00210359jmp 0x210257
0021035e
0021035eloc_21035e:
0021035ecall fn_f4590
00210363
00210363loc_210363:
00210363mov esi, eax
00210365lea rdi, [rip+0x1f1ae]
0021036ccall caml_plat_fatal_error
00210371
00210371loc_210371:
00210371mov esi, eax
00210373lea rdi, [rip+0x1f1ad]
0021037acall caml_plat_fatal_error
00210180
Loading..