File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
Loading..
00219fe0
00219fe0caml_empty_minor_heap_promote:
00219fe0push r15
00219fe2pxor x0, x0
00219fe6push r14
00219fe8push r13
00219feapush r12
00219fecmov r12l, esi
00219fefpush rbp
00219ff0push rbx
00219ff1mov rbx, rdi
00219ff4sub rsp, 136
00219ffbmov rax, [rdi+24]
00219fffsub rax, [rdi+8]
0021a003mov [rsp+8], rdx
0021a008mov esi, [rdi+288]
0021a00emov r13, [0x28]
0021a017mov [rsp+120], r13
0021a01cmov r13, [rdi+96]
0021a020mov [rsp+40], rax
0021a025mov rax, [rdi+128]
0021a02cmov [rsp+112], rdi
0021a031lea rdi, [rip+0x16dbc]
0021a038mov [rsp+48], rax
0021a03dxor eax, eax
0021a03fmovaps [rsp+96], x0
0021a044call caml_gc_log
0021a049mov edi, 11
0021a04ecall caml_ev_begin
0021a053mov rax, [rip+0x15ebf2]
0021a05amov r11, [rsp+8]
0021a05ftest rax, rax
0021a062je 0x21a06f
0021a064call rax
0021a066mov r11, [rsp+8]
0021a06blea r14, [rsp+96]
0021a070cmp [r11], rbx
0021a073je 0x21a600
0021a079mov edi, 39
0021a07emov [rsp+8], r11
0021a083call caml_ev_begin
0021a088cmp r12l, 1
0021a08cjle 0x21a54d
0021a092movsxd rdx, r12l
0021a095mov r11, [rsp+8]
0021a09axor eax, eax
0021a09cmov [rsp+16], rdx
0021a0a1nop [rax+rax]
0021a0accmp [r11+8*rax], rbx
0021a0b0
0021a0b0loc_21a0b0:
0021a0b0je 0x21a580
0021a0b6add rax, 1
0021a0bacmp rax, rdx
0021a0bdjne 0x21a0b0
0021a0bfmov [rsp+8], -1
0021a0c8mov [rsp+88], -1
0021a0d0lea eax, [r12-1]
0021a0d5mov [rsp+80], rbx
0021a0daxor ebp, ebp
0021a0dcxor r15l, r15l
0021a0dfcdqe
0021a0e1mov [rsp+92], r12l
0021a0e6mov [rsp+24], rax
0021a0ebmov [rsp+32], r11
0021a0f0nop [rax+rax]
0021a0fbnop
0021a0fcmov rax, [rsp+32]
0021a101mov rcx, [rsp+8]
0021a106mov rsi, [rax+8*rcx]
0021a10amov r12, [rsi+96]
0021a10emov rdi, [r12+24]
0021a113mov r9, [r12]
0021a117mov rcx, rdi
0021a11asub rcx, r9
0021a11dsar rcx, 3
0021a121mov rax, rcx
0021a124cqo
0021a126idiv [rsp+16]
0021a12bmov rdx, r15
0021a12emov r8, rax
0021a131imul rax, r15
0021a135add r15, 1
0021a139lea rbx, [r9+8*rax]
0021a13dadd rax, r8
0021a140lea r13, [r9+8*rax]
0021a144mov rax, [rsp+24]
0021a149cmp rdx, rax
0021a14cje 0x21a410
0021a152sub rsp, 8
0021a156
0021a156loc_21a156:
0021a156mov edx, [rsi+288]
0021a15cxor eax, eax
0021a15epush r13
0021a160push rbx
0021a161push rdi
0021a162mov esi, [rsp+120]
0021a166lea rdi, [rip+0x16caf]
0021a16dcall caml_gc_log
0021a172add rsp, 32
0021a176cmp rbx, [r12+24]
0021a17bjb 0x21a1a4
0021a17djmp 0x21a1a9
0021a17fdb 0x72
0021a180and ebp, ebx
0021a182db 0x26
0021a183
0021a183 0f 1f 44 00 00 ..D..
0021a188
0021a188loc_21a188:
0021a188mov rdx, [rbx]
0021a18bmov rdi, r14
0021a18eadd ebp, 1
0021a191add rbx, 8
0021a195mov rsi, [rdx]
0021a198call fn_219660
0021a19dcmp rbx, [r12+24]
0021a1a2jae 0x21a1a9
0021a1a4
0021a1a4loc_21a1a4:
0021a1a4cmp rbx, r13
0021a1a7jb 0x21a188
0021a1a9
0021a1a9loc_21a1a9:
0021a1a9mov rax, [rsp+8]
0021a1aemov rcx, [rsp+16]
0021a1b3add rax, 1
0021a1b7cqo
0021a1b9idiv rcx
0021a1bcmov [rsp+8], rdx
0021a1c1cmp r15, rcx
0021a1c4jne 0x21a100
0021a1camov rbx, [rsp+80]
0021a1cfmov r12l, [rsp+92]
0021a1d4
0021a1d4loc_21a1d4:
0021a1d4mov edi, 30
0021a1d9call caml_ev_begin
0021a1dexor r8l, r8l
0021a1e1mov rcx, rbx
0021a1e4mov rdx, r14
0021a1e7mov esi, 1
0021a1eclea rdi, [rip-2963]
0021a1f3call caml_final_do_young_roots
0021a1f8mov edi, 30
0021a1fdcall caml_ev_end
0021a202mov edi, 13
0021a207call caml_ev_begin
0021a20cxor r8l, r8l
0021a20fmov rcx, rbx
0021a212mov rdx, r14
0021a215mov esi, 1
0021a21alea rdi, [rip-3009]
0021a221call caml_memprof_scan_roots
0021a226mov edi, 13
0021a22bcall caml_ev_end
0021a230mov edi, 40
0021a235call caml_ev_begin
0021a23amov esi, 1
0021a23fmov rdi, r14
0021a242call fn_219a90
0021a247mov edi, 40
0021a24ccall caml_ev_end
0021a251mov edi, 39
0021a256call caml_ev_end
0021a25bmov rdx, [rsp+104]
0021a260xor eax, eax
0021a262mov esi, ebp
0021a264lea rdi, [rip+0x14ffa]
0021a26bcall caml_gc_log
0021a270mov edi, 12
0021a275call caml_ev_begin
0021a27amov r9, [rbx+88]
0021a27emov r8, [rbx+40]
0021a282mov rdx, r14
0021a285mov rcx, [rbx+160]
0021a28cmov esi, 1
0021a291lea rdi, [rip-3128]
0021a298call caml_do_local_roots
0021a29dmov rax, [rip+0x15e9dc]
0021a2a4test rax, rax
0021a2a7je 0x21a2bd
0021a2a9mov rcx, rbx
0021a2acmov rdx, r14
0021a2afmov esi, 1
0021a2b4lea rdi, [rip-3163]
0021a2bbcall rax
0021a2bd
0021a2bdloc_21a2bd:
0021a2bdmov edi, 41
0021a2c2call caml_ev_begin
0021a2c7xor esi, esi
0021a2c9mov rdi, r14
0021a2cccall fn_219a90
0021a2d1mov edi, 41
0021a2d6call caml_ev_end
0021a2dbmov edi, 12
0021a2e0call caml_ev_end
0021a2e5mov edi, 14
0021a2eacall caml_ev_begin
0021a2efmov rdi, rbx
0021a2f2call caml_memprof_after_minor_gc
0021a2f7mov edi, 14
0021a2fccall caml_ev_end
0021a301mov rdx, [rbx+16]
0021a305mov rax, [rbx+24]
0021a309mov rdi, rbx
0021a30cmov [rbx+8], rax
0021a310sub rax, rdx
0021a313mov rcx, rax
0021a316shr rax, 63
0021a31asar rcx, 3
0021a31eadd rax, rcx
0021a321sar rax, 1
0021a324lea rax, [rdx+8*rax]
0021a328mov [rbx+32], rax
0021a32ccall caml_memprof_set_trigger
0021a331mov rdi, rbx
0021a334call caml_reset_young_limit
0021a339mov rax, [rsp+40]
0021a33emov rcx, [rsp+48]
0021a343mov rdi, rbx
0021a346shr rax, 3
0021a34aadd [rbx+384], rax
0021a351mov rax, [rbx+128]
0021a358add rax, [rbx+392]
0021a35fsub rax, rcx
0021a362mov [rbx+392], rax
0021a369call caml_collect_gc_stats_sample_stw
0021a36ecmp r12l, 1
0021a372jg 0x21a51e
0021a378
0021a378loc_21a378:
0021a378mov rax, [rip+0x15e8c9]
0021a37ftest rax, rax
0021a382je 0x21a386
0021a384call rax
0021a386
0021a386loc_21a386:
0021a386mov rax, [rsp+48]
0021a38bmov rsi, [rbx+128]
0021a392mov edi, 4
0021a397sub rsi, rax
0021a39ashl rsi, 3
0021a39ecall caml_ev_counter
0021a3a3mov r15, [rsp+40]
0021a3a8mov edi, 5
0021a3admov rsi, r15
0021a3b0call caml_ev_counter
0021a3b5mov edi, 11
0021a3bacall caml_ev_end
0021a3bfmov esi, [rbx+288]
0021a3c5mov rax, r15
0021a3c8test r15, r15
0021a3cbjne 0x21a450
0021a3d1lea rdi, [rip+0x16ac0]
0021a3d8call caml_gc_log
0021a3ddcmp r12l, 1
0021a3e1jg 0x21a4b2
0021a3e7
0021a3e7loc_21a3e7:
0021a3e7mov rax, [rsp+120]
0021a3ecsub rax, [0x28]
0021a3f5jne 0x21a652
0021a3fbadd rsp, 136
0021a402pop rbx
0021a403pop rbp
0021a404pop r12
0021a406pop r13
0021a408pop r14
0021a40apop r15
0021a40cret
0021a40d
0021a40d 0f 1f 00 ...
0021a410
0021a410loc_21a410:
0021a410lea rdi, [rip+0x14e3d]
0021a417xor eax, eax
0021a419mov [rsp+72], r8
0021a41emov [rsp+64], rcx
0021a423mov [rsp+56], rsi
0021a428call caml_gc_log
0021a42dmov r13, [r12+24]
0021a432mov r9, [r12]
0021a436mov r8, [rsp+72]
0021a43bmov rcx, [rsp+64]
0021a440mov rsi, [rsp+56]
0021a445mov rdi, r13
0021a448jmp 0x21a156
0021a44d
0021a44d 0f 1f 00 ...
0021a450
0021a450loc_21a450:
0021a450mov eax, [rsp+40]
0021a454lea edx, [rax+512]
0021a45amov rax, [rsp+104]
0021a45fshr edx, 10
0021a462test rax, rax
0021a465js 0x21a5b3
0021a46bpxor x0, x0
0021a46fcvtsi2sd x0, rax
0021a474
0021a474loc_21a474:
0021a474mov rax, [rsp+40]
0021a479mulsd x0, [rip+0x102f7]
0021a481test rax, rax
0021a484js 0x21a590
0021a48apxor x1, x1
0021a48ecvtsi2sd x1, rax
0021a493
0021a493loc_21a493:
0021a493divsd x0, x1
0021a497lea rdi, [rip+0x16a42]
0021a49emov eax, 1
0021a4a3call caml_gc_log
0021a4a8cmp r12l, 1
0021a4acjle 0x21a3e7
0021a4b2
0021a4b2loc_21a4b2:
0021a4b2mov edi, 32
0021a4b7mov ebp, 300
0021a4bccall caml_ev_begin
0021a4c1
0021a4c1loc_21a4c1:
0021a4c1mov eax, [rip+0x15e749]
0021a4c7test eax, eax
0021a4c9je 0x21a50f
0021a4cbmov rdi, rbx
0021a4cecall caml_opportunistic_major_work_available
0021a4d3test eax, eax
0021a4d5jne 0x21a5d1
0021a4db
0021a4dbloc_21a4db:
0021a4dbcmp r12l, 2
0021a4dfmov eax, 1000
0021a4e4mov ecx, 300
0021a4e9cmove ecx, eax
0021a4ecxor eax, eax
0021a4eenop
0021a4f0
0021a4f0loc_21a4f0:
0021a4f0mov edx, [rip+0x15e71a]
0021a4f6test edx, edx
0021a4f8je 0x21a50f
0021a4fanop
0021a4fcadd eax, 1
0021a4ffcmp eax, ecx
0021a501jne 0x21a4f0
0021a503lea rdi, [rip+0x15e706]
0021a50acall caml_plat_latch_wait
0021a50f
0021a50floc_21a50f:
0021a50fmov edi, 32
0021a514call caml_ev_end
0021a519jmp 0x21a3e7
0021a51e
0021a51eloc_21a51e:
0021a51emov eax, 1
0021a523lock xadd [rip+0x15e6ec], rax
0021a52cadd rax, 1
0021a530movsxd rdx, r12l
0021a533cmp rdx, rax
0021a536jne 0x21a378
0021a53clea rdi, [rip+0x15e6cd]
0021a543call caml_plat_latch_release
0021a548jmp 0x21a378
0021a54d
0021a54dloc_21a54d:
0021a54dmov r15, [r13]
0021a551xor ebp, ebp
0021a553cmp r15, [r13+24]
0021a557jae 0x21a1d4
0021a55dnop [rax]
0021a560
0021a560loc_21a560:
0021a560mov rdx, [r15]
0021a563mov rdi, r14
0021a566add ebp, 1
0021a569add r15, 8
0021a56dmov rsi, [rdx]
0021a570call fn_219660
0021a575cmp r15, [r13+24]
0021a579jb 0x21a560
0021a57bjmp 0x21a1d4
0021a580
0021a580loc_21a580:
0021a580mov [rsp+88], eax
0021a584cdqe
0021a586mov [rsp+8], rax
0021a58bjmp 0x21a0d4
0021a590
0021a590loc_21a590:
0021a590mov rax, [rsp+40]
0021a595pxor x1, x1
0021a599mov rcx, rax
0021a59cand eax, 1
0021a59fshr rcx, 1
0021a5a2or rcx, rax
0021a5a5cvtsi2sd x1, rcx
0021a5aaaddsd x1, x1
0021a5aejmp 0x21a493
0021a5b3
0021a5b3loc_21a5b3:
0021a5b3mov rcx, rax
0021a5b6and eax, 1
0021a5b9pxor x0, x0
0021a5bdshr rcx, 1
0021a5c0or rcx, rax
0021a5c3cvtsi2sd x0, rcx
0021a5c8addsd x0, x0
0021a5ccjmp 0x21a474
0021a5d1
0021a5d1loc_21a5d1:
0021a5d1mov rax, [rip+0x15e658]
0021a5d8test al, 64
0021a5dajne 0x21a632
0021a5dcmov edi, 512
0021a5e1call caml_opportunistic_major_collection_slice
0021a5e6
0021a5e6loc_21a5e6:
0021a5e6nop
0021a5e8sub ebp, 1
0021a5ebjne 0x21a4c1
0021a5f1jmp 0x21a4db
0021a5f6
0021a5f6 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021a600
0021a600loc_21a600:
0021a600mov edi, 31
0021a605mov [rsp+8], r11
0021a60acall caml_ev_begin
0021a60fmov rsi, r14
0021a612lea rdi, [rip-4025]
0021a619call caml_scan_global_young_roots
0021a61emov edi, 31
0021a623call caml_ev_end
0021a628mov r11, [rsp+8]
0021a62djmp 0x21a07d
0021a632
0021a632loc_21a632:
0021a632mov edi, 26
0021a637call caml_ev_begin
0021a63cmov edi, 512
0021a641call caml_opportunistic_major_collection_slice
0021a646mov edi, 26
0021a64bcall caml_ev_end
0021a650jmp 0x21a5e6
0021a652
0021a652loc_21a652:
0021a652call fn_f4590
00219fe0
00219fe0caml_empty_minor_heap_promote:
00219fe0push r15
00219fe2pxor x0, x0
00219fe6push r14
00219fe8push r13
00219feapush r12
00219fecmov r12l, esi
00219fefpush rbp
00219ff0push rbx
00219ff1mov rbx, rdi
00219ff4sub rsp, 136
00219ffbmov rax, [rdi+24]
00219fffsub rax, [rdi+8]
0021a003mov [rsp+8], rdx
0021a008mov esi, [rdi+288]
0021a00emov r13, [0x28]
0021a017mov [rsp+120], r13
0021a01cmov r13, [rdi+96]
0021a020mov [rsp+40], rax
0021a025mov rax, [rdi+128]
0021a02cmov [rsp+112], rdi
0021a031lea rdi, [rip+0x16dbc]
0021a038mov [rsp+48], rax
0021a03dxor eax, eax
0021a03fmovaps [rsp+96], x0
0021a044call caml_gc_log
0021a049mov edi, 11
0021a04ecall caml_ev_begin
0021a053mov rax, [rip+0x15ebf2]
0021a05amov r11, [rsp+8]
0021a05ftest rax, rax
0021a062je 0x21a06f
0021a064call rax
0021a066mov r11, [rsp+8]
0021a06blea r14, [rsp+96]
0021a070cmp [r11], rbx
0021a073je 0x21a600
0021a079mov edi, 39
0021a07emov [rsp+8], r11
0021a083call caml_ev_begin
0021a088cmp r12l, 1
0021a08cjle 0x21a54d
0021a092movsxd rdx, r12l
0021a095mov r11, [rsp+8]
0021a09axor eax, eax
0021a09cmov [rsp+16], rdx
0021a0a1nop [rax+rax]
0021a0accmp [r11+8*rax], rbx
0021a0b0
0021a0b0loc_21a0b0:
0021a0b0je 0x21a580
0021a0b6add rax, 1
0021a0bacmp rax, rdx
0021a0bdjne 0x21a0b0
0021a0bfmov [rsp+8], -1
0021a0c8mov [rsp+88], -1
0021a0d0lea eax, [r12-1]
0021a0d5mov [rsp+80], rbx
0021a0daxor ebp, ebp
0021a0dcxor r15l, r15l
0021a0dfcdqe
0021a0e1mov [rsp+92], r12l
0021a0e6mov [rsp+24], rax
0021a0ebmov [rsp+32], r11
0021a0f0nop [rax+rax]
0021a0fbnop
0021a0fcmov rax, [rsp+32]
0021a101mov rcx, [rsp+8]
0021a106mov rsi, [rax+8*rcx]
0021a10amov r12, [rsi+96]
0021a10emov rdi, [r12+24]
0021a113mov r9, [r12]
0021a117mov rcx, rdi
0021a11asub rcx, r9
0021a11dsar rcx, 3
0021a121mov rax, rcx
0021a124cqo
0021a126idiv [rsp+16]
0021a12bmov rdx, r15
0021a12emov r8, rax
0021a131imul rax, r15
0021a135add r15, 1
0021a139lea rbx, [r9+8*rax]
0021a13dadd rax, r8
0021a140lea r13, [r9+8*rax]
0021a144mov rax, [rsp+24]
0021a149cmp rdx, rax
0021a14cje 0x21a410
0021a152sub rsp, 8
0021a156
0021a156loc_21a156:
0021a156mov edx, [rsi+288]
0021a15cxor eax, eax
0021a15epush r13
0021a160push rbx
0021a161push rdi
0021a162mov esi, [rsp+120]
0021a166lea rdi, [rip+0x16caf]
0021a16dcall caml_gc_log
0021a172add rsp, 32
0021a176cmp rbx, [r12+24]
0021a17bjb 0x21a1a4
0021a17djmp 0x21a1a9
0021a17fdb 0x72
0021a180and ebp, ebx
0021a182db 0x26
0021a183
0021a183 0f 1f 44 00 00 ..D..
0021a188
0021a188loc_21a188:
0021a188mov rdx, [rbx]
0021a18bmov rdi, r14
0021a18eadd ebp, 1
0021a191add rbx, 8
0021a195mov rsi, [rdx]
0021a198call fn_219660
0021a19dcmp rbx, [r12+24]
0021a1a2jae 0x21a1a9
0021a1a4
0021a1a4loc_21a1a4:
0021a1a4cmp rbx, r13
0021a1a7jb 0x21a188
0021a1a9
0021a1a9loc_21a1a9:
0021a1a9mov rax, [rsp+8]
0021a1aemov rcx, [rsp+16]
0021a1b3add rax, 1
0021a1b7cqo
0021a1b9idiv rcx
0021a1bcmov [rsp+8], rdx
0021a1c1cmp r15, rcx
0021a1c4jne 0x21a100
0021a1camov rbx, [rsp+80]
0021a1cfmov r12l, [rsp+92]
0021a1d4
0021a1d4loc_21a1d4:
0021a1d4mov edi, 30
0021a1d9call caml_ev_begin
0021a1dexor r8l, r8l
0021a1e1mov rcx, rbx
0021a1e4mov rdx, r14
0021a1e7mov esi, 1
0021a1eclea rdi, [rip-2963]
0021a1f3call caml_final_do_young_roots
0021a1f8mov edi, 30
0021a1fdcall caml_ev_end
0021a202mov edi, 13
0021a207call caml_ev_begin
0021a20cxor r8l, r8l
0021a20fmov rcx, rbx
0021a212mov rdx, r14
0021a215mov esi, 1
0021a21alea rdi, [rip-3009]
0021a221call caml_memprof_scan_roots
0021a226mov edi, 13
0021a22bcall caml_ev_end
0021a230mov edi, 40
0021a235call caml_ev_begin
0021a23amov esi, 1
0021a23fmov rdi, r14
0021a242call fn_219a90
0021a247mov edi, 40
0021a24ccall caml_ev_end
0021a251mov edi, 39
0021a256call caml_ev_end
0021a25bmov rdx, [rsp+104]
0021a260xor eax, eax
0021a262mov esi, ebp
0021a264lea rdi, [rip+0x14ffa]
0021a26bcall caml_gc_log
0021a270mov edi, 12
0021a275call caml_ev_begin
0021a27amov r9, [rbx+88]
0021a27emov r8, [rbx+40]
0021a282mov rdx, r14
0021a285mov rcx, [rbx+160]
0021a28cmov esi, 1
0021a291lea rdi, [rip-3128]
0021a298call caml_do_local_roots
0021a29dmov rax, [rip+0x15e9dc]
0021a2a4test rax, rax
0021a2a7je 0x21a2bd
0021a2a9mov rcx, rbx
0021a2acmov rdx, r14
0021a2afmov esi, 1
0021a2b4lea rdi, [rip-3163]
0021a2bbcall rax
0021a2bd
0021a2bdloc_21a2bd:
0021a2bdmov edi, 41
0021a2c2call caml_ev_begin
0021a2c7xor esi, esi
0021a2c9mov rdi, r14
0021a2cccall fn_219a90
0021a2d1mov edi, 41
0021a2d6call caml_ev_end
0021a2dbmov edi, 12
0021a2e0call caml_ev_end
0021a2e5mov edi, 14
0021a2eacall caml_ev_begin
0021a2efmov rdi, rbx
0021a2f2call caml_memprof_after_minor_gc
0021a2f7mov edi, 14
0021a2fccall caml_ev_end
0021a301mov rdx, [rbx+16]
0021a305mov rax, [rbx+24]
0021a309mov rdi, rbx
0021a30cmov [rbx+8], rax
0021a310sub rax, rdx
0021a313mov rcx, rax
0021a316shr rax, 63
0021a31asar rcx, 3
0021a31eadd rax, rcx
0021a321sar rax, 1
0021a324lea rax, [rdx+8*rax]
0021a328mov [rbx+32], rax
0021a32ccall caml_memprof_set_trigger
0021a331mov rdi, rbx
0021a334call caml_reset_young_limit
0021a339mov rax, [rsp+40]
0021a33emov rcx, [rsp+48]
0021a343mov rdi, rbx
0021a346shr rax, 3
0021a34aadd [rbx+384], rax
0021a351mov rax, [rbx+128]
0021a358add rax, [rbx+392]
0021a35fsub rax, rcx
0021a362mov [rbx+392], rax
0021a369call caml_collect_gc_stats_sample_stw
0021a36ecmp r12l, 1
0021a372jg 0x21a51e
0021a378
0021a378loc_21a378:
0021a378mov rax, [rip+0x15e8c9]
0021a37ftest rax, rax
0021a382je 0x21a386
0021a384call rax
0021a386
0021a386loc_21a386:
0021a386mov rax, [rsp+48]
0021a38bmov rsi, [rbx+128]
0021a392mov edi, 4
0021a397sub rsi, rax
0021a39ashl rsi, 3
0021a39ecall caml_ev_counter
0021a3a3mov r15, [rsp+40]
0021a3a8mov edi, 5
0021a3admov rsi, r15
0021a3b0call caml_ev_counter
0021a3b5mov edi, 11
0021a3bacall caml_ev_end
0021a3bfmov esi, [rbx+288]
0021a3c5mov rax, r15
0021a3c8test r15, r15
0021a3cbjne 0x21a450
0021a3d1lea rdi, [rip+0x16ac0]
0021a3d8call caml_gc_log
0021a3ddcmp r12l, 1
0021a3e1jg 0x21a4b2
0021a3e7
0021a3e7loc_21a3e7:
0021a3e7mov rax, [rsp+120]
0021a3ecsub rax, [0x28]
0021a3f5jne 0x21a652
0021a3fbadd rsp, 136
0021a402pop rbx
0021a403pop rbp
0021a404pop r12
0021a406pop r13
0021a408pop r14
0021a40apop r15
0021a40cret
0021a40d
0021a40d 0f 1f 00 ...
0021a410
0021a410loc_21a410:
0021a410lea rdi, [rip+0x14e3d]
0021a417xor eax, eax
0021a419mov [rsp+72], r8
0021a41emov [rsp+64], rcx
0021a423mov [rsp+56], rsi
0021a428call caml_gc_log
0021a42dmov r13, [r12+24]
0021a432mov r9, [r12]
0021a436mov r8, [rsp+72]
0021a43bmov rcx, [rsp+64]
0021a440mov rsi, [rsp+56]
0021a445mov rdi, r13
0021a448jmp 0x21a156
0021a44d
0021a44d 0f 1f 00 ...
0021a450
0021a450loc_21a450:
0021a450mov eax, [rsp+40]
0021a454lea edx, [rax+512]
0021a45amov rax, [rsp+104]
0021a45fshr edx, 10
0021a462test rax, rax
0021a465js 0x21a5b3
0021a46bpxor x0, x0
0021a46fcvtsi2sd x0, rax
0021a474
0021a474loc_21a474:
0021a474mov rax, [rsp+40]
0021a479mulsd x0, [rip+0x102f7]
0021a481test rax, rax
0021a484js 0x21a590
0021a48apxor x1, x1
0021a48ecvtsi2sd x1, rax
0021a493
0021a493loc_21a493:
0021a493divsd x0, x1
0021a497lea rdi, [rip+0x16a42]
0021a49emov eax, 1
0021a4a3call caml_gc_log
0021a4a8cmp r12l, 1
0021a4acjle 0x21a3e7
0021a4b2
0021a4b2loc_21a4b2:
0021a4b2mov edi, 32
0021a4b7mov ebp, 300
0021a4bccall caml_ev_begin
0021a4c1
0021a4c1loc_21a4c1:
0021a4c1mov eax, [rip+0x15e749]
0021a4c7test eax, eax
0021a4c9je 0x21a50f
0021a4cbmov rdi, rbx
0021a4cecall caml_opportunistic_major_work_available
0021a4d3test eax, eax
0021a4d5jne 0x21a5d1
0021a4db
0021a4dbloc_21a4db:
0021a4dbcmp r12l, 2
0021a4dfmov eax, 1000
0021a4e4mov ecx, 300
0021a4e9cmove ecx, eax
0021a4ecxor eax, eax
0021a4eenop
0021a4f0
0021a4f0loc_21a4f0:
0021a4f0mov edx, [rip+0x15e71a]
0021a4f6test edx, edx
0021a4f8je 0x21a50f
0021a4fanop
0021a4fcadd eax, 1
0021a4ffcmp eax, ecx
0021a501jne 0x21a4f0
0021a503lea rdi, [rip+0x15e706]
0021a50acall caml_plat_latch_wait
0021a50f
0021a50floc_21a50f:
0021a50fmov edi, 32
0021a514call caml_ev_end
0021a519jmp 0x21a3e7
0021a51e
0021a51eloc_21a51e:
0021a51emov eax, 1
0021a523lock xadd [rip+0x15e6ec], rax
0021a52cadd rax, 1
0021a530movsxd rdx, r12l
0021a533cmp rdx, rax
0021a536jne 0x21a378
0021a53clea rdi, [rip+0x15e6cd]
0021a543call caml_plat_latch_release
0021a548jmp 0x21a378
0021a54d
0021a54dloc_21a54d:
0021a54dmov r15, [r13]
0021a551xor ebp, ebp
0021a553cmp r15, [r13+24]
0021a557jae 0x21a1d4
0021a55dnop [rax]
0021a560
0021a560loc_21a560:
0021a560mov rdx, [r15]
0021a563mov rdi, r14
0021a566add ebp, 1
0021a569add r15, 8
0021a56dmov rsi, [rdx]
0021a570call fn_219660
0021a575cmp r15, [r13+24]
0021a579jb 0x21a560
0021a57bjmp 0x21a1d4
0021a580
0021a580loc_21a580:
0021a580mov [rsp+88], eax
0021a584cdqe
0021a586mov [rsp+8], rax
0021a58bjmp 0x21a0d4
0021a590
0021a590loc_21a590:
0021a590mov rax, [rsp+40]
0021a595pxor x1, x1
0021a599mov rcx, rax
0021a59cand eax, 1
0021a59fshr rcx, 1
0021a5a2or rcx, rax
0021a5a5cvtsi2sd x1, rcx
0021a5aaaddsd x1, x1
0021a5aejmp 0x21a493
0021a5b3
0021a5b3loc_21a5b3:
0021a5b3mov rcx, rax
0021a5b6and eax, 1
0021a5b9pxor x0, x0
0021a5bdshr rcx, 1
0021a5c0or rcx, rax
0021a5c3cvtsi2sd x0, rcx
0021a5c8addsd x0, x0
0021a5ccjmp 0x21a474
0021a5d1
0021a5d1loc_21a5d1:
0021a5d1mov rax, [rip+0x15e658]
0021a5d8test al, 64
0021a5dajne 0x21a632
0021a5dcmov edi, 512
0021a5e1call caml_opportunistic_major_collection_slice
0021a5e6
0021a5e6loc_21a5e6:
0021a5e6nop
0021a5e8sub ebp, 1
0021a5ebjne 0x21a4c1
0021a5f1jmp 0x21a4db
0021a5f6
0021a5f6 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021a600
0021a600loc_21a600:
0021a600mov edi, 31
0021a605mov [rsp+8], r11
0021a60acall caml_ev_begin
0021a60fmov rsi, r14
0021a612lea rdi, [rip-4025]
0021a619call caml_scan_global_young_roots
0021a61emov edi, 31
0021a623call caml_ev_end
0021a628mov r11, [rsp+8]
0021a62djmp 0x21a07d
0021a632
0021a632loc_21a632:
0021a632mov edi, 26
0021a637call caml_ev_begin
0021a63cmov edi, 512
0021a641call caml_opportunistic_major_collection_slice
0021a646mov edi, 26
0021a64bcall caml_ev_end
0021a650jmp 0x21a5e6
0021a652
0021a652loc_21a652:
0021a652call fn_f4590
00219fe0
0021a657
0021a657 // align 0x10
0021a657 // align 0x10
0021a660
0021a660fn_21a660:
0021a660push r12
0021a662mov r12l, esi
0021a665push rbp
0021a666mov rbp, rdi
0021a669push rbx
0021a66amov rbx, rdx
0021a66dcmp [rdx], rdi
0021a670je 0x21a820
0021a676
0021a676loc_21a676:
0021a676xor eax, eax
0021a678lea rdi, [rip+0x168a1]
0021a67fcall caml_gc_log
0021a684mov rdx, rbx
0021a687mov esi, r12l
0021a68amov rdi, rbp
0021a68dcall caml_empty_minor_heap_promote
0021a692mov edi, 15
0021a697call caml_ev_begin
0021a69clea rdi, [rip+0x168a5]
0021a6a3xor eax, eax
0021a6a5call caml_gc_log
0021a6aamov rdx, [rbp+96]
0021a6aemov rbx, [rdx+112]
0021a6b2cmp rbx, [rdx+136]
0021a6b9jae 0x21a6ed
0021a6bbnop [rax+rax]
0021a6c0
0021a6c0loc_21a6c0:
0021a6c0mov rax, [rbx]
0021a6c3test al, 1
0021a6c5jne 0x21a6e0
0021a6c7cmp rax, [rip+0x15defa]
0021a6cejae 0x21a6e0
0021a6d0cmp [rip+0x15def9], rax
0021a6d7jb 0x21a7a0
0021a6ddnop [rax]
0021a6e0
0021a6e0loc_21a6e0:
0021a6e0add rbx, 24
0021a6e4cmp rbx, [rdx+136]
0021a6ebjb 0x21a6c0
0021a6ed
0021a6edloc_21a6ed:
0021a6edmov edi, 15
0021a6f2call caml_ev_end
0021a6f7mov edi, 38
0021a6fccall caml_ev_begin
0021a701xor eax, eax
0021a703lea rdi, [rip+0x16866]
0021a70acall caml_gc_log
0021a70fmov rdi, rbp
0021a712call caml_final_update_last_minor
0021a717mov edi, 38
0021a71ccall caml_ev_end
0021a721mov edi, 29
0021a726call caml_ev_begin
0021a72bxor eax, eax
0021a72dlea rdi, [rip+0x1686c]
0021a734call caml_gc_log
0021a739mov rbx, [rbp+96]
0021a73dmov rdi, rbp
0021a740call caml_final_empty_young
0021a745mov edi, 29
0021a74amov rax, [rbx]
0021a74dmovq x0, [rbx+112]
0021a752mov [rbx+24], rax
0021a756mov rax, [rbx+16]
0021a75amovhps x0, [rbx+128]
0021a761movups [rbx+136], x0
0021a768mov [rbx+32], rax
0021a76cmov rax, [rbx+56]
0021a770mov [rbx+80], rax
0021a774mov rax, [rbx+72]
0021a778mov [rbx+88], rax
0021a77cmov [rbp+320], 0
0021a787call caml_ev_end
0021a78cpop rbx
0021a78dlea rdi, [rip+0x14aee]
0021a794pop rbp
0021a795xor eax, eax
0021a797pop r12
0021a799jmp 0x21abf0
0021a79e
0021a79e 66 90 f.
0021a7a0
0021a7a0loc_21a7a0:
0021a7a0lea r12, [rax-8]
0021a7a4mov rax, [rax-8]
0021a7a8cmp rax, 256
0021a7aeje 0x21a7d0
0021a7b0test rax, rax
0021a7b3je 0x21a7ee
0021a7b5mov rdi, [rbx]
0021a7b8mov rax, [rdi]
0021a7bbmov rax, [rax+8]
0021a7bftest rax, rax
0021a7c2je 0x21a7c6
0021a7c4call rax
0021a7c6
0021a7c6loc_21a7c6:
0021a7c6mov rdx, [rbp+96]
0021a7cajmp 0x21a6e0
0021a7cf
0021a7cf 90 .
0021a7d0
0021a7d0loc_21a7d0:
0021a7d0xor edi, edi
0021a7d2jmp 0x21a7e5
0021a7d4
0021a7d4 0f 1f 40 00 ..@.
0021a7d8
0021a7d8loc_21a7d8:
0021a7d8nop
0021a7dacmp edi, 999
0021a7e0ja 0x21a808
0021a7e2add edi, 1
0021a7e5
0021a7e5loc_21a7e5:
0021a7e5mov rax, [r12]
0021a7e9test rax, rax
0021a7ecjne 0x21a7d8
0021a7ee
0021a7eeloc_21a7ee:
0021a7eemov rsi, [rbx+16]
0021a7f2mov rdi, [rbx+8]
0021a7f6call caml_adjust_gc_speed
0021a7fbmov rdx, [rbp+96]
0021a7ffjmp 0x21a6e0
0021a804
0021a804 0f 1f 40 00 ..@.
0021a808
0021a808loc_21a808:
0021a808lea rsi, [rip+0x5b111]
0021a80fcall caml_plat_spin_back_off
0021a814mov edi, eax
0021a816jmp 0x21a7e5
0021a818
0021a818 0f 1f 84 00 00 00 00 00 ........
0021a820
0021a820loc_21a820:
0021a820mov rax, [rip+0x15e3d9]
0021a827add rax, 1
0021a82bmov [rip+0x15e3ce], rax
0021a832jmp 0x21a676
0021a660
0021a660fn_21a660:
0021a660push r12
0021a662mov r12l, esi
0021a665push rbp
0021a666mov rbp, rdi
0021a669push rbx
0021a66amov rbx, rdx
0021a66dcmp [rdx], rdi
0021a670je 0x21a820
0021a676
0021a676loc_21a676:
0021a676xor eax, eax
0021a678lea rdi, [rip+0x168a1]
0021a67fcall caml_gc_log
0021a684mov rdx, rbx
0021a687mov esi, r12l
0021a68amov rdi, rbp
0021a68dcall caml_empty_minor_heap_promote
0021a692mov edi, 15
0021a697call caml_ev_begin
0021a69clea rdi, [rip+0x168a5]
0021a6a3xor eax, eax
0021a6a5call caml_gc_log
0021a6aamov rdx, [rbp+96]
0021a6aemov rbx, [rdx+112]
0021a6b2cmp rbx, [rdx+136]
0021a6b9jae 0x21a6ed
0021a6bbnop [rax+rax]
0021a6c0
0021a6c0loc_21a6c0:
0021a6c0mov rax, [rbx]
0021a6c3test al, 1
0021a6c5jne 0x21a6e0
0021a6c7cmp rax, [rip+0x15defa]
0021a6cejae 0x21a6e0
0021a6d0cmp [rip+0x15def9], rax
0021a6d7jb 0x21a7a0
0021a6ddnop [rax]
0021a6e0
0021a6e0loc_21a6e0:
0021a6e0add rbx, 24
0021a6e4cmp rbx, [rdx+136]
0021a6ebjb 0x21a6c0
0021a6ed
0021a6edloc_21a6ed:
0021a6edmov edi, 15
0021a6f2call caml_ev_end
0021a6f7mov edi, 38
0021a6fccall caml_ev_begin
0021a701xor eax, eax
0021a703lea rdi, [rip+0x16866]
0021a70acall caml_gc_log
0021a70fmov rdi, rbp
0021a712call caml_final_update_last_minor
0021a717mov edi, 38
0021a71ccall caml_ev_end
0021a721mov edi, 29
0021a726call caml_ev_begin
0021a72bxor eax, eax
0021a72dlea rdi, [rip+0x1686c]
0021a734call caml_gc_log
0021a739mov rbx, [rbp+96]
0021a73dmov rdi, rbp
0021a740call caml_final_empty_young
0021a745mov edi, 29
0021a74amov rax, [rbx]
0021a74dmovq x0, [rbx+112]
0021a752mov [rbx+24], rax
0021a756mov rax, [rbx+16]
0021a75amovhps x0, [rbx+128]
0021a761movups [rbx+136], x0
0021a768mov [rbx+32], rax
0021a76cmov rax, [rbx+56]
0021a770mov [rbx+80], rax
0021a774mov rax, [rbx+72]
0021a778mov [rbx+88], rax
0021a77cmov [rbp+320], 0
0021a787call caml_ev_end
0021a78cpop rbx
0021a78dlea rdi, [rip+0x14aee]
0021a794pop rbp
0021a795xor eax, eax
0021a797pop r12
0021a799jmp 0x21abf0
0021a79e
0021a79e 66 90 f.
0021a7a0
0021a7a0loc_21a7a0:
0021a7a0lea r12, [rax-8]
0021a7a4mov rax, [rax-8]
0021a7a8cmp rax, 256
0021a7aeje 0x21a7d0
0021a7b0test rax, rax
0021a7b3je 0x21a7ee
0021a7b5mov rdi, [rbx]
0021a7b8mov rax, [rdi]
0021a7bbmov rax, [rax+8]
0021a7bftest rax, rax
0021a7c2je 0x21a7c6
0021a7c4call rax
0021a7c6
0021a7c6loc_21a7c6:
0021a7c6mov rdx, [rbp+96]
0021a7cajmp 0x21a6e0
0021a7cf
0021a7cf 90 .
0021a7d0
0021a7d0loc_21a7d0:
0021a7d0xor edi, edi
0021a7d2jmp 0x21a7e5
0021a7d4
0021a7d4 0f 1f 40 00 ..@.
0021a7d8
0021a7d8loc_21a7d8:
0021a7d8nop
0021a7dacmp edi, 999
0021a7e0ja 0x21a808
0021a7e2add edi, 1
0021a7e5
0021a7e5loc_21a7e5:
0021a7e5mov rax, [r12]
0021a7e9test rax, rax
0021a7ecjne 0x21a7d8
0021a7ee
0021a7eeloc_21a7ee:
0021a7eemov rsi, [rbx+16]
0021a7f2mov rdi, [rbx+8]
0021a7f6call caml_adjust_gc_speed
0021a7fbmov rdx, [rbp+96]
0021a7ffjmp 0x21a6e0
0021a804
0021a804 0f 1f 40 00 ..@.
0021a808
0021a808loc_21a808:
0021a808lea rsi, [rip+0x5b111]
0021a80fcall caml_plat_spin_back_off
0021a814mov edi, eax
0021a816jmp 0x21a7e5
0021a818
0021a818 0f 1f 84 00 00 00 00 00 ........
0021a820
0021a820loc_21a820:
0021a820mov rax, [rip+0x15e3d9]
0021a827add rax, 1
0021a82bmov [rip+0x15e3ce], rax
0021a832jmp 0x21a676
0021a660
0021a837
0021a837 // align 0x10
0021a837 // align 0x10
0021a840
0021a840fn_21a840:
0021a840mov esi, edx
0021a842mov rdx, rcx
0021a845jmp 0x21a660
0021a84adb 0x12
0021a84bdb 0xfe
0021a84cdb 0xff
0021a84ddb 0xff
0021a840
0021a840fn_21a840:
0021a840mov esi, edx
0021a842mov rdx, rcx
0021a845jmp 0x21a660
0021a84adb 0x12
0021a84bdb 0xfe
0021a84cdb 0xff
0021a84ddb 0xff
0021a840
0021a84e
0021a84e // align 0x10
0021a84e // align 0x10
0021a850
0021a850caml_empty_minor_heap_no_major_slice_from_stw:
0021a850push r12
0021a852mov r12, rcx
0021a855push rbp
0021a856mov rbp, rdi
0021a859push rbx
0021a85amov ebx, edx
0021a85ccmp edx, 1
0021a85fje 0x21a8b8
0021a861mov edi, edx
0021a863call caml_global_barrier_and_check_final
0021a868mov rdi, rax
0021a86btest rax, rax
0021a86eje 0x21a8a0
0021a870mov rax, [rip+0x15e37d]
0021a877add rax, 1
0021a87bmov [rip+0x15e372], rax
0021a882mov [rip+0x15e380], 1
0021a88cmov [rip+0x15e37d], 0
0021a897call caml_global_barrier_release_as_final
0021a89cmov rdx, r12
0021a89fmov esi, ebx
0021a8a1mov rdi, rbp
0021a8a4pop rbx
0021a8a5pop rbp
0021a8a6pop r12
0021a8a8jmp 0x21a660
0021a8addb 0xaf
0021a8aestd
0021a8afdb 0xff
0021a8b0db 0xff
0021a8b1
0021a8b1 0f 1f 80 00 00 00 00 .......
0021a8b8
0021a8b8loc_21a8b8:
0021a8b8mov rax, [rip+0x15e339]
0021a8bfadd rax, 1
0021a8c3mov [rip+0x15e32e], rax
0021a8camov [rip+0x15e33c], 1
0021a8d4mov [rip+0x15e339], 0
0021a8dfjmp 0x21a8a0
0021a850
0021a850caml_empty_minor_heap_no_major_slice_from_stw:
0021a850push r12
0021a852mov r12, rcx
0021a855push rbp
0021a856mov rbp, rdi
0021a859push rbx
0021a85amov ebx, edx
0021a85ccmp edx, 1
0021a85fje 0x21a8b8
0021a861mov edi, edx
0021a863call caml_global_barrier_and_check_final
0021a868mov rdi, rax
0021a86btest rax, rax
0021a86eje 0x21a8a0
0021a870mov rax, [rip+0x15e37d]
0021a877add rax, 1
0021a87bmov [rip+0x15e372], rax
0021a882mov [rip+0x15e380], 1
0021a88cmov [rip+0x15e37d], 0
0021a897call caml_global_barrier_release_as_final
0021a89cmov rdx, r12
0021a89fmov esi, ebx
0021a8a1mov rdi, rbp
0021a8a4pop rbx
0021a8a5pop rbp
0021a8a6pop r12
0021a8a8jmp 0x21a660
0021a8addb 0xaf
0021a8aestd
0021a8afdb 0xff
0021a8b0db 0xff
0021a8b1
0021a8b1 0f 1f 80 00 00 00 00 .......
0021a8b8
0021a8b8loc_21a8b8:
0021a8b8mov rax, [rip+0x15e339]
0021a8bfadd rax, 1
0021a8c3mov [rip+0x15e32e], rax
0021a8camov [rip+0x15e33c], 1
0021a8d4mov [rip+0x15e339], 0
0021a8dfjmp 0x21a8a0
0021a850
0021a8e1
0021a8e1 // align 0x10
0021a8e1 // align 0x10
0021a8f0
0021a8f0caml_try_empty_minor_heap_on_all_domains:
0021a8f0sub rsp, 8
0021a8f4lea rdi, [rip+0x166d1]
0021a8fbxor eax, eax
0021a8fdcall caml_gc_log
0021a902xor r9l, r9l
0021a905xor edx, edx
0021a907mov edi, 1
0021a90clea r8, [rip-5127]
0021a913lea rcx, [rip-5182]
0021a91aadd rsp, 8
0021a91elea rsi, [rip-233]
0021a925jmp 0x202950
0021a92adb 0x22
0021a92bcmp dh, -1
0021a8f0
0021a8f0caml_try_empty_minor_heap_on_all_domains:
0021a8f0sub rsp, 8
0021a8f4lea rdi, [rip+0x166d1]
0021a8fbxor eax, eax
0021a8fdcall caml_gc_log
0021a902xor r9l, r9l
0021a905xor edx, edx
0021a907mov edi, 1
0021a90clea r8, [rip-5127]
0021a913lea rcx, [rip-5182]
0021a91aadd rsp, 8
0021a91elea rsi, [rip-233]
0021a925jmp 0x202950
0021a92adb 0x22
0021a92bcmp dh, -1
0021a8f0
0021a92e
0021a92e // align 0x10
0021a92e // align 0x10
0021a930
0021a930caml_empty_minor_heaps_once:
0021a930push r13
0021a932push r12
0021a934lea r12, [rip+0x16691]
0021a93bpush rbp
0021a93clea rbp, [rip-5223]
0021a943push rbx
0021a944lea rbx, [rip-271]
0021a94bsub rsp, 8
0021a94fmov r13, [rip+0x15e2a6]
0021a956nop [rax+rax]
0021a95cmov rdi, r12
0021a95fxor eax, eax
0021a961call caml_gc_log
0021a966xor r9l, r9l
0021a969mov rcx, rbp
0021a96cxor edx, edx
0021a96elea r8, [rip-5225]
0021a975mov rsi, rbx
0021a978mov edi, 1
0021a97dcall caml_try_run_on_all_domains_with_spin_work
0021a982mov rax, [rip+0x15e273]
0021a989cmp r13, rax
0021a98cje 0x21a960
0021a98eadd rsp, 8
0021a992pop rbx
0021a993pop rbp
0021a994pop r12
0021a996pop r13
0021a998ret
0021a999db 0x5c
0021a99apop r13
0021a99cret
0021a930
0021a930caml_empty_minor_heaps_once:
0021a930push r13
0021a932push r12
0021a934lea r12, [rip+0x16691]
0021a93bpush rbp
0021a93clea rbp, [rip-5223]
0021a943push rbx
0021a944lea rbx, [rip-271]
0021a94bsub rsp, 8
0021a94fmov r13, [rip+0x15e2a6]
0021a956nop [rax+rax]
0021a95cmov rdi, r12
0021a95fxor eax, eax
0021a961call caml_gc_log
0021a966xor r9l, r9l
0021a969mov rcx, rbp
0021a96cxor edx, edx
0021a96elea r8, [rip-5225]
0021a975mov rsi, rbx
0021a978mov edi, 1
0021a97dcall caml_try_run_on_all_domains_with_spin_work
0021a982mov rax, [rip+0x15e273]
0021a989cmp r13, rax
0021a98cje 0x21a960
0021a98eadd rsp, 8
0021a992pop rbx
0021a993pop rbp
0021a994pop r12
0021a996pop r13
0021a998ret
0021a999db 0x5c
0021a99apop r13
0021a99cret
0021a930
0021a99d
0021a99d // align 0x10
0021a99d // align 0x10
0021a9a0
0021a9a0caml_alloc_small_dispatch:
0021a9a0push r15
0021a9a2mov r15, r8
0021a9a5push r14
0021a9a7mov r14, rsi
0021a9aapush r13
0021a9acmov r13l, edx
0021a9afpush r12
0021a9b1mov r12l, edx
0021a9b4push rbp
0021a9b5and r12l, 2
0021a9b9lea rbp, [8*rsi+8]
0021a9c1push rbx
0021a9c2mov rbx, rdi
0021a9c5sub rsp, 24
0021a9c9add [rdi+8], rbp
0021a9cdmov [rsp+12], ecx
0021a9d1jmp 0x21aa0b
0021a9d3db 0x24
0021a9d4or al, 235
0021a9d6db 0x34
0021a9d7
0021a9d7 66 0f 1f 84 00 00 00 00 00 f........
0021a9e0
0021a9e0loc_21a9e0:
0021a9e0call caml_do_pending_actions_res
0021a9e5test eax, eax
0021a9e7jne 0x21aa8e
0021a9edmov rax, [rbx+8]
0021a9f1sub rax, rbp
0021a9f4cmp rax, [rbx+16]
0021a9f8jae 0x21aa22
0021a9fa
0021a9faloc_21a9fa:
0021a9famov esi, 1
0021a9ffxor edi, edi
0021aa01call caml_ev_counter
0021aa06call caml_poll_gc_work
0021aa0b
0021aa0bloc_21aa0b:
0021aa0btest r12l, r12l
0021aa0ejne 0x21a9e0
0021aa10call caml_handle_gc_interrupt
0021aa15mov rax, [rbx+8]
0021aa19sub rax, rbp
0021aa1ccmp rax, [rbx+16]
0021aa20jb 0x21a9fa
0021aa22
0021aa22loc_21aa22:
0021aa22mov [rbx+8], rax
0021aa26cmp rax, [rbx+472]
0021aa2djae 0x21aa58
0021aa2fand r13l, 1
0021aa33je 0x21aa70
0021aa35mov edx, [rsp+12]
0021aa39add rsp, 24
0021aa3dmov rcx, r15
0021aa40mov esi, r12l
0021aa43pop rbx
0021aa44mov rdi, r14
0021aa47pop rbp
0021aa48pop r12
0021aa4apop r13
0021aa4cpop r14
0021aa4epop r15
0021aa50jmp 0x218880
0021aa55
0021aa55 0f 1f 00 ...
0021aa58
0021aa58loc_21aa58:
0021aa58add rsp, 24
0021aa5cpop rbx
0021aa5dpop rbp
0021aa5epop r12
0021aa60pop r13
0021aa62pop r14
0021aa64pop r15
0021aa66ret
0021aa67
0021aa67 66 0f 1f 84 00 00 00 00 00 f........
0021aa70
0021aa70loc_21aa70:
0021aa70mov rdi, rbx
0021aa73call caml_memprof_set_trigger
0021aa78add rsp, 24
0021aa7cmov rdi, rbx
0021aa7fpop rbx
0021aa80pop rbp
0021aa81pop r12
0021aa83pop r13
0021aa85pop r14
0021aa87pop r15
0021aa89jmp 0x201700
0021aa8e
0021aa8eloc_21aa8e:
0021aa8emov rdi, rdx
0021aa91call caml_raise
0021a9a0
0021a9a0caml_alloc_small_dispatch:
0021a9a0push r15
0021a9a2mov r15, r8
0021a9a5push r14
0021a9a7mov r14, rsi
0021a9aapush r13
0021a9acmov r13l, edx
0021a9afpush r12
0021a9b1mov r12l, edx
0021a9b4push rbp
0021a9b5and r12l, 2
0021a9b9lea rbp, [8*rsi+8]
0021a9c1push rbx
0021a9c2mov rbx, rdi
0021a9c5sub rsp, 24
0021a9c9add [rdi+8], rbp
0021a9cdmov [rsp+12], ecx
0021a9d1jmp 0x21aa0b
0021a9d3db 0x24
0021a9d4or al, 235
0021a9d6db 0x34
0021a9d7
0021a9d7 66 0f 1f 84 00 00 00 00 00 f........
0021a9e0
0021a9e0loc_21a9e0:
0021a9e0call caml_do_pending_actions_res
0021a9e5test eax, eax
0021a9e7jne 0x21aa8e
0021a9edmov rax, [rbx+8]
0021a9f1sub rax, rbp
0021a9f4cmp rax, [rbx+16]
0021a9f8jae 0x21aa22
0021a9fa
0021a9faloc_21a9fa:
0021a9famov esi, 1
0021a9ffxor edi, edi
0021aa01call caml_ev_counter
0021aa06call caml_poll_gc_work
0021aa0b
0021aa0bloc_21aa0b:
0021aa0btest r12l, r12l
0021aa0ejne 0x21a9e0
0021aa10call caml_handle_gc_interrupt
0021aa15mov rax, [rbx+8]
0021aa19sub rax, rbp
0021aa1ccmp rax, [rbx+16]
0021aa20jb 0x21a9fa
0021aa22
0021aa22loc_21aa22:
0021aa22mov [rbx+8], rax
0021aa26cmp rax, [rbx+472]
0021aa2djae 0x21aa58
0021aa2fand r13l, 1
0021aa33je 0x21aa70
0021aa35mov edx, [rsp+12]
0021aa39add rsp, 24
0021aa3dmov rcx, r15
0021aa40mov esi, r12l
0021aa43pop rbx
0021aa44mov rdi, r14
0021aa47pop rbp
0021aa48pop r12
0021aa4apop r13
0021aa4cpop r14
0021aa4epop r15
0021aa50jmp 0x218880
0021aa55
0021aa55 0f 1f 00 ...
0021aa58
0021aa58loc_21aa58:
0021aa58add rsp, 24
0021aa5cpop rbx
0021aa5dpop rbp
0021aa5epop r12
0021aa60pop r13
0021aa62pop r14
0021aa64pop r15
0021aa66ret
0021aa67
0021aa67 66 0f 1f 84 00 00 00 00 00 f........
0021aa70
0021aa70loc_21aa70:
0021aa70mov rdi, rbx
0021aa73call caml_memprof_set_trigger
0021aa78add rsp, 24
0021aa7cmov rdi, rbx
0021aa7fpop rbx
0021aa80pop rbp
0021aa81pop r12
0021aa83pop r13
0021aa85pop r14
0021aa87pop r15
0021aa89jmp 0x201700
0021aa8e
0021aa8eloc_21aa8e:
0021aa8emov rdi, rdx
0021aa91call caml_raise
0021a9a0
0021aa96
0021aa96 // align 0x10
0021aa96 // align 0x10
0021aaa0
0021aaa0caml_minor_collection:
0021aaa0sub rsp, 8
0021aaa4call caml_request_minor_gc
0021aaa9add rsp, 8
0021aaadjmp 0x202ed0
0021aab2db 0x1a
0021aab3test dh, bh
0021aab5db 0xff
0021aaa0
0021aaa0caml_minor_collection:
0021aaa0sub rsp, 8
0021aaa4call caml_request_minor_gc
0021aaa9add rsp, 8
0021aaadjmp 0x202ed0
0021aab2db 0x1a
0021aab3test dh, bh
0021aab5db 0xff
0021aaa0
0021aab6
0021aab6 // align 0x10
0021aab6 // align 0x10
0021aac0
0021aac0caml_check_urgent_gc:
0021aac0push rbp
0021aac1push rbx
0021aac2sub rsp, 104
0021aac6mov [rsp+8], rdi
0021aacbmov rdx, [0x28]
0021aad4mov [rsp+88], rdx
0021aad9mov rdx, [rip+0x5b504]
0021aae0mov rax, [rdx]
0021aae4mov rcx, [rax]
0021aae7cmp [rax+8], rcx
0021aaebjb 0x21ab10
0021aaedmov rax, [rsp+8]
0021aaf2mov rdx, [rsp+88]
0021aaf7sub rdx, [0x28]
0021ab00jne 0x21ab57
0021ab02add rsp, 104
0021ab06pop rbx
0021ab07pop rbp
0021ab08ret
0021ab09db 0x68
0021ab0apop rbx
0021ab0bpop rbp
0021ab0cret
0021ab0d
0021ab0d 0f 1f 00 ...
0021ab10
0021ab10loc_21ab10:
0021ab10lea rax, [rsp+16]
0021ab15mov rbx, [rdx]
0021ab19mov rbp, [rbx+160]
0021ab20mov [rbx+160], rax
0021ab27mov eax, 1
0021ab2cmovq x0, rax
0021ab31lea rax, [rsp+8]
0021ab36punpcklqdq x0, x0
0021ab3amov [rsp+16], rbp
0021ab3fmov [rsp+40], rax
0021ab44movups [rsp+24], x0
0021ab49call caml_handle_gc_interrupt
0021ab4emov [rbx+160], rbp
0021ab55jmp 0x21aaf1
0021ab57
0021ab57loc_21ab57:
0021ab57call fn_f4590
0021aac0
0021aac0caml_check_urgent_gc:
0021aac0push rbp
0021aac1push rbx
0021aac2sub rsp, 104
0021aac6mov [rsp+8], rdi
0021aacbmov rdx, [0x28]
0021aad4mov [rsp+88], rdx
0021aad9mov rdx, [rip+0x5b504]
0021aae0mov rax, [rdx]
0021aae4mov rcx, [rax]
0021aae7cmp [rax+8], rcx
0021aaebjb 0x21ab10
0021aaedmov rax, [rsp+8]
0021aaf2mov rdx, [rsp+88]
0021aaf7sub rdx, [0x28]
0021ab00jne 0x21ab57
0021ab02add rsp, 104
0021ab06pop rbx
0021ab07pop rbp
0021ab08ret
0021ab09db 0x68
0021ab0apop rbx
0021ab0bpop rbp
0021ab0cret
0021ab0d
0021ab0d 0f 1f 00 ...
0021ab10
0021ab10loc_21ab10:
0021ab10lea rax, [rsp+16]
0021ab15mov rbx, [rdx]
0021ab19mov rbp, [rbx+160]
0021ab20mov [rbx+160], rax
0021ab27mov eax, 1
0021ab2cmovq x0, rax
0021ab31lea rax, [rsp+8]
0021ab36punpcklqdq x0, x0
0021ab3amov [rsp+16], rbp
0021ab3fmov [rsp+40], rax
0021ab44movups [rsp+24], x0
0021ab49call caml_handle_gc_interrupt
0021ab4emov [rbx+160], rbp
0021ab55jmp 0x21aaf1
0021ab57
0021ab57loc_21ab57:
0021ab57call fn_f4590
0021aac0
0021ab5c
0021ab5c // align 0x10
0021ab5c // align 0x10
0021ab60
0021ab60caml_realloc_ref_table:
0021ab60lea r9, [rip+0x14757]
0021ab67mov edx, 8
0021ab6cmov esi, 8
0021ab71lea r8, [rip+0x16474]
0021ab78lea rcx, [rip+0x1471d]
0021ab7fjmp 0x219340
0021ab84db 0xb8
0021ab85out 255, eax
0021ab87db 0xff
0021ab60
0021ab60caml_realloc_ref_table:
0021ab60lea r9, [rip+0x14757]
0021ab67mov edx, 8
0021ab6cmov esi, 8
0021ab71lea r8, [rip+0x16474]
0021ab78lea rcx, [rip+0x1471d]
0021ab7fjmp 0x219340
0021ab84db 0xb8
0021ab85out 255, eax
0021ab87db 0xff
0021ab60
0021ab88
0021ab88 // align 0x10
0021ab88 // align 0x10
0021ab90
0021ab90caml_realloc_ephe_ref_table:
0021ab90lea r9, [rip+0x14722]
0021ab97mov edx, 9
0021ab9cmov esi, 16
0021aba1lea r8, [rip+0x1646c]
0021aba8lea rcx, [rip+0x1648d]
0021abafjmp 0x219340
0021abb4db 0x88
0021abb5out 255, eax
0021abb7db 0xff
0021ab90
0021ab90caml_realloc_ephe_ref_table:
0021ab90lea r9, [rip+0x14722]
0021ab97mov edx, 9
0021ab9cmov esi, 16
0021aba1lea r8, [rip+0x1646c]
0021aba8lea rcx, [rip+0x1648d]
0021abafjmp 0x219340
0021abb4db 0x88
0021abb5out 255, eax
0021abb7db 0xff
0021ab90
0021abb8
0021abb8 // align 0x10
0021abb8 // align 0x10
0021abc0
0021abc0caml_realloc_custom_table:
0021abc0lea r9, [rip+0x1470a]
0021abc7mov edx, 10
0021abccmov esi, 24
0021abd1lea r8, [rip+0x1648c]
0021abd8lea rcx, [rip+0x164ad]
0021abdfjmp 0x219340
0021abe4db 0x58
0021abe5out 255, eax
0021abe7db 0xff
0021abc0
0021abc0caml_realloc_custom_table:
0021abc0lea r9, [rip+0x1470a]
0021abc7mov edx, 10
0021abccmov esi, 24
0021abd1lea r8, [rip+0x1648c]
0021abd8lea rcx, [rip+0x164ad]
0021abdfjmp 0x219340
0021abe4db 0x58
0021abe5out 255, eax
0021abe7db 0xff
0021abc0
0021abe8
0021abe8 // align 0x10
0021abe8 // align 0x10
0021abf0
0021abf0caml_gc_log:
0021abf0push rbx
0021abf1sub rsp, 736
0021abf8mov [rsp+568], rsi
0021ac00mov [rsp+576], rdx
0021ac08mov [rsp+584], rcx
0021ac10mov [rsp+592], r8
0021ac18mov [rsp+600], r9
0021ac20test al, al
0021ac22je 0x21ac68
0021ac24movaps [rsp+608], x0
0021ac2cmovaps [rsp+624], x1
0021ac34movaps [rsp+640], x2
0021ac3cmovaps [rsp+656], x3
0021ac44movaps [rsp+672], x4
0021ac4cmovaps [rsp+688], x5
0021ac54movaps [rsp+704], x6
0021ac5cmovaps [rsp+720], x7
0021ac64mov rax, [0x28]
0021ac6dmov [rsp+552], rax
0021ac75mov rax, [rip+0x15dfb0]
0021ac7ctest ah, 8
0021ac7fjne 0x21aca8
0021ac81mov rax, [rsp+552]
0021ac89sub rax, [0x28]
0021ac92jne 0x21ad45
0021ac98add rsp, 736
0021ac9fpop rbx
0021aca0ret
0021aca1db 0x00
0021aca2add [rbx-61], bl
0021aca5
0021aca5 0f 1f 00 ...
0021aca8
0021aca8loc_21aca8:
0021aca8lea rax, [rsp+752]
0021acb0mov [rsp+8], 8
0021acb8mov r9l, -1
0021acbemov [rsp+16], rax
0021acc3lea rax, [rsp+560]
0021accbmov [rsp+24], rax
0021acd0mov rax, [rip+0x5b311]
0021acd7mov [rsp+12], 48
0021acdfmov rax, [rax]
0021ace3test rax, rax
0021ace6je 0x21acef
0021ace8mov r9l, [rax+288]
0021acef
0021acefloc_21acef:
0021aceflea rbx, [rsp+32]
0021acf4sub rsp, 8
0021acf8mov ecx, 512
0021acfdxor eax, eax
0021acffpush rdi
0021ad00lea r8, [rip+0x145f7]
0021ad07mov edx, 1
0021ad0cmov rdi, rbx
0021ad0fmov esi, 512
0021ad14call fn_f46b0
0021ad19mov rdi, [rip+0x15d7c0]
0021ad20lea rcx, [rsp+24]
0021ad25mov rdx, rbx
0021ad28mov esi, 1
0021ad2dcall fn_f4400
0021ad32mov rdi, [rip+0x15d7a7]
0021ad39call fn_f4820
0021ad3epop rax
0021ad3fpop rdx
0021ad40jmp 0x21ac85
0021ad45
0021ad45loc_21ad45:
0021ad45call fn_f4590
0021abf0
0021abf0caml_gc_log:
0021abf0push rbx
0021abf1sub rsp, 736
0021abf8mov [rsp+568], rsi
0021ac00mov [rsp+576], rdx
0021ac08mov [rsp+584], rcx
0021ac10mov [rsp+592], r8
0021ac18mov [rsp+600], r9
0021ac20test al, al
0021ac22je 0x21ac68
0021ac24movaps [rsp+608], x0
0021ac2cmovaps [rsp+624], x1
0021ac34movaps [rsp+640], x2
0021ac3cmovaps [rsp+656], x3
0021ac44movaps [rsp+672], x4
0021ac4cmovaps [rsp+688], x5
0021ac54movaps [rsp+704], x6
0021ac5cmovaps [rsp+720], x7
0021ac64mov rax, [0x28]
0021ac6dmov [rsp+552], rax
0021ac75mov rax, [rip+0x15dfb0]
0021ac7ctest ah, 8
0021ac7fjne 0x21aca8
0021ac81mov rax, [rsp+552]
0021ac89sub rax, [0x28]
0021ac92jne 0x21ad45
0021ac98add rsp, 736
0021ac9fpop rbx
0021aca0ret
0021aca1db 0x00
0021aca2add [rbx-61], bl
0021aca5
0021aca5 0f 1f 00 ...
0021aca8
0021aca8loc_21aca8:
0021aca8lea rax, [rsp+752]
0021acb0mov [rsp+8], 8
0021acb8mov r9l, -1
0021acbemov [rsp+16], rax
0021acc3lea rax, [rsp+560]
0021accbmov [rsp+24], rax
0021acd0mov rax, [rip+0x5b311]
0021acd7mov [rsp+12], 48
0021acdfmov rax, [rax]
0021ace3test rax, rax
0021ace6je 0x21acef
0021ace8mov r9l, [rax+288]
0021acef
0021acefloc_21acef:
0021aceflea rbx, [rsp+32]
0021acf4sub rsp, 8
0021acf8mov ecx, 512
0021acfdxor eax, eax
0021acffpush rdi
0021ad00lea r8, [rip+0x145f7]
0021ad07mov edx, 1
0021ad0cmov rdi, rbx
0021ad0fmov esi, 512
0021ad14call fn_f46b0
0021ad19mov rdi, [rip+0x15d7c0]
0021ad20lea rcx, [rsp+24]
0021ad25mov rdx, rbx
0021ad28mov esi, 1
0021ad2dcall fn_f4400
0021ad32mov rdi, [rip+0x15d7a7]
0021ad39call fn_f4820
0021ad3epop rax
0021ad3fpop rdx
0021ad40jmp 0x21ac85
0021ad45
0021ad45loc_21ad45:
0021ad45call fn_f4590
0021abf0
0021ad4a
0021ad4a // align 0x10
0021ad4a // align 0x10
0021ad50
0021ad50caml_gc_message:
0021ad50sub rsp, 216
0021ad57mov [rsp+48], rdx
0021ad5cmov [rsp+56], rcx
0021ad61mov [rsp+64], r8
0021ad66mov [rsp+72], r9
0021ad6btest al, al
0021ad6dje 0x21adaa
0021ad6fmovaps [rsp+80], x0
0021ad74movaps [rsp+96], x1
0021ad79movaps [rsp+112], x2
0021ad7emovaps [rsp+128], x3
0021ad86movaps [rsp+144], x4
0021ad8emovaps [rsp+160], x5
0021ad96movaps [rsp+176], x6
0021ad9emovaps [rsp+192], x7
0021ada6mov rax, [0x28]
0021adafmov [rsp+24], rax
0021adb4mov rax, [rip+0x15de71]
0021adbbmovsxd rdi, edi
0021adbetest rdi, rax
0021adc1jne 0x21ade0
0021adc3mov rax, [rsp+24]
0021adc8sub rax, [0x28]
0021add1jne 0x21ae2b
0021add3add rsp, 216
0021addaret
0021addbdb 0x00
0021addcadd [rax], al
0021adderet
0021addf
0021addf 90 .
0021ade0
0021ade0loc_21ade0:
0021ade0lea rax, [rsp+224]
0021ade8mov rdi, [rip+0x15d6f1]
0021adefmov rdx, rsi
0021adf2mov rcx, rsp
0021adf5mov [rsp+8], rax
0021adfamov esi, 1
0021adfflea rax, [rsp+32]
0021ae04mov [rsp], 16
0021ae0bmov [rsp+4], 48
0021ae13mov [rsp+16], rax
0021ae18call fn_f4400
0021ae1dmov rdi, [rip+0x15d6bc]
0021ae24call fn_f4820
0021ae29jmp 0x21adc7
0021ae2b
0021ae2bloc_21ae2b:
0021ae2bcall fn_f4590
0021ad50
0021ad50caml_gc_message:
0021ad50sub rsp, 216
0021ad57mov [rsp+48], rdx
0021ad5cmov [rsp+56], rcx
0021ad61mov [rsp+64], r8
0021ad66mov [rsp+72], r9
0021ad6btest al, al
0021ad6dje 0x21adaa
0021ad6fmovaps [rsp+80], x0
0021ad74movaps [rsp+96], x1
0021ad79movaps [rsp+112], x2
0021ad7emovaps [rsp+128], x3
0021ad86movaps [rsp+144], x4
0021ad8emovaps [rsp+160], x5
0021ad96movaps [rsp+176], x6
0021ad9emovaps [rsp+192], x7
0021ada6mov rax, [0x28]
0021adafmov [rsp+24], rax
0021adb4mov rax, [rip+0x15de71]
0021adbbmovsxd rdi, edi
0021adbetest rdi, rax
0021adc1jne 0x21ade0
0021adc3mov rax, [rsp+24]
0021adc8sub rax, [0x28]
0021add1jne 0x21ae2b
0021add3add rsp, 216
0021addaret
0021addbdb 0x00
0021addcadd [rax], al
0021adderet
0021addf
0021addf 90 .
0021ade0
0021ade0loc_21ade0:
0021ade0lea rax, [rsp+224]
0021ade8mov rdi, [rip+0x15d6f1]
0021adefmov rdx, rsi
0021adf2mov rcx, rsp
0021adf5mov [rsp+8], rax
0021adfamov esi, 1
0021adfflea rax, [rsp+32]
0021ae04mov [rsp], 16
0021ae0bmov [rsp+4], 48
0021ae13mov [rsp+16], rax
0021ae18call fn_f4400
0021ae1dmov rdi, [rip+0x15d6bc]
0021ae24call fn_f4820
0021ae29jmp 0x21adc7
0021ae2b
0021ae2bloc_21ae2b:
0021ae2bcall fn_f4590
0021ad50
0021ae30
0021ae30caml_fatal_error:
0021ae30push rbx
0021ae31mov rbx, rdi
0021ae34sub rsp, 208
0021ae3bmov [rsp+40], rsi
0021ae40mov [rsp+48], rdx
0021ae45mov [rsp+56], rcx
0021ae4amov [rsp+64], r8
0021ae4fmov [rsp+72], r9
0021ae54test al, al
0021ae56je 0x21ae93
0021ae58movaps [rsp+80], x0
0021ae5dmovaps [rsp+96], x1
0021ae62movaps [rsp+112], x2
0021ae67movaps [rsp+128], x3
0021ae6fmovaps [rsp+144], x4
0021ae77movaps [rsp+160], x5
0021ae7fmovaps [rsp+176], x6
0021ae87movaps [rsp+192], x7
0021ae8fmov rax, [0x28]
0021ae98mov [rsp+24], rax
0021ae9dxor eax, eax
0021ae9flea rax, [rsp+224]
0021aea7mov [rsp], 8
0021aeaemov [rsp+8], rax
0021aeb3lea rax, [rsp+32]
0021aeb8mov [rsp+4], 48
0021aec0mov [rsp+16], rax
0021aec5mov rax, [rip+0x15dd58]
0021aecctest rax, rax
0021aecfje 0x21aee2
0021aed1mov rsi, rsp
0021aed4mov rdi, rbx
0021aed7call rax
0021aed9call fn_f4160
0021aedemov rcx, [rip+0x15d5f7]
0021aee5mov edx, 13
0021aeeamov esi, 1
0021aeeflea rdi, [rip+0x1440f]
0021aef6call fn_f4700
0021aefbmov rcx, rsp
0021aefemov rdx, rbx
0021af01mov esi, 1
0021af06mov rdi, [rip+0x15d5cf]
0021af0dcall fn_f4400
0021af12mov rsi, [rip+0x15d5c3]
0021af19mov edi, 10
0021af1ecall fn_f4350
0021af23jmp 0x21aedd
0021af25db 0xed
0021af26db 0xff
0021af27jmp 0x21aedd
0021ae30
0021ae30caml_fatal_error:
0021ae30push rbx
0021ae31mov rbx, rdi
0021ae34sub rsp, 208
0021ae3bmov [rsp+40], rsi
0021ae40mov [rsp+48], rdx
0021ae45mov [rsp+56], rcx
0021ae4amov [rsp+64], r8
0021ae4fmov [rsp+72], r9
0021ae54test al, al
0021ae56je 0x21ae93
0021ae58movaps [rsp+80], x0
0021ae5dmovaps [rsp+96], x1
0021ae62movaps [rsp+112], x2
0021ae67movaps [rsp+128], x3
0021ae6fmovaps [rsp+144], x4
0021ae77movaps [rsp+160], x5
0021ae7fmovaps [rsp+176], x6
0021ae87movaps [rsp+192], x7
0021ae8fmov rax, [0x28]
0021ae98mov [rsp+24], rax
0021ae9dxor eax, eax
0021ae9flea rax, [rsp+224]
0021aea7mov [rsp], 8
0021aeaemov [rsp+8], rax
0021aeb3lea rax, [rsp+32]
0021aeb8mov [rsp+4], 48
0021aec0mov [rsp+16], rax
0021aec5mov rax, [rip+0x15dd58]
0021aecctest rax, rax
0021aecfje 0x21aee2
0021aed1mov rsi, rsp
0021aed4mov rdi, rbx
0021aed7call rax
0021aed9call fn_f4160
0021aedemov rcx, [rip+0x15d5f7]
0021aee5mov edx, 13
0021aeeamov esi, 1
0021aeeflea rdi, [rip+0x1440f]
0021aef6call fn_f4700
0021aefbmov rcx, rsp
0021aefemov rdx, rbx
0021af01mov esi, 1
0021af06mov rdi, [rip+0x15d5cf]
0021af0dcall fn_f4400
0021af12mov rsi, [rip+0x15d5c3]
0021af19mov edi, 10
0021af1ecall fn_f4350
0021af23jmp 0x21aedd
0021af25db 0xed
0021af26db 0xff
0021af27jmp 0x21aedd
0021ae30
0021af29
0021af29 // align 0x10
0021af29 // align 0x10
0021af30
0021af30caml_fatal_error_arg:
0021af30push rax
0021af31pop rax
0021af32xor eax, eax
0021af34sub rsp, 8
0021af38mov rdx, rdi
0021af3bmov rdi, [rip+0x15d59a]
0021af42mov rcx, rsi
0021af45mov esi, 1
0021af4acall fn_f41b0
0021af4fmov edi, 2
0021af54call fn_f4210
0021af59db 0xb3
0021af5axchg eax, edx
0021af5bin eax, dx
0021af5cdb 0xff
0021af30
0021af30caml_fatal_error_arg:
0021af30push rax
0021af31pop rax
0021af32xor eax, eax
0021af34sub rsp, 8
0021af38mov rdx, rdi
0021af3bmov rdi, [rip+0x15d59a]
0021af42mov rcx, rsi
0021af45mov esi, 1
0021af4acall fn_f41b0
0021af4fmov edi, 2
0021af54call fn_f4210
0021af59db 0xb3
0021af5axchg eax, edx
0021af5bin eax, dx
0021af5cdb 0xff
0021af30
0021af5d
0021af5d // align 0x10
0021af5d // align 0x10
0021af60
0021af60caml_fatal_error_arg2:
0021af60push rbp
0021af61xor eax, eax
0021af63mov rbp, rcx
0021af66mov rcx, rsi
0021af69push rbx
0021af6amov rbx, rdx
0021af6dmov rdx, rdi
0021af70mov esi, 1
0021af75sub rsp, 8
0021af79mov rdi, [rip+0x15d55c]
0021af80call fn_f41b0
0021af85mov rcx, rbp
0021af88mov rdx, rbx
0021af8bmov esi, 1
0021af90mov rdi, [rip+0x15d545]
0021af97xor eax, eax
0021af99call fn_f41b0
0021af9emov edi, 2
0021afa3call fn_f4210
0021afa8db 0x64
0021afa9xchg eax, edx
0021afaain eax, dx
0021afabdb 0xff
0021af60
0021af60caml_fatal_error_arg2:
0021af60push rbp
0021af61xor eax, eax
0021af63mov rbp, rcx
0021af66mov rcx, rsi
0021af69push rbx
0021af6amov rbx, rdx
0021af6dmov rdx, rdi
0021af70mov esi, 1
0021af75sub rsp, 8
0021af79mov rdi, [rip+0x15d55c]
0021af80call fn_f41b0
0021af85mov rcx, rbp
0021af88mov rdx, rbx
0021af8bmov esi, 1
0021af90mov rdi, [rip+0x15d545]
0021af97xor eax, eax
0021af99call fn_f41b0
0021af9emov edi, 2
0021afa3call fn_f4210
0021afa8db 0x64
0021afa9xchg eax, edx
0021afaain eax, dx
0021afabdb 0xff
0021af60
0021afac
0021afac // align 0x10
0021afac // align 0x10
0021afb0
0021afb0caml_ext_table_init:
0021afb0push rbx
0021afb1mov rbx, rdi
0021afb4mov [rdi+4], esi
0021afb7movsxd rsi, esi
0021afbamov [rdi], 0
0021afc0lea rdi, [8*rsi]
0021afc8call caml_stat_alloc
0021afcdmov [rbx+8], rax
0021afd1pop rbx
0021afd2ret
0021afd3db 0x43
0021afd4or [rbx-61], bl
0021afb0
0021afb0caml_ext_table_init:
0021afb0push rbx
0021afb1mov rbx, rdi
0021afb4mov [rdi+4], esi
0021afb7movsxd rsi, esi
0021afbamov [rdi], 0
0021afc0lea rdi, [8*rsi]
0021afc8call caml_stat_alloc
0021afcdmov [rbx+8], rax
0021afd1pop rbx
0021afd2ret
0021afd3db 0x43
0021afd4or [rbx-61], bl
0021afb0
0021afd7
0021afd7 // align 0x10
0021afd7 // align 0x10
0021afe0
0021afe0caml_ext_table_add_noexc:
0021afe0push r12
0021afe2push rbp
0021afe3mov rbp, rsi
0021afe6push rbx
0021afe7mov eax, [rdi]
0021afe9mov rbx, rdi
0021afecmov edx, [rdi+4]
0021afefcmp eax, edx
0021aff1jge 0x21b010
0021aff3mov rdx, [rdi+8]
0021aff7movsxd rcx, eax
0021affamov [rdx+8*rcx], rbp
0021affeadd [rbx], 1
0021b001pop rbx
0021b002pop rbp
0021b003pop r12
0021b005
0021b005loc_21b005:
0021b005ret
0021b006db 0x5d
0021b007pop r12
0021b009ret
0021b00a
0021b00a 66 0f 1f 44 00 00 f..D..
0021b010
0021b010loc_21b010:
0021b010cmp edx, 0x7fffffff
0021b016je 0x21b058
0021b018mov rsi, 0x3fffffff8
0021b022mov r12l, 0x7fffffff
0021b028cmp edx, 0x3fffffff
0021b02ejg 0x21b03b
0021b030lea r12l, [rdx+rdx]
0021b034movsxd rsi, r12l
0021b037shl rsi, 3
0021b03b
0021b03bloc_21b03b:
0021b03bmov rdi, [rbx+8]
0021b03fcall caml_stat_resize_noexc
0021b044mov rdx, rax
0021b047test rax, rax
0021b04aje 0x21b058
0021b04cmov [rbx+8], rax
0021b050mov eax, [rbx]
0021b052mov [rbx+4], r12l
0021b056jmp 0x21affb
0021b058
0021b058loc_21b058:
0021b058mov eax, -1
0021b05djmp 0x21b005
0021afe0
0021afe0caml_ext_table_add_noexc:
0021afe0push r12
0021afe2push rbp
0021afe3mov rbp, rsi
0021afe6push rbx
0021afe7mov eax, [rdi]
0021afe9mov rbx, rdi
0021afecmov edx, [rdi+4]
0021afefcmp eax, edx
0021aff1jge 0x21b010
0021aff3mov rdx, [rdi+8]
0021aff7movsxd rcx, eax
0021affamov [rdx+8*rcx], rbp
0021affeadd [rbx], 1
0021b001pop rbx
0021b002pop rbp
0021b003pop r12
0021b005
0021b005loc_21b005:
0021b005ret
0021b006db 0x5d
0021b007pop r12
0021b009ret
0021b00a
0021b00a 66 0f 1f 44 00 00 f..D..
0021b010
0021b010loc_21b010:
0021b010cmp edx, 0x7fffffff
0021b016je 0x21b058
0021b018mov rsi, 0x3fffffff8
0021b022mov r12l, 0x7fffffff
0021b028cmp edx, 0x3fffffff
0021b02ejg 0x21b03b
0021b030lea r12l, [rdx+rdx]
0021b034movsxd rsi, r12l
0021b037shl rsi, 3
0021b03b
0021b03bloc_21b03b:
0021b03bmov rdi, [rbx+8]
0021b03fcall caml_stat_resize_noexc
0021b044mov rdx, rax
0021b047test rax, rax
0021b04aje 0x21b058
0021b04cmov [rbx+8], rax
0021b050mov eax, [rbx]
0021b052mov [rbx+4], r12l
0021b056jmp 0x21affb
0021b058
0021b058loc_21b058:
0021b058mov eax, -1
0021b05djmp 0x21b005
0021afe0
0021b05f
0021b05f // align 0x10
0021b05f // align 0x10
0021b060
0021b060caml_ext_table_add:
0021b060push r12
0021b062push rbp
0021b063mov rbp, rsi
0021b066push rbx
0021b067mov eax, [rdi]
0021b069mov rbx, rdi
0021b06cmov edx, [rdi+4]
0021b06fcmp eax, edx
0021b071jge 0x21b090
0021b073mov rdx, [rdi+8]
0021b077movsxd rcx, eax
0021b07amov [rdx+8*rcx], rbp
0021b07eadd [rbx], 1
0021b081cmp eax, -1
0021b084je 0x21b0d8
0021b086pop rbx
0021b087pop rbp
0021b088pop r12
0021b08aret
0021b08bdb 0x5d
0021b08cpop r12
0021b08eret
0021b08f
0021b08f 90 .
0021b090
0021b090loc_21b090:
0021b090cmp edx, 0x7fffffff
0021b096je 0x21b0d8
0021b098mov rsi, 0x3fffffff8
0021b0a2mov r12l, 0x7fffffff
0021b0a8cmp edx, 0x3fffffff
0021b0aejg 0x21b0bb
0021b0b0lea r12l, [rdx+rdx]
0021b0b4movsxd rsi, r12l
0021b0b7shl rsi, 3
0021b0bb
0021b0bbloc_21b0bb:
0021b0bbmov rdi, [rbx+8]
0021b0bfcall caml_stat_resize_noexc
0021b0c4mov rdx, rax
0021b0c7test rax, rax
0021b0caje 0x21b0d8
0021b0ccmov [rbx+8], rax
0021b0d0mov eax, [rbx]
0021b0d2mov [rbx+4], r12l
0021b0d6jmp 0x21b07b
0021b0d8
0021b0d8loc_21b0d8:
0021b0d8call caml_raise_out_of_memory
0021b060
0021b060caml_ext_table_add:
0021b060push r12
0021b062push rbp
0021b063mov rbp, rsi
0021b066push rbx
0021b067mov eax, [rdi]
0021b069mov rbx, rdi
0021b06cmov edx, [rdi+4]
0021b06fcmp eax, edx
0021b071jge 0x21b090
0021b073mov rdx, [rdi+8]
0021b077movsxd rcx, eax
0021b07amov [rdx+8*rcx], rbp
0021b07eadd [rbx], 1
0021b081cmp eax, -1
0021b084je 0x21b0d8
0021b086pop rbx
0021b087pop rbp
0021b088pop r12
0021b08aret
0021b08bdb 0x5d
0021b08cpop r12
0021b08eret
0021b08f
0021b08f 90 .
0021b090
0021b090loc_21b090:
0021b090cmp edx, 0x7fffffff
0021b096je 0x21b0d8
0021b098mov rsi, 0x3fffffff8
0021b0a2mov r12l, 0x7fffffff
0021b0a8cmp edx, 0x3fffffff
0021b0aejg 0x21b0bb
0021b0b0lea r12l, [rdx+rdx]
0021b0b4movsxd rsi, r12l
0021b0b7shl rsi, 3
0021b0bb
0021b0bbloc_21b0bb:
0021b0bbmov rdi, [rbx+8]
0021b0bfcall caml_stat_resize_noexc
0021b0c4mov rdx, rax
0021b0c7test rax, rax
0021b0caje 0x21b0d8
0021b0ccmov [rbx+8], rax
0021b0d0mov eax, [rbx]
0021b0d2mov [rbx+4], r12l
0021b0d6jmp 0x21b07b
0021b0d8
0021b0d8loc_21b0d8:
0021b0d8call caml_raise_out_of_memory
0021b060
0021b0dd
0021b0dd // align 0x10
0021b0dd // align 0x10
0021b0e0
0021b0e0caml_ext_table_remove:
0021b0e0mov eax, [rdi]
0021b0e2test eax, eax
0021b0e4jle 0x21b168
0021b0e6push r13
0021b0e8push r12
0021b0eamov r12, rsi
0021b0edpush rbp
0021b0eemov rbp, rdi
0021b0f1push rbx
0021b0f2xor ebx, ebx
0021b0f4sub rsp, 8
0021b0f8jmp 0x21b10b
0021b0fadb 0xec
0021b0fbor bl, ch
0021b0fddb 0x0d
0021b0fe
0021b0fe 66 90 f.
0021b100
0021b100loc_21b100:
0021b100mov eax, [rbp]
0021b103add rbx, 1
0021b107cmp eax, ebx
0021b109jle 0x21b159
0021b10b
0021b10bloc_21b10b:
0021b10bmov rax, [rbp+8]
0021b10flea r13, [8*rbx]
0021b117cmp [rax+8*rbx], r12
0021b11bjne 0x21b100
0021b11dmov rdi, r12
0021b120call caml_stat_free
0021b125mov edx, ebx
0021b127mov rdi, [rbp+8]
0021b12blea eax, [rbx+1]
0021b12enot edx
0021b130add edx, [rbp]
0021b133cdqe
0021b135add rbx, 1
0021b139movsxd rdx, edx
0021b13clea rsi, [rdi+8*rax]
0021b140add rdi, r13
0021b143shl rdx, 3
0021b147call fn_f4520
0021b14cmov eax, [rbp]
0021b14fsub eax, 1
0021b152mov [rbp], eax
0021b155cmp eax, ebx
0021b157jg 0x21b10b
0021b159
0021b159loc_21b159:
0021b159add rsp, 8
0021b15dpop rbx
0021b15epop rbp
0021b15fpop r12
0021b161pop r13
0021b163ret
0021b164
0021b164 0f 1f 40 00 ..@.
0021b168
0021b168loc_21b168:
0021b168ret
0021b0e0
0021b0e0caml_ext_table_remove:
0021b0e0mov eax, [rdi]
0021b0e2test eax, eax
0021b0e4jle 0x21b168
0021b0e6push r13
0021b0e8push r12
0021b0eamov r12, rsi
0021b0edpush rbp
0021b0eemov rbp, rdi
0021b0f1push rbx
0021b0f2xor ebx, ebx
0021b0f4sub rsp, 8
0021b0f8jmp 0x21b10b
0021b0fadb 0xec
0021b0fbor bl, ch
0021b0fddb 0x0d
0021b0fe
0021b0fe 66 90 f.
0021b100
0021b100loc_21b100:
0021b100mov eax, [rbp]
0021b103add rbx, 1
0021b107cmp eax, ebx
0021b109jle 0x21b159
0021b10b
0021b10bloc_21b10b:
0021b10bmov rax, [rbp+8]
0021b10flea r13, [8*rbx]
0021b117cmp [rax+8*rbx], r12
0021b11bjne 0x21b100
0021b11dmov rdi, r12
0021b120call caml_stat_free
0021b125mov edx, ebx
0021b127mov rdi, [rbp+8]
0021b12blea eax, [rbx+1]
0021b12enot edx
0021b130add edx, [rbp]
0021b133cdqe
0021b135add rbx, 1
0021b139movsxd rdx, edx
0021b13clea rsi, [rdi+8*rax]
0021b140add rdi, r13
0021b143shl rdx, 3
0021b147call fn_f4520
0021b14cmov eax, [rbp]
0021b14fsub eax, 1
0021b152mov [rbp], eax
0021b155cmp eax, ebx
0021b157jg 0x21b10b
0021b159
0021b159loc_21b159:
0021b159add rsp, 8
0021b15dpop rbx
0021b15epop rbp
0021b15fpop r12
0021b161pop r13
0021b163ret
0021b164
0021b164 0f 1f 40 00 ..@.
0021b168
0021b168loc_21b168:
0021b168ret
0021b0e0
0021b169
0021b169 // align 0x10
0021b169 // align 0x10
0021b170
0021b170caml_ext_table_clear:
0021b170push rbp
0021b171mov rbp, rdi
0021b174push rbx
0021b175sub rsp, 8
0021b179test esi, esi
0021b17bje 0x21b1a6
0021b17dmov eax, [rdi]
0021b17ftest eax, eax
0021b181jle 0x21b1a6
0021b183xor ebx, ebx
0021b185nop [rax]
0021b18cmov rax, [rbp+8]
0021b190
0021b190loc_21b190:
0021b190mov rdi, [rax+8*rbx]
0021b194add rbx, 1
0021b198call caml_stat_free
0021b19dcmp [rbp], ebx
0021b1a0jg 0x21b190
0021b1a2mov [rbp], 0
0021b1a9add rsp, 8
0021b1adpop rbx
0021b1aepop rbp
0021b1afret
0021b1b0db 0x08
0021b1b1pop rbx
0021b1b2pop rbp
0021b1b3ret
0021b170
0021b170caml_ext_table_clear:
0021b170push rbp
0021b171mov rbp, rdi
0021b174push rbx
0021b175sub rsp, 8
0021b179test esi, esi
0021b17bje 0x21b1a6
0021b17dmov eax, [rdi]
0021b17ftest eax, eax
0021b181jle 0x21b1a6
0021b183xor ebx, ebx
0021b185nop [rax]
0021b18cmov rax, [rbp+8]
0021b190
0021b190loc_21b190:
0021b190mov rdi, [rax+8*rbx]
0021b194add rbx, 1
0021b198call caml_stat_free
0021b19dcmp [rbp], ebx
0021b1a0jg 0x21b190
0021b1a2mov [rbp], 0
0021b1a9add rsp, 8
0021b1adpop rbx
0021b1aepop rbp
0021b1afret
0021b1b0db 0x08
0021b1b1pop rbx
0021b1b2pop rbp
0021b1b3ret
0021b170
0021b1b4
0021b1b4 // align 0x10
0021b1b4 // align 0x10
0021b1c0
0021b1c0caml_ext_table_free:
0021b1c0push rbp
0021b1c1mov rbp, rdi
0021b1c4push rbx
0021b1c5sub rsp, 8
0021b1c9test esi, esi
0021b1cbje 0x21b1f6
0021b1cdmov eax, [rdi]
0021b1cftest eax, eax
0021b1d1jle 0x21b1f6
0021b1d3xor ebx, ebx
0021b1d5nop [rax]
0021b1dcmov rax, [rbp+8]
0021b1e0
0021b1e0loc_21b1e0:
0021b1e0mov rdi, [rax+8*rbx]
0021b1e4add rbx, 1
0021b1e8call caml_stat_free
0021b1edcmp [rbp], ebx
0021b1f0jg 0x21b1e0
0021b1f2mov [rbp], 0
0021b1f9mov rdi, [rbp+8]
0021b1fdadd rsp, 8
0021b201pop rbx
0021b202pop rbp
0021b203jmp 0x216690
0021b208db 0x84
0021b209mov ah, 255
0021b20bdb 0xff
0021b1c0
0021b1c0caml_ext_table_free:
0021b1c0push rbp
0021b1c1mov rbp, rdi
0021b1c4push rbx
0021b1c5sub rsp, 8
0021b1c9test esi, esi
0021b1cbje 0x21b1f6
0021b1cdmov eax, [rdi]
0021b1cftest eax, eax
0021b1d1jle 0x21b1f6
0021b1d3xor ebx, ebx
0021b1d5nop [rax]
0021b1dcmov rax, [rbp+8]
0021b1e0
0021b1e0loc_21b1e0:
0021b1e0mov rdi, [rax+8*rbx]
0021b1e4add rbx, 1
0021b1e8call caml_stat_free
0021b1edcmp [rbp], ebx
0021b1f0jg 0x21b1e0
0021b1f2mov [rbp], 0
0021b1f9mov rdi, [rbp+8]
0021b1fdadd rsp, 8
0021b201pop rbx
0021b202pop rbp
0021b203jmp 0x216690
0021b208db 0x84
0021b209mov ah, 255
0021b20bdb 0xff
0021b1c0
0021b20c
0021b20c // align 0x10
0021b20c // align 0x10
0021b210
0021b210caml_runtime_warnings_active:
0021b210cmp [rip+0x15da04], 0
0021b218je 0x21b268
0021b21amov eax, [rip+0x15d184]
0021b220test eax, eax
0021b222jne 0x21b230
0021b224mov eax, 1
0021b229ret
0021b22adb 0x00
0021b22badd [rax], al
0021b22dret
0021b22e
0021b22e 66 90 f.
0021b230
0021b230loc_21b230:
0021b230sub rsp, 8
0021b234mov rcx, [rip+0x15d2a5]
0021b23bmov edx, 68
0021b240mov esi, 1
0021b245lea rdi, [rip+0x15e64]
0021b24ccall fn_f4700
0021b251mov eax, 1
0021b256mov [rip+0x15d148], 0
0021b260add rsp, 8
0021b264ret
0021b265
0021b265 0f 1f 00 ...
0021b268
0021b268loc_21b268:
0021b268xor eax, eax
0021b26aret
0021b210
0021b210caml_runtime_warnings_active:
0021b210cmp [rip+0x15da04], 0
0021b218je 0x21b268
0021b21amov eax, [rip+0x15d184]
0021b220test eax, eax
0021b222jne 0x21b230
0021b224mov eax, 1
0021b229ret
0021b22adb 0x00
0021b22badd [rax], al
0021b22dret
0021b22e
0021b22e 66 90 f.
0021b230
0021b230loc_21b230:
0021b230sub rsp, 8
0021b234mov rcx, [rip+0x15d2a5]
0021b23bmov edx, 68
0021b240mov esi, 1
0021b245lea rdi, [rip+0x15e64]
0021b24ccall fn_f4700
0021b251mov eax, 1
0021b256mov [rip+0x15d148], 0
0021b260add rsp, 8
0021b264ret
0021b265
0021b265 0f 1f 00 ...
0021b268
0021b268loc_21b268:
0021b268xor eax, eax
0021b26aret
0021b210
0021b26b
0021b26b // align 0x10
0021b26b // align 0x10
0021b270
0021b270caml_bad_caml_state:
0021b270push rax
0021b271pop rax
0021b272lea rdi, [rip+0x1409a]
0021b279xor eax, eax
0021b27bsub rsp, 8
0021b27fcall caml_fatal_error
0021b284db 0xa8
0021b285sti
0021b286db 0xff
0021b287db 0xff
0021b270
0021b270caml_bad_caml_state:
0021b270push rax
0021b271pop rax
0021b272lea rdi, [rip+0x1409a]
0021b279xor eax, eax
0021b27bsub rsp, 8
0021b27fcall caml_fatal_error
0021b284db 0xa8
0021b285sti
0021b286db 0xff
0021b287db 0xff
0021b270
0021b288
0021b288 // align 0x10
0021b288 // align 0x10
0021b290
0021b290fn_21b290:
0021b290push r13
0021b292push r12
0021b294mov r12l, edx
0021b297push rbp
0021b298mov ebp, esi
0021b29apush rbx
0021b29bmov rbx, rdi
0021b29exor edi, edi
0021b2a0lea r13, [rbx-8]
0021b2a4sub rsp, 8
0021b2a8
0021b2a8loc_21b2a8:
0021b2a8mov rax, [r13]
0021b2acmovzx edx, al
0021b2afcmp ebp, edx
0021b2b1jne 0x21b2e8
0021b2b3mov rdx, [rip+0x15d326]
0021b2bacmp rdx, 1
0021b2beje 0x21b2f0
0021b2c0mov rdx, rax
0021b2c3movsxd rcx, r12l
0021b2c6xor dl, dl
0021b2c8or rdx, rcx
0021b2cblock cmpxchg [r13], rdx
0021b2d1jne 0x21b2f6
0021b2d3
0021b2d3loc_21b2d3:
0021b2d3mov eax, 1
0021b2d8
0021b2d8loc_21b2d8:
0021b2d8add rsp, 8
0021b2dcpop rbx
0021b2ddpop rbp
0021b2depop r12
0021b2e0pop r13
0021b2e2ret
0021b2e3
0021b2e3 0f 1f 44 00 00 ..D..
0021b2e8
0021b2e8loc_21b2e8:
0021b2e8xor eax, eax
0021b2eajmp 0x21b2d8
0021b2ec
0021b2ec 0f 1f 40 00 ..@.
0021b2f0
0021b2f0loc_21b2f0:
0021b2f0mov [rbx-8], r12b
0021b2f4jmp 0x21b2d3
0021b2f6
0021b2f6loc_21b2f6:
0021b2f6nop
0021b2f8cmp edi, 999
0021b2feja 0x21b305
0021b300add edi, 1
0021b303jmp 0x21b2a8
0021b305
0021b305loc_21b305:
0021b305lea rsi, [rip+0x5a634]
0021b30ccall caml_plat_spin_back_off
0021b311mov edi, eax
0021b313jmp 0x21b2a8
0021b290
0021b290fn_21b290:
0021b290push r13
0021b292push r12
0021b294mov r12l, edx
0021b297push rbp
0021b298mov ebp, esi
0021b29apush rbx
0021b29bmov rbx, rdi
0021b29exor edi, edi
0021b2a0lea r13, [rbx-8]
0021b2a4sub rsp, 8
0021b2a8
0021b2a8loc_21b2a8:
0021b2a8mov rax, [r13]
0021b2acmovzx edx, al
0021b2afcmp ebp, edx
0021b2b1jne 0x21b2e8
0021b2b3mov rdx, [rip+0x15d326]
0021b2bacmp rdx, 1
0021b2beje 0x21b2f0
0021b2c0mov rdx, rax
0021b2c3movsxd rcx, r12l
0021b2c6xor dl, dl
0021b2c8or rdx, rcx
0021b2cblock cmpxchg [r13], rdx
0021b2d1jne 0x21b2f6
0021b2d3
0021b2d3loc_21b2d3:
0021b2d3mov eax, 1
0021b2d8
0021b2d8loc_21b2d8:
0021b2d8add rsp, 8
0021b2dcpop rbx
0021b2ddpop rbp
0021b2depop r12
0021b2e0pop r13
0021b2e2ret
0021b2e3
0021b2e3 0f 1f 44 00 00 ..D..
0021b2e8
0021b2e8loc_21b2e8:
0021b2e8xor eax, eax
0021b2eajmp 0x21b2d8
0021b2ec
0021b2ec 0f 1f 40 00 ..@.
0021b2f0
0021b2f0loc_21b2f0:
0021b2f0mov [rbx-8], r12b
0021b2f4jmp 0x21b2d3
0021b2f6
0021b2f6loc_21b2f6:
0021b2f6nop
0021b2f8cmp edi, 999
0021b2feja 0x21b305
0021b300add edi, 1
0021b303jmp 0x21b2a8
0021b305
0021b305loc_21b305:
0021b305lea rsi, [rip+0x5a634]
0021b30ccall caml_plat_spin_back_off
0021b311mov edi, eax
0021b313jmp 0x21b2a8
0021b290
0021b315
0021b315 // align 0x10
0021b315 // align 0x10
0021b320
0021b320caml_obj_tag:
0021b320mov eax, 2001
0021b325test dil, 1
0021b329jne 0x21b33a
0021b32bmov eax, 2005
0021b330test dil, 7
0021b334je 0x21b340
0021b336ret
0021b337db 0x07
0021b338je 0x21b340
0021b33a
0021b33aloc_21b33a:
0021b33aret
0021b33b
0021b33b 0f 1f 44 00 00 ..D..
0021b340
0021b340loc_21b340:
0021b340mov rax, [rdi-8]
0021b344movzx eax, al
0021b347lea rax, [rax+rax+1]
0021b34cret
0021b320
0021b320caml_obj_tag:
0021b320mov eax, 2001
0021b325test dil, 1
0021b329jne 0x21b33a
0021b32bmov eax, 2005
0021b330test dil, 7
0021b334je 0x21b340
0021b336ret
0021b337db 0x07
0021b338je 0x21b340
0021b33a
0021b33aloc_21b33a:
0021b33aret
0021b33b
0021b33b 0f 1f 44 00 00 ..D..
0021b340
0021b340loc_21b340:
0021b340mov rax, [rdi-8]
0021b344movzx eax, al
0021b347lea rax, [rax+rax+1]
0021b34cret
0021b320
0021b34d
0021b34d // align 0x10
0021b34d // align 0x10
0021b350
0021b350caml_obj_raw_field:
0021b350sar rsi, 1
0021b353lea rax, [rdi+8*rsi]
0021b357mov rdi, [rax]
0021b35ajmp 0x20e100
0021b35fdb 0x9d
0021b360db 0x2d
0021b361db 0xff
0021b362db 0xff
0021b350
0021b350caml_obj_raw_field:
0021b350sar rsi, 1
0021b353lea rax, [rdi+8*rsi]
0021b357mov rdi, [rax]
0021b35ajmp 0x20e100
0021b35fdb 0x9d
0021b360db 0x2d
0021b361db 0xff
0021b362db 0xff
0021b350
0021b363
0021b363 // align 0x10
0021b363 // align 0x10
0021b370
0021b370caml_obj_set_raw_field:
0021b370mov rdx, [rdx+8]
0021b374sar rsi, 1
0021b377lea rax, [rdi+8*rsi]
0021b37bmov [rax], rdx
0021b37emov eax, 1
0021b383ret
0021b384db 0x00
0021b385add [rax], al
0021b387ret
0021b370
0021b370caml_obj_set_raw_field:
0021b370mov rdx, [rdx+8]
0021b374sar rsi, 1
0021b377lea rax, [rdi+8*rsi]
0021b37bmov [rax], rdx
0021b37emov eax, 1
0021b383ret
0021b384db 0x00
0021b385add [rax], al
0021b387ret
0021b370
0021b388
0021b388 // align 0x10
0021b388 // align 0x10
0021b390
0021b390caml_obj_block:
0021b390push rbx
0021b391sar rdi, 1
0021b394mov rbx, rsi
0021b397sar rbx, 1
0021b39acmp edi, 252
0021b3a0je 0x21b3e8
0021b3a2cmp edi, 255
0021b3a8je 0x21b408
0021b3aacmp edi, 247
0021b3b0je 0x21b3c8
0021b3b2mov esi, edi
0021b3b4mov rdi, rbx
0021b3b7pop rbx
0021b3b8jmp 0x1f7ac0
0021b3bddb 0xff
0021b3bedb 0xc6
0021b3bfstd
0021b3c0db 0xff
0021b3c1
0021b3c1 0f 1f 80 00 00 00 00 .......
0021b3c8
0021b3c8loc_21b3c8:
0021b3c8cmp rbx, 1
0021b3ccjbe 0x21b408
0021b3cemov rdi, rbx
0021b3d1mov esi, 247
0021b3d6call caml_alloc
0021b3dbmov [rax+8], 5
0021b3e3pop rbx
0021b3e4ret
0021b3e5
0021b3e5 0f 1f 00 ...
0021b3e8
0021b3e8loc_21b3e8:
0021b3e8test rbx, rbx
0021b3ebje 0x21b408
0021b3edmov rdi, rbx
0021b3f0mov esi, 252
0021b3f5call caml_alloc
0021b3falea rdx, [rax+8*rbx-8]
0021b3ffmov [rdx], 0
0021b406pop rbx
0021b407ret
0021b408
0021b408loc_21b408:
0021b408lea rdi, [rip+0x13f1c]
0021b40fcall caml_invalid_argument
0021b390
0021b390caml_obj_block:
0021b390push rbx
0021b391sar rdi, 1
0021b394mov rbx, rsi
0021b397sar rbx, 1
0021b39acmp edi, 252
0021b3a0je 0x21b3e8
0021b3a2cmp edi, 255
0021b3a8je 0x21b408
0021b3aacmp edi, 247
0021b3b0je 0x21b3c8
0021b3b2mov esi, edi
0021b3b4mov rdi, rbx
0021b3b7pop rbx
0021b3b8jmp 0x1f7ac0
0021b3bddb 0xff
0021b3bedb 0xc6
0021b3bfstd
0021b3c0db 0xff
0021b3c1
0021b3c1 0f 1f 80 00 00 00 00 .......
0021b3c8
0021b3c8loc_21b3c8:
0021b3c8cmp rbx, 1
0021b3ccjbe 0x21b408
0021b3cemov rdi, rbx
0021b3d1mov esi, 247
0021b3d6call caml_alloc
0021b3dbmov [rax+8], 5
0021b3e3pop rbx
0021b3e4ret
0021b3e5
0021b3e5 0f 1f 00 ...
0021b3e8
0021b3e8loc_21b3e8:
0021b3e8test rbx, rbx
0021b3ebje 0x21b408
0021b3edmov rdi, rbx
0021b3f0mov esi, 252
0021b3f5call caml_alloc
0021b3falea rdx, [rax+8*rbx-8]
0021b3ffmov [rdx], 0
0021b406pop rbx
0021b407ret
0021b408
0021b408loc_21b408:
0021b408lea rdi, [rip+0x13f1c]
0021b40fcall caml_invalid_argument
0021b390
0021b414
0021b414 // align 0x40
0021b414 // align 0x40
0021b440
0021b440caml_obj_with_tag:
0021b440push r13
0021b442push r12
0021b444push rbp
0021b445push rbx
0021b446sub rsp, 184
0021b44dmovdqa x0, [rip+60535]
0021b455mov [rsp], rsi
0021b459movq x1, rsp
0021b45elea rdx, [rsp+32]
0021b463mov [rsp+8], rdi
0021b468mov rax, [0x28]
0021b471mov [rsp+168], rax
0021b479mov rax, [rip+0x5ab64]
0021b480mov rbp, [rax]
0021b484lea rax, [rsp+8]
0021b489movups [rsp+40], x0
0021b48emovq x0, rax
0021b493mov eax, 1
0021b498mov [rsp+96], rdx
0021b49dlea rdx, [rsp+96]
0021b4a2punpcklqdq x0, x1
0021b4a6mov r12, [rbp+160]
0021b4admov [rsp+24], 1
0021b4b6movups [rsp+56], x0
0021b4bbmovq x0, rax
0021b4c0lea rax, [rsp+24]
0021b4c5punpcklqdq x0, x0
0021b4c9mov [rsp+120], rax
0021b4cemov rax, rdi
0021b4d1mov [rsp+32], r12
0021b4d6sar rax, 1
0021b4d9mov [rbp+160], rdx
0021b4e0movups [rsp+104], x0
0021b4e5mov rbx, [rsi-8]
0021b4e9mov esi, eax
0021b4ebshr rbx, 10
0021b4efje 0x21b620
0021b4f5mov rdi, rbx
0021b4f8cmp eax, 250
0021b4fdja 0x21b5f0
0021b503cmp rbx, 256
0021b50ajbe 0x21b590
0021b510call caml_alloc_shr
0021b515lea r13, [8*rbx]
0021b51dxor ebx, ebx
0021b51fmov [rsp+24], rax
0021b524mov rdi, rax
0021b527jmp 0x21b535
0021b529db 0x89
0021b52adb 0xc7
0021b52bjmp 0x21b535
0021b52d
0021b52d 0f 1f 00 ...
0021b530
0021b530loc_21b530:
0021b530mov rdi, [rsp+24]
0021b535
0021b535loc_21b535:
0021b535mov rax, [rsp]
0021b539add rdi, rbx
0021b53cadd rax, rbx
0021b53fadd rbx, 8
0021b543mov rsi, [rax]
0021b546call caml_initialize
0021b54bcmp rbx, r13
0021b54ejne 0x21b530
0021b550call caml_process_pending_actions
0021b555mov rax, [rsp+24]
0021b55a
0021b55aloc_21b55a:
0021b55amov [rbp+160], r12
0021b561mov rdx, [rsp+168]
0021b569sub rdx, [0x28]
0021b572jne 0x21b62c
0021b578add rsp, 184
0021b57fpop rbx
0021b580pop rbp
0021b581pop r12
0021b583pop r13
0021b585ret
0021b586
0021b586 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021b590
0021b590loc_21b590:
0021b590call caml_alloc_small
0021b595shl rbx, 3
0021b599xor esi, esi
0021b59bmov [rsp+24], rax
0021b5a0mov rcx, rax
0021b5a3nop [rax+rax]
0021b5aenop [rax+rax]
0021b5b9nop [rax]
0021b5c0
0021b5c0loc_21b5c0:
0021b5c0mov rax, [rsp]
0021b5c4add rcx, rsi
0021b5c7add rax, rsi
0021b5caadd rsi, 8
0021b5cemov rax, [rax]
0021b5d1mov [rcx], rax
0021b5d4mov rcx, [rsp+24]
0021b5d9mov rax, rcx
0021b5dccmp rbx, rsi
0021b5dfjne 0x21b5c0
0021b5e1jmp 0x21b55a
0021b5e6
0021b5e6 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021b5f0
0021b5f0loc_21b5f0:
0021b5f0call caml_alloc
0021b5f5mov rsi, [rsp]
0021b5f9lea rdx, [8*rbx]
0021b601mov rdi, rax
0021b604mov [rsp+24], rax
0021b609call fn_f47d0
0021b60emov rax, [rsp+24]
0021b613jmp 0x21b55a
0021b618
0021b618 0f 1f 84 00 00 00 00 00 ........
0021b620
0021b620loc_21b620:
0021b620mov edi, eax
0021b622call caml_atom
0021b627jmp 0x21b55a
0021b62c
0021b62cloc_21b62c:
0021b62ccall fn_f4590
0021b440
0021b440caml_obj_with_tag:
0021b440push r13
0021b442push r12
0021b444push rbp
0021b445push rbx
0021b446sub rsp, 184
0021b44dmovdqa x0, [rip+60535]
0021b455mov [rsp], rsi
0021b459movq x1, rsp
0021b45elea rdx, [rsp+32]
0021b463mov [rsp+8], rdi
0021b468mov rax, [0x28]
0021b471mov [rsp+168], rax
0021b479mov rax, [rip+0x5ab64]
0021b480mov rbp, [rax]
0021b484lea rax, [rsp+8]
0021b489movups [rsp+40], x0
0021b48emovq x0, rax
0021b493mov eax, 1
0021b498mov [rsp+96], rdx
0021b49dlea rdx, [rsp+96]
0021b4a2punpcklqdq x0, x1
0021b4a6mov r12, [rbp+160]
0021b4admov [rsp+24], 1
0021b4b6movups [rsp+56], x0
0021b4bbmovq x0, rax
0021b4c0lea rax, [rsp+24]
0021b4c5punpcklqdq x0, x0
0021b4c9mov [rsp+120], rax
0021b4cemov rax, rdi
0021b4d1mov [rsp+32], r12
0021b4d6sar rax, 1
0021b4d9mov [rbp+160], rdx
0021b4e0movups [rsp+104], x0
0021b4e5mov rbx, [rsi-8]
0021b4e9mov esi, eax
0021b4ebshr rbx, 10
0021b4efje 0x21b620
0021b4f5mov rdi, rbx
0021b4f8cmp eax, 250
0021b4fdja 0x21b5f0
0021b503cmp rbx, 256
0021b50ajbe 0x21b590
0021b510call caml_alloc_shr
0021b515lea r13, [8*rbx]
0021b51dxor ebx, ebx
0021b51fmov [rsp+24], rax
0021b524mov rdi, rax
0021b527jmp 0x21b535
0021b529db 0x89
0021b52adb 0xc7
0021b52bjmp 0x21b535
0021b52d
0021b52d 0f 1f 00 ...
0021b530
0021b530loc_21b530:
0021b530mov rdi, [rsp+24]
0021b535
0021b535loc_21b535:
0021b535mov rax, [rsp]
0021b539add rdi, rbx
0021b53cadd rax, rbx
0021b53fadd rbx, 8
0021b543mov rsi, [rax]
0021b546call caml_initialize
0021b54bcmp rbx, r13
0021b54ejne 0x21b530
0021b550call caml_process_pending_actions
0021b555mov rax, [rsp+24]
0021b55a
0021b55aloc_21b55a:
0021b55amov [rbp+160], r12
0021b561mov rdx, [rsp+168]
0021b569sub rdx, [0x28]
0021b572jne 0x21b62c
0021b578add rsp, 184
0021b57fpop rbx
0021b580pop rbp
0021b581pop r12
0021b583pop r13
0021b585ret
0021b586
0021b586 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021b590
0021b590loc_21b590:
0021b590call caml_alloc_small
0021b595shl rbx, 3
0021b599xor esi, esi
0021b59bmov [rsp+24], rax
0021b5a0mov rcx, rax
0021b5a3nop [rax+rax]
0021b5aenop [rax+rax]
0021b5b9nop [rax]
0021b5c0
0021b5c0loc_21b5c0:
0021b5c0mov rax, [rsp]
0021b5c4add rcx, rsi
0021b5c7add rax, rsi
0021b5caadd rsi, 8
0021b5cemov rax, [rax]
0021b5d1mov [rcx], rax
0021b5d4mov rcx, [rsp+24]
0021b5d9mov rax, rcx
0021b5dccmp rbx, rsi
0021b5dfjne 0x21b5c0
0021b5e1jmp 0x21b55a
0021b5e6
0021b5e6 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021b5f0
0021b5f0loc_21b5f0:
0021b5f0call caml_alloc
0021b5f5mov rsi, [rsp]
0021b5f9lea rdx, [8*rbx]
0021b601mov rdi, rax
0021b604mov [rsp+24], rax
0021b609call fn_f47d0
0021b60emov rax, [rsp+24]
0021b613jmp 0x21b55a
0021b618
0021b618 0f 1f 84 00 00 00 00 00 ........
0021b620
0021b620loc_21b620:
0021b620mov edi, eax
0021b622call caml_atom
0021b627jmp 0x21b55a
0021b62c
0021b62cloc_21b62c:
0021b62ccall fn_f4590
0021b440
0021b631
0021b631 // align 0x10
0021b631 // align 0x10
0021b640
0021b640caml_obj_dup:
0021b640movzx eax, [rdi-8]
0021b644mov rsi, rdi
0021b647lea rdi, [rax+rax+1]
0021b64cjmp 0x21b440
0021b651db 0xeb
0021b652std
0021b653db 0xff
0021b654db 0xff
0021b640
0021b640caml_obj_dup:
0021b640movzx eax, [rdi-8]
0021b644mov rsi, rdi
0021b647lea rdi, [rax+rax+1]
0021b64cjmp 0x21b440
0021b651db 0xeb
0021b652std
0021b653db 0xff
0021b654db 0xff
0021b640
0021b655
0021b655 // align 0x10
0021b655 // align 0x10
0021b660
0021b660caml_obj_add_offset:
0021b660movsxd rax, [rsi+8]
0021b664add rax, rdi
0021b667ret
0021b668db 0x48
0021b669add eax, edi
0021b66bret
0021b660
0021b660caml_obj_add_offset:
0021b660movsxd rax, [rsi+8]
0021b664add rax, rdi
0021b667ret
0021b668db 0x48
0021b669add eax, edi
0021b66bret
0021b660
0021b66c
0021b66c // align 0x10
0021b66c // align 0x10
0021b670
0021b670caml_obj_compare_and_swap:
0021b670push rbx
0021b671sar rsi, 1
0021b674movsxd rsi, esi
0021b677call caml_atomic_cas_field
0021b67cmov edi, 1
0021b681movsxd rbx, eax
0021b684call caml_check_urgent_gc
0021b689lea rax, [rbx+rbx+1]
0021b68epop rbx
0021b68fret
0021b690db 0x1b
0021b691add [rbx-61], ebx
0021b670
0021b670caml_obj_compare_and_swap:
0021b670push rbx
0021b671sar rsi, 1
0021b674movsxd rsi, esi
0021b677call caml_atomic_cas_field
0021b67cmov edi, 1
0021b681movsxd rbx, eax
0021b684call caml_check_urgent_gc
0021b689lea rax, [rbx+rbx+1]
0021b68epop rbx
0021b68fret
0021b690db 0x1b
0021b691add [rbx-61], ebx
0021b670
0021b694
0021b694 // align 0x10
0021b694 // align 0x10
0021b6a0
0021b6a0caml_obj_is_shared:
0021b6a0mov eax, 3
0021b6a5test dil, 1
0021b6a9jne 0x21b6c9
0021b6abcmp rdi, [rip+0x15cf12]
0021b6b2jae 0x21b6c9
0021b6b4xor eax, eax
0021b6b6cmp [rip+0x15cf0f], rdi
0021b6bdsetae al
0021b6c0lea rax, [rax+rax+1]
0021b6c5ret
0021b6c6db 0x44
0021b6c7add [rcx], al
0021b6c9
0021b6c9loc_21b6c9:
0021b6c9ret
0021b6a0
0021b6a0caml_obj_is_shared:
0021b6a0mov eax, 3
0021b6a5test dil, 1
0021b6a9jne 0x21b6c9
0021b6abcmp rdi, [rip+0x15cf12]
0021b6b2jae 0x21b6c9
0021b6b4xor eax, eax
0021b6b6cmp [rip+0x15cf0f], rdi
0021b6bdsetae al
0021b6c0lea rax, [rax+rax+1]
0021b6c5ret
0021b6c6db 0x44
0021b6c7add [rcx], al
0021b6c9
0021b6c9loc_21b6c9:
0021b6c9ret
0021b6a0
0021b6ca
0021b6ca // align 0x10
0021b6ca // align 0x10
0021b6d0
0021b6d0caml_lazy_make_forward:
0021b6d0push rbp
0021b6d1mov esi, 250
0021b6d6push rbx
0021b6d7sub rsp, 184
0021b6demov [rsp+8], rdi
0021b6e3mov edi, 1
0021b6e8mov rax, [0x28]
0021b6f1mov [rsp+168], rax
0021b6f9mov rax, [rip+0x5a8e4]
0021b700mov rbx, [rax]
0021b704mov eax, 1
0021b709mov [rsp+24], 1
0021b712movq x0, rax
0021b717lea rax, [rsp+8]
0021b71cmov [rsp+56], rax
0021b721lea rax, [rsp+32]
0021b726mov rbp, [rbx+160]
0021b72dpunpcklqdq x0, x0
0021b731mov [rsp+96], rax
0021b736lea rax, [rsp+96]
0021b73bmov [rbx+160], rax
0021b742lea rax, [rsp+24]
0021b747mov [rsp+32], rbp
0021b74cmov [rsp+120], rax
0021b751movups [rsp+40], x0
0021b756movups [rsp+104], x0
0021b75bcall caml_alloc_small
0021b760mov rdx, [rsp+8]
0021b765mov [rsp+24], rax
0021b76amov [rax], rdx
0021b76dmov rax, [rsp+24]
0021b772mov [rbx+160], rbp
0021b779mov rdx, [rsp+168]
0021b781sub rdx, [0x28]
0021b78ajne 0x21b79a
0021b78cadd rsp, 184
0021b793pop rbx
0021b794pop rbp
0021b795ret
0021b796call fn_f4590
0021b79bdb 0xf1
0021b79cdb 0x8d
0021b79din eax, dx
0021b79edb 0xff
0021b6d0
0021b6d0caml_lazy_make_forward:
0021b6d0push rbp
0021b6d1mov esi, 250
0021b6d6push rbx
0021b6d7sub rsp, 184
0021b6demov [rsp+8], rdi
0021b6e3mov edi, 1
0021b6e8mov rax, [0x28]
0021b6f1mov [rsp+168], rax
0021b6f9mov rax, [rip+0x5a8e4]
0021b700mov rbx, [rax]
0021b704mov eax, 1
0021b709mov [rsp+24], 1
0021b712movq x0, rax
0021b717lea rax, [rsp+8]
0021b71cmov [rsp+56], rax
0021b721lea rax, [rsp+32]
0021b726mov rbp, [rbx+160]
0021b72dpunpcklqdq x0, x0
0021b731mov [rsp+96], rax
0021b736lea rax, [rsp+96]
0021b73bmov [rbx+160], rax
0021b742lea rax, [rsp+24]
0021b747mov [rsp+32], rbp
0021b74cmov [rsp+120], rax
0021b751movups [rsp+40], x0
0021b756movups [rsp+104], x0
0021b75bcall caml_alloc_small
0021b760mov rdx, [rsp+8]
0021b765mov [rsp+24], rax
0021b76amov [rax], rdx
0021b76dmov rax, [rsp+24]
0021b772mov [rbx+160], rbp
0021b779mov rdx, [rsp+168]
0021b781sub rdx, [0x28]
0021b78ajne 0x21b79a
0021b78cadd rsp, 184
0021b793pop rbx
0021b794pop rbp
0021b795ret
0021b796call fn_f4590
0021b79bdb 0xf1
0021b79cdb 0x8d
0021b79din eax, dx
0021b79edb 0xff
0021b6d0
0021b79f
0021b79f // align 0x10
0021b79f // align 0x10
0021b7a0
0021b7a0caml_lazy_reset_to_lazy:
0021b7a0sub rsp, 8
0021b7a4mov edx, 246
0021b7a9mov esi, 244
0021b7aecall fn_21b290
0021b7b3mov eax, 1
0021b7b8add rsp, 8
0021b7bcret
0021b7bddb 0x83
0021b7bedb 0xc4
0021b7bfor bl, al
0021b7a0
0021b7a0caml_lazy_reset_to_lazy:
0021b7a0sub rsp, 8
0021b7a4mov edx, 246
0021b7a9mov esi, 244
0021b7aecall fn_21b290
0021b7b3mov eax, 1
0021b7b8add rsp, 8
0021b7bcret
0021b7bddb 0x83
0021b7bedb 0xc4
0021b7bfor bl, al
0021b7a0
0021b7c1
0021b7c1 // align 0x10
0021b7c1 // align 0x10
0021b7d0
0021b7d0caml_lazy_update_to_forward:
0021b7d0sub rsp, 8
0021b7d4mov edx, 250
0021b7d9mov esi, 244
0021b7decall fn_21b290
0021b7e3mov eax, 1
0021b7e8add rsp, 8
0021b7ecret
0021b7eddb 0x83
0021b7eedb 0xc4
0021b7efor bl, al
0021b7d0
0021b7d0caml_lazy_update_to_forward:
0021b7d0sub rsp, 8
0021b7d4mov edx, 250
0021b7d9mov esi, 244
0021b7decall fn_21b290
0021b7e3mov eax, 1
0021b7e8add rsp, 8
0021b7ecret
0021b7eddb 0x83
0021b7eedb 0xc4
0021b7efor bl, al
0021b7d0
0021b7f1
0021b7f1 // align 0x10
0021b7f1 // align 0x10
0021b800
0021b800caml_lazy_read_result:
0021b800test dil, 7
0021b804je 0x21b810
0021b806mov rax, rdi
0021b809ret
0021b80adb 0x48
0021b80bmov eax, edi
0021b80dret
0021b80e
0021b80e 66 90 f.
0021b810
0021b810loc_21b810:
0021b810mov rax, [rdi-8]
0021b814cmp al, -6
0021b816jne 0x21b80a
0021b818mov rax, [rdi]
0021b81bret
0021b800
0021b800caml_lazy_read_result:
0021b800test dil, 7
0021b804je 0x21b810
0021b806mov rax, rdi
0021b809ret
0021b80adb 0x48
0021b80bmov eax, edi
0021b80dret
0021b80e
0021b80e 66 90 f.
0021b810
0021b810loc_21b810:
0021b810mov rax, [rdi-8]
0021b814cmp al, -6
0021b816jne 0x21b80a
0021b818mov rax, [rdi]
0021b81bret
0021b800
0021b81c
0021b81c // align 0x10
0021b81c // align 0x10
0021b820
0021b820caml_lazy_update_to_forcing:
0021b820test dil, 1
0021b824jne 0x21b860
0021b826mov edx, 244
0021b82bsub rsp, 8
0021b82fmov esi, 246
0021b834call fn_21b290
0021b839mov edx, eax
0021b83bmov eax, 1
0021b840test edx, edx
0021b842je 0x21b850
0021b844add rsp, 8
0021b848ret
0021b849db 0x83
0021b84adb 0xc4
0021b84bor bl, al
0021b84d
0021b84d 0f 1f 00 ...
0021b850
0021b850loc_21b850:
0021b850mov eax, 3
0021b855add rsp, 8
0021b859ret
0021b85a
0021b85a 66 0f 1f 44 00 00 f..D..
0021b860
0021b860loc_21b860:
0021b860mov eax, 3
0021b865ret
0021b820
0021b820caml_lazy_update_to_forcing:
0021b820test dil, 1
0021b824jne 0x21b860
0021b826mov edx, 244
0021b82bsub rsp, 8
0021b82fmov esi, 246
0021b834call fn_21b290
0021b839mov edx, eax
0021b83bmov eax, 1
0021b840test edx, edx
0021b842je 0x21b850
0021b844add rsp, 8
0021b848ret
0021b849db 0x83
0021b84adb 0xc4
0021b84bor bl, al
0021b84d
0021b84d 0f 1f 00 ...
0021b850
0021b850loc_21b850:
0021b850mov eax, 3
0021b855add rsp, 8
0021b859ret
0021b85a
0021b85a 66 0f 1f 44 00 00 f..D..
0021b860
0021b860loc_21b860:
0021b860mov eax, 3
0021b865ret
0021b820
0021b866
0021b866 // align 0x20
0021b866 // align 0x20
0021b880
0021b880caml_get_public_method:
0021b880mov rdi, [rdi]
0021b883mov r8, rsi
0021b886mov edx, 3
0021b88bmov rcx, [rdi]
0021b88ejmp 0x21b8b9
0021b890db 0x8b
0021b891db 0x0f
0021b892jmp 0x21b8b9
0021b894
0021b894 66 66 2e 0f 1f 84 00 00 00 00 00 90 ff..........
0021b8a0
0021b8a0loc_21b8a0:
0021b8a0lea eax, [rdx+rcx]
0021b8a3sar eax, 1
0021b8a5or eax, 1
0021b8a8movsxd rsi, eax
0021b8ablea rsi, [rdi+8*rsi]
0021b8afmov rsi, [rsi]
0021b8b2cmp rsi, r8
0021b8b5jg 0x21b8d0
0021b8b7mov edx, eax
0021b8b9
0021b8b9loc_21b8b9:
0021b8b9cmp edx, ecx
0021b8bbjl 0x21b8a0
0021b8bdmovsxd rax, edx
0021b8c0lea rax, [rdi+8*rax]
0021b8c4mov rcx, [rax]
0021b8c7xor eax, eax
0021b8c9cmp rcx, r8
0021b8ccje 0x21b8d8
0021b8ceret
0021b8cf
0021b8cf 90 .
0021b8d0
0021b8d0loc_21b8d0:
0021b8d0lea ecx, [rax-2]
0021b8d3jmp 0x21b8b9
0021b8d5
0021b8d5 0f 1f 00 ...
0021b8d8
0021b8d8loc_21b8d8:
0021b8d8sub edx, 1
0021b8dbmovsxd rdx, edx
0021b8delea rax, [rdi+8*rdx]
0021b8e2mov rax, [rax]
0021b8e5ret
0021b880
0021b880caml_get_public_method:
0021b880mov rdi, [rdi]
0021b883mov r8, rsi
0021b886mov edx, 3
0021b88bmov rcx, [rdi]
0021b88ejmp 0x21b8b9
0021b890db 0x8b
0021b891db 0x0f
0021b892jmp 0x21b8b9
0021b894
0021b894 66 66 2e 0f 1f 84 00 00 00 00 00 90 ff..........
0021b8a0
0021b8a0loc_21b8a0:
0021b8a0lea eax, [rdx+rcx]
0021b8a3sar eax, 1
0021b8a5or eax, 1
0021b8a8movsxd rsi, eax
0021b8ablea rsi, [rdi+8*rsi]
0021b8afmov rsi, [rsi]
0021b8b2cmp rsi, r8
0021b8b5jg 0x21b8d0
0021b8b7mov edx, eax
0021b8b9
0021b8b9loc_21b8b9:
0021b8b9cmp edx, ecx
0021b8bbjl 0x21b8a0
0021b8bdmovsxd rax, edx
0021b8c0lea rax, [rdi+8*rax]
0021b8c4mov rcx, [rax]
0021b8c7xor eax, eax
0021b8c9cmp rcx, r8
0021b8ccje 0x21b8d8
0021b8ceret
0021b8cf
0021b8cf 90 .
0021b8d0
0021b8d0loc_21b8d0:
0021b8d0lea ecx, [rax-2]
0021b8d3jmp 0x21b8b9
0021b8d5
0021b8d5 0f 1f 00 ...
0021b8d8
0021b8d8loc_21b8d8:
0021b8d8sub edx, 1
0021b8dbmovsxd rdx, edx
0021b8delea rax, [rdi+8*rdx]
0021b8e2mov rax, [rax]
0021b8e5ret
0021b880
0021b8e6
0021b8e6 // align 0x10
0021b8e6 // align 0x10
0021b8f0
0021b8f0caml_fresh_oo_id:
0021b8f0mov rcx, [rip+0x5a6ed]
0021b8f7mov rdx, [rcx]
0021b8fbmov rax, [rdx+224]
0021b902test eax, 1023
0021b907je 0x21b920
0021b909lea rcx, [rax+1]
0021b90d
0021b90dloc_21b90d:
0021b90dlea rax, [rax+rax+1]
0021b912mov [rdx+224], rcx
0021b919ret
0021b91adb 0x00
0021b91badd [rax], al
0021b91dret
0021b91e
0021b91e 66 90 f.
0021b920
0021b920loc_21b920:
0021b920mov eax, 1024
0021b925lock xadd [rip+0x15d33a], rax
0021b92emov [rdx+224], rax
0021b935mov rdx, [rcx]
0021b939mov rax, [rdx+224]
0021b940jmp 0x21b90d
0021b8f0
0021b8f0caml_fresh_oo_id:
0021b8f0mov rcx, [rip+0x5a6ed]
0021b8f7mov rdx, [rcx]
0021b8fbmov rax, [rdx+224]
0021b902test eax, 1023
0021b907je 0x21b920
0021b909lea rcx, [rax+1]
0021b90d
0021b90dloc_21b90d:
0021b90dlea rax, [rax+rax+1]
0021b912mov [rdx+224], rcx
0021b919ret
0021b91adb 0x00
0021b91badd [rax], al
0021b91dret
0021b91e
0021b91e 66 90 f.
0021b920
0021b920loc_21b920:
0021b920mov eax, 1024
0021b925lock xadd [rip+0x15d33a], rax
0021b92emov [rdx+224], rax
0021b935mov rdx, [rcx]
0021b939mov rax, [rdx+224]
0021b940jmp 0x21b90d
0021b8f0
0021b942
0021b942 // align 0x10
0021b942 // align 0x10
0021b950
0021b950caml_set_oo_id:
0021b950mov rsi, [rip+0x5a68d]
0021b957mov rax, rdi
0021b95amov rcx, [rsi]
0021b95emov rdx, [rcx+224]
0021b965test edx, 1023
0021b96bje 0x21b990
0021b96dlea rsi, [rdx+1]
0021b971
0021b971loc_21b971:
0021b971lea rdx, [rdx+rdx+1]
0021b976mov [rcx+224], rsi
0021b97dmov [rax+8], rdx
0021b981ret
0021b982db 0x89
0021b983push rax
0021b984or bl, al
0021b986
0021b986 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021b990
0021b990loc_21b990:
0021b990mov edx, 1024
0021b995lock xadd [rip+0x15d2ca], rdx
0021b99emov [rcx+224], rdx
0021b9a5mov rcx, [rsi]
0021b9a9mov rdx, [rcx+224]
0021b9b0jmp 0x21b971
0021b950
0021b950caml_set_oo_id:
0021b950mov rsi, [rip+0x5a68d]
0021b957mov rax, rdi
0021b95amov rcx, [rsi]
0021b95emov rdx, [rcx+224]
0021b965test edx, 1023
0021b96bje 0x21b990
0021b96dlea rsi, [rdx+1]
0021b971
0021b971loc_21b971:
0021b971lea rdx, [rdx+rdx+1]
0021b976mov [rcx+224], rsi
0021b97dmov [rax+8], rdx
0021b981ret
0021b982db 0x89
0021b983push rax
0021b984or bl, al
0021b986
0021b986 66 2e 0f 1f 84 00 00 00 00 00 f.........
0021b990
0021b990loc_21b990:
0021b990mov edx, 1024
0021b995lock xadd [rip+0x15d2ca], rdx
0021b99emov [rcx+224], rdx
0021b9a5mov rcx, [rsi]
0021b9a9mov rdx, [rcx+224]
0021b9b0jmp 0x21b971
0021b950
0021b9b2
0021b9b2 // align 0x10
0021b9b2 // align 0x10
0021b9c0
0021b9c0caml_int_as_pointer:
0021b9c0lea rax, [rdi-1]
0021b9c4ret
0021b9c5db 0x8d
0021b9c6inc r11l
0021b9c0
0021b9c0caml_int_as_pointer:
0021b9c0lea rax, [rdi-1]
0021b9c4ret
0021b9c5db 0x8d
0021b9c6inc r11l
0021b9c0
0021b9c9
0021b9c9 // align 0x10
0021b9c9 // align 0x10
0021b9d0
0021b9d0caml_plat_fatal_error:
0021b9d0push rbx
0021b9d1mov rbx, rdi
0021b9d4mov edx, 1024
0021b9d9sub rsp, 1040
0021b9e0mov rdi, [0x28]
0021b9e9mov [rsp+1032], rdi
0021b9f1mov edi, esi
0021b9f3mov rsi, rsp
0021b9f6call caml_strerror
0021b9fbmov rsi, rbx
0021b9felea rdi, [rip+0x1393e]
0021ba05mov rdx, rax
0021ba08xor eax, eax
0021ba0acall caml_fatal_error
0021ba0fdb 0x1d
0021ba10hlt
0021ba11db 0xff
0021ba12db 0xff
0021b9d0
0021b9d0caml_plat_fatal_error:
0021b9d0push rbx
0021b9d1mov rbx, rdi
0021b9d4mov edx, 1024
0021b9d9sub rsp, 1040
0021b9e0mov rdi, [0x28]
0021b9e9mov [rsp+1032], rdi
0021b9f1mov edi, esi
0021b9f3mov rsi, rsp
0021b9f6call caml_strerror
0021b9fbmov rsi, rbx
0021b9felea rdi, [rip+0x1393e]
0021ba05mov rdx, rax
0021ba08xor eax, eax
0021ba0acall caml_fatal_error
0021ba0fdb 0x1d
0021ba10hlt
0021ba11db 0xff
0021ba12db 0xff
0021b9d0
0021ba13
0021ba13 // align 0x10
0021ba13 // align 0x10
0021ba20
0021ba20caml_plat_mutex_init:
0021ba20push r12
0021ba22push rbp
0021ba23push rbx
0021ba24sub rsp, 16
0021ba28mov r12, [0x28]
0021ba31mov [rsp+8], r12
0021ba36mov r12, rdi
0021ba39lea rbp, [rsp+4]
0021ba3emov rdi, rbp
0021ba41call fn_f4410
0021ba46mov ebx, eax
0021ba48test eax, eax
0021ba4ajne 0x21ba6b
0021ba4cmov esi, 2
0021ba51mov rdi, rbp
0021ba54call fn_f45f0
0021ba59mov ebx, eax
0021ba5btest eax, eax
0021ba5dje 0x21ba80
0021ba5fmov rdi, rbp
0021ba62call fn_f40d0
0021ba67mov esi, ebx
0021ba69lea rdi, [rip+0x138ee]
0021ba70call caml_plat_fatal_error
0021ba75nop [rax]
0021ba7cmov rdi, r12
0021ba7fmov rsi, rbp
0021ba82call fn_f4300
0021ba87mov rdi, rbp
0021ba8amov ebx, eax
0021ba8ccall fn_f40d0
0021ba91test ebx, ebx
0021ba93jne 0x21ba6b
0021ba95mov rax, [rsp+8]
0021ba9asub rax, [0x28]
0021baa3jne 0x21bab2
0021baa5add rsp, 16
0021baa9pop rbx
0021baaapop rbp
0021baabpop r12
0021baadret
0021baaecall fn_f4590
0021bab3db 0xd9
0021bab4mov ch, ch
0021bab6db 0xff
0021ba20
0021ba20caml_plat_mutex_init:
0021ba20push r12
0021ba22push rbp
0021ba23push rbx
0021ba24sub rsp, 16
0021ba28mov r12, [0x28]
0021ba31mov [rsp+8], r12
0021ba36mov r12, rdi
0021ba39lea rbp, [rsp+4]
0021ba3emov rdi, rbp
0021ba41call fn_f4410
0021ba46mov ebx, eax
0021ba48test eax, eax
0021ba4ajne 0x21ba6b
0021ba4cmov esi, 2
0021ba51mov rdi, rbp
0021ba54call fn_f45f0
0021ba59mov ebx, eax
0021ba5btest eax, eax
0021ba5dje 0x21ba80
0021ba5fmov rdi, rbp
0021ba62call fn_f40d0
0021ba67mov esi, ebx
0021ba69lea rdi, [rip+0x138ee]
0021ba70call caml_plat_fatal_error
0021ba75nop [rax]
0021ba7cmov rdi, r12
0021ba7fmov rsi, rbp
0021ba82call fn_f4300
0021ba87mov rdi, rbp
0021ba8amov ebx, eax
0021ba8ccall fn_f40d0
0021ba91test ebx, ebx
0021ba93jne 0x21ba6b
0021ba95mov rax, [rsp+8]
0021ba9asub rax, [0x28]
0021baa3jne 0x21bab2
0021baa5add rsp, 16
0021baa9pop rbx
0021baaapop rbp
0021baabpop r12
0021baadret
0021baaecall fn_f4590
0021bab3db 0xd9
0021bab4mov ch, ch
0021bab6db 0xff
0021ba20
0021bab7
0021bab7 // align 0x10
0021bab7 // align 0x10
0021bac0
0021bac0caml_plat_assert_locked:
0021bac0ret
0021bac1db 0x0f
0021bac2db 0x1e
0021bac3cli
0021bac4ret
0021bac0
0021bac0caml_plat_assert_locked:
0021bac0ret
0021bac1db 0x0f
0021bac2db 0x1e
0021bac3cli
0021bac4ret
0021bac0
0021bac5
0021bac5 // align 0x10
0021bac5 // align 0x10
0021bad0
0021bad0caml_plat_assert_all_locks_unlocked:
0021bad0ret
0021bad1db 0x0f
0021bad2db 0x1e
0021bad3cli
0021bad4ret
0021bad0
0021bad0caml_plat_assert_all_locks_unlocked:
0021bad0ret
0021bad1db 0x0f
0021bad2db 0x1e
0021bad3cli
0021bad4ret
0021bad0
0021bad5
0021bad5 // align 0x10
0021bad5 // align 0x10
0021bae0
0021bae0caml_plat_lock_non_blocking_actual:
0021bae0push rbx
0021bae1mov rbx, rdi
0021bae4call caml_enter_blocking_section_no_pending
0021bae9mov rdi, rbx
0021baeccall fn_f4710
0021baf1mov ebx, eax
0021baf3call caml_leave_blocking_section
0021baf8test ebx, ebx
0021bafajne 0x21bb02
0021bafcpop rbx
0021bafdret
0021bafemov esi, ebx
0021bb00lea rdi, [rip+0x13862]
0021bb07call caml_plat_fatal_error
0021bb0cdb 0xc0
0021bb0ddb 0xfe
0021bb0edb 0xff
0021bb0fdb 0xff
0021bae0
0021bae0caml_plat_lock_non_blocking_actual:
0021bae0push rbx
0021bae1mov rbx, rdi
0021bae4call caml_enter_blocking_section_no_pending
0021bae9mov rdi, rbx
0021baeccall fn_f4710
0021baf1mov ebx, eax
0021baf3call caml_leave_blocking_section
0021baf8test ebx, ebx
0021bafajne 0x21bb02
0021bafcpop rbx
0021bafdret
0021bafemov esi, ebx
0021bb00lea rdi, [rip+0x13862]
0021bb07call caml_plat_fatal_error
0021bb0cdb 0xc0
0021bb0ddb 0xfe
0021bb0edb 0xff
0021bb0fdb 0xff
0021bae0
0021bb10
0021bb10caml_plat_mutex_free:
0021bb10sub rsp, 8
0021bb14call fn_f4750
0021bb19test eax, eax
0021bb1bjne 0x21bb26
0021bb1dadd rsp, 8
0021bb21ret
0021bb22mov esi, eax
0021bb24lea rdi, [rip+0x13850]
0021bb2bcall caml_plat_fatal_error
0021bb30db 0x9c
0021bb31db 0xfe
0021bb32db 0xff
0021bb33db 0xff
0021bb10
0021bb10caml_plat_mutex_free:
0021bb10sub rsp, 8
0021bb14call fn_f4750
0021bb19test eax, eax
0021bb1bjne 0x21bb26
0021bb1dadd rsp, 8
0021bb21ret
0021bb22mov esi, eax
0021bb24lea rdi, [rip+0x13850]
0021bb2bcall caml_plat_fatal_error
0021bb30db 0x9c
0021bb31db 0xfe
0021bb32db 0xff
0021bb33db 0xff
0021bb10
0021bb34
0021bb34 // align 0x10
0021bb34 // align 0x10
0021bb40
0021bb40caml_plat_cond_init:
0021bb40push rbp
0021bb41push rbx
0021bb42sub rsp, 24
0021bb46mov rbx, [0x28]
0021bb4fmov [rsp+8], rbx
0021bb54mov rbx, rdi
0021bb57lea rbp, [rsp+4]
0021bb5cmov rdi, rbp
0021bb5fcall fn_f4550
0021bb64mov esi, 1
0021bb69mov rdi, rbp
0021bb6ccall fn_f4080
0021bb71mov rsi, rbp
0021bb74mov rdi, rbx
0021bb77call fn_f43d0
0021bb7cmov rax, [rsp+8]
0021bb81sub rax, [0x28]
0021bb8ajne 0x21bb97
0021bb8cadd rsp, 24
0021bb90pop rbx
0021bb91pop rbp
0021bb92ret
0021bb93call fn_f4590
0021bb98db 0xf4
0021bb99mov ebp, ebp
0021bb9bdb 0xff
0021bb40
0021bb40caml_plat_cond_init:
0021bb40push rbp
0021bb41push rbx
0021bb42sub rsp, 24
0021bb46mov rbx, [0x28]
0021bb4fmov [rsp+8], rbx
0021bb54mov rbx, rdi
0021bb57lea rbp, [rsp+4]
0021bb5cmov rdi, rbp
0021bb5fcall fn_f4550
0021bb64mov esi, 1
0021bb69mov rdi, rbp
0021bb6ccall fn_f4080
0021bb71mov rsi, rbp
0021bb74mov rdi, rbx
0021bb77call fn_f43d0
0021bb7cmov rax, [rsp+8]
0021bb81sub rax, [0x28]
0021bb8ajne 0x21bb97
0021bb8cadd rsp, 24
0021bb90pop rbx
0021bb91pop rbp
0021bb92ret
0021bb93call fn_f4590
0021bb98db 0xf4
0021bb99mov ebp, ebp
0021bb9bdb 0xff
0021bb40
0021bb9c
0021bb9c // align 0x10
0021bb9c // align 0x10
0021bba0
0021bba0caml_plat_wait:
0021bba0sub rsp, 8
0021bba4call fn_f45e0
0021bba9test eax, eax
0021bbabjne 0x21bbb6
0021bbadadd rsp, 8
0021bbb1ret
0021bbb2mov esi, eax
0021bbb4lea rdi, [rip+0x1398c]
0021bbbbcall caml_plat_fatal_error
0021bbc0db 0x0c
0021bbc1db 0xfe
0021bbc2db 0xff
0021bbc3db 0xff
0021bba0
0021bba0caml_plat_wait:
0021bba0sub rsp, 8
0021bba4call fn_f45e0
0021bba9test eax, eax
0021bbabjne 0x21bbb6
0021bbadadd rsp, 8
0021bbb1ret
0021bbb2mov esi, eax
0021bbb4lea rdi, [rip+0x1398c]
0021bbbbcall caml_plat_fatal_error
0021bbc0db 0x0c
0021bbc1db 0xfe
0021bbc2db 0xff
0021bbc3db 0xff
0021bba0
0021bbc4
0021bbc4 // align 0x10
0021bbc4 // align 0x10
0021bbd0
0021bbd0caml_plat_broadcast:
0021bbd0sub rsp, 8
0021bbd4call fn_f4770
0021bbd9test eax, eax
0021bbdbjne 0x21bbe6
0021bbddadd rsp, 8
0021bbe1ret
0021bbe2mov esi, eax
0021bbe4lea rdi, [rip+0x1379b]
0021bbebcall caml_plat_fatal_error
0021bbf0db 0xdc
0021bbf1std
0021bbf2db 0xff
0021bbf3db 0xff
0021bbd0
0021bbd0caml_plat_broadcast:
0021bbd0sub rsp, 8
0021bbd4call fn_f4770
0021bbd9test eax, eax
0021bbdbjne 0x21bbe6
0021bbddadd rsp, 8
0021bbe1ret
0021bbe2mov esi, eax
0021bbe4lea rdi, [rip+0x1379b]
0021bbebcall caml_plat_fatal_error
0021bbf0db 0xdc
0021bbf1std
0021bbf2db 0xff
0021bbf3db 0xff
0021bbd0
0021bbf4
0021bbf4 // align 0x10
0021bbf4 // align 0x10
0021bc00
0021bc00caml_plat_signal:
0021bc00sub rsp, 8
0021bc04call fn_f41f0
0021bc09test eax, eax
0021bc0bjne 0x21bc16
0021bc0dadd rsp, 8
0021bc11ret
0021bc12mov esi, eax
0021bc14lea rdi, [rip+0x1377a]
0021bc1bcall caml_plat_fatal_error
0021bc20db 0xac
0021bc21std
0021bc22db 0xff
0021bc23db 0xff
0021bc00
0021bc00caml_plat_signal:
0021bc00sub rsp, 8
0021bc04call fn_f41f0
0021bc09test eax, eax
0021bc0bjne 0x21bc16
0021bc0dadd rsp, 8
0021bc11ret
0021bc12mov esi, eax
0021bc14lea rdi, [rip+0x1377a]
0021bc1bcall caml_plat_fatal_error
0021bc20db 0xac
0021bc21std
0021bc22db 0xff
0021bc23db 0xff
0021bc00
0021bc24
0021bc24 // align 0x10
0021bc24 // align 0x10
0021bc30
0021bc30caml_plat_cond_free:
0021bc30sub rsp, 8
0021bc34call fn_f4060
0021bc39test eax, eax
0021bc3bjne 0x21bc46
0021bc3dadd rsp, 8
0021bc41ret
0021bc42mov esi, eax
0021bc44lea rdi, [rip+0x13756]
0021bc4bcall caml_plat_fatal_error
0021bc50db 0x7c
0021bc51std
0021bc52db 0xff
0021bc53db 0xff
0021bc30
0021bc30caml_plat_cond_free:
0021bc30sub rsp, 8
0021bc34call fn_f4060
0021bc39test eax, eax
0021bc3bjne 0x21bc46
0021bc3dadd rsp, 8
0021bc41ret
0021bc42mov esi, eax
0021bc44lea rdi, [rip+0x13756]
0021bc4bcall caml_plat_fatal_error
0021bc50db 0x7c
0021bc51std
0021bc52db 0xff
0021bc53db 0xff
0021bc30
0021bc54
0021bc54 // align 0x10
0021bc54 // align 0x10
0021bc60
0021bc60caml_plat_futex_wait:
0021bc60push rbp
0021bc61mov rbp, rdi
0021bc64push rbx
0021bc65mov ebx, esi
0021bc67sub rsp, 8
0021bc6bjmp 0x21bc9c
0021bc6ddb 0xec
0021bc6eor bl, ch
0021bc70db 0x2b
0021bc71
0021bc71 0f 1f 80 00 00 00 00 .......
0021bc78
0021bc78loc_21bc78:
0021bc78sub rsp, 8
0021bc7cmov edx, 128
0021bc81xor r9l, r9l
0021bc84xor r8l, r8l
0021bc87push 0
0021bc89mov ecx, ebx
0021bc8bmov rsi, rbp
0021bc8emov edi, 202
0021bc93xor eax, eax
0021bc95call fn_f4440
0021bc9apop rax
0021bc9bpop rdx
0021bc9c
0021bc9cloc_21bc9c:
0021bc9cmov eax, [rbp]
0021bc9fcmp eax, ebx
0021bca1je 0x21bc78
0021bca3add rsp, 8
0021bca7pop rbx
0021bca8pop rbp
0021bca9ret
0021bc60
0021bc60caml_plat_futex_wait:
0021bc60push rbp
0021bc61mov rbp, rdi
0021bc64push rbx
0021bc65mov ebx, esi
0021bc67sub rsp, 8
0021bc6bjmp 0x21bc9c
0021bc6ddb 0xec
0021bc6eor bl, ch
0021bc70db 0x2b
0021bc71
0021bc71 0f 1f 80 00 00 00 00 .......
0021bc78
0021bc78loc_21bc78:
0021bc78sub rsp, 8
0021bc7cmov edx, 128
0021bc81xor r9l, r9l
0021bc84xor r8l, r8l
0021bc87push 0
0021bc89mov ecx, ebx
0021bc8bmov rsi, rbp
0021bc8emov edi, 202
0021bc93xor eax, eax
0021bc95call fn_f4440
0021bc9apop rax
0021bc9bpop rdx
0021bc9c
0021bc9cloc_21bc9c:
0021bc9cmov eax, [rbp]
0021bc9fcmp eax, ebx
0021bca1je 0x21bc78
0021bca3add rsp, 8
0021bca7pop rbx
0021bca8pop rbp
0021bca9ret
0021bc60
0021bcaa
0021bcaa // align 0x10
0021bcaa // align 0x10
0021bcb0
0021bcb0caml_plat_futex_wake_all:
0021bcb0sub rsp, 16
0021bcb4mov rsi, rdi
0021bcb7xor r9l, r9l
0021bcbaxor r8l, r8l
0021bcbdpush 0
0021bcbfmov ecx, 0x7fffffff
0021bcc4mov edx, 129
0021bcc9xor eax, eax
0021bccbmov edi, 202
0021bcd0call fn_f4440
0021bcd5add rsp, 24
0021bcd9ret
0021bcdadb 0x83
0021bcdbdb 0xc4
0021bcdcsbb bl, al
0021bcb0
0021bcb0caml_plat_futex_wake_all:
0021bcb0sub rsp, 16
0021bcb4mov rsi, rdi
0021bcb7xor r9l, r9l
0021bcbaxor r8l, r8l
0021bcbdpush 0
0021bcbfmov ecx, 0x7fffffff
0021bcc4mov edx, 129
0021bcc9xor eax, eax
0021bccbmov edi, 202
0021bcd0call fn_f4440
0021bcd5add rsp, 24
0021bcd9ret
0021bcdadb 0x83
0021bcdbdb 0xc4
0021bcdcsbb bl, al
0021bcb0
0021bcde
0021bcde // align 0x10
0021bcde // align 0x10
0021bce0
0021bce0caml_plat_futex_init:
0021bce0xchg [rdi], esi
0021bce2ret
0021bce3db 0xfa
0021bce4xchg [rdi], esi
0021bce6ret
0021bce0
0021bce0caml_plat_futex_init:
0021bce0xchg [rdi], esi
0021bce2ret
0021bce3db 0xfa
0021bce4xchg [rdi], esi
0021bce6ret
0021bce0
0021bce7
0021bce7 // align 0x10
0021bce7 // align 0x10
0021bcf0
0021bcf0caml_plat_futex_free:
0021bcf0ret
0021bcf1db 0x0f
0021bcf2db 0x1e
0021bcf3cli
0021bcf4ret
0021bcf0
0021bcf0caml_plat_futex_free:
0021bcf0ret
0021bcf1db 0x0f
0021bcf2db 0x1e
0021bcf3cli
0021bcf4ret
0021bcf0
0021bcf5
0021bcf5 // align 0x10
0021bcf5 // align 0x10
0021bd00
0021bd00caml_plat_latch_release:
0021bd00xor eax, eax
0021bd02xchg [rdi], eax
0021bd04cmp eax, 1
0021bd07jne 0x21bd10
0021bd09ret
0021bd0adb 0x01
0021bd0bjne 0x21bd10
0021bd0dret
0021bd0e
0021bd0e 66 90 f.
0021bd10
0021bd10loc_21bd10:
0021bd10sub rsp, 16
0021bd14mov rsi, rdi
0021bd17xor r9l, r9l
0021bd1axor r8l, r8l
0021bd1dpush 0
0021bd1fmov ecx, 0x7fffffff
0021bd24mov edx, 129
0021bd29xor eax, eax
0021bd2bmov edi, 202
0021bd30call fn_f4440
0021bd35add rsp, 24
0021bd39ret
0021bd00
0021bd00caml_plat_latch_release:
0021bd00xor eax, eax
0021bd02xchg [rdi], eax
0021bd04cmp eax, 1
0021bd07jne 0x21bd10
0021bd09ret
0021bd0adb 0x01
0021bd0bjne 0x21bd10
0021bd0dret
0021bd0e
0021bd0e 66 90 f.
0021bd10
0021bd10loc_21bd10:
0021bd10sub rsp, 16
0021bd14mov rsi, rdi
0021bd17xor r9l, r9l
0021bd1axor r8l, r8l
0021bd1dpush 0
0021bd1fmov ecx, 0x7fffffff
0021bd24mov edx, 129
0021bd29xor eax, eax
0021bd2bmov edi, 202
0021bd30call fn_f4440
0021bd35add rsp, 24
0021bd39ret
0021bd00
0021bd3a
0021bd3a // align 0x10
0021bd3a // align 0x10
0021bd40
0021bd40caml_plat_latch_wait:
0021bd40push rbx
0021bd41mov eax, 1
0021bd46mov rbx, rdi
0021bd49mov edx, 2
0021bd4elock cmpxchg [rdi], edx
0021bd52jmp 0x21bd87
0021bd54db 0xb1
0021bd55db 0x17
0021bd56jmp 0x21bd87
0021bd58
0021bd58 0f 1f 84 00 00 00 00 00 ........
0021bd60
0021bd60loc_21bd60:
0021bd60sub rsp, 8
0021bd64mov edx, 128
0021bd69xor r9l, r9l
0021bd6cxor r8l, r8l
0021bd6fpush 0
0021bd71mov ecx, 2
0021bd76mov rsi, rbx
0021bd79mov edi, 202
0021bd7exor eax, eax
0021bd80call fn_f4440
0021bd85pop rax
0021bd86pop rdx
0021bd87
0021bd87loc_21bd87:
0021bd87mov eax, [rbx]
0021bd89cmp eax, 2
0021bd8cje 0x21bd60
0021bd8epop rbx
0021bd8fret
0021bd40
0021bd40caml_plat_latch_wait:
0021bd40push rbx
0021bd41mov eax, 1
0021bd46mov rbx, rdi
0021bd49mov edx, 2
0021bd4elock cmpxchg [rdi], edx
0021bd52jmp 0x21bd87
0021bd54db 0xb1
0021bd55db 0x17
0021bd56jmp 0x21bd87
0021bd58
0021bd58 0f 1f 84 00 00 00 00 00 ........
0021bd60
0021bd60loc_21bd60:
0021bd60sub rsp, 8
0021bd64mov edx, 128
0021bd69xor r9l, r9l
0021bd6cxor r8l, r8l
0021bd6fpush 0
0021bd71mov ecx, 2
0021bd76mov rsi, rbx
0021bd79mov edi, 202
0021bd7exor eax, eax
0021bd80call fn_f4440
0021bd85pop rax
0021bd86pop rdx
0021bd87
0021bd87loc_21bd87:
0021bd87mov eax, [rbx]
0021bd89cmp eax, 2
0021bd8cje 0x21bd60
0021bd8epop rbx
0021bd8fret
0021bd40
0021bd90
0021bd90caml_plat_barrier_flip:
0021bd90mov rax, rsi
0021bd93xor rax, 0x100000
0021bd99mov [rdi+8], rax
0021bd9dxchg [rdi], eax
0021bd9fcmp eax, esi
0021bda1jne 0x21bdb0
0021bda3ret
0021bda4db 0xf0
0021bda5jne 0x21bdb0
0021bda7ret
0021bda8
0021bda8 0f 1f 84 00 00 00 00 00 ........
0021bdb0
0021bdb0loc_21bdb0:
0021bdb0sub rsp, 16
0021bdb4mov rsi, rdi
0021bdb7xor r9l, r9l
0021bdbaxor r8l, r8l
0021bdbdpush 0
0021bdbfmov ecx, 0x7fffffff
0021bdc4mov edx, 129
0021bdc9xor eax, eax
0021bdcbmov edi, 202
0021bdd0call fn_f4440
0021bdd5add rsp, 24
0021bdd9ret
0021bd90
0021bd90caml_plat_barrier_flip:
0021bd90mov rax, rsi
0021bd93xor rax, 0x100000
0021bd99mov [rdi+8], rax
0021bd9dxchg [rdi], eax
0021bd9fcmp eax, esi
0021bda1jne 0x21bdb0
0021bda3ret
0021bda4db 0xf0
0021bda5jne 0x21bdb0
0021bda7ret
0021bda8
0021bda8 0f 1f 84 00 00 00 00 00 ........
0021bdb0
0021bdb0loc_21bdb0:
0021bdb0sub rsp, 16
0021bdb4mov rsi, rdi
0021bdb7xor r9l, r9l
0021bdbaxor r8l, r8l
0021bdbdpush 0
0021bdbfmov ecx, 0x7fffffff
0021bdc4mov edx, 129
0021bdc9xor eax, eax
0021bdcbmov edi, 202
0021bdd0call fn_f4440
0021bdd5add rsp, 24
0021bdd9ret
0021bd90
0021bdda
0021bdda // align 0x10
0021bdda // align 0x10
0021bde0
0021bde0caml_plat_barrier_wait_sense:
0021bde0push rbp
0021bde1mov eax, esi
0021bde3mov rbp, rdi
0021bde6push rbx
0021bde7mov rbx, rsi
0021bdeaor ebx, 1
0021bdedsub rsp, 8
0021bdf1lock cmpxchg [rdi], ebx
0021bdf5jmp 0x21be24
0021bdf7db 0xb1
0021bdf8db 0x1f
0021bdf9jmp 0x21be24
0021bdfb
0021bdfb 0f 1f 44 00 00 ..D..
0021be00
0021be00loc_21be00:
0021be00sub rsp, 8
0021be04mov edx, 128
0021be09xor r9l, r9l
0021be0cxor r8l, r8l
0021be0fpush 0
0021be11mov ecx, ebx
0021be13mov rsi, rbp
0021be16mov edi, 202
0021be1bxor eax, eax
0021be1dcall fn_f4440
0021be22pop rax
0021be23pop rdx
0021be24
0021be24loc_21be24:
0021be24mov eax, [rbp]
0021be27cmp ebx, eax
0021be29je 0x21be00
0021be2badd rsp, 8
0021be2fpop rbx
0021be30pop rbp
0021be31ret
0021bde0
0021bde0caml_plat_barrier_wait_sense:
0021bde0push rbp
0021bde1mov eax, esi
0021bde3mov rbp, rdi
0021bde6push rbx
0021bde7mov rbx, rsi
0021bdeaor ebx, 1
0021bdedsub rsp, 8
0021bdf1lock cmpxchg [rdi], ebx
0021bdf5jmp 0x21be24
0021bdf7db 0xb1
0021bdf8db 0x1f
0021bdf9jmp 0x21be24
0021bdfb
0021bdfb 0f 1f 44 00 00 ..D..
0021be00
0021be00loc_21be00:
0021be00sub rsp, 8
0021be04mov edx, 128
0021be09xor r9l, r9l
0021be0cxor r8l, r8l
0021be0fpush 0
0021be11mov ecx, ebx
0021be13mov rsi, rbp
0021be16mov edi, 202
0021be1bxor eax, eax
0021be1dcall fn_f4440
0021be22pop rax
0021be23pop rdx
0021be24
0021be24loc_21be24:
0021be24mov eax, [rbp]
0021be27cmp ebx, eax
0021be29je 0x21be00
0021be2badd rsp, 8
0021be2fpop rbx
0021be30pop rbp
0021be31ret
0021bde0
0021be32
0021be32 // align 0x10
0021be32 // align 0x10
0021be40
0021be40caml_mem_round_up_pages:
0021be40mov rdx, [rip+0x15ce2d]
0021be47lea rax, [rdx+rdi-1]
0021be4cneg rdx
0021be4fand rax, rdx
0021be52ret
0021be53db 0x48
0021be54and eax, edx
0021be56ret
0021be40
0021be40caml_mem_round_up_pages:
0021be40mov rdx, [rip+0x15ce2d]
0021be47lea rax, [rdx+rdi-1]
0021be4cneg rdx
0021be4fand rax, rdx
0021be52ret
0021be53db 0x48
0021be54and eax, edx
0021be56ret
0021be40
0021be57
0021be57 // align 0x10
0021be57 // align 0x10
0021be60
0021be60caml_mem_map:
0021be60push rbp
0021be61mov rbp, rdi
0021be64push rbx
0021be65sub rsp, 8
0021be69call caml_plat_mem_map
0021be6emov rbx, rax
0021be71test rax, rax
0021be74je 0x21bea0
0021be76mov rcx, rax
0021be79mov rdx, rbp
0021be7cxor eax, eax
0021be7emov edi, 4096
0021be83lea rsi, [rip+0x1526a]
0021be8acall caml_gc_message
0021be8fadd rsp, 8
0021be93mov rax, rbx
0021be96pop rbx
0021be97pop rbp
0021be98ret
0021be99db 0xd8
0021be9apop rbx
0021be9bpop rbp
0021be9cret
0021be9d
0021be9d 0f 1f 00 ...
0021bea0
0021bea0loc_21bea0:
0021bea0mov rdx, rbp
0021bea3xor eax, eax
0021bea5mov edi, 4096
0021beaalea rsi, [rip+0x134fe]
0021beb1call caml_gc_message
0021beb6add rsp, 8
0021bebamov rax, rbx
0021bebdpop rbx
0021bebepop rbp
0021bebfret
0021be60
0021be60caml_mem_map:
0021be60push rbp
0021be61mov rbp, rdi
0021be64push rbx
0021be65sub rsp, 8
0021be69call caml_plat_mem_map
0021be6emov rbx, rax
0021be71test rax, rax
0021be74je 0x21bea0
0021be76mov rcx, rax
0021be79mov rdx, rbp
0021be7cxor eax, eax
0021be7emov edi, 4096
0021be83lea rsi, [rip+0x1526a]
0021be8acall caml_gc_message
0021be8fadd rsp, 8
0021be93mov rax, rbx
0021be96pop rbx
0021be97pop rbp
0021be98ret
0021be99db 0xd8
0021be9apop rbx
0021be9bpop rbp
0021be9cret
0021be9d
0021be9d 0f 1f 00 ...
0021bea0
0021bea0loc_21bea0:
0021bea0mov rdx, rbp
0021bea3xor eax, eax
0021bea5mov edi, 4096
0021beaalea rsi, [rip+0x134fe]
0021beb1call caml_gc_message
0021beb6add rsp, 8
0021bebamov rax, rbx
0021bebdpop rbx
0021bebepop rbp
0021bebfret
0021be60
0021bec0
0021bec0caml_mem_commit:
0021bec0push rbp
0021bec1mov rcx, rdi
0021bec4mov rbp, rsi
0021bec7mov rdx, rsi
0021becapush rbx
0021becblea rsi, [rip+0x15242]
0021bed2mov rbx, rdi
0021bed5xor eax, eax
0021bed7mov edi, 4096
0021bedcsub rsp, 8
0021bee0call caml_gc_message
0021bee5add rsp, 8
0021bee9mov rsi, rbp
0021beecmov rdi, rbx
0021beefpop rbx
0021bef0pop rbp
0021bef1jmp 0x223d00
0021bef6db 0x06
0021bef7jle 0x21bef9
0021bef9db 0x00
0021bec0
0021bec0caml_mem_commit:
0021bec0push rbp
0021bec1mov rcx, rdi
0021bec4mov rbp, rsi
0021bec7mov rdx, rsi
0021becapush rbx
0021becblea rsi, [rip+0x15242]
0021bed2mov rbx, rdi
0021bed5xor eax, eax
0021bed7mov edi, 4096
0021bedcsub rsp, 8
0021bee0call caml_gc_message
0021bee5add rsp, 8
0021bee9mov rsi, rbp
0021beecmov rdi, rbx
0021beefpop rbx
0021bef0pop rbp
0021bef1jmp 0x223d00
0021bef6db 0x06
0021bef7jle 0x21bef9
0021bef9db 0x00
0021bec0
0021befa
0021befa // align 0x10
0021befa // align 0x10
0021bf00
0021bf00caml_mem_decommit:
0021bf00test rsi, rsi
0021bf03jne 0x21bf10
0021bf05ret
0021bf06db 0xf6
0021bf07jne 0x21bf10
0021bf09ret
0021bf0a
0021bf0a 66 0f 1f 44 00 00 f..D..
0021bf10
0021bf10loc_21bf10:
0021bf10push rbp
0021bf11mov rcx, rdi
0021bf14mov rbp, rdi
0021bf17mov rdx, rsi
0021bf1apush rbx
0021bf1bmov edi, 4096
0021bf20mov rbx, rsi
0021bf23xor eax, eax
0021bf25lea rsi, [rip+0x15214]
0021bf2csub rsp, 8
0021bf30call caml_gc_message
0021bf35add rsp, 8
0021bf39mov rsi, rbx
0021bf3cmov rdi, rbp
0021bf3fpop rbx
0021bf40pop rbp
0021bf41jmp 0x223d40
0021bf00
0021bf00caml_mem_decommit:
0021bf00test rsi, rsi
0021bf03jne 0x21bf10
0021bf05ret
0021bf06db 0xf6
0021bf07jne 0x21bf10
0021bf09ret
0021bf0a
0021bf0a 66 0f 1f 44 00 00 f..D..
0021bf10
0021bf10loc_21bf10:
0021bf10push rbp
0021bf11mov rcx, rdi
0021bf14mov rbp, rdi
0021bf17mov rdx, rsi
0021bf1apush rbx
0021bf1bmov edi, 4096
0021bf20mov rbx, rsi
0021bf23xor eax, eax
0021bf25lea rsi, [rip+0x15214]
0021bf2csub rsp, 8
0021bf30call caml_gc_message
0021bf35add rsp, 8
0021bf39mov rsi, rbx
0021bf3cmov rdi, rbp
0021bf3fpop rbx
0021bf40pop rbp
0021bf41jmp 0x223d40
0021bf00
0021bf46
0021bf46 // align 0x10
0021bf46 // align 0x10
0021bf50
0021bf50caml_mem_unmap:
0021bf50push rbp
0021bf51mov rcx, rdi
0021bf54mov rbp, rsi
0021bf57mov rdx, rsi
0021bf5apush rbx
0021bf5blea rsi, [rip+0x15202]
0021bf62mov rbx, rdi
0021bf65xor eax, eax
0021bf67mov edi, 4096
0021bf6csub rsp, 8
0021bf70call caml_gc_message
0021bf75add rsp, 8
0021bf79mov rsi, rbp
0021bf7cmov rdi, rbx
0021bf7fpop rbx
0021bf80pop rbp
0021bf81jmp 0x223d60
0021bf86db 0xd6
0021bf87jge 0x21bf89
0021bf89db 0x00
0021bf50
0021bf50caml_mem_unmap:
0021bf50push rbp
0021bf51mov rcx, rdi
0021bf54mov rbp, rsi
0021bf57mov rdx, rsi
0021bf5apush rbx
0021bf5blea rsi, [rip+0x15202]
0021bf62mov rbx, rdi
0021bf65xor eax, eax
0021bf67mov edi, 4096
0021bf6csub rsp, 8
0021bf70call caml_gc_message
0021bf75add rsp, 8
0021bf79mov rsi, rbp
0021bf7cmov rdi, rbx
0021bf7fpop rbx
0021bf80pop rbp
0021bf81jmp 0x223d60
0021bf86db 0xd6
0021bf87jge 0x21bf89
0021bf89db 0x00
0021bf50
0021bf8a
0021bf8a // align 0x10
0021bf8a // align 0x10
0021bf90
0021bf90caml_plat_spin_back_off:
0021bf90push rbp
0021bf91mov eax, 10000
0021bf96push rbx
0021bf97mov ebx, 0x3b9aca00
0021bf9csub rsp, 8
0021bfa0cmp edi, ebx
0021bfa2cmovbe ebx, edi
0021bfa5cmp ebx, eax
0021bfa7cmovb ebx, eax
0021bfaamov ebp, ebx
0021bfacshr ebp, 2
0021bfafadd ebp, ebx
0021bfb1cmp ebp, 0xf423f
0021bfb7jbe 0x21bfc5
0021bfb9cmp edi, 0xf423f
0021bfbfjbe 0x21bfe0
0021bfc1mov edi, ebx
0021bfc3imul rdi, rdi, 0x10624dd3
0021bfcashr rdi, 38
0021bfcecall fn_f4460
0021bfd3add rsp, 8
0021bfd7mov eax, ebp
0021bfd9pop rbx
0021bfdapop rbp
0021bfdbret
0021bfdcmov ecx, [rsi+8]
0021bfdfmov rdx, [rsi]
0021bfe2lea rdi, [rip+0x151a3]
0021bfe9xor eax, eax
0021bfebmov rsi, [rsi+16]
0021bfefcall caml_gc_log
0021bff4jmp 0x21bfc5
0021bff6db 0xff
0021bff7db 0xff
0021bff8jmp 0x21bfc5
0021bf90
0021bf90caml_plat_spin_back_off:
0021bf90push rbp
0021bf91mov eax, 10000
0021bf96push rbx
0021bf97mov ebx, 0x3b9aca00
0021bf9csub rsp, 8
0021bfa0cmp edi, ebx
0021bfa2cmovbe ebx, edi
0021bfa5cmp ebx, eax
0021bfa7cmovb ebx, eax
0021bfaamov ebp, ebx
0021bfacshr ebp, 2
0021bfafadd ebp, ebx
0021bfb1cmp ebp, 0xf423f
0021bfb7jbe 0x21bfc5
0021bfb9cmp edi, 0xf423f
0021bfbfjbe 0x21bfe0
0021bfc1mov edi, ebx
0021bfc3imul rdi, rdi, 0x10624dd3
0021bfcashr rdi, 38
0021bfcecall fn_f4460
0021bfd3add rsp, 8
0021bfd7mov eax, ebp
0021bfd9pop rbx
0021bfdapop rbp
0021bfdbret
0021bfdcmov ecx, [rsi+8]
0021bfdfmov rdx, [rsi]
0021bfe2lea rdi, [rip+0x151a3]
0021bfe9xor eax, eax
0021bfebmov rsi, [rsi+16]
0021bfefcall caml_gc_log
0021bff4jmp 0x21bfc5
0021bff6db 0xff
0021bff7db 0xff
0021bff8jmp 0x21bfc5
0021bf90
0021bffa
0021bffa // align 0x10
0021bffa // align 0x10
0021c000
0021c000caml_lxm_next_unboxed:
0021c000mov r8, 0xdaba0b6eb09322e3
0021c00amov rcx, [rdi+8]
0021c00emov rdx, [rcx+16]
0021c012mov rdi, [rcx+8]
0021c016lea rsi, [rdi+rdx]
0021c01amov rax, rsi
0021c01dshr rax, 32
0021c021xor rax, rsi
0021c024imul rax, r8
0021c028mov rsi, rax
0021c02bshr rsi, 32
0021c02fxor rsi, rax
0021c032imul rsi, r8
0021c036mov r8, 0xd1342543de82ef95
0021c040imul rdi, r8
0021c044add rdi, [rcx]
0021c047mov [rcx+8], rdi
0021c04bmov rdi, [rcx+24]
0021c04fmov rax, rsi
0021c052xor rdi, rdx
0021c055rol rdx, 24
0021c059mov r8, rdi
0021c05cxor rdx, rdi
0021c05fshr rax, 32
0021c063shl r8, 16
0021c067ror rdi, 27
0021c06bxor rax, rsi
0021c06exor rdx, r8
0021c071mov [rcx+24], rdi
0021c075mov [rcx+16], rdx
0021c079ret
0021c07adb 0x89
0021c07bpush rcx
0021c07cadc bl, al
0021c000
0021c000caml_lxm_next_unboxed:
0021c000mov r8, 0xdaba0b6eb09322e3
0021c00amov rcx, [rdi+8]
0021c00emov rdx, [rcx+16]
0021c012mov rdi, [rcx+8]
0021c016lea rsi, [rdi+rdx]
0021c01amov rax, rsi
0021c01dshr rax, 32
0021c021xor rax, rsi
0021c024imul rax, r8
0021c028mov rsi, rax
0021c02bshr rsi, 32
0021c02fxor rsi, rax
0021c032imul rsi, r8
0021c036mov r8, 0xd1342543de82ef95
0021c040imul rdi, r8
0021c044add rdi, [rcx]
0021c047mov [rcx+8], rdi
0021c04bmov rdi, [rcx+24]
0021c04fmov rax, rsi
0021c052xor rdi, rdx
0021c055rol rdx, 24
0021c059mov r8, rdi
0021c05cxor rdx, rdi
0021c05fshr rax, 32
0021c063shl r8, 16
0021c067ror rdi, 27
0021c06bxor rax, rsi
0021c06exor rdx, r8
0021c071mov [rcx+24], rdi
0021c075mov [rcx+16], rdx
0021c079ret
0021c07adb 0x89
0021c07bpush rcx
0021c07cadc bl, al
0021c000
0021c07e
0021c07e // align 0x10
0021c07e // align 0x10
0021c080
0021c080caml_lxm_next:
0021c080sub rsp, 8
0021c084call caml_lxm_next_unboxed
0021c089add rsp, 8
0021c08dmov rdi, rax
0021c090jmp 0x20d9d0
0021c095db 0x37
0021c096sbb edi, edi
0021c098db 0xff
0021c080
0021c080caml_lxm_next:
0021c080sub rsp, 8
0021c084call caml_lxm_next_unboxed
0021c089add rsp, 8
0021c08dmov rdi, rax
0021c090jmp 0x20d9d0
0021c095db 0x37
0021c096sbb edi, edi
0021c098db 0xff
0021c080
0021c099
0021c099 // align 0x10
0021c099 // align 0x10
0021c0a0
0021c0a0caml_do_local_roots:
0021c0a0push r15
0021c0a2push r14
0021c0a4push r13
0021c0a6mov r13, rcx
0021c0a9push r12
0021c0abmov r12, rdx
0021c0aepush rbp
0021c0afmov rbp, rdi
0021c0b2push rbx
0021c0b3sub rsp, 40
0021c0b7mov [rsp+12], esi
0021c0bbmov [rsp+16], r8
0021c0c0mov [rsp+24], r9
0021c0c5test rcx, rcx
0021c0c8je 0x21c138
0021c0canop
0021c0ccxor ebx, ebx
0021c0cecmp [r13+8], 0
0021c0d3jle 0x21c12f
0021c0d5nop [rax]
0021c0dcxor r15l, r15l
0021c0dfmovsxd r8, ebx
0021c0e2xor eax, eax
0021c0e4cmp [r13+16], 0
0021c0e9lea r14, [r8+2]
0021c0edjle 0x21c123
0021c0efnop [rax+rax]
0021c0fanop
0021c0fcmov rdx, [r13+8*r14+8]
0021c101lea rdx, [rdx+8*rax]
0021c105mov rsi, [rdx]
0021c108test rsi, rsi
0021c10bje 0x21c116
0021c10dmov rdi, r12
0021c110call rbp
0021c112add r15l, 1
0021c116
0021c116loc_21c116:
0021c116movsxd rax, r15l
0021c119cmp rax, [r13+16]
0021c11djl 0x21c100
0021c11fadd ebx, 1
0021c122movsxd r8, ebx
0021c125cmp r8, [r13+8]
0021c129jl 0x21c0e0
0021c12bmov r13, [r13]
0021c12f
0021c12floc_21c12f:
0021c12ftest r13, r13
0021c132jne 0x21c0d0
0021c134mov r8, [rsp+24]
0021c139mov rcx, [rsp+16]
0021c13emov rdx, r12
0021c141mov rdi, rbp
0021c144mov esi, [rsp+12]
0021c148add rsp, 40
0021c14cpop rbx
0021c14dpop rbp
0021c14epop r12
0021c150pop r13
0021c152pop r14
0021c154pop r15
0021c156jmp 0x206e00
0021c15bdb 0xa1
0021c15clodsb al, [rsi]
0021c15ddb 0xfe
0021c15edb 0xff
0021c0a0
0021c0a0caml_do_local_roots:
0021c0a0push r15
0021c0a2push r14
0021c0a4push r13
0021c0a6mov r13, rcx
0021c0a9push r12
0021c0abmov r12, rdx
0021c0aepush rbp
0021c0afmov rbp, rdi
0021c0b2push rbx
0021c0b3sub rsp, 40
0021c0b7mov [rsp+12], esi
0021c0bbmov [rsp+16], r8
0021c0c0mov [rsp+24], r9
0021c0c5test rcx, rcx
0021c0c8je 0x21c138
0021c0canop
0021c0ccxor ebx, ebx
0021c0cecmp [r13+8], 0
0021c0d3jle 0x21c12f
0021c0d5nop [rax]
0021c0dcxor r15l, r15l
0021c0dfmovsxd r8, ebx
0021c0e2xor eax, eax
0021c0e4cmp [r13+16], 0
0021c0e9lea r14, [r8+2]
0021c0edjle 0x21c123
0021c0efnop [rax+rax]
0021c0fanop
0021c0fcmov rdx, [r13+8*r14+8]
0021c101lea rdx, [rdx+8*rax]
0021c105mov rsi, [rdx]
0021c108test rsi, rsi
0021c10bje 0x21c116
0021c10dmov rdi, r12
0021c110call rbp
0021c112add r15l, 1
0021c116
0021c116loc_21c116:
0021c116movsxd rax, r15l
0021c119cmp rax, [r13+16]
0021c11djl 0x21c100
0021c11fadd ebx, 1
0021c122movsxd r8, ebx
0021c125cmp r8, [r13+8]
0021c129jl 0x21c0e0
0021c12bmov r13, [r13]
0021c12f
0021c12floc_21c12f:
0021c12ftest r13, r13
0021c132jne 0x21c0d0
0021c134mov r8, [rsp+24]
0021c139mov rcx, [rsp+16]
0021c13emov rdx, r12
0021c141mov rdi, rbp
0021c144mov esi, [rsp+12]
0021c148add rsp, 40
0021c14cpop rbx
0021c14dpop rbp
0021c14epop r12
0021c150pop r13
0021c152pop r14
0021c154pop r15
0021c156jmp 0x206e00
0021c15bdb 0xa1
0021c15clodsb al, [rsi]
0021c15ddb 0xfe
0021c15edb 0xff
0021c0a0
0021c15f
0021c15f // align 0x10
0021c15f // align 0x10
0021c160
0021c160caml_do_roots:
0021c160push r14
0021c162mov r14l, r8l
0021c165push r13
0021c167mov r13, rdx
0021c16apush r12
0021c16cmov r12l, esi
0021c16fpush rbp
0021c170mov rbp, rdi
0021c173push rbx
0021c174mov rbx, rcx
0021c177mov rcx, [rcx+160]
0021c17emov r9, [rbx+88]
0021c182mov r8, [rbx+40]
0021c186call caml_do_local_roots
0021c18bmov rax, [rip+0x15caea]
0021c192test rax, rax
0021c195je 0x21c1a9
0021c197mov rcx, rbx
0021c19amov rdx, r13
0021c19dmov esi, r12l
0021c1a0mov rdi, rbp
0021c1a3call rax
0021c1a5mov r8l, r14l
0021c1a8mov rcx, rbx
0021c1abmov rdx, r13
0021c1aepop rbx
0021c1afmov esi, r12l
0021c1b2mov rdi, rbp
0021c1b5pop rbp
0021c1b6pop r12
0021c1b8pop r13
0021c1bapop r14
0021c1bcjmp 0x228480
0021c1c1db 0xbb
0021c1c2ret 0
0021c160
0021c160caml_do_roots:
0021c160push r14
0021c162mov r14l, r8l
0021c165push r13
0021c167mov r13, rdx
0021c16apush r12
0021c16cmov r12l, esi
0021c16fpush rbp
0021c170mov rbp, rdi
0021c173push rbx
0021c174mov rbx, rcx
0021c177mov rcx, [rcx+160]
0021c17emov r9, [rbx+88]
0021c182mov r8, [rbx+40]
0021c186call caml_do_local_roots
0021c18bmov rax, [rip+0x15caea]
0021c192test rax, rax
0021c195je 0x21c1a9
0021c197mov rcx, rbx
0021c19amov rdx, r13
0021c19dmov esi, r12l
0021c1a0mov rdi, rbp
0021c1a3call rax
0021c1a5mov r8l, r14l
0021c1a8mov rcx, rbx
0021c1abmov rdx, r13
0021c1aepop rbx
0021c1afmov esi, r12l
0021c1b2mov rdi, rbp
0021c1b5pop rbp
0021c1b6pop r12
0021c1b8pop r13
0021c1bapop r14
0021c1bcjmp 0x228480
0021c1c1db 0xbb
0021c1c2ret 0
0021c160
0021c1c5
0021c1c5 // align 0x10
0021c1c5 // align 0x10
0021c1d0
0021c1d0fn_21c1d0:
0021c1d0push rbp
0021c1d1push rbx
0021c1d2mov rbx, rsi
0021c1d5sub rsp, 8
0021c1d9cmp edx, 1
0021c1dcje 0x21c248
0021c1demov edi, edx
0021c1e0call caml_global_barrier_and_check_final
0021c1e5mov rbp, rax
0021c1e8test rax, rax
0021c1ebje 0x21c283
0021c1f1mov ebx, [rbx]
0021c1f3movsxd rsi, [rip+0x15cb9a]
0021c1famov rdi, [rip+0x15cb9b]
0021c201call fn_f4610
0021c206test ebx, ebx
0021c208jne 0x21c2c8
0021c20emov rdi, [rip+0x15cb6f]
0021c215call caml_stat_free
0021c21amov rdi, rbp
0021c21dmov [rip+0x15cb74], 0
0021c228mov [rip+0x15cb41], 0
0021c233add rsp, 8
0021c237pop rbx
0021c238pop rbp
0021c239jmp 0x201620
0021c23edb 0xde
0021c23fpush rbx
0021c240db 0xfe
0021c241db 0xff
0021c242
0021c242 66 0f 1f 44 00 00 f..D..
0021c248
0021c248loc_21c248:
0021c248mov ebx, [rsi]
0021c24amov rdi, [rip+0x15cb4f]
0021c251movsxd rsi, [rip+0x15cb40]
0021c258call fn_f4610
0021c25dtest ebx, ebx
0021c25fjne 0x21c290
0021c261mov rdi, [rip+0x15cb20]
0021c268call caml_stat_free
0021c26dmov [rip+0x15cb28], 0
0021c278mov [rip+0x15caf5], 0
0021c283
0021c283loc_21c283:
0021c283add rsp, 8
0021c287pop rbx
0021c288pop rbp
0021c289ret
0021c28a
0021c28a 66 0f 1f 44 00 00 f..D..
0021c290
0021c290loc_21c290:
0021c290mov rbx, [rip+0x15caf1]
0021c297mov rdi, rbx
0021c29acall fn_f4290
0021c29fmov rdi, rbx
0021c2a2call caml_stat_free
0021c2a7mov [rip+0x15caee], 0
0021c2b2mov [rip+0x15cabb], 0
0021c2bdadd rsp, 8
0021c2c1pop rbx
0021c2c2pop rbp
0021c2c3ret
0021c2c4
0021c2c4 0f 1f 40 00 ..@.
0021c2c8
0021c2c8loc_21c2c8:
0021c2c8mov rbx, [rip+0x15cab9]
0021c2cfmov rdi, rbx
0021c2d2call fn_f4290
0021c2d7mov rdi, rbx
0021c2dacall caml_stat_free
0021c2dfmov rdi, rbp
0021c2e2mov [rip+0x15cab3], 0
0021c2edmov [rip+0x15ca80], 0
0021c2f8add rsp, 8
0021c2fcpop rbx
0021c2fdpop rbp
0021c2fejmp 0x201620
0021c1d0
0021c1d0fn_21c1d0:
0021c1d0push rbp
0021c1d1push rbx
0021c1d2mov rbx, rsi
0021c1d5sub rsp, 8
0021c1d9cmp edx, 1
0021c1dcje 0x21c248
0021c1demov edi, edx
0021c1e0call caml_global_barrier_and_check_final
0021c1e5mov rbp, rax
0021c1e8test rax, rax
0021c1ebje 0x21c283
0021c1f1mov ebx, [rbx]
0021c1f3movsxd rsi, [rip+0x15cb9a]
0021c1famov rdi, [rip+0x15cb9b]
0021c201call fn_f4610
0021c206test ebx, ebx
0021c208jne 0x21c2c8
0021c20emov rdi, [rip+0x15cb6f]
0021c215call caml_stat_free
0021c21amov rdi, rbp
0021c21dmov [rip+0x15cb74], 0
0021c228mov [rip+0x15cb41], 0
0021c233add rsp, 8
0021c237pop rbx
0021c238pop rbp
0021c239jmp 0x201620
0021c23edb 0xde
0021c23fpush rbx
0021c240db 0xfe
0021c241db 0xff
0021c242
0021c242 66 0f 1f 44 00 00 f..D..
0021c248
0021c248loc_21c248:
0021c248mov ebx, [rsi]
0021c24amov rdi, [rip+0x15cb4f]
0021c251movsxd rsi, [rip+0x15cb40]
0021c258call fn_f4610
0021c25dtest ebx, ebx
0021c25fjne 0x21c290
0021c261mov rdi, [rip+0x15cb20]
0021c268call caml_stat_free
0021c26dmov [rip+0x15cb28], 0
0021c278mov [rip+0x15caf5], 0
0021c283
0021c283loc_21c283:
0021c283add rsp, 8
0021c287pop rbx
0021c288pop rbp
0021c289ret
0021c28a
0021c28a 66 0f 1f 44 00 00 f..D..
0021c290
0021c290loc_21c290:
0021c290mov rbx, [rip+0x15caf1]
0021c297mov rdi, rbx
0021c29acall fn_f4290
0021c29fmov rdi, rbx
0021c2a2call caml_stat_free
0021c2a7mov [rip+0x15caee], 0
0021c2b2mov [rip+0x15cabb], 0
0021c2bdadd rsp, 8
0021c2c1pop rbx
0021c2c2pop rbp
0021c2c3ret
0021c2c4
0021c2c4 0f 1f 40 00 ..@.
0021c2c8
0021c2c8loc_21c2c8:
0021c2c8mov rbx, [rip+0x15cab9]
0021c2cfmov rdi, rbx
0021c2d2call fn_f4290
0021c2d7mov rdi, rbx
0021c2dacall caml_stat_free
0021c2dfmov rdi, rbp
0021c2e2mov [rip+0x15cab3], 0
0021c2edmov [rip+0x15ca80], 0
0021c2f8add rsp, 8
0021c2fcpop rbx
0021c2fdpop rbp
0021c2fejmp 0x201620
0021c1d0
Loading..