File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
Loading..
00225240
00225240caml_alloc_backtrace_buffer:
00225240push rbp
00225241mov edi, 8192
00225246push rbx
00225247sub rsp, 8
0022524bmov rbx, [rip+0x50d92]
00225252mov rbp, [rbx]
00225256call caml_stat_alloc_noexc
0022525bmov [rbp+200], rax
00225262mov rax, [rbx]
00225266cmp [rax+200], 1
0022526esbb eax, eax
00225270add rsp, 8
00225274pop rbx
00225275pop rbp
00225276ret
00225277db 0x08
00225278pop rbx
00225279pop rbp
0022527aret
00225240
00225240caml_alloc_backtrace_buffer:
00225240push rbp
00225241mov edi, 8192
00225246push rbx
00225247sub rsp, 8
0022524bmov rbx, [rip+0x50d92]
00225252mov rbp, [rbx]
00225256call caml_stat_alloc_noexc
0022525bmov [rbp+200], rax
00225262mov rax, [rbx]
00225266cmp [rax+200], 1
0022526esbb eax, eax
00225270add rsp, 8
00225274pop rbx
00225275pop rbp
00225276ret
00225277db 0x08
00225278pop rbx
00225279pop rbp
0022527aret
00225240
0022527b
0022527b // align 0x10
0022527b // align 0x10
00225280
00225280caml_free_backtrace_buffer:
00225280test rdi, rdi
00225283je 0x225290
00225285jmp 0x216690
0022528adb 0x02
0022528badc al, -1
0022528ddb 0xff
0022528e
0022528e 66 90 f.
00225290
00225290loc_225290:
00225290ret
00225280
00225280caml_free_backtrace_buffer:
00225280test rdi, rdi
00225283je 0x225290
00225285jmp 0x216690
0022528adb 0x02
0022528badc al, -1
0022528ddb 0xff
0022528e
0022528e 66 90 f.
00225290
00225290loc_225290:
00225290ret
00225280
00225291
00225291 // align 0x10
00225291 // align 0x10
002252a0
002252a0caml_stash_backtrace:
002252a0push r15
002252a2mov r15, rsi
002252a5push r14
002252a7mov r14, rdx
002252aapush r13
002252acmov r13, rcx
002252afpush r12
002252b1push rbp
002252b2push rbx
002252b3sub rsp, 8
002252b7mov rbx, [rip+0x50d26]
002252bemov r12, [rbx]
002252c2mov rbp, r12
002252c5cmp [r12+208], rdi
002252cdje 0x2252f6
002252cfmov [r12+184], 0
002252dblea rax, [r12+208]
002252e3mov rsi, rdi
002252e6mov rdi, rax
002252e9call caml_modify_generational_global_root
002252eemov rbp, [rbx]
002252f2cmp [rbp+200], 0
002252faje 0x2253ae
00225300call caml_get_frame_descrs
00225305mov rbx, rax
00225308nop [rax]
0022530cmov rbp, [r12+40]
00225311jmp 0x22533c
00225313db 0x24
00225314sub bl, ch
00225316db 0x25
00225317
00225317 66 0f 1f 84 00 00 00 00 00 f........
00225320
00225320loc_225320:
00225320movzx edx, [rax+8]
00225324cmp dx, -1
00225328jne 0x225360
0022532alea rax, [r14+32]
0022532ecmp [rbp+16], rax
00225332je 0x22534c
00225334mov r15, [r14+32]
00225338add r14, 40
0022533c
0022533cloc_22533c:
0022533cmov rsi, r15
0022533fmov rdi, rbx
00225342call caml_find_frame_descr
00225347test rax, rax
0022534ajne 0x225320
0022534c
0022534cloc_22534c:
0022534cadd rsp, 8
00225350pop rbx
00225351pop rbp
00225352pop r12
00225354pop r13
00225356pop r14
00225358pop r15
0022535aret
0022535b
0022535b 0f 1f 44 00 00 ..D..
00225360
00225360loc_225360:
00225360and edx, 65532
00225366add r14, rdx
00225369mov rdx, [r12+184]
00225371mov r15, [r14-8]
00225375cmp rdx, 1023
0022537cjg 0x22534c
0022537emov rcx, [r12+200]
00225386lea rsi, [rdx+1]
0022538amov [r12+184], rsi
00225392mov [rcx+8*rdx], rax
00225396cmp r13, r14
00225399jae 0x225310
0022539fadd rsp, 8
002253a3pop rbx
002253a4pop rbp
002253a5pop r12
002253a7pop r13
002253a9pop r14
002253abpop r15
002253adret
002253ae
002253aeloc_2253ae:
002253aemov edi, 8192
002253b3call caml_stat_alloc_noexc
002253b8mov [rbp+200], rax
002253bfmov rax, [rbx]
002253c3cmp [rax+200], 0
002253cbjne 0x225304
002253d1jmp 0x22534c
002252a0
002252a0caml_stash_backtrace:
002252a0push r15
002252a2mov r15, rsi
002252a5push r14
002252a7mov r14, rdx
002252aapush r13
002252acmov r13, rcx
002252afpush r12
002252b1push rbp
002252b2push rbx
002252b3sub rsp, 8
002252b7mov rbx, [rip+0x50d26]
002252bemov r12, [rbx]
002252c2mov rbp, r12
002252c5cmp [r12+208], rdi
002252cdje 0x2252f6
002252cfmov [r12+184], 0
002252dblea rax, [r12+208]
002252e3mov rsi, rdi
002252e6mov rdi, rax
002252e9call caml_modify_generational_global_root
002252eemov rbp, [rbx]
002252f2cmp [rbp+200], 0
002252faje 0x2253ae
00225300call caml_get_frame_descrs
00225305mov rbx, rax
00225308nop [rax]
0022530cmov rbp, [r12+40]
00225311jmp 0x22533c
00225313db 0x24
00225314sub bl, ch
00225316db 0x25
00225317
00225317 66 0f 1f 84 00 00 00 00 00 f........
00225320
00225320loc_225320:
00225320movzx edx, [rax+8]
00225324cmp dx, -1
00225328jne 0x225360
0022532alea rax, [r14+32]
0022532ecmp [rbp+16], rax
00225332je 0x22534c
00225334mov r15, [r14+32]
00225338add r14, 40
0022533c
0022533cloc_22533c:
0022533cmov rsi, r15
0022533fmov rdi, rbx
00225342call caml_find_frame_descr
00225347test rax, rax
0022534ajne 0x225320
0022534c
0022534cloc_22534c:
0022534cadd rsp, 8
00225350pop rbx
00225351pop rbp
00225352pop r12
00225354pop r13
00225356pop r14
00225358pop r15
0022535aret
0022535b
0022535b 0f 1f 44 00 00 ..D..
00225360
00225360loc_225360:
00225360and edx, 65532
00225366add r14, rdx
00225369mov rdx, [r12+184]
00225371mov r15, [r14-8]
00225375cmp rdx, 1023
0022537cjg 0x22534c
0022537emov rcx, [r12+200]
00225386lea rsi, [rdx+1]
0022538amov [r12+184], rsi
00225392mov [rcx+8*rdx], rax
00225396cmp r13, r14
00225399jae 0x225310
0022539fadd rsp, 8
002253a3pop rbx
002253a4pop rbp
002253a5pop r12
002253a7pop r13
002253a9pop r14
002253abpop r15
002253adret
002253ae
002253aeloc_2253ae:
002253aemov edi, 8192
002253b3call caml_stat_alloc_noexc
002253b8mov [rbp+200], rax
002253bfmov rax, [rbx]
002253c3cmp [rax+200], 0
002253cbjne 0x225304
002253d1jmp 0x22534c
002252a0
002253d6
002253d6 // align 0x10
002253d6 // align 0x10
002253e0
002253e0caml_get_callstack:
002253e0mov rax, [rip+0x50bfd]
002253e7mov r8, rdx
002253eamov rdx, rcx
002253edmov rcx, rsi
002253f0mov rsi, rdi
002253f3mov rax, [rax]
002253f7mov rax, [rax+40]
002253fbmov rdi, rax
002253fejmp 0x224f60
00225403db 0x59
00225404sti
00225405db 0xff
00225406db 0xff
002253e0
002253e0caml_get_callstack:
002253e0mov rax, [rip+0x50bfd]
002253e7mov r8, rdx
002253eamov rdx, rcx
002253edmov rcx, rsi
002253f0mov rsi, rdi
002253f3mov rax, [rax]
002253f7mov rax, [rax+40]
002253fbmov rdi, rax
002253fejmp 0x224f60
00225403db 0x59
00225404sti
00225405db 0xff
00225406db 0xff
002253e0
00225407
00225407 // align 0x10
00225407 // align 0x10
00225410
00225410caml_get_current_callstack:
00225410sub rsp, 40
00225414mov rsi, rdi
00225417mov rdx, -1
0022541emov rax, [0x28]
00225427mov [rsp+24], rax
0022542cxor eax, eax
0022542esar rsi, 1
00225431lea rcx, [rsp+8]
00225436lea r8, [rsp+16]
0022543bmov [rsp+8], 0
00225444mov rax, [rip+0x50b99]
0022544bmov [rsp+16], 0
00225454mov rax, [rax]
00225458mov rdi, [rax+40]
0022545ccall fn_224f60
00225461mov rsi, rax
00225464mov rax, [rsp+24]
00225469sub rax, [0x28]
00225472jne 0x225486
00225474mov rdi, [rsp+8]
00225479add rsp, 40
0022547djmp 0x224e70
00225482call fn_f4590
00225487db 0x05
00225488int 1
00225489in al, dx
0022548adb 0xff
00225410
00225410caml_get_current_callstack:
00225410sub rsp, 40
00225414mov rsi, rdi
00225417mov rdx, -1
0022541emov rax, [0x28]
00225427mov [rsp+24], rax
0022542cxor eax, eax
0022542esar rsi, 1
00225431lea rcx, [rsp+8]
00225436lea r8, [rsp+16]
0022543bmov [rsp+8], 0
00225444mov rax, [rip+0x50b99]
0022544bmov [rsp+16], 0
00225454mov rax, [rax]
00225458mov rdi, [rax+40]
0022545ccall fn_224f60
00225461mov rsi, rax
00225464mov rax, [rsp+24]
00225469sub rax, [0x28]
00225472jne 0x225486
00225474mov rdi, [rsp+8]
00225479add rsp, 40
0022547djmp 0x224e70
00225482call fn_f4590
00225487db 0x05
00225488int 1
00225489in al, dx
0022548adb 0xff
00225410
0022548b
0022548b // align 0x10
0022548b // align 0x10
00225490
00225490caml_get_continuation_callstack:
00225490push r12
00225492push rbp
00225493push rbx
00225494mov rbx, rdi
00225497sub rsp, 32
0022549bmov r12, [0x28]
002254a4mov [rsp+24], r12
002254a9mov r12, rsi
002254acmov [rsp+8], 0
002254b5mov [rsp+16], 0
002254becall caml_continuation_use
002254c3lea rcx, [rsp+8]
002254c8lea r8, [rsp+16]
002254cdmov rdx, -1
002254d4lea rbp, [rax-1]
002254d8mov rdi, rbp
002254dbmov rsi, r12
002254decall fn_224f60
002254e3mov rsi, rbp
002254e6mov rdi, rbx
002254e9mov r12, rax
002254eccall caml_continuation_replace
002254f1mov rax, [rsp+24]
002254f6sub rax, [0x28]
002254ffjne 0x22551a
00225501mov rdi, [rsp+8]
00225506add rsp, 32
0022550amov rsi, r12
0022550dpop rbx
0022550epop rbp
0022550fpop r12
00225511jmp 0x224e70
00225516call fn_f4590
0022551bdb 0x71
0022551cdb 0xf0
0022551din al, dx
0022551edb 0xff
00225490
00225490caml_get_continuation_callstack:
00225490push r12
00225492push rbp
00225493push rbx
00225494mov rbx, rdi
00225497sub rsp, 32
0022549bmov r12, [0x28]
002254a4mov [rsp+24], r12
002254a9mov r12, rsi
002254acmov [rsp+8], 0
002254b5mov [rsp+16], 0
002254becall caml_continuation_use
002254c3lea rcx, [rsp+8]
002254c8lea r8, [rsp+16]
002254cdmov rdx, -1
002254d4lea rbp, [rax-1]
002254d8mov rdi, rbp
002254dbmov rsi, r12
002254decall fn_224f60
002254e3mov rsi, rbp
002254e6mov rdi, rbx
002254e9mov r12, rax
002254eccall caml_continuation_replace
002254f1mov rax, [rsp+24]
002254f6sub rax, [0x28]
002254ffjne 0x22551a
00225501mov rdi, [rsp+8]
00225506add rsp, 32
0022550amov rsi, r12
0022550dpop rbx
0022550epop rbp
0022550fpop r12
00225511jmp 0x224e70
00225516call fn_f4590
0022551bdb 0x71
0022551cdb 0xf0
0022551din al, dx
0022551edb 0xff
00225490
0022551f
0022551f // align 0x10
0022551f // align 0x10
00225520
00225520caml_debuginfo_extract:
00225520test dil, 2
00225524je 0x225530
00225526lea rax, [rdi-2]
0022552aret
0022552bdb 0x8d
0022552cinc r11b
0022552f
0022552f 90 .
00225530
00225530loc_225530:
00225530movzx edx, [rdi+8]
00225534test dl, 1
00225537je 0x225580
00225539movzx eax, [rdi+10]
0022553dand edx, 2
00225540lea rax, [rdi+2*rax+12]
00225545je 0x225570
00225547movzx edx, [rax]
0022554alea rax, [rax+rdx+4]
0022554fand rax, -4
00225553mov edx, [rax]
00225555test edx, edx
00225557jne 0x22557a
00225559nop [rax]
00225560
00225560loc_225560:
00225560mov edx, [rax+4]
00225563add rax, 4
00225567test edx, edx
00225569je 0x225560
0022556badd rax, rdx
0022556eret
0022556f
0022556f 90 .
00225570
00225570loc_225570:
00225570add rax, 3
00225574and rax, -4
00225578mov edx, [rax]
0022557a
0022557aloc_22557a:
0022557aadd rax, rdx
0022557dret
0022557e
0022557e 66 90 f.
00225580
00225580loc_225580:
00225580xor eax, eax
00225582ret
00225520
00225520caml_debuginfo_extract:
00225520test dil, 2
00225524je 0x225530
00225526lea rax, [rdi-2]
0022552aret
0022552bdb 0x8d
0022552cinc r11b
0022552f
0022552f 90 .
00225530
00225530loc_225530:
00225530movzx edx, [rdi+8]
00225534test dl, 1
00225537je 0x225580
00225539movzx eax, [rdi+10]
0022553dand edx, 2
00225540lea rax, [rdi+2*rax+12]
00225545je 0x225570
00225547movzx edx, [rax]
0022554alea rax, [rax+rdx+4]
0022554fand rax, -4
00225553mov edx, [rax]
00225555test edx, edx
00225557jne 0x22557a
00225559nop [rax]
00225560
00225560loc_225560:
00225560mov edx, [rax+4]
00225563add rax, 4
00225567test edx, edx
00225569je 0x225560
0022556badd rax, rdx
0022556eret
0022556f
0022556f 90 .
00225570
00225570loc_225570:
00225570add rax, 3
00225574and rax, -4
00225578mov edx, [rax]
0022557a
0022557aloc_22557a:
0022557aadd rax, rdx
0022557dret
0022557e
0022557e 66 90 f.
00225580
00225580loc_225580:
00225580xor eax, eax
00225582ret
00225520
00225583
00225583 // align 0x10
00225583 // align 0x10
00225590
00225590caml_debuginfo_next:
00225590test rdi, rdi
00225593je 0x2255b0
00225595xor edx, edx
00225597lea rax, [rdi+8]
0022559btest [rdi], 1
0022559ecmove rax, rdx
002255a2ret
002255a3db 0x0f
002255a4db 0x44
002255a5db 0xc2
002255a6ret
002255a7
002255a7 66 0f 1f 84 00 00 00 00 00 f........
002255b0
002255b0loc_2255b0:
002255b0xor eax, eax
002255b2ret
00225590
00225590caml_debuginfo_next:
00225590test rdi, rdi
00225593je 0x2255b0
00225595xor edx, edx
00225597lea rax, [rdi+8]
0022559btest [rdi], 1
0022559ecmove rax, rdx
002255a2ret
002255a3db 0x0f
002255a4db 0x44
002255a5db 0xc2
002255a6ret
002255a7
002255a7 66 0f 1f 84 00 00 00 00 00 f........
002255b0
002255b0loc_2255b0:
002255b0xor eax, eax
002255b2ret
00225590
002255b3
002255b3 // align 0x10
002255b3 // align 0x10
002255c0
002255c0caml_debuginfo_location:
002255c0mov rdx, rsi
002255c3test rdi, rdi
002255c6je 0x2256b0
002255ccmov esi, [rdi]
002255cemov eax, [rdi+4]
002255d1mov [rdx], 1
002255d7mov ecx, esi
002255d9mov r8l, esi
002255dcand esi, 0x3fffffc
002255e2shr ecx, 1
002255e4shr r8l, 26
002255e8and ecx, 1
002255ebmov [rdx+4], ecx
002255eemov ecx, [rdi]
002255f0add rdi, rsi
002255f3and ecx, 1
002255f6mov [rdx+44], ecx
002255f9mov ecx, eax
002255fbshl ecx, 6
002255fetest eax, eax
00225600js 0x225670
00225602lea rsi, [rdi+4]
00225606mov r9l, eax
00225609and ecx, 448
0022560fmov [rdx+16], rsi
00225613movsxd rsi, [rdi]
00225616shr r9l, 10
0022561aor ecx, r8l
0022561dand r9l, 63
00225621add rdi, rsi
00225624mov esi, eax
00225626movd x3, r9l
0022562bmov [rdx+8], rdi
0022562fmov edi, eax
00225631shr eax, 16
00225634shr esi, 19
00225637shr edi, 3
0022563aand eax, 7
0022563dand edi, 127
00225640add eax, esi
00225642movd x1, esi
00225646movd x0, eax
0022564amovd x2, edi
0022564epunpckldq x1, x3
00225652add ecx, edi
00225654punpckldq x0, x2
00225658mov [rdx+40], ecx
0022565bpunpcklqdq x1, x0
0022565fmovups [rdx+24], x1
00225663ret
00225664db 0x11
00225665sbb bl, al
00225668
00225668 0f 1f 84 00 00 00 00 00 ........
00225670
00225670loc_225670:
00225670lea rsi, [rdi+12]
00225674shr eax, 12
00225677and ecx, 0x3ffc0
0022567dmov [rdx+16], rsi
00225681movsxd rsi, [rdi]
00225684and eax, 0x7ffff
00225689or ecx, r8l
0022568cmov [rdx+24], eax
0022568fadd eax, ecx
00225691add rsi, rdi
00225694mov [rdx+32], eax
00225697mov [rdx+8], rsi
0022569bmovzx eax, [rdi+4]
0022569fmov [rdx+28], eax
002256a2movzx eax, [rdi+6]
002256a6mov [rdx+36], eax
002256a9mov eax, [rdi+8]
002256acmov [rdx+40], eax
002256afret
002256b0
002256b0loc_2256b0:
002256b0mov rax, [rip+20913]
002256b7mov [rsi+44], 0
002256bemov [rsi], rax
002256c1ret
002255c0
002255c0caml_debuginfo_location:
002255c0mov rdx, rsi
002255c3test rdi, rdi
002255c6je 0x2256b0
002255ccmov esi, [rdi]
002255cemov eax, [rdi+4]
002255d1mov [rdx], 1
002255d7mov ecx, esi
002255d9mov r8l, esi
002255dcand esi, 0x3fffffc
002255e2shr ecx, 1
002255e4shr r8l, 26
002255e8and ecx, 1
002255ebmov [rdx+4], ecx
002255eemov ecx, [rdi]
002255f0add rdi, rsi
002255f3and ecx, 1
002255f6mov [rdx+44], ecx
002255f9mov ecx, eax
002255fbshl ecx, 6
002255fetest eax, eax
00225600js 0x225670
00225602lea rsi, [rdi+4]
00225606mov r9l, eax
00225609and ecx, 448
0022560fmov [rdx+16], rsi
00225613movsxd rsi, [rdi]
00225616shr r9l, 10
0022561aor ecx, r8l
0022561dand r9l, 63
00225621add rdi, rsi
00225624mov esi, eax
00225626movd x3, r9l
0022562bmov [rdx+8], rdi
0022562fmov edi, eax
00225631shr eax, 16
00225634shr esi, 19
00225637shr edi, 3
0022563aand eax, 7
0022563dand edi, 127
00225640add eax, esi
00225642movd x1, esi
00225646movd x0, eax
0022564amovd x2, edi
0022564epunpckldq x1, x3
00225652add ecx, edi
00225654punpckldq x0, x2
00225658mov [rdx+40], ecx
0022565bpunpcklqdq x1, x0
0022565fmovups [rdx+24], x1
00225663ret
00225664db 0x11
00225665sbb bl, al
00225668
00225668 0f 1f 84 00 00 00 00 00 ........
00225670
00225670loc_225670:
00225670lea rsi, [rdi+12]
00225674shr eax, 12
00225677and ecx, 0x3ffc0
0022567dmov [rdx+16], rsi
00225681movsxd rsi, [rdi]
00225684and eax, 0x7ffff
00225689or ecx, r8l
0022568cmov [rdx+24], eax
0022568fadd eax, ecx
00225691add rsi, rdi
00225694mov [rdx+32], eax
00225697mov [rdx+8], rsi
0022569bmovzx eax, [rdi+4]
0022569fmov [rdx+28], eax
002256a2movzx eax, [rdi+6]
002256a6mov [rdx+36], eax
002256a9mov eax, [rdi+8]
002256acmov [rdx+40], eax
002256afret
002256b0
002256b0loc_2256b0:
002256b0mov rax, [rip+20913]
002256b7mov [rsi+44], 0
002256bemov [rsi], rax
002256c1ret
002255c0
002256c2
002256c2 // align 0x10
002256c2 // align 0x10
002256d0
002256d0caml_add_debug_info:
002256d0mov eax, 1
002256d5ret
002256d6db 0x00
002256d7add [rax], al
002256d9ret
002256d0
002256d0caml_add_debug_info:
002256d0mov eax, 1
002256d5ret
002256d6db 0x00
002256d7add [rax], al
002256d9ret
002256d0
002256da
002256da // align 0x10
002256da // align 0x10
002256e0
002256e0caml_remove_debug_info:
002256e0mov eax, 1
002256e5ret
002256e6db 0x00
002256e7add [rax], al
002256e9ret
002256e0
002256e0caml_remove_debug_info:
002256e0mov eax, 1
002256e5ret
002256e6db 0x00
002256e7add [rax], al
002256e9ret
002256e0
002256ea
002256ea // align 0x10
002256ea // align 0x10
002256f0
002256f0caml_debug_info_available:
002256f0mov eax, 1
002256f5ret
002256f6db 0x00
002256f7add [rax], al
002256f9ret
002256f0
002256f0caml_debug_info_available:
002256f0mov eax, 1
002256f5ret
002256f6db 0x00
002256f7add [rax], al
002256f9ret
002256f0
002256fa
002256fa // align 0x10
002256fa // align 0x10
00225700
00225700caml_debug_info_status:
00225700mov eax, 1
00225705ret
00225706db 0x00
00225707add [rax], al
00225709ret
00225700
00225700caml_debug_info_status:
00225700mov eax, 1
00225705ret
00225706db 0x00
00225707add [rax], al
00225709ret
00225700
0022570a
0022570a // align 0x10
0022570a // align 0x10
00225710
00225710caml_natdynlink_getmap:
00225710mov esi, 0x7fffffff
00225715lea rdi, [rip+0x50e80]
0022571cjmp 0x20c4f0
00225721db 0xcb
00225722insd [rdi], dx
00225723db 0xfe
00225724db 0xff
00225710
00225710caml_natdynlink_getmap:
00225710mov esi, 0x7fffffff
00225715lea rdi, [rip+0x50e80]
0022571cjmp 0x20c4f0
00225721db 0xcb
00225722insd [rdi], dx
00225723db 0xfe
00225724db 0xff
00225710
00225725
00225725 // align 0x10
00225725 // align 0x10
00225730
00225730caml_natdynlink_globals_inited:
00225730mov rax, [rip+0x153a5d]
00225737lea rax, [rax+rax+1]
0022573cret
0022573ddb 0x44
0022573eadd [rcx], al
00225740ret
00225730
00225730caml_natdynlink_globals_inited:
00225730mov rax, [rip+0x153a5d]
00225737lea rax, [rax+rax+1]
0022573cret
0022573ddb 0x44
0022573eadd [rcx], al
00225740ret
00225730
00225741
00225741 // align 0x10
00225741 // align 0x10
00225750
00225750caml_natdynlink_open:
00225750push r13
00225752push r12
00225754push rbp
00225755push rbx
00225756sub rsp, 200
0022575dmovdqa x0, [rip+18791]
00225765mov [rsp+8], rdi
0022576amovq x1, rsp
0022576fmov [rsp], rsi
00225773mov rax, [0x28]
0022577cmov [rsp+184], rax
00225784mov rax, [rip+0x50859]
0022578bmov r12, [rax]
0022578flea rax, [rsp+8]
00225794movups [rsp+56], x0
00225799mov [rsp+24], 1
002257a2movq x0, rax
002257a7lea rax, [rsp+48]
002257acpunpcklqdq x0, x1
002257b0mov [rsp+112], rax
002257b5lea rax, [rsp+112]
002257bamov r13, [r12+160]
002257c2movups [rsp+72], x0
002257c7movdqa x0, [rip+18701]
002257cfmov [r12+160], rax
002257d7lea rax, [rsp+24]
002257dcmovups [rsp+120], x0
002257e1movq x0, rax
002257e6lea rax, [rsp+32]
002257ebmovq x2, rax
002257f0lea rax, [rsp+40]
002257f5mov [rsp+48], r13
002257fapunpcklqdq x0, x2
002257femov [rsp+152], rax
00225806movups [rsp+136], x0
0022580emov [rsp+32], 1
00225817mov [rsp+40], 1
00225820call caml_stat_strdup
00225825mov rbx, [rsp]
00225829mov rbp, rax
0022582ccall caml_enter_blocking_section
00225831sar rbx, 1
00225834mov rdi, rbp
00225837mov esi, ebx
00225839call caml_dlopen
0022583emov rbx, rax
00225841call caml_leave_blocking_section
00225846mov rdi, rbp
00225849call caml_stat_free
0022584etest rbx, rbx
00225851je 0x2258f2
00225857lea rsi, [rip+40491]
0022585emov rdi, rbx
00225861call caml_dlsym
00225866mov rbp, rax
00225869test rax, rax
0022586cje 0x225904
00225872mov esi, 251
00225877mov edi, 1
0022587ccall caml_alloc_small
00225881mov esi, 0x7fffffff
00225886mov rdi, rbp
00225889mov [rax], rbx
0022588cmov [rsp+32], rax
00225891call caml_input_value_from_block
00225896mov edi, 2
0022589bmov [rsp+40], rax
002258a0call caml_alloc_tuple
002258a5mov rdx, [rsp+32]
002258aamov [rsp+24], rax
002258afmov [rax], rdx
002258b2mov rax, [rsp+24]
002258b7mov rdx, [rsp+40]
002258bcmov [rax+8], rdx
002258c0mov rax, [rsp+24]
002258c5mov [r12+160], r13
002258cdmov rdx, [rsp+184]
002258d5sub rdx, [0x28]
002258dejne 0x2258ff
002258e0add rsp, 200
002258e7pop rbx
002258e8pop rbp
002258e9pop r12
002258ebpop r13
002258edret
002258eecall caml_dlerror
002258f3mov rdi, rax
002258f6call caml_failwith
002258fbcall fn_f4590
00225900lea rdi, [rip+40341]
00225907call caml_failwith
0022590cdb 0xb0
0022590dadc dh, bh
0022590fdb 0xff
00225750
00225750caml_natdynlink_open:
00225750push r13
00225752push r12
00225754push rbp
00225755push rbx
00225756sub rsp, 200
0022575dmovdqa x0, [rip+18791]
00225765mov [rsp+8], rdi
0022576amovq x1, rsp
0022576fmov [rsp], rsi
00225773mov rax, [0x28]
0022577cmov [rsp+184], rax
00225784mov rax, [rip+0x50859]
0022578bmov r12, [rax]
0022578flea rax, [rsp+8]
00225794movups [rsp+56], x0
00225799mov [rsp+24], 1
002257a2movq x0, rax
002257a7lea rax, [rsp+48]
002257acpunpcklqdq x0, x1
002257b0mov [rsp+112], rax
002257b5lea rax, [rsp+112]
002257bamov r13, [r12+160]
002257c2movups [rsp+72], x0
002257c7movdqa x0, [rip+18701]
002257cfmov [r12+160], rax
002257d7lea rax, [rsp+24]
002257dcmovups [rsp+120], x0
002257e1movq x0, rax
002257e6lea rax, [rsp+32]
002257ebmovq x2, rax
002257f0lea rax, [rsp+40]
002257f5mov [rsp+48], r13
002257fapunpcklqdq x0, x2
002257femov [rsp+152], rax
00225806movups [rsp+136], x0
0022580emov [rsp+32], 1
00225817mov [rsp+40], 1
00225820call caml_stat_strdup
00225825mov rbx, [rsp]
00225829mov rbp, rax
0022582ccall caml_enter_blocking_section
00225831sar rbx, 1
00225834mov rdi, rbp
00225837mov esi, ebx
00225839call caml_dlopen
0022583emov rbx, rax
00225841call caml_leave_blocking_section
00225846mov rdi, rbp
00225849call caml_stat_free
0022584etest rbx, rbx
00225851je 0x2258f2
00225857lea rsi, [rip+40491]
0022585emov rdi, rbx
00225861call caml_dlsym
00225866mov rbp, rax
00225869test rax, rax
0022586cje 0x225904
00225872mov esi, 251
00225877mov edi, 1
0022587ccall caml_alloc_small
00225881mov esi, 0x7fffffff
00225886mov rdi, rbp
00225889mov [rax], rbx
0022588cmov [rsp+32], rax
00225891call caml_input_value_from_block
00225896mov edi, 2
0022589bmov [rsp+40], rax
002258a0call caml_alloc_tuple
002258a5mov rdx, [rsp+32]
002258aamov [rsp+24], rax
002258afmov [rax], rdx
002258b2mov rax, [rsp+24]
002258b7mov rdx, [rsp+40]
002258bcmov [rax+8], rdx
002258c0mov rax, [rsp+24]
002258c5mov [r12+160], r13
002258cdmov rdx, [rsp+184]
002258d5sub rdx, [0x28]
002258dejne 0x2258ff
002258e0add rsp, 200
002258e7pop rbx
002258e8pop rbp
002258e9pop r12
002258ebpop r13
002258edret
002258eecall caml_dlerror
002258f3mov rdi, rax
002258f6call caml_failwith
002258fbcall fn_f4590
00225900lea rdi, [rip+40341]
00225907call caml_failwith
0022590cdb 0xb0
0022590dadc dh, bh
0022590fdb 0xff
00225750
00225910
00225910caml_natdynlink_register:
00225910push r15
00225912push r14
00225914push r13
00225916push r12
00225918push rbp
00225919push rbx
0022591asub rsp, 152
00225921movdqa x0, [rip+18339]
00225929mov [rsp+56], rdi
0022592emov [rsp+48], rsi
00225933mov rax, [0x28]
0022593cmov [rsp+136], rax
00225944mov rax, [rip+0x50699]
0022594bmov rcx, [rax]
0022594fmovups [rsp+72], x0
00225954mov rax, [rcx+160]
0022595bmov [rsp+32], rcx
00225960mov [rsp+64], rax
00225965mov [rsp+40], rax
0022596alea rax, [rsp+64]
0022596fmov [rcx+160], rax
00225976lea rax, [rsp+56]
0022597bmovq x0, rax
00225980lea rax, [rsp+48]
00225985movq x1, rax
0022598apunpcklqdq x0, x1
0022598emovups [rsp+88], x0
00225993mov rbp, [rsi-8]
00225997mov rbx, [rdi]
0022599ashr rbp, 10
0022599emovsxd rdi, ebp
002259a1mov [rsp+28], ebp
002259a5shl rdi, 3
002259a9call caml_stat_alloc
002259aemov r14, rax
002259b1test ebp, ebp
002259b3jle 0x225c05
002259b9lea eax, [rbp-1]
002259bcmov [rsp], r14
002259c0xor r9l, r9l
002259c3lea rbp, [rip+40048]
002259calea r13, [8*rax+8]
002259d2mov [rsp+8], rbx
002259d7lea r12, [rip+40157]
002259demov rbx, r9
002259e1mov [rsp+16], r13
002259e6nop [rax+rax]
002259ecmov rax, [rsp+48]
002259f1mov rcx, rbp
002259f4mov rsi, r12
002259f7mov edi, 4
002259fclea r8, [rip+40109]
00225a03add rax, rbx
00225a06mov r15, [rax]
00225a09xor eax, eax
00225a0bmov rdx, r15
00225a0ecall caml_stat_strconcat
00225a13mov rdi, [rsp+8]
00225a18mov r14, rax
00225a1bmov rsi, rax
00225a1ecall caml_dlsym
00225a23mov rdi, r14
00225a26mov r13, rax
00225a29call caml_stat_free
00225a2emov rax, [rsp]
00225a32mov [rax+rbx], r13
00225a36test r13, r13
00225a39je 0x225c1f
00225a3fmov rax, [rsp+16]
00225a44add rbx, 8
00225a48cmp rbx, rax
00225a4bjne 0x2259f0
00225a4dmov r14, [rsp]
00225a51mov r13, [rsp+16]
00225a56mov esi, [rsp+28]
00225a5amov rbx, [rsp+8]
00225a5fmov rdi, r14
00225a62call caml_register_frametables
00225a67mov [rsp], r14
00225a6bxor r9l, r9l
00225a6emov [rsp+16], r13
00225a73mov [rsp+8], rbx
00225a78mov rbx, r9
00225a7bnop
00225a7cmov rax, [rsp+48]
00225a81mov rcx, rbp
00225a84mov rsi, r12
00225a87mov edi, 4
00225a8clea r8, [rip+39981]
00225a93add rax, rbx
00225a96mov r15, [rax]
00225a99xor eax, eax
00225a9bmov rdx, r15
00225a9ecall caml_stat_strconcat
00225aa3mov rdi, [rsp+8]
00225aa8mov r14, rax
00225aabmov rsi, rax
00225aaecall caml_dlsym
00225ab3mov rdi, r14
00225ab6mov r13, rax
00225ab9call caml_stat_free
00225abemov rax, [rsp]
00225ac2mov [rax+rbx], r13
00225ac6test r13, r13
00225ac9je 0x225c40
00225acfmov rax, [rsp+16]
00225ad4add rbx, 8
00225ad8cmp rbx, rax
00225adbjne 0x225a80
00225addmov r14, [rsp]
00225ae1mov rbx, [rsp+8]
00225ae6mov r13, rax
00225ae9mov esi, [rsp+28]
00225aedmov rdi, r14
00225af0call caml_register_dyn_globals
00225af5mov [rsp], rbx
00225af9xor r9l, r9l
00225afcmov [rsp+8], r13
00225b01mov [rsp+16], r14
00225b06mov r14, r9
00225b09nop [rax]
00225b0cmov rax, [rsp+48]
00225b11mov rcx, rbp
00225b14mov rsi, r12
00225b17mov edi, 4
00225b1clea r8, [rip+39846]
00225b23add rax, r14
00225b26mov rbx, [rax]
00225b29xor eax, eax
00225b2bmov rdx, rbx
00225b2ecall caml_stat_strconcat
00225b33mov rdi, [rsp]
00225b37mov r15, rax
00225b3amov rsi, rax
00225b3dcall caml_dlsym
00225b42mov rdi, r15
00225b45mov r13, rax
00225b48call caml_stat_free
00225b4dmov rdx, rbx
00225b50mov rcx, rbp
00225b53mov rsi, r12
00225b56lea r8, [rip+39799]
00225b5dmov edi, 4
00225b62xor eax, eax
00225b64call caml_stat_strconcat
00225b69mov rdi, [rsp]
00225b6dmov r15, rax
00225b70mov rsi, rax
00225b73call caml_dlsym
00225b78mov rdi, r15
00225b7bmov rbx, rax
00225b7ecall caml_stat_free
00225b83test r13, r13
00225b86setne dl
00225b89test rbx, rbx
00225b8csetne al
00225b8ftest dl, al
00225b91je 0x225bab
00225b93cmp rbx, r13
00225b96je 0x225bab
00225b98xor ecx, ecx
00225b9axor edx, edx
00225b9cmov rsi, rbx
00225b9fmov rdi, r13
00225ba2call caml_register_code_fragment
00225ba7mov rax, [rsp+8]
00225bacadd r14, 8
00225bb0cmp r14, rax
00225bb3jne 0x225b10
00225bb9mov r14, [rsp+16]
00225bbemov rdi, r14
00225bc1call caml_stat_free
00225bc6mov rax, [rsp+32]
00225bcbmov rcx, [rsp+40]
00225bd0mov [rax+160], rcx
00225bd7mov rax, [rsp+136]
00225bdfsub rax, [0x28]
00225be8jne 0x225c61
00225beaadd rsp, 152
00225bf1mov eax, 1
00225bf6pop rbx
00225bf7pop rbp
00225bf8pop r12
00225bfapop r13
00225bfcpop r14
00225bfepop r15
00225c00ret
00225c01mov ebx, [rsp+28]
00225c05
00225c05loc_225c05:
00225c05mov rdi, rax
00225c08mov esi, ebx
00225c0acall caml_register_frametables
00225c0fmov esi, ebx
00225c11mov rdi, r14
00225c14call caml_register_dyn_globals
00225c19jmp 0x225bc2
00225c1bmov rdi, rax
00225c1ecall caml_stat_free
00225c23lea rdi, [rip+47426]
00225c2amov rsi, r15
00225c2dxor eax, eax
00225c2fcall caml_alloc_sprintf
00225c34mov rdi, rax
00225c37call caml_invalid_argument_value
00225c3cmov rdi, rax
00225c3fcall caml_stat_free
00225c44lea rdi, [rip+47433]
00225c4bmov rsi, r15
00225c4exor eax, eax
00225c50call caml_alloc_sprintf
00225c55mov rdi, rax
00225c58call caml_invalid_argument_value
00225c5dcall fn_f4590
00225c62db 0x2a
00225c63db 0xe9
00225c64in al, dx
00225c65db 0xff
00225910
00225910caml_natdynlink_register:
00225910push r15
00225912push r14
00225914push r13
00225916push r12
00225918push rbp
00225919push rbx
0022591asub rsp, 152
00225921movdqa x0, [rip+18339]
00225929mov [rsp+56], rdi
0022592emov [rsp+48], rsi
00225933mov rax, [0x28]
0022593cmov [rsp+136], rax
00225944mov rax, [rip+0x50699]
0022594bmov rcx, [rax]
0022594fmovups [rsp+72], x0
00225954mov rax, [rcx+160]
0022595bmov [rsp+32], rcx
00225960mov [rsp+64], rax
00225965mov [rsp+40], rax
0022596alea rax, [rsp+64]
0022596fmov [rcx+160], rax
00225976lea rax, [rsp+56]
0022597bmovq x0, rax
00225980lea rax, [rsp+48]
00225985movq x1, rax
0022598apunpcklqdq x0, x1
0022598emovups [rsp+88], x0
00225993mov rbp, [rsi-8]
00225997mov rbx, [rdi]
0022599ashr rbp, 10
0022599emovsxd rdi, ebp
002259a1mov [rsp+28], ebp
002259a5shl rdi, 3
002259a9call caml_stat_alloc
002259aemov r14, rax
002259b1test ebp, ebp
002259b3jle 0x225c05
002259b9lea eax, [rbp-1]
002259bcmov [rsp], r14
002259c0xor r9l, r9l
002259c3lea rbp, [rip+40048]
002259calea r13, [8*rax+8]
002259d2mov [rsp+8], rbx
002259d7lea r12, [rip+40157]
002259demov rbx, r9
002259e1mov [rsp+16], r13
002259e6nop [rax+rax]
002259ecmov rax, [rsp+48]
002259f1mov rcx, rbp
002259f4mov rsi, r12
002259f7mov edi, 4
002259fclea r8, [rip+40109]
00225a03add rax, rbx
00225a06mov r15, [rax]
00225a09xor eax, eax
00225a0bmov rdx, r15
00225a0ecall caml_stat_strconcat
00225a13mov rdi, [rsp+8]
00225a18mov r14, rax
00225a1bmov rsi, rax
00225a1ecall caml_dlsym
00225a23mov rdi, r14
00225a26mov r13, rax
00225a29call caml_stat_free
00225a2emov rax, [rsp]
00225a32mov [rax+rbx], r13
00225a36test r13, r13
00225a39je 0x225c1f
00225a3fmov rax, [rsp+16]
00225a44add rbx, 8
00225a48cmp rbx, rax
00225a4bjne 0x2259f0
00225a4dmov r14, [rsp]
00225a51mov r13, [rsp+16]
00225a56mov esi, [rsp+28]
00225a5amov rbx, [rsp+8]
00225a5fmov rdi, r14
00225a62call caml_register_frametables
00225a67mov [rsp], r14
00225a6bxor r9l, r9l
00225a6emov [rsp+16], r13
00225a73mov [rsp+8], rbx
00225a78mov rbx, r9
00225a7bnop
00225a7cmov rax, [rsp+48]
00225a81mov rcx, rbp
00225a84mov rsi, r12
00225a87mov edi, 4
00225a8clea r8, [rip+39981]
00225a93add rax, rbx
00225a96mov r15, [rax]
00225a99xor eax, eax
00225a9bmov rdx, r15
00225a9ecall caml_stat_strconcat
00225aa3mov rdi, [rsp+8]
00225aa8mov r14, rax
00225aabmov rsi, rax
00225aaecall caml_dlsym
00225ab3mov rdi, r14
00225ab6mov r13, rax
00225ab9call caml_stat_free
00225abemov rax, [rsp]
00225ac2mov [rax+rbx], r13
00225ac6test r13, r13
00225ac9je 0x225c40
00225acfmov rax, [rsp+16]
00225ad4add rbx, 8
00225ad8cmp rbx, rax
00225adbjne 0x225a80
00225addmov r14, [rsp]
00225ae1mov rbx, [rsp+8]
00225ae6mov r13, rax
00225ae9mov esi, [rsp+28]
00225aedmov rdi, r14
00225af0call caml_register_dyn_globals
00225af5mov [rsp], rbx
00225af9xor r9l, r9l
00225afcmov [rsp+8], r13
00225b01mov [rsp+16], r14
00225b06mov r14, r9
00225b09nop [rax]
00225b0cmov rax, [rsp+48]
00225b11mov rcx, rbp
00225b14mov rsi, r12
00225b17mov edi, 4
00225b1clea r8, [rip+39846]
00225b23add rax, r14
00225b26mov rbx, [rax]
00225b29xor eax, eax
00225b2bmov rdx, rbx
00225b2ecall caml_stat_strconcat
00225b33mov rdi, [rsp]
00225b37mov r15, rax
00225b3amov rsi, rax
00225b3dcall caml_dlsym
00225b42mov rdi, r15
00225b45mov r13, rax
00225b48call caml_stat_free
00225b4dmov rdx, rbx
00225b50mov rcx, rbp
00225b53mov rsi, r12
00225b56lea r8, [rip+39799]
00225b5dmov edi, 4
00225b62xor eax, eax
00225b64call caml_stat_strconcat
00225b69mov rdi, [rsp]
00225b6dmov r15, rax
00225b70mov rsi, rax
00225b73call caml_dlsym
00225b78mov rdi, r15
00225b7bmov rbx, rax
00225b7ecall caml_stat_free
00225b83test r13, r13
00225b86setne dl
00225b89test rbx, rbx
00225b8csetne al
00225b8ftest dl, al
00225b91je 0x225bab
00225b93cmp rbx, r13
00225b96je 0x225bab
00225b98xor ecx, ecx
00225b9axor edx, edx
00225b9cmov rsi, rbx
00225b9fmov rdi, r13
00225ba2call caml_register_code_fragment
00225ba7mov rax, [rsp+8]
00225bacadd r14, 8
00225bb0cmp r14, rax
00225bb3jne 0x225b10
00225bb9mov r14, [rsp+16]
00225bbemov rdi, r14
00225bc1call caml_stat_free
00225bc6mov rax, [rsp+32]
00225bcbmov rcx, [rsp+40]
00225bd0mov [rax+160], rcx
00225bd7mov rax, [rsp+136]
00225bdfsub rax, [0x28]
00225be8jne 0x225c61
00225beaadd rsp, 152
00225bf1mov eax, 1
00225bf6pop rbx
00225bf7pop rbp
00225bf8pop r12
00225bfapop r13
00225bfcpop r14
00225bfepop r15
00225c00ret
00225c01mov ebx, [rsp+28]
00225c05
00225c05loc_225c05:
00225c05mov rdi, rax
00225c08mov esi, ebx
00225c0acall caml_register_frametables
00225c0fmov esi, ebx
00225c11mov rdi, r14
00225c14call caml_register_dyn_globals
00225c19jmp 0x225bc2
00225c1bmov rdi, rax
00225c1ecall caml_stat_free
00225c23lea rdi, [rip+47426]
00225c2amov rsi, r15
00225c2dxor eax, eax
00225c2fcall caml_alloc_sprintf
00225c34mov rdi, rax
00225c37call caml_invalid_argument_value
00225c3cmov rdi, rax
00225c3fcall caml_stat_free
00225c44lea rdi, [rip+47433]
00225c4bmov rsi, r15
00225c4exor eax, eax
00225c50call caml_alloc_sprintf
00225c55mov rdi, rax
00225c58call caml_invalid_argument_value
00225c5dcall fn_f4590
00225c62db 0x2a
00225c63db 0xe9
00225c64in al, dx
00225c65db 0xff
00225910
00225c66
00225c66 // align 0x10
00225c66 // align 0x10
00225c70
00225c70caml_natdynlink_run:
00225c70push r13
00225c72push r12
00225c74push rbp
00225c75mov rbp, rsi
00225c78push rbx
00225c79sub rsp, 184
00225c80movdqa x0, [rip+17476]
00225c88mov [rsp+8], rdi
00225c8dmovq x1, rsp
00225c92mov [rsp], rsi
00225c96mov rax, [0x28]
00225c9fmov [rsp+168], rax
00225ca7mov rax, [rip+0x50336]
00225caemov r12, [rax]
00225cb2lea rax, [rsp+8]
00225cb7movups [rsp+40], x0
00225cbcmov [rsp+16], 1
00225cc5movq x0, rax
00225ccalea rax, [rsp+32]
00225ccfmov [rsp+96], rax
00225cd4lea rax, [rsp+96]
00225cd9mov r13, [r12+160]
00225ce1punpcklqdq x0, x1
00225ce5mov [r12+160], rax
00225cedmov eax, 1
00225cf2movups [rsp+56], x0
00225cf7movq x0, rax
00225cfclea rax, [rsp+16]
00225d01mov [rsp+120], rax
00225d06mov rax, [rip+0x15347f]
00225d0dpunpcklqdq x0, x0
00225d11mov [rsp+32], r13
00225d16movups [rsp+104], x0
00225d1bmov rbx, [rdi]
00225d1etest rax, rax
00225d21je 0x225d2c
00225d23mov rdi, rbx
00225d26call rax
00225d28mov rdx, rbp
00225d2blea r8, [rip+39339]
00225d32xor eax, eax
00225d34mov edi, 4
00225d39lea rcx, [rip+39162]
00225d40lea rsi, [rip+39284]
00225d47call caml_stat_strconcat
00225d4cmov rdi, rbx
00225d4fmov rsi, rax
00225d52mov rbp, rax
00225d55call caml_dlsym
00225d5amov rdi, rbp
00225d5dmov rbx, rax
00225d60call caml_stat_free
00225d65mov [rsp+24], rbx
00225d6amov eax, 1
00225d6ftest rbx, rbx
00225d72je 0x225d84
00225d74lea rdi, [rsp+24]
00225d79xor esi, esi
00225d7bcall caml_callback
00225d80mov [r12+160], r13
00225d88mov rdx, [rsp+168]
00225d90sub rdx, [0x28]
00225d99jne 0x225dad
00225d9badd rsp, 184
00225da2pop rbx
00225da3pop rbp
00225da4pop r12
00225da6pop r13
00225da8ret
00225da9call fn_f4590
00225daedb 0xde
00225dafout 236, eax
00225db1db 0xff
00225c70
00225c70caml_natdynlink_run:
00225c70push r13
00225c72push r12
00225c74push rbp
00225c75mov rbp, rsi
00225c78push rbx
00225c79sub rsp, 184
00225c80movdqa x0, [rip+17476]
00225c88mov [rsp+8], rdi
00225c8dmovq x1, rsp
00225c92mov [rsp], rsi
00225c96mov rax, [0x28]
00225c9fmov [rsp+168], rax
00225ca7mov rax, [rip+0x50336]
00225caemov r12, [rax]
00225cb2lea rax, [rsp+8]
00225cb7movups [rsp+40], x0
00225cbcmov [rsp+16], 1
00225cc5movq x0, rax
00225ccalea rax, [rsp+32]
00225ccfmov [rsp+96], rax
00225cd4lea rax, [rsp+96]
00225cd9mov r13, [r12+160]
00225ce1punpcklqdq x0, x1
00225ce5mov [r12+160], rax
00225cedmov eax, 1
00225cf2movups [rsp+56], x0
00225cf7movq x0, rax
00225cfclea rax, [rsp+16]
00225d01mov [rsp+120], rax
00225d06mov rax, [rip+0x15347f]
00225d0dpunpcklqdq x0, x0
00225d11mov [rsp+32], r13
00225d16movups [rsp+104], x0
00225d1bmov rbx, [rdi]
00225d1etest rax, rax
00225d21je 0x225d2c
00225d23mov rdi, rbx
00225d26call rax
00225d28mov rdx, rbp
00225d2blea r8, [rip+39339]
00225d32xor eax, eax
00225d34mov edi, 4
00225d39lea rcx, [rip+39162]
00225d40lea rsi, [rip+39284]
00225d47call caml_stat_strconcat
00225d4cmov rdi, rbx
00225d4fmov rsi, rax
00225d52mov rbp, rax
00225d55call caml_dlsym
00225d5amov rdi, rbp
00225d5dmov rbx, rax
00225d60call caml_stat_free
00225d65mov [rsp+24], rbx
00225d6amov eax, 1
00225d6ftest rbx, rbx
00225d72je 0x225d84
00225d74lea rdi, [rsp+24]
00225d79xor esi, esi
00225d7bcall caml_callback
00225d80mov [r12+160], r13
00225d88mov rdx, [rsp+168]
00225d90sub rdx, [0x28]
00225d99jne 0x225dad
00225d9badd rsp, 184
00225da2pop rbx
00225da3pop rbp
00225da4pop r12
00225da6pop r13
00225da8ret
00225da9call fn_f4590
00225daedb 0xde
00225dafout 236, eax
00225db1db 0xff
00225c70
00225db2
00225db2 // align 0x10
00225db2 // align 0x10
00225dc0
00225dc0caml_natdynlink_run_toplevel:
00225dc0push r13
00225dc2push r12
00225dc4push rbp
00225dc5push rbx
00225dc6sub rsp, 200
00225dcdmovdqa x0, [rip+17143]
00225dd5mov [rsp+8], rdi
00225ddamovq x1, rsp
00225ddfmov [rsp], rsi
00225de3mov rax, [0x28]
00225decmov [rsp+184], rax
00225df4mov rax, [rip+0x501e9]
00225dfbmov r12, [rax]
00225dfflea rax, [rsp+8]
00225e04movups [rsp+56], x0
00225e09mov [rsp+16], 1
00225e12movq x0, rax
00225e17lea rax, [rsp+48]
00225e1cpunpcklqdq x0, x1
00225e20mov [rsp+112], rax
00225e25lea rax, [rsp+112]
00225e2amov r13, [r12+160]
00225e32movups [rsp+72], x0
00225e37movdqa x0, [rip+17069]
00225e3fmov [r12+160], rax
00225e47lea rax, [rsp+16]
00225e4cmovups [rsp+120], x0
00225e51movq x0, rax
00225e56lea rax, [rsp+24]
00225e5bmovq x2, rax
00225e60lea rax, [rsp+32]
00225e65mov [rsp+48], r13
00225e6amov [rsp+24], 1
00225e73punpcklqdq x0, x2
00225e77movups [rsp+136], x0
00225e7fmovq x0, rax
00225e84lea rax, [rsp+40]
00225e89mov [rsp+32], 1
00225e92movq x3, rax
00225e97mov [rsp+40], 1
00225ea0punpcklqdq x0, x3
00225ea4movups [rsp+152], x0
00225eaccall caml_stat_strdup
00225eb1mov rbx, rax
00225eb4call caml_enter_blocking_section
00225eb9mov rdi, rbx
00225ebcmov esi, 1
00225ec1call caml_dlopen
00225ec6mov rbp, rax
00225ec9call caml_leave_blocking_section
00225ecemov rdi, rbx
00225ed1call caml_stat_free
00225ed6test rbp, rbp
00225ed9je 0x225f80
00225edfmov esi, 251
00225ee4mov edi, 1
00225ee9call caml_alloc_small
00225eeexor esi, esi
00225ef0mov edi, 1
00225ef5mov [rax], rbp
00225ef8mov [rsp+32], rax
00225efdcall caml_alloc_small
00225f02mov rdx, [rsp]
00225f06mov [rsp+40], rax
00225f0bmov [rax], rdx
00225f0emov rsi, [rsp+40]
00225f13mov rdi, [rsp+32]
00225f18call caml_natdynlink_register
00225f1dxor esi, esi
00225f1fmov edi, 1
00225f24call caml_alloc
00225f29mov rsi, [rsp]
00225f2dmov rdi, [rsp+32]
00225f32mov [rsp+16], rax
00225f37call caml_natdynlink_run
00225f3cmov rdi, [rsp+16]
00225f41mov rsi, rax
00225f44mov [rsp+24], rax
00225f49call caml_modify
00225f4emov [r12+160], r13
00225f56mov rax, [rsp+16]
00225f5bmov rdx, [rsp+184]
00225f63sub rdx, [0x28]
00225f6cjne 0x225fb5
00225f6eadd rsp, 200
00225f75pop rbx
00225f76pop rbp
00225f77pop r12
00225f79pop r13
00225f7bret
00225f7cmov esi, 1
00225f81mov edi, 1
00225f86call caml_alloc
00225f8bmov [rsp+16], rax
00225f90call caml_dlerror
00225f95mov rdi, rax
00225f98call caml_copy_string
00225f9dmov rdi, [rsp+16]
00225fa2mov rsi, rax
00225fa5mov [rsp+24], rax
00225faacall caml_modify
00225fafjmp 0x225f52
00225fb1call fn_f4590
00225fb6db 0xd6
00225fb7in eax, 236
00225fb9db 0xff
00225dc0
00225dc0caml_natdynlink_run_toplevel:
00225dc0push r13
00225dc2push r12
00225dc4push rbp
00225dc5push rbx
00225dc6sub rsp, 200
00225dcdmovdqa x0, [rip+17143]
00225dd5mov [rsp+8], rdi
00225ddamovq x1, rsp
00225ddfmov [rsp], rsi
00225de3mov rax, [0x28]
00225decmov [rsp+184], rax
00225df4mov rax, [rip+0x501e9]
00225dfbmov r12, [rax]
00225dfflea rax, [rsp+8]
00225e04movups [rsp+56], x0
00225e09mov [rsp+16], 1
00225e12movq x0, rax
00225e17lea rax, [rsp+48]
00225e1cpunpcklqdq x0, x1
00225e20mov [rsp+112], rax
00225e25lea rax, [rsp+112]
00225e2amov r13, [r12+160]
00225e32movups [rsp+72], x0
00225e37movdqa x0, [rip+17069]
00225e3fmov [r12+160], rax
00225e47lea rax, [rsp+16]
00225e4cmovups [rsp+120], x0
00225e51movq x0, rax
00225e56lea rax, [rsp+24]
00225e5bmovq x2, rax
00225e60lea rax, [rsp+32]
00225e65mov [rsp+48], r13
00225e6amov [rsp+24], 1
00225e73punpcklqdq x0, x2
00225e77movups [rsp+136], x0
00225e7fmovq x0, rax
00225e84lea rax, [rsp+40]
00225e89mov [rsp+32], 1
00225e92movq x3, rax
00225e97mov [rsp+40], 1
00225ea0punpcklqdq x0, x3
00225ea4movups [rsp+152], x0
00225eaccall caml_stat_strdup
00225eb1mov rbx, rax
00225eb4call caml_enter_blocking_section
00225eb9mov rdi, rbx
00225ebcmov esi, 1
00225ec1call caml_dlopen
00225ec6mov rbp, rax
00225ec9call caml_leave_blocking_section
00225ecemov rdi, rbx
00225ed1call caml_stat_free
00225ed6test rbp, rbp
00225ed9je 0x225f80
00225edfmov esi, 251
00225ee4mov edi, 1
00225ee9call caml_alloc_small
00225eeexor esi, esi
00225ef0mov edi, 1
00225ef5mov [rax], rbp
00225ef8mov [rsp+32], rax
00225efdcall caml_alloc_small
00225f02mov rdx, [rsp]
00225f06mov [rsp+40], rax
00225f0bmov [rax], rdx
00225f0emov rsi, [rsp+40]
00225f13mov rdi, [rsp+32]
00225f18call caml_natdynlink_register
00225f1dxor esi, esi
00225f1fmov edi, 1
00225f24call caml_alloc
00225f29mov rsi, [rsp]
00225f2dmov rdi, [rsp+32]
00225f32mov [rsp+16], rax
00225f37call caml_natdynlink_run
00225f3cmov rdi, [rsp+16]
00225f41mov rsi, rax
00225f44mov [rsp+24], rax
00225f49call caml_modify
00225f4emov [r12+160], r13
00225f56mov rax, [rsp+16]
00225f5bmov rdx, [rsp+184]
00225f63sub rdx, [0x28]
00225f6cjne 0x225fb5
00225f6eadd rsp, 200
00225f75pop rbx
00225f76pop rbp
00225f77pop r12
00225f79pop r13
00225f7bret
00225f7cmov esi, 1
00225f81mov edi, 1
00225f86call caml_alloc
00225f8bmov [rsp+16], rax
00225f90call caml_dlerror
00225f95mov rdi, rax
00225f98call caml_copy_string
00225f9dmov rdi, [rsp+16]
00225fa2mov rsi, rax
00225fa5mov [rsp+24], rax
00225faacall caml_modify
00225fafjmp 0x225f52
00225fb1call fn_f4590
00225fb6db 0xd6
00225fb7in eax, 236
00225fb9db 0xff
00225dc0
00225fba
00225fba // align 0x10
00225fba // align 0x10
00225fc0
00225fc0caml_natdynlink_loadsym:
00225fc0push rbp
00225fc1push rbx
00225fc2sub rsp, 184
00225fc9mov [rsp+8], rdi
00225fcemov rax, [0x28]
00225fd7mov [rsp+168], rax
00225fdfmov rax, [rip+0x4fffe]
00225fe6mov rbx, [rax]
00225feamov eax, 1
00225fefmov [rsp+24], 1
00225ff8movq x0, rax
00225ffdlea rax, [rsp+8]
00226002mov [rsp+56], rax
00226007lea rax, [rsp+32]
0022600cmov rbp, [rbx+160]
00226013punpcklqdq x0, x0
00226017mov [rsp+96], rax
0022601clea rax, [rsp+96]
00226021mov [rbx+160], rax
00226028lea rax, [rsp+24]
0022602dmov [rsp+32], rbp
00226032mov [rsp+120], rax
00226037movups [rsp+40], x0
0022603cmovups [rsp+104], x0
00226041call caml_globalsym
00226046mov [rsp+24], rax
0022604btest rax, rax
0022604eje 0x226078
00226050mov [rbx+160], rbp
00226057mov rdx, [rsp+168]
0022605fsub rdx, [0x28]
00226068jne 0x226082
0022606aadd rsp, 184
00226071pop rbx
00226072pop rbp
00226073ret
00226074mov rdi, [rsp+8]
00226079call caml_failwith
0022607ecall fn_f4590
00226083db 0x09
00226084in eax, 236
00226086db 0xff
00225fc0
00225fc0caml_natdynlink_loadsym:
00225fc0push rbp
00225fc1push rbx
00225fc2sub rsp, 184
00225fc9mov [rsp+8], rdi
00225fcemov rax, [0x28]
00225fd7mov [rsp+168], rax
00225fdfmov rax, [rip+0x4fffe]
00225fe6mov rbx, [rax]
00225feamov eax, 1
00225fefmov [rsp+24], 1
00225ff8movq x0, rax
00225ffdlea rax, [rsp+8]
00226002mov [rsp+56], rax
00226007lea rax, [rsp+32]
0022600cmov rbp, [rbx+160]
00226013punpcklqdq x0, x0
00226017mov [rsp+96], rax
0022601clea rax, [rsp+96]
00226021mov [rbx+160], rax
00226028lea rax, [rsp+24]
0022602dmov [rsp+32], rbp
00226032mov [rsp+120], rax
00226037movups [rsp+40], x0
0022603cmovups [rsp+104], x0
00226041call caml_globalsym
00226046mov [rsp+24], rax
0022604btest rax, rax
0022604eje 0x226078
00226050mov [rbx+160], rbp
00226057mov rdx, [rsp+168]
0022605fsub rdx, [0x28]
00226068jne 0x226082
0022606aadd rsp, 184
00226071pop rbx
00226072pop rbp
00226073ret
00226074mov rdi, [rsp+8]
00226079call caml_failwith
0022607ecall fn_f4590
00226083db 0x09
00226084in eax, 236
00226086db 0xff
00225fc0
00226087
00226087 // align 0x20
00226087 // align 0x20
002260a0
002260a0caml_raise:
002260a0push rbp
002260a1push rbx
002260a2sub rsp, 24
002260a6mov rbp, [rip+0x4ff37]
002260adcmp [rbp], 0
002260b3je 0x22612d
002260b5mov rbx, rdi
002260b8call caml_channel_cleanup_on_raise
002260bdmov rdi, rbx
002260c0call caml_process_pending_actions_with_root_res
002260c5mov rdi, [rbp]
002260camov rsi, rdx
002260cdmov rdx, [rdi+64]
002260d1test rdx, rdx
002260d4je 0x226119
002260d6mov rax, [rdi+160]
002260ddcmp rax, rdx
002260e0jb 0x22610f
002260e2jmp 0x226114
002260e4db 0x72
002260e5sub ebx, ebp
002260e7db 0x2c
002260e8
002260e8 66 66 2e 0f 1f 84 00 00 ff......
002260f0 00 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 ...ff.........f.
00226100
00226100loc_226100:
00226100mov rax, [rax]
00226103mov [rdi+160], rax
0022610acmp rax, rdx
0022610djae 0x226114
0022610f
0022610floc_22610f:
0022610ftest rax, rax
00226112jne 0x226100
00226114
00226114loc_226114:
00226114call caml_raise_exception
00226119
00226119loc_226119:
00226119mov [rsp+8], rsi
0022611ecall caml_terminate_signals
00226123mov rdi, [rsp+8]
00226128call caml_fatal_uncaught_exception
0022612d
0022612dloc_22612d:
0022612dcall caml_bad_caml_state
002260a0
002260a0caml_raise:
002260a0push rbp
002260a1push rbx
002260a2sub rsp, 24
002260a6mov rbp, [rip+0x4ff37]
002260adcmp [rbp], 0
002260b3je 0x22612d
002260b5mov rbx, rdi
002260b8call caml_channel_cleanup_on_raise
002260bdmov rdi, rbx
002260c0call caml_process_pending_actions_with_root_res
002260c5mov rdi, [rbp]
002260camov rsi, rdx
002260cdmov rdx, [rdi+64]
002260d1test rdx, rdx
002260d4je 0x226119
002260d6mov rax, [rdi+160]
002260ddcmp rax, rdx
002260e0jb 0x22610f
002260e2jmp 0x226114
002260e4db 0x72
002260e5sub ebx, ebp
002260e7db 0x2c
002260e8
002260e8 66 66 2e 0f 1f 84 00 00 ff......
002260f0 00 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 ...ff.........f.
00226100
00226100loc_226100:
00226100mov rax, [rax]
00226103mov [rdi+160], rax
0022610acmp rax, rdx
0022610djae 0x226114
0022610f
0022610floc_22610f:
0022610ftest rax, rax
00226112jne 0x226100
00226114
00226114loc_226114:
00226114call caml_raise_exception
00226119
00226119loc_226119:
00226119mov [rsp+8], rsi
0022611ecall caml_terminate_signals
00226123mov rdi, [rsp+8]
00226128call caml_fatal_uncaught_exception
0022612d
0022612dloc_22612d:
0022612dcall caml_bad_caml_state
002260a0
00226132
00226132 // align 0x10
00226132 // align 0x10
00226140
00226140caml_exception_failure:
00226140mov rsi, rdi
00226143lea rdi, [rip+0x4ff32]
0022614ajmp 0x2068b0
0022614fdb 0x5d
00226150db 0x07
00226151db 0xfe
00226152db 0xff
00226140
00226140caml_exception_failure:
00226140mov rsi, rdi
00226143lea rdi, [rip+0x4ff32]
0022614ajmp 0x2068b0
0022614fdb 0x5d
00226150db 0x07
00226151db 0xfe
00226152db 0xff
00226140
00226153
00226153 // align 0x10
00226153 // align 0x10
00226160
00226160caml_exception_failure_value:
00226160mov rsi, rdi
00226163lea rdi, [rip+0x4ff12]
0022616ajmp 0x206690
0022616fdb 0x1d
00226170db 0x05
00226171db 0xfe
00226172db 0xff
00226160
00226160caml_exception_failure_value:
00226160mov rsi, rdi
00226163lea rdi, [rip+0x4ff12]
0022616ajmp 0x206690
0022616fdb 0x1d
00226170db 0x05
00226171db 0xfe
00226172db 0xff
00226160
00226173
00226173 // align 0x10
00226173 // align 0x10
00226180
00226180caml_exception_invalid_argument:
00226180mov rsi, rdi
00226183lea rdi, [rip+0x4ff1a]
0022618ajmp 0x2068b0
0022618fdb 0x1d
00226190db 0x07
00226191db 0xfe
00226192db 0xff
00226180
00226180caml_exception_invalid_argument:
00226180mov rsi, rdi
00226183lea rdi, [rip+0x4ff1a]
0022618ajmp 0x2068b0
0022618fdb 0x1d
00226190db 0x07
00226191db 0xfe
00226192db 0xff
00226180
00226193
00226193 // align 0x10
00226193 // align 0x10
002261a0
002261a0caml_exception_invalid_argument_value:
002261a0mov rsi, rdi
002261a3lea rdi, [rip+0x4fefa]
002261aajmp 0x206690
002261afdb 0xdd
002261b0add al, -2
002261b2db 0xff
002261a0
002261a0caml_exception_invalid_argument_value:
002261a0mov rsi, rdi
002261a3lea rdi, [rip+0x4fefa]
002261aajmp 0x206690
002261afdb 0xdd
002261b0add al, -2
002261b2db 0xff
002261a0
002261b3
002261b3 // align 0x10
002261b3 // align 0x10
002261c0
002261c0caml_exception_out_of_memory:
002261c0lea rax, [rip+0x4fe55]
002261c7ret
002261c8db 0xfe
002261c9add al, 0
002261cbret
002261c0
002261c0caml_exception_out_of_memory:
002261c0lea rax, [rip+0x4fe55]
002261c7ret
002261c8db 0xfe
002261c9add al, 0
002261cbret
002261c0
002261cc
002261cc // align 0x10
002261cc // align 0x10
002261d0
002261d0caml_exception_stack_overflow:
002261d0lea rax, [rip+0x4ffcd]
002261d7ret
002261d8db 0xff
002261d9add al, 0
002261dbret
002261d0
002261d0caml_exception_stack_overflow:
002261d0lea rax, [rip+0x4ffcd]
002261d7ret
002261d8db 0xff
002261d9add al, 0
002261dbret
002261d0
002261dc
002261dc // align 0x10
002261dc // align 0x10
002261e0
002261e0caml_exception_sys_error:
002261e0mov rsi, rdi
002261e3lea rdi, [rip+0x4fe62]
002261eajmp 0x206690
002261efdb 0x9d
002261f0add al, -2
002261f2db 0xff
002261e0
002261e0caml_exception_sys_error:
002261e0mov rsi, rdi
002261e3lea rdi, [rip+0x4fe62]
002261eajmp 0x206690
002261efdb 0x9d
002261f0add al, -2
002261f2db 0xff
002261e0
002261f3
002261f3 // align 0x10
002261f3 // align 0x10
00226200
00226200caml_exception_end_of_file:
00226200lea rax, [rip+0x4fed5]
00226207ret
00226208db 0xfe
00226209add al, 0
0022620bret
00226200
00226200caml_exception_end_of_file:
00226200lea rax, [rip+0x4fed5]
00226207ret
00226208db 0xfe
00226209add al, 0
0022620bret
00226200
0022620c
0022620c // align 0x10
0022620c // align 0x10
00226210
00226210caml_exception_zero_divide:
00226210lea rax, [rip+0x4fef5]
00226217ret
00226218db 0xfe
00226219add al, 0
0022621bret
00226210
00226210caml_exception_zero_divide:
00226210lea rax, [rip+0x4fef5]
00226217ret
00226218db 0xfe
00226219add al, 0
0022621bret
00226210
0022621c
0022621c // align 0x10
0022621c // align 0x10
00226220
00226220caml_exception_not_found:
00226220lea rax, [rip+0x4ff1d]
00226227ret
00226228db 0xff
00226229add al, 0
0022622bret
00226220
00226220caml_exception_not_found:
00226220lea rax, [rip+0x4ff1d]
00226227ret
00226228db 0xff
00226229add al, 0
0022622bret
00226220
0022622c
0022622c // align 0x10
0022622c // align 0x10
00226230
00226230caml_exception_sys_blocked_io:
00226230lea rax, [rip+0x4ff9d]
00226237ret
00226238db 0xff
00226239add al, 0
0022623bret
00226230
00226230caml_exception_sys_blocked_io:
00226230lea rax, [rip+0x4ff9d]
00226237ret
00226238db 0xff
00226239add al, 0
0022623bret
00226230
0022623c
0022623c // align 0x10
0022623c // align 0x10
00226240
00226240caml_exception_array_bound_error:
00226240mov rax, [rip+0x152f55]
00226247test rax, rax
0022624aje 0x226258
0022624cmov rax, [rax]
0022624fret
00226250db 0x48
00226251mov eax, [rax]
00226253ret
00226254
00226254 0f 1f 40 00 ..@.
00226258
00226258loc_226258:
00226258sub rsp, 8
0022625clea rdi, [rip+38020]
00226263call caml_named_value
00226268test rax, rax
0022626bje 0x22627c
0022626dmov [rip+0x152f2c], rax
00226274mov rax, [rax]
00226277add rsp, 8
0022627bret
0022627c
0022627cloc_22627c:
0022627cmov rcx, [rip+0x15225d]
00226283mov edx, 63
00226288mov esi, 1
0022628dlea rdi, [rip+45868]
00226294call fn_f4700
00226299mov edi, 2
0022629ecall fn_f4210
00226240
00226240caml_exception_array_bound_error:
00226240mov rax, [rip+0x152f55]
00226247test rax, rax
0022624aje 0x226258
0022624cmov rax, [rax]
0022624fret
00226250db 0x48
00226251mov eax, [rax]
00226253ret
00226254
00226254 0f 1f 40 00 ..@.
00226258
00226258loc_226258:
00226258sub rsp, 8
0022625clea rdi, [rip+38020]
00226263call caml_named_value
00226268test rax, rax
0022626bje 0x22627c
0022626dmov [rip+0x152f2c], rax
00226274mov rax, [rax]
00226277add rsp, 8
0022627bret
0022627c
0022627cloc_22627c:
0022627cmov rcx, [rip+0x15225d]
00226283mov edx, 63
00226288mov esi, 1
0022628dlea rdi, [rip+45868]
00226294call fn_f4700
00226299mov edi, 2
0022629ecall fn_f4210
00226240
002262a3
002262a3 // align 0x10
002262a3 // align 0x10
002262b0
002262b0caml_array_bound_error_asm:
002262b0push rax
002262b1pop rax
002262b2sub rsp, 8
002262b6call caml_exception_array_bound_error
002262bbmov rsi, rax
002262bemov rax, [rip+0x4fd1f]
002262c5mov rdi, [rax]
002262c9call caml_raise_exception
002262cedb 0x62
002262cfadc [rax], eax
002262d1db 0x00
002262b0
002262b0caml_array_bound_error_asm:
002262b0push rax
002262b1pop rax
002262b2sub rsp, 8
002262b6call caml_exception_array_bound_error
002262bbmov rsi, rax
002262bemov rax, [rip+0x4fd1f]
002262c5mov rdi, [rax]
002262c9call caml_raise_exception
002262cedb 0x62
002262cfadc [rax], eax
002262d1db 0x00
002262b0
002262d2
002262d2 // align 0x10
002262d2 // align 0x10
002262e0
002262e0caml_is_special_exception:
002262e0lea rdx, [rip+0x4fe8d]
002262e7mov eax, 1
002262eccmp rdi, rdx
002262efje 0x226311
002262f1lea rdx, [rip+0x4ff0c]
002262f8cmp rdi, rdx
002262fbje 0x226311
002262fdlea rax, [rip+0x4ff30]
00226304cmp rdi, rax
00226307sete al
0022630amovzx eax, al
0022630dret
0022630edb 0x0f
0022630fmov dh, 192
00226311
00226311loc_226311:
00226311ret
002262e0
002262e0caml_is_special_exception:
002262e0lea rdx, [rip+0x4fe8d]
002262e7mov eax, 1
002262eccmp rdi, rdx
002262efje 0x226311
002262f1lea rdx, [rip+0x4ff0c]
002262f8cmp rdi, rdx
002262fbje 0x226311
002262fdlea rax, [rip+0x4ff30]
00226304cmp rdi, rax
00226307sete al
0022630amovzx eax, al
0022630dret
0022630edb 0x0f
0022630fmov dh, 192
00226311
00226311loc_226311:
00226311ret
002262e0
00226312
00226312 // align 0x10
00226312 // align 0x10
00226320
00226320fn_226320:
00226320movzx edx, [rdi+8]
00226324cmp dx, -1
00226328je 0x226380
0022632amov ecx, edx
0022632cmovzx eax, [rdi+10]
00226330and ecx, 1
00226333and edx, 2
00226336lea rax, [rdi+2*rax+12]
0022633bje 0x226368
0022633dmovzx esi, [rax]
00226340lea rax, [rax+rsi+1]
00226345test cl, cl
00226347je 0x22635b
00226349add rax, 3
0022634dmov rdx, rsi
00226350and rax, -4
00226354shl rdx, 2
00226358
00226358loc_226358:
00226358add rax, rdx
0022635b
0022635bloc_22635b:
0022635badd rax, 7
0022635fand rax, -8
00226363ret
00226364
00226364 0f 1f 40 00 ..@.
00226368
00226368loc_226368:
00226368test cl, cl
0022636aje 0x22635b
0022636cadd rax, 3
00226370mov edx, 4
00226375and rax, -4
00226379jmp 0x226358
0022637b
0022637b 0f 1f 44 00 00 ..D..
00226380
00226380loc_226380:
00226380lea rax, [rdi+19]
00226384and rax, -8
00226388ret
00226320
00226320fn_226320:
00226320movzx edx, [rdi+8]
00226324cmp dx, -1
00226328je 0x226380
0022632amov ecx, edx
0022632cmovzx eax, [rdi+10]
00226330and ecx, 1
00226333and edx, 2
00226336lea rax, [rdi+2*rax+12]
0022633bje 0x226368
0022633dmovzx esi, [rax]
00226340lea rax, [rax+rsi+1]
00226345test cl, cl
00226347je 0x22635b
00226349add rax, 3
0022634dmov rdx, rsi
00226350and rax, -4
00226354shl rdx, 2
00226358
00226358loc_226358:
00226358add rax, rdx
0022635b
0022635bloc_22635b:
0022635badd rax, 7
0022635fand rax, -8
00226363ret
00226364
00226364 0f 1f 40 00 ..@.
00226368
00226368loc_226368:
00226368test cl, cl
0022636aje 0x22635b
0022636cadd rax, 3
00226370mov edx, 4
00226375and rax, -4
00226379jmp 0x226358
0022637b
0022637b 0f 1f 44 00 00 ..D..
00226380
00226380loc_226380:
00226380lea rax, [rdi+19]
00226384and rax, -8
00226388ret
00226320
00226389
00226389 // align 0x20
00226389 // align 0x20
002263a0
002263a0fn_2263a0:
002263a0mov r9, rdi
002263a3test rdi, rdi
002263a6je 0x22642e
002263acnop [rax]
002263b0
002263b0loc_2263b0:
002263b0mov rax, [r9]
002263b3mov r8, [rax]
002263b6add rax, 8
002263batest r8, r8
002263bdjle 0x226425
002263bfxor r10l, r10l
002263c2nop [rax+rax]
002263cdnop [rax]
002263d0
002263d0loc_2263d0:
002263d0mov rdx, [rax]
002263d3movsxd rdi, [rip+0x15208a]
002263damov rsi, [rip+0x152087]
002263e1shr rdx, 3
002263e5and rdx, rdi
002263e8lea rcx, [rsi+8*rdx]
002263eccmp [rcx], 0
002263f0je 0x226411
002263f2nop [rax+rax]
002263fdnop [rax]
00226400
00226400loc_226400:
00226400add rdx, 1
00226404and rdx, rdi
00226407lea rcx, [rsi+8*rdx]
0022640bcmp [rcx], 0
0022640fjne 0x226400
00226411
00226411loc_226411:
00226411mov [rcx], rax
00226414mov rdi, rax
00226417add r10, 1
0022641bcall fn_226320
00226420cmp r8, r10
00226423jne 0x2263d0
00226425
00226425loc_226425:
00226425mov r9, [r9+8]
00226429test r9, r9
0022642cjne 0x2263b0
0022642e
0022642eloc_22642e:
0022642eret
002263a0
002263a0fn_2263a0:
002263a0mov r9, rdi
002263a3test rdi, rdi
002263a6je 0x22642e
002263acnop [rax]
002263b0
002263b0loc_2263b0:
002263b0mov rax, [r9]
002263b3mov r8, [rax]
002263b6add rax, 8
002263batest r8, r8
002263bdjle 0x226425
002263bfxor r10l, r10l
002263c2nop [rax+rax]
002263cdnop [rax]
002263d0
002263d0loc_2263d0:
002263d0mov rdx, [rax]
002263d3movsxd rdi, [rip+0x15208a]
002263damov rsi, [rip+0x152087]
002263e1shr rdx, 3
002263e5and rdx, rdi
002263e8lea rcx, [rsi+8*rdx]
002263eccmp [rcx], 0
002263f0je 0x226411
002263f2nop [rax+rax]
002263fdnop [rax]
00226400
00226400loc_226400:
00226400add rdx, 1
00226404and rdx, rdi
00226407lea rcx, [rsi+8*rdx]
0022640bcmp [rcx], 0
0022640fjne 0x226400
00226411
00226411loc_226411:
00226411mov [rcx], rax
00226414mov rdi, rax
00226417add r10, 1
0022641bcall fn_226320
00226420cmp r8, r10
00226423jne 0x2263d0
00226425
00226425loc_226425:
00226425mov r9, [r9+8]
00226429test r9, r9
0022642cjne 0x2263b0
0022642e
0022642eloc_22642e:
0022642eret
002263a0
0022642f
0022642f // align 0x10
0022642f // align 0x10
00226430
00226430fn_226430:
00226430push rbp
00226431mov rbp, rdi
00226434push rbx
00226435sub rsp, 8
00226439test rdi, rdi
0022643cje 0x226560
00226442mov rax, rdi
00226445nop [rax+rax]
00226450
00226450loc_226450:
00226450mov r11, rax
00226453mov rax, [rax+8]
00226457test rax, rax
0022645ajne 0x226450
0022645cmov rax, rbp
0022645fxor edx, edx
00226461nop [rax+rax]
0022646cnop [rax]
00226470
00226470loc_226470:
00226470mov rcx, [rax]
00226473mov rax, [rax+8]
00226477add rdx, [rcx]
0022647atest rax, rax
0022647djne 0x226470
0022647f
0022647floc_22647f:
0022647fmovsxd rsi, [rip+0x151fda]
00226486mov eax, [rip+0x151fd8]
0022648cmov rdi, rsi
0022648fadd eax, 1
00226492add rsi, rdx
00226495lea rcx, [rsi+rsi]
00226499cdqe
0022649bcmp rax, rcx
0022649ejge 0x226530
002264a4mov rax, [rip+0x151fc5]
002264abmov [r11+8], rax
002264afmov [rip+0x151fb6], 0
002264bacmp rcx, 4
002264bejle 0x22656a
002264c4mov eax, 4
002264c9nop [rax]
002264d0
002264d0loc_2264d0:
002264d0add rax, rax
002264d3cmp rcx, rax
002264d6jg 0x2264d0
002264d8lea edx, [rax-1]
002264dbmov rbx, rax
002264de
002264deloc_2264de:
002264demov rdi, [rip+0x151f83]
002264e5mov [rip+0x151f75], esi
002264ebmov [rip+0x151f73], edx
002264f1test rdi, rdi
002264f4je 0x2264fb
002264f6call caml_stat_free
002264fb
002264fbloc_2264fb:
002264fbmov esi, 8
00226500mov rdi, rbx
00226503call caml_stat_calloc_noexc
00226508mov [rip+0x151f59], rax
0022650ftest rax, rax
00226512je 0x226579
00226514mov rdi, rbp
00226517call fn_2263a0
0022651cmov [rip+0x151f4d], rbp
00226523add rsp, 8
00226527pop rbx
00226528pop rbp
00226529ret
0022652a
0022652a 66 0f 1f 44 00 00 f..D..
00226530
00226530loc_226530:
00226530add edi, edx
00226532mov [rip+0x151f28], edi
00226538mov rdi, rbp
0022653bcall fn_2263a0
00226540mov rax, [rip+0x151f29]
00226547mov [r11+8], rax
0022654bmov [rip+0x151f1e], rbp
00226552add rsp, 8
00226556pop rbx
00226557pop rbp
00226558ret
00226559
00226559 0f 1f 80 00 00 00 00 .......
00226560
00226560loc_226560:
00226560xor r11l, r11l
00226563xor edx, edx
00226565jmp 0x22647f
0022656a
0022656aloc_22656a:
0022656amov ebx, 4
0022656fmov edx, 3
00226574jmp 0x2264de
00226579
00226579loc_226579:
00226579call caml_raise_out_of_memory
00226430
00226430fn_226430:
00226430push rbp
00226431mov rbp, rdi
00226434push rbx
00226435sub rsp, 8
00226439test rdi, rdi
0022643cje 0x226560
00226442mov rax, rdi
00226445nop [rax+rax]
00226450
00226450loc_226450:
00226450mov r11, rax
00226453mov rax, [rax+8]
00226457test rax, rax
0022645ajne 0x226450
0022645cmov rax, rbp
0022645fxor edx, edx
00226461nop [rax+rax]
0022646cnop [rax]
00226470
00226470loc_226470:
00226470mov rcx, [rax]
00226473mov rax, [rax+8]
00226477add rdx, [rcx]
0022647atest rax, rax
0022647djne 0x226470
0022647f
0022647floc_22647f:
0022647fmovsxd rsi, [rip+0x151fda]
00226486mov eax, [rip+0x151fd8]
0022648cmov rdi, rsi
0022648fadd eax, 1
00226492add rsi, rdx
00226495lea rcx, [rsi+rsi]
00226499cdqe
0022649bcmp rax, rcx
0022649ejge 0x226530
002264a4mov rax, [rip+0x151fc5]
002264abmov [r11+8], rax
002264afmov [rip+0x151fb6], 0
002264bacmp rcx, 4
002264bejle 0x22656a
002264c4mov eax, 4
002264c9nop [rax]
002264d0
002264d0loc_2264d0:
002264d0add rax, rax
002264d3cmp rcx, rax
002264d6jg 0x2264d0
002264d8lea edx, [rax-1]
002264dbmov rbx, rax
002264de
002264deloc_2264de:
002264demov rdi, [rip+0x151f83]
002264e5mov [rip+0x151f75], esi
002264ebmov [rip+0x151f73], edx
002264f1test rdi, rdi
002264f4je 0x2264fb
002264f6call caml_stat_free
002264fb
002264fbloc_2264fb:
002264fbmov esi, 8
00226500mov rdi, rbx
00226503call caml_stat_calloc_noexc
00226508mov [rip+0x151f59], rax
0022650ftest rax, rax
00226512je 0x226579
00226514mov rdi, rbp
00226517call fn_2263a0
0022651cmov [rip+0x151f4d], rbp
00226523add rsp, 8
00226527pop rbx
00226528pop rbp
00226529ret
0022652a
0022652a 66 0f 1f 44 00 00 f..D..
00226530
00226530loc_226530:
00226530add edi, edx
00226532mov [rip+0x151f28], edi
00226538mov rdi, rbp
0022653bcall fn_2263a0
00226540mov rax, [rip+0x151f29]
00226547mov [r11+8], rax
0022654bmov [rip+0x151f1e], rbp
00226552add rsp, 8
00226556pop rbx
00226557pop rbp
00226558ret
00226559
00226559 0f 1f 80 00 00 00 00 .......
00226560
00226560loc_226560:
00226560xor r11l, r11l
00226563xor edx, edx
00226565jmp 0x22647f
0022656a
0022656aloc_22656a:
0022656amov ebx, 4
0022656fmov edx, 3
00226574jmp 0x2264de
00226579
00226579loc_226579:
00226579call caml_raise_out_of_memory
00226430
0022657e
0022657e // align 0x10
0022657e // align 0x10
00226580
00226580fn_226580:
00226580push r15
00226582push r14
00226584mov r14, rsi
00226587push r13
00226589mov r13l, edx
0022658cpush r12
0022658epush rbp
0022658fpush rbx
00226590sub rsp, 40
00226594cmp edx, 1
00226597je 0x226745
0022659dmov edi, edx
0022659fcall caml_global_barrier_and_check_final
002265a4mov r12, rax
002265a7test rax, rax
002265aaje 0x2266b4
002265b0mov rbx, [rip+0x151ebd]
002265b7test rbx, rbx
002265baje 0x22676e
002265c0xor ebp, ebp
002265c2mov rdi, [rbx]
002265c5mov r11, [rdi]
002265c8add rdi, 8
002265cctest r11, r11
002265cfjle 0x2266ea
002265d5mov r9, [rip+0x151e88]
002265dcmovsxd r8, [rip+0x151e7d]
002265e3xor r10l, r10l
002265e6nop [rax+rax]
002265ecmov rax, [rdi]
002265efshr rax, 3
002265f3and rax, r8
002265f6cmp [r9+8*rax], rdi
002265faje 0x22660d
002265fcadd rax, 1
00226600
00226600loc_226600:
00226600and rax, r8
00226603cmp [r9+8*rax], rdi
00226607jne 0x226600
00226609mov [rsp+16], r11
0022660emov r15, r12
00226611mov [r9+8*rax], 0
00226619movsxd r8, [rip+0x151e40]
00226620lea rdx, [rax+1]
00226624lea rcx, [8*rax]
0022662cmov r9, [rip+0x151e31]
00226633and rdx, r8
00226636mov rsi, [r9+8*rdx]
0022663atest rsi, rsi
0022663dje 0x226706
00226643mov [rsp+8], rdi
00226648mov [rsp+24], rcx
0022664djmp 0x22666d
0022664fdb 0x24
00226650sbb bl, ch
00226652db 0x1a
00226653
00226653 0f 1f 44 00 00 ..D..
00226658
00226658loc_226658:
00226658cmp rax, rcx
0022665bjae 0x22668d
0022665d
0022665dloc_22665d:
0022665dadd rdx, 1
00226661and rdx, r8
00226664mov rsi, [r9+8*rdx]
00226668test rsi, rsi
0022666bje 0x2266c8
0022666d
0022666dloc_22666d:
0022666dmov rcx, [rsi]
00226670shr rcx, 3
00226674and rcx, r8
00226677cmp rdx, rcx
0022667asetae r11b
0022667ecmp rdx, rax
00226681setb r12b
00226685mov edi, r11l
00226688or dil, r12b
0022668bjne 0x226658
0022668d
0022668dloc_22668d:
0022668dtest r11b, r11b
00226690je 0x226697
00226692test r12b, r12b
00226695jne 0x22665d
00226697
00226697loc_226697:
00226697mov rcx, [rsp+24]
0022669cmov rdi, [rsp+8]
002266a1mov rax, rdx
002266a4mov [r9+rcx], rsi
002266a8mov r9, [rip+0x151db9]
002266afjmp 0x226615
002266b4
002266b4loc_2266b4:
002266b4add rsp, 40
002266b8pop rbx
002266b9pop rbp
002266bapop r12
002266bcpop r13
002266bepop r14
002266c0pop r15
002266c2ret
002266c3
002266c3 0f 1f 44 00 00 ..D..
002266c8
002266c8loc_2266c8:
002266c8mov r11, [rsp+16]
002266cdmov rdi, [rsp+8]
002266d2mov r12, r15
002266d5
002266d5loc_2266d5:
002266d5call fn_226320
002266daadd r10, 1
002266demov rdi, rax
002266e1cmp r11, r10
002266e4jne 0x2265f0
002266ea
002266ealoc_2266ea:
002266eamov r15, [rbx+8]
002266eemov rdi, rbx
002266f1add rbp, r11
002266f4call caml_stat_free
002266f9test r15, r15
002266fcje 0x226710
002266femov rbx, r15
00226701jmp 0x2265c6
00226706
00226706loc_226706:
00226706mov r11, [rsp+16]
0022670bmov r12, r15
0022670ejmp 0x2266d5
00226710
00226710loc_226710:
00226710mov rdi, r14
00226713sub [rip+0x151d47], ebp
00226719mov [rip+0x151d54], 0
00226724call fn_226430
00226729cmp r13l, 1
0022672dje 0x2266b4
0022672f
0022672floc_22672f:
0022672fadd rsp, 40
00226733mov rdi, r12
00226736pop rbx
00226737pop rbp
00226738pop r12
0022673apop r13
0022673cpop r14
0022673epop r15
00226740jmp 0x201620
00226745
00226745loc_226745:
00226745mov rbx, [rip+0x151d2c]
0022674cxor r12l, r12l
0022674ftest rbx, rbx
00226752jne 0x2265c4
00226758add rsp, 40
0022675cmov rdi, r14
0022675fpop rbx
00226760pop rbp
00226761pop r12
00226763pop r13
00226765pop r14
00226767pop r15
00226769jmp 0x226430
0022676e
0022676eloc_22676e:
0022676emov rdi, r14
00226771call fn_226430
00226776jmp 0x22672f
00226580
00226580fn_226580:
00226580push r15
00226582push r14
00226584mov r14, rsi
00226587push r13
00226589mov r13l, edx
0022658cpush r12
0022658epush rbp
0022658fpush rbx
00226590sub rsp, 40
00226594cmp edx, 1
00226597je 0x226745
0022659dmov edi, edx
0022659fcall caml_global_barrier_and_check_final
002265a4mov r12, rax
002265a7test rax, rax
002265aaje 0x2266b4
002265b0mov rbx, [rip+0x151ebd]
002265b7test rbx, rbx
002265baje 0x22676e
002265c0xor ebp, ebp
002265c2mov rdi, [rbx]
002265c5mov r11, [rdi]
002265c8add rdi, 8
002265cctest r11, r11
002265cfjle 0x2266ea
002265d5mov r9, [rip+0x151e88]
002265dcmovsxd r8, [rip+0x151e7d]
002265e3xor r10l, r10l
002265e6nop [rax+rax]
002265ecmov rax, [rdi]
002265efshr rax, 3
002265f3and rax, r8
002265f6cmp [r9+8*rax], rdi
002265faje 0x22660d
002265fcadd rax, 1
00226600
00226600loc_226600:
00226600and rax, r8
00226603cmp [r9+8*rax], rdi
00226607jne 0x226600
00226609mov [rsp+16], r11
0022660emov r15, r12
00226611mov [r9+8*rax], 0
00226619movsxd r8, [rip+0x151e40]
00226620lea rdx, [rax+1]
00226624lea rcx, [8*rax]
0022662cmov r9, [rip+0x151e31]
00226633and rdx, r8
00226636mov rsi, [r9+8*rdx]
0022663atest rsi, rsi
0022663dje 0x226706
00226643mov [rsp+8], rdi
00226648mov [rsp+24], rcx
0022664djmp 0x22666d
0022664fdb 0x24
00226650sbb bl, ch
00226652db 0x1a
00226653
00226653 0f 1f 44 00 00 ..D..
00226658
00226658loc_226658:
00226658cmp rax, rcx
0022665bjae 0x22668d
0022665d
0022665dloc_22665d:
0022665dadd rdx, 1
00226661and rdx, r8
00226664mov rsi, [r9+8*rdx]
00226668test rsi, rsi
0022666bje 0x2266c8
0022666d
0022666dloc_22666d:
0022666dmov rcx, [rsi]
00226670shr rcx, 3
00226674and rcx, r8
00226677cmp rdx, rcx
0022667asetae r11b
0022667ecmp rdx, rax
00226681setb r12b
00226685mov edi, r11l
00226688or dil, r12b
0022668bjne 0x226658
0022668d
0022668dloc_22668d:
0022668dtest r11b, r11b
00226690je 0x226697
00226692test r12b, r12b
00226695jne 0x22665d
00226697
00226697loc_226697:
00226697mov rcx, [rsp+24]
0022669cmov rdi, [rsp+8]
002266a1mov rax, rdx
002266a4mov [r9+rcx], rsi
002266a8mov r9, [rip+0x151db9]
002266afjmp 0x226615
002266b4
002266b4loc_2266b4:
002266b4add rsp, 40
002266b8pop rbx
002266b9pop rbp
002266bapop r12
002266bcpop r13
002266bepop r14
002266c0pop r15
002266c2ret
002266c3
002266c3 0f 1f 44 00 00 ..D..
002266c8
002266c8loc_2266c8:
002266c8mov r11, [rsp+16]
002266cdmov rdi, [rsp+8]
002266d2mov r12, r15
002266d5
002266d5loc_2266d5:
002266d5call fn_226320
002266daadd r10, 1
002266demov rdi, rax
002266e1cmp r11, r10
002266e4jne 0x2265f0
002266ea
002266ealoc_2266ea:
002266eamov r15, [rbx+8]
002266eemov rdi, rbx
002266f1add rbp, r11
002266f4call caml_stat_free
002266f9test r15, r15
002266fcje 0x226710
002266femov rbx, r15
00226701jmp 0x2265c6
00226706
00226706loc_226706:
00226706mov r11, [rsp+16]
0022670bmov r12, r15
0022670ejmp 0x2266d5
00226710
00226710loc_226710:
00226710mov rdi, r14
00226713sub [rip+0x151d47], ebp
00226719mov [rip+0x151d54], 0
00226724call fn_226430
00226729cmp r13l, 1
0022672dje 0x2266b4
0022672f
0022672floc_22672f:
0022672fadd rsp, 40
00226733mov rdi, r12
00226736pop rbx
00226737pop rbp
00226738pop r12
0022673apop r13
0022673cpop r14
0022673epop r15
00226740jmp 0x201620
00226745
00226745loc_226745:
00226745mov rbx, [rip+0x151d2c]
0022674cxor r12l, r12l
0022674ftest rbx, rbx
00226752jne 0x2265c4
00226758add rsp, 40
0022675cmov rdi, r14
0022675fpop rbx
00226760pop rbp
00226761pop r12
00226763pop r13
00226765pop r14
00226767pop r15
00226769jmp 0x226430
0022676e
0022676eloc_22676e:
0022676emov rdi, r14
00226771call fn_226430
00226776jmp 0x22672f
00226580
00226778
00226778 // align 0x10
00226778 // align 0x10
00226780
00226780fn_226780:
00226780push r12
00226782lea r12, [rip+0x151cf7]
00226789push rbp
0022678amov rbp, rdi
0022678dmov rdi, r12
00226790push rbx
00226791mov ebx, esi
00226793call fn_f4710
00226798test eax, eax
0022679ajne 0x226850
002267a0mov rsi, [rip+0x151cc9]
002267a7lea r9, [rip+0x151cc2]
002267aetest rsi, rsi
002267b1je 0x22683f
002267b7nop [rax+rax]
002267c0
002267c0loc_2267c0:
002267c0movsxd r8, ebx
002267c3mov edi, ebx
002267c5lea rdx, [rbp+8*r8]
002267catest ebx, ebx
002267ccjle 0x226832
002267ce
002267celoc_2267ce:
002267cemov rcx, [rsi]
002267d1mov rax, rbp
002267d4jmp 0x2267e9
002267d6
002267d6 66 2e 0f 1f 84 00 00 00 00 00 f.........
002267e0
002267e0loc_2267e0:
002267e0add rax, 8
002267e4cmp rax, rdx
002267e7je 0x226830
002267e9
002267e9loc_2267e9:
002267e9cmp rcx, [rax]
002267ecjne 0x2267e0
002267eemov rcx, [rsi+8]
002267f2mov [r9], rcx
002267f5mov rcx, [rip+0x151c7c]
002267fcmov [rsi+8], rcx
00226800mov [rip+0x151c71], rsi
00226807sub edi, 1
0022680aje 0x22683f
0022680clea ecx, [rbx-1]
0022680fmov r10, [rax]
00226812mov rsi, [r9]
00226815movsxd rcx, ecx
00226818sub rcx, r8
0022681bmov r11, [rdx+8*rcx]
0022681fmov [rax], r11
00226822mov [rdx+8*rcx], r10
00226826sub rdx, 8
0022682ajmp 0x2267ce
0022682c
0022682c 0f 1f 40 00 ..@.
00226830
00226830loc_226830:
00226830mov ebx, edi
00226832
00226832loc_226832:
00226832lea r9, [rsi+8]
00226836mov rsi, [rsi+8]
0022683atest rsi, rsi
0022683djne 0x2267c0
0022683f
0022683floc_22683f:
0022683fmov rdi, r12
00226842call fn_f47c0
00226847test eax, eax
00226849jne 0x22685e
0022684bpop rbx
0022684cpop rbp
0022684dpop r12
0022684fret
00226850
00226850loc_226850:
00226850mov esi, eax
00226852lea rdi, [rip+36022]
00226859call caml_plat_fatal_error
0022685e
0022685eloc_22685e:
0022685emov esi, eax
00226860lea rdi, [rip+36019]
00226867call caml_plat_fatal_error
00226780
00226780fn_226780:
00226780push r12
00226782lea r12, [rip+0x151cf7]
00226789push rbp
0022678amov rbp, rdi
0022678dmov rdi, r12
00226790push rbx
00226791mov ebx, esi
00226793call fn_f4710
00226798test eax, eax
0022679ajne 0x226850
002267a0mov rsi, [rip+0x151cc9]
002267a7lea r9, [rip+0x151cc2]
002267aetest rsi, rsi
002267b1je 0x22683f
002267b7nop [rax+rax]
002267c0
002267c0loc_2267c0:
002267c0movsxd r8, ebx
002267c3mov edi, ebx
002267c5lea rdx, [rbp+8*r8]
002267catest ebx, ebx
002267ccjle 0x226832
002267ce
002267celoc_2267ce:
002267cemov rcx, [rsi]
002267d1mov rax, rbp
002267d4jmp 0x2267e9
002267d6
002267d6 66 2e 0f 1f 84 00 00 00 00 00 f.........
002267e0
002267e0loc_2267e0:
002267e0add rax, 8
002267e4cmp rax, rdx
002267e7je 0x226830
002267e9
002267e9loc_2267e9:
002267e9cmp rcx, [rax]
002267ecjne 0x2267e0
002267eemov rcx, [rsi+8]
002267f2mov [r9], rcx
002267f5mov rcx, [rip+0x151c7c]
002267fcmov [rsi+8], rcx
00226800mov [rip+0x151c71], rsi
00226807sub edi, 1
0022680aje 0x22683f
0022680clea ecx, [rbx-1]
0022680fmov r10, [rax]
00226812mov rsi, [r9]
00226815movsxd rcx, ecx
00226818sub rcx, r8
0022681bmov r11, [rdx+8*rcx]
0022681fmov [rax], r11
00226822mov [rdx+8*rcx], r10
00226826sub rdx, 8
0022682ajmp 0x2267ce
0022682c
0022682c 0f 1f 40 00 ..@.
00226830
00226830loc_226830:
00226830mov ebx, edi
00226832
00226832loc_226832:
00226832lea r9, [rsi+8]
00226836mov rsi, [rsi+8]
0022683atest rsi, rsi
0022683djne 0x2267c0
0022683f
0022683floc_22683f:
0022683fmov rdi, r12
00226842call fn_f47c0
00226847test eax, eax
00226849jne 0x22685e
0022684bpop rbx
0022684cpop rbp
0022684dpop r12
0022684fret
00226850
00226850loc_226850:
00226850mov esi, eax
00226852lea rdi, [rip+36022]
00226859call caml_plat_fatal_error
0022685e
0022685eloc_22685e:
0022685emov esi, eax
00226860lea rdi, [rip+36019]
00226867call caml_plat_fatal_error
00226780
0022686c
0022686c // align 0x10
0022686c // align 0x10
00226870
00226870caml_init_frame_descriptors:
00226870push r13
00226872push r12
00226874push rbp
00226875push rbx
00226876sub rsp, 8
0022687amov rbx, [rip+0x52123]
00226881test rbx, rbx
00226884je 0x2268d8
00226886xor ebp, ebp
00226888xor eax, eax
0022688alea r12, [rip+0x52113]
00226891nop [rax+rax]
0022689cmov edi, 16
002268a1add ebp, 1
002268a4mov r13, rax
002268a7call caml_stat_alloc
002268acmovsxd rdx, ebp
002268afmov [rax], rbx
002268b2mov [rax+8], r13
002268b6mov rbx, [r12+8*rdx]
002268batest rbx, rbx
002268bdjne 0x2268a0
002268bfadd rsp, 8
002268c3
002268c3loc_2268c3:
002268c3mov rdi, rax
002268c6pop rbx
002268c7pop rbp
002268c8pop r12
002268capop r13
002268ccjmp 0x226430
002268d1db 0x5b
002268d2sti
002268d3db 0xff
002268d4db 0xff
002268d5
002268d5 0f 1f 00 ...
002268d8
002268d8loc_2268d8:
002268d8xor eax, eax
002268dajmp 0x2268c3
00226870
00226870caml_init_frame_descriptors:
00226870push r13
00226872push r12
00226874push rbp
00226875push rbx
00226876sub rsp, 8
0022687amov rbx, [rip+0x52123]
00226881test rbx, rbx
00226884je 0x2268d8
00226886xor ebp, ebp
00226888xor eax, eax
0022688alea r12, [rip+0x52113]
00226891nop [rax+rax]
0022689cmov edi, 16
002268a1add ebp, 1
002268a4mov r13, rax
002268a7call caml_stat_alloc
002268acmovsxd rdx, ebp
002268afmov [rax], rbx
002268b2mov [rax+8], r13
002268b6mov rbx, [r12+8*rdx]
002268batest rbx, rbx
002268bdjne 0x2268a0
002268bfadd rsp, 8
002268c3
002268c3loc_2268c3:
002268c3mov rdi, rax
002268c6pop rbx
002268c7pop rbp
002268c8pop r12
002268capop r13
002268ccjmp 0x226430
002268d1db 0x5b
002268d2sti
002268d3db 0xff
002268d4db 0xff
002268d5
002268d5 0f 1f 00 ...
002268d8
002268d8loc_2268d8:
002268d8xor eax, eax
002268dajmp 0x2268c3
00226870
002268dc
002268dc // align 0x10
002268dc // align 0x10
002268e0
002268e0caml_register_frametables:
002268e0push r12
002268e2push rbp
002268e3push rbx
002268e4sub rsp, 16
002268e8test esi, esi
002268eajle 0x226960
002268ecmovsxd rsi, esi
002268efmov rbp, rdi
002268f2xor ebx, ebx
002268f4lea r12, [rdi+8*rsi]
002268f8nop [rax]
002268fcmovq x0, [rbp]
00226901movq x1, rbx
00226906mov edi, 16
0022690badd rbp, 8
0022690fpunpcklqdq x0, x1
00226913movaps [rsp], x0
00226917call caml_stat_alloc
0022691cmovdqa x0, [rsp]
00226921mov rbx, rax
00226924movups [rax], x0
00226927cmp rbp, r12
0022692ajne 0x226900
0022692clea rbp, [rip-951]
00226933nop [rax+rax]
0022693cxor edx, edx
0022693emov rsi, rbx
00226941mov rdi, rbp
00226944call caml_try_run_on_all_domains
00226949test eax, eax
0022694bje 0x226940
0022694dadd rsp, 16
00226951pop rbx
00226952pop rbp
00226953pop r12
00226955ret
00226956db 0x5d
00226957pop r12
00226959ret
0022695a
0022695a 66 0f 1f 44 00 00 f..D..
00226960
00226960loc_226960:
00226960xor ebx, ebx
00226962jmp 0x226930
002268e0
002268e0caml_register_frametables:
002268e0push r12
002268e2push rbp
002268e3push rbx
002268e4sub rsp, 16
002268e8test esi, esi
002268eajle 0x226960
002268ecmovsxd rsi, esi
002268efmov rbp, rdi
002268f2xor ebx, ebx
002268f4lea r12, [rdi+8*rsi]
002268f8nop [rax]
002268fcmovq x0, [rbp]
00226901movq x1, rbx
00226906mov edi, 16
0022690badd rbp, 8
0022690fpunpcklqdq x0, x1
00226913movaps [rsp], x0
00226917call caml_stat_alloc
0022691cmovdqa x0, [rsp]
00226921mov rbx, rax
00226924movups [rax], x0
00226927cmp rbp, r12
0022692ajne 0x226900
0022692clea rbp, [rip-951]
00226933nop [rax+rax]
0022693cxor edx, edx
0022693emov rsi, rbx
00226941mov rdi, rbp
00226944call caml_try_run_on_all_domains
00226949test eax, eax
0022694bje 0x226940
0022694dadd rsp, 16
00226951pop rbx
00226952pop rbp
00226953pop r12
00226955ret
00226956db 0x5d
00226957pop r12
00226959ret
0022695a
0022695a 66 0f 1f 44 00 00 f..D..
00226960
00226960loc_226960:
00226960xor ebx, ebx
00226962jmp 0x226930
002268e0
00226964
00226964 // align 0x10
00226964 // align 0x10
00226970
00226970caml_copy_and_register_frametables:
00226970push r15
00226972push r14
00226974push r13
00226976push r12
00226978push rbp
00226979push rbx
0022697asub rsp, 8
0022697etest edx, edx
00226980jle 0x226a10
00226986movsxd rdx, edx
00226989mov rbp, rsi
0022698cmov r12, rdi
0022698fxor ebx, ebx
00226991lea r13, [rsi+4*rdx]
00226995nop [rax]
0022699cmovsxd r14, [rbp]
002269a0
002269a0loc_2269a0:
002269a0mov r15, rbx
002269a3add rbp, 4
002269a7add r12, 8
002269ablea rdi, [r14+16]
002269afcall caml_stat_alloc
002269b4mov rsi, [r12-8]
002269b9mov rdx, r14
002269bclea rcx, [rax+16]
002269c0mov rbx, rax
002269c3mov rdi, rcx
002269c6call fn_f47d0
002269cbmov [r12-8], rax
002269d0mov [rbx], rax
002269d3mov [rbx+8], r15
002269d7cmp rbp, r13
002269dajne 0x2269a0
002269dclea rbp, [rip-1127]
002269e3nop [rax+rax]
002269ecxor edx, edx
002269eemov rsi, rbx
002269f1mov rdi, rbp
002269f4call caml_try_run_on_all_domains
002269f9test eax, eax
002269fbje 0x2269f0
002269fdadd rsp, 8
00226a01pop rbx
00226a02pop rbp
00226a03pop r12
00226a05pop r13
00226a07pop r14
00226a09pop r15
00226a0bret
00226a0cxor ebx, ebx
00226a0ejmp 0x2269e0
00226a10db 0x31
00226a11fucomi f3
00226a13int 3
00226970
00226970caml_copy_and_register_frametables:
00226970push r15
00226972push r14
00226974push r13
00226976push r12
00226978push rbp
00226979push rbx
0022697asub rsp, 8
0022697etest edx, edx
00226980jle 0x226a10
00226986movsxd rdx, edx
00226989mov rbp, rsi
0022698cmov r12, rdi
0022698fxor ebx, ebx
00226991lea r13, [rsi+4*rdx]
00226995nop [rax]
0022699cmovsxd r14, [rbp]
002269a0
002269a0loc_2269a0:
002269a0mov r15, rbx
002269a3add rbp, 4
002269a7add r12, 8
002269ablea rdi, [r14+16]
002269afcall caml_stat_alloc
002269b4mov rsi, [r12-8]
002269b9mov rdx, r14
002269bclea rcx, [rax+16]
002269c0mov rbx, rax
002269c3mov rdi, rcx
002269c6call fn_f47d0
002269cbmov [r12-8], rax
002269d0mov [rbx], rax
002269d3mov [rbx+8], r15
002269d7cmp rbp, r13
002269dajne 0x2269a0
002269dclea rbp, [rip-1127]
002269e3nop [rax+rax]
002269ecxor edx, edx
002269eemov rsi, rbx
002269f1mov rdi, rbp
002269f4call caml_try_run_on_all_domains
002269f9test eax, eax
002269fbje 0x2269f0
002269fdadd rsp, 8
00226a01pop rbx
00226a02pop rbp
00226a03pop r12
00226a05pop r13
00226a07pop r14
00226a09pop r15
00226a0bret
00226a0cxor ebx, ebx
00226a0ejmp 0x2269e0
00226a10db 0x31
00226a11fucomi f3
00226a13int 3
00226970
00226a14
00226a14 // align 0x10
00226a14 // align 0x10
00226a20
00226a20caml_unregister_frametables:
00226a20jmp 0x226780
00226a25db 0x57
00226a26std
00226a27db 0xff
00226a28db 0xff
00226a20
00226a20caml_unregister_frametables:
00226a20jmp 0x226780
00226a25db 0x57
00226a26std
00226a27db 0xff
00226a28db 0xff
00226a20
00226a29
00226a29 // align 0x10
00226a29 // align 0x10
00226a30
00226a30caml_register_frametable:
00226a30push rbp
00226a31mov rbp, rdi
00226a34mov edi, 16
00226a39push rbx
00226a3asub rsp, 8
00226a3ecall caml_stat_alloc
00226a43mov [rax+8], 0
00226a4bmov rbx, rax
00226a4emov [rax], rbp
00226a51lea rbp, [rip-1244]
00226a58nop [rax]
00226a5cxor edx, edx
00226a5emov rsi, rbx
00226a61mov rdi, rbp
00226a64call caml_try_run_on_all_domains
00226a69test eax, eax
00226a6bje 0x226a60
00226a6dadd rsp, 8
00226a71pop rbx
00226a72pop rbp
00226a73ret
00226a74db 0x08
00226a75pop rbx
00226a76pop rbp
00226a77ret
00226a30
00226a30caml_register_frametable:
00226a30push rbp
00226a31mov rbp, rdi
00226a34mov edi, 16
00226a39push rbx
00226a3asub rsp, 8
00226a3ecall caml_stat_alloc
00226a43mov [rax+8], 0
00226a4bmov rbx, rax
00226a4emov [rax], rbp
00226a51lea rbp, [rip-1244]
00226a58nop [rax]
00226a5cxor edx, edx
00226a5emov rsi, rbx
00226a61mov rdi, rbp
00226a64call caml_try_run_on_all_domains
00226a69test eax, eax
00226a6bje 0x226a60
00226a6dadd rsp, 8
00226a71pop rbx
00226a72pop rbp
00226a73ret
00226a74db 0x08
00226a75pop rbx
00226a76pop rbp
00226a77ret
00226a30
00226a78
00226a78 // align 0x10
00226a78 // align 0x10
00226a80
00226a80caml_copy_and_register_frametable:
00226a80push r13
00226a82mov r13, rdi
00226a85push r12
00226a87push rbp
00226a88movsxd rbp, esi
00226a8bpush rbx
00226a8clea rdi, [rbp+16]
00226a90sub rsp, 8
00226a94call caml_stat_alloc
00226a99mov rdx, rbp
00226a9cmov rsi, r13
00226a9flea rbp, [rip-1322]
00226aa6lea r12, [rax+16]
00226aaamov rbx, rax
00226aadmov rdi, r12
00226ab0call fn_f47d0
00226ab5mov [rbx], r12
00226ab8mov [rbx+8], 0
00226ac0nop [rax+rax]
00226acbnop
00226accxor edx, edx
00226acemov rsi, rbx
00226ad1mov rdi, rbp
00226ad4call caml_try_run_on_all_domains
00226ad9test eax, eax
00226adbje 0x226ad0
00226addadd rsp, 8
00226ae1mov rax, r12
00226ae4pop rbx
00226ae5pop rbp
00226ae6pop r12
00226ae8pop r13
00226aearet
00226aebdb 0x5c
00226aecpop r13
00226aeeret
00226a80
00226a80caml_copy_and_register_frametable:
00226a80push r13
00226a82mov r13, rdi
00226a85push r12
00226a87push rbp
00226a88movsxd rbp, esi
00226a8bpush rbx
00226a8clea rdi, [rbp+16]
00226a90sub rsp, 8
00226a94call caml_stat_alloc
00226a99mov rdx, rbp
00226a9cmov rsi, r13
00226a9flea rbp, [rip-1322]
00226aa6lea r12, [rax+16]
00226aaamov rbx, rax
00226aadmov rdi, r12
00226ab0call fn_f47d0
00226ab5mov [rbx], r12
00226ab8mov [rbx+8], 0
00226ac0nop [rax+rax]
00226acbnop
00226accxor edx, edx
00226acemov rsi, rbx
00226ad1mov rdi, rbp
00226ad4call caml_try_run_on_all_domains
00226ad9test eax, eax
00226adbje 0x226ad0
00226addadd rsp, 8
00226ae1mov rax, r12
00226ae4pop rbx
00226ae5pop rbp
00226ae6pop r12
00226ae8pop r13
00226aearet
00226aebdb 0x5c
00226aecpop r13
00226aeeret
00226a80
00226aef
00226aef // align 0x10
00226aef // align 0x10
00226af0
00226af0caml_unregister_frametable:
00226af0sub rsp, 24
00226af4mov esi, 1
00226af9mov [rsp+8], rdi
00226afelea rdi, [rsp+8]
00226b03call fn_226780
00226b08add rsp, 24
00226b0cret
00226b0ddb 0x83
00226b0edb 0xc4
00226b0fsbb bl, al
00226af0
00226af0caml_unregister_frametable:
00226af0sub rsp, 24
00226af4mov esi, 1
00226af9mov [rsp+8], rdi
00226afelea rdi, [rsp+8]
00226b03call fn_226780
00226b08add rsp, 24
00226b0cret
00226b0ddb 0x83
00226b0edb 0xc4
00226b0fsbb bl, al
00226af0
00226b11
00226b11 // align 0x10
00226b11 // align 0x10
00226b20
00226b20caml_get_frame_descrs:
00226b20lea rax, [rip+0x151935]
00226b27ret
00226b28db 0x19
00226b29db 0x15
00226b2aadd bl, al
00226b20
00226b20caml_get_frame_descrs:
00226b20lea rax, [rip+0x151935]
00226b27ret
00226b28db 0x19
00226b29db 0x15
00226b2aadd bl, al
00226b20
00226b2c
00226b2c // align 0x20
00226b2c // align 0x20
00226b40
00226b40caml_find_frame_descr:
00226b40movsxd r8, [rdi+4]
00226b44mov rax, rsi
00226b47mov rcx, [rdi+8]
00226b4bshr rax, 3
00226b4fand rax, r8
00226b52mov rdx, [rcx+8*rax]
00226b56test rdx, rdx
00226b59jne 0x226b90
00226b5bjmp 0x226b95
00226b5ddb 0x75
00226b5exor ebx, ebp
00226b60db 0x34
00226b61
00226b61 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f ff.........ff..
00226b70 1f 84 00 00 00 00 00 66 0f 1f 84 00 00 00 00 00 .......f........
00226b80
00226b80loc_226b80:
00226b80add rax, 1
00226b84and rax, r8
00226b87mov rdx, [rcx+8*rax]
00226b8btest rdx, rdx
00226b8eje 0x226b95
00226b90
00226b90loc_226b90:
00226b90cmp [rdx], rsi
00226b93jne 0x226b80
00226b95
00226b95loc_226b95:
00226b95mov rax, rdx
00226b98ret
00226b40
00226b40caml_find_frame_descr:
00226b40movsxd r8, [rdi+4]
00226b44mov rax, rsi
00226b47mov rcx, [rdi+8]
00226b4bshr rax, 3
00226b4fand rax, r8
00226b52mov rdx, [rcx+8*rax]
00226b56test rdx, rdx
00226b59jne 0x226b90
00226b5bjmp 0x226b95
00226b5ddb 0x75
00226b5exor ebx, ebp
00226b60db 0x34
00226b61
00226b61 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f ff.........ff..
00226b70 1f 84 00 00 00 00 00 66 0f 1f 84 00 00 00 00 00 .......f........
00226b80
00226b80loc_226b80:
00226b80add rax, 1
00226b84and rax, r8
00226b87mov rdx, [rcx+8*rax]
00226b8btest rdx, rdx
00226b8eje 0x226b95
00226b90
00226b90loc_226b90:
00226b90cmp [rdx], rsi
00226b93jne 0x226b80
00226b95
00226b95loc_226b95:
00226b95mov rax, rdx
00226b98ret
00226b40
00226b99
00226b99 // align 0x40
00226b99 // align 0x40
00226bc0
00226bc0caml_startup_common:
00226bc0push rbp
00226bc1mov ebp, esi
00226bc3push rbx
00226bc4mov rbx, rdi
00226bc7sub rsp, 8
00226bcbcall caml_parse_ocamlrunparam
00226bd0mov rax, [rip+0x4ed7d]
00226bd7cmp [rax+144], 0
00226bdfje 0x226bea
00226be1mov ebp, 1
00226be6mov edi, ebp
00226be8mov ebp, 1
00226bedcall caml_startup_aux
00226bf2test eax, eax
00226bf4jne 0x226c08
00226bf6add rsp, 8
00226bfamov rax, rbp
00226bfdpop rbx
00226bfepop rbp
00226bffret
00226c00db 0xe8
00226c01pop rbx
00226c02pop rbp
00226c03ret
00226c04
00226c04 0f 1f 40 00 ..@.
00226c08
00226c08loc_226c08:
00226c08call caml_init_codefrag
00226c0dcall caml_init_locale
00226c12call caml_init_custom_operations
00226c17call caml_init_os_params
00226c1ccall caml_init_gc
00226c21call caml_runtime_events_init
00226c26mov rdx, [rip+0x51733]
00226c2dmov rdi, [rip+0x5171c]
00226c34mov rsi, [rip+0x5171d]
00226c3btest rdx, rdx
00226c3eje 0x226cad
00226c40mov ecx, 1
00226c45lea r8, [rip+0x51704]
00226c4cmov eax, 1
00226c51nop [rax+rax]
00226c5cnop [rax+rax]
00226c67nop [rax+rax]
00226c72nop [rax+rax]
00226c7dnop [rax]
00226c80
00226c80loc_226c80:
00226c80cmp rdi, rdx
00226c83cmova rdi, rdx
00226c87shl rax, 4
00226c8bmov rax, [r8+rax+8]
00226c90cmp rsi, rax
00226c93cmovb rsi, rax
00226c97add ecx, 1
00226c9amovsxd rax, ecx
00226c9dmov rdx, rax
00226ca0shl rdx, 4
00226ca4mov rdx, [r8+rdx]
00226ca8test rdx, rdx
00226cabjne 0x226c80
00226cad
00226cadloc_226cad:
00226cadxor ecx, ecx
00226cafxor edx, edx
00226cb1call caml_register_code_fragment
00226cb6xor ecx, ecx
00226cb8lea rdi, [rip+304]
00226cbfmov edx, 3
00226cc4lea rsi, [rip+2426]
00226ccbcall caml_register_code_fragment
00226cd0call caml_init_signals
00226cd5call caml_debugger_init
00226cdamov rbp, [rbx]
00226cddlea rax, [rip+33352]
00226ce4test rbp, rbp
00226ce7cmove rbp, rax
00226cebcall caml_executable_name
00226cf0mov rdi, rax
00226cf3test rax, rax
00226cf6je 0x226d30
00226cf8
00226cf8loc_226cf8:
00226cf8mov rsi, rbx
00226cfbcall caml_sys_init
00226d00call caml_maybe_expand_stack
00226d05mov rax, [rip+0x4f2dc]
00226d0cmov rdi, [rax]
00226d10call caml_start_program
00226d15mov rbp, rax
00226d18call caml_terminate_signals
00226d1dadd rsp, 8
00226d21mov rax, rbp
00226d24pop rbx
00226d25pop rbp
00226d26ret
00226d27
00226d27 66 0f 1f 84 00 00 00 00 00 f........
00226d30
00226d30loc_226d30:
00226d30mov rdi, rbp
00226d33call caml_search_exe_in_path
00226d38mov rdi, rax
00226d3bjmp 0x226cf8
00226bc0
00226bc0caml_startup_common:
00226bc0push rbp
00226bc1mov ebp, esi
00226bc3push rbx
00226bc4mov rbx, rdi
00226bc7sub rsp, 8
00226bcbcall caml_parse_ocamlrunparam
00226bd0mov rax, [rip+0x4ed7d]
00226bd7cmp [rax+144], 0
00226bdfje 0x226bea
00226be1mov ebp, 1
00226be6mov edi, ebp
00226be8mov ebp, 1
00226bedcall caml_startup_aux
00226bf2test eax, eax
00226bf4jne 0x226c08
00226bf6add rsp, 8
00226bfamov rax, rbp
00226bfdpop rbx
00226bfepop rbp
00226bffret
00226c00db 0xe8
00226c01pop rbx
00226c02pop rbp
00226c03ret
00226c04
00226c04 0f 1f 40 00 ..@.
00226c08
00226c08loc_226c08:
00226c08call caml_init_codefrag
00226c0dcall caml_init_locale
00226c12call caml_init_custom_operations
00226c17call caml_init_os_params
00226c1ccall caml_init_gc
00226c21call caml_runtime_events_init
00226c26mov rdx, [rip+0x51733]
00226c2dmov rdi, [rip+0x5171c]
00226c34mov rsi, [rip+0x5171d]
00226c3btest rdx, rdx
00226c3eje 0x226cad
00226c40mov ecx, 1
00226c45lea r8, [rip+0x51704]
00226c4cmov eax, 1
00226c51nop [rax+rax]
00226c5cnop [rax+rax]
00226c67nop [rax+rax]
00226c72nop [rax+rax]
00226c7dnop [rax]
00226c80
00226c80loc_226c80:
00226c80cmp rdi, rdx
00226c83cmova rdi, rdx
00226c87shl rax, 4
00226c8bmov rax, [r8+rax+8]
00226c90cmp rsi, rax
00226c93cmovb rsi, rax
00226c97add ecx, 1
00226c9amovsxd rax, ecx
00226c9dmov rdx, rax
00226ca0shl rdx, 4
00226ca4mov rdx, [r8+rdx]
00226ca8test rdx, rdx
00226cabjne 0x226c80
00226cad
00226cadloc_226cad:
00226cadxor ecx, ecx
00226cafxor edx, edx
00226cb1call caml_register_code_fragment
00226cb6xor ecx, ecx
00226cb8lea rdi, [rip+304]
00226cbfmov edx, 3
00226cc4lea rsi, [rip+2426]
00226ccbcall caml_register_code_fragment
00226cd0call caml_init_signals
00226cd5call caml_debugger_init
00226cdamov rbp, [rbx]
00226cddlea rax, [rip+33352]
00226ce4test rbp, rbp
00226ce7cmove rbp, rax
00226cebcall caml_executable_name
00226cf0mov rdi, rax
00226cf3test rax, rax
00226cf6je 0x226d30
00226cf8
00226cf8loc_226cf8:
00226cf8mov rsi, rbx
00226cfbcall caml_sys_init
00226d00call caml_maybe_expand_stack
00226d05mov rax, [rip+0x4f2dc]
00226d0cmov rdi, [rax]
00226d10call caml_start_program
00226d15mov rbp, rax
00226d18call caml_terminate_signals
00226d1dadd rsp, 8
00226d21mov rax, rbp
00226d24pop rbx
00226d25pop rbp
00226d26ret
00226d27
00226d27 66 0f 1f 84 00 00 00 00 00 f........
00226d30
00226d30loc_226d30:
00226d30mov rdi, rbp
00226d33call caml_search_exe_in_path
00226d38mov rdi, rax
00226d3bjmp 0x226cf8
00226bc0
00226d3d
00226d3d // align 0x10
00226d3d // align 0x10
00226d40
00226d40caml_startup_exn:
00226d40xor esi, esi
00226d42jmp 0x226bc0
00226d47db 0x75
00226d48db 0xfe
00226d49db 0xff
00226d4adb 0xff
00226d40
00226d40caml_startup_exn:
00226d40xor esi, esi
00226d42jmp 0x226bc0
00226d47db 0x75
00226d48db 0xfe
00226d49db 0xff
00226d4adb 0xff
00226d40
00226d4b
00226d4b // align 0x10
00226d4b // align 0x10
00226d50
00226d50caml_startup:
00226d50sub rsp, 8
00226d54xor esi, esi
00226d56call caml_startup_common
00226d5bmov rdx, rax
00226d5eand edx, 3
00226d61cmp rdx, 2
00226d65je 0x226d70
00226d67add rsp, 8
00226d6bret
00226d6cand rax, -4
00226d70
00226d70loc_226d70:
00226d70mov rdi, rax
00226d73call caml_fatal_uncaught_exception
00226d78db 0x34
00226d79sub [rax], al
00226d7bdb 0x00
00226d50
00226d50caml_startup:
00226d50sub rsp, 8
00226d54xor esi, esi
00226d56call caml_startup_common
00226d5bmov rdx, rax
00226d5eand edx, 3
00226d61cmp rdx, 2
00226d65je 0x226d70
00226d67add rsp, 8
00226d6bret
00226d6cand rax, -4
00226d70
00226d70loc_226d70:
00226d70mov rdi, rax
00226d73call caml_fatal_uncaught_exception
00226d78db 0x34
00226d79sub [rax], al
00226d7bdb 0x00
00226d50
00226d7c
00226d7c // align 0x10
00226d7c // align 0x10
00226d80
00226d80caml_main:
00226d80sub rsp, 8
00226d84xor esi, esi
00226d86call caml_startup_common
00226d8bmov rdx, rax
00226d8eand edx, 3
00226d91cmp rdx, 2
00226d95je 0x226da0
00226d97add rsp, 8
00226d9bret
00226d9cand rax, -4
00226da0
00226da0loc_226da0:
00226da0mov rdi, rax
00226da3call caml_fatal_uncaught_exception
00226da8db 0x04
00226da9sub [rax], al
00226dabdb 0x00
00226d80
00226d80caml_main:
00226d80sub rsp, 8
00226d84xor esi, esi
00226d86call caml_startup_common
00226d8bmov rdx, rax
00226d8eand edx, 3
00226d91cmp rdx, 2
00226d95je 0x226da0
00226d97add rsp, 8
00226d9bret
00226d9cand rax, -4
00226da0
00226da0loc_226da0:
00226da0mov rdi, rax
00226da3call caml_fatal_uncaught_exception
00226da8db 0x04
00226da9sub [rax], al
00226dabdb 0x00
00226d80
00226dac
00226dac // align 0x10
00226dac // align 0x10
00226db0
00226db0caml_startup_pooled_exn:
00226db0mov esi, 1
00226db5jmp 0x226bc0
00226dbadb 0x02
00226dbbdb 0xfe
00226dbcdb 0xff
00226dbddb 0xff
00226db0
00226db0caml_startup_pooled_exn:
00226db0mov esi, 1
00226db5jmp 0x226bc0
00226dbadb 0x02
00226dbbdb 0xfe
00226dbcdb 0xff
00226dbddb 0xff
00226db0
00226dbe
00226dbe // align 0x10
00226dbe // align 0x10
00226dc0
00226dc0caml_startup_pooled:
00226dc0sub rsp, 8
00226dc4mov esi, 1
00226dc9call caml_startup_common
00226dcemov rdx, rax
00226dd1and edx, 3
00226dd4cmp rdx, 2
00226dd8je 0x226de3
00226ddaadd rsp, 8
00226dderet
00226ddfand rax, -4
00226de3
00226de3loc_226de3:
00226de3mov rdi, rax
00226de6call caml_fatal_uncaught_exception
00226debdb 0xc1
00226decdb 0x27
00226dedadd [rax], al
00226dc0
00226dc0caml_startup_pooled:
00226dc0sub rsp, 8
00226dc4mov esi, 1
00226dc9call caml_startup_common
00226dcemov rdx, rax
00226dd1and edx, 3
00226dd4cmp rdx, 2
00226dd8je 0x226de3
00226ddaadd rsp, 8
00226dderet
00226ddfand rax, -4
00226de3
00226de3loc_226de3:
00226de3mov rdi, rax
00226de6call caml_fatal_uncaught_exception
00226debdb 0xc1
00226decdb 0x27
00226dedadd [rax], al
00226dc0
00226def
00226def c3 .
00226def c3 .
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
Loading..