File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
Loading..
00223740
00223740caml_decompose_path:
00223740push r12
00223742push rbp
00223743push rbx
00223744test rsi, rsi
00223747je 0x2237c6
00223749mov rbp, rdi
0022374cmov rdi, rsi
0022374fcall caml_stat_strdup
00223754mov rsi, rax
00223757mov r12, rax
0022375amovzx eax, [rsi]
0022375dtest al, al
0022375fje 0x2237ae
00223761nop [rax+rax]
0022376ccmp al, 58
0022376eje 0x2237ae
00223770
00223770loc_223770:
00223770lea rax, [rsi+1]
00223774nop [rax+rax]
0022377cmovzx edx, [rax]
0022377fmov rbx, rax
00223782add rax, 1
00223786test dl, dl
00223788je 0x223793
0022378acmp dl, 58
0022378djne 0x223780
0022378fmov rdi, rbp
00223792call caml_ext_table_add
00223797cmp [rbx], 0
0022379aje 0x2237be
0022379clea rsi, [rbx+1]
002237a0
002237a0loc_2237a0:
002237a0mov [rbx], 0
002237a3movzx eax, [rsi]
002237a6test al, al
002237a8jne 0x223770
002237aamov rbx, rsi
002237admov rdi, rbp
002237b0call caml_ext_table_add
002237b5cmp [rbx], 0
002237b8jne 0x2237a0
002237bamov rax, r12
002237bdpop rbx
002237be
002237beloc_2237be:
002237bepop rbp
002237bfpop r12
002237c1ret
002237c2xor r12l, r12l
002237c5pop rbx
002237c6
002237c6loc_2237c6:
002237c6pop rbp
002237c7mov rax, r12
002237capop r12
002237ccret
002237cddb 0xe0
002237cepop r12
002237d0ret
00223740
00223740caml_decompose_path:
00223740push r12
00223742push rbp
00223743push rbx
00223744test rsi, rsi
00223747je 0x2237c6
00223749mov rbp, rdi
0022374cmov rdi, rsi
0022374fcall caml_stat_strdup
00223754mov rsi, rax
00223757mov r12, rax
0022375amovzx eax, [rsi]
0022375dtest al, al
0022375fje 0x2237ae
00223761nop [rax+rax]
0022376ccmp al, 58
0022376eje 0x2237ae
00223770
00223770loc_223770:
00223770lea rax, [rsi+1]
00223774nop [rax+rax]
0022377cmovzx edx, [rax]
0022377fmov rbx, rax
00223782add rax, 1
00223786test dl, dl
00223788je 0x223793
0022378acmp dl, 58
0022378djne 0x223780
0022378fmov rdi, rbp
00223792call caml_ext_table_add
00223797cmp [rbx], 0
0022379aje 0x2237be
0022379clea rsi, [rbx+1]
002237a0
002237a0loc_2237a0:
002237a0mov [rbx], 0
002237a3movzx eax, [rsi]
002237a6test al, al
002237a8jne 0x223770
002237aamov rbx, rsi
002237admov rdi, rbp
002237b0call caml_ext_table_add
002237b5cmp [rbx], 0
002237b8jne 0x2237a0
002237bamov rax, r12
002237bdpop rbx
002237be
002237beloc_2237be:
002237bepop rbp
002237bfpop r12
002237c1ret
002237c2xor r12l, r12l
002237c5pop rbx
002237c6
002237c6loc_2237c6:
002237c6pop rbp
002237c7mov rax, r12
002237capop r12
002237ccret
002237cddb 0xe0
002237cepop r12
002237d0ret
00223740
002237d1
002237d1 // align 0x10
002237d1 // align 0x10
002237e0
002237e0caml_search_in_path:
002237e0push r15
002237e2push r14
002237e4push r13
002237e6push r12
002237e8push rbp
002237e9mov rbp, rdi
002237ecpush rbx
002237edsub rsp, 184
002237f4movzx eax, [rsi]
002237f7mov r12, [0x28]
00223800mov [rsp+168], r12
00223808mov r12, rsi
0022380btest al, al
0022380dje 0x223870
0022380fmov rdx, r12
00223812jmp 0x22382c
00223814db 0x89
00223815loop 0x223802
00223817db 0x14
00223818
00223818 0f 1f 84 00 00 00 00 00 ........
00223820
00223820loc_223820:
00223820movzx eax, [rdx+1]
00223824add rdx, 1
00223828test al, al
0022382aje 0x223870
0022382c
0022382cloc_22382c:
0022382ccmp al, 47
0022382ejne 0x223820
00223830
00223830loc_223830:
00223830mov rdi, r12
00223833call caml_stat_strdup
00223838mov r14, rax
0022383b
0022383bloc_22383b:
0022383bmov rax, [rsp+168]
00223843sub rax, [0x28]
0022384cjne 0x2238ff
00223852add rsp, 184
00223859mov rax, r14
0022385cpop rbx
0022385dpop rbp
0022385epop r12
00223860pop r13
00223862pop r14
00223864pop r15
00223866ret
00223867
00223867 66 0f 1f 84 00 00 00 00 00 f........
00223870
00223870loc_223870:
00223870mov eax, [rbp]
00223873test eax, eax
00223875jle 0x223830
00223877lea rax, [rsp+16]
0022387cxor ebx, ebx
0022387elea r15, [rip+48571]
00223885mov [rsp+8], rax
0022388alea r13, [rip+48557]
00223891nop [rax+rax]
0022389cnop [rax]
002238a0
002238a0loc_2238a0:
002238a0mov rax, [rbp+8]
002238a4mov edi, 3
002238a9mov rcx, r12
002238acmov rdx, r15
002238afmov rsi, [rax+8*rbx]
002238b3cmp [rsi], 0
002238b6cmove rsi, r13
002238baxor eax, eax
002238bccall caml_stat_strconcat
002238c1mov rsi, [rsp+8]
002238c6mov rdi, rax
002238c9mov r14, rax
002238cccall fn_f43b0
002238d1test eax, eax
002238d3jne 0x2238e9
002238d5mov eax, [rsp+40]
002238d9and eax, 61440
002238decmp eax, 32768
002238e3je 0x22383b
002238e9
002238e9loc_2238e9:
002238e9mov rdi, r14
002238ecadd rbx, 1
002238f0call caml_stat_free
002238f5cmp [rbp], ebx
002238f8jg 0x2238a0
002238fajmp 0x223830
002238ff
002238ffloc_2238ff:
002238ffcall fn_f4590
002237e0
002237e0caml_search_in_path:
002237e0push r15
002237e2push r14
002237e4push r13
002237e6push r12
002237e8push rbp
002237e9mov rbp, rdi
002237ecpush rbx
002237edsub rsp, 184
002237f4movzx eax, [rsi]
002237f7mov r12, [0x28]
00223800mov [rsp+168], r12
00223808mov r12, rsi
0022380btest al, al
0022380dje 0x223870
0022380fmov rdx, r12
00223812jmp 0x22382c
00223814db 0x89
00223815loop 0x223802
00223817db 0x14
00223818
00223818 0f 1f 84 00 00 00 00 00 ........
00223820
00223820loc_223820:
00223820movzx eax, [rdx+1]
00223824add rdx, 1
00223828test al, al
0022382aje 0x223870
0022382c
0022382cloc_22382c:
0022382ccmp al, 47
0022382ejne 0x223820
00223830
00223830loc_223830:
00223830mov rdi, r12
00223833call caml_stat_strdup
00223838mov r14, rax
0022383b
0022383bloc_22383b:
0022383bmov rax, [rsp+168]
00223843sub rax, [0x28]
0022384cjne 0x2238ff
00223852add rsp, 184
00223859mov rax, r14
0022385cpop rbx
0022385dpop rbp
0022385epop r12
00223860pop r13
00223862pop r14
00223864pop r15
00223866ret
00223867
00223867 66 0f 1f 84 00 00 00 00 00 f........
00223870
00223870loc_223870:
00223870mov eax, [rbp]
00223873test eax, eax
00223875jle 0x223830
00223877lea rax, [rsp+16]
0022387cxor ebx, ebx
0022387elea r15, [rip+48571]
00223885mov [rsp+8], rax
0022388alea r13, [rip+48557]
00223891nop [rax+rax]
0022389cnop [rax]
002238a0
002238a0loc_2238a0:
002238a0mov rax, [rbp+8]
002238a4mov edi, 3
002238a9mov rcx, r12
002238acmov rdx, r15
002238afmov rsi, [rax+8*rbx]
002238b3cmp [rsi], 0
002238b6cmove rsi, r13
002238baxor eax, eax
002238bccall caml_stat_strconcat
002238c1mov rsi, [rsp+8]
002238c6mov rdi, rax
002238c9mov r14, rax
002238cccall fn_f43b0
002238d1test eax, eax
002238d3jne 0x2238e9
002238d5mov eax, [rsp+40]
002238d9and eax, 61440
002238decmp eax, 32768
002238e3je 0x22383b
002238e9
002238e9loc_2238e9:
002238e9mov rdi, r14
002238ecadd rbx, 1
002238f0call caml_stat_free
002238f5cmp [rbp], ebx
002238f8jg 0x2238a0
002238fajmp 0x223830
002238ff
002238ffloc_2238ff:
002238ffcall fn_f4590
002237e0
00223904
00223904 // align 0x10
00223904 // align 0x10
00223910
00223910caml_search_exe_in_path:
00223910push r12
00223912mov esi, 8
00223917push rbp
00223918push rbx
00223919sub rsp, 32
0022391dmov r12, [0x28]
00223926mov [rsp+24], r12
0022392bmov r12, rdi
0022392emov rdi, rsp
00223931call caml_ext_table_init
00223936lea rdi, [rip+48385]
0022393dcall fn_f4540
00223942mov rdi, rsp
00223945mov rsi, rax
00223948call caml_decompose_path
0022394dmov rdi, rsp
00223950mov rbp, rax
00223953mov rsi, r12
00223956call caml_search_in_path
0022395bmov rdi, rbp
0022395emov r12, rax
00223961call caml_stat_free
00223966xor esi, esi
00223968mov rdi, rsp
0022396bcall caml_ext_table_free
00223970mov rax, [rsp+24]
00223975sub rax, [0x28]
0022397ejne 0x223990
00223980add rsp, 32
00223984mov rax, r12
00223987pop rbx
00223988pop rbp
00223989pop r12
0022398bret
0022398ccall fn_f4590
00223991db 0xfb
00223992or ebp, ebp
00223994db 0xff
00223910
00223910caml_search_exe_in_path:
00223910push r12
00223912mov esi, 8
00223917push rbp
00223918push rbx
00223919sub rsp, 32
0022391dmov r12, [0x28]
00223926mov [rsp+24], r12
0022392bmov r12, rdi
0022392emov rdi, rsp
00223931call caml_ext_table_init
00223936lea rdi, [rip+48385]
0022393dcall fn_f4540
00223942mov rdi, rsp
00223945mov rsi, rax
00223948call caml_decompose_path
0022394dmov rdi, rsp
00223950mov rbp, rax
00223953mov rsi, r12
00223956call caml_search_in_path
0022395bmov rdi, rbp
0022395emov r12, rax
00223961call caml_stat_free
00223966xor esi, esi
00223968mov rdi, rsp
0022396bcall caml_ext_table_free
00223970mov rax, [rsp+24]
00223975sub rax, [0x28]
0022397ejne 0x223990
00223980add rsp, 32
00223984mov rax, r12
00223987pop rbx
00223988pop rbp
00223989pop r12
0022398bret
0022398ccall fn_f4590
00223991db 0xfb
00223992or ebp, ebp
00223994db 0xff
00223910
00223995
00223995 // align 0x10
00223995 // align 0x10
002239a0
002239a0caml_search_dll_in_path:
002239a0push rbp
002239a1lea rdx, [rip+48283]
002239a8mov rbp, rdi
002239abxor eax, eax
002239adpush rbx
002239aemov edi, 2
002239b3sub rsp, 8
002239b7call caml_stat_strconcat
002239bcmov rdi, rbp
002239bfmov rbx, rax
002239c2mov rsi, rax
002239c5call caml_search_in_path
002239camov rdi, rbx
002239cdmov rbp, rax
002239d0call caml_stat_free
002239d5add rsp, 8
002239d9mov rax, rbp
002239dcpop rbx
002239ddpop rbp
002239deret
002239dfdb 0xe8
002239e0pop rbx
002239e1pop rbp
002239e2ret
002239a0
002239a0caml_search_dll_in_path:
002239a0push rbp
002239a1lea rdx, [rip+48283]
002239a8mov rbp, rdi
002239abxor eax, eax
002239adpush rbx
002239aemov edi, 2
002239b3sub rsp, 8
002239b7call caml_stat_strconcat
002239bcmov rdi, rbp
002239bfmov rbx, rax
002239c2mov rsi, rax
002239c5call caml_search_in_path
002239camov rdi, rbx
002239cdmov rbp, rax
002239d0call caml_stat_free
002239d5add rsp, 8
002239d9mov rax, rbp
002239dcpop rbx
002239ddpop rbp
002239deret
002239dfdb 0xe8
002239e0pop rbx
002239e1pop rbp
002239e2ret
002239a0
002239e3
002239e3 // align 0x10
002239e3 // align 0x10
002239f0
002239f0caml_dlopen:
002239f0cmp esi, 1
002239f3sbb esi, esi
002239f5xor sil, sil
002239f8add esi, 258
002239fejmp 0xf44a0
00223a03db 0x99
00223a04or ch, ch
00223a06db 0xff
002239f0
002239f0caml_dlopen:
002239f0cmp esi, 1
002239f3sbb esi, esi
002239f5xor sil, sil
002239f8add esi, 258
002239fejmp 0xf44a0
00223a03db 0x99
00223a04or ch, ch
00223a06db 0xff
002239f0
00223a07
00223a07 // align 0x10
00223a07 // align 0x10
00223a10
00223a10caml_dlclose:
00223a10jmp 0xf4840
00223a15db 0x27
00223a16db 0x0e
00223a17in eax, dx
00223a18db 0xff
00223a10
00223a10caml_dlclose:
00223a10jmp 0xf4840
00223a15db 0x27
00223a16db 0x0e
00223a17in eax, dx
00223a18db 0xff
00223a10
00223a19
00223a19 // align 0x10
00223a19 // align 0x10
00223a20
00223a20caml_dlsym:
00223a20jmp 0xf46f0
00223a25db 0xc7
00223a26or al, 237
00223a28db 0xff
00223a20
00223a20caml_dlsym:
00223a20jmp 0xf46f0
00223a25db 0xc7
00223a26or al, 237
00223a28db 0xff
00223a20
00223a29
00223a29 // align 0x10
00223a29 // align 0x10
00223a30
00223a30caml_globalsym:
00223a30mov rsi, rdi
00223a33xor edi, edi
00223a35jmp 0xf46f0
00223a3adb 0xb2
00223a3bor al, 237
00223a3ddb 0xff
00223a30
00223a30caml_globalsym:
00223a30mov rsi, rdi
00223a33xor edi, edi
00223a35jmp 0xf46f0
00223a3adb 0xb2
00223a3bor al, 237
00223a3ddb 0xff
00223a30
00223a3e
00223a3e // align 0x10
00223a3e // align 0x10
00223a40
00223a40caml_dlerror:
00223a40jmp 0xf40c0
00223a45db 0x77
00223a46db 0x06
00223a47in eax, dx
00223a48db 0xff
00223a40
00223a40caml_dlerror:
00223a40jmp 0xf40c0
00223a45db 0x77
00223a46db 0x06
00223a47in eax, dx
00223a48db 0xff
00223a40
00223a49
00223a49 // align 0x10
00223a49 // align 0x10
00223a50
00223a50caml_read_directory:
00223a50push rbp
00223a51mov rbp, rsi
00223a54push rbx
00223a55sub rsp, 8
00223a59call fn_f43c0
00223a5emov rbx, rax
00223a61test rax, rax
00223a64je 0x223ac8
00223a66nop [rax+rax]
00223a6cmov rdi, rbx
00223a6fcall fn_f4800
00223a74test rax, rax
00223a77je 0x223ad0
00223a79cmp [rax+19], 46
00223a7dlea rdi, [rax+19]
00223a81jne 0x223a8d
00223a83cmp [rdi+1], 0
00223a87je 0x223a70
00223a89cmp [rax+19], 46
00223a8d
00223a8dloc_223a8d:
00223a8djne 0x223aa0
00223a8fcmp [rdi+1], 46
00223a93jne 0x223aa0
00223a95cmp [rdi+2], 0
00223a99je 0x223a70
00223a9bnop
00223a9ccall caml_stat_strdup
00223aa1mov rdi, rbp
00223aa4mov rsi, rax
00223aa7call caml_ext_table_add_noexc
00223aaccmp eax, -1
00223aafjne 0x223a70
00223ab1mov rdi, rbx
00223ab4call fn_f4680
00223ab9call fn_f4570
00223abemov [rax], 12
00223ac4or eax, -1
00223ac7jmp 0x223ada
00223ac9db 0xc8
00223acadb 0xff
00223acbjmp 0x223ada
00223acd
00223acd 0f 1f 00 ...
00223ad0
00223ad0loc_223ad0:
00223ad0mov rdi, rbx
00223ad3call fn_f4680
00223ad8xor eax, eax
00223ada
00223adaloc_223ada:
00223adaadd rsp, 8
00223adepop rbx
00223adfpop rbp
00223ae0ret
00223a50
00223a50caml_read_directory:
00223a50push rbp
00223a51mov rbp, rsi
00223a54push rbx
00223a55sub rsp, 8
00223a59call fn_f43c0
00223a5emov rbx, rax
00223a61test rax, rax
00223a64je 0x223ac8
00223a66nop [rax+rax]
00223a6cmov rdi, rbx
00223a6fcall fn_f4800
00223a74test rax, rax
00223a77je 0x223ad0
00223a79cmp [rax+19], 46
00223a7dlea rdi, [rax+19]
00223a81jne 0x223a8d
00223a83cmp [rdi+1], 0
00223a87je 0x223a70
00223a89cmp [rax+19], 46
00223a8d
00223a8dloc_223a8d:
00223a8djne 0x223aa0
00223a8fcmp [rdi+1], 46
00223a93jne 0x223aa0
00223a95cmp [rdi+2], 0
00223a99je 0x223a70
00223a9bnop
00223a9ccall caml_stat_strdup
00223aa1mov rdi, rbp
00223aa4mov rsi, rax
00223aa7call caml_ext_table_add_noexc
00223aaccmp eax, -1
00223aafjne 0x223a70
00223ab1mov rdi, rbx
00223ab4call fn_f4680
00223ab9call fn_f4570
00223abemov [rax], 12
00223ac4or eax, -1
00223ac7jmp 0x223ada
00223ac9db 0xc8
00223acadb 0xff
00223acbjmp 0x223ada
00223acd
00223acd 0f 1f 00 ...
00223ad0
00223ad0loc_223ad0:
00223ad0mov rdi, rbx
00223ad3call fn_f4680
00223ad8xor eax, eax
00223ada
00223adaloc_223ada:
00223adaadd rsp, 8
00223adepop rbx
00223adfpop rbp
00223ae0ret
00223a50
00223ae1
00223ae1 // align 0x10
00223ae1 // align 0x10
00223af0
00223af0caml_executable_name:
00223af0push r14
00223af2push r13
00223af4lea r13, [rip+47948]
00223afbpush r12
00223afdpush rbp
00223afemov ebp, 256
00223b03push rbx
00223b04sub rsp, 160
00223b0bmov r12, [0x28]
00223b14mov [rsp+152], r12
00223b1cmov r12l, 13
00223b22jmp 0x223b32
00223b24db 0x00
00223b25add bl, ch
00223b27db 0x0a
00223b28
00223b28 0f 1f 84 00 00 00 00 00 ........
00223b30
00223b30loc_223b30:
00223b30add ebp, ebp
00223b32
00223b32loc_223b32:
00223b32movsxd r14, ebp
00223b35mov rdi, r14
00223b38call caml_stat_alloc
00223b3dmov rdx, r14
00223b40mov rdi, r13
00223b43mov rsi, rax
00223b46mov rbx, rax
00223b49call fn_f44c0
00223b4ecmp eax, -1
00223b51je 0x223bb6
00223b53cmp ebp, eax
00223b55jg 0x223b90
00223b57mov rdi, rbx
00223b5acall caml_stat_free
00223b5fsub r12l, 1
00223b63jne 0x223b30
00223b65
00223b65loc_223b65:
00223b65xor ebx, ebx
00223b67
00223b67loc_223b67:
00223b67mov rax, [rsp+152]
00223b6fsub rax, [0x28]
00223b78jne 0x223bc0
00223b7aadd rsp, 160
00223b81mov rax, rbx
00223b84pop rbx
00223b85pop rbp
00223b86pop r12
00223b88pop r13
00223b8apop r14
00223b8cret
00223b8d
00223b8d 0f 1f 00 ...
00223b90
00223b90loc_223b90:
00223b90cdqe
00223b92mov rsi, rsp
00223b95mov rdi, rbx
00223b98mov [rbx+rax], 0
00223b9ccall fn_f43b0
00223ba1cmp eax, -1
00223ba4je 0x223bb6
00223ba6mov eax, [rsp+24]
00223baaand eax, 61440
00223bafcmp eax, 32768
00223bb4je 0x223b67
00223bb6
00223bb6loc_223bb6:
00223bb6mov rdi, rbx
00223bb9call caml_stat_free
00223bbejmp 0x223b65
00223bc0
00223bc0loc_223bc0:
00223bc0call fn_f4590
00223af0
00223af0caml_executable_name:
00223af0push r14
00223af2push r13
00223af4lea r13, [rip+47948]
00223afbpush r12
00223afdpush rbp
00223afemov ebp, 256
00223b03push rbx
00223b04sub rsp, 160
00223b0bmov r12, [0x28]
00223b14mov [rsp+152], r12
00223b1cmov r12l, 13
00223b22jmp 0x223b32
00223b24db 0x00
00223b25add bl, ch
00223b27db 0x0a
00223b28
00223b28 0f 1f 84 00 00 00 00 00 ........
00223b30
00223b30loc_223b30:
00223b30add ebp, ebp
00223b32
00223b32loc_223b32:
00223b32movsxd r14, ebp
00223b35mov rdi, r14
00223b38call caml_stat_alloc
00223b3dmov rdx, r14
00223b40mov rdi, r13
00223b43mov rsi, rax
00223b46mov rbx, rax
00223b49call fn_f44c0
00223b4ecmp eax, -1
00223b51je 0x223bb6
00223b53cmp ebp, eax
00223b55jg 0x223b90
00223b57mov rdi, rbx
00223b5acall caml_stat_free
00223b5fsub r12l, 1
00223b63jne 0x223b30
00223b65
00223b65loc_223b65:
00223b65xor ebx, ebx
00223b67
00223b67loc_223b67:
00223b67mov rax, [rsp+152]
00223b6fsub rax, [0x28]
00223b78jne 0x223bc0
00223b7aadd rsp, 160
00223b81mov rax, rbx
00223b84pop rbx
00223b85pop rbp
00223b86pop r12
00223b88pop r13
00223b8apop r14
00223b8cret
00223b8d
00223b8d 0f 1f 00 ...
00223b90
00223b90loc_223b90:
00223b90cdqe
00223b92mov rsi, rsp
00223b95mov rdi, rbx
00223b98mov [rbx+rax], 0
00223b9ccall fn_f43b0
00223ba1cmp eax, -1
00223ba4je 0x223bb6
00223ba6mov eax, [rsp+24]
00223baaand eax, 61440
00223bafcmp eax, 32768
00223bb4je 0x223b67
00223bb6
00223bb6loc_223bb6:
00223bb6mov rdi, rbx
00223bb9call caml_stat_free
00223bbejmp 0x223b65
00223bc0
00223bc0loc_223bc0:
00223bc0call fn_f4590
00223af0
00223bc5
00223bc5 // align 0x10
00223bc5 // align 0x10
00223bd0
00223bd0caml_secure_getenv:
00223bd0jmp 0xf4380
00223bd5db 0xa7
00223bd6db 0x07
00223bd7in eax, dx
00223bd8db 0xff
00223bd0
00223bd0caml_secure_getenv:
00223bd0jmp 0xf4380
00223bd5db 0xa7
00223bd6db 0x07
00223bd7in eax, dx
00223bd8db 0xff
00223bd0
00223bd9
00223bd9 // align 0x10
00223bd9 // align 0x10
00223be0
00223be0caml_time_counter:
00223be0sub rsp, 40
00223be4mov edi, 1
00223be9mov rsi, [0x28]
00223bf2mov [rsp+24], rsi
00223bf7mov rsi, rsp
00223bfacall fn_f4190
00223bffimul rax, [rsp], 0x3b9aca00
00223c07add rax, [rsp+8]
00223c0cmov rdx, [rsp+24]
00223c11sub rdx, [0x28]
00223c1ajne 0x223c25
00223c1cadd rsp, 40
00223c20ret
00223c21call fn_f4590
00223c26db 0x66
00223c27or ebp, ebp
00223c29db 0xff
00223be0
00223be0caml_time_counter:
00223be0sub rsp, 40
00223be4mov edi, 1
00223be9mov rsi, [0x28]
00223bf2mov [rsp+24], rsi
00223bf7mov rsi, rsp
00223bfacall fn_f4190
00223bffimul rax, [rsp], 0x3b9aca00
00223c07add rax, [rsp+8]
00223c0cmov rdx, [rsp+24]
00223c11sub rdx, [0x28]
00223c1ajne 0x223c25
00223c1cadd rsp, 40
00223c20ret
00223c21call fn_f4590
00223c26db 0x66
00223c27or ebp, ebp
00223c29db 0xff
00223be0
00223c2a
00223c2a // align 0x10
00223c2a // align 0x10
00223c30
00223c30caml_num_rows_fd:
00223c30sub rsp, 24
00223c34mov edx, -1
00223c39mov esi, 21523
00223c3emov rax, [0x28]
00223c47mov [rsp+8], rax
00223c4cxor eax, eax
00223c4emov [rsp], dx
00223c52mov rdx, rsp
00223c55call fn_f4150
00223c5atest eax, eax
00223c5cjne 0x223c80
00223c5emovzx eax, [rsp]
00223c62mov rdx, [rsp+8]
00223c67sub rdx, [0x28]
00223c70jne 0x223c87
00223c72add rsp, 24
00223c76ret
00223c77db 0x83
00223c78db 0xc4
00223c79sbb bl, al
00223c7b
00223c7b 0f 1f 44 00 00 ..D..
00223c80
00223c80loc_223c80:
00223c80mov eax, -1
00223c85jmp 0x223c66
00223c87
00223c87loc_223c87:
00223c87call fn_f4590
00223c30
00223c30caml_num_rows_fd:
00223c30sub rsp, 24
00223c34mov edx, -1
00223c39mov esi, 21523
00223c3emov rax, [0x28]
00223c47mov [rsp+8], rax
00223c4cxor eax, eax
00223c4emov [rsp], dx
00223c52mov rdx, rsp
00223c55call fn_f4150
00223c5atest eax, eax
00223c5cjne 0x223c80
00223c5emovzx eax, [rsp]
00223c62mov rdx, [rsp+8]
00223c67sub rdx, [0x28]
00223c70jne 0x223c87
00223c72add rsp, 24
00223c76ret
00223c77db 0x83
00223c78db 0xc4
00223c79sbb bl, al
00223c7b
00223c7b 0f 1f 44 00 00 ..D..
00223c80
00223c80loc_223c80:
00223c80mov eax, -1
00223c85jmp 0x223c66
00223c87
00223c87loc_223c87:
00223c87call fn_f4590
00223c30
00223c8c
00223c8c // align 0x10
00223c8c // align 0x10
00223c90
00223c90caml_init_os_params:
00223c90sub rsp, 8
00223c94mov edi, 30
00223c99call fn_f42e0
00223c9emov [rip+0x154fcf], rax
00223ca5mov [rip+0x154fc0], rax
00223cacadd rsp, 8
00223cb0ret
00223cb1db 0x83
00223cb2db 0xc4
00223cb3or bl, al
00223c90
00223c90caml_init_os_params:
00223c90sub rsp, 8
00223c94mov edi, 30
00223c99call fn_f42e0
00223c9emov [rip+0x154fcf], rax
00223ca5mov [rip+0x154fc0], rax
00223cacadd rsp, 8
00223cb0ret
00223cb1db 0x83
00223cb2db 0xc4
00223cb3or bl, al
00223c90
00223cb5
00223cb5 // align 0x10
00223cb5 // align 0x10
00223cc0
00223cc0caml_plat_mem_map:
00223cc0sub rsp, 8
00223cc4cmp esi, 1
00223cc7mov r8l, -1
00223ccdmov rsi, rdi
00223cd0sbb edx, edx
00223cd2mov ecx, 34
00223cd7xor r9l, r9l
00223cdaxor edi, edi
00223cdcand edx, 3
00223cdfcall fn_f4110
00223ce4xor edx, edx
00223ce6cmp rax, -1
00223ceacmove rax, rdx
00223ceeadd rsp, 8
00223cf2ret
00223cf3db 0x83
00223cf4db 0xc4
00223cf5or bl, al
00223cc0
00223cc0caml_plat_mem_map:
00223cc0sub rsp, 8
00223cc4cmp esi, 1
00223cc7mov r8l, -1
00223ccdmov rsi, rdi
00223cd0sbb edx, edx
00223cd2mov ecx, 34
00223cd7xor r9l, r9l
00223cdaxor edi, edi
00223cdcand edx, 3
00223cdfcall fn_f4110
00223ce4xor edx, edx
00223ce6cmp rax, -1
00223ceacmove rax, rdx
00223ceeadd rsp, 8
00223cf2ret
00223cf3db 0x83
00223cf4db 0xc4
00223cf5or bl, al
00223cc0
00223cf7
00223cf7 // align 0x10
00223cf7 // align 0x10
00223d00
00223d00caml_plat_mem_commit:
00223d00push rbx
00223d01xor r9l, r9l
00223d04mov r8l, -1
00223d0amov ecx, 50
00223d0fmov edx, 3
00223d14mov rbx, rdi
00223d17call fn_f4110
00223d1ccmp rax, -1
00223d20mov eax, 0
00223d25cmove rbx, rax
00223d29mov rax, rbx
00223d2cpop rbx
00223d2dret
00223d2edb 0x89
00223d2ffcomp [rbx-61]
00223d00
00223d00caml_plat_mem_commit:
00223d00push rbx
00223d01xor r9l, r9l
00223d04mov r8l, -1
00223d0amov ecx, 50
00223d0fmov edx, 3
00223d14mov rbx, rdi
00223d17call fn_f4110
00223d1ccmp rax, -1
00223d20mov eax, 0
00223d25cmove rbx, rax
00223d29mov rax, rbx
00223d2cpop rbx
00223d2dret
00223d2edb 0x89
00223d2ffcomp [rbx-61]
00223d00
00223d32
00223d32 // align 0x10
00223d32 // align 0x10
00223d40
00223d40caml_plat_mem_decommit:
00223d40xor r9l, r9l
00223d43mov r8l, -1
00223d49mov ecx, 50
00223d4exor edx, edx
00223d50jmp 0xf4110
00223d55db 0xb7
00223d56add ebp, ebp
00223d58db 0xff
00223d40
00223d40caml_plat_mem_decommit:
00223d40xor r9l, r9l
00223d43mov r8l, -1
00223d49mov ecx, 50
00223d4exor edx, edx
00223d50jmp 0xf4110
00223d55db 0xb7
00223d56add ebp, ebp
00223d58db 0xff
00223d40
00223d59
00223d59 // align 0x10
00223d59 // align 0x10
00223d60
00223d60caml_plat_mem_unmap:
00223d60jmp 0xf4610
00223d65db 0xa7
00223d66or ch, ch
00223d68db 0xff
00223d60
00223d60caml_plat_mem_unmap:
00223d60jmp 0xf4610
00223d65db 0xa7
00223d66or ch, ch
00223d68db 0xff
00223d60
00223d69
00223d69 // align 0x10
00223d69 // align 0x10
00223d70
00223d70fn_223d70:
00223d70lea rax, [rdi+8*rsi]
00223d74test dl, 1
00223d77jne 0x223de0
00223d79cmp rdx, [rip+0x154848]
00223d80jae 0x223de0
00223d82cmp [rip+0x154847], rdx
00223d89jae 0x223de0
00223d8bpush rbp
00223d8cpush rbx
00223d8dmov rbx, rdi
00223d90sub rsp, 24
00223d94mov rcx, [rax]
00223d97mov [rax], rdx
00223d9atest cl, 1
00223d9djne 0x223da8
00223d9fcmp rcx, [rip+0x154822]
00223da6jb 0x223de8
00223da8
00223da8loc_223da8:
00223da8mov rax, [rip+0x52239]
00223dafmov rax, [rax]
00223db3mov rbp, [rax+96]
00223db7mov rax, [rbp+80]
00223dbbcmp rax, [rbp+88]
00223dbfjae 0x223df8
00223dc1
00223dc1loc_223dc1:
00223dc1lea rdx, [rax+16]
00223dc5mov [rbp+80], rdx
00223dc9mov [rax], rbx
00223dccmov [rax+8], rsi
00223dd0
00223dd0loc_223dd0:
00223dd0add rsp, 24
00223dd4pop rbx
00223dd5pop rbp
00223dd6ret
00223dd7
00223dd7 66 0f 1f 84 00 00 00 00 00 f........
00223de0
00223de0loc_223de0:
00223de0mov [rax], rdx
00223de3ret
00223de4
00223de4 0f 1f 40 00 ..@.
00223de8
00223de8loc_223de8:
00223de8cmp [rip+0x1547e1], rcx
00223defjb 0x223dd0
00223df1jmp 0x223da8
00223df3
00223df3 0f 1f 44 00 00 ..D..
00223df8
00223df8loc_223df8:
00223df8lea rdi, [rbp+56]
00223dfcmov [rsp+8], rsi
00223e01call caml_realloc_ephe_ref_table
00223e06mov rax, [rbp+80]
00223e0amov rsi, [rsp+8]
00223e0fjmp 0x223dc1
00223d70
00223d70fn_223d70:
00223d70lea rax, [rdi+8*rsi]
00223d74test dl, 1
00223d77jne 0x223de0
00223d79cmp rdx, [rip+0x154848]
00223d80jae 0x223de0
00223d82cmp [rip+0x154847], rdx
00223d89jae 0x223de0
00223d8bpush rbp
00223d8cpush rbx
00223d8dmov rbx, rdi
00223d90sub rsp, 24
00223d94mov rcx, [rax]
00223d97mov [rax], rdx
00223d9atest cl, 1
00223d9djne 0x223da8
00223d9fcmp rcx, [rip+0x154822]
00223da6jb 0x223de8
00223da8
00223da8loc_223da8:
00223da8mov rax, [rip+0x52239]
00223dafmov rax, [rax]
00223db3mov rbp, [rax+96]
00223db7mov rax, [rbp+80]
00223dbbcmp rax, [rbp+88]
00223dbfjae 0x223df8
00223dc1
00223dc1loc_223dc1:
00223dc1lea rdx, [rax+16]
00223dc5mov [rbp+80], rdx
00223dc9mov [rax], rbx
00223dccmov [rax+8], rsi
00223dd0
00223dd0loc_223dd0:
00223dd0add rsp, 24
00223dd4pop rbx
00223dd5pop rbp
00223dd6ret
00223dd7
00223dd7 66 0f 1f 84 00 00 00 00 00 f........
00223de0
00223de0loc_223de0:
00223de0mov [rax], rdx
00223de3ret
00223de4
00223de4 0f 1f 40 00 ..@.
00223de8
00223de8loc_223de8:
00223de8cmp [rip+0x1547e1], rcx
00223defjb 0x223dd0
00223df1jmp 0x223da8
00223df3
00223df3 0f 1f 44 00 00 ..D..
00223df8
00223df8loc_223df8:
00223df8lea rdi, [rbp+56]
00223dfcmov [rsp+8], rsi
00223e01call caml_realloc_ephe_ref_table
00223e06mov rax, [rbp+80]
00223e0amov rsi, [rsp+8]
00223e0fjmp 0x223dc1
00223d70
00223e11
00223e11 // align 0x10
00223e11 // align 0x10
00223e20
00223e20fn_223e20:
00223e20push r15
00223e22push r14
00223e24mov r14, rdi
00223e27push r13
00223e29push r12
00223e2bpush rbp
00223e2cpush rbx
00223e2dsub rsp, 24
00223e31mov rax, [rdi-8]
00223e35mov r15, rax
00223e38shr r15, 10
00223e3ccmp rax, 3071
00223e42jbe 0x22400b
00223e48mov [rsp+12], 0
00223e50mov rbx, [rip+0x1545f9]
00223e57mov r13l, 2
00223e5dnop [rax]
00223e60
00223e60loc_223e60:
00223e60lea r12, [r14+8*r13]
00223e64mov rax, [r12]
00223e68cmp rax, rbx
00223e6bje 0x223f30
00223e71test al, 1
00223e73je 0x223e90
00223e75jmp 0x223f86
00223e7a
00223e7a 66 0f 1f 44 00 00 f..D..
00223e80
00223e80loc_223e80:
00223e80cmp [rip+0x1545c9], rbx
00223e87je 0x223f30
00223e8d
00223e8dloc_223e8d:
00223e8dmov rax, rbx
00223e90
00223e90loc_223e90:
00223e90movzx edx, [rax-8]
00223e94lea rcx, [rax-8]
00223e98cmp dl, -6
00223e9bjne 0x223f68
00223ea1mov rbx, [rax]
00223ea4test bl, 1
00223ea7jne 0x223f68
00223eadmovzx edx, [rbx-8]
00223eb1cmp dl, -6
00223eb4je 0x223f68
00223ebamovzx edx, [rbx-8]
00223ebecmp dl, -10
00223ec1je 0x223f68
00223ec7movzx edx, [rbx-8]
00223ecbcmp dl, -12
00223eceje 0x223f68
00223ed4movzx edx, [rbx-8]
00223ed8cmp dl, -3
00223edbje 0x223f68
00223ee1mov [r12], rbx
00223ee5cmp rbx, [rip+0x1546dc]
00223eecjae 0x223e80
00223eeecmp [rip+0x1546db], rbx
00223ef5jae 0x223e80
00223ef7mov rax, [rip+0x520ea]
00223efemov rax, [rax]
00223f02mov rbp, [rax+96]
00223f06mov rax, [rbp+80]
00223f0acmp rax, [rbp+88]
00223f0ejae 0x223fe0
00223f14
00223f14loc_223f14:
00223f14lea rcx, [rax+16]
00223f18mov [rbp+80], rcx
00223f1cmov [rax], r14
00223f1fcmp [rip+0x15452a], rbx
00223f26mov [rax+8], r13
00223f2ajne 0x223e8d
00223f30
00223f30loc_223f30:
00223f30add r13, 1
00223f34cmp r15, r13
00223f37jne 0x223e60
00223f3d
00223f3dloc_223f3d:
00223f3dmov edx, [rsp+12]
00223f41mov rax, [r14+8]
00223f45test edx, edx
00223f47je 0x223f52
00223f49cmp rax, rbx
00223f4cje 0x223f52
00223f4emov [r14+8], rbx
00223f52
00223f52loc_223f52:
00223f52add rsp, 24
00223f56pop rbx
00223f57pop rbp
00223f58pop r12
00223f5apop r13
00223f5cpop r14
00223f5epop r15
00223f60ret
00223f61
00223f61 0f 1f 80 00 00 00 00 .......
00223f68
00223f68loc_223f68:
00223f68movzx edx, [rcx]
00223f6bcmp dl, -7
00223f6eje 0x223ff8
00223f74
00223f74loc_223f74:
00223f74cmp rax, [rip+0x15464d]
00223f7bjae 0x223fa0
00223f7dcmp [rip+0x15464c], rax
00223f84jae 0x223fa0
00223f86
00223f86loc_223f86:
00223f86add r13, 1
00223f8amov rbx, [rip+0x1544bf]
00223f91cmp r15, r13
00223f94jne 0x223e60
00223f9ajmp 0x223f3d
00223f9c
00223f9c 0f 1f 40 00 ..@.
00223fa0
00223fa0loc_223fa0:
00223fa0mov rax, [rax-8]
00223fa4mov rbx, [rip+0x1544a5]
00223faband eax, 768
00223fb0cmp [rip+0x154411], rax
00223fb7jne 0x223f30
00223fbdadd r13, 1
00223fc1mov [r12], rbx
00223fc5mov [rsp+12], 1
00223fcdcmp r15, r13
00223fd0jne 0x223e60
00223fd6jmp 0x223f3d
00223fdb
00223fdb 0f 1f 44 00 00 ..D..
00223fe0
00223fe0loc_223fe0:
00223fe0lea rdi, [rbp+56]
00223fe4call caml_realloc_ephe_ref_table
00223fe9mov rax, [rbp+80]
00223fedjmp 0x223f14
00223ff2
00223ff2 66 0f 1f 44 00 00 f..D..
00223ff8
00223ff8loc_223ff8:
00223ff8mov rdx, [rcx]
00223ffbshr rdx, 10
00223fffshl rdx, 3
00224003sub rax, rdx
00224006jmp 0x223f74
0022400b
0022400bloc_22400b:
0022400bmov rax, [rdi+8]
0022400fadd rsp, 24
00224013pop rbx
00224014pop rbp
00224015pop r12
00224017pop r13
00224019pop r14
0022401bpop r15
0022401dret
00223e20
00223e20fn_223e20:
00223e20push r15
00223e22push r14
00223e24mov r14, rdi
00223e27push r13
00223e29push r12
00223e2bpush rbp
00223e2cpush rbx
00223e2dsub rsp, 24
00223e31mov rax, [rdi-8]
00223e35mov r15, rax
00223e38shr r15, 10
00223e3ccmp rax, 3071
00223e42jbe 0x22400b
00223e48mov [rsp+12], 0
00223e50mov rbx, [rip+0x1545f9]
00223e57mov r13l, 2
00223e5dnop [rax]
00223e60
00223e60loc_223e60:
00223e60lea r12, [r14+8*r13]
00223e64mov rax, [r12]
00223e68cmp rax, rbx
00223e6bje 0x223f30
00223e71test al, 1
00223e73je 0x223e90
00223e75jmp 0x223f86
00223e7a
00223e7a 66 0f 1f 44 00 00 f..D..
00223e80
00223e80loc_223e80:
00223e80cmp [rip+0x1545c9], rbx
00223e87je 0x223f30
00223e8d
00223e8dloc_223e8d:
00223e8dmov rax, rbx
00223e90
00223e90loc_223e90:
00223e90movzx edx, [rax-8]
00223e94lea rcx, [rax-8]
00223e98cmp dl, -6
00223e9bjne 0x223f68
00223ea1mov rbx, [rax]
00223ea4test bl, 1
00223ea7jne 0x223f68
00223eadmovzx edx, [rbx-8]
00223eb1cmp dl, -6
00223eb4je 0x223f68
00223ebamovzx edx, [rbx-8]
00223ebecmp dl, -10
00223ec1je 0x223f68
00223ec7movzx edx, [rbx-8]
00223ecbcmp dl, -12
00223eceje 0x223f68
00223ed4movzx edx, [rbx-8]
00223ed8cmp dl, -3
00223edbje 0x223f68
00223ee1mov [r12], rbx
00223ee5cmp rbx, [rip+0x1546dc]
00223eecjae 0x223e80
00223eeecmp [rip+0x1546db], rbx
00223ef5jae 0x223e80
00223ef7mov rax, [rip+0x520ea]
00223efemov rax, [rax]
00223f02mov rbp, [rax+96]
00223f06mov rax, [rbp+80]
00223f0acmp rax, [rbp+88]
00223f0ejae 0x223fe0
00223f14
00223f14loc_223f14:
00223f14lea rcx, [rax+16]
00223f18mov [rbp+80], rcx
00223f1cmov [rax], r14
00223f1fcmp [rip+0x15452a], rbx
00223f26mov [rax+8], r13
00223f2ajne 0x223e8d
00223f30
00223f30loc_223f30:
00223f30add r13, 1
00223f34cmp r15, r13
00223f37jne 0x223e60
00223f3d
00223f3dloc_223f3d:
00223f3dmov edx, [rsp+12]
00223f41mov rax, [r14+8]
00223f45test edx, edx
00223f47je 0x223f52
00223f49cmp rax, rbx
00223f4cje 0x223f52
00223f4emov [r14+8], rbx
00223f52
00223f52loc_223f52:
00223f52add rsp, 24
00223f56pop rbx
00223f57pop rbp
00223f58pop r12
00223f5apop r13
00223f5cpop r14
00223f5epop r15
00223f60ret
00223f61
00223f61 0f 1f 80 00 00 00 00 .......
00223f68
00223f68loc_223f68:
00223f68movzx edx, [rcx]
00223f6bcmp dl, -7
00223f6eje 0x223ff8
00223f74
00223f74loc_223f74:
00223f74cmp rax, [rip+0x15464d]
00223f7bjae 0x223fa0
00223f7dcmp [rip+0x15464c], rax
00223f84jae 0x223fa0
00223f86
00223f86loc_223f86:
00223f86add r13, 1
00223f8amov rbx, [rip+0x1544bf]
00223f91cmp r15, r13
00223f94jne 0x223e60
00223f9ajmp 0x223f3d
00223f9c
00223f9c 0f 1f 40 00 ..@.
00223fa0
00223fa0loc_223fa0:
00223fa0mov rax, [rax-8]
00223fa4mov rbx, [rip+0x1544a5]
00223faband eax, 768
00223fb0cmp [rip+0x154411], rax
00223fb7jne 0x223f30
00223fbdadd r13, 1
00223fc1mov [r12], rbx
00223fc5mov [rsp+12], 1
00223fcdcmp r15, r13
00223fd0jne 0x223e60
00223fd6jmp 0x223f3d
00223fdb
00223fdb 0f 1f 44 00 00 ..D..
00223fe0
00223fe0loc_223fe0:
00223fe0lea rdi, [rbp+56]
00223fe4call caml_realloc_ephe_ref_table
00223fe9mov rax, [rbp+80]
00223fedjmp 0x223f14
00223ff2
00223ff2 66 0f 1f 44 00 00 f..D..
00223ff8
00223ff8loc_223ff8:
00223ff8mov rdx, [rcx]
00223ffbshr rdx, 10
00223fffshl rdx, 3
00224003sub rax, rdx
00224006jmp 0x223f74
0022400b
0022400bloc_22400b:
0022400bmov rax, [rdi+8]
0022400fadd rsp, 24
00224013pop rbx
00224014pop rbp
00224015pop r12
00224017pop r13
00224019pop r14
0022401bpop r15
0022401dret
00223e20
0022401e
0022401e // align 0x10
0022401e // align 0x10
00224020
00224020fn_224020:
00224020mov eax, [rip+0x154a3a]
00224026cmp rsi, 1
0022402ajne 0x224038
0022402ccmp eax, 2
0022402fje 0x224098
00224031
00224031loc_224031:
00224031ret
00224032
00224032 66 0f 1f 44 00 00 f..D..
00224038
00224038loc_224038:
00224038cmp eax, 2
0022403bjne 0x224031
0022403dlea rdx, [rdi+8*rsi]
00224041mov rax, [rdx]
00224044cmp rax, [rip+0x154405]
0022404bje 0x224031
0022404dtest al, 1
0022404fjne 0x224031
00224051cmp rax, [rip+0x154570]
00224058jae 0x224063
0022405acmp [rip+0x15456f], rax
00224061jb 0x224031
00224063
00224063loc_224063:
00224063movzx esi, [rax-8]
00224067lea rcx, [rax-8]
0022406bcmp sil, -7
0022406fje 0x2240a0
00224071
00224071loc_224071:
00224071mov rax, [rcx]
00224074and eax, 768
00224079cmp [rip+0x154348], rax
00224080jne 0x224031
00224082mov rax, [rip+0x1543c7]
00224089mov [rdx], rax
0022408cmov [rdi+8], rax
00224090ret
00224091
00224091 0f 1f 80 00 00 00 00 .......
00224098
00224098loc_224098:
00224098jmp 0x223e20
0022409d
0022409d 0f 1f 00 ...
002240a0
002240a0loc_2240a0:
002240a0mov rax, [rax-8]
002240a4shr rax, 10
002240a8shl rax, 3
002240acsub rcx, rax
002240afjmp 0x224071
00224020
00224020fn_224020:
00224020mov eax, [rip+0x154a3a]
00224026cmp rsi, 1
0022402ajne 0x224038
0022402ccmp eax, 2
0022402fje 0x224098
00224031
00224031loc_224031:
00224031ret
00224032
00224032 66 0f 1f 44 00 00 f..D..
00224038
00224038loc_224038:
00224038cmp eax, 2
0022403bjne 0x224031
0022403dlea rdx, [rdi+8*rsi]
00224041mov rax, [rdx]
00224044cmp rax, [rip+0x154405]
0022404bje 0x224031
0022404dtest al, 1
0022404fjne 0x224031
00224051cmp rax, [rip+0x154570]
00224058jae 0x224063
0022405acmp [rip+0x15456f], rax
00224061jb 0x224031
00224063
00224063loc_224063:
00224063movzx esi, [rax-8]
00224067lea rcx, [rax-8]
0022406bcmp sil, -7
0022406fje 0x2240a0
00224071
00224071loc_224071:
00224071mov rax, [rcx]
00224074and eax, 768
00224079cmp [rip+0x154348], rax
00224080jne 0x224031
00224082mov rax, [rip+0x1543c7]
00224089mov [rdx], rax
0022408cmov [rdi+8], rax
00224090ret
00224091
00224091 0f 1f 80 00 00 00 00 .......
00224098
00224098loc_224098:
00224098jmp 0x223e20
0022409d
0022409d 0f 1f 00 ...
002240a0
002240a0loc_2240a0:
002240a0mov rax, [rax-8]
002240a4shr rax, 10
002240a8shl rax, 3
002240acsub rcx, rax
002240afjmp 0x224071
00224020
002240b1
002240b1 // align 0x10
002240b1 // align 0x10
002240c0
002240c0fn_2240c0:
002240c0push r13
002240c2mov eax, 1
002240c7push r12
002240c9movq x0, rax
002240cepush rbp
002240cfpunpcklqdq x0, x0
002240d3push rbx
002240d4sub rsp, 184
002240dbmov r13, [rip+0x51f06]
002240e2mov [rsp+8], rdi
002240e7lea rax, [rsp+8]
002240ecmov rbx, [0x28]
002240f5mov [rsp+168], rbx
002240fdmov rbx, rsi
00224100mov rbp, [r13]
00224105mov [rsp+56], rax
0022410alea rax, [rsp+32]
0022410fmov [rsp+96], rax
00224114lea rax, [rsp+96]
00224119movups [rsp+40], x0
0022411emov r12, [rbp+160]
00224125movdqa x0, [rip+24483]
0022412dmov [rbp+160], rax
00224134lea rax, [rsp+16]
00224139movups [rsp+104], x0
0022413emovq x0, rax
00224143lea rax, [rsp+24]
00224148movq x1, rax
0022414dmov [rsp+32], r12
00224152mov [rsp+16], 1
0022415bpunpcklqdq x0, x1
0022415fmov [rsp+24], 1
00224168movups [rsp+120], x0
0022416dcall fn_224020
00224172mov rax, [rsp+8]
00224177lea rax, [rax+8*rbx]
0022417bmov rsi, [rax]
0022417ecmp rsi, [rip+0x1542cb]
00224185mov [rsp+24], rsi
0022418ajne 0x2241d0
0022418cmov [rsp+16], 1
00224195
00224195loc_224195:
00224195call caml_process_pending_actions
0022419amov [rbp+160], r12
002241a1mov rax, [rsp+16]
002241a6mov rdx, [rsp+168]
002241aesub rdx, [0x28]
002241b7jne 0x2241f7
002241b9add rsp, 184
002241c0pop rbx
002241c1pop rbp
002241c2pop r12
002241c4pop r13
002241c6ret
002241c7
002241c7 66 0f 1f 84 00 00 00 00 00 f........
002241d0
002241d0loc_2241d0:
002241d0mov rdi, [r13]
002241d5xor edx, edx
002241d7call caml_darken
002241dcxor esi, esi
002241demov edi, 1
002241e3call caml_alloc_small
002241e8mov rdx, [rsp+24]
002241edmov [rsp+16], rax
002241f2mov [rax], rdx
002241f5jmp 0x224195
002241f7
002241f7loc_2241f7:
002241f7call fn_f4590
002240c0
002240c0fn_2240c0:
002240c0push r13
002240c2mov eax, 1
002240c7push r12
002240c9movq x0, rax
002240cepush rbp
002240cfpunpcklqdq x0, x0
002240d3push rbx
002240d4sub rsp, 184
002240dbmov r13, [rip+0x51f06]
002240e2mov [rsp+8], rdi
002240e7lea rax, [rsp+8]
002240ecmov rbx, [0x28]
002240f5mov [rsp+168], rbx
002240fdmov rbx, rsi
00224100mov rbp, [r13]
00224105mov [rsp+56], rax
0022410alea rax, [rsp+32]
0022410fmov [rsp+96], rax
00224114lea rax, [rsp+96]
00224119movups [rsp+40], x0
0022411emov r12, [rbp+160]
00224125movdqa x0, [rip+24483]
0022412dmov [rbp+160], rax
00224134lea rax, [rsp+16]
00224139movups [rsp+104], x0
0022413emovq x0, rax
00224143lea rax, [rsp+24]
00224148movq x1, rax
0022414dmov [rsp+32], r12
00224152mov [rsp+16], 1
0022415bpunpcklqdq x0, x1
0022415fmov [rsp+24], 1
00224168movups [rsp+120], x0
0022416dcall fn_224020
00224172mov rax, [rsp+8]
00224177lea rax, [rax+8*rbx]
0022417bmov rsi, [rax]
0022417ecmp rsi, [rip+0x1542cb]
00224185mov [rsp+24], rsi
0022418ajne 0x2241d0
0022418cmov [rsp+16], 1
00224195
00224195loc_224195:
00224195call caml_process_pending_actions
0022419amov [rbp+160], r12
002241a1mov rax, [rsp+16]
002241a6mov rdx, [rsp+168]
002241aesub rdx, [0x28]
002241b7jne 0x2241f7
002241b9add rsp, 184
002241c0pop rbx
002241c1pop rbp
002241c2pop r12
002241c4pop r13
002241c6ret
002241c7
002241c7 66 0f 1f 84 00 00 00 00 00 f........
002241d0
002241d0loc_2241d0:
002241d0mov rdi, [r13]
002241d5xor edx, edx
002241d7call caml_darken
002241dcxor esi, esi
002241demov edi, 1
002241e3call caml_alloc_small
002241e8mov rdx, [rsp+24]
002241edmov [rsp+16], rax
002241f2mov [rax], rdx
002241f5jmp 0x224195
002241f7
002241f7loc_2241f7:
002241f7call fn_f4590
002240c0
002241fc
002241fc // align 0x10
002241fc // align 0x10
00224200
00224200fn_224200:
00224200push r15
00224202push r14
00224204push r13
00224206push r12
00224208push rbp
00224209push rbx
0022420asub rsp, 232
00224211mov rax, [rip+0x51dd0]
00224218mov [rsp+40], rdi
0022421dmov rbx, [0x28]
00224226mov [rsp+216], rbx
0022422emov rbx, rsi
00224231mov r12, [rax]
00224235mov eax, 1
0022423amov [rsp+56], 1
00224243mov [rsp+64], 1
0022424cmovq x0, rax
00224251lea rax, [rsp+40]
00224256punpcklqdq x0, x0
0022425amov [rsp+104], rax
0022425flea rax, [rsp+80]
00224264mov r13, [r12+160]
0022426cmov [rsp+144], rax
00224274lea rax, [rsp+144]
0022427cmovups [rsp+88], x0
00224281movdqa x0, [rip+24151]
00224289lea rbp, [8*rbx]
00224291mov [r12+160], rax
00224299lea rax, [rsp+56]
0022429emovups [rsp+152], x0
002242a6movq x0, rax
002242ablea rax, [rsp+64]
002242b0movq x1, rax
002242b5lea rax, [rsp+72]
002242bamov [rsp+80], r13
002242bfpunpcklqdq x0, x1
002242c3mov [rsp+184], rax
002242cbmov [rsp+72], 1
002242d4movups [rsp+168], x0
002242dcjmp 0x22431c
002242de
002242de 66 90 f.
002242e0
002242e0loc_2242e0:
002242e0mov rcx, [rsp+72]
002242e5cmp rcx, 1
002242e9je 0x2242ff
002242ebmovzx esi, [rax]
002242eemovzx edx, [rcx-8]
002242f2lea r14, [rcx-8]
002242f6cmp sil, dl
002242f9je 0x224390
002242ff
002242ffloc_2242ff:
002242ffmovzx esi, [rax]
00224302mov rdi, [rax]
00224305shr rdi, 10
00224309call caml_alloc
0022430emov [rsp+64], 1
00224317mov [rsp+72], rax
0022431c
0022431cloc_22431c:
0022431cmov rdi, [rsp+40]
00224321mov rsi, rbx
00224324call fn_224020
00224329mov rax, [rsp+40]
0022432eadd rax, rbp
00224331mov rdi, [rax]
00224334cmp rdi, [rip+0x154115]
0022433bmov [rsp+64], rdi
00224340je 0x2244c0
00224346test dil, 1
0022434ajne 0x224470
00224350movzx edx, [rdi-8]
00224354lea rax, [rdi-8]
00224358cmp dl, -1
0022435bje 0x224470
00224361movzx edx, [rdi-8]
00224365xor r15l, r15l
00224368cmp dl, -7
0022436bjne 0x2242e0
00224371mov r15, [rdi-8]
00224375shr r15, 10
00224379shl r15, 3
0022437dsub rdi, r15
00224380mov [rsp+64], rdi
00224385lea rax, [rdi-8]
00224389jmp 0x2242e0
0022438e
0022438e 66 90 f.
00224390
00224390loc_224390:
00224390mov rax, [rax]
00224393mov r9, [rcx-8]
00224397mov rsi, [rsp+64]
0022439cxor r9, rax
0022439fshr r9, 10
002243a3lea rax, [rsi-8]
002243a7jne 0x2242ff
002243admovzx eax, [rsi-8]
002243b1cmp al, -5
002243b3ja 0x2244c7
002243b9movzx eax, [rsi-8]
002243bdxor edx, edx
002243bfxor ebp, ebp
002243c1cmp al, -9
002243c3jne 0x2243dc
002243c5mov r9, [rsi+8]
002243c9shl r9, 8
002243cdshr r9, 9
002243d1lea rbp, [8*r9]
002243d9mov rdx, rbp
002243dc
002243dcloc_2243dc:
002243dcmov rdi, rcx
002243dfmov [rsp+32], r9
002243e4mov [rsp+8], rsi
002243e9call fn_f47d0
002243eemov rsi, [rsp+8]
002243f3mov r9, [rsp+32]
002243f8mov rcx, rax
002243fbmov rax, [rip+0x51be6]
00224402sub rcx, rsi
00224405add rbp, rsi
00224408mov rax, [rax]
0022440cmov [rsp+24], rcx
00224411mov [rsp+16], rax
00224416jmp 0x224456
00224418
00224418 0f 1f 84 00 00 00 00 00 ........
00224420
00224420loc_224420:
00224420mov rbx, [rbp]
00224424mov rdi, [rsp+16]
00224429xor edx, edx
0022442bmov [rsp+8], r9
00224430mov rsi, rbx
00224433call caml_darken
00224438mov rax, [rsp+24]
0022443dmov rsi, rbx
00224440lea rdi, [rax+rbp]
00224444add rbp, 8
00224448call caml_modify
0022444dmov r9, [rsp+8]
00224452add r9, 1
00224456
00224456loc_224456:
00224456mov rax, [r14]
00224459shr rax, 10
0022445dcmp r9, rax
00224460jb 0x224420
00224462mov rdi, [rsp+72]
00224467add rdi, r15
0022446ajmp 0x224475
0022446c
0022446c 0f 1f 40 00 ..@.
00224470
00224470loc_224470:
00224470mov [rsp+72], rdi
00224475
00224475loc_224475:
00224475call caml_alloc_some
0022447a
0022447aloc_22447a:
0022447amov [rsp+56], rax
0022447fcall caml_process_pending_actions
00224484mov [r12+160], r13
0022448cmov rax, [rsp+56]
00224491mov rdx, [rsp+216]
00224499sub rdx, [0x28]
002244a2jne 0x2244df
002244a4add rsp, 232
002244abpop rbx
002244acpop rbp
002244adpop r12
002244afpop r13
002244b1pop r14
002244b3pop r15
002244b5ret
002244b6
002244b6 66 2e 0f 1f 84 00 00 00 00 00 f.........
002244c0
002244c0loc_2244c0:
002244c0mov eax, 1
002244c5jmp 0x22447a
002244c7
002244c7loc_2244c7:
002244c7mov r9, [rcx-8]
002244cbshr r9, 10
002244cflea rbp, [8*r9]
002244d7mov rdx, rbp
002244dajmp 0x2243dc
002244df
002244dfloc_2244df:
002244dfcall fn_f4590
00224200
00224200fn_224200:
00224200push r15
00224202push r14
00224204push r13
00224206push r12
00224208push rbp
00224209push rbx
0022420asub rsp, 232
00224211mov rax, [rip+0x51dd0]
00224218mov [rsp+40], rdi
0022421dmov rbx, [0x28]
00224226mov [rsp+216], rbx
0022422emov rbx, rsi
00224231mov r12, [rax]
00224235mov eax, 1
0022423amov [rsp+56], 1
00224243mov [rsp+64], 1
0022424cmovq x0, rax
00224251lea rax, [rsp+40]
00224256punpcklqdq x0, x0
0022425amov [rsp+104], rax
0022425flea rax, [rsp+80]
00224264mov r13, [r12+160]
0022426cmov [rsp+144], rax
00224274lea rax, [rsp+144]
0022427cmovups [rsp+88], x0
00224281movdqa x0, [rip+24151]
00224289lea rbp, [8*rbx]
00224291mov [r12+160], rax
00224299lea rax, [rsp+56]
0022429emovups [rsp+152], x0
002242a6movq x0, rax
002242ablea rax, [rsp+64]
002242b0movq x1, rax
002242b5lea rax, [rsp+72]
002242bamov [rsp+80], r13
002242bfpunpcklqdq x0, x1
002242c3mov [rsp+184], rax
002242cbmov [rsp+72], 1
002242d4movups [rsp+168], x0
002242dcjmp 0x22431c
002242de
002242de 66 90 f.
002242e0
002242e0loc_2242e0:
002242e0mov rcx, [rsp+72]
002242e5cmp rcx, 1
002242e9je 0x2242ff
002242ebmovzx esi, [rax]
002242eemovzx edx, [rcx-8]
002242f2lea r14, [rcx-8]
002242f6cmp sil, dl
002242f9je 0x224390
002242ff
002242ffloc_2242ff:
002242ffmovzx esi, [rax]
00224302mov rdi, [rax]
00224305shr rdi, 10
00224309call caml_alloc
0022430emov [rsp+64], 1
00224317mov [rsp+72], rax
0022431c
0022431cloc_22431c:
0022431cmov rdi, [rsp+40]
00224321mov rsi, rbx
00224324call fn_224020
00224329mov rax, [rsp+40]
0022432eadd rax, rbp
00224331mov rdi, [rax]
00224334cmp rdi, [rip+0x154115]
0022433bmov [rsp+64], rdi
00224340je 0x2244c0
00224346test dil, 1
0022434ajne 0x224470
00224350movzx edx, [rdi-8]
00224354lea rax, [rdi-8]
00224358cmp dl, -1
0022435bje 0x224470
00224361movzx edx, [rdi-8]
00224365xor r15l, r15l
00224368cmp dl, -7
0022436bjne 0x2242e0
00224371mov r15, [rdi-8]
00224375shr r15, 10
00224379shl r15, 3
0022437dsub rdi, r15
00224380mov [rsp+64], rdi
00224385lea rax, [rdi-8]
00224389jmp 0x2242e0
0022438e
0022438e 66 90 f.
00224390
00224390loc_224390:
00224390mov rax, [rax]
00224393mov r9, [rcx-8]
00224397mov rsi, [rsp+64]
0022439cxor r9, rax
0022439fshr r9, 10
002243a3lea rax, [rsi-8]
002243a7jne 0x2242ff
002243admovzx eax, [rsi-8]
002243b1cmp al, -5
002243b3ja 0x2244c7
002243b9movzx eax, [rsi-8]
002243bdxor edx, edx
002243bfxor ebp, ebp
002243c1cmp al, -9
002243c3jne 0x2243dc
002243c5mov r9, [rsi+8]
002243c9shl r9, 8
002243cdshr r9, 9
002243d1lea rbp, [8*r9]
002243d9mov rdx, rbp
002243dc
002243dcloc_2243dc:
002243dcmov rdi, rcx
002243dfmov [rsp+32], r9
002243e4mov [rsp+8], rsi
002243e9call fn_f47d0
002243eemov rsi, [rsp+8]
002243f3mov r9, [rsp+32]
002243f8mov rcx, rax
002243fbmov rax, [rip+0x51be6]
00224402sub rcx, rsi
00224405add rbp, rsi
00224408mov rax, [rax]
0022440cmov [rsp+24], rcx
00224411mov [rsp+16], rax
00224416jmp 0x224456
00224418
00224418 0f 1f 84 00 00 00 00 00 ........
00224420
00224420loc_224420:
00224420mov rbx, [rbp]
00224424mov rdi, [rsp+16]
00224429xor edx, edx
0022442bmov [rsp+8], r9
00224430mov rsi, rbx
00224433call caml_darken
00224438mov rax, [rsp+24]
0022443dmov rsi, rbx
00224440lea rdi, [rax+rbp]
00224444add rbp, 8
00224448call caml_modify
0022444dmov r9, [rsp+8]
00224452add r9, 1
00224456
00224456loc_224456:
00224456mov rax, [r14]
00224459shr rax, 10
0022445dcmp r9, rax
00224460jb 0x224420
00224462mov rdi, [rsp+72]
00224467add rdi, r15
0022446ajmp 0x224475
0022446c
0022446c 0f 1f 40 00 ..@.
00224470
00224470loc_224470:
00224470mov [rsp+72], rdi
00224475
00224475loc_224475:
00224475call caml_alloc_some
0022447a
0022447aloc_22447a:
0022447amov [rsp+56], rax
0022447fcall caml_process_pending_actions
00224484mov [r12+160], r13
0022448cmov rax, [rsp+56]
00224491mov rdx, [rsp+216]
00224499sub rdx, [0x28]
002244a2jne 0x2244df
002244a4add rsp, 232
002244abpop rbx
002244acpop rbp
002244adpop r12
002244afpop r13
002244b1pop r14
002244b3pop r15
002244b5ret
002244b6
002244b6 66 2e 0f 1f 84 00 00 00 00 00 f.........
002244c0
002244c0loc_2244c0:
002244c0mov eax, 1
002244c5jmp 0x22447a
002244c7
002244c7loc_2244c7:
002244c7mov r9, [rcx-8]
002244cbshr r9, 10
002244cflea rbp, [8*r9]
002244d7mov rdx, rbp
002244dajmp 0x2243dc
002244df
002244dfloc_2244df:
002244dfcall fn_f4590
00224200
002244e4
002244e4 // align 0x10
002244e4 // align 0x10
002244f0
002244f0fn_2244f0:
002244f0push r12
002244f2push rbp
002244f3push rbx
002244f4sub rsp, 176
002244fbmov rax, [rip+0x51ae6]
00224502mov [rsp+8], rdi
00224507mov rbx, [0x28]
00224510mov [rsp+168], rbx
00224518mov rbx, rsi
0022451bmov rbp, [rax]
0022451fmov eax, 1
00224524mov [rsp+24], 1
0022452dmovq x0, rax
00224532lea rax, [rsp+8]
00224537mov [rsp+56], rax
0022453clea rax, [rsp+32]
00224541mov r12, [rbp+160]
00224548punpcklqdq x0, x0
0022454cmov [rsp+96], rax
00224551lea rax, [rsp+96]
00224556mov [rbp+160], rax
0022455dlea rax, [rsp+24]
00224562mov [rsp+120], rax
00224567mov [rsp+32], r12
0022456cmovups [rsp+40], x0
00224571movups [rsp+104], x0
00224576call fn_224020
0022457bmov rax, [rsp+8]
00224580lea rax, [rax+8*rbx]
00224584mov rax, [rax]
00224587mov [rbp+160], r12
0022458ecmp rax, [rip+0x153ebb]
00224595setne al
00224598mov rdx, [rsp+168]
002245a0sub rdx, [0x28]
002245a9jne 0x2245bf
002245abadd rsp, 176
002245b2movzx eax, al
002245b5pop rbx
002245b6lea rax, [rax+rax+1]
002245bbpop rbp
002245bcpop r12
002245beret
002245bf
002245bfloc_2245bf:
002245bfcall fn_f4590
002244f0
002244f0fn_2244f0:
002244f0push r12
002244f2push rbp
002244f3push rbx
002244f4sub rsp, 176
002244fbmov rax, [rip+0x51ae6]
00224502mov [rsp+8], rdi
00224507mov rbx, [0x28]
00224510mov [rsp+168], rbx
00224518mov rbx, rsi
0022451bmov rbp, [rax]
0022451fmov eax, 1
00224524mov [rsp+24], 1
0022452dmovq x0, rax
00224532lea rax, [rsp+8]
00224537mov [rsp+56], rax
0022453clea rax, [rsp+32]
00224541mov r12, [rbp+160]
00224548punpcklqdq x0, x0
0022454cmov [rsp+96], rax
00224551lea rax, [rsp+96]
00224556mov [rbp+160], rax
0022455dlea rax, [rsp+24]
00224562mov [rsp+120], rax
00224567mov [rsp+32], r12
0022456cmovups [rsp+40], x0
00224571movups [rsp+104], x0
00224576call fn_224020
0022457bmov rax, [rsp+8]
00224580lea rax, [rax+8*rbx]
00224584mov rax, [rax]
00224587mov [rbp+160], r12
0022458ecmp rax, [rip+0x153ebb]
00224595setne al
00224598mov rdx, [rsp+168]
002245a0sub rdx, [0x28]
002245a9jne 0x2245bf
002245abadd rsp, 176
002245b2movzx eax, al
002245b5pop rbx
002245b6lea rax, [rax+rax+1]
002245bbpop rbp
002245bcpop r12
002245beret
002245bf
002245bfloc_2245bf:
002245bfcall fn_f4590
002244f0
002245c4
002245c4 // align 0x10
002245c4 // align 0x10
002245d0
002245d0fn_2245d0:
002245d0push r15
002245d2push r14
002245d4push r13
002245d6push r12
002245d8push rbp
002245d9push rbx
002245dasub rsp, 184
002245e1movdqa x0, [rip+23271]
002245e9mov [rsp+8], rdi
002245eemovq x1, rsp
002245f3mov [rsp], rdx
002245f7mov rax, [0x28]
00224600mov [rsp+168], rax
00224608mov rax, [rip+0x519d9]
0022460fmov r13, [rax]
00224613lea rax, [rsp+8]
00224618movups [rsp+40], x0
0022461dmov [rsp+24], 1
00224626movq x0, rax
0022462blea rax, [rsp+32]
00224630mov [rsp+96], rax
00224635lea rax, [rsp+96]
0022463amov r14, [r13+160]
00224641punpcklqdq x0, x1
00224645mov [r13+160], rax
0022464cmov eax, 1
00224651movups [rsp+56], x0
00224656movq x0, rax
0022465blea rax, [rsp+24]
00224660punpcklqdq x0, x0
00224664mov [rsp+32], r14
00224669mov [rsp+120], rax
0022466emovups [rsp+104], x0
00224673test r8, r8
00224676je 0x2246d3
00224678cmp [rip+0x1543e1], 2
0022467fmov r12, rsi
00224682mov rbx, rcx
00224685mov r15, r8
00224688je 0x224740
0022468e
0022468eloc_22468e:
0022468ecmp rbx, r12
00224691jb 0x224708
00224693
00224693loc_224693:
00224693mov rbp, r15
00224696sub rbp, 1
0022469ajs 0x2246d3
0022469clea r12, [r12+r15-1]
002246a1shl r12, 3
002246a5nop [rax+rax]
002246b0
002246b0loc_2246b0:
002246b0mov rax, [rsp+8]
002246b5mov rdi, [rsp]
002246b9lea rsi, [rbp+rbx]
002246beadd rax, r12
002246c1sub r12, 8
002246c5mov rdx, [rax]
002246c8call fn_223d70
002246cdsub rbp, 1
002246d1jns 0x2246b0
002246d3
002246d3loc_2246d3:
002246d3mov [r13+160], r14
002246damov rax, [rsp+168]
002246e2sub rax, [0x28]
002246ebjne 0x224766
002246edadd rsp, 184
002246f4mov eax, 1
002246f9pop rbx
002246fapop rbp
002246fbpop r12
002246fdpop r13
002246ffpop r14
00224701pop r15
00224703ret
00224704
00224704 0f 1f 40 00 ..@.
00224708
00224708loc_224708:
00224708shl r12, 3
0022470cadd r15, rbx
0022470fnop
00224710
00224710loc_224710:
00224710mov rax, [rsp+8]
00224715mov rdi, [rsp]
00224719mov rsi, rbx
0022471cadd rbx, 1
00224720add rax, r12
00224723add r12, 8
00224727mov rdx, [rax]
0022472acall fn_223d70
0022472fcmp rbx, r15
00224732jne 0x224710
00224734jmp 0x2246d3
00224736
00224736 66 2e 0f 1f 84 00 00 00 00 00 f.........
00224740
00224740loc_224740:
00224740call fn_223e20
00224745cmp [rip+0x154314], 2
0022474cmov rdi, [rsp]
00224750jne 0x22468e
00224756call fn_223e20
0022475bcmp rbx, r12
0022475ejae 0x224693
00224764jmp 0x224708
00224766
00224766loc_224766:
00224766call fn_f4590
002245d0
002245d0fn_2245d0:
002245d0push r15
002245d2push r14
002245d4push r13
002245d6push r12
002245d8push rbp
002245d9push rbx
002245dasub rsp, 184
002245e1movdqa x0, [rip+23271]
002245e9mov [rsp+8], rdi
002245eemovq x1, rsp
002245f3mov [rsp], rdx
002245f7mov rax, [0x28]
00224600mov [rsp+168], rax
00224608mov rax, [rip+0x519d9]
0022460fmov r13, [rax]
00224613lea rax, [rsp+8]
00224618movups [rsp+40], x0
0022461dmov [rsp+24], 1
00224626movq x0, rax
0022462blea rax, [rsp+32]
00224630mov [rsp+96], rax
00224635lea rax, [rsp+96]
0022463amov r14, [r13+160]
00224641punpcklqdq x0, x1
00224645mov [r13+160], rax
0022464cmov eax, 1
00224651movups [rsp+56], x0
00224656movq x0, rax
0022465blea rax, [rsp+24]
00224660punpcklqdq x0, x0
00224664mov [rsp+32], r14
00224669mov [rsp+120], rax
0022466emovups [rsp+104], x0
00224673test r8, r8
00224676je 0x2246d3
00224678cmp [rip+0x1543e1], 2
0022467fmov r12, rsi
00224682mov rbx, rcx
00224685mov r15, r8
00224688je 0x224740
0022468e
0022468eloc_22468e:
0022468ecmp rbx, r12
00224691jb 0x224708
00224693
00224693loc_224693:
00224693mov rbp, r15
00224696sub rbp, 1
0022469ajs 0x2246d3
0022469clea r12, [r12+r15-1]
002246a1shl r12, 3
002246a5nop [rax+rax]
002246b0
002246b0loc_2246b0:
002246b0mov rax, [rsp+8]
002246b5mov rdi, [rsp]
002246b9lea rsi, [rbp+rbx]
002246beadd rax, r12
002246c1sub r12, 8
002246c5mov rdx, [rax]
002246c8call fn_223d70
002246cdsub rbp, 1
002246d1jns 0x2246b0
002246d3
002246d3loc_2246d3:
002246d3mov [r13+160], r14
002246damov rax, [rsp+168]
002246e2sub rax, [0x28]
002246ebjne 0x224766
002246edadd rsp, 184
002246f4mov eax, 1
002246f9pop rbx
002246fapop rbp
002246fbpop r12
002246fdpop r13
002246ffpop r14
00224701pop r15
00224703ret
00224704
00224704 0f 1f 40 00 ..@.
00224708
00224708loc_224708:
00224708shl r12, 3
0022470cadd r15, rbx
0022470fnop
00224710
00224710loc_224710:
00224710mov rax, [rsp+8]
00224715mov rdi, [rsp]
00224719mov rsi, rbx
0022471cadd rbx, 1
00224720add rax, r12
00224723add r12, 8
00224727mov rdx, [rax]
0022472acall fn_223d70
0022472fcmp rbx, r15
00224732jne 0x224710
00224734jmp 0x2246d3
00224736
00224736 66 2e 0f 1f 84 00 00 00 00 00 f.........
00224740
00224740loc_224740:
00224740call fn_223e20
00224745cmp [rip+0x154314], 2
0022474cmov rdi, [rsp]
00224750jne 0x22468e
00224756call fn_223e20
0022475bcmp rbx, r12
0022475ejae 0x224693
00224764jmp 0x224708
00224766
00224766loc_224766:
00224766call fn_f4590
002245d0
0022476b
0022476b // align 0x10
0022476b // align 0x10
00224770
00224770caml_alloc_ephe_info:
00224770sub rsp, 8
00224774mov edi, 48
00224779call caml_stat_alloc_noexc
0022477etest rax, rax
00224781je 0x224796
00224783pxor x0, x0
00224787movups [rax], x0
0022478amovups [rax+16], x0
0022478emovups [rax+32], x0
00224792add rsp, 8
00224796
00224796loc_224796:
00224796ret
00224797db 0x83
00224798db 0xc4
00224799or bl, al
00224770
00224770caml_alloc_ephe_info:
00224770sub rsp, 8
00224774mov edi, 48
00224779call caml_stat_alloc_noexc
0022477etest rax, rax
00224781je 0x224796
00224783pxor x0, x0
00224787movups [rax], x0
0022478amovups [rax+16], x0
0022478emovups [rax+32], x0
00224792add rsp, 8
00224796
00224796loc_224796:
00224796ret
00224797db 0x83
00224798db 0xc4
00224799or bl, al
00224770
0022479b
0022479b // align 0x10
0022479b // align 0x10
002247a0
002247a0caml_ephe_create:
002247a0push rbp
002247a1sar rdi, 1
002247a4push rbx
002247a5sub rsp, 8
002247a9mov rax, [rip+0x51834]
002247b0mov rbp, [rax]
002247b4mov rax, 0x3ffffffffffffd
002247becmp rax, rdi
002247c1jb 0x224823
002247c3lea rbx, [rdi+2]
002247c7mov esi, 251
002247ccmov rdi, rbx
002247cfcall caml_alloc_shr
002247d4mov edx, 1
002247d9mov rdi, rax
002247dcmov rax, [rbp+168]
002247e3lea rcx, [rdi+8]
002247e7mov rax, [rax+8]
002247ebmov [rdi], rax
002247eemov rax, [rbp+168]
002247f5mov [rax+8], rdi
002247f9nop [rax]
002247fcmov rsi, [rip+0x153c49]
00224803add rdx, 1
00224807add rcx, 8
0022480bmov [rcx-8], rsi
0022480fcmp rdx, rbx
00224812jb 0x224800
00224814add rsp, 8
00224818pop rbx
00224819pop rbp
0022481ajmp 0x21fee0
0022481flea rdi, [rip+44592]
00224826call caml_invalid_argument
0022482bdb 0xd1
0022482cand esi, edi
0022482edb 0xff
002247a0
002247a0caml_ephe_create:
002247a0push rbp
002247a1sar rdi, 1
002247a4push rbx
002247a5sub rsp, 8
002247a9mov rax, [rip+0x51834]
002247b0mov rbp, [rax]
002247b4mov rax, 0x3ffffffffffffd
002247becmp rax, rdi
002247c1jb 0x224823
002247c3lea rbx, [rdi+2]
002247c7mov esi, 251
002247ccmov rdi, rbx
002247cfcall caml_alloc_shr
002247d4mov edx, 1
002247d9mov rdi, rax
002247dcmov rax, [rbp+168]
002247e3lea rcx, [rdi+8]
002247e7mov rax, [rax+8]
002247ebmov [rdi], rax
002247eemov rax, [rbp+168]
002247f5mov [rax+8], rdi
002247f9nop [rax]
002247fcmov rsi, [rip+0x153c49]
00224803add rdx, 1
00224807add rcx, 8
0022480bmov [rcx-8], rsi
0022480fcmp rdx, rbx
00224812jb 0x224800
00224814add rsp, 8
00224818pop rbx
00224819pop rbp
0022481ajmp 0x21fee0
0022481flea rdi, [rip+44592]
00224826call caml_invalid_argument
0022482bdb 0xd1
0022482cand esi, edi
0022482edb 0xff
002247a0
0022482f
0022482f // align 0x10
0022482f // align 0x10
00224830
00224830caml_weak_create:
00224830jmp 0x2247a0
00224835db 0x67
00224836db 0xff
00224837db 0xff
00224838db 0xff
00224830
00224830caml_weak_create:
00224830jmp 0x2247a0
00224835db 0x67
00224836db 0xff
00224837db 0xff
00224838db 0xff
00224830
00224839
00224839 // align 0x10
00224839 // align 0x10
00224840
00224840caml_ephe_clean:
00224840cmp [rip+0x154215], 2
00224847je 0x224850
00224849ret
0022484adb 0x02
0022484bje 0x224850
0022484dret
0022484e
0022484e 66 90 f.
00224850
00224850loc_224850:
00224850jmp 0x223e20
00224840
00224840caml_ephe_clean:
00224840cmp [rip+0x154215], 2
00224847je 0x224850
00224849ret
0022484adb 0x02
0022484bje 0x224850
0022484dret
0022484e
0022484e 66 90 f.
00224850
00224850loc_224850:
00224850jmp 0x223e20
00224840
00224855
00224855 // align 0x10
00224855 // align 0x10
00224860
00224860caml_ephe_set_key:
00224860push r12
00224862sar rsi, 1
00224865push rbp
00224866push rbx
00224867sub rsp, 96
0022486bmov rcx, [0x28]
00224874mov [rsp+88], rcx
00224879lea rcx, [rsp+8]
0022487emovq x0, rsp
00224883movq x2, rcx
00224888punpcklqdq x0, x2
0022488ccmp rsi, -2
00224890jae 0x224927
00224896mov rax, [rdi-8]
0022489alea rbx, [rsi+2]
0022489eshr rax, 10
002248a2cmp rbx, rax
002248a5jae 0x224927
002248a7mov rax, [rip+0x51736]
002248aemov [rsp], rdi
002248b2mov rsi, rbx
002248b5mov [rsp+8], rdx
002248bamovdqa x1, [rip+22538]
002248c2mov rbp, [rax]
002248c6lea rax, [rsp+16]
002248cbmovups [rsp+40], x0
002248d0movups [rsp+24], x1
002248d5mov r12, [rbp+160]
002248dcmov [rbp+160], rax
002248e3mov [rsp+16], r12
002248e8call fn_224020
002248edmov rdx, [rsp+8]
002248f2mov rdi, [rsp]
002248f6mov rsi, rbx
002248f9call fn_223d70
002248femov [rbp+160], r12
00224905mov rax, [rsp+88]
0022490asub rax, [0x28]
00224913jne 0x224933
00224915add rsp, 96
00224919mov eax, 1
0022491epop rbx
0022491fpop rbp
00224920pop r12
00224922ret
00224923lea rdi, [rip+44344]
0022492acall caml_invalid_argument
0022492fcall fn_f4590
00224934db 0x58
00224935cld
00224936in al, dx
00224937db 0xff
00224860
00224860caml_ephe_set_key:
00224860push r12
00224862sar rsi, 1
00224865push rbp
00224866push rbx
00224867sub rsp, 96
0022486bmov rcx, [0x28]
00224874mov [rsp+88], rcx
00224879lea rcx, [rsp+8]
0022487emovq x0, rsp
00224883movq x2, rcx
00224888punpcklqdq x0, x2
0022488ccmp rsi, -2
00224890jae 0x224927
00224896mov rax, [rdi-8]
0022489alea rbx, [rsi+2]
0022489eshr rax, 10
002248a2cmp rbx, rax
002248a5jae 0x224927
002248a7mov rax, [rip+0x51736]
002248aemov [rsp], rdi
002248b2mov rsi, rbx
002248b5mov [rsp+8], rdx
002248bamovdqa x1, [rip+22538]
002248c2mov rbp, [rax]
002248c6lea rax, [rsp+16]
002248cbmovups [rsp+40], x0
002248d0movups [rsp+24], x1
002248d5mov r12, [rbp+160]
002248dcmov [rbp+160], rax
002248e3mov [rsp+16], r12
002248e8call fn_224020
002248edmov rdx, [rsp+8]
002248f2mov rdi, [rsp]
002248f6mov rsi, rbx
002248f9call fn_223d70
002248femov [rbp+160], r12
00224905mov rax, [rsp+88]
0022490asub rax, [0x28]
00224913jne 0x224933
00224915add rsp, 96
00224919mov eax, 1
0022491epop rbx
0022491fpop rbp
00224920pop r12
00224922ret
00224923lea rdi, [rip+44344]
0022492acall caml_invalid_argument
0022492fcall fn_f4590
00224934db 0x58
00224935cld
00224936in al, dx
00224937db 0xff
00224860
00224938
00224938 // align 0x10
00224938 // align 0x10
00224940
00224940caml_ephe_unset_key:
00224940mov rdx, [rip+0x153b05]
00224947jmp 0x224860
0022494cdb 0x10
0022494ddb 0xff
0022494edb 0xff
0022494fdb 0xff
00224940
00224940caml_ephe_unset_key:
00224940mov rdx, [rip+0x153b05]
00224947jmp 0x224860
0022494cdb 0x10
0022494ddb 0xff
0022494edb 0xff
0022494fdb 0xff
00224940
00224950
00224950caml_ephe_set_key_option:
00224950test dl, 1
00224953jne 0x224968
00224955mov rdx, [rdx]
00224958jmp 0x224860
0022495ddb 0xff
0022495edb 0xfe
0022495fdb 0xff
00224960db 0xff
00224961
00224961 0f 1f 80 00 00 00 00 .......
00224968
00224968loc_224968:
00224968mov rdx, [rip+0x153ae1]
0022496fjmp 0x224860
00224950
00224950caml_ephe_set_key_option:
00224950test dl, 1
00224953jne 0x224968
00224955mov rdx, [rdx]
00224958jmp 0x224860
0022495ddb 0xff
0022495edb 0xfe
0022495fdb 0xff
00224960db 0xff
00224961
00224961 0f 1f 80 00 00 00 00 .......
00224968
00224968loc_224968:
00224968mov rdx, [rip+0x153ae1]
0022496fjmp 0x224860
00224950
00224974
00224974 // align 0x10
00224974 // align 0x10
00224980
00224980caml_weak_set:
00224980test dl, 1
00224983jne 0x224998
00224985mov rdx, [rdx]
00224988jmp 0x224860
0022498ddb 0xcf
0022498edb 0xfe
0022498fdb 0xff
00224990db 0xff
00224991
00224991 0f 1f 80 00 00 00 00 .......
00224998
00224998loc_224998:
00224998mov rdx, [rip+0x153ab1]
0022499fjmp 0x224860
00224980
00224980caml_weak_set:
00224980test dl, 1
00224983jne 0x224998
00224985mov rdx, [rdx]
00224988jmp 0x224860
0022498ddb 0xcf
0022498edb 0xfe
0022498fdb 0xff
00224990db 0xff
00224991
00224991 0f 1f 80 00 00 00 00 .......
00224998
00224998loc_224998:
00224998mov rdx, [rip+0x153ab1]
0022499fjmp 0x224860
00224980
002249a4
002249a4 // align 0x10
002249a4 // align 0x10
002249b0
002249b0caml_ephe_set_data:
002249b0push rbp
002249b1mov rdx, rsi
002249b4push rbx
002249b5sub rsp, 104
002249b9movdqa x0, [rip+22283]
002249c1mov rax, [0x28]
002249camov [rsp+88], rax
002249cfxor eax, eax
002249d1mov rax, [rip+0x5160c]
002249d8mov [rsp], rdi
002249dcmov [rsp+8], rsi
002249e1cmp [rip+0x154074], 2
002249e8mov rbx, [rax]
002249eclea rax, [rsp+16]
002249f1movups [rsp+24], x0
002249f6movq x0, rsp
002249fbmov rbp, [rbx+160]
00224a02mov [rbx+160], rax
00224a09lea rax, [rsp+8]
00224a0emovq x1, rax
00224a13punpcklqdq x0, x1
00224a17mov [rsp+16], rbp
00224a1cmovups [rsp+40], x0
00224a21je 0x224a58
00224a23mov esi, 1
00224a28call fn_223d70
00224a2dmov [rbx+160], rbp
00224a34mov rax, [rsp+88]
00224a39sub rax, [0x28]
00224a42jne 0x224a68
00224a44add rsp, 104
00224a48mov eax, 1
00224a4dpop rbx
00224a4epop rbp
00224a4fret
00224a50db 0x00
00224a51pop rbx
00224a52pop rbp
00224a53ret
00224a54
00224a54 0f 1f 40 00 ..@.
00224a58
00224a58loc_224a58:
00224a58call fn_223e20
00224a5dmov rdx, [rsp+8]
00224a62mov rdi, [rsp]
00224a66jmp 0x224a27
00224a68
00224a68loc_224a68:
00224a68call fn_f4590
002249b0
002249b0caml_ephe_set_data:
002249b0push rbp
002249b1mov rdx, rsi
002249b4push rbx
002249b5sub rsp, 104
002249b9movdqa x0, [rip+22283]
002249c1mov rax, [0x28]
002249camov [rsp+88], rax
002249cfxor eax, eax
002249d1mov rax, [rip+0x5160c]
002249d8mov [rsp], rdi
002249dcmov [rsp+8], rsi
002249e1cmp [rip+0x154074], 2
002249e8mov rbx, [rax]
002249eclea rax, [rsp+16]
002249f1movups [rsp+24], x0
002249f6movq x0, rsp
002249fbmov rbp, [rbx+160]
00224a02mov [rbx+160], rax
00224a09lea rax, [rsp+8]
00224a0emovq x1, rax
00224a13punpcklqdq x0, x1
00224a17mov [rsp+16], rbp
00224a1cmovups [rsp+40], x0
00224a21je 0x224a58
00224a23mov esi, 1
00224a28call fn_223d70
00224a2dmov [rbx+160], rbp
00224a34mov rax, [rsp+88]
00224a39sub rax, [0x28]
00224a42jne 0x224a68
00224a44add rsp, 104
00224a48mov eax, 1
00224a4dpop rbx
00224a4epop rbp
00224a4fret
00224a50db 0x00
00224a51pop rbx
00224a52pop rbp
00224a53ret
00224a54
00224a54 0f 1f 40 00 ..@.
00224a58
00224a58loc_224a58:
00224a58call fn_223e20
00224a5dmov rdx, [rsp+8]
00224a62mov rdi, [rsp]
00224a66jmp 0x224a27
00224a68
00224a68loc_224a68:
00224a68call fn_f4590
002249b0
00224a6d
00224a6d // align 0x10
00224a6d // align 0x10
00224a70
00224a70caml_ephe_unset_data:
00224a70push rbp
00224a71push rbx
00224a72sub rsp, 104
00224a76mov rax, [rip+0x51567]
00224a7dmovdqa x0, [rip+22087]
00224a85mov rdx, [0x28]
00224a8emov [rsp+88], rdx
00224a93mov rdx, [rip+0x1539b2]
00224a9amov [rsp], rdi
00224a9ecmp [rip+0x153fb7], 2
00224aa5mov [rsp+8], rdx
00224aaamov rbx, [rax]
00224aaelea rax, [rsp+16]
00224ab3movups [rsp+24], x0
00224ab8movq x0, rsp
00224abdmov rbp, [rbx+160]
00224ac4mov [rbx+160], rax
00224acblea rax, [rsp+8]
00224ad0movq x1, rax
00224ad5punpcklqdq x0, x1
00224ad9mov [rsp+16], rbp
00224ademovups [rsp+40], x0
00224ae3je 0x224b20
00224ae5mov esi, 1
00224aeacall fn_223d70
00224aefmov [rbx+160], rbp
00224af6mov rax, [rsp+88]
00224afbsub rax, [0x28]
00224b04jne 0x224b30
00224b06add rsp, 104
00224b0amov eax, 1
00224b0fpop rbx
00224b10pop rbp
00224b11ret
00224b12db 0x00
00224b13pop rbx
00224b14pop rbp
00224b15ret
00224b16
00224b16 66 2e 0f 1f 84 00 00 00 00 00 f.........
00224b20
00224b20loc_224b20:
00224b20call fn_223e20
00224b25mov rdx, [rsp+8]
00224b2amov rdi, [rsp]
00224b2ejmp 0x224ae9
00224b30
00224b30loc_224b30:
00224b30call fn_f4590
00224a70
00224a70caml_ephe_unset_data:
00224a70push rbp
00224a71push rbx
00224a72sub rsp, 104
00224a76mov rax, [rip+0x51567]
00224a7dmovdqa x0, [rip+22087]
00224a85mov rdx, [0x28]
00224a8emov [rsp+88], rdx
00224a93mov rdx, [rip+0x1539b2]
00224a9amov [rsp], rdi
00224a9ecmp [rip+0x153fb7], 2
00224aa5mov [rsp+8], rdx
00224aaamov rbx, [rax]
00224aaelea rax, [rsp+16]
00224ab3movups [rsp+24], x0
00224ab8movq x0, rsp
00224abdmov rbp, [rbx+160]
00224ac4mov [rbx+160], rax
00224acblea rax, [rsp+8]
00224ad0movq x1, rax
00224ad5punpcklqdq x0, x1
00224ad9mov [rsp+16], rbp
00224ademovups [rsp+40], x0
00224ae3je 0x224b20
00224ae5mov esi, 1
00224aeacall fn_223d70
00224aefmov [rbx+160], rbp
00224af6mov rax, [rsp+88]
00224afbsub rax, [0x28]
00224b04jne 0x224b30
00224b06add rsp, 104
00224b0amov eax, 1
00224b0fpop rbx
00224b10pop rbp
00224b11ret
00224b12db 0x00
00224b13pop rbx
00224b14pop rbp
00224b15ret
00224b16
00224b16 66 2e 0f 1f 84 00 00 00 00 00 f.........
00224b20
00224b20loc_224b20:
00224b20call fn_223e20
00224b25mov rdx, [rsp+8]
00224b2amov rdi, [rsp]
00224b2ejmp 0x224ae9
00224b30
00224b30loc_224b30:
00224b30call fn_f4590
00224a70
00224b35
00224b35 // align 0x10
00224b35 // align 0x10
00224b40
00224b40caml_ephe_get_key:
00224b40sar rsi, 1
00224b43cmp rsi, -2
00224b47jae 0x224b66
00224b49mov rax, [rdi-8]
00224b4dlea rdx, [rsi+2]
00224b51shr rax, 10
00224b55cmp rdx, rax
00224b58jae 0x224b66
00224b5amov rsi, rdx
00224b5djmp 0x2240c0
00224b62push rax
00224b63lea rdi, [rip+43777]
00224b6acall caml_invalid_argument
00224b6fdb 0x8d
00224b70db 0x1e
00224b71db 0xfe
00224b72db 0xff
00224b40
00224b40caml_ephe_get_key:
00224b40sar rsi, 1
00224b43cmp rsi, -2
00224b47jae 0x224b66
00224b49mov rax, [rdi-8]
00224b4dlea rdx, [rsi+2]
00224b51shr rax, 10
00224b55cmp rdx, rax
00224b58jae 0x224b66
00224b5amov rsi, rdx
00224b5djmp 0x2240c0
00224b62push rax
00224b63lea rdi, [rip+43777]
00224b6acall caml_invalid_argument
00224b6fdb 0x8d
00224b70db 0x1e
00224b71db 0xfe
00224b72db 0xff
00224b40
00224b73
00224b73 // align 0x10
00224b73 // align 0x10
00224b80
00224b80caml_weak_get:
00224b80sar rsi, 1
00224b83cmp rsi, -2
00224b87jae 0x224ba6
00224b89mov rax, [rdi-8]
00224b8dlea rdx, [rsi+2]
00224b91shr rax, 10
00224b95cmp rdx, rax
00224b98jae 0x224ba6
00224b9amov rsi, rdx
00224b9djmp 0x2240c0
00224ba2push rax
00224ba3lea rdi, [rip+43713]
00224baacall caml_invalid_argument
00224bafdb 0x4d
00224bb0db 0x1e
00224bb1db 0xfe
00224bb2db 0xff
00224b80
00224b80caml_weak_get:
00224b80sar rsi, 1
00224b83cmp rsi, -2
00224b87jae 0x224ba6
00224b89mov rax, [rdi-8]
00224b8dlea rdx, [rsi+2]
00224b91shr rax, 10
00224b95cmp rdx, rax
00224b98jae 0x224ba6
00224b9amov rsi, rdx
00224b9djmp 0x2240c0
00224ba2push rax
00224ba3lea rdi, [rip+43713]
00224baacall caml_invalid_argument
00224bafdb 0x4d
00224bb0db 0x1e
00224bb1db 0xfe
00224bb2db 0xff
00224b80
00224bb3
00224bb3 // align 0x10
00224bb3 // align 0x10
00224bc0
00224bc0caml_ephe_get_key_copy:
00224bc0sar rsi, 1
00224bc3cmp rsi, -2
00224bc7jae 0x224be6
00224bc9mov rax, [rdi-8]
00224bcdlea rdx, [rsi+2]
00224bd1shr rax, 10
00224bd5cmp rdx, rax
00224bd8jae 0x224be6
00224bdamov rsi, rdx
00224bddjmp 0x224200
00224be2push rax
00224be3lea rdi, [rip+43649]
00224beacall caml_invalid_argument
00224befdb 0x0d
00224bf0db 0x1e
00224bf1db 0xfe
00224bf2db 0xff
00224bc0
00224bc0caml_ephe_get_key_copy:
00224bc0sar rsi, 1
00224bc3cmp rsi, -2
00224bc7jae 0x224be6
00224bc9mov rax, [rdi-8]
00224bcdlea rdx, [rsi+2]
00224bd1shr rax, 10
00224bd5cmp rdx, rax
00224bd8jae 0x224be6
00224bdamov rsi, rdx
00224bddjmp 0x224200
00224be2push rax
00224be3lea rdi, [rip+43649]
00224beacall caml_invalid_argument
00224befdb 0x0d
00224bf0db 0x1e
00224bf1db 0xfe
00224bf2db 0xff
00224bc0
00224bf3
00224bf3 // align 0x10
00224bf3 // align 0x10
00224c00
00224c00caml_weak_get_copy:
00224c00sar rsi, 1
00224c03cmp rsi, -2
00224c07jae 0x224c26
00224c09mov rax, [rdi-8]
00224c0dlea rdx, [rsi+2]
00224c11shr rax, 10
00224c15cmp rdx, rax
00224c18jae 0x224c26
00224c1amov rsi, rdx
00224c1djmp 0x224200
00224c22push rax
00224c23lea rdi, [rip+43585]
00224c2acall caml_invalid_argument
00224c2fdb 0xcd
00224c30db 0x1d
00224c31db 0xfe
00224c32db 0xff
00224c00
00224c00caml_weak_get_copy:
00224c00sar rsi, 1
00224c03cmp rsi, -2
00224c07jae 0x224c26
00224c09mov rax, [rdi-8]
00224c0dlea rdx, [rsi+2]
00224c11shr rax, 10
00224c15cmp rdx, rax
00224c18jae 0x224c26
00224c1amov rsi, rdx
00224c1djmp 0x224200
00224c22push rax
00224c23lea rdi, [rip+43585]
00224c2acall caml_invalid_argument
00224c2fdb 0xcd
00224c30db 0x1d
00224c31db 0xfe
00224c32db 0xff
00224c00
00224c33
00224c33 // align 0x10
00224c33 // align 0x10
00224c40
00224c40caml_ephe_get_data:
00224c40mov esi, 1
00224c45jmp 0x2240c0
00224c4adb 0x72
00224c4bhlt
00224c4cdb 0xff
00224c4ddb 0xff
00224c40
00224c40caml_ephe_get_data:
00224c40mov esi, 1
00224c45jmp 0x2240c0
00224c4adb 0x72
00224c4bhlt
00224c4cdb 0xff
00224c4ddb 0xff
00224c40
00224c4e
00224c4e // align 0x10
00224c4e // align 0x10
00224c50
00224c50caml_ephe_get_data_copy:
00224c50mov esi, 1
00224c55jmp 0x224200
00224c5adb 0xa2
00224c5bcmc
00224c5cdb 0xff
00224c5ddb 0xff
00224c50
00224c50caml_ephe_get_data_copy:
00224c50mov esi, 1
00224c55jmp 0x224200
00224c5adb 0xa2
00224c5bcmc
00224c5cdb 0xff
00224c5ddb 0xff
00224c50
00224c5e
00224c5e // align 0x10
00224c5e // align 0x10
00224c60
00224c60caml_ephe_check_key:
00224c60sar rsi, 1
00224c63cmp rsi, -2
00224c67jae 0x224c86
00224c69mov rax, [rdi-8]
00224c6dlea rdx, [rsi+2]
00224c71shr rax, 10
00224c75cmp rdx, rax
00224c78jae 0x224c86
00224c7amov rsi, rdx
00224c7djmp 0x2244f0
00224c82push rax
00224c83lea rdi, [rip+43498]
00224c8acall caml_invalid_argument
00224c8fdb 0x6d
00224c90db 0x1d
00224c91db 0xfe
00224c92db 0xff
00224c60
00224c60caml_ephe_check_key:
00224c60sar rsi, 1
00224c63cmp rsi, -2
00224c67jae 0x224c86
00224c69mov rax, [rdi-8]
00224c6dlea rdx, [rsi+2]
00224c71shr rax, 10
00224c75cmp rdx, rax
00224c78jae 0x224c86
00224c7amov rsi, rdx
00224c7djmp 0x2244f0
00224c82push rax
00224c83lea rdi, [rip+43498]
00224c8acall caml_invalid_argument
00224c8fdb 0x6d
00224c90db 0x1d
00224c91db 0xfe
00224c92db 0xff
00224c60
00224c93
00224c93 // align 0x10
00224c93 // align 0x10
00224ca0
00224ca0caml_weak_check:
00224ca0sar rsi, 1
00224ca3cmp rsi, -2
00224ca7jae 0x224cc6
00224ca9mov rax, [rdi-8]
00224cadlea rdx, [rsi+2]
00224cb1shr rax, 10
00224cb5cmp rdx, rax
00224cb8jae 0x224cc6
00224cbamov rsi, rdx
00224cbdjmp 0x2244f0
00224cc2push rax
00224cc3lea rdi, [rip+43434]
00224ccacall caml_invalid_argument
00224ccfdb 0x2d
00224cd0db 0x1d
00224cd1db 0xfe
00224cd2db 0xff
00224ca0
00224ca0caml_weak_check:
00224ca0sar rsi, 1
00224ca3cmp rsi, -2
00224ca7jae 0x224cc6
00224ca9mov rax, [rdi-8]
00224cadlea rdx, [rsi+2]
00224cb1shr rax, 10
00224cb5cmp rdx, rax
00224cb8jae 0x224cc6
00224cbamov rsi, rdx
00224cbdjmp 0x2244f0
00224cc2push rax
00224cc3lea rdi, [rip+43434]
00224ccacall caml_invalid_argument
00224ccfdb 0x2d
00224cd0db 0x1d
00224cd1db 0xfe
00224cd2db 0xff
00224ca0
00224cd3
00224cd3 // align 0x10
00224cd3 // align 0x10
00224ce0
00224ce0caml_ephe_check_data:
00224ce0push rbp
00224ce1push rbx
00224ce2sub rsp, 168
00224ce9mov rax, [0x28]
00224cf2mov [rsp+152], rax
00224cfaxor eax, eax
00224cfcmov rax, [rip+0x512e1]
00224d03mov [rsp], rdi
00224d07cmp [rip+0x153d4e], 2
00224d0emov rbx, [rax]
00224d12mov eax, 1
00224d17mov [rsp+40], rsp
00224d1cmov [rsp+8], 1
00224d25movq x0, rax
00224d2alea rax, [rsp+16]
00224d2fmov rbp, [rbx+160]
00224d36mov [rsp+80], rax
00224d3bpunpcklqdq x0, x0
00224d3flea rax, [rsp+80]
00224d44mov [rbx+160], rax
00224d4blea rax, [rsp+8]
00224d50mov [rsp+16], rbp
00224d55mov [rsp+104], rax
00224d5amovups [rsp+24], x0
00224d5fmovups [rsp+88], x0
00224d64je 0x224da8
00224d66mov rax, [rdi+8]
00224d6a
00224d6aloc_224d6a:
00224d6amov [rbx+160], rbp
00224d71cmp rax, [rip+0x1536d4]
00224d78setne al
00224d7bmovzx eax, al
00224d7elea rax, [rax+rax+1]
00224d83mov rdx, [rsp+152]
00224d8bsub rdx, [0x28]
00224d94jne 0x224db3
00224d96add rsp, 168
00224d9dpop rbx
00224d9epop rbp
00224d9fret
00224da0db 0x00
00224da1pop rbx
00224da2pop rbp
00224da3ret
00224da4
00224da4 0f 1f 40 00 ..@.
00224da8
00224da8loc_224da8:
00224da8call fn_223e20
00224dadmov rdi, [rsp]
00224db1jmp 0x224d6a
00224db3
00224db3loc_224db3:
00224db3call fn_f4590
00224ce0
00224ce0caml_ephe_check_data:
00224ce0push rbp
00224ce1push rbx
00224ce2sub rsp, 168
00224ce9mov rax, [0x28]
00224cf2mov [rsp+152], rax
00224cfaxor eax, eax
00224cfcmov rax, [rip+0x512e1]
00224d03mov [rsp], rdi
00224d07cmp [rip+0x153d4e], 2
00224d0emov rbx, [rax]
00224d12mov eax, 1
00224d17mov [rsp+40], rsp
00224d1cmov [rsp+8], 1
00224d25movq x0, rax
00224d2alea rax, [rsp+16]
00224d2fmov rbp, [rbx+160]
00224d36mov [rsp+80], rax
00224d3bpunpcklqdq x0, x0
00224d3flea rax, [rsp+80]
00224d44mov [rbx+160], rax
00224d4blea rax, [rsp+8]
00224d50mov [rsp+16], rbp
00224d55mov [rsp+104], rax
00224d5amovups [rsp+24], x0
00224d5fmovups [rsp+88], x0
00224d64je 0x224da8
00224d66mov rax, [rdi+8]
00224d6a
00224d6aloc_224d6a:
00224d6amov [rbx+160], rbp
00224d71cmp rax, [rip+0x1536d4]
00224d78setne al
00224d7bmovzx eax, al
00224d7elea rax, [rax+rax+1]
00224d83mov rdx, [rsp+152]
00224d8bsub rdx, [0x28]
00224d94jne 0x224db3
00224d96add rsp, 168
00224d9dpop rbx
00224d9epop rbp
00224d9fret
00224da0db 0x00
00224da1pop rbx
00224da2pop rbp
00224da3ret
00224da4
00224da4 0f 1f 40 00 ..@.
00224da8
00224da8loc_224da8:
00224da8call fn_223e20
00224dadmov rdi, [rsp]
00224db1jmp 0x224d6a
00224db3
00224db3loc_224db3:
00224db3call fn_f4590
00224ce0
00224db8
00224db8 // align 0x10
00224db8 // align 0x10
00224dc0
00224dc0caml_ephe_blit_key:
00224dc0sar rcx, 1
00224dc3sar rsi, 1
00224dc6add rcx, 2
00224dcasar r8, 1
00224dcdcmp rsi, -2
00224dd1jae 0x224e0b
00224dd3mov rax, [rdi-8]
00224dd7lea r9, [rsi+2]
00224ddblea rsi, [r9+r8]
00224ddfshr rax, 10
00224de3cmp rax, rsi
00224de6jb 0x224e0b
00224de8cmp rcx, 1
00224decjbe 0x224e0b
00224deemov rax, [rdx-8]
00224df2lea rsi, [rcx+r8]
00224df6shr rax, 10
00224dfacmp rax, rsi
00224dfdjb 0x224e0b
00224dffmov rsi, r9
00224e02jmp 0x2245d0
00224e07sub rsp, 8
00224e0b
00224e0bloc_224e0b:
00224e0blea rdi, [rip+43117]
00224e12call caml_invalid_argument
00224e17db 0xe5
00224e18sbb edi, esi
00224e1adb 0xff
00224dc0
00224dc0caml_ephe_blit_key:
00224dc0sar rcx, 1
00224dc3sar rsi, 1
00224dc6add rcx, 2
00224dcasar r8, 1
00224dcdcmp rsi, -2
00224dd1jae 0x224e0b
00224dd3mov rax, [rdi-8]
00224dd7lea r9, [rsi+2]
00224ddblea rsi, [r9+r8]
00224ddfshr rax, 10
00224de3cmp rax, rsi
00224de6jb 0x224e0b
00224de8cmp rcx, 1
00224decjbe 0x224e0b
00224deemov rax, [rdx-8]
00224df2lea rsi, [rcx+r8]
00224df6shr rax, 10
00224dfacmp rax, rsi
00224dfdjb 0x224e0b
00224dffmov rsi, r9
00224e02jmp 0x2245d0
00224e07sub rsp, 8
00224e0b
00224e0bloc_224e0b:
00224e0blea rdi, [rip+43117]
00224e12call caml_invalid_argument
00224e17db 0xe5
00224e18sbb edi, esi
00224e1adb 0xff
00224dc0
00224e1b
00224e1b // align 0x10
00224e1b // align 0x10
00224e20
00224e20caml_ephe_blit_data:
00224e20push rbx
00224e21mov rdx, rsi
00224e24mov rbx, rsi
00224e27mov r8l, 1
00224e2dmov ecx, 1
00224e32mov esi, 1
00224e37call fn_2245d0
00224e3cmov rsi, [rbx+8]
00224e40xor edx, edx
00224e42xor edi, edi
00224e44call caml_darken
00224e49mov eax, 1
00224e4epop rbx
00224e4fret
00224e50db 0x00
00224e51add [rbx-61], bl
00224e20
00224e20caml_ephe_blit_data:
00224e20push rbx
00224e21mov rdx, rsi
00224e24mov rbx, rsi
00224e27mov r8l, 1
00224e2dmov ecx, 1
00224e32mov esi, 1
00224e37call fn_2245d0
00224e3cmov rsi, [rbx+8]
00224e40xor edx, edx
00224e42xor edi, edi
00224e44call caml_darken
00224e49mov eax, 1
00224e4epop rbx
00224e4fret
00224e50db 0x00
00224e51add [rbx-61], bl
00224e20
00224e54
00224e54 // align 0x10
00224e54 // align 0x10
00224e60
00224e60caml_weak_blit:
00224e60jmp 0x224dc0
00224e65db 0x57
00224e66db 0xff
00224e67db 0xff
00224e68db 0xff
00224e60
00224e60caml_weak_blit:
00224e60jmp 0x224dc0
00224e65db 0x57
00224e66db 0xff
00224e67db 0xff
00224e68db 0xff
00224e60
00224e69
00224e69 // align 0x10
00224e69 // align 0x10
00224e70
00224e70fn_224e70:
00224e70push r14
00224e72push r13
00224e74push r12
00224e76push rbp
00224e77mov rbp, rdi
00224e7apush rbx
00224e7bsub rsp, 96
00224e7fmov rax, [rip+0x51162]
00224e86mov rbx, [0x28]
00224e8fmov [rsp+88], rbx
00224e94mov rbx, rsi
00224e97xor esi, esi
00224e99mov r12, [rax]
00224e9dlea rax, [rsp+16]
00224ea2mov [rsp+8], 1
00224eabmov r13, [r12+160]
00224eb3mov [r12+160], rax
00224ebbmov eax, 1
00224ec0movq x0, rax
00224ec5lea rax, [rsp+8]
00224ecapunpcklqdq x0, x0
00224ecemov rdi, rbx
00224ed1mov [rsp+16], r13
00224ed6mov [rsp+40], rax
00224edbmovups [rsp+24], x0
00224ee0call caml_alloc
00224ee5mov [rsp+8], rax
00224eeatest rbx, rbx
00224eedje 0x224f23
00224eefxor r14l, r14l
00224ef2xor edx, edx
00224ef4jmp 0x224f05
00224ef6
00224ef6 66 2e 0f 1f 84 00 00 00 00 00 f.........
00224f00
00224f00loc_224f00:
00224f00mov rax, [rsp+8]
00224f05
00224f05loc_224f05:
00224f05mov rsi, [rbp+8*rdx]
00224f0alea rdi, [rax+8*rdx]
00224f0eadd r14l, 1
00224f12or rsi, 1
00224f16call caml_modify
00224f1bmovsxd rdx, r14l
00224f1ecmp rdx, rbx
00224f21jb 0x224f00
00224f23
00224f23loc_224f23:
00224f23mov rdi, rbp
00224f26call caml_stat_free
00224f2bmov [r12+160], r13
00224f33mov rax, [rsp+8]
00224f38mov rdx, [rsp+88]
00224f3dsub rdx, [0x28]
00224f46jne 0x224f55
00224f48add rsp, 96
00224f4cpop rbx
00224f4dpop rbp
00224f4epop r12
00224f50pop r13
00224f52pop r14
00224f54ret
00224f55
00224f55loc_224f55:
00224f55call fn_f4590
00224e70
00224e70fn_224e70:
00224e70push r14
00224e72push r13
00224e74push r12
00224e76push rbp
00224e77mov rbp, rdi
00224e7apush rbx
00224e7bsub rsp, 96
00224e7fmov rax, [rip+0x51162]
00224e86mov rbx, [0x28]
00224e8fmov [rsp+88], rbx
00224e94mov rbx, rsi
00224e97xor esi, esi
00224e99mov r12, [rax]
00224e9dlea rax, [rsp+16]
00224ea2mov [rsp+8], 1
00224eabmov r13, [r12+160]
00224eb3mov [r12+160], rax
00224ebbmov eax, 1
00224ec0movq x0, rax
00224ec5lea rax, [rsp+8]
00224ecapunpcklqdq x0, x0
00224ecemov rdi, rbx
00224ed1mov [rsp+16], r13
00224ed6mov [rsp+40], rax
00224edbmovups [rsp+24], x0
00224ee0call caml_alloc
00224ee5mov [rsp+8], rax
00224eeatest rbx, rbx
00224eedje 0x224f23
00224eefxor r14l, r14l
00224ef2xor edx, edx
00224ef4jmp 0x224f05
00224ef6
00224ef6 66 2e 0f 1f 84 00 00 00 00 00 f.........
00224f00
00224f00loc_224f00:
00224f00mov rax, [rsp+8]
00224f05
00224f05loc_224f05:
00224f05mov rsi, [rbp+8*rdx]
00224f0alea rdi, [rax+8*rdx]
00224f0eadd r14l, 1
00224f12or rsi, 1
00224f16call caml_modify
00224f1bmovsxd rdx, r14l
00224f1ecmp rdx, rbx
00224f21jb 0x224f00
00224f23
00224f23loc_224f23:
00224f23mov rdi, rbp
00224f26call caml_stat_free
00224f2bmov [r12+160], r13
00224f33mov rax, [rsp+8]
00224f38mov rdx, [rsp+88]
00224f3dsub rdx, [0x28]
00224f46jne 0x224f55
00224f48add rsp, 96
00224f4cpop rbx
00224f4dpop rbp
00224f4epop r12
00224f50pop r13
00224f52pop r14
00224f54ret
00224f55
00224f55loc_224f55:
00224f55call fn_f4590
00224e70
00224f5a
00224f5a // align 0x10
00224f5a // align 0x10
00224f60
00224f60fn_224f60:
00224f60push r15
00224f62mov r15, rdx
00224f65push r14
00224f67push r13
00224f69push r12
00224f6bxor r12l, r12l
00224f6epush rbp
00224f6fpush rbx
00224f70mov rbx, rdi
00224f73sub rsp, 88
00224f77mov r14, [r8]
00224f7amov [rsp], rsi
00224f7emov [rsp+32], rcx
00224f83mov [rsp+40], r8
00224f88mov r13, [0x28]
00224f91mov [rsp+72], r13
00224f96mov r13, [rcx]
00224f99call caml_get_frame_descrs
00224f9elea rdx, [rsp+64]
00224fa3mov rdi, rbx
00224fa6mov rbp, rax
00224fa9lea rax, [rsp+56]
00224faemov [rsp+24], rdx
00224fb3mov rsi, rax
00224fb6mov [rsp+16], rax
00224fbbcall caml_get_stack_sp_pc
00224fc0cmp [rsp], 0
00224fc5je 0x225057
00224fcbnop [rax+rax]
00224fd0
00224fd0loc_224fd0:
00224fd0mov rsi, [rsp+64]
00224fd5jmp 0x22501b
00224fd7
00224fd7 66 0f 1f 84 00 00 00 00 00 f........
00224fe0
00224fe0loc_224fe0:
00224fe0movzx ecx, [rax+8]
00224fe4mov rax, [rsp+56]
00224fe9cmp cx, -1
00224fedjne 0x225090
00224ff3mov rcx, [rbx+16]
00224ff7lea rdx, [rax+32]
00224ffbmov [rsp+56], rdx
00225000cmp rdx, rcx
00225003je 0x2250c0
00225009mov rsi, [rax+32]
0022500dlea rdx, [rax+40]
00225011mov [rsp+56], rdx
00225016mov [rsp+64], rsi
0022501b
0022501bloc_22501b:
0022501bmov rdi, rbp
0022501ecall caml_find_frame_descr
00225023mov rdx, rax
00225026test rax, rax
00225029jne 0x224fe0
0022502bmov rcx, [rbx+16]
0022502f
0022502floc_22502f:
0022502fmov rbx, [rcx+24]
00225033test rbx, rbx
00225036je 0x225057
00225038mov rdx, [rsp+24]
0022503dmov rsi, [rsp+16]
00225042mov rdi, rbx
00225045call caml_get_stack_sp_pc
0022504a
0022504aloc_22504a:
0022504amov rax, [rsp]
0022504ecmp r12, rax
00225051jb 0x224fd0
00225057
00225057loc_225057:
00225057mov rax, [rsp+40]
0022505cmov [rax], r14
0022505fmov rax, [rsp+32]
00225064mov [rax], r13
00225067
00225067loc_225067:
00225067mov rax, [rsp+72]
0022506csub rax, [0x28]
00225075jne 0x225190
0022507badd rsp, 88
0022507fmov rax, r12
00225082pop rbx
00225083pop rbp
00225084pop r12
00225086pop r13
00225088pop r14
0022508apop r15
0022508cret
0022508d
0022508d 0f 1f 00 ...
00225090
00225090loc_225090:
00225090and ecx, 65532
00225096add rax, rcx
00225099mov [rsp+56], rax
0022509emov rax, [rax-8]
002250a2mov [rsp+64], rax
002250a7cmp r14, r12
002250aaje 0x225118
002250ac
002250acloc_2250ac:
002250actest r15, r15
002250afjns 0x2250d0
002250b1
002250b1loc_2250b1:
002250b1mov [r13+8*r12], rdx
002250b6add r12, 1
002250bajmp 0x22504a
002250bc
002250bc 0f 1f 40 00 ..@.
002250c0
002250c0loc_2250c0:
002250c0mov [rsp+64], 0
002250c9jmp 0x22502f
002250ce
002250ce 66 90 f.
002250d0
002250d0loc_2250d0:
002250d0movzx ecx, [rdx+8]
002250d4test cl, 1
002250d7je 0x225184
002250ddmovzx eax, [rdx+10]
002250e1and ecx, 2
002250e4lea rax, [rdx+2*rax+12]
002250e9je 0x225178
002250efmovzx ecx, [rax]
002250f2lea rax, [rax+rcx+4]
002250f7and rax, -4
002250fblea rax, [rax+4*r15]
002250ffmov ecx, [rax]
00225101test ecx, ecx
00225103je 0x225184
00225105
00225105loc_225105:
00225105lea rdx, [rax+rcx+2]
0022510amov r15, -1
00225111jmp 0x2250b1
00225113
00225113 0f 1f 44 00 00 ..D..
00225118
00225118loc_225118:
00225118test r14, r14
0022511bje 0x225168
0022511dmov rsi, r14
00225120add r14, r14
00225123shl rsi, 4
00225127
00225127loc_225127:
00225127mov rdi, r13
0022512amov [rsp+8], rdx
0022512fcall caml_stat_resize_noexc
00225134mov rdx, [rsp+8]
00225139test rax, rax
0022513cmov r13, rax
0022513fjne 0x2250ac
00225145mov rax, [rsp+32]
0022514axor r12l, r12l
0022514dmov [rax], 0
00225154mov rax, [rsp+40]
00225159mov [rax], 0
00225160jmp 0x225067
00225165
00225165 0f 1f 00 ...
00225168
00225168loc_225168:
00225168mov esi, 128
0022516dmov r14l, 16
00225173jmp 0x225127
00225175
00225175 0f 1f 00 ...
00225178
00225178loc_225178:
00225178add rax, 3
0022517cand rax, -4
00225180mov ecx, [rax]
00225182jmp 0x225105
00225184
00225184loc_225184:
00225184mov r15, -1
0022518bjmp 0x2250b1
00225190
00225190loc_225190:
00225190call fn_f4590
00224f60
00224f60fn_224f60:
00224f60push r15
00224f62mov r15, rdx
00224f65push r14
00224f67push r13
00224f69push r12
00224f6bxor r12l, r12l
00224f6epush rbp
00224f6fpush rbx
00224f70mov rbx, rdi
00224f73sub rsp, 88
00224f77mov r14, [r8]
00224f7amov [rsp], rsi
00224f7emov [rsp+32], rcx
00224f83mov [rsp+40], r8
00224f88mov r13, [0x28]
00224f91mov [rsp+72], r13
00224f96mov r13, [rcx]
00224f99call caml_get_frame_descrs
00224f9elea rdx, [rsp+64]
00224fa3mov rdi, rbx
00224fa6mov rbp, rax
00224fa9lea rax, [rsp+56]
00224faemov [rsp+24], rdx
00224fb3mov rsi, rax
00224fb6mov [rsp+16], rax
00224fbbcall caml_get_stack_sp_pc
00224fc0cmp [rsp], 0
00224fc5je 0x225057
00224fcbnop [rax+rax]
00224fd0
00224fd0loc_224fd0:
00224fd0mov rsi, [rsp+64]
00224fd5jmp 0x22501b
00224fd7
00224fd7 66 0f 1f 84 00 00 00 00 00 f........
00224fe0
00224fe0loc_224fe0:
00224fe0movzx ecx, [rax+8]
00224fe4mov rax, [rsp+56]
00224fe9cmp cx, -1
00224fedjne 0x225090
00224ff3mov rcx, [rbx+16]
00224ff7lea rdx, [rax+32]
00224ffbmov [rsp+56], rdx
00225000cmp rdx, rcx
00225003je 0x2250c0
00225009mov rsi, [rax+32]
0022500dlea rdx, [rax+40]
00225011mov [rsp+56], rdx
00225016mov [rsp+64], rsi
0022501b
0022501bloc_22501b:
0022501bmov rdi, rbp
0022501ecall caml_find_frame_descr
00225023mov rdx, rax
00225026test rax, rax
00225029jne 0x224fe0
0022502bmov rcx, [rbx+16]
0022502f
0022502floc_22502f:
0022502fmov rbx, [rcx+24]
00225033test rbx, rbx
00225036je 0x225057
00225038mov rdx, [rsp+24]
0022503dmov rsi, [rsp+16]
00225042mov rdi, rbx
00225045call caml_get_stack_sp_pc
0022504a
0022504aloc_22504a:
0022504amov rax, [rsp]
0022504ecmp r12, rax
00225051jb 0x224fd0
00225057
00225057loc_225057:
00225057mov rax, [rsp+40]
0022505cmov [rax], r14
0022505fmov rax, [rsp+32]
00225064mov [rax], r13
00225067
00225067loc_225067:
00225067mov rax, [rsp+72]
0022506csub rax, [0x28]
00225075jne 0x225190
0022507badd rsp, 88
0022507fmov rax, r12
00225082pop rbx
00225083pop rbp
00225084pop r12
00225086pop r13
00225088pop r14
0022508apop r15
0022508cret
0022508d
0022508d 0f 1f 00 ...
00225090
00225090loc_225090:
00225090and ecx, 65532
00225096add rax, rcx
00225099mov [rsp+56], rax
0022509emov rax, [rax-8]
002250a2mov [rsp+64], rax
002250a7cmp r14, r12
002250aaje 0x225118
002250ac
002250acloc_2250ac:
002250actest r15, r15
002250afjns 0x2250d0
002250b1
002250b1loc_2250b1:
002250b1mov [r13+8*r12], rdx
002250b6add r12, 1
002250bajmp 0x22504a
002250bc
002250bc 0f 1f 40 00 ..@.
002250c0
002250c0loc_2250c0:
002250c0mov [rsp+64], 0
002250c9jmp 0x22502f
002250ce
002250ce 66 90 f.
002250d0
002250d0loc_2250d0:
002250d0movzx ecx, [rdx+8]
002250d4test cl, 1
002250d7je 0x225184
002250ddmovzx eax, [rdx+10]
002250e1and ecx, 2
002250e4lea rax, [rdx+2*rax+12]
002250e9je 0x225178
002250efmovzx ecx, [rax]
002250f2lea rax, [rax+rcx+4]
002250f7and rax, -4
002250fblea rax, [rax+4*r15]
002250ffmov ecx, [rax]
00225101test ecx, ecx
00225103je 0x225184
00225105
00225105loc_225105:
00225105lea rdx, [rax+rcx+2]
0022510amov r15, -1
00225111jmp 0x2250b1
00225113
00225113 0f 1f 44 00 00 ..D..
00225118
00225118loc_225118:
00225118test r14, r14
0022511bje 0x225168
0022511dmov rsi, r14
00225120add r14, r14
00225123shl rsi, 4
00225127
00225127loc_225127:
00225127mov rdi, r13
0022512amov [rsp+8], rdx
0022512fcall caml_stat_resize_noexc
00225134mov rdx, [rsp+8]
00225139test rax, rax
0022513cmov r13, rax
0022513fjne 0x2250ac
00225145mov rax, [rsp+32]
0022514axor r12l, r12l
0022514dmov [rax], 0
00225154mov rax, [rsp+40]
00225159mov [rax], 0
00225160jmp 0x225067
00225165
00225165 0f 1f 00 ...
00225168
00225168loc_225168:
00225168mov esi, 128
0022516dmov r14l, 16
00225173jmp 0x225127
00225175
00225175 0f 1f 00 ...
00225178
00225178loc_225178:
00225178add rax, 3
0022517cand rax, -4
00225180mov ecx, [rax]
00225182jmp 0x225105
00225184
00225184loc_225184:
00225184mov r15, -1
0022518bjmp 0x2250b1
00225190
00225190loc_225190:
00225190call fn_f4590
00224f60
00225195
00225195 // align 0x10
00225195 // align 0x10
002251a0
002251a0caml_next_frame_descriptor:
002251a0push r13
002251a2mov r13, rdx
002251a5push r12
002251a7mov r12, rcx
002251aapush rbp
002251abmov rbp, rdi
002251aepush rbx
002251afmov rbx, rsi
002251b2sub rsp, 8
002251b6mov rsi, [rsi]
002251b9jmp 0x2251ec
002251bbdb 0x8b
002251bcjmp 0x2251ec
002251bf
002251bf 90 .
002251c0
002251c0loc_2251c0:
002251c0movzx ecx, [rax+8]
002251c4mov rdx, [r13]
002251c8cmp cx, -1
002251ccjne 0x225210
002251celea rax, [rdx+32]
002251d2mov [r13], rax
002251d6cmp rax, [r12+16]
002251dbje 0x225230
002251ddlea rax, [rdx+40]
002251e1mov [r13], rax
002251e5mov rsi, [rdx+32]
002251e9mov [rbx], rsi
002251ec
002251ecloc_2251ec:
002251ecmov rdi, rbp
002251efcall caml_find_frame_descr
002251f4test rax, rax
002251f7jne 0x2251c0
002251f9
002251f9loc_2251f9:
002251f9add rsp, 8
002251fdxor eax, eax
002251ffpop rbx
00225200pop rbp
00225201pop r12
00225203pop r13
00225205ret
00225206
00225206 66 2e 0f 1f 84 00 00 00 00 00 f.........
00225210
00225210loc_225210:
00225210and ecx, 65532
00225216add rdx, rcx
00225219mov [r13], rdx
0022521dmov rdx, [rdx-8]
00225221mov [rbx], rdx
00225224add rsp, 8
00225228pop rbx
00225229pop rbp
0022522apop r12
0022522cpop r13
0022522eret
0022522f
0022522f 90 .
00225230
00225230loc_225230:
00225230mov [rbx], 0
00225237jmp 0x2251f9
002251a0
002251a0caml_next_frame_descriptor:
002251a0push r13
002251a2mov r13, rdx
002251a5push r12
002251a7mov r12, rcx
002251aapush rbp
002251abmov rbp, rdi
002251aepush rbx
002251afmov rbx, rsi
002251b2sub rsp, 8
002251b6mov rsi, [rsi]
002251b9jmp 0x2251ec
002251bbdb 0x8b
002251bcjmp 0x2251ec
002251bf
002251bf 90 .
002251c0
002251c0loc_2251c0:
002251c0movzx ecx, [rax+8]
002251c4mov rdx, [r13]
002251c8cmp cx, -1
002251ccjne 0x225210
002251celea rax, [rdx+32]
002251d2mov [r13], rax
002251d6cmp rax, [r12+16]
002251dbje 0x225230
002251ddlea rax, [rdx+40]
002251e1mov [r13], rax
002251e5mov rsi, [rdx+32]
002251e9mov [rbx], rsi
002251ec
002251ecloc_2251ec:
002251ecmov rdi, rbp
002251efcall caml_find_frame_descr
002251f4test rax, rax
002251f7jne 0x2251c0
002251f9
002251f9loc_2251f9:
002251f9add rsp, 8
002251fdxor eax, eax
002251ffpop rbx
00225200pop rbp
00225201pop r12
00225203pop r13
00225205ret
00225206
00225206 66 2e 0f 1f 84 00 00 00 00 00 f.........
00225210
00225210loc_225210:
00225210and ecx, 65532
00225216add rdx, rcx
00225219mov [r13], rdx
0022521dmov rdx, [rdx-8]
00225221mov [rbx], rdx
00225224add rsp, 8
00225228pop rbx
00225229pop rbp
0022522apop r12
0022522cpop r13
0022522eret
0022522f
0022522f 90 .
00225230
00225230loc_225230:
00225230mov [rbx], 0
00225237jmp 0x2251f9
002251a0
00225239
00225239 // align 0x10
00225239 // align 0x10
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
Loading..