File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
Loading..
00226df0
00226df0caml_call_realloc_stack:
00226df0mov [r14+8], r15
00226df4mov r15, [r14+80]
00226df8mov [r15+88], r11
00226dfcmov r11, [r15]
00226dffmov [r14+80], r11
00226e03mov [r15], rax
00226e06mov [r15+8], rbx
00226e0amov [r15+16], rdi
00226e0emov [r15+24], rsi
00226e12mov [r15+32], rdx
00226e16mov [r15+40], rcx
00226e1amov [r15+48], r8
00226e1emov [r15+56], r9
00226e22mov [r15+64], r12
00226e26mov [r15+72], r13
00226e2amov [r15+80], r10
00226e2emov [r15+96], rbp
00226e32movsd_xmm [r15+104], x0
00226e38movsd_xmm [r15+112], x1
00226e3emovsd_xmm [r15+120], x2
00226e44movsd_xmm [r15+128], x3
00226e4dmovsd_xmm [r15+136], x4
00226e56movsd_xmm [r15+144], x5
00226e5fmovsd_xmm [r15+152], x6
00226e68movsd_xmm [r15+160], x7
00226e71movsd_xmm [r15+168], x8
00226e7amovsd_xmm [r15+176], x9
00226e83movsd_xmm [r15+184], x10
00226e8cmovsd_xmm [r15+192], x11
00226e95movsd_xmm [r15+200], x12
00226e9emovsd_xmm [r15+208], x13
00226ea7movsd_xmm [r15+216], x14
00226eb0movsd_xmm [r15+224], x15
00226eb9mov rdi, [rsp+8]
00226ebemov r10, [r14+40]
00226ec2mov [r10], rsp
00226ec5mov r11, [r14+64]
00226ec9mov [r11+8], rsp
00226ecdmov [r11], r10
00226ed0mov rsp, r11
00226ed3call caml_try_realloc_stack
00226ed8mov rsp, [rsp+8]
00226eddcmp rax, 0
00226ee1je 0x226fb1
00226ee7mov rax, [r15]
00226eeamov r11, [r14+80]
00226eeemov [r15], r11
00226ef1mov [r14+80], r15
00226ef5mov rbx, [r15+8]
00226ef9mov rdi, [r15+16]
00226efdmov rsi, [r15+24]
00226f01mov rdx, [r15+32]
00226f05mov rcx, [r15+40]
00226f09mov r8, [r15+48]
00226f0dmov r9, [r15+56]
00226f11mov r12, [r15+64]
00226f15mov r13, [r15+72]
00226f19mov r10, [r15+80]
00226f1dmov r11, [r15+88]
00226f21mov rbp, [r15+96]
00226f25movsd_xmm x0, [r15+104]
00226f2bmovsd_xmm x1, [r15+112]
00226f31movsd_xmm x2, [r15+120]
00226f37movsd_xmm x3, [r15+128]
00226f40movsd_xmm x4, [r15+136]
00226f49movsd_xmm x5, [r15+144]
00226f52movsd_xmm x6, [r15+152]
00226f5bmovsd_xmm x7, [r15+160]
00226f64movsd_xmm x8, [r15+168]
00226f6dmovsd_xmm x9, [r15+176]
00226f76movsd_xmm x10, [r15+184]
00226f7fmovsd_xmm x11, [r15+192]
00226f88movsd_xmm x12, [r15+200]
00226f91movsd_xmm x13, [r15+208]
00226f9amovsd_xmm x14, [r15+216]
00226fa3movsd_xmm x15, [r15+224]
00226facmov r15, [r14+8]
00226fb0ret
00226fb1
00226fb1loc_226fb1:
00226fb1mov rax, [r15]
00226fb4mov r11, [r14+80]
00226fb8mov [r15], r11
00226fbbmov [r14+80], r15
00226fbfmov rbx, [r15+8]
00226fc3mov rdi, [r15+16]
00226fc7mov rsi, [r15+24]
00226fcbmov rdx, [r15+32]
00226fcfmov rcx, [r15+40]
00226fd3mov r8, [r15+48]
00226fd7mov r9, [r15+56]
00226fdbmov r12, [r15+64]
00226fdfmov r13, [r15+72]
00226fe3mov r10, [r15+80]
00226fe7mov r11, [r15+88]
00226febmov rbp, [r15+96]
00226fefmovsd_xmm x0, [r15+104]
00226ff5movsd_xmm x1, [r15+112]
00226ffbmovsd_xmm x2, [r15+120]
00227001movsd_xmm x3, [r15+128]
0022700amovsd_xmm x4, [r15+136]
00227013movsd_xmm x5, [r15+144]
0022701cmovsd_xmm x6, [r15+152]
00227025movsd_xmm x7, [r15+160]
0022702emovsd_xmm x8, [r15+168]
00227037movsd_xmm x9, [r15+176]
00227040movsd_xmm x10, [r15+184]
00227049movsd_xmm x11, [r15+192]
00227052movsd_xmm x12, [r15+200]
0022705bmovsd_xmm x13, [r15+208]
00227064movsd_xmm x14, [r15+216]
0022706dmovsd_xmm x15, [r15+224]
00227076mov r15, [r14+8]
0022707alea rax, [rip+0x4f127]
00227081add rsp, 16
00227085jmp 0x2273c0
00226df0
00226df0caml_call_realloc_stack:
00226df0mov [r14+8], r15
00226df4mov r15, [r14+80]
00226df8mov [r15+88], r11
00226dfcmov r11, [r15]
00226dffmov [r14+80], r11
00226e03mov [r15], rax
00226e06mov [r15+8], rbx
00226e0amov [r15+16], rdi
00226e0emov [r15+24], rsi
00226e12mov [r15+32], rdx
00226e16mov [r15+40], rcx
00226e1amov [r15+48], r8
00226e1emov [r15+56], r9
00226e22mov [r15+64], r12
00226e26mov [r15+72], r13
00226e2amov [r15+80], r10
00226e2emov [r15+96], rbp
00226e32movsd_xmm [r15+104], x0
00226e38movsd_xmm [r15+112], x1
00226e3emovsd_xmm [r15+120], x2
00226e44movsd_xmm [r15+128], x3
00226e4dmovsd_xmm [r15+136], x4
00226e56movsd_xmm [r15+144], x5
00226e5fmovsd_xmm [r15+152], x6
00226e68movsd_xmm [r15+160], x7
00226e71movsd_xmm [r15+168], x8
00226e7amovsd_xmm [r15+176], x9
00226e83movsd_xmm [r15+184], x10
00226e8cmovsd_xmm [r15+192], x11
00226e95movsd_xmm [r15+200], x12
00226e9emovsd_xmm [r15+208], x13
00226ea7movsd_xmm [r15+216], x14
00226eb0movsd_xmm [r15+224], x15
00226eb9mov rdi, [rsp+8]
00226ebemov r10, [r14+40]
00226ec2mov [r10], rsp
00226ec5mov r11, [r14+64]
00226ec9mov [r11+8], rsp
00226ecdmov [r11], r10
00226ed0mov rsp, r11
00226ed3call caml_try_realloc_stack
00226ed8mov rsp, [rsp+8]
00226eddcmp rax, 0
00226ee1je 0x226fb1
00226ee7mov rax, [r15]
00226eeamov r11, [r14+80]
00226eeemov [r15], r11
00226ef1mov [r14+80], r15
00226ef5mov rbx, [r15+8]
00226ef9mov rdi, [r15+16]
00226efdmov rsi, [r15+24]
00226f01mov rdx, [r15+32]
00226f05mov rcx, [r15+40]
00226f09mov r8, [r15+48]
00226f0dmov r9, [r15+56]
00226f11mov r12, [r15+64]
00226f15mov r13, [r15+72]
00226f19mov r10, [r15+80]
00226f1dmov r11, [r15+88]
00226f21mov rbp, [r15+96]
00226f25movsd_xmm x0, [r15+104]
00226f2bmovsd_xmm x1, [r15+112]
00226f31movsd_xmm x2, [r15+120]
00226f37movsd_xmm x3, [r15+128]
00226f40movsd_xmm x4, [r15+136]
00226f49movsd_xmm x5, [r15+144]
00226f52movsd_xmm x6, [r15+152]
00226f5bmovsd_xmm x7, [r15+160]
00226f64movsd_xmm x8, [r15+168]
00226f6dmovsd_xmm x9, [r15+176]
00226f76movsd_xmm x10, [r15+184]
00226f7fmovsd_xmm x11, [r15+192]
00226f88movsd_xmm x12, [r15+200]
00226f91movsd_xmm x13, [r15+208]
00226f9amovsd_xmm x14, [r15+216]
00226fa3movsd_xmm x15, [r15+224]
00226facmov r15, [r14+8]
00226fb0ret
00226fb1
00226fb1loc_226fb1:
00226fb1mov rax, [r15]
00226fb4mov r11, [r14+80]
00226fb8mov [r15], r11
00226fbbmov [r14+80], r15
00226fbfmov rbx, [r15+8]
00226fc3mov rdi, [r15+16]
00226fc7mov rsi, [r15+24]
00226fcbmov rdx, [r15+32]
00226fcfmov rcx, [r15+40]
00226fd3mov r8, [r15+48]
00226fd7mov r9, [r15+56]
00226fdbmov r12, [r15+64]
00226fdfmov r13, [r15+72]
00226fe3mov r10, [r15+80]
00226fe7mov r11, [r15+88]
00226febmov rbp, [r15+96]
00226fefmovsd_xmm x0, [r15+104]
00226ff5movsd_xmm x1, [r15+112]
00226ffbmovsd_xmm x2, [r15+120]
00227001movsd_xmm x3, [r15+128]
0022700amovsd_xmm x4, [r15+136]
00227013movsd_xmm x5, [r15+144]
0022701cmovsd_xmm x6, [r15+152]
00227025movsd_xmm x7, [r15+160]
0022702emovsd_xmm x8, [r15+168]
00227037movsd_xmm x9, [r15+176]
00227040movsd_xmm x10, [r15+184]
00227049movsd_xmm x11, [r15+192]
00227052movsd_xmm x12, [r15+200]
0022705bmovsd_xmm x13, [r15+208]
00227064movsd_xmm x14, [r15+216]
0022706dmovsd_xmm x15, [r15+224]
00227076mov r15, [r14+8]
0022707alea rax, [rip+0x4f127]
00227081add rsp, 16
00227085jmp 0x2273c0
00226df0
0022708a
0022708a 66 90 f.
0022708a 66 90 f.
0022708c
0022708ccaml_call_gc:
0022708cmov [r14+8], r15
00227090mov r15, [r14+80]
00227094mov [r15+88], r11
00227098mov r11, [r15]
0022709bmov [r14+80], r11
0022709fmov [r15], rax
002270a2mov [r15+8], rbx
002270a6mov [r15+16], rdi
002270aamov [r15+24], rsi
002270aemov [r15+32], rdx
002270b2mov [r15+40], rcx
002270b6mov [r15+48], r8
002270bamov [r15+56], r9
002270bemov [r15+64], r12
002270c2mov [r15+72], r13
002270c6mov [r15+80], r10
002270camov [r15+96], rbp
002270cemovsd_xmm [r15+104], x0
002270d4movsd_xmm [r15+112], x1
002270damovsd_xmm [r15+120], x2
002270e0movsd_xmm [r15+128], x3
002270e9movsd_xmm [r15+136], x4
002270f2movsd_xmm [r15+144], x5
002270fbmovsd_xmm [r15+152], x6
00227104movsd_xmm [r15+160], x7
0022710dmovsd_xmm [r15+168], x8
00227116movsd_xmm [r15+176], x9
0022711fmovsd_xmm [r15+184], x10
00227128movsd_xmm [r15+192], x11
00227131movsd_xmm [r15+200], x12
0022713amovsd_xmm [r15+208], x13
00227143movsd_xmm [r15+216], x14
0022714cmovsd_xmm [r15+224], x15
00227155mov [r14+88], r15
00227159mov r10, [r14+40]
0022715dmov [r10], rsp
00227160mov r11, [r14+64]
00227164mov [r11+8], rsp
00227168mov [r11], r10
0022716bmov rsp, r11
0022716ecall caml_garbage_collection
00227173mov rsp, [rsp+8]
00227178mov r15, [r14+88]
0022717cmov rax, [r15]
0022717fmov r11, [r14+80]
00227183mov [r15], r11
00227186mov [r14+80], r15
0022718amov rbx, [r15+8]
0022718emov rdi, [r15+16]
00227192mov rsi, [r15+24]
00227196mov rdx, [r15+32]
0022719amov rcx, [r15+40]
0022719emov r8, [r15+48]
002271a2mov r9, [r15+56]
002271a6mov r12, [r15+64]
002271aamov r13, [r15+72]
002271aemov r10, [r15+80]
002271b2mov r11, [r15+88]
002271b6mov rbp, [r15+96]
002271bamovsd_xmm x0, [r15+104]
002271c0movsd_xmm x1, [r15+112]
002271c6movsd_xmm x2, [r15+120]
002271ccmovsd_xmm x3, [r15+128]
002271d5movsd_xmm x4, [r15+136]
002271demovsd_xmm x5, [r15+144]
002271e7movsd_xmm x6, [r15+152]
002271f0movsd_xmm x7, [r15+160]
002271f9movsd_xmm x8, [r15+168]
00227202movsd_xmm x9, [r15+176]
0022720bmovsd_xmm x10, [r15+184]
00227214movsd_xmm x11, [r15+192]
0022721dmovsd_xmm x12, [r15+200]
00227226movsd_xmm x13, [r15+208]
0022722fmovsd_xmm x14, [r15+216]
00227238movsd_xmm x15, [r15+224]
00227241mov r15, [r14+8]
00227245ret
0022708c
0022708ccaml_call_gc:
0022708cmov [r14+8], r15
00227090mov r15, [r14+80]
00227094mov [r15+88], r11
00227098mov r11, [r15]
0022709bmov [r14+80], r11
0022709fmov [r15], rax
002270a2mov [r15+8], rbx
002270a6mov [r15+16], rdi
002270aamov [r15+24], rsi
002270aemov [r15+32], rdx
002270b2mov [r15+40], rcx
002270b6mov [r15+48], r8
002270bamov [r15+56], r9
002270bemov [r15+64], r12
002270c2mov [r15+72], r13
002270c6mov [r15+80], r10
002270camov [r15+96], rbp
002270cemovsd_xmm [r15+104], x0
002270d4movsd_xmm [r15+112], x1
002270damovsd_xmm [r15+120], x2
002270e0movsd_xmm [r15+128], x3
002270e9movsd_xmm [r15+136], x4
002270f2movsd_xmm [r15+144], x5
002270fbmovsd_xmm [r15+152], x6
00227104movsd_xmm [r15+160], x7
0022710dmovsd_xmm [r15+168], x8
00227116movsd_xmm [r15+176], x9
0022711fmovsd_xmm [r15+184], x10
00227128movsd_xmm [r15+192], x11
00227131movsd_xmm [r15+200], x12
0022713amovsd_xmm [r15+208], x13
00227143movsd_xmm [r15+216], x14
0022714cmovsd_xmm [r15+224], x15
00227155mov [r14+88], r15
00227159mov r10, [r14+40]
0022715dmov [r10], rsp
00227160mov r11, [r14+64]
00227164mov [r11+8], rsp
00227168mov [r11], r10
0022716bmov rsp, r11
0022716ecall caml_garbage_collection
00227173mov rsp, [rsp+8]
00227178mov r15, [r14+88]
0022717cmov rax, [r15]
0022717fmov r11, [r14+80]
00227183mov [r15], r11
00227186mov [r14+80], r15
0022718amov rbx, [r15+8]
0022718emov rdi, [r15+16]
00227192mov rsi, [r15+24]
00227196mov rdx, [r15+32]
0022719amov rcx, [r15+40]
0022719emov r8, [r15+48]
002271a2mov r9, [r15+56]
002271a6mov r12, [r15+64]
002271aamov r13, [r15+72]
002271aemov r10, [r15+80]
002271b2mov r11, [r15+88]
002271b6mov rbp, [r15+96]
002271bamovsd_xmm x0, [r15+104]
002271c0movsd_xmm x1, [r15+112]
002271c6movsd_xmm x2, [r15+120]
002271ccmovsd_xmm x3, [r15+128]
002271d5movsd_xmm x4, [r15+136]
002271demovsd_xmm x5, [r15+144]
002271e7movsd_xmm x6, [r15+152]
002271f0movsd_xmm x7, [r15+160]
002271f9movsd_xmm x8, [r15+168]
00227202movsd_xmm x9, [r15+176]
0022720bmovsd_xmm x10, [r15+184]
00227214movsd_xmm x11, [r15+192]
0022721dmovsd_xmm x12, [r15+200]
00227226movsd_xmm x13, [r15+208]
0022722fmovsd_xmm x14, [r15+216]
00227238movsd_xmm x15, [r15+224]
00227241mov r15, [r14+8]
00227245ret
0022708c
00227246
00227246 66 90 f.
00227246 66 90 f.
00227248
00227248caml_alloc1:
00227248sub r15, 16
0022724ccmp r15, [r14]
0022724fjb 0x22708c
00227255ret
00227248
00227248caml_alloc1:
00227248sub r15, 16
0022724ccmp r15, [r14]
0022724fjb 0x22708c
00227255ret
00227248
00227256
00227256 66 90 f.
00227256 66 90 f.
00227258
00227258caml_alloc2:
00227258sub r15, 24
0022725ccmp r15, [r14]
0022725fjb 0x22708c
00227265ret
00227258
00227258caml_alloc2:
00227258sub r15, 24
0022725ccmp r15, [r14]
0022725fjb 0x22708c
00227265ret
00227258
00227266
00227266 66 90 f.
00227266 66 90 f.
00227268
00227268caml_alloc3:
00227268sub r15, 32
0022726ccmp r15, [r14]
0022726fjb 0x22708c
00227275ret
00227268
00227268caml_alloc3:
00227268sub r15, 32
0022726ccmp r15, [r14]
0022726fjb 0x22708c
00227275ret
00227268
00227276
00227276 66 90 f.
00227276 66 90 f.
00227282
00227282 66 90 f.
00227282 66 90 f.
00227284
00227284caml_c_call:
00227284mov r10, [r14+40]
00227288mov [r10], rsp
0022728bmov r11, [r14+64]
0022728fmov [r11+8], rsp
00227293mov [r11], r10
00227296mov rsp, r11
00227299mov [r14+8], r15
0022729dcall rax
0022729fmov r15, [r14+8]
002272a3mov rsp, [rsp+8]
002272a8cmp [r14+56], 0
002272adjne 0x2272b0
002272afret
002272b0
002272b0loc_2272b0:
002272b0mov [r14], -1
002272b7ret
00227284
00227284caml_c_call:
00227284mov r10, [r14+40]
00227288mov [r10], rsp
0022728bmov r11, [r14+64]
0022728fmov [r11+8], rsp
00227293mov [r11], r10
00227296mov rsp, r11
00227299mov [r14+8], r15
0022729dcall rax
0022729fmov r15, [r14+8]
002272a3mov rsp, [rsp+8]
002272a8cmp [r14+56], 0
002272adjne 0x2272b0
002272afret
002272b0
002272b0loc_2272b0:
002272b0mov [r14], -1
002272b7ret
00227284
002272b8
002272b8caml_c_call_stack_args:
002272b8mov r10, [r14+40]
002272bcmov [r10], rsp
002272bfmov r11, [r14+64]
002272c3mov [r11+8], rsp
002272c7mov [r11], r10
002272camov rsp, r11
002272cdmov rbx, rsp
002272d0mov [r14+8], r15
002272d4
002272d4loc_2272d4:
002272d4sub r12, 8
002272d8cmp r12, r13
002272dbjb 0x2272e3
002272ddpush [r12]
002272e1jmp 0x2272d4
002272e3
002272e3loc_2272e3:
002272e3call rax
002272e5mov rsp, [r14+64]
002272e9mov r15, [r14+8]
002272edmov rsp, [rsp+8]
002272f2cmp [r14+56], 0
002272f7jne 0x2272fa
002272f9ret
002272fa
002272faloc_2272fa:
002272famov [r14], -1
00227301ret
002272b8
002272b8caml_c_call_stack_args:
002272b8mov r10, [r14+40]
002272bcmov [r10], rsp
002272bfmov r11, [r14+64]
002272c3mov [r11+8], rsp
002272c7mov [r11], r10
002272camov rsp, r11
002272cdmov rbx, rsp
002272d0mov [r14+8], r15
002272d4
002272d4loc_2272d4:
002272d4sub r12, 8
002272d8cmp r12, r13
002272dbjb 0x2272e3
002272ddpush [r12]
002272e1jmp 0x2272d4
002272e3
002272e3loc_2272e3:
002272e3call rax
002272e5mov rsp, [r14+64]
002272e9mov r15, [r14+8]
002272edmov rsp, [rsp+8]
002272f2cmp [r14+56], 0
002272f7jne 0x2272fa
002272f9ret
002272fa
002272faloc_2272fa:
002272famov [r14], -1
00227301ret
002272b8
00227302
00227302 66 90 f.
00227302 66 90 f.
00227304
00227304caml_start_program:
00227304push rbx
00227305push rbp
00227306push r12
00227308push r13
0022730apush r14
0022730cpush r15
0022730emov r14, rdi
00227311lea r12, [rip-0x132968]
00227318mov r15, [r14+8]
0022731csub rsp, 24
00227320mov [rsp], 0
00227328mov [rsp+8], 0
00227331mov r10, [r14+64]
00227335mov [rsp+16], r10
0022733amov [r14+64], rsp
0022733emov r11, [r14+40]
00227342mov r10, [r11]
00227345sub r10, 16
00227349mov [r10], rsp
0022734cmov r11, [r14+88]
00227350mov [r10+8], r11
00227354sub r10, 16
00227358lea r11, [rip+85]
0022735fmov [r10+8], r11
00227363mov r11, [r14+48]
00227367mov [r10], r11
0022736amov [r14+48], r10
0022736emov rsp, r10
00227371call r12
00227374mov r11, [rsp]
00227378mov [r14+48], r11
0022737clea r10, [rsp+16]
00227381
00227381loc_227381:
00227381mov r11, [r10+8]
00227385mov [r14+88], r11
00227389add r10, 16
0022738dmov [r14+8], r15
00227391mov r11, [r14+40]
00227395mov [r11], r10
00227398mov rsp, [r14+64]
0022739cmov r10, [rsp+16]
002273a1mov [r14+64], r10
002273a5add rsp, 24
002273a9pop r15
002273abpop r14
002273adpop r13
002273afpop r12
002273b1pop rbp
002273b2pop rbx
002273b3ret
002273b4or rax, 2
002273b8mov r10, rsp
002273bbjmp 0x227381
00227304
00227304caml_start_program:
00227304push rbx
00227305push rbp
00227306push r12
00227308push r13
0022730apush r14
0022730cpush r15
0022730emov r14, rdi
00227311lea r12, [rip-0x132968]
00227318mov r15, [r14+8]
0022731csub rsp, 24
00227320mov [rsp], 0
00227328mov [rsp+8], 0
00227331mov r10, [r14+64]
00227335mov [rsp+16], r10
0022733amov [r14+64], rsp
0022733emov r11, [r14+40]
00227342mov r10, [r11]
00227345sub r10, 16
00227349mov [r10], rsp
0022734cmov r11, [r14+88]
00227350mov [r10+8], r11
00227354sub r10, 16
00227358lea r11, [rip+85]
0022735fmov [r10+8], r11
00227363mov r11, [r14+48]
00227367mov [r10], r11
0022736amov [r14+48], r10
0022736emov rsp, r10
00227371call r12
00227374mov r11, [rsp]
00227378mov [r14+48], r11
0022737clea r10, [rsp+16]
00227381
00227381loc_227381:
00227381mov r11, [r10+8]
00227385mov [r14+88], r11
00227389add r10, 16
0022738dmov [r14+8], r15
00227391mov r11, [r14+40]
00227395mov [r11], r10
00227398mov rsp, [r14+64]
0022739cmov r10, [rsp+16]
002273a1mov [r14+64], r10
002273a5add rsp, 24
002273a9pop r15
002273abpop r14
002273adpop r13
002273afpop r12
002273b1pop rbp
002273b2pop rbx
002273b3ret
002273b4or rax, 2
002273b8mov r10, rsp
002273bbjmp 0x227381
00227304
002273bd
002273bd // align 0x10
002273bd // align 0x10
002273c0
002273c0caml_raise_exn:
002273c0test [r14+192], 1
002273cbjne 0x2273d9
002273cdmov rsp, [r14+48]
002273d1lea r11, [r14+48]
002273d5pop [r11]
002273d8ret
002273d9
002273d9loc_2273d9:
002273d9mov [r14+184], 0
002273e4mov r13, rsp
002273e7mov r12, rax
002273eamov rsp, [r14+64]
002273eemov rdi, rax
002273f1mov rsi, [r13]
002273f5lea rdx, [r13+8]
002273f9mov rcx, [r14+48]
002273fdcall caml_stash_backtrace
00227402mov rax, r12
00227405mov rsp, [r14+48]
00227409lea r11, [r14+48]
0022740dpop [r11]
00227410ret
002273c0
002273c0caml_raise_exn:
002273c0test [r14+192], 1
002273cbjne 0x2273d9
002273cdmov rsp, [r14+48]
002273d1lea r11, [r14+48]
002273d5pop [r11]
002273d8ret
002273d9
002273d9loc_2273d9:
002273d9mov [r14+184], 0
002273e4mov r13, rsp
002273e7mov r12, rax
002273eamov rsp, [r14+64]
002273eemov rdi, rax
002273f1mov rsi, [r13]
002273f5lea rdx, [r13+8]
002273f9mov rcx, [r14+48]
002273fdcall caml_stash_backtrace
00227402mov rax, r12
00227405mov rsp, [r14+48]
00227409lea r11, [r14+48]
0022740dpop [r11]
00227410ret
002273c0
00227411
00227411 0f 1f 00 ...
00227411 0f 1f 00 ...
00227414
00227414caml_reraise_exn:
00227414test [r14+192], 1
0022741fjne 0x2273e4
00227425mov rsp, [r14+48]
00227429lea r11, [r14+48]
0022742dpop [r11]
00227430ret
00227414
00227414caml_reraise_exn:
00227414test [r14+192], 1
0022741fjne 0x2273e4
00227425mov rsp, [r14+48]
00227429lea r11, [r14+48]
0022742dpop [r11]
00227430ret
00227414
00227431
00227431 0f 1f 00 ...
00227431 0f 1f 00 ...
00227434
00227434caml_raise_exception:
00227434mov r14, rdi
00227437mov rax, rsi
0022743amov r15, [r14+8]
0022743emov r10, [r14+40]
00227442mov rsp, [r10]
00227445jmp 0x2273c0
00227434
00227434caml_raise_exception:
00227434mov r14, rdi
00227437mov rax, rsi
0022743amov r15, [r14+8]
0022743emov r10, [r14+40]
00227442mov rsp, [r10]
00227445jmp 0x2273c0
00227434
0022744a
0022744a 66 90 f.
0022744a 66 90 f.
0022744c
0022744ccaml_callback_asm:
0022744cpush rbx
0022744dpush rbp
0022744epush r12
00227450push r13
00227452push r14
00227454push r15
00227456mov r14, rdi
00227459mov rbx, rsi
0022745cmov rax, [rdx]
0022745fmov r12, [rbx]
00227462mov rdi, 0
00227469mov rsi, 0
00227470jmp 0x227318
0022744c
0022744ccaml_callback_asm:
0022744cpush rbx
0022744dpush rbp
0022744epush r12
00227450push r13
00227452push r14
00227454push r15
00227456mov r14, rdi
00227459mov rbx, rsi
0022745cmov rax, [rdx]
0022745fmov r12, [rbx]
00227462mov rdi, 0
00227469mov rsi, 0
00227470jmp 0x227318
0022744c
00227475
00227475 0f 1f 00 ...
00227475 0f 1f 00 ...
00227478
00227478caml_callback2_asm:
00227478push rbx
00227479push rbp
0022747apush r12
0022747cpush r13
0022747epush r14
00227480push r15
00227482mov r14, rdi
00227485mov rdi, rsi
00227488mov rax, [rdx]
0022748bmov rbx, [rdx+8]
0022748flea r12, [rip-0x1300b6]
00227496mov rsi, 0
0022749djmp 0x227318
00227478
00227478caml_callback2_asm:
00227478push rbx
00227479push rbp
0022747apush r12
0022747cpush r13
0022747epush r14
00227480push r15
00227482mov r14, rdi
00227485mov rdi, rsi
00227488mov rax, [rdx]
0022748bmov rbx, [rdx+8]
0022748flea r12, [rip-0x1300b6]
00227496mov rsi, 0
0022749djmp 0x227318
00227478
002274a2
002274a2 66 90 f.
002274a2 66 90 f.
002274a4
002274a4caml_callback3_asm:
002274a4push rbx
002274a5push rbp
002274a6push r12
002274a8push r13
002274aapush r14
002274acpush r15
002274aemov r14, rdi
002274b1mov rax, [rdx]
002274b4mov rbx, [rdx+8]
002274b8mov rsi, rsi
002274bbmov rdi, [rdx+16]
002274bflea r12, [rip-0x130156]
002274c6jmp 0x227318
002274a4
002274a4caml_callback3_asm:
002274a4push rbx
002274a5push rbp
002274a6push r12
002274a8push r13
002274aapush r14
002274acpush r15
002274aemov r14, rdi
002274b1mov rax, [rdx]
002274b4mov rbx, [rdx+8]
002274b8mov rsi, rsi
002274bbmov rdi, [rdx+16]
002274bflea r12, [rip-0x130156]
002274c6jmp 0x227318
002274a4
002274cb
002274cb 90 .
002274cb 90 .
002274cc
002274cccaml_perform:
002274ccmov rsi, [r14+40]
002274d0lea rdi, [rsi+1]
002274d4mov [rbx], rdi
002274d7mov [rbx+8], rdi
002274dbmov r11, [rsi+16]
002274dfmov r10, [r11+24]
002274e3cmp r10, 0
002274e7je 0x227514
002274e9mov [rsi], rsp
002274ecmov r12, [r14+48]
002274f0mov [rsi+8], r12
002274f4mov [r14+40], r10
002274f8mov rsp, [r10]
002274fbmov r12, [r10+8]
002274ffmov [r14+48], r12
00227503mov [r11+24], 0
0022750bmov rsi, [r11+16]
0022750fjmp 0xf7370
00227514
00227514loc_227514:
00227514mov r10, [rbx]
00227517sub r10, 1
0022751bmov rsi, [r14+40]
0022751fmov [rsi], rsp
00227522mov r12, [r14+48]
00227526mov [rsi+8], r12
0022752amov [r14+40], r10
0022752emov rsp, [r10]
00227531mov r12, [r10+8]
00227535mov [r14+48], r12
00227539mov rdi, rax
0022753clea rax, [rip-0x1fff3]
00227543jmp 0x227284
002274cc
002274cccaml_perform:
002274ccmov rsi, [r14+40]
002274d0lea rdi, [rsi+1]
002274d4mov [rbx], rdi
002274d7mov [rbx+8], rdi
002274dbmov r11, [rsi+16]
002274dfmov r10, [r11+24]
002274e3cmp r10, 0
002274e7je 0x227514
002274e9mov [rsi], rsp
002274ecmov r12, [r14+48]
002274f0mov [rsi+8], r12
002274f4mov [r14+40], r10
002274f8mov rsp, [r10]
002274fbmov r12, [r10+8]
002274ffmov [r14+48], r12
00227503mov [r11+24], 0
0022750bmov rsi, [r11+16]
0022750fjmp 0xf7370
00227514
00227514loc_227514:
00227514mov r10, [rbx]
00227517sub r10, 1
0022751bmov rsi, [r14+40]
0022751fmov [rsi], rsp
00227522mov r12, [r14+48]
00227526mov [rsi+8], r12
0022752amov [r14+40], r10
0022752emov rsp, [r10]
00227531mov r12, [r10+8]
00227535mov [r14+48], r12
00227539mov rdi, rax
0022753clea rax, [rip-0x1fff3]
00227543jmp 0x227284
002274cc
00227548
00227548caml_reperform:
00227548mov rsi, [r14+40]
0022754cmov r10, [rdi+15]
00227550mov [r10+24], rsi
00227554lea rdi, [rsi+1]
00227558jmp 0x2274d7
00227548
00227548caml_reperform:
00227548mov rsi, [r14+40]
0022754cmov r10, [rdi+15]
00227550mov [r10+24], rsi
00227554lea rdi, [rsi+1]
00227558jmp 0x2274d7
00227548
0022755d
0022755d // align 0x10
0022755d // align 0x10
00227560
00227560caml_resume:
00227560lea r10, [rax-1]
00227564mov rax, rdi
00227567test r10, r10
0022756aje 0x227594
0022756cmov rdi, [rsi+15]
00227570mov rsi, [r14+40]
00227574mov [rdi+24], rsi
00227578mov [rsi], rsp
0022757bmov r12, [r14+48]
0022757fmov [rsi+8], r12
00227583mov [r14+40], r10
00227587mov rsp, [r10]
0022758amov r12, [r10+8]
0022758emov [r14+48], r12
00227592jmp [rbx]
00227594
00227594loc_227594:
00227594lea rax, [rip-0x2018b]
0022759bjmp 0x227284
00227560
00227560caml_resume:
00227560lea r10, [rax-1]
00227564mov rax, rdi
00227567test r10, r10
0022756aje 0x227594
0022756cmov rdi, [rsi+15]
00227570mov rsi, [r14+40]
00227574mov [rdi+24], rsi
00227578mov [rsi], rsp
0022757bmov r12, [r14+48]
0022757fmov [rsi+8], r12
00227583mov [r14+40], r10
00227587mov rsp, [r10]
0022758amov r12, [r10+8]
0022758emov [r14+48], r12
00227592jmp [rbx]
00227594
00227594loc_227594:
00227594lea rax, [rip-0x2018b]
0022759bjmp 0x227284
00227560
002275a0
002275a0caml_runstack:
002275a0and rax, -2
002275a4mov rcx, [r14+40]
002275a8mov r10, [r14+48]
002275acmov [rcx], rsp
002275afmov [rcx+8], r10
002275b3mov r11, [rax+16]
002275b7mov [r11+24], rcx
002275bbmov [r14+40], rax
002275bfmov r11, [rax]
002275c2sub r11, 32
002275c6lea r10, [rip+74]
002275cdmov [r11+8], r10
002275d1mov r10, [rax+8]
002275d5mov [r11], r10
002275d8mov [r14+48], r11
002275dcmov rsp, r11
002275dfmov rax, rdi
002275e2call [rbx]
002275e4lea r11, [rsp+32]
002275e9mov rbx, [r11]
002275ec
002275ecloc_2275ec:
002275ecmov rdi, [r14+40]
002275f0mov r10, [r11+24]
002275f4mov r11, [r10+8]
002275f8mov [r14+40], r10
002275fcmov [r14+48], r11
00227600mov r13, [r10]
00227603mov r12, rax
00227606mov rsp, [r14+64]
0022760acall caml_free_stack
0022760fmov rsp, r13
00227612mov rax, r12
00227615jmp [rbx]
00227617lea r11, [rsp+16]
0022761cmov rbx, [r11+8]
00227620jmp 0x2275ec
002275a0
002275a0caml_runstack:
002275a0and rax, -2
002275a4mov rcx, [r14+40]
002275a8mov r10, [r14+48]
002275acmov [rcx], rsp
002275afmov [rcx+8], r10
002275b3mov r11, [rax+16]
002275b7mov [r11+24], rcx
002275bbmov [r14+40], rax
002275bfmov r11, [rax]
002275c2sub r11, 32
002275c6lea r10, [rip+74]
002275cdmov [r11+8], r10
002275d1mov r10, [rax+8]
002275d5mov [r11], r10
002275d8mov [r14+48], r11
002275dcmov rsp, r11
002275dfmov rax, rdi
002275e2call [rbx]
002275e4lea r11, [rsp+32]
002275e9mov rbx, [r11]
002275ec
002275ecloc_2275ec:
002275ecmov rdi, [r14+40]
002275f0mov r10, [r11+24]
002275f4mov r11, [r10+8]
002275f8mov [r14+40], r10
002275fcmov [r14+48], r11
00227600mov r13, [r10]
00227603mov r12, rax
00227606mov rsp, [r14+64]
0022760acall caml_free_stack
0022760fmov rsp, r13
00227612mov rax, r12
00227615jmp [rbx]
00227617lea r11, [rsp+16]
0022761cmov rbx, [r11+8]
00227620jmp 0x2275ec
002275a0
00227622
00227622 66 90 f.
00227622 66 90 f.
00227630
00227630caml_assert_stack_invariants:
00227630mov r11, [r14+40]
00227634mov r10, rsp
00227637sub r10, r11
0022763acmp r10, 296
00227641jge 0x227644
00227643int 3
00227644
00227644loc_227644:
00227644ret
00227630
00227630caml_assert_stack_invariants:
00227630mov r11, [r14+40]
00227634mov r10, rsp
00227637sub r10, r11
0022763acmp r10, 296
00227641jge 0x227644
00227643int 3
00227644
00227644loc_227644:
00227644ret
00227630
00227645
00227645 // align 0x10
00227645 // align 0x10
00227650
00227650caml_addrmap_contains:
00227650mov r8, [rdi]
00227653test r8, r8
00227656je 0x2276aa
00227658mov eax, 0xffffffffcc9e2d51
0022765dmov rdi, [rdi+8]
00227661mov ecx, 100
00227666imul rax, rsi
0022766asub rdi, 1
0022766emov rdx, rax
00227671shr rdx, 17
00227675xor rax, rdx
00227678and rax, rdi
0022767bjmp 0x22769a
0022767ddb 0x21
0022767eclc
0022767fjmp 0x22769a
00227681
00227681 0f 1f 80 00 00 00 00 .......
00227688
00227688loc_227688:
00227688cmp rdx, rsi
0022768bje 0x2276b0
0022768dadd rax, 1
00227691and rax, rdi
00227694sub rcx, 1
00227698je 0x2276aa
0022769a
0022769aloc_22769a:
0022769amov rdx, rax
0022769dshl rdx, 4
002276a1mov rdx, [r8+rdx]
002276a5test rdx, rdx
002276a8jne 0x227688
002276aa
002276aaloc_2276aa:
002276aaxor eax, eax
002276acret
002276ad
002276ad 0f 1f 00 ...
002276b0
002276b0loc_2276b0:
002276b0mov eax, 1
002276b5ret
00227650
00227650caml_addrmap_contains:
00227650mov r8, [rdi]
00227653test r8, r8
00227656je 0x2276aa
00227658mov eax, 0xffffffffcc9e2d51
0022765dmov rdi, [rdi+8]
00227661mov ecx, 100
00227666imul rax, rsi
0022766asub rdi, 1
0022766emov rdx, rax
00227671shr rdx, 17
00227675xor rax, rdx
00227678and rax, rdi
0022767bjmp 0x22769a
0022767ddb 0x21
0022767eclc
0022767fjmp 0x22769a
00227681
00227681 0f 1f 80 00 00 00 00 .......
00227688
00227688loc_227688:
00227688cmp rdx, rsi
0022768bje 0x2276b0
0022768dadd rax, 1
00227691and rax, rdi
00227694sub rcx, 1
00227698je 0x2276aa
0022769a
0022769aloc_22769a:
0022769amov rdx, rax
0022769dshl rdx, 4
002276a1mov rdx, [r8+rdx]
002276a5test rdx, rdx
002276a8jne 0x227688
002276aa
002276aaloc_2276aa:
002276aaxor eax, eax
002276acret
002276ad
002276ad 0f 1f 00 ...
002276b0
002276b0loc_2276b0:
002276b0mov eax, 1
002276b5ret
00227650
002276b6
002276b6 // align 0x10
002276b6 // align 0x10
002276c0
002276c0caml_addrmap_lookup:
002276c0mov eax, 0xffffffffcc9e2d51
002276c5mov rcx, [rdi+8]
002276c9mov rdi, [rdi]
002276ccimul rax, rsi
002276d0sub rcx, 1
002276d4mov rdx, rax
002276d7shr rdx, 17
002276dbxor rax, rdx
002276deand rax, rcx
002276e1mov rdx, rax
002276e4shl rdx, 4
002276e8add rdx, rdi
002276ebcmp rsi, [rdx]
002276eeje 0x227716
002276f0nop [rax+rax]
002276fbnop
002276fcadd rax, 1
00227700
00227700loc_227700:
00227700and rax, rcx
00227703mov rdx, rax
00227706shl rdx, 4
0022770aadd rdx, rdi
0022770dcmp [rdx], rsi
00227710jne 0x227700
00227712mov rax, [rdx+8]
00227716
00227716loc_227716:
00227716ret
00227717db 0x8b
00227718or bl, al
002276c0
002276c0caml_addrmap_lookup:
002276c0mov eax, 0xffffffffcc9e2d51
002276c5mov rcx, [rdi+8]
002276c9mov rdi, [rdi]
002276ccimul rax, rsi
002276d0sub rcx, 1
002276d4mov rdx, rax
002276d7shr rdx, 17
002276dbxor rax, rdx
002276deand rax, rcx
002276e1mov rdx, rax
002276e4shl rdx, 4
002276e8add rdx, rdi
002276ebcmp rsi, [rdx]
002276eeje 0x227716
002276f0nop [rax+rax]
002276fbnop
002276fcadd rax, 1
00227700
00227700loc_227700:
00227700and rax, rcx
00227703mov rdx, rax
00227706shl rdx, 4
0022770aadd rdx, rdi
0022770dcmp [rdx], rsi
00227710jne 0x227700
00227712mov rax, [rdx+8]
00227716
00227716loc_227716:
00227716ret
00227717db 0x8b
00227718or bl, al
002276c0
0022771b
0022771b // align 0x10
0022771b // align 0x10
00227720
00227720caml_addrmap_init:
00227720mov [rdi], 0
00227727mov [rdi+8], 0
0022772fret
00227730db 0x00
00227731add [rax], al
00227733ret
00227720
00227720caml_addrmap_init:
00227720mov [rdi], 0
00227727mov [rdi+8], 0
0022772fret
00227730db 0x00
00227731add [rax], al
00227733ret
00227720
00227734
00227734 // align 0x10
00227734 // align 0x10
00227740
00227740caml_addrmap_clear:
00227740push rbx
00227741mov rbx, rdi
00227744mov rdi, [rdi]
00227747call caml_stat_free
0022774cmov [rbx], 0
00227753mov [rbx+8], 0
0022775bpop rbx
0022775cret
0022775ddb 0x00
0022775eadd [rbx-61], bl
00227740
00227740caml_addrmap_clear:
00227740push rbx
00227741mov rbx, rdi
00227744mov rdi, [rdi]
00227747call caml_stat_free
0022774cmov [rbx], 0
00227753mov [rbx+8], 0
0022775bpop rbx
0022775cret
0022775ddb 0x00
0022775eadd [rbx-61], bl
00227740
00227761
00227761 // align 0x20
00227761 // align 0x20
00227780
00227780caml_addrmap_insert_pos:
00227780mov eax, 0xffffffffcc9e2d51
00227785push r15
00227787imul rax, rsi
0022778bpush r14
0022778dmov r14, rsi
00227790push r13
00227792push r12
00227794mov r12, rdi
00227797push rbp
00227798mov r15, rax
0022779bpush rbx
0022779cshr r15, 17
002277a0xor r15, rax
002277a3sub rsp, 24
002277a7mov rbp, [r12]
002277ab
002277abloc_2277ab:
002277abtest rbp, rbp
002277aeje 0x227828
002277b0mov rax, [r12+8]
002277b5mov ebx, 100
002277balea rdx, [rax-1]
002277beand rdx, r15
002277c1jmp 0x2277ea
002277c3db 0x21
002277c4cli
002277c5jmp 0x2277ea
002277c7
002277c7 66 0f 1f 84 00 00 00 00 00 f........
002277d0
002277d0loc_2277d0:
002277d0mov r13, [r12+8]
002277d5add rdx, 1
002277d9lea rax, [r13-1]
002277ddand rdx, rax
002277e0sub rbx, 1
002277e4je 0x2278b0
002277ea
002277ealoc_2277ea:
002277eamov rsi, rdx
002277edshl rsi, 4
002277f1lea rax, [rbp+rsi]
002277f6mov rcx, [rax]
002277f9test rcx, rcx
002277fcjne 0x22780d
002277femov [rax], r14
00227801mov rbp, [r12]
00227805lea rax, [rbp+rsi]
0022780amov rcx, [rax]
0022780d
0022780dloc_22780d:
0022780dcmp r14, rcx
00227810jne 0x2277d0
00227812add rsp, 24
00227816add rax, 8
0022781apop rbx
0022781bpop rbp
0022781cpop r12
0022781epop r13
00227820pop r14
00227822pop r15
00227824ret
00227825
00227825 0f 1f 00 ...
00227828
00227828loc_227828:
00227828mov edi, 4096
0022782dcall caml_stat_alloc
00227832mov [r12+8], 256
0022783bmov [r12], rax
0022783fmov rbp, rax
00227842xor eax, eax
00227844nop [rax+rax]
0022784fnop [rax+rax]
0022785anop [rax+rax]
00227865nop [rax+rax]
00227870nop [rax+rax]
0022787bnop [rax+rax]
00227880
00227880loc_227880:
00227880mov [rbp+rax], 0
00227889mov rdx, [r12]
0022788dmov [rdx+rax+8], 0
00227896add rax, 16
0022789amov rbp, [r12]
0022789ecmp rax, 4096
002278a4jne 0x227880
002278a6jmp 0x2277b4
002278ab
002278ab 0f 1f 44 00 00 ..D..
002278b0
002278b0loc_2278b0:
002278b0mov rdi, r13
002278b3lea rsi, [r13+r13]
002278b8shl rdi, 5
002278bcmov [rsp+8], rsi
002278c1call caml_stat_alloc
002278c6mov rsi, [rsp+8]
002278cbmov [r12], rax
002278cfmov [r12+8], rsi
002278d4test rsi, rsi
002278d7je 0x227929
002278d9mov [rax], 0
002278e0mov rax, [r12]
002278e4mov [rax+8], 0
002278ecmov eax, 1
002278f1nop [rax+rax]
002278fcnop [rax]
00227900
00227900loc_227900:
00227900mov rcx, [r12]
00227904mov rdx, rax
00227907add rax, 1
0022790bshl rdx, 4
0022790fmov [rcx+rdx], 0
00227917mov rcx, [r12]
0022791bmov [rcx+rdx+8], 0
00227924cmp rax, rsi
00227927jb 0x227900
00227929
00227929loc_227929:
00227929mov rdx, rbp
0022792ctest r13, r13
0022792fje 0x227946
00227931
00227931loc_227931:
00227931mov rsi, [rdx]
00227934test rsi, rsi
00227937jne 0x227958
00227939
00227939loc_227939:
00227939add rbx, 1
0022793dadd rdx, 16
00227941cmp rbx, r13
00227944jne 0x227931
00227946
00227946loc_227946:
00227946mov rdi, rbp
00227949call caml_stat_free
0022794ejmp 0x2277ab
00227953
00227953 0f 1f 44 00 00 ..D..
00227958
00227958loc_227958:
00227958mov rdi, r12
0022795bmov [rsp+8], rdx
00227960call caml_addrmap_insert_pos
00227965mov rdx, [rsp+8]
0022796amov rcx, [rdx+8]
0022796emov [rax], rcx
00227971jmp 0x227939
00227780
00227780caml_addrmap_insert_pos:
00227780mov eax, 0xffffffffcc9e2d51
00227785push r15
00227787imul rax, rsi
0022778bpush r14
0022778dmov r14, rsi
00227790push r13
00227792push r12
00227794mov r12, rdi
00227797push rbp
00227798mov r15, rax
0022779bpush rbx
0022779cshr r15, 17
002277a0xor r15, rax
002277a3sub rsp, 24
002277a7mov rbp, [r12]
002277ab
002277abloc_2277ab:
002277abtest rbp, rbp
002277aeje 0x227828
002277b0mov rax, [r12+8]
002277b5mov ebx, 100
002277balea rdx, [rax-1]
002277beand rdx, r15
002277c1jmp 0x2277ea
002277c3db 0x21
002277c4cli
002277c5jmp 0x2277ea
002277c7
002277c7 66 0f 1f 84 00 00 00 00 00 f........
002277d0
002277d0loc_2277d0:
002277d0mov r13, [r12+8]
002277d5add rdx, 1
002277d9lea rax, [r13-1]
002277ddand rdx, rax
002277e0sub rbx, 1
002277e4je 0x2278b0
002277ea
002277ealoc_2277ea:
002277eamov rsi, rdx
002277edshl rsi, 4
002277f1lea rax, [rbp+rsi]
002277f6mov rcx, [rax]
002277f9test rcx, rcx
002277fcjne 0x22780d
002277femov [rax], r14
00227801mov rbp, [r12]
00227805lea rax, [rbp+rsi]
0022780amov rcx, [rax]
0022780d
0022780dloc_22780d:
0022780dcmp r14, rcx
00227810jne 0x2277d0
00227812add rsp, 24
00227816add rax, 8
0022781apop rbx
0022781bpop rbp
0022781cpop r12
0022781epop r13
00227820pop r14
00227822pop r15
00227824ret
00227825
00227825 0f 1f 00 ...
00227828
00227828loc_227828:
00227828mov edi, 4096
0022782dcall caml_stat_alloc
00227832mov [r12+8], 256
0022783bmov [r12], rax
0022783fmov rbp, rax
00227842xor eax, eax
00227844nop [rax+rax]
0022784fnop [rax+rax]
0022785anop [rax+rax]
00227865nop [rax+rax]
00227870nop [rax+rax]
0022787bnop [rax+rax]
00227880
00227880loc_227880:
00227880mov [rbp+rax], 0
00227889mov rdx, [r12]
0022788dmov [rdx+rax+8], 0
00227896add rax, 16
0022789amov rbp, [r12]
0022789ecmp rax, 4096
002278a4jne 0x227880
002278a6jmp 0x2277b4
002278ab
002278ab 0f 1f 44 00 00 ..D..
002278b0
002278b0loc_2278b0:
002278b0mov rdi, r13
002278b3lea rsi, [r13+r13]
002278b8shl rdi, 5
002278bcmov [rsp+8], rsi
002278c1call caml_stat_alloc
002278c6mov rsi, [rsp+8]
002278cbmov [r12], rax
002278cfmov [r12+8], rsi
002278d4test rsi, rsi
002278d7je 0x227929
002278d9mov [rax], 0
002278e0mov rax, [r12]
002278e4mov [rax+8], 0
002278ecmov eax, 1
002278f1nop [rax+rax]
002278fcnop [rax]
00227900
00227900loc_227900:
00227900mov rcx, [r12]
00227904mov rdx, rax
00227907add rax, 1
0022790bshl rdx, 4
0022790fmov [rcx+rdx], 0
00227917mov rcx, [r12]
0022791bmov [rcx+rdx+8], 0
00227924cmp rax, rsi
00227927jb 0x227900
00227929
00227929loc_227929:
00227929mov rdx, rbp
0022792ctest r13, r13
0022792fje 0x227946
00227931
00227931loc_227931:
00227931mov rsi, [rdx]
00227934test rsi, rsi
00227937jne 0x227958
00227939
00227939loc_227939:
00227939add rbx, 1
0022793dadd rdx, 16
00227941cmp rbx, r13
00227944jne 0x227931
00227946
00227946loc_227946:
00227946mov rdi, rbp
00227949call caml_stat_free
0022794ejmp 0x2277ab
00227953
00227953 0f 1f 44 00 00 ..D..
00227958
00227958loc_227958:
00227958mov rdi, r12
0022795bmov [rsp+8], rdx
00227960call caml_addrmap_insert_pos
00227965mov rdx, [rsp+8]
0022796amov rcx, [rdx+8]
0022796emov [rax], rcx
00227971jmp 0x227939
00227780
00227973
00227973 // align 0x10
00227973 // align 0x10
00227980
00227980caml_addrmap_insert:
00227980push rbx
00227981mov rbx, rdx
00227984call caml_addrmap_insert_pos
00227989mov [rax], rbx
0022798cpop rbx
0022798dret
0022798edb 0x89
0022798fsbb [rbx-61], bl
00227980
00227980caml_addrmap_insert:
00227980push rbx
00227981mov rbx, rdx
00227984call caml_addrmap_insert_pos
00227989mov [rax], rbx
0022798cpop rbx
0022798dret
0022798edb 0x89
0022798fsbb [rbx-61], bl
00227980
00227992
00227992 // align 0x10
00227992 // align 0x10
002279a0
002279a0caml_addrmap_iter:
002279a0mov rax, [rdi]
002279a3test rax, rax
002279a6je 0x227a68
002279acpush r12
002279aemov r12, rsi
002279b1push rbp
002279b2mov rbp, rdi
002279b5push rbx
002279b6mov rcx, [rdi+8]
002279baxor ebx, ebx
002279bctest rcx, rcx
002279bfjne 0x2279e9
002279c1jmp 0x227a5e
002279c6db 0x94
002279c7add [rax], al
002279c9db 0x00
002279ca
002279ca 66 66 2e 0f 1f 84 ff....
002279d0 00 00 00 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 .....ff.........
002279e0
002279e0loc_2279e0:
002279e0add rbx, 1
002279e4cmp rbx, rcx
002279e7je 0x227a5e
002279e9
002279e9loc_2279e9:
002279e9mov rdx, rbx
002279ecshl rdx, 4
002279f0cmp [rax+rdx], 0
002279f5je 0x2279e0
002279f7cmp rbx, rcx
002279fajae 0x227a5e
002279fcmov rdi, [rax+rdx]
00227a00
00227a00loc_227a00:
00227a00mov rdx, rbx
00227a03shl rdx, 4
00227a07mov rsi, [rax+rdx+8]
00227a0ccall r12
00227a0fmov rax, [rbp]
00227a13test rax, rax
00227a16je 0x227a5e
00227a18mov rcx, [rbp+8]
00227a1cadd rbx, 1
00227a20cmp rbx, rcx
00227a23jb 0x227a49
00227a25jmp 0x227a5e
00227a27
00227a27 66 66 2e 0f 1f 84 00 00 00 ff.......
00227a30 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 ..ff............
00227a40
00227a40loc_227a40:
00227a40add rbx, 1
00227a44cmp rbx, rcx
00227a47jae 0x227a5e
00227a49
00227a49loc_227a49:
00227a49mov rdx, rbx
00227a4cshl rdx, 4
00227a50mov rdi, [rax+rdx]
00227a54test rdi, rdi
00227a57je 0x227a40
00227a59cmp rbx, rcx
00227a5cjb 0x227a00
00227a5e
00227a5eloc_227a5e:
00227a5epop rbx
00227a5fpop rbp
00227a60pop r12
00227a62ret
00227a63
00227a63 0f 1f 44 00 00 ..D..
00227a68
00227a68loc_227a68:
00227a68ret
002279a0
002279a0caml_addrmap_iter:
002279a0mov rax, [rdi]
002279a3test rax, rax
002279a6je 0x227a68
002279acpush r12
002279aemov r12, rsi
002279b1push rbp
002279b2mov rbp, rdi
002279b5push rbx
002279b6mov rcx, [rdi+8]
002279baxor ebx, ebx
002279bctest rcx, rcx
002279bfjne 0x2279e9
002279c1jmp 0x227a5e
002279c6db 0x94
002279c7add [rax], al
002279c9db 0x00
002279ca
002279ca 66 66 2e 0f 1f 84 ff....
002279d0 00 00 00 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 .....ff.........
002279e0
002279e0loc_2279e0:
002279e0add rbx, 1
002279e4cmp rbx, rcx
002279e7je 0x227a5e
002279e9
002279e9loc_2279e9:
002279e9mov rdx, rbx
002279ecshl rdx, 4
002279f0cmp [rax+rdx], 0
002279f5je 0x2279e0
002279f7cmp rbx, rcx
002279fajae 0x227a5e
002279fcmov rdi, [rax+rdx]
00227a00
00227a00loc_227a00:
00227a00mov rdx, rbx
00227a03shl rdx, 4
00227a07mov rsi, [rax+rdx+8]
00227a0ccall r12
00227a0fmov rax, [rbp]
00227a13test rax, rax
00227a16je 0x227a5e
00227a18mov rcx, [rbp+8]
00227a1cadd rbx, 1
00227a20cmp rbx, rcx
00227a23jb 0x227a49
00227a25jmp 0x227a5e
00227a27
00227a27 66 66 2e 0f 1f 84 00 00 00 ff.......
00227a30 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 ..ff............
00227a40
00227a40loc_227a40:
00227a40add rbx, 1
00227a44cmp rbx, rcx
00227a47jae 0x227a5e
00227a49
00227a49loc_227a49:
00227a49mov rdx, rbx
00227a4cshl rdx, 4
00227a50mov rdi, [rax+rdx]
00227a54test rdi, rdi
00227a57je 0x227a40
00227a59cmp rbx, rcx
00227a5cjb 0x227a00
00227a5e
00227a5eloc_227a5e:
00227a5epop rbx
00227a5fpop rbp
00227a60pop r12
00227a62ret
00227a63
00227a63 0f 1f 44 00 00 ..D..
00227a68
00227a68loc_227a68:
00227a68ret
002279a0
00227a69
00227a69 // align 0x10
00227a69 // align 0x10
00227a70
00227a70caml_init_codefrag:
00227a70sub rsp, 8
00227a74lea rdi, [rip+0x151761]
00227a7bcall caml_lf_skiplist_init
00227a80lea rdi, [rip+0x151735]
00227a87add rsp, 8
00227a8bjmp 0x228c40
00227a90db 0xac
00227a91adc [rax], eax
00227a93db 0x00
00227a70
00227a70caml_init_codefrag:
00227a70sub rsp, 8
00227a74lea rdi, [rip+0x151761]
00227a7bcall caml_lf_skiplist_init
00227a80lea rdi, [rip+0x151735]
00227a87add rsp, 8
00227a8bjmp 0x228c40
00227a90db 0xac
00227a91adc [rax], eax
00227a93db 0x00
00227a70
00227a94
00227a94 // align 0x10
00227a94 // align 0x10
00227aa0
00227aa0caml_register_code_fragment:
00227aa0push r14
00227aa2mov r14, rcx
00227aa5push r13
00227aa7mov r13, rsi
00227aaapush r12
00227aacmov r12, rdi
00227aafmov edi, 80
00227ab4push rbp
00227ab5mov ebp, edx
00227ab7push rbx
00227ab8call caml_stat_alloc
00227abdmov [rax], r12
00227ac0mov rbx, rax
00227ac3mov [rax+8], r13
00227ac7cmp ebp, 1
00227acaje 0x227b38
00227acccmp ebp, 2
00227acfje 0x227b28
00227ad1mov [rbx+20], ebp
00227ad4mov eax, 1
00227ad9lock xadd [rip+0x1509e7], eax
00227ae1mov [rbx+16], eax
00227ae4lea rdi, [rbx+40]
00227ae8call caml_plat_mutex_init
00227aedmov rdx, rbx
00227af0mov rsi, r12
00227af3lea rdi, [rip+0x1516e2]
00227afacall caml_lf_skiplist_insert
00227affmovsxd rsi, [rbx+16]
00227b03mov rdx, rbx
00227b06lea rdi, [rip+0x1516af]
00227b0dcall caml_lf_skiplist_insert
00227b12mov eax, [rbx+16]
00227b15pop rbx
00227b16pop rbp
00227b17pop r12
00227b19pop r13
00227b1bpop r14
00227b1dret
00227b1edb 0x5d
00227b1fpop r14
00227b21ret
00227b22
00227b22 66 0f 1f 44 00 00 f..D..
00227b28
00227b28loc_227b28:
00227b28movdqu x0, [r14]
00227b2dmovups [rax+24], x0
00227b31jmp 0x227ad5
00227b33
00227b33 0f 1f 44 00 00 ..D..
00227b38
00227b38loc_227b38:
00227b38mov rdx, r13
00227b3blea rdi, [rax+24]
00227b3fmov rsi, r12
00227b42mov ebp, 2
00227b47sub rdx, r12
00227b4acall caml_md5_block
00227b4fjmp 0x227ad5
00227aa0
00227aa0caml_register_code_fragment:
00227aa0push r14
00227aa2mov r14, rcx
00227aa5push r13
00227aa7mov r13, rsi
00227aaapush r12
00227aacmov r12, rdi
00227aafmov edi, 80
00227ab4push rbp
00227ab5mov ebp, edx
00227ab7push rbx
00227ab8call caml_stat_alloc
00227abdmov [rax], r12
00227ac0mov rbx, rax
00227ac3mov [rax+8], r13
00227ac7cmp ebp, 1
00227acaje 0x227b38
00227acccmp ebp, 2
00227acfje 0x227b28
00227ad1mov [rbx+20], ebp
00227ad4mov eax, 1
00227ad9lock xadd [rip+0x1509e7], eax
00227ae1mov [rbx+16], eax
00227ae4lea rdi, [rbx+40]
00227ae8call caml_plat_mutex_init
00227aedmov rdx, rbx
00227af0mov rsi, r12
00227af3lea rdi, [rip+0x1516e2]
00227afacall caml_lf_skiplist_insert
00227affmovsxd rsi, [rbx+16]
00227b03mov rdx, rbx
00227b06lea rdi, [rip+0x1516af]
00227b0dcall caml_lf_skiplist_insert
00227b12mov eax, [rbx+16]
00227b15pop rbx
00227b16pop rbp
00227b17pop r12
00227b19pop r13
00227b1bpop r14
00227b1dret
00227b1edb 0x5d
00227b1fpop r14
00227b21ret
00227b22
00227b22 66 0f 1f 44 00 00 f..D..
00227b28
00227b28loc_227b28:
00227b28movdqu x0, [r14]
00227b2dmovups [rax+24], x0
00227b31jmp 0x227ad5
00227b33
00227b33 0f 1f 44 00 00 ..D..
00227b38
00227b38loc_227b38:
00227b38mov rdx, r13
00227b3blea rdi, [rax+24]
00227b3fmov rsi, r12
00227b42mov ebp, 2
00227b47sub rdx, r12
00227b4acall caml_md5_block
00227b4fjmp 0x227ad5
00227aa0
00227b51
00227b51 // align 0x10
00227b51 // align 0x10
00227b60
00227b60caml_remove_code_fragment:
00227b60push rbx
00227b61mov rsi, [rdi]
00227b64mov rbx, rdi
00227b67lea rdi, [rip+0x15166e]
00227b6ecall caml_lf_skiplist_remove
00227b73movsxd rsi, [rbx+16]
00227b77lea rdi, [rip+0x15163e]
00227b7ecall caml_lf_skiplist_remove
00227b83test eax, eax
00227b85jne 0x227b90
00227b87pop rbx
00227b88ret
00227b89db 0x75
00227b8adb 0x05
00227b8b
00227b8bloc_227b8b:
00227b8bpop rbx
00227b8cret
00227b8d
00227b8d 0f 1f 00 ...
00227b90
00227b90loc_227b90:
00227b90mov edi, 16
00227b95call caml_stat_alloc
00227b9amov [rax], rbx
00227b9dmov rdx, rax
00227ba0lea rcx, [rax+8]
00227ba4
00227ba4loc_227ba4:
00227ba4mov rax, [rip+0x151655]
00227babmov [rdx+8], rax
00227bafmov rax, [rcx]
00227bb2lock cmpxchg [rip+0x151645], rdx
00227bbbje 0x227b8b
00227bbdmov [rcx], rax
00227bc0jmp 0x227ba4
00227b60
00227b60caml_remove_code_fragment:
00227b60push rbx
00227b61mov rsi, [rdi]
00227b64mov rbx, rdi
00227b67lea rdi, [rip+0x15166e]
00227b6ecall caml_lf_skiplist_remove
00227b73movsxd rsi, [rbx+16]
00227b77lea rdi, [rip+0x15163e]
00227b7ecall caml_lf_skiplist_remove
00227b83test eax, eax
00227b85jne 0x227b90
00227b87pop rbx
00227b88ret
00227b89db 0x75
00227b8adb 0x05
00227b8b
00227b8bloc_227b8b:
00227b8bpop rbx
00227b8cret
00227b8d
00227b8d 0f 1f 00 ...
00227b90
00227b90loc_227b90:
00227b90mov edi, 16
00227b95call caml_stat_alloc
00227b9amov [rax], rbx
00227b9dmov rdx, rax
00227ba0lea rcx, [rax+8]
00227ba4
00227ba4loc_227ba4:
00227ba4mov rax, [rip+0x151655]
00227babmov [rdx+8], rax
00227bafmov rax, [rcx]
00227bb2lock cmpxchg [rip+0x151645], rdx
00227bbbje 0x227b8b
00227bbdmov [rcx], rax
00227bc0jmp 0x227ba4
00227b60
00227bc2
00227bc2 // align 0x10
00227bc2 // align 0x10
00227bd0
00227bd0caml_find_code_fragment_by_pc:
00227bd0push rbx
00227bd1mov rsi, rdi
00227bd4sub rsp, 32
00227bd8mov rbx, [0x28]
00227be1mov [rsp+24], rbx
00227be6mov rbx, rdi
00227be9lea rdx, [rsp+8]
00227beelea rcx, [rsp+16]
00227bf3lea rdi, [rip+0x1515e2]
00227bfacall caml_lf_skiplist_find_below
00227bffmov edx, eax
00227c01xor eax, eax
00227c03test edx, edx
00227c05je 0x227c16
00227c07mov rax, [rsp+16]
00227c0ccmp rbx, [rax+8]
00227c10jae 0x227c30
00227c12mov rdx, [rsp+24]
00227c17sub rdx, [0x28]
00227c20jne 0x227c34
00227c22add rsp, 32
00227c26pop rbx
00227c27ret
00227c28db 0xc4
00227c29and [rbx-61], bl
00227c2c
00227c2c 0f 1f 40 00 ..@.
00227c30
00227c30loc_227c30:
00227c30xor eax, eax
00227c32jmp 0x227c16
00227c34
00227c34loc_227c34:
00227c34call fn_f4590
00227bd0
00227bd0caml_find_code_fragment_by_pc:
00227bd0push rbx
00227bd1mov rsi, rdi
00227bd4sub rsp, 32
00227bd8mov rbx, [0x28]
00227be1mov [rsp+24], rbx
00227be6mov rbx, rdi
00227be9lea rdx, [rsp+8]
00227beelea rcx, [rsp+16]
00227bf3lea rdi, [rip+0x1515e2]
00227bfacall caml_lf_skiplist_find_below
00227bffmov edx, eax
00227c01xor eax, eax
00227c03test edx, edx
00227c05je 0x227c16
00227c07mov rax, [rsp+16]
00227c0ccmp rbx, [rax+8]
00227c10jae 0x227c30
00227c12mov rdx, [rsp+24]
00227c17sub rdx, [0x28]
00227c20jne 0x227c34
00227c22add rsp, 32
00227c26pop rbx
00227c27ret
00227c28db 0xc4
00227c29and [rbx-61], bl
00227c2c
00227c2c 0f 1f 40 00 ..@.
00227c30
00227c30loc_227c30:
00227c30xor eax, eax
00227c32jmp 0x227c16
00227c34
00227c34loc_227c34:
00227c34call fn_f4590
00227bd0
00227c39
00227c39 // align 0x10
00227c39 // align 0x10
00227c40
00227c40caml_find_code_fragment_by_num:
00227c40sub rsp, 24
00227c44movsxd rsi, edi
00227c47lea rdi, [rip+0x15156e]
00227c4emov rdx, [0x28]
00227c57mov [rsp+8], rdx
00227c5cmov rdx, rsp
00227c5fcall caml_lf_skiplist_find
00227c64mov edx, eax
00227c66mov rax, [rsp]
00227c6atest edx, edx
00227c6cjne 0x227c74
00227c6exor eax, eax
00227c70mov rdx, [rsp+8]
00227c75sub rdx, [0x28]
00227c7ejne 0x227c89
00227c80add rsp, 24
00227c84ret
00227c85call fn_f4590
00227c8adb 0x02
00227c8bleave
00227c8cin al, dx
00227c8ddb 0xff
00227c40
00227c40caml_find_code_fragment_by_num:
00227c40sub rsp, 24
00227c44movsxd rsi, edi
00227c47lea rdi, [rip+0x15156e]
00227c4emov rdx, [0x28]
00227c57mov [rsp+8], rdx
00227c5cmov rdx, rsp
00227c5fcall caml_lf_skiplist_find
00227c64mov edx, eax
00227c66mov rax, [rsp]
00227c6atest edx, edx
00227c6cjne 0x227c74
00227c6exor eax, eax
00227c70mov rdx, [rsp+8]
00227c75sub rdx, [0x28]
00227c7ejne 0x227c89
00227c80add rsp, 24
00227c84ret
00227c85call fn_f4590
00227c8adb 0x02
00227c8bleave
00227c8cin al, dx
00227c8ddb 0xff
00227c40
00227c8e
00227c8e // align 0x10
00227c8e // align 0x10
00227c90
00227c90caml_digest_of_code_fragment:
00227c90push r12
00227c92push rbp
00227c93lea rbp, [rdi+40]
00227c97push rbx
00227c98mov rbx, rdi
00227c9bmov rdi, rbp
00227c9ecall fn_f4710
00227ca3test eax, eax
00227ca5jne 0x227d03
00227ca7mov eax, [rbx+20]
00227caacmp eax, 3
00227cadje 0x227cf0
00227caflea r12, [rbx+24]
00227cb3test eax, eax
00227cb5je 0x227cd0
00227cb7mov rdi, rbp
00227cbacall fn_f47c0
00227cbftest eax, eax
00227cc1jne 0x227cf5
00227cc3mov rax, r12
00227cc6pop rbx
00227cc7pop rbp
00227cc8pop r12
00227ccaret
00227ccbdb 0x5d
00227cccpop r12
00227cceret
00227ccf
00227ccf 90 .
00227cd0
00227cd0loc_227cd0:
00227cd0mov rsi, [rbx]
00227cd3mov rdx, [rbx+8]
00227cd7mov rdi, r12
00227cdasub rdx, rsi
00227cddcall caml_md5_block
00227ce2mov [rbx+20], 2
00227ce9jmp 0x227cbb
00227ceb
00227ceb 0f 1f 44 00 00 ..D..
00227cf0
00227cf0loc_227cf0:
00227cf0xor r12l, r12l
00227cf3jmp 0x227cbb
00227cf5
00227cf5loc_227cf5:
00227cf5mov esi, eax
00227cf7lea rdi, [rip+30748]
00227cfecall caml_plat_fatal_error
00227d03
00227d03loc_227d03:
00227d03mov esi, eax
00227d05lea rdi, [rip+30723]
00227d0ccall caml_plat_fatal_error
00227c90
00227c90caml_digest_of_code_fragment:
00227c90push r12
00227c92push rbp
00227c93lea rbp, [rdi+40]
00227c97push rbx
00227c98mov rbx, rdi
00227c9bmov rdi, rbp
00227c9ecall fn_f4710
00227ca3test eax, eax
00227ca5jne 0x227d03
00227ca7mov eax, [rbx+20]
00227caacmp eax, 3
00227cadje 0x227cf0
00227caflea r12, [rbx+24]
00227cb3test eax, eax
00227cb5je 0x227cd0
00227cb7mov rdi, rbp
00227cbacall fn_f47c0
00227cbftest eax, eax
00227cc1jne 0x227cf5
00227cc3mov rax, r12
00227cc6pop rbx
00227cc7pop rbp
00227cc8pop r12
00227ccaret
00227ccbdb 0x5d
00227cccpop r12
00227cceret
00227ccf
00227ccf 90 .
00227cd0
00227cd0loc_227cd0:
00227cd0mov rsi, [rbx]
00227cd3mov rdx, [rbx+8]
00227cd7mov rdi, r12
00227cdasub rdx, rsi
00227cddcall caml_md5_block
00227ce2mov [rbx+20], 2
00227ce9jmp 0x227cbb
00227ceb
00227ceb 0f 1f 44 00 00 ..D..
00227cf0
00227cf0loc_227cf0:
00227cf0xor r12l, r12l
00227cf3jmp 0x227cbb
00227cf5
00227cf5loc_227cf5:
00227cf5mov esi, eax
00227cf7lea rdi, [rip+30748]
00227cfecall caml_plat_fatal_error
00227d03
00227d03loc_227d03:
00227d03mov esi, eax
00227d05lea rdi, [rip+30723]
00227d0ccall caml_plat_fatal_error
00227c90
00227d11
00227d11 // align 0x10
00227d11 // align 0x10
00227d20
00227d20caml_find_code_fragment_by_digest:
00227d20push r12
00227d22mov rax, [rip+0x1514b3]
00227d29push rbp
00227d2apush rbx
00227d2bmov rbx, [rax+40]
00227d2fcmp rbx, [rip+0x1514ae]
00227d36je 0x227db0
00227d38mov r12, rdi
00227d3bjmp 0x227d69
00227d3ddb 0x89
00227d3ecld
00227d3fjmp 0x227d69
00227d41
00227d41 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f ff.........ff..
00227d50 1f 84 00 00 00 00 00 66 0f 1f 84 00 00 00 00 00 .......f........
00227d60
00227d60loc_227d60:
00227d60cmp [rip+0x151481], rbx
00227d67je 0x227db0
00227d69
00227d69loc_227d69:
00227d69mov rax, [rbx+40]
00227d6dmov rdx, rbx
00227d70mov rbx, rax
00227d73and rbx, -2
00227d77test al, 1
00227d79jne 0x227d60
00227d7bmov rbp, [rdx+8]
00227d7fmov rdi, rbp
00227d82call caml_digest_of_code_fragment
00227d87test rax, rax
00227d8aje 0x227d60
00227d8cmov rdx, [r12]
00227d90mov rcx, [r12+8]
00227d95xor rdx, [rax]
00227d98xor rcx, [rax+8]
00227d9cor rdx, rcx
00227d9fjne 0x227d60
00227da1mov rax, rbp
00227da4pop rbx
00227da5pop rbp
00227da6pop r12
00227da8ret
00227da9
00227da9 0f 1f 80 00 00 00 00 .......
00227db0
00227db0loc_227db0:
00227db0xor ebp, ebp
00227db2pop rbx
00227db3mov rax, rbp
00227db6pop rbp
00227db7pop r12
00227db9ret
00227d20
00227d20caml_find_code_fragment_by_digest:
00227d20push r12
00227d22mov rax, [rip+0x1514b3]
00227d29push rbp
00227d2apush rbx
00227d2bmov rbx, [rax+40]
00227d2fcmp rbx, [rip+0x1514ae]
00227d36je 0x227db0
00227d38mov r12, rdi
00227d3bjmp 0x227d69
00227d3ddb 0x89
00227d3ecld
00227d3fjmp 0x227d69
00227d41
00227d41 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f ff.........ff..
00227d50 1f 84 00 00 00 00 00 66 0f 1f 84 00 00 00 00 00 .......f........
00227d60
00227d60loc_227d60:
00227d60cmp [rip+0x151481], rbx
00227d67je 0x227db0
00227d69
00227d69loc_227d69:
00227d69mov rax, [rbx+40]
00227d6dmov rdx, rbx
00227d70mov rbx, rax
00227d73and rbx, -2
00227d77test al, 1
00227d79jne 0x227d60
00227d7bmov rbp, [rdx+8]
00227d7fmov rdi, rbp
00227d82call caml_digest_of_code_fragment
00227d87test rax, rax
00227d8aje 0x227d60
00227d8cmov rdx, [r12]
00227d90mov rcx, [r12+8]
00227d95xor rdx, [rax]
00227d98xor rcx, [rax+8]
00227d9cor rdx, rcx
00227d9fjne 0x227d60
00227da1mov rax, rbp
00227da4pop rbx
00227da5pop rbp
00227da6pop r12
00227da8ret
00227da9
00227da9 0f 1f 80 00 00 00 00 .......
00227db0
00227db0loc_227db0:
00227db0xor ebp, ebp
00227db2pop rbx
00227db3mov rax, rbp
00227db6pop rbp
00227db7pop r12
00227db9ret
00227d20
00227dba
00227dba // align 0x10
00227dba // align 0x10
00227dc0
00227dc0caml_code_fragment_cleanup_from_stw_single:
00227dc0push r12
00227dc2lea rdi, [rip+0x151413]
00227dc9push rbp
00227dcapush rbx
00227dcbcall caml_lf_skiplist_free_garbage
00227dd0lea rdi, [rip+0x1513e5]
00227dd7call caml_lf_skiplist_free_garbage
00227ddcmov rbx, [rip+0x151419]
00227de3test rbx, rbx
00227de6je 0x227e1a
00227de8nop [rax]
00227decmov rbp, rbx
00227defmov rbx, [rbx+8]
00227df3mov r12, [rbp]
00227df7lea rdi, [r12+40]
00227dfccall caml_plat_mutex_free
00227e01mov rdi, r12
00227e04call caml_stat_free
00227e09mov rdi, rbp
00227e0ccall caml_stat_free
00227e11test rbx, rbx
00227e14jne 0x227df0
00227e16mov [rip+0x1513db], 0
00227e21pop rbx
00227e22pop rbp
00227e23pop r12
00227e25ret
00227e26db 0x5d
00227e27pop r12
00227e29ret
00227dc0
00227dc0caml_code_fragment_cleanup_from_stw_single:
00227dc0push r12
00227dc2lea rdi, [rip+0x151413]
00227dc9push rbp
00227dcapush rbx
00227dcbcall caml_lf_skiplist_free_garbage
00227dd0lea rdi, [rip+0x1513e5]
00227dd7call caml_lf_skiplist_free_garbage
00227ddcmov rbx, [rip+0x151419]
00227de3test rbx, rbx
00227de6je 0x227e1a
00227de8nop [rax]
00227decmov rbp, rbx
00227defmov rbx, [rbx+8]
00227df3mov r12, [rbp]
00227df7lea rdi, [r12+40]
00227dfccall caml_plat_mutex_free
00227e01mov rdi, r12
00227e04call caml_stat_free
00227e09mov rdi, rbp
00227e0ccall caml_stat_free
00227e11test rbx, rbx
00227e14jne 0x227df0
00227e16mov [rip+0x1513db], 0
00227e21pop rbx
00227e22pop rbp
00227e23pop r12
00227e25ret
00227e26db 0x5d
00227e27pop r12
00227e29ret
00227dc0
00227e2a
00227e2a // align 0x10
00227e2a // align 0x10
00227e30
00227e30caml_debugger_init:
00227e30ret
00227e31db 0x0f
00227e32db 0x1e
00227e33cli
00227e34ret
00227e30
00227e30caml_debugger_init:
00227e30ret
00227e31db 0x0f
00227e32db 0x1e
00227e33cli
00227e34ret
00227e30
00227e35
00227e35 // align 0x10
00227e35 // align 0x10
00227e40
00227e40caml_debugger:
00227e40ret
00227e41db 0x0f
00227e42db 0x1e
00227e43cli
00227e44ret
00227e40
00227e40caml_debugger:
00227e40ret
00227e41db 0x0f
00227e42db 0x1e
00227e43cli
00227e44ret
00227e40
00227e45
00227e45 // align 0x10
00227e45 // align 0x10
00227e50
00227e50caml_debugger_cleanup_fork:
00227e50ret
00227e51db 0x0f
00227e52db 0x1e
00227e53cli
00227e54ret
00227e50
00227e50caml_debugger_cleanup_fork:
00227e50ret
00227e51db 0x0f
00227e52db 0x1e
00227e53cli
00227e54ret
00227e50
00227e55
00227e55 // align 0x10
00227e55 // align 0x10
00227e60
00227e60fn_227e60:
00227e60push r13
00227e62push r12
00227e64push rbp
00227e65push rbx
00227e66sub rsp, 8
00227e6atest dl, 1
00227e6djne 0x227fb1
00227e73movzx eax, [rdx-8]
00227e77mov rbp, rdx
00227e7acmp al, -10
00227e7cje 0x227fb1
00227e82movzx eax, [rdx-8]
00227e86cmp al, -3
00227e88je 0x227fb1
00227e8emovzx eax, [rdx-8]
00227e92cmp al, -12
00227e94je 0x227fb1
00227e9amovzx eax, [rdx-8]
00227e9ecmp al, -6
00227ea0je 0x227fb1
00227ea6mov rax, [rdi+16]
00227eaamov r12, rsi
00227eadmov rsi, [rdi+24]
00227eb1mov rbx, rdi
00227eb4mov rdi, [rdi]
00227eb7cmp rax, rsi
00227ebajae 0x227f08
00227ebc
00227ebcloc_227ebc:
00227ebclea rax, [rax+2*rax]
00227ec0mov [rdi+8*rax], r12
00227ec4movzx eax, [rbp-8]
00227ec8cmp al, -7
00227ecaje 0x227f3f
00227ecc
00227eccloc_227ecc:
00227eccmov rax, [rbx+16]
00227ed0mov rdx, [rbx]
00227ed3lea rax, [rax+2*rax]
00227ed7lea rax, [rdx+8*rax]
00227edbmov [rax+16], 0
00227ee2mov rax, [rbx+16]
00227ee6mov rcx, [rbx]
00227ee9lea rax, [rax+2*rax]
00227eedlea rax, [rcx+8*rax]
00227ef1mov [rax+8], rbp
00227ef5add [rbx+16], 1
00227efaadd rsp, 8
00227efepop rbx
00227effpop rbp
00227f00pop r12
00227f02pop r13
00227f04ret
00227f05
00227f05 0f 1f 00 ...
00227f08
00227f08loc_227f08:
00227f08test rdi, rdi
00227f0bje 0x227f90
00227f11lea r13, [rsi+rsi]
00227f15add rsi, r13
00227f18shl rsi, 4
00227f1ccall caml_stat_resize
00227f21mov [rbx+24], r13
00227f25mov [rbx], rax
00227f28mov rdi, rax
00227f2bmov rax, [rbx+16]
00227f2flea rax, [rax+2*rax]
00227f33mov [rdi+8*rax], r12
00227f37movzx eax, [rbp-8]
00227f3bcmp al, -7
00227f3djne 0x227ecc
00227f3f
00227f3floc_227f3f:
00227f3fmov rdx, [rbp-8]
00227f43mov rax, [rbx+16]
00227f47mov rsi, [rbx]
00227f4alea rax, [rax+2*rax]
00227f4eshr rdx, 10
00227f52lea rax, [rsi+8*rax]
00227f56shl edx, 3
00227f59mov [rax+16], edx
00227f5cmov rdx, [rbp-8]
00227f60mov rax, [rbx+16]
00227f64mov rdi, [rbx]
00227f67shr rdx, 10
00227f6blea rax, [rax+2*rax]
00227f6fshl rdx, 3
00227f73sub rbp, rdx
00227f76lea rax, [rdi+8*rax]
00227f7amov [rax+8], rbp
00227f7eadd [rbx+16], 1
00227f83add rsp, 8
00227f87pop rbx
00227f88pop rbp
00227f89pop r12
00227f8bpop r13
00227f8dret
00227f8e
00227f8e 66 90 f.
00227f90
00227f90loc_227f90:
00227f90mov edi, 720
00227f95call caml_stat_alloc
00227f9amov [rbx+24], 30
00227fa2mov [rbx], rax
00227fa5mov rdi, rax
00227fa8mov rax, [rbx+16]
00227facjmp 0x227ebc
00227fb1
00227fb1loc_227fb1:
00227fb1lea rdi, [rip+30540]
00227fb8call caml_invalid_argument
00227e60
00227e60fn_227e60:
00227e60push r13
00227e62push r12
00227e64push rbp
00227e65push rbx
00227e66sub rsp, 8
00227e6atest dl, 1
00227e6djne 0x227fb1
00227e73movzx eax, [rdx-8]
00227e77mov rbp, rdx
00227e7acmp al, -10
00227e7cje 0x227fb1
00227e82movzx eax, [rdx-8]
00227e86cmp al, -3
00227e88je 0x227fb1
00227e8emovzx eax, [rdx-8]
00227e92cmp al, -12
00227e94je 0x227fb1
00227e9amovzx eax, [rdx-8]
00227e9ecmp al, -6
00227ea0je 0x227fb1
00227ea6mov rax, [rdi+16]
00227eaamov r12, rsi
00227eadmov rsi, [rdi+24]
00227eb1mov rbx, rdi
00227eb4mov rdi, [rdi]
00227eb7cmp rax, rsi
00227ebajae 0x227f08
00227ebc
00227ebcloc_227ebc:
00227ebclea rax, [rax+2*rax]
00227ec0mov [rdi+8*rax], r12
00227ec4movzx eax, [rbp-8]
00227ec8cmp al, -7
00227ecaje 0x227f3f
00227ecc
00227eccloc_227ecc:
00227eccmov rax, [rbx+16]
00227ed0mov rdx, [rbx]
00227ed3lea rax, [rax+2*rax]
00227ed7lea rax, [rdx+8*rax]
00227edbmov [rax+16], 0
00227ee2mov rax, [rbx+16]
00227ee6mov rcx, [rbx]
00227ee9lea rax, [rax+2*rax]
00227eedlea rax, [rcx+8*rax]
00227ef1mov [rax+8], rbp
00227ef5add [rbx+16], 1
00227efaadd rsp, 8
00227efepop rbx
00227effpop rbp
00227f00pop r12
00227f02pop r13
00227f04ret
00227f05
00227f05 0f 1f 00 ...
00227f08
00227f08loc_227f08:
00227f08test rdi, rdi
00227f0bje 0x227f90
00227f11lea r13, [rsi+rsi]
00227f15add rsi, r13
00227f18shl rsi, 4
00227f1ccall caml_stat_resize
00227f21mov [rbx+24], r13
00227f25mov [rbx], rax
00227f28mov rdi, rax
00227f2bmov rax, [rbx+16]
00227f2flea rax, [rax+2*rax]
00227f33mov [rdi+8*rax], r12
00227f37movzx eax, [rbp-8]
00227f3bcmp al, -7
00227f3djne 0x227ecc
00227f3f
00227f3floc_227f3f:
00227f3fmov rdx, [rbp-8]
00227f43mov rax, [rbx+16]
00227f47mov rsi, [rbx]
00227f4alea rax, [rax+2*rax]
00227f4eshr rdx, 10
00227f52lea rax, [rsi+8*rax]
00227f56shl edx, 3
00227f59mov [rax+16], edx
00227f5cmov rdx, [rbp-8]
00227f60mov rax, [rbx+16]
00227f64mov rdi, [rbx]
00227f67shr rdx, 10
00227f6blea rax, [rax+2*rax]
00227f6fshl rdx, 3
00227f73sub rbp, rdx
00227f76lea rax, [rdi+8*rax]
00227f7amov [rax+8], rbp
00227f7eadd [rbx+16], 1
00227f83add rsp, 8
00227f87pop rbx
00227f88pop rbp
00227f89pop r12
00227f8bpop r13
00227f8dret
00227f8e
00227f8e 66 90 f.
00227f90
00227f90loc_227f90:
00227f90mov edi, 720
00227f95call caml_stat_alloc
00227f9amov [rbx+24], 30
00227fa2mov [rbx], rax
00227fa5mov rdi, rax
00227fa8mov rax, [rbx+16]
00227facjmp 0x227ebc
00227fb1
00227fb1loc_227fb1:
00227fb1lea rdi, [rip+30540]
00227fb8call caml_invalid_argument
00227e60
00227fbd
00227fbd // align 0x10
00227fbd // align 0x10
00227fc0
00227fc0fn_227fc0:
00227fc0push rbp
00227fc1movsxd rax, esi
00227fc4mov rbp, rdi
00227fc7push rbx
00227fc8mov rbx, rax
00227fcblea rax, [rax+2*rax]
00227fcflea rdi, [8*rax+40]
00227fd7sub rsp, 8
00227fdbcall caml_stat_alloc_noexc
00227fe0mov rdx, [rbp+176]
00227fe7test rax, rax
00227feaje 0x22801f
00227fecmov [rax], 0
00227ff3mov [rax+8], ebx
00227ff6mov rcx, [rdx+88]
00227ffatest rcx, rcx
00227ffdje 0x228010
00227fffmov [rcx], rax
00228002mov [rdx+88], rax
00228006add rsp, 8
0022800apop rbx
0022800bpop rbp
0022800cret
0022800d
0022800d 0f 1f 00 ...
00228010
00228010loc_228010:
00228010mov [rdx+80], rax
00228014mov [rdx+88], rax
00228018add rsp, 8
0022801cpop rbx
0022801dpop rbp
0022801eret
0022801f
0022801floc_22801f:
0022801flea rdi, [rip+30442]
00228026call caml_fatal_error
00227fc0
00227fc0fn_227fc0:
00227fc0push rbp
00227fc1movsxd rax, esi
00227fc4mov rbp, rdi
00227fc7push rbx
00227fc8mov rbx, rax
00227fcblea rax, [rax+2*rax]
00227fcflea rdi, [8*rax+40]
00227fd7sub rsp, 8
00227fdbcall caml_stat_alloc_noexc
00227fe0mov rdx, [rbp+176]
00227fe7test rax, rax
00227feaje 0x22801f
00227fecmov [rax], 0
00227ff3mov [rax+8], ebx
00227ff6mov rcx, [rdx+88]
00227ffatest rcx, rcx
00227ffdje 0x228010
00227fffmov [rcx], rax
00228002mov [rdx+88], rax
00228006add rsp, 8
0022800apop rbx
0022800bpop rbp
0022800cret
0022800d
0022800d 0f 1f 00 ...
00228010
00228010loc_228010:
00228010mov [rdx+80], rax
00228014mov [rdx+88], rax
00228018add rsp, 8
0022801cpop rbx
0022801dpop rbp
0022801eret
0022801f
0022801floc_22801f:
0022801flea rdi, [rip+30442]
00228026call caml_fatal_error
00227fc0
0022802b
0022802b // align 0x20
0022802b // align 0x20
00228040
00228040fn_228040:
00228040push r14
00228042push r13
00228044push r12
00228046push rbp
00228047push rbx
00228048cmp [rsi+8], 0
0022804dmov r13, [rdi+176]
00228054je 0x2280ae
00228056mov rbx, rsi
00228059mov rsi, [rip+0x150368]
00228060mov r12, rdi
00228063mov r14l, edx
00228066mov rcx, [rbx]
00228069xor eax, eax
0022806bxor ebp, ebp
0022806dnop [rax+rax]
00228078nop [rax+rax]
00228080
00228080loc_228080:
00228080lea rdx, [rax+2*rax]
00228084mov rdx, [rcx+8*rdx+8]
00228089mov rdx, [rdx-8]
0022808dand edx, 768
00228093cmp rsi, rdx
00228096sete dl
00228099add rax, 1
0022809dmovzx edx, dl
002280a0add rbp, rdx
002280a3cmp rax, [rbx+8]
002280a7jb 0x228080
002280a9test rbp, rbp
002280acjne 0x2280c0
002280ae
002280aeloc_2280ae:
002280aepop rbx
002280afpop rbp
002280b0pop r12
002280b2pop r13
002280b4pop r14
002280b6ret
002280b7
002280b7 66 0f 1f 84 00 00 00 00 00 f........
002280c0
002280c0loc_2280c0:
002280c0mov rdi, r12
002280c3call caml_set_action_pending
002280c8mov esi, ebp
002280camov rdi, r12
002280cdxor ebp, ebp
002280cfcall fn_227fc0
002280d4mov rdx, [rbx+8]
002280d8xor r8l, r8l
002280dbtest rdx, rdx
002280deje 0x22824c
002280e4xor edx, edx
002280e6jmp 0x22813d
002280e8
002280e8 0f 1f 84 00 00 00 00 00 ........
002280f0
002280f0loc_2280f0:
002280f0mov rsi, [r13+88]
002280f4lea rcx, [rbp+2*rbp]
002280f9movdqu x0, [rax]
002280fdshl rcx, 3
00228101add rsi, rcx
00228104movups [rsi+16], x0
00228108mov rax, [rax+16]
0022810cmov [rsi+32], rax
00228110test r14l, r14l
00228113jne 0x22812f
00228115mov rax, [r13+88]
00228119add rax, rcx
0022811cmov [rax+24], 1
00228124add rcx, [r13+88]
00228128mov [rcx+32], 0
0022812f
0022812floc_22812f:
0022812fadd rbp, 1
00228133add rdx, 1
00228137cmp rdx, [rbx+8]
0022813bjae 0x228188
0022813d
0022813dloc_22813d:
0022813dmov rsi, [rbx]
00228140lea rax, [rdx+2*rdx]
00228144shl rax, 3
00228148mov rcx, [rsi+rax+8]
0022814dadd rax, rsi
00228150mov rcx, [rcx-8]
00228154and ecx, 768
0022815acmp [rip+0x150267], rcx
00228161je 0x2280f0
00228163movdqu x0, [rax]
00228167lea rcx, [r8+2*r8]
0022816badd rdx, 1
0022816fadd r8, 1
00228173lea rcx, [rsi+8*rcx]
00228177movups [rcx], x0
0022817amov rax, [rax+16]
0022817emov [rcx+16], rax
00228182cmp rdx, [rbx+8]
00228186jb 0x22813d
00228188
00228188loc_228188:
00228188mov r10l, ebp
0022818b
0022818bloc_22818b:
0022818bmov [rbx+8], r8
0022818fcmp rdx, [rbx+16]
00228193jae 0x2281f4
00228195mov rax, r8
00228198lea rcx, [rdx+2*rdx]
0022819cmov rsi, rdx
0022819fsub rax, rdx
002281a2shl rcx, 3
002281a6lea r9, [rax+2*rax]
002281aashl r9, 3
002281aenop [rax+rax]
002281b9nop [rax]
002281c0
002281c0loc_2281c0:
002281c0mov rdi, [rbx]
002281c3movdqu x0, [rdi+rcx]
002281c8lea rax, [rdi+r9]
002281ccadd rax, rcx
002281cfmovups [rax], x0
002281d2mov rdi, [rdi+rcx+16]
002281d7add rcx, 24
002281dbmov [rax+16], rdi
002281dfmov rax, rsi
002281e2add rsi, 1
002281e6cmp rsi, [rbx+16]
002281eajb 0x2281c0
002281ecsub r8, rdx
002281eflea r8, [r8+rax+1]
002281f4
002281f4loc_2281f4:
002281f4mov [rbx+16], r8
002281f8mov rax, [r13+88]
002281fcmov [rax+8], r10l
00228200test r14l, r14l
00228203je 0x2280ae
00228209test rbp, rbp
0022820cje 0x2280ae
00228212xor ebx, ebx
00228214nop [rax+rax]
0022821fnop
00228220
00228220loc_228220:
00228220mov rdx, [r13+88]
00228224lea rax, [rbx+2*rbx]
00228228mov rdi, r12
0022822badd rbx, 1
0022822flea rax, [rdx+8*rax]
00228233xor edx, edx
00228235mov rsi, [rax+24]
00228239call caml_darken
0022823ecmp rbx, rbp
00228241jne 0x228220
00228243pop rbx
00228244pop rbp
00228245pop r12
00228247pop r13
00228249pop r14
0022824bret
0022824c
0022824cloc_22824c:
0022824cxor r10l, r10l
0022824fjmp 0x22818b
00228040
00228040fn_228040:
00228040push r14
00228042push r13
00228044push r12
00228046push rbp
00228047push rbx
00228048cmp [rsi+8], 0
0022804dmov r13, [rdi+176]
00228054je 0x2280ae
00228056mov rbx, rsi
00228059mov rsi, [rip+0x150368]
00228060mov r12, rdi
00228063mov r14l, edx
00228066mov rcx, [rbx]
00228069xor eax, eax
0022806bxor ebp, ebp
0022806dnop [rax+rax]
00228078nop [rax+rax]
00228080
00228080loc_228080:
00228080lea rdx, [rax+2*rax]
00228084mov rdx, [rcx+8*rdx+8]
00228089mov rdx, [rdx-8]
0022808dand edx, 768
00228093cmp rsi, rdx
00228096sete dl
00228099add rax, 1
0022809dmovzx edx, dl
002280a0add rbp, rdx
002280a3cmp rax, [rbx+8]
002280a7jb 0x228080
002280a9test rbp, rbp
002280acjne 0x2280c0
002280ae
002280aeloc_2280ae:
002280aepop rbx
002280afpop rbp
002280b0pop r12
002280b2pop r13
002280b4pop r14
002280b6ret
002280b7
002280b7 66 0f 1f 84 00 00 00 00 00 f........
002280c0
002280c0loc_2280c0:
002280c0mov rdi, r12
002280c3call caml_set_action_pending
002280c8mov esi, ebp
002280camov rdi, r12
002280cdxor ebp, ebp
002280cfcall fn_227fc0
002280d4mov rdx, [rbx+8]
002280d8xor r8l, r8l
002280dbtest rdx, rdx
002280deje 0x22824c
002280e4xor edx, edx
002280e6jmp 0x22813d
002280e8
002280e8 0f 1f 84 00 00 00 00 00 ........
002280f0
002280f0loc_2280f0:
002280f0mov rsi, [r13+88]
002280f4lea rcx, [rbp+2*rbp]
002280f9movdqu x0, [rax]
002280fdshl rcx, 3
00228101add rsi, rcx
00228104movups [rsi+16], x0
00228108mov rax, [rax+16]
0022810cmov [rsi+32], rax
00228110test r14l, r14l
00228113jne 0x22812f
00228115mov rax, [r13+88]
00228119add rax, rcx
0022811cmov [rax+24], 1
00228124add rcx, [r13+88]
00228128mov [rcx+32], 0
0022812f
0022812floc_22812f:
0022812fadd rbp, 1
00228133add rdx, 1
00228137cmp rdx, [rbx+8]
0022813bjae 0x228188
0022813d
0022813dloc_22813d:
0022813dmov rsi, [rbx]
00228140lea rax, [rdx+2*rdx]
00228144shl rax, 3
00228148mov rcx, [rsi+rax+8]
0022814dadd rax, rsi
00228150mov rcx, [rcx-8]
00228154and ecx, 768
0022815acmp [rip+0x150267], rcx
00228161je 0x2280f0
00228163movdqu x0, [rax]
00228167lea rcx, [r8+2*r8]
0022816badd rdx, 1
0022816fadd r8, 1
00228173lea rcx, [rsi+8*rcx]
00228177movups [rcx], x0
0022817amov rax, [rax+16]
0022817emov [rcx+16], rax
00228182cmp rdx, [rbx+8]
00228186jb 0x22813d
00228188
00228188loc_228188:
00228188mov r10l, ebp
0022818b
0022818bloc_22818b:
0022818bmov [rbx+8], r8
0022818fcmp rdx, [rbx+16]
00228193jae 0x2281f4
00228195mov rax, r8
00228198lea rcx, [rdx+2*rdx]
0022819cmov rsi, rdx
0022819fsub rax, rdx
002281a2shl rcx, 3
002281a6lea r9, [rax+2*rax]
002281aashl r9, 3
002281aenop [rax+rax]
002281b9nop [rax]
002281c0
002281c0loc_2281c0:
002281c0mov rdi, [rbx]
002281c3movdqu x0, [rdi+rcx]
002281c8lea rax, [rdi+r9]
002281ccadd rax, rcx
002281cfmovups [rax], x0
002281d2mov rdi, [rdi+rcx+16]
002281d7add rcx, 24
002281dbmov [rax+16], rdi
002281dfmov rax, rsi
002281e2add rsi, 1
002281e6cmp rsi, [rbx+16]
002281eajb 0x2281c0
002281ecsub r8, rdx
002281eflea r8, [r8+rax+1]
002281f4
002281f4loc_2281f4:
002281f4mov [rbx+16], r8
002281f8mov rax, [r13+88]
002281fcmov [rax+8], r10l
00228200test r14l, r14l
00228203je 0x2280ae
00228209test rbp, rbp
0022820cje 0x2280ae
00228212xor ebx, ebx
00228214nop [rax+rax]
0022821fnop
00228220
00228220loc_228220:
00228220mov rdx, [r13+88]
00228224lea rax, [rbx+2*rbx]
00228228mov rdi, r12
0022822badd rbx, 1
0022822flea rax, [rdx+8*rax]
00228233xor edx, edx
00228235mov rsi, [rax+24]
00228239call caml_darken
0022823ecmp rbx, rbp
00228241jne 0x228220
00228243pop rbx
00228244pop rbp
00228245pop r12
00228247pop r13
00228249pop r14
0022824bret
0022824c
0022824cloc_22824c:
0022824cxor r10l, r10l
0022824fjmp 0x22818b
00228040
00228254
00228254 // align 0x10
00228254 // align 0x10
00228260
00228260caml_final_update_first:
00228260push rbp
00228261xor eax, eax
00228263push rbx
00228264sub rsp, 8
00228268mov rbp, [rdi+176]
0022826fcmp [rbp+32], 0
00228274je 0x228288
00228276add rsp, 8
0022827apop rbx
0022827bpop rbp
0022827cret
0022827ddb 0x08
0022827epop rbx
0022827fpop rbp
00228280ret
00228281
00228281 0f 1f 80 00 00 00 00 .......
00228288
00228288loc_228288:
00228288mov rbx, rdi
0022828bmov edi, 17
00228290call caml_ev_begin
00228295mov rsi, rbp
00228298mov rdi, rbx
0022829bmov edx, 1
002282a0call fn_228040
002282a5mov edi, 17
002282aacall caml_ev_end
002282afmov [rbp+32], 1
002282b7add rsp, 8
002282bbmov eax, 1
002282c0pop rbx
002282c1pop rbp
002282c2ret
00228260
00228260caml_final_update_first:
00228260push rbp
00228261xor eax, eax
00228263push rbx
00228264sub rsp, 8
00228268mov rbp, [rdi+176]
0022826fcmp [rbp+32], 0
00228274je 0x228288
00228276add rsp, 8
0022827apop rbx
0022827bpop rbp
0022827cret
0022827ddb 0x08
0022827epop rbx
0022827fpop rbp
00228280ret
00228281
00228281 0f 1f 80 00 00 00 00 .......
00228288
00228288loc_228288:
00228288mov rbx, rdi
0022828bmov edi, 17
00228290call caml_ev_begin
00228295mov rsi, rbp
00228298mov rdi, rbx
0022829bmov edx, 1
002282a0call fn_228040
002282a5mov edi, 17
002282aacall caml_ev_end
002282afmov [rbp+32], 1
002282b7add rsp, 8
002282bbmov eax, 1
002282c0pop rbx
002282c1pop rbp
002282c2ret
00228260
002282c3
002282c3 // align 0x10
002282c3 // align 0x10
002282d0
002282d0caml_final_update_last:
002282d0push rbp
002282d1xor eax, eax
002282d3push rbx
002282d4sub rsp, 8
002282d8mov rbp, [rdi+176]
002282dfcmp [rbp+72], 0
002282e4je 0x2282f8
002282e6add rsp, 8
002282eapop rbx
002282ebpop rbp
002282ecret
002282eddb 0x08
002282eepop rbx
002282efpop rbp
002282f0ret
002282f1
002282f1 0f 1f 80 00 00 00 00 .......
002282f8
002282f8loc_2282f8:
002282f8mov rbx, rdi
002282fbmov edi, 18
00228300call caml_ev_begin
00228305lea rsi, [rbp+40]
00228309mov rdi, rbx
0022830cxor edx, edx
0022830ecall fn_228040
00228313mov edi, 18
00228318call caml_ev_end
0022831dmov [rbp+72], 1
00228325add rsp, 8
00228329mov eax, 1
0022832epop rbx
0022832fpop rbp
00228330ret
002282d0
002282d0caml_final_update_last:
002282d0push rbp
002282d1xor eax, eax
002282d3push rbx
002282d4sub rsp, 8
002282d8mov rbp, [rdi+176]
002282dfcmp [rbp+72], 0
002282e4je 0x2282f8
002282e6add rsp, 8
002282eapop rbx
002282ebpop rbp
002282ecret
002282eddb 0x08
002282eepop rbx
002282efpop rbp
002282f0ret
002282f1
002282f1 0f 1f 80 00 00 00 00 .......
002282f8
002282f8loc_2282f8:
002282f8mov rbx, rdi
002282fbmov edi, 18
00228300call caml_ev_begin
00228305lea rsi, [rbp+40]
00228309mov rdi, rbx
0022830cxor edx, edx
0022830ecall fn_228040
00228313mov edi, 18
00228318call caml_ev_end
0022831dmov [rbp+72], 1
00228325add rsp, 8
00228329mov eax, 1
0022832epop rbx
0022832fpop rbp
00228330ret
002282d0
00228331
00228331 // align 0x10
00228331 // align 0x10
00228340
00228340caml_final_do_calls_res:
00228340push rbp
00228341push rbx
00228342sub rsp, 8
00228346mov rax, [rip+0x4dc97]
0022834dmov rax, [rax]
00228351mov rbx, [rax+176]
00228358cmp [rbx+96], 0
0022835djne 0x228439
00228363cmp [rbx+80], 0
00228368je 0x228439
0022836emov rax, [rip+0x1508c7]
00228375test rax, rax
00228378je 0x228380
0022837acall rax
0022837cmov edi, 128
00228381lea rsi, [rip+37492]
00228388xor eax, eax
0022838acall caml_gc_message
0022838fmov rdi, [rbx+80]
00228393test rdi, rdi
00228396je 0x228418
00228398mov eax, [rdi+8]
0022839btest eax, eax
0022839dje 0x2283f1
0022839fsub eax, 1
002283a2mov [rdi+8], eax
002283a5mov rax, [rbx+80]
002283a9movsxd rdx, [rax+8]
002283adlea rdx, [rdx+2*rdx]
002283b1lea rax, [rax+8*rdx]
002283b5mov rdx, [rax+24]
002283b9movsxd rsi, [rax+32]
002283bdmov rdi, [rax+16]
002283c1mov [rbx+96], 1
002283c9add rsi, rdx
002283cccall caml_callback_res
002283d1mov [rbx+96], 0
002283d9test eax, eax
002283dbjne 0x228460
002283ddmov rdi, [rbx+80]
002283e1test rdi, rdi
002283e4je 0x228418
002283e6mov eax, [rdi+8]
002283e9test eax, eax
002283ebjne 0x2283a3
002283edmov rbp, [rdi]
002283f0call caml_stat_free
002283f5mov [rbx+80], rbp
002283f9test rbp, rbp
002283fcje 0x228410
002283femov rdi, rbp
00228401jmp 0x22839c
00228403db 0x89
00228404out dx, eax
00228405jmp 0x22839c
00228407
00228407 66 0f 1f 84 00 00 00 00 00 f........
00228410
00228410loc_228410:
00228410mov [rbx+88], 0
00228418
00228418loc_228418:
00228418xor eax, eax
0022841alea rsi, [rip+37383]
00228421mov edi, 128
00228426call caml_gc_message
0022842bmov rax, [rip+0x150806]
00228432test rax, rax
00228435je 0x228439
00228437call rax
00228439
00228439loc_228439:
00228439xor ecx, ecx
0022843bmov ebp, 1
00228440add rsp, 8
00228444mov rsi, 0xffffffff00000000
0022844eand rcx, rsi
00228451mov rdx, rbp
00228454pop rbx
00228455pop rbp
00228456mov rdi, rcx
00228459mov eax, edi
0022845bret
0022845c
0022845c 0f 1f 40 00 ..@.
00228460
00228460loc_228460:
00228460mov rbp, rdx
00228463add rsp, 8
00228467mov rdi, rax
0022846amov rdx, rbp
0022846dmov eax, edi
0022846fpop rbx
00228470pop rbp
00228471ret
00228340
00228340caml_final_do_calls_res:
00228340push rbp
00228341push rbx
00228342sub rsp, 8
00228346mov rax, [rip+0x4dc97]
0022834dmov rax, [rax]
00228351mov rbx, [rax+176]
00228358cmp [rbx+96], 0
0022835djne 0x228439
00228363cmp [rbx+80], 0
00228368je 0x228439
0022836emov rax, [rip+0x1508c7]
00228375test rax, rax
00228378je 0x228380
0022837acall rax
0022837cmov edi, 128
00228381lea rsi, [rip+37492]
00228388xor eax, eax
0022838acall caml_gc_message
0022838fmov rdi, [rbx+80]
00228393test rdi, rdi
00228396je 0x228418
00228398mov eax, [rdi+8]
0022839btest eax, eax
0022839dje 0x2283f1
0022839fsub eax, 1
002283a2mov [rdi+8], eax
002283a5mov rax, [rbx+80]
002283a9movsxd rdx, [rax+8]
002283adlea rdx, [rdx+2*rdx]
002283b1lea rax, [rax+8*rdx]
002283b5mov rdx, [rax+24]
002283b9movsxd rsi, [rax+32]
002283bdmov rdi, [rax+16]
002283c1mov [rbx+96], 1
002283c9add rsi, rdx
002283cccall caml_callback_res
002283d1mov [rbx+96], 0
002283d9test eax, eax
002283dbjne 0x228460
002283ddmov rdi, [rbx+80]
002283e1test rdi, rdi
002283e4je 0x228418
002283e6mov eax, [rdi+8]
002283e9test eax, eax
002283ebjne 0x2283a3
002283edmov rbp, [rdi]
002283f0call caml_stat_free
002283f5mov [rbx+80], rbp
002283f9test rbp, rbp
002283fcje 0x228410
002283femov rdi, rbp
00228401jmp 0x22839c
00228403db 0x89
00228404out dx, eax
00228405jmp 0x22839c
00228407
00228407 66 0f 1f 84 00 00 00 00 00 f........
00228410
00228410loc_228410:
00228410mov [rbx+88], 0
00228418
00228418loc_228418:
00228418xor eax, eax
0022841alea rsi, [rip+37383]
00228421mov edi, 128
00228426call caml_gc_message
0022842bmov rax, [rip+0x150806]
00228432test rax, rax
00228435je 0x228439
00228437call rax
00228439
00228439loc_228439:
00228439xor ecx, ecx
0022843bmov ebp, 1
00228440add rsp, 8
00228444mov rsi, 0xffffffff00000000
0022844eand rcx, rsi
00228451mov rdx, rbp
00228454pop rbx
00228455pop rbp
00228456mov rdi, rcx
00228459mov eax, edi
0022845bret
0022845c
0022845c 0f 1f 40 00 ..@.
00228460
00228460loc_228460:
00228460mov rbp, rdx
00228463add rsp, 8
00228467mov rdi, rax
0022846amov rdx, rbp
0022846dmov eax, edi
0022846fpop rbx
00228470pop rbp
00228471ret
00228340
00228472
00228472 // align 0x10
00228472 // align 0x10
00228480
00228480caml_final_do_roots:
00228480push r15
00228482xor r15l, r15l
00228485push r14
00228487mov r14l, r8l
0022848apush r13
0022848cmov r13, rdx
0022848fpush r12
00228491mov r12, rdi
00228494push rbp
00228495push rbx
00228496sub rsp, 8
0022849amov rbp, [rcx+176]
002284a1cmp [rbp+16], 0
002284a6je 0x2284e9
002284a8nop [rax]
002284acmov rdx, [rbp]
002284b0
002284b0loc_2284b0:
002284b0lea rbx, [r15+2*r15]
002284b4mov rdi, r13
002284b7shl rbx, 3
002284bbadd rdx, rbx
002284bemov rsi, [rdx]
002284c1call r12
002284c4test r14l, r14l
002284c7je 0x2284df
002284c9add rbx, [rbp]
002284cdmov rdi, r13
002284d0mov rsi, [rbx+8]
002284d4lea rdx, [rbx+8]
002284d8call r12
002284dbadd r15, 1
002284df
002284dfloc_2284df:
002284dfcmp r15, [rbp+16]
002284e3jb 0x2284b0
002284e5xor r15l, r15l
002284e8cmp [rbp+56], 0
002284edje 0x228539
002284efnop [rax+rax]
002284fanop
002284fcmov rdx, [rbp+40]
00228500
00228500loc_228500:
00228500lea rbx, [r15+2*r15]
00228504mov rdi, r13
00228507shl rbx, 3
0022850badd rdx, rbx
0022850emov rsi, [rdx]
00228511call r12
00228514test r14l, r14l
00228517je 0x22852f
00228519add rbx, [rbp+40]
0022851dmov rdi, r13
00228520mov rsi, [rbx+8]
00228524lea rdx, [rbx+8]
00228528call r12
0022852badd r15, 1
0022852f
0022852floc_22852f:
0022852fcmp r15, [rbp+56]
00228533jb 0x228500
00228535mov r14, [rbp+80]
00228539
00228539loc_228539:
00228539test r14, r14
0022853cje 0x228593
0022853enop [rax+rax]
00228549nop [rax]
0022854cmov eax, [r14+8]
00228550
00228550loc_228550:
00228550lea rbx, [r14+16]
00228554xor ebp, ebp
00228556test eax, eax
00228558je 0x22858b
0022855anop
0022855cmov rsi, [rbx]
0022855fmov rdx, rbx
00228562mov rdi, r13
00228565add rbp, 1
00228569call r12
0022856cmov rsi, [rbx+8]
00228570lea rdx, [rbx+8]
00228574mov rdi, r13
00228577call r12
0022857amovsxd rax, [r14+8]
0022857eadd rbx, 24
00228582cmp rbp, rax
00228585jb 0x228560
00228587mov r14, [r14]
0022858atest r14, r14
0022858djne 0x228550
0022858fadd rsp, 8
00228593
00228593loc_228593:
00228593pop rbx
00228594pop rbp
00228595pop r12
00228597pop r13
00228599pop r14
0022859bpop r15
0022859dret
0022859edb 0x5e
0022859fpop r15
002285a1ret
00228480
00228480caml_final_do_roots:
00228480push r15
00228482xor r15l, r15l
00228485push r14
00228487mov r14l, r8l
0022848apush r13
0022848cmov r13, rdx
0022848fpush r12
00228491mov r12, rdi
00228494push rbp
00228495push rbx
00228496sub rsp, 8
0022849amov rbp, [rcx+176]
002284a1cmp [rbp+16], 0
002284a6je 0x2284e9
002284a8nop [rax]
002284acmov rdx, [rbp]
002284b0
002284b0loc_2284b0:
002284b0lea rbx, [r15+2*r15]
002284b4mov rdi, r13
002284b7shl rbx, 3
002284bbadd rdx, rbx
002284bemov rsi, [rdx]
002284c1call r12
002284c4test r14l, r14l
002284c7je 0x2284df
002284c9add rbx, [rbp]
002284cdmov rdi, r13
002284d0mov rsi, [rbx+8]
002284d4lea rdx, [rbx+8]
002284d8call r12
002284dbadd r15, 1
002284df
002284dfloc_2284df:
002284dfcmp r15, [rbp+16]
002284e3jb 0x2284b0
002284e5xor r15l, r15l
002284e8cmp [rbp+56], 0
002284edje 0x228539
002284efnop [rax+rax]
002284fanop
002284fcmov rdx, [rbp+40]
00228500
00228500loc_228500:
00228500lea rbx, [r15+2*r15]
00228504mov rdi, r13
00228507shl rbx, 3
0022850badd rdx, rbx
0022850emov rsi, [rdx]
00228511call r12
00228514test r14l, r14l
00228517je 0x22852f
00228519add rbx, [rbp+40]
0022851dmov rdi, r13
00228520mov rsi, [rbx+8]
00228524lea rdx, [rbx+8]
00228528call r12
0022852badd r15, 1
0022852f
0022852floc_22852f:
0022852fcmp r15, [rbp+56]
00228533jb 0x228500
00228535mov r14, [rbp+80]
00228539
00228539loc_228539:
00228539test r14, r14
0022853cje 0x228593
0022853enop [rax+rax]
00228549nop [rax]
0022854cmov eax, [r14+8]
00228550
00228550loc_228550:
00228550lea rbx, [r14+16]
00228554xor ebp, ebp
00228556test eax, eax
00228558je 0x22858b
0022855anop
0022855cmov rsi, [rbx]
0022855fmov rdx, rbx
00228562mov rdi, r13
00228565add rbp, 1
00228569call r12
0022856cmov rsi, [rbx+8]
00228570lea rdx, [rbx+8]
00228574mov rdi, r13
00228577call r12
0022857amovsxd rax, [r14+8]
0022857eadd rbx, 24
00228582cmp rbp, rax
00228585jb 0x228560
00228587mov r14, [r14]
0022858atest r14, r14
0022858djne 0x228550
0022858fadd rsp, 8
00228593
00228593loc_228593:
00228593pop rbx
00228594pop rbp
00228595pop r12
00228597pop r13
00228599pop r14
0022859bpop r15
0022859dret
0022859edb 0x5e
0022859fpop r15
002285a1ret
00228480
002285a2
002285a2 // align 0x10
002285a2 // align 0x10
002285b0
002285b0caml_final_do_young_roots:
002285b0push r15
002285b2push r14
002285b4mov r14l, r8l
002285b7push r13
002285b9mov r13, rdx
002285bcpush r12
002285bemov r12, rdi
002285c1push rbp
002285c2push rbx
002285c3sub rsp, 8
002285c7mov rbp, [rcx+176]
002285cemov r15, [rbp+8]
002285d2cmp r15, [rbp+16]
002285d6jae 0x228614
002285d8nop [rax]
002285dcmov rdx, [rbp]
002285e0
002285e0loc_2285e0:
002285e0lea rbx, [r15+2*r15]
002285e4mov rdi, r13
002285e7add r15, 1
002285ebshl rbx, 3
002285efadd rdx, rbx
002285f2mov rsi, [rdx]
002285f5call r12
002285f8add rbx, [rbp]
002285fcmov rdi, r13
002285ffmov rsi, [rbx+8]
00228603lea rdx, [rbx+8]
00228607call r12
0022860acmp r15, [rbp+16]
0022860ejb 0x2285e0
00228610mov r15, [rbp+48]
00228614
00228614loc_228614:
00228614cmp r15, [rbp+56]
00228618jae 0x228659
0022861anop
0022861cmov rdx, [rbp+40]
00228620
00228620loc_228620:
00228620lea rbx, [r15+2*r15]
00228624mov rdi, r13
00228627shl rbx, 3
0022862badd rdx, rbx
0022862emov rsi, [rdx]
00228631call r12
00228634test r14l, r14l
00228637je 0x22864f
00228639add rbx, [rbp+40]
0022863dmov rdi, r13
00228640mov rsi, [rbx+8]
00228644lea rdx, [rbx+8]
00228648call r12
0022864badd r15, 1
0022864f
0022864floc_22864f:
0022864fcmp r15, [rbp+56]
00228653jb 0x228620
00228655add rsp, 8
00228659
00228659loc_228659:
00228659pop rbx
0022865apop rbp
0022865bpop r12
0022865dpop r13
0022865fpop r14
00228661pop r15
00228663ret
00228664db 0x5e
00228665pop r15
00228667ret
002285b0
002285b0caml_final_do_young_roots:
002285b0push r15
002285b2push r14
002285b4mov r14l, r8l
002285b7push r13
002285b9mov r13, rdx
002285bcpush r12
002285bemov r12, rdi
002285c1push rbp
002285c2push rbx
002285c3sub rsp, 8
002285c7mov rbp, [rcx+176]
002285cemov r15, [rbp+8]
002285d2cmp r15, [rbp+16]
002285d6jae 0x228614
002285d8nop [rax]
002285dcmov rdx, [rbp]
002285e0
002285e0loc_2285e0:
002285e0lea rbx, [r15+2*r15]
002285e4mov rdi, r13
002285e7add r15, 1
002285ebshl rbx, 3
002285efadd rdx, rbx
002285f2mov rsi, [rdx]
002285f5call r12
002285f8add rbx, [rbp]
002285fcmov rdi, r13
002285ffmov rsi, [rbx+8]
00228603lea rdx, [rbx+8]
00228607call r12
0022860acmp r15, [rbp+16]
0022860ejb 0x2285e0
00228610mov r15, [rbp+48]
00228614
00228614loc_228614:
00228614cmp r15, [rbp+56]
00228618jae 0x228659
0022861anop
0022861cmov rdx, [rbp+40]
00228620
00228620loc_228620:
00228620lea rbx, [r15+2*r15]
00228624mov rdi, r13
00228627shl rbx, 3
0022862badd rdx, rbx
0022862emov rsi, [rdx]
00228631call r12
00228634test r14l, r14l
00228637je 0x22864f
00228639add rbx, [rbp+40]
0022863dmov rdi, r13
00228640mov rsi, [rbx+8]
00228644lea rdx, [rbx+8]
00228648call r12
0022864badd r15, 1
0022864f
0022864floc_22864f:
0022864fcmp r15, [rbp+56]
00228653jb 0x228620
00228655add rsp, 8
00228659
00228659loc_228659:
00228659pop rbx
0022865apop rbp
0022865bpop r12
0022865dpop r13
0022865fpop r14
00228661pop r15
00228663ret
00228664db 0x5e
00228665pop r15
00228667ret
002285b0
00228668
00228668 // align 0x20
00228668 // align 0x20
00228680
00228680caml_final_update_last_minor:
00228680push r15
00228682push r14
00228684push r13
00228686push r12
00228688push rbp
00228689push rbx
0022868asub rsp, 8
0022868emov rbx, [rdi+176]
00228695mov rbp, [rbx+48]
00228699cmp rbp, [rbx+56]
0022869djae 0x22876a
002286a3mov r12, rdi
002286a6xor r13l, r13l
002286a9jmp 0x2286cd
002286abdb 0x31
002286acin eax, dx
002286adjmp 0x2286cd
002286af
002286af 66 f
002286b0 66 2e 0f 1f 84 00 00 00 00 00 66 0f 1f 44 00 00 f.........f..D..
002286c0
002286c0loc_2286c0:
002286c0mov rdx, [rbx+56]
002286c4add rbp, 1
002286c8cmp rbp, rdx
002286cbjae 0x228710
002286cd
002286cdloc_2286cd:
002286cdmov rdx, [rbx+40]
002286d1lea rax, [rbp+2*rbp]
002286d6lea rax, [rdx+8*rax]
002286damov rdi, [rax+8]
002286decmp rdi, [rip+0x14fee3]
002286e5jae 0x2286c0
002286e7cmp [rip+0x14fee2], rdi
002286eejae 0x2286c0
002286f0call caml_get_header_val
002286f5mov rdx, [rbx+56]
002286f9cmp rax, 1
002286fdsbb r13, -1
00228701add rbp, 1
00228705cmp rbp, rdx
00228708jb 0x2286cd
0022870anop [rax+rax]
00228710
00228710loc_228710:
00228710test r13, r13
00228713jne 0x228780
00228715
00228715loc_228715:
00228715mov rax, [rbx+48]
00228719cmp rax, rdx
0022871cjae 0x22876a
0022871elea rdx, [rax+2*rax]
00228722mov rdi, [rip+0x14fe9f]
00228729mov r8, [rip+0x14fea0]
00228730shl rdx, 3
00228734nop [rax+rax]
0022873fnop
00228740
00228740loc_228740:
00228740mov rsi, [rbx+40]
00228744add rsi, rdx
00228747mov rcx, [rsi+8]
0022874bcmp rcx, rdi
0022874ejae 0x22875c
00228750cmp r8, rcx
00228753jae 0x22875c
00228755mov rcx, [rcx]
00228758mov [rsi+8], rcx
0022875c
0022875cloc_22875c:
0022875cadd rax, 1
00228760add rdx, 24
00228764cmp rax, [rbx+56]
00228768jb 0x228740
0022876a
0022876aloc_22876a:
0022876aadd rsp, 8
0022876epop rbx
0022876fpop rbp
00228770pop r12
00228772pop r13
00228774pop r14
00228776pop r15
00228778ret
00228779
00228779 0f 1f 80 00 00 00 00 .......
00228780
00228780loc_228780:
00228780mov rdi, r12
00228783call caml_set_action_pending
00228788mov esi, r13l
0022878bmov rdi, r12
0022878ecall fn_227fc0
00228793mov r14, [rbx+48]
00228797cmp r14, [rbx+56]
0022879bjae 0x228860
002287a1mov rbp, r14
002287a4xor r15l, r15l
002287a7jmp 0x2287d9
002287a9
002287a9 0f 1f 80 00 00 00 00 .......
002287b0
002287b0loc_2287b0:
002287b0movdqu x0, [rax]
002287b4lea rcx, [r14+2*r14]
002287b8add rbp, 1
002287bcadd r14, 1
002287c0lea rdx, [rdx+8*rcx]
002287c4movups [rdx], x0
002287c7mov rax, [rax+16]
002287cbmov [rdx+16], rax
002287cfcmp rbp, [rbx+56]
002287d3jae 0x228860
002287d9
002287d9loc_2287d9:
002287d9mov rdx, [rbx+40]
002287ddlea r12, [rbp+2*rbp]
002287e2shl r12, 3
002287e6lea rax, [rdx+r12]
002287eamov rdi, [rax+8]
002287eecmp rdi, [rip+0x14fdd3]
002287f5jae 0x2287b0
002287f7cmp [rip+0x14fdd2], rdi
002287fejae 0x2287b0
00228800call caml_get_header_val
00228805mov rdx, [rbx+40]
00228809mov rcx, rax
0022880clea rax, [rdx+r12]
00228810test rcx, rcx
00228813je 0x2287b0
00228815mov rcx, [rbx+88]
00228819lea rdx, [r15+2*r15]
0022881dmovdqu x0, [rax]
00228821add r15, 1
00228825shl rdx, 3
00228829add rbp, 1
0022882dadd rcx, rdx
00228830movups [rcx+16], x0
00228834mov rax, [rax+16]
00228838mov [rcx+32], rax
0022883cmov rax, [rbx+88]
00228840add rax, rdx
00228843mov [rax+24], 1
0022884badd rdx, [rbx+88]
0022884fmov [rdx+32], 0
00228856cmp rbp, [rbx+56]
0022885ajb 0x2287d9
00228860
00228860loc_228860:
00228860mov rax, [rbx+88]
00228864mov [rbx+56], r14
00228868mov [rax+8], r13l
0022886cmov rdx, [rbx+56]
00228870jmp 0x228715
00228680
00228680caml_final_update_last_minor:
00228680push r15
00228682push r14
00228684push r13
00228686push r12
00228688push rbp
00228689push rbx
0022868asub rsp, 8
0022868emov rbx, [rdi+176]
00228695mov rbp, [rbx+48]
00228699cmp rbp, [rbx+56]
0022869djae 0x22876a
002286a3mov r12, rdi
002286a6xor r13l, r13l
002286a9jmp 0x2286cd
002286abdb 0x31
002286acin eax, dx
002286adjmp 0x2286cd
002286af
002286af 66 f
002286b0 66 2e 0f 1f 84 00 00 00 00 00 66 0f 1f 44 00 00 f.........f..D..
002286c0
002286c0loc_2286c0:
002286c0mov rdx, [rbx+56]
002286c4add rbp, 1
002286c8cmp rbp, rdx
002286cbjae 0x228710
002286cd
002286cdloc_2286cd:
002286cdmov rdx, [rbx+40]
002286d1lea rax, [rbp+2*rbp]
002286d6lea rax, [rdx+8*rax]
002286damov rdi, [rax+8]
002286decmp rdi, [rip+0x14fee3]
002286e5jae 0x2286c0
002286e7cmp [rip+0x14fee2], rdi
002286eejae 0x2286c0
002286f0call caml_get_header_val
002286f5mov rdx, [rbx+56]
002286f9cmp rax, 1
002286fdsbb r13, -1
00228701add rbp, 1
00228705cmp rbp, rdx
00228708jb 0x2286cd
0022870anop [rax+rax]
00228710
00228710loc_228710:
00228710test r13, r13
00228713jne 0x228780
00228715
00228715loc_228715:
00228715mov rax, [rbx+48]
00228719cmp rax, rdx
0022871cjae 0x22876a
0022871elea rdx, [rax+2*rax]
00228722mov rdi, [rip+0x14fe9f]
00228729mov r8, [rip+0x14fea0]
00228730shl rdx, 3
00228734nop [rax+rax]
0022873fnop
00228740
00228740loc_228740:
00228740mov rsi, [rbx+40]
00228744add rsi, rdx
00228747mov rcx, [rsi+8]
0022874bcmp rcx, rdi
0022874ejae 0x22875c
00228750cmp r8, rcx
00228753jae 0x22875c
00228755mov rcx, [rcx]
00228758mov [rsi+8], rcx
0022875c
0022875cloc_22875c:
0022875cadd rax, 1
00228760add rdx, 24
00228764cmp rax, [rbx+56]
00228768jb 0x228740
0022876a
0022876aloc_22876a:
0022876aadd rsp, 8
0022876epop rbx
0022876fpop rbp
00228770pop r12
00228772pop r13
00228774pop r14
00228776pop r15
00228778ret
00228779
00228779 0f 1f 80 00 00 00 00 .......
00228780
00228780loc_228780:
00228780mov rdi, r12
00228783call caml_set_action_pending
00228788mov esi, r13l
0022878bmov rdi, r12
0022878ecall fn_227fc0
00228793mov r14, [rbx+48]
00228797cmp r14, [rbx+56]
0022879bjae 0x228860
002287a1mov rbp, r14
002287a4xor r15l, r15l
002287a7jmp 0x2287d9
002287a9
002287a9 0f 1f 80 00 00 00 00 .......
002287b0
002287b0loc_2287b0:
002287b0movdqu x0, [rax]
002287b4lea rcx, [r14+2*r14]
002287b8add rbp, 1
002287bcadd r14, 1
002287c0lea rdx, [rdx+8*rcx]
002287c4movups [rdx], x0
002287c7mov rax, [rax+16]
002287cbmov [rdx+16], rax
002287cfcmp rbp, [rbx+56]
002287d3jae 0x228860
002287d9
002287d9loc_2287d9:
002287d9mov rdx, [rbx+40]
002287ddlea r12, [rbp+2*rbp]
002287e2shl r12, 3
002287e6lea rax, [rdx+r12]
002287eamov rdi, [rax+8]
002287eecmp rdi, [rip+0x14fdd3]
002287f5jae 0x2287b0
002287f7cmp [rip+0x14fdd2], rdi
002287fejae 0x2287b0
00228800call caml_get_header_val
00228805mov rdx, [rbx+40]
00228809mov rcx, rax
0022880clea rax, [rdx+r12]
00228810test rcx, rcx
00228813je 0x2287b0
00228815mov rcx, [rbx+88]
00228819lea rdx, [r15+2*r15]
0022881dmovdqu x0, [rax]
00228821add r15, 1
00228825shl rdx, 3
00228829add rbp, 1
0022882dadd rcx, rdx
00228830movups [rcx+16], x0
00228834mov rax, [rax+16]
00228838mov [rcx+32], rax
0022883cmov rax, [rbx+88]
00228840add rax, rdx
00228843mov [rax+24], 1
0022884badd rdx, [rbx+88]
0022884fmov [rdx+32], 0
00228856cmp rbp, [rbx+56]
0022885ajb 0x2287d9
00228860
00228860loc_228860:
00228860mov rax, [rbx+88]
00228864mov [rbx+56], r14
00228868mov [rax+8], r13l
0022886cmov rdx, [rbx+56]
00228870jmp 0x228715
00228680
00228875
00228875 // align 0x10
00228875 // align 0x10
00228880
00228880caml_final_empty_young:
00228880mov rax, [rdi+176]
00228887mov rdx, [rax+16]
0022888bmov [rax+8], rdx
0022888fmov rdx, [rax+56]
00228893mov [rax+48], rdx
00228897ret
00228898db 0x89
00228899push rax
0022889axor bl, al
00228880
00228880caml_final_empty_young:
00228880mov rax, [rdi+176]
00228887mov rdx, [rax+16]
0022888bmov [rax+8], rdx
0022888fmov rdx, [rax+56]
00228893mov [rax+48], rdx
00228897ret
00228898db 0x89
00228899push rax
0022889axor bl, al
00228880
0022889c
0022889c // align 0x10
0022889c // align 0x10
002288a0
002288a0caml_final_merge_finalisable:
002288a0push r12
002288a2push rbp
002288a3mov rbp, rdi
002288a6push rbx
002288a7mov rax, [rdi+16]
002288abmov rbx, rsi
002288aemov rdx, [rsi+16]
002288b2mov rdi, [rbx]
002288b5lea rsi, [rdx+rax]
002288b9cmp rsi, [rbx+24]
002288bdjb 0x2288ea
002288bflea r12, [rsi+rsi]
002288c3add rsi, r12
002288c6shl rsi, 4
002288catest rdi, rdi
002288cdje 0x228938
002288cfcall caml_stat_resize
002288d4mov [rbx], rax
002288d7mov rdi, rax
002288damov rdx, [rbx+16]
002288demov [rbx+24], r12
002288e2mov rax, [rbp+16]
002288e6lea rax, [rax+2*rax]
002288ea
002288ealoc_2288ea:
002288ealea rdx, [rdx+2*rdx]
002288eemov rsi, rdi
002288f1lea rax, [rdi+8*rax]
002288f5shl rdx, 3
002288f9mov rdi, rax
002288fccall fn_f4520
00228901mov rax, [rbp+16]
00228905mov rdi, [rbx]
00228908mov rsi, [rbp]
0022890clea rdx, [rax+2*rax]
00228910shl rdx, 3
00228914call fn_f47d0
00228919mov rax, [rbp+16]
0022891dadd [rbx+8], rax
00228921mov rax, [rbp+16]
00228925add [rbx+16], rax
00228929pop rbx
0022892apop rbp
0022892bpop r12
0022892dret
0022892edb 0x5d
0022892fpop r12
00228931ret
00228932
00228932 66 0f 1f 44 00 00 f..D..
00228938
00228938loc_228938:
00228938mov rdi, rsi
0022893bcall caml_stat_alloc
00228940jmp 0x2288d8
002288a0
002288a0caml_final_merge_finalisable:
002288a0push r12
002288a2push rbp
002288a3mov rbp, rdi
002288a6push rbx
002288a7mov rax, [rdi+16]
002288abmov rbx, rsi
002288aemov rdx, [rsi+16]
002288b2mov rdi, [rbx]
002288b5lea rsi, [rdx+rax]
002288b9cmp rsi, [rbx+24]
002288bdjb 0x2288ea
002288bflea r12, [rsi+rsi]
002288c3add rsi, r12
002288c6shl rsi, 4
002288catest rdi, rdi
002288cdje 0x228938
002288cfcall caml_stat_resize
002288d4mov [rbx], rax
002288d7mov rdi, rax
002288damov rdx, [rbx+16]
002288demov [rbx+24], r12
002288e2mov rax, [rbp+16]
002288e6lea rax, [rax+2*rax]
002288ea
002288ealoc_2288ea:
002288ealea rdx, [rdx+2*rdx]
002288eemov rsi, rdi
002288f1lea rax, [rdi+8*rax]
002288f5shl rdx, 3
002288f9mov rdi, rax
002288fccall fn_f4520
00228901mov rax, [rbp+16]
00228905mov rdi, [rbx]
00228908mov rsi, [rbp]
0022890clea rdx, [rax+2*rax]
00228910shl rdx, 3
00228914call fn_f47d0
00228919mov rax, [rbp+16]
0022891dadd [rbx+8], rax
00228921mov rax, [rbp+16]
00228925add [rbx+16], rax
00228929pop rbx
0022892apop rbp
0022892bpop r12
0022892dret
0022892edb 0x5d
0022892fpop r12
00228931ret
00228932
00228932 66 0f 1f 44 00 00 f..D..
00228938
00228938loc_228938:
00228938mov rdi, rsi
0022893bcall caml_stat_alloc
00228940jmp 0x2288d8
002288a0
00228942
00228942 // align 0x10
00228942 // align 0x10
00228950
00228950caml_final_register:
00228950sub rsp, 8
00228954mov rax, [rip+0x4d689]
0022895bmov rdx, rsi
0022895emov rsi, rdi
00228961mov rax, [rax]
00228965mov rax, [rax+176]
0022896cmov rdi, rax
0022896fcall fn_227e60
00228974mov eax, 1
00228979add rsp, 8
0022897dret
0022897edb 0x83
0022897fdb 0xc4
00228980or bl, al
00228950
00228950caml_final_register:
00228950sub rsp, 8
00228954mov rax, [rip+0x4d689]
0022895bmov rdx, rsi
0022895emov rsi, rdi
00228961mov rax, [rax]
00228965mov rax, [rax+176]
0022896cmov rdi, rax
0022896fcall fn_227e60
00228974mov eax, 1
00228979add rsp, 8
0022897dret
0022897edb 0x83
0022897fdb 0xc4
00228980or bl, al
00228950
00228982
00228982 // align 0x10
00228982 // align 0x10
00228990
00228990caml_final_register_called_without_value:
00228990sub rsp, 8
00228994mov rax, [rip+0x4d649]
0022899bmov rcx, rdi
0022899emov rdx, rsi
002289a1mov rsi, rcx
002289a4mov rax, [rax]
002289a8mov rax, [rax+176]
002289aflea rdi, [rax+40]
002289b3call fn_227e60
002289b8mov eax, 1
002289bdadd rsp, 8
002289c1ret
002289c2db 0x83
002289c3db 0xc4
002289c4or bl, al
00228990
00228990caml_final_register_called_without_value:
00228990sub rsp, 8
00228994mov rax, [rip+0x4d649]
0022899bmov rcx, rdi
0022899emov rdx, rsi
002289a1mov rsi, rcx
002289a4mov rax, [rax]
002289a8mov rax, [rax+176]
002289aflea rdi, [rax+40]
002289b3call fn_227e60
002289b8mov eax, 1
002289bdadd rsp, 8
002289c1ret
002289c2db 0x83
002289c3db 0xc4
002289c4or bl, al
00228990
002289c6
002289c6 // align 0x10
002289c6 // align 0x10
002289d0
002289d0caml_final_release:
002289d0mov rax, [rip+0x4d60d]
002289d7mov rax, [rax]
002289dbmov rax, [rax+176]
002289e2mov [rax+96], 0
002289eamov eax, 1
002289efret
002289f0db 0x00
002289f1add [rax], al
002289f3ret
002289d0
002289d0caml_final_release:
002289d0mov rax, [rip+0x4d60d]
002289d7mov rax, [rax]
002289dbmov rax, [rax+176]
002289e2mov [rax+96], 0
002289eamov eax, 1
002289efret
002289f0db 0x00
002289f1add [rax], al
002289f3ret
002289d0
002289f4
002289f4 // align 0x10
002289f4 // align 0x10
00228a00
00228a00caml_alloc_final_info:
00228a00sub rsp, 8
00228a04mov edi, 112
00228a09call caml_stat_alloc_noexc
00228a0emov rdx, rax
00228a11test rax, rax
00228a14je 0x228a42
00228a16lea rdi, [rax+8]
00228a1amov rcx, rax
00228a1dmov [rax], 0
00228a24and rdi, -8
00228a28mov [rax+104], 0
00228a30xor eax, eax
00228a32sub rcx, rdi
00228a35add ecx, 112
00228a38shr ecx, 3
00228a3brep stosq [rdi], rax
00228a3emov rax, rdx
00228a41add rsp, 8
00228a45ret
00228a46db 0x83
00228a47db 0xc4
00228a48or bl, al
00228a00
00228a00caml_alloc_final_info:
00228a00sub rsp, 8
00228a04mov edi, 112
00228a09call caml_stat_alloc_noexc
00228a0emov rdx, rax
00228a11test rax, rax
00228a14je 0x228a42
00228a16lea rdi, [rax+8]
00228a1amov rcx, rax
00228a1dmov [rax], 0
00228a24and rdi, -8
00228a28mov [rax+104], 0
00228a30xor eax, eax
00228a32sub rcx, rdi
00228a35add ecx, 112
00228a38shr ecx, 3
00228a3brep stosq [rdi], rax
00228a3emov rax, rdx
00228a41add rsp, 8
00228a45ret
00228a46db 0x83
00228a47db 0xc4
00228a48or bl, al
00228a00
00228a4a
00228a4a // align 0x20
00228a4a // align 0x20
00228a60
00228a60fn_228a60:
00228a60mov r9, [rdi]
00228a63mov rax, [rdi+16]
00228a67mov r8, rsi
00228a6amov r11, rdx
00228a6dtest eax, eax
00228a6fjs 0x228b15
00228a75movsxd rdx, eax
00228a78mov eax, eax
00228a7alea rsi, [8*rdx+40]
00228a82sub rdx, rax
00228a85lea r10, [8*rdx+32]
00228a8dnop [rax]
00228a90
00228a90loc_228a90:
00228a90mov rdi, [r9+rsi]
00228a94and rdi, -2
00228a98mov rdx, [rdi+rsi]
00228a9cmov rax, rdx
00228a9fand rax, -2
00228aa3and edx, 1
00228aa6je 0x228aee
00228aa8nop [rax+rax]
00228ab3nop [rax+rax]
00228abenop
00228ac0
00228ac0loc_228ac0:
00228ac0mov rdx, [rax+rsi]
00228ac4mov rcx, rax
00228ac7mov rax, rdx
00228acaand rax, -2
00228aceand edx, 1
00228ad1jne 0x228ac0
00228ad3mov rdi, rax
00228ad6cmp [rcx], r8
00228ad9jae 0x228b00
00228adb
00228adbloc_228adb:
00228adbmov rdx, [rdi+rsi]
00228adfmov r9, rcx
00228ae2mov rax, rdx
00228ae5and rax, -2
00228ae9and edx, 1
00228aecjne 0x228ac0
00228aee
00228aeeloc_228aee:
00228aeemov rcx, rdi
00228af1mov rdi, rax
00228af4cmp [rcx], r8
00228af7jb 0x228adb
00228af9nop [rax]
00228b00
00228b00loc_228b00:
00228b00sub rsi, 8
00228b04cmp rsi, r10
00228b07jne 0x228a90
00228b09
00228b09loc_228b09:
00228b09test r11, r11
00228b0cje 0x228b11
00228b0emov [r11], r9
00228b11
00228b11loc_228b11:
00228b11mov rax, rcx
00228b14ret
00228b15
00228b15loc_228b15:
00228b15xor ecx, ecx
00228b17jmp 0x228b09
00228a60
00228a60fn_228a60:
00228a60mov r9, [rdi]
00228a63mov rax, [rdi+16]
00228a67mov r8, rsi
00228a6amov r11, rdx
00228a6dtest eax, eax
00228a6fjs 0x228b15
00228a75movsxd rdx, eax
00228a78mov eax, eax
00228a7alea rsi, [8*rdx+40]
00228a82sub rdx, rax
00228a85lea r10, [8*rdx+32]
00228a8dnop [rax]
00228a90
00228a90loc_228a90:
00228a90mov rdi, [r9+rsi]
00228a94and rdi, -2
00228a98mov rdx, [rdi+rsi]
00228a9cmov rax, rdx
00228a9fand rax, -2
00228aa3and edx, 1
00228aa6je 0x228aee
00228aa8nop [rax+rax]
00228ab3nop [rax+rax]
00228abenop
00228ac0
00228ac0loc_228ac0:
00228ac0mov rdx, [rax+rsi]
00228ac4mov rcx, rax
00228ac7mov rax, rdx
00228acaand rax, -2
00228aceand edx, 1
00228ad1jne 0x228ac0
00228ad3mov rdi, rax
00228ad6cmp [rcx], r8
00228ad9jae 0x228b00
00228adb
00228adbloc_228adb:
00228adbmov rdx, [rdi+rsi]
00228adfmov r9, rcx
00228ae2mov rax, rdx
00228ae5and rax, -2
00228ae9and edx, 1
00228aecjne 0x228ac0
00228aee
00228aeeloc_228aee:
00228aeemov rcx, rdi
00228af1mov rdi, rax
00228af4cmp [rcx], r8
00228af7jb 0x228adb
00228af9nop [rax]
00228b00
00228b00loc_228b00:
00228b00sub rsi, 8
00228b04cmp rsi, r10
00228b07jne 0x228a90
00228b09
00228b09loc_228b09:
00228b09test r11, r11
00228b0cje 0x228b11
00228b0emov [r11], r9
00228b11
00228b11loc_228b11:
00228b11mov rax, rcx
00228b14ret
00228b15
00228b15loc_228b15:
00228b15xor ecx, ecx
00228b17jmp 0x228b09
00228a60
00228b19
00228b19 // align 0x10
00228b19 // align 0x10
00228b20
00228b20fn_228b20:
00228b20push r13
00228b22mov r11, rdi
00228b25xor r9l, r9l
00228b28lea rdi, [rdi+24]
00228b2cpush r12
00228b2epush rbp
00228b2fmov rbp, rdx
00228b32push rbx
00228b33mov rbx, rsi
00228b36sub rsp, 24
00228b3amov r12, [0x28]
00228b43mov [rsp+8], r12
00228b48mov r12, rcx
00228b4b
00228b4bloc_228b4b:
00228b4bmov r10, [r11]
00228b4emov r8l, 168
00228b54
00228b54loc_228b54:
00228b54mov rcx, [r10+r8]
00228b58and rcx, -2
00228b5cmov rax, [rcx+r8]
00228b60mov rdx, rax
00228b63and rdx, -2
00228b67test al, 1
00228b69je 0x228bee
00228b6fnop
00228b70
00228b70loc_228b70:
00228b70mov rax, rcx
00228b73lea rsi, [r10+r8]
00228b77mov rcx, rdx
00228b7anop [rax+rax]
00228b80
00228b80loc_228b80:
00228b80lock cmpxchg [rsi], rcx
00228b85mov rdx, rax
00228b88jne 0x228b4b
00228b8alea rcx, [rax+32]
00228b8emov r13l, 1
00228b94mov rax, r9
00228b97lock cmpxchg [rcx], r13
00228b9cjne 0x228bc0
00228b9emov r13, rsp
00228ba1
00228ba1loc_228ba1:
00228ba1mov rax, [rdi]
00228ba4mov [rsp], rax
00228ba8mov rax, [rsp]
00228bacmov [rcx], rax
00228bafmov rax, [r13]
00228bb3lock cmpxchg [rdi], rdx
00228bb8je 0x228bc0
00228bbamov [r13], rax
00228bbejmp 0x228ba1
00228bc0
00228bc0loc_228bc0:
00228bc0mov rax, [rsi]
00228bc3and rax, -2
00228bc7mov rdx, [rax+r8]
00228bcbmov rcx, rdx
00228bceand rcx, -2
00228bd2and edx, 1
00228bd5jne 0x228b80
00228bd7cmp [rax], rbx
00228bdajae 0x228bf9
00228bdc
00228bdcloc_228bdc:
00228bdcmov r10, rax
00228bdfmov rax, [rcx+r8]
00228be3mov rdx, rax
00228be6and rdx, -2
00228beatest al, 1
00228becjne 0x228b70
00228bee
00228beeloc_228bee:
00228beemov rax, rcx
00228bf1mov rcx, rdx
00228bf4cmp [rax], rbx
00228bf7jb 0x228bdc
00228bf9
00228bf9loc_228bf9:
00228bf9mov [rbp+r8-40], r10
00228bfemov [r12+r8-40], rax
00228c03sub r8, 8
00228c07cmp r8, 32
00228c0bjne 0x228b54
00228c11cmp [rax], rbx
00228c14sete al
00228c17movzx eax, al
00228c1amov rdx, [rsp+8]
00228c1fsub rdx, [0x28]
00228c28jne 0x228c35
00228c2aadd rsp, 24
00228c2epop rbx
00228c2fpop rbp
00228c30pop r12
00228c32pop r13
00228c34ret
00228c35
00228c35loc_228c35:
00228c35call fn_f4590
00228b20
00228b20fn_228b20:
00228b20push r13
00228b22mov r11, rdi
00228b25xor r9l, r9l
00228b28lea rdi, [rdi+24]
00228b2cpush r12
00228b2epush rbp
00228b2fmov rbp, rdx
00228b32push rbx
00228b33mov rbx, rsi
00228b36sub rsp, 24
00228b3amov r12, [0x28]
00228b43mov [rsp+8], r12
00228b48mov r12, rcx
00228b4b
00228b4bloc_228b4b:
00228b4bmov r10, [r11]
00228b4emov r8l, 168
00228b54
00228b54loc_228b54:
00228b54mov rcx, [r10+r8]
00228b58and rcx, -2
00228b5cmov rax, [rcx+r8]
00228b60mov rdx, rax
00228b63and rdx, -2
00228b67test al, 1
00228b69je 0x228bee
00228b6fnop
00228b70
00228b70loc_228b70:
00228b70mov rax, rcx
00228b73lea rsi, [r10+r8]
00228b77mov rcx, rdx
00228b7anop [rax+rax]
00228b80
00228b80loc_228b80:
00228b80lock cmpxchg [rsi], rcx
00228b85mov rdx, rax
00228b88jne 0x228b4b
00228b8alea rcx, [rax+32]
00228b8emov r13l, 1
00228b94mov rax, r9
00228b97lock cmpxchg [rcx], r13
00228b9cjne 0x228bc0
00228b9emov r13, rsp
00228ba1
00228ba1loc_228ba1:
00228ba1mov rax, [rdi]
00228ba4mov [rsp], rax
00228ba8mov rax, [rsp]
00228bacmov [rcx], rax
00228bafmov rax, [r13]
00228bb3lock cmpxchg [rdi], rdx
00228bb8je 0x228bc0
00228bbamov [r13], rax
00228bbejmp 0x228ba1
00228bc0
00228bc0loc_228bc0:
00228bc0mov rax, [rsi]
00228bc3and rax, -2
00228bc7mov rdx, [rax+r8]
00228bcbmov rcx, rdx
00228bceand rcx, -2
00228bd2and edx, 1
00228bd5jne 0x228b80
00228bd7cmp [rax], rbx
00228bdajae 0x228bf9
00228bdc
00228bdcloc_228bdc:
00228bdcmov r10, rax
00228bdfmov rax, [rcx+r8]
00228be3mov rdx, rax
00228be6and rdx, -2
00228beatest al, 1
00228becjne 0x228b70
00228bee
00228beeloc_228bee:
00228beemov rax, rcx
00228bf1mov rcx, rdx
00228bf4cmp [rax], rbx
00228bf7jb 0x228bdc
00228bf9
00228bf9loc_228bf9:
00228bf9mov [rbp+r8-40], r10
00228bfemov [r12+r8-40], rax
00228c03sub r8, 8
00228c07cmp r8, 32
00228c0bjne 0x228b54
00228c11cmp [rax], rbx
00228c14sete al
00228c17movzx eax, al
00228c1amov rdx, [rsp+8]
00228c1fsub rdx, [0x28]
00228c28jne 0x228c35
00228c2aadd rsp, 24
00228c2epop rbx
00228c2fpop rbp
00228c30pop r12
00228c32pop r13
00228c34ret
00228c35
00228c35loc_228c35:
00228c35call fn_f4590
00228b20
00228c3a
00228c3a // align 0x10
00228c3a // align 0x10
00228c40
00228c40caml_lf_skiplist_init:
00228c40push rbp
00228c41xor ebp, ebp
00228c43push rbx
00228c44mov rbx, rdi
00228c47sub rsp, 8
00228c4bmov [rdi+16], 0
00228c53mov edi, 176
00228c58call caml_stat_alloc
00228c5dmov rsi, rbp
00228c60mov [rbx], rax
00228c63mov [rax], 0
00228c6amov rax, [rbx]
00228c6dmov [rax+8], 0
00228c75mov rax, [rbx]
00228c78xchg [rax+32], rsi
00228c7cmov edi, 176
00228c81mov rax, [rbx]
00228c84mov [rax+16], 16
00228c8ccall caml_stat_alloc
00228c91mov [rbx+8], rax
00228c95mov [rax], -1
00228c9cmov rax, [rbx+8]
00228ca0mov [rax+8], 0
00228ca8mov rax, [rbx+8]
00228cacxchg [rax+32], rbp
00228cb0mov rax, [rbx+8]
00228cb4mov [rax+16], 16
00228cbcmov rax, [rbx]
00228cbfxchg [rbx+24], rax
00228cc3mov eax, 40
00228cc8nop [rax+rax]
00228cd3nop [rax+rax]
00228cdcmov rdx, [rbx]
00228cdfmov rcx, [rbx+8]
00228ce3mov [rdx+rax], rcx
00228ce7mov rdx, [rbx+8]
00228cebmov [rdx+rax], 0
00228cf3add rax, 8
00228cf7cmp rax, 176
00228cfdjne 0x228ce0
00228cffadd rsp, 8
00228d03pop rbx
00228d04pop rbp
00228d05ret
00228d06db 0x08
00228d07pop rbx
00228d08pop rbp
00228d09ret
00228c40
00228c40caml_lf_skiplist_init:
00228c40push rbp
00228c41xor ebp, ebp
00228c43push rbx
00228c44mov rbx, rdi
00228c47sub rsp, 8
00228c4bmov [rdi+16], 0
00228c53mov edi, 176
00228c58call caml_stat_alloc
00228c5dmov rsi, rbp
00228c60mov [rbx], rax
00228c63mov [rax], 0
00228c6amov rax, [rbx]
00228c6dmov [rax+8], 0
00228c75mov rax, [rbx]
00228c78xchg [rax+32], rsi
00228c7cmov edi, 176
00228c81mov rax, [rbx]
00228c84mov [rax+16], 16
00228c8ccall caml_stat_alloc
00228c91mov [rbx+8], rax
00228c95mov [rax], -1
00228c9cmov rax, [rbx+8]
00228ca0mov [rax+8], 0
00228ca8mov rax, [rbx+8]
00228cacxchg [rax+32], rbp
00228cb0mov rax, [rbx+8]
00228cb4mov [rax+16], 16
00228cbcmov rax, [rbx]
00228cbfxchg [rbx+24], rax
00228cc3mov eax, 40
00228cc8nop [rax+rax]
00228cd3nop [rax+rax]
00228cdcmov rdx, [rbx]
00228cdfmov rcx, [rbx+8]
00228ce3mov [rdx+rax], rcx
00228ce7mov rdx, [rbx+8]
00228cebmov [rdx+rax], 0
00228cf3add rax, 8
00228cf7cmp rax, 176
00228cfdjne 0x228ce0
00228cffadd rsp, 8
00228d03pop rbx
00228d04pop rbp
00228d05ret
00228d06db 0x08
00228d07pop rbx
00228d08pop rbp
00228d09ret
00228c40
00228d0a
00228d0a // align 0x10
00228d0a // align 0x10
00228d10
00228d10caml_lf_skiplist_find:
00228d10push rbp
00228d11mov rbp, rdx
00228d14xor edx, edx
00228d16push rbx
00228d17mov rbx, rsi
00228d1acall fn_228a60
00228d1fxor edx, edx
00228d21cmp [rax], rbx
00228d24je 0x228d30
00228d26mov eax, edx
00228d28pop rbx
00228d29pop rbp
00228d2aret
00228d2bdb 0xd0
00228d2cpop rbx
00228d2dpop rbp
00228d2eret
00228d2f
00228d2f 90 .
00228d30
00228d30loc_228d30:
00228d30test rbp, rbp
00228d33je 0x228d3d
00228d35mov rax, [rax+8]
00228d39mov [rbp], rax
00228d3d
00228d3dloc_228d3d:
00228d3dmov edx, 1
00228d42pop rbx
00228d43pop rbp
00228d44mov eax, edx
00228d46ret
00228d10
00228d10caml_lf_skiplist_find:
00228d10push rbp
00228d11mov rbp, rdx
00228d14xor edx, edx
00228d16push rbx
00228d17mov rbx, rsi
00228d1acall fn_228a60
00228d1fxor edx, edx
00228d21cmp [rax], rbx
00228d24je 0x228d30
00228d26mov eax, edx
00228d28pop rbx
00228d29pop rbp
00228d2aret
00228d2bdb 0xd0
00228d2cpop rbx
00228d2dpop rbp
00228d2eret
00228d2f
00228d2f 90 .
00228d30
00228d30loc_228d30:
00228d30test rbp, rbp
00228d33je 0x228d3d
00228d35mov rax, [rax+8]
00228d39mov [rbp], rax
00228d3d
00228d3dloc_228d3d:
00228d3dmov edx, 1
00228d42pop rbx
00228d43pop rbp
00228d44mov eax, edx
00228d46ret
00228d10
00228d47
00228d47 // align 0x10
00228d47 // align 0x10
00228d50
00228d50caml_lf_skiplist_find_below:
00228d50push r13
00228d52push r12
00228d54mov r12, rdx
00228d57push rbp
00228d58mov rbp, rdi
00228d5bpush rbx
00228d5cmov rbx, rsi
00228d5fsub rsp, 24
00228d63mov r13, [0x28]
00228d6cmov [rsp+8], r13
00228d71mov r13, rcx
00228d74mov rdx, rsp
00228d77call fn_228a60
00228d7ccmp [rax], rbx
00228d7fje 0x228d8f
00228d81mov rax, [rsp]
00228d85cmp [rbp], rax
00228d89je 0x228dd0
00228d8btest r13, r13
00228d8eje 0x228d9c
00228d90mov rdx, [rax+8]
00228d94mov [r13], rdx
00228d98test r12, r12
00228d9bje 0x228da8
00228d9dmov rax, [rax]
00228da0mov [r12], rax
00228da4mov eax, 1
00228da9mov rdx, [rsp+8]
00228daesub rdx, [0x28]
00228db7jne 0x228dd4
00228db9add rsp, 24
00228dbdpop rbx
00228dbepop rbp
00228dbfpop r12
00228dc1pop r13
00228dc3ret
00228dc4db 0x5c
00228dc5pop r13
00228dc7ret
00228dc8
00228dc8 0f 1f 84 00 00 00 00 00 ........
00228dd0
00228dd0loc_228dd0:
00228dd0xor eax, eax
00228dd2jmp 0x228dad
00228dd4
00228dd4loc_228dd4:
00228dd4call fn_f4590
00228d50
00228d50caml_lf_skiplist_find_below:
00228d50push r13
00228d52push r12
00228d54mov r12, rdx
00228d57push rbp
00228d58mov rbp, rdi
00228d5bpush rbx
00228d5cmov rbx, rsi
00228d5fsub rsp, 24
00228d63mov r13, [0x28]
00228d6cmov [rsp+8], r13
00228d71mov r13, rcx
00228d74mov rdx, rsp
00228d77call fn_228a60
00228d7ccmp [rax], rbx
00228d7fje 0x228d8f
00228d81mov rax, [rsp]
00228d85cmp [rbp], rax
00228d89je 0x228dd0
00228d8btest r13, r13
00228d8eje 0x228d9c
00228d90mov rdx, [rax+8]
00228d94mov [r13], rdx
00228d98test r12, r12
00228d9bje 0x228da8
00228d9dmov rax, [rax]
00228da0mov [r12], rax
00228da4mov eax, 1
00228da9mov rdx, [rsp+8]
00228daesub rdx, [0x28]
00228db7jne 0x228dd4
00228db9add rsp, 24
00228dbdpop rbx
00228dbepop rbp
00228dbfpop r12
00228dc1pop r13
00228dc3ret
00228dc4db 0x5c
00228dc5pop r13
00228dc7ret
00228dc8
00228dc8 0f 1f 84 00 00 00 00 00 ........
00228dd0
00228dd0loc_228dd0:
00228dd0xor eax, eax
00228dd2jmp 0x228dad
00228dd4
00228dd4loc_228dd4:
00228dd4call fn_f4590
00228d50
00228dd9
00228dd9 // align 0x10
00228dd9 // align 0x10
00228de0
00228de0caml_lf_skiplist_insert:
00228de0push r15
00228de2push r14
00228de4push r13
00228de6push r12
00228de8mov r12, rdi
00228debpush rbp
00228decpush rbx
00228dedsub rsp, 328
00228df4mov [rsp+8], rsi
00228df9lea r15, [rsp+176]
00228e01lea r13, [rsp+32]
00228e06mov rbx, [0x28]
00228e0fmov [rsp+312], rbx
00228e17mov rbx, rdx
00228e1amov rsi, [rsp+8]
00228e1fmov rcx, r15
00228e22mov rdx, r13
00228e25mov rdi, r12
00228e28call fn_228b20
00228e2dmov ebp, eax
00228e2ftest eax, eax
00228e31jne 0x228fe1
00228e37mov eax, [rip+0x1503d3]
00228e3dimul edx, eax, 0x10dcd
00228e43add edx, 25173
00228e49lock cmpxchg [rip+0x1503bf], edx
00228e51jne 0x228e3b
00228e53mov eax, edx
00228e55not eax
00228e57test eax, 0xffffffffc0000000
00228e5cjne 0x228fb0
00228e62nop [rax+rax]
00228e6dnop [rax+rax]
00228e78nop [rax]
00228e7cshl edx, 2
00228e7fmov ecx, ebp
00228e81add ebp, 1
00228e84mov eax, edx
00228e86not eax
00228e88test eax, 0xffffffffc0000000
00228e8dje 0x228e80
00228e8fadd ecx, 2
00228e92movsxd r9, ebp
00228e95movsxd rcx, ecx
00228e98mov [rsp+16], r9
00228e9dlea rdi, [8*rcx+40]
00228ea5call caml_stat_alloc
00228eaamov r9, [rsp+16]
00228eafmov r14, rax
00228eb2mov [rax+16], r9
00228eb6mov rax, [rsp+8]
00228ebbmov [r14+8], rbx
00228ebfmov [r14], rax
00228ec2mov [r14+32], 0
00228ecatest ebp, ebp
00228eccjs 0x228f15
00228ecemov ecx, ebp
00228ed0mov rax, r15
00228ed3lea rdx, [r14+40]
00228ed7lea rsi, [rsp+8*rcx+184]
00228edfnop [rax+rax]
00228eeanop [rax+rax]
00228ef5nop [rax]
00228efcadd rax, 8
00228f00
00228f00loc_228f00:
00228f00add rdx, 8
00228f04mov rcx, [rax-8]
00228f08mov [rdx-8], rcx
00228f0ccmp rax, rsi
00228f0fjne 0x228f00
00228f11mov rdx, [rsp+32]
00228f16mov rax, [rsp+176]
00228f1elock cmpxchg [rdx+40], r14
00228f24jne 0x229032
00228f2amov ebx, 1
00228f2ftest ebp, ebp
00228f31jle 0x228f65
00228f33nop [rax+rax]
00228f3cmov rdx, [r13+8*rbx]
00228f41mov rax, [r15+8*rbx]
00228f45lea r10, [8*rbx+40]
00228f4dlock cmpxchg [rdx+r10], r14
00228f53jne 0x228fef
00228f59add rbx, 1
00228f5d
00228f5dloc_228f5d:
00228f5dcmp ebp, ebx
00228f5fjge 0x228f40
00228f61mov rax, [r12+16]
00228f66cmp rax, r9
00228f69jb 0x228fa0
00228f6bmov rax, [rsp+312]
00228f73sub rax, [0x28]
00228f7cjne 0x22902d
00228f82add rsp, 328
00228f89mov eax, 1
00228f8epop rbx
00228f8fpop rbp
00228f90pop r12
00228f92pop r13
00228f94pop r14
00228f96pop r15
00228f98ret
00228f99db 0x5e
00228f9apop r15
00228f9cret
00228f9d
00228f9d 0f 1f 00 ...
00228fa0
00228fa0loc_228fa0:
00228fa0mov [r12+16], r9
00228fa5jmp 0x228f6f
00228fa7
00228fa7 66 0f 1f 84 00 00 00 00 00 f........
00228fb0
00228fb0loc_228fb0:
00228fb0mov edi, 48
00228fb5call caml_stat_alloc
00228fbaxor r9l, r9l
00228fbdmov [rax+16], 0
00228fc5mov r14, rax
00228fc8mov rax, [rsp+8]
00228fcdmov [r14+8], rbx
00228fd1mov [r14], rax
00228fd4mov [r14+32], 0
00228fdcjmp 0x228ed2
00228fe1
00228fe1loc_228fe1:
00228fe1mov rax, [rsp+176]
00228fe9mov [rax+8], rbx
00228fedjmp 0x228f6f
00228fef
00228fefloc_228fef:
00228fefmov rsi, [rsp+8]
00228ff4mov rdx, r13
00228ff7mov rcx, r15
00228ffamov rdi, r12
00228ffdmov [rsp+24], r10
00229002mov [rsp+16], r9
00229007call fn_228b20
0022900cmov rdx, [r13+8*rbx]
00229011mov rax, [r15+8*rbx]
00229015mov r10, [rsp+24]
0022901alock cmpxchg [rdx+r10], r14
00229020mov r9, [rsp+16]
00229025je 0x228f5d
0022902bjmp 0x228fef
0022902d
0022902dloc_22902d:
0022902dcall fn_f4590
00229032
00229032loc_229032:
00229032mov rdi, r14
00229035call caml_stat_free
0022903ajmp 0x228e1e
00228de0
00228de0caml_lf_skiplist_insert:
00228de0push r15
00228de2push r14
00228de4push r13
00228de6push r12
00228de8mov r12, rdi
00228debpush rbp
00228decpush rbx
00228dedsub rsp, 328
00228df4mov [rsp+8], rsi
00228df9lea r15, [rsp+176]
00228e01lea r13, [rsp+32]
00228e06mov rbx, [0x28]
00228e0fmov [rsp+312], rbx
00228e17mov rbx, rdx
00228e1amov rsi, [rsp+8]
00228e1fmov rcx, r15
00228e22mov rdx, r13
00228e25mov rdi, r12
00228e28call fn_228b20
00228e2dmov ebp, eax
00228e2ftest eax, eax
00228e31jne 0x228fe1
00228e37mov eax, [rip+0x1503d3]
00228e3dimul edx, eax, 0x10dcd
00228e43add edx, 25173
00228e49lock cmpxchg [rip+0x1503bf], edx
00228e51jne 0x228e3b
00228e53mov eax, edx
00228e55not eax
00228e57test eax, 0xffffffffc0000000
00228e5cjne 0x228fb0
00228e62nop [rax+rax]
00228e6dnop [rax+rax]
00228e78nop [rax]
00228e7cshl edx, 2
00228e7fmov ecx, ebp
00228e81add ebp, 1
00228e84mov eax, edx
00228e86not eax
00228e88test eax, 0xffffffffc0000000
00228e8dje 0x228e80
00228e8fadd ecx, 2
00228e92movsxd r9, ebp
00228e95movsxd rcx, ecx
00228e98mov [rsp+16], r9
00228e9dlea rdi, [8*rcx+40]
00228ea5call caml_stat_alloc
00228eaamov r9, [rsp+16]
00228eafmov r14, rax
00228eb2mov [rax+16], r9
00228eb6mov rax, [rsp+8]
00228ebbmov [r14+8], rbx
00228ebfmov [r14], rax
00228ec2mov [r14+32], 0
00228ecatest ebp, ebp
00228eccjs 0x228f15
00228ecemov ecx, ebp
00228ed0mov rax, r15
00228ed3lea rdx, [r14+40]
00228ed7lea rsi, [rsp+8*rcx+184]
00228edfnop [rax+rax]
00228eeanop [rax+rax]
00228ef5nop [rax]
00228efcadd rax, 8
00228f00
00228f00loc_228f00:
00228f00add rdx, 8
00228f04mov rcx, [rax-8]
00228f08mov [rdx-8], rcx
00228f0ccmp rax, rsi
00228f0fjne 0x228f00
00228f11mov rdx, [rsp+32]
00228f16mov rax, [rsp+176]
00228f1elock cmpxchg [rdx+40], r14
00228f24jne 0x229032
00228f2amov ebx, 1
00228f2ftest ebp, ebp
00228f31jle 0x228f65
00228f33nop [rax+rax]
00228f3cmov rdx, [r13+8*rbx]
00228f41mov rax, [r15+8*rbx]
00228f45lea r10, [8*rbx+40]
00228f4dlock cmpxchg [rdx+r10], r14
00228f53jne 0x228fef
00228f59add rbx, 1
00228f5d
00228f5dloc_228f5d:
00228f5dcmp ebp, ebx
00228f5fjge 0x228f40
00228f61mov rax, [r12+16]
00228f66cmp rax, r9
00228f69jb 0x228fa0
00228f6bmov rax, [rsp+312]
00228f73sub rax, [0x28]
00228f7cjne 0x22902d
00228f82add rsp, 328
00228f89mov eax, 1
00228f8epop rbx
00228f8fpop rbp
00228f90pop r12
00228f92pop r13
00228f94pop r14
00228f96pop r15
00228f98ret
00228f99db 0x5e
00228f9apop r15
00228f9cret
00228f9d
00228f9d 0f 1f 00 ...
00228fa0
00228fa0loc_228fa0:
00228fa0mov [r12+16], r9
00228fa5jmp 0x228f6f
00228fa7
00228fa7 66 0f 1f 84 00 00 00 00 00 f........
00228fb0
00228fb0loc_228fb0:
00228fb0mov edi, 48
00228fb5call caml_stat_alloc
00228fbaxor r9l, r9l
00228fbdmov [rax+16], 0
00228fc5mov r14, rax
00228fc8mov rax, [rsp+8]
00228fcdmov [r14+8], rbx
00228fd1mov [r14], rax
00228fd4mov [r14+32], 0
00228fdcjmp 0x228ed2
00228fe1
00228fe1loc_228fe1:
00228fe1mov rax, [rsp+176]
00228fe9mov [rax+8], rbx
00228fedjmp 0x228f6f
00228fef
00228fefloc_228fef:
00228fefmov rsi, [rsp+8]
00228ff4mov rdx, r13
00228ff7mov rcx, r15
00228ffamov rdi, r12
00228ffdmov [rsp+24], r10
00229002mov [rsp+16], r9
00229007call fn_228b20
0022900cmov rdx, [r13+8*rbx]
00229011mov rax, [r15+8*rbx]
00229015mov r10, [rsp+24]
0022901alock cmpxchg [rdx+r10], r14
00229020mov r9, [rsp+16]
00229025je 0x228f5d
0022902bjmp 0x228fef
0022902d
0022902dloc_22902d:
0022902dcall fn_f4590
00229032
00229032loc_229032:
00229032mov rdi, r14
00229035call caml_stat_free
0022903ajmp 0x228e1e
00228de0
Loading..