File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
Loading..
00220fc0
00220fc0caml_string_is_c_safe:
00220fc0push rbx
00220fc1mov rbx, rdi
00220fc4call fn_f43a0
00220fc9mov rcx, rax
00220fccmov rax, [rbx-8]
00220fd0shr rax, 10
00220fd4shl rax, 3
00220fd8movsx rsi, [rbx+rax-1]
00220fdelea rdx, [rax-1]
00220fe2pop rbx
00220fe3mov rax, rdx
00220fe6sub rax, rsi
00220fe9cmp rax, rcx
00220fecsete al
00220fefmovzx eax, al
00220ff2ret
00220ff3db 0x0f
00220ff4mov dh, 192
00220ff6ret
00220fc0
00220fc0caml_string_is_c_safe:
00220fc0push rbx
00220fc1mov rbx, rdi
00220fc4call fn_f43a0
00220fc9mov rcx, rax
00220fccmov rax, [rbx-8]
00220fd0shr rax, 10
00220fd4shl rax, 3
00220fd8movsx rsi, [rbx+rax-1]
00220fdelea rdx, [rax-1]
00220fe2pop rbx
00220fe3mov rax, rdx
00220fe6sub rax, rsi
00220fe9cmp rax, rcx
00220fecsete al
00220fefmovzx eax, al
00220ff2ret
00220ff3db 0x0f
00220ff4mov dh, 192
00220ff6ret
00220fc0
00220ff7
00220ff7 // align 0x10
00220ff7 // align 0x10
00221000
00221000caml_create_string:
00221000mov rax, 0x1fffffffffffff7
0022100asar rdi, 1
0022100dcmp rax, rdi
00221010jb 0x22101b
00221012jmp 0x1f8ac0
00221017push rax
00221018lea rdi, [rip+58558]
0022101fcall caml_invalid_argument
00221024db 0xd8
00221025pop rcx
00221026db 0xfe
00221027db 0xff
00221000
00221000caml_create_string:
00221000mov rax, 0x1fffffffffffff7
0022100asar rdi, 1
0022100dcmp rax, rdi
00221010jb 0x22101b
00221012jmp 0x1f8ac0
00221017push rax
00221018lea rdi, [rip+58558]
0022101fcall caml_invalid_argument
00221024db 0xd8
00221025pop rcx
00221026db 0xfe
00221027db 0xff
00221000
00221028
00221028 // align 0x10
00221028 // align 0x10
00221030
00221030caml_create_bytes:
00221030mov rax, 0x1fffffffffffff7
0022103asar rdi, 1
0022103dcmp rax, rdi
00221040jb 0x22104b
00221042jmp 0x1f8ac0
00221047push rax
00221048lea rdi, [rip+58524]
0022104fcall caml_invalid_argument
00221054db 0xa8
00221055pop rcx
00221056db 0xfe
00221057db 0xff
00221030
00221030caml_create_bytes:
00221030mov rax, 0x1fffffffffffff7
0022103asar rdi, 1
0022103dcmp rax, rdi
00221040jb 0x22104b
00221042jmp 0x1f8ac0
00221047push rax
00221048lea rdi, [rip+58524]
0022104fcall caml_invalid_argument
00221054db 0xa8
00221055pop rcx
00221056db 0xfe
00221057db 0xff
00221030
00221058
00221058 // align 0x10
00221058 // align 0x10
00221060
00221060caml_string_get:
00221060sar rsi, 1
00221063js 0x221094
00221065mov rax, [rdi-8]
00221069shr rax, 10
0022106dshl rax, 3
00221071movsx rcx, [rdi+rax-1]
00221077lea rdx, [rax-1]
0022107bmov rax, rdx
0022107esub rax, rcx
00221081cmp rsi, rax
00221084jae 0x221094
00221086movzx eax, [rsi+rdi]
0022108alea rax, [rax+rax+1]
0022108fret
00221090push rax
00221091call caml_array_bound_error
00221096db 0x66
00221097pop rdx
00221098db 0xfe
00221099db 0xff
00221060
00221060caml_string_get:
00221060sar rsi, 1
00221063js 0x221094
00221065mov rax, [rdi-8]
00221069shr rax, 10
0022106dshl rax, 3
00221071movsx rcx, [rdi+rax-1]
00221077lea rdx, [rax-1]
0022107bmov rax, rdx
0022107esub rax, rcx
00221081cmp rsi, rax
00221084jae 0x221094
00221086movzx eax, [rsi+rdi]
0022108alea rax, [rax+rax+1]
0022108fret
00221090push rax
00221091call caml_array_bound_error
00221096db 0x66
00221097pop rdx
00221098db 0xfe
00221099db 0xff
00221060
0022109a
0022109a // align 0x10
0022109a // align 0x10
002210a0
002210a0caml_bytes_get:
002210a0sar rsi, 1
002210a3js 0x2210d4
002210a5mov rax, [rdi-8]
002210a9shr rax, 10
002210adshl rax, 3
002210b1movsx rcx, [rdi+rax-1]
002210b7lea rdx, [rax-1]
002210bbmov rax, rdx
002210besub rax, rcx
002210c1cmp rsi, rax
002210c4jae 0x2210d4
002210c6movzx eax, [rsi+rdi]
002210calea rax, [rax+rax+1]
002210cfret
002210d0push rax
002210d1call caml_array_bound_error
002210d6db 0x26
002210d7pop rdx
002210d8db 0xfe
002210d9db 0xff
002210a0
002210a0caml_bytes_get:
002210a0sar rsi, 1
002210a3js 0x2210d4
002210a5mov rax, [rdi-8]
002210a9shr rax, 10
002210adshl rax, 3
002210b1movsx rcx, [rdi+rax-1]
002210b7lea rdx, [rax-1]
002210bbmov rax, rdx
002210besub rax, rcx
002210c1cmp rsi, rax
002210c4jae 0x2210d4
002210c6movzx eax, [rsi+rdi]
002210calea rax, [rax+rax+1]
002210cfret
002210d0push rax
002210d1call caml_array_bound_error
002210d6db 0x26
002210d7pop rdx
002210d8db 0xfe
002210d9db 0xff
002210a0
002210da
002210da // align 0x10
002210da // align 0x10
002210e0
002210e0caml_bytes_set:
002210e0sar rsi, 1
002210e3js 0x221116
002210e5mov rax, [rdi-8]
002210e9shr rax, 10
002210edshl rax, 3
002210f1movsx r8, [rdi+rax-1]
002210f7lea rcx, [rax-1]
002210fbmov rax, rcx
002210fesub rax, r8
00221101cmp rsi, rax
00221104jae 0x221116
00221106sar rdx, 1
00221109mov eax, 1
0022110emov [rsi+rdi], dl
00221111ret
00221112push rax
00221113call caml_array_bound_error
00221118db 0xe4
00221119pop rcx
0022111adb 0xfe
0022111bdb 0xff
002210e0
002210e0caml_bytes_set:
002210e0sar rsi, 1
002210e3js 0x221116
002210e5mov rax, [rdi-8]
002210e9shr rax, 10
002210edshl rax, 3
002210f1movsx r8, [rdi+rax-1]
002210f7lea rcx, [rax-1]
002210fbmov rax, rcx
002210fesub rax, r8
00221101cmp rsi, rax
00221104jae 0x221116
00221106sar rdx, 1
00221109mov eax, 1
0022110emov [rsi+rdi], dl
00221111ret
00221112push rax
00221113call caml_array_bound_error
00221118db 0xe4
00221119pop rcx
0022111adb 0xfe
0022111bdb 0xff
002210e0
0022111c
0022111c // align 0x10
0022111c // align 0x10
00221120
00221120caml_string_set:
00221120sar rsi, 1
00221123js 0x221156
00221125mov rax, [rdi-8]
00221129shr rax, 10
0022112dshl rax, 3
00221131movsx r8, [rdi+rax-1]
00221137lea rcx, [rax-1]
0022113bmov rax, rcx
0022113esub rax, r8
00221141cmp rsi, rax
00221144jae 0x221156
00221146sar rdx, 1
00221149mov eax, 1
0022114emov [rsi+rdi], dl
00221151ret
00221152push rax
00221153call caml_array_bound_error
00221158db 0xa4
00221159pop rcx
0022115adb 0xfe
0022115bdb 0xff
00221120
00221120caml_string_set:
00221120sar rsi, 1
00221123js 0x221156
00221125mov rax, [rdi-8]
00221129shr rax, 10
0022112dshl rax, 3
00221131movsx r8, [rdi+rax-1]
00221137lea rcx, [rax-1]
0022113bmov rax, rcx
0022113esub rax, r8
00221141cmp rsi, rax
00221144jae 0x221156
00221146sar rdx, 1
00221149mov eax, 1
0022114emov [rsi+rdi], dl
00221151ret
00221152push rax
00221153call caml_array_bound_error
00221158db 0xa4
00221159pop rcx
0022115adb 0xfe
0022115bdb 0xff
00221120
0022115c
0022115c // align 0x10
0022115c // align 0x10
00221160
00221160caml_string_get16:
00221160sar rsi, 1
00221163js 0x2211a5
00221165mov rax, [rdi-8]
00221169lea rcx, [rsi+1]
0022116dshr rax, 10
00221171shl rax, 3
00221175movsx r8, [rdi+rax-1]
0022117blea rdx, [rax-1]
0022117fmov rax, rdx
00221182sub rax, r8
00221185cmp rcx, rax
00221188jae 0x2211a5
0022118aadd rsi, rdi
0022118dmovzx eax, [rsi+1]
00221191movzx edx, [rsi]
00221194shl eax, 8
00221197or eax, edx
00221199cdqe
0022119blea rax, [rax+rax+1]
002211a0ret
002211a1push rax
002211a2call caml_array_bound_error
002211a7push rbp
002211a8pop rcx
002211a9db 0xfe
002211aadb 0xff
00221160
00221160caml_string_get16:
00221160sar rsi, 1
00221163js 0x2211a5
00221165mov rax, [rdi-8]
00221169lea rcx, [rsi+1]
0022116dshr rax, 10
00221171shl rax, 3
00221175movsx r8, [rdi+rax-1]
0022117blea rdx, [rax-1]
0022117fmov rax, rdx
00221182sub rax, r8
00221185cmp rcx, rax
00221188jae 0x2211a5
0022118aadd rsi, rdi
0022118dmovzx eax, [rsi+1]
00221191movzx edx, [rsi]
00221194shl eax, 8
00221197or eax, edx
00221199cdqe
0022119blea rax, [rax+rax+1]
002211a0ret
002211a1push rax
002211a2call caml_array_bound_error
002211a7push rbp
002211a8pop rcx
002211a9db 0xfe
002211aadb 0xff
00221160
002211ab
002211ab // align 0x10
002211ab // align 0x10
002211b0
002211b0caml_bytes_get16:
002211b0sar rsi, 1
002211b3js 0x2211f5
002211b5mov rax, [rdi-8]
002211b9lea rcx, [rsi+1]
002211bdshr rax, 10
002211c1shl rax, 3
002211c5movsx r8, [rdi+rax-1]
002211cblea rdx, [rax-1]
002211cfmov rax, rdx
002211d2sub rax, r8
002211d5cmp rcx, rax
002211d8jae 0x2211f5
002211daadd rsi, rdi
002211ddmovzx eax, [rsi+1]
002211e1movzx edx, [rsi]
002211e4shl eax, 8
002211e7or eax, edx
002211e9cdqe
002211eblea rax, [rax+rax+1]
002211f0ret
002211f1push rax
002211f2call caml_array_bound_error
002211f7db 0x05
002211f8pop rcx
002211f9db 0xfe
002211fadb 0xff
002211b0
002211b0caml_bytes_get16:
002211b0sar rsi, 1
002211b3js 0x2211f5
002211b5mov rax, [rdi-8]
002211b9lea rcx, [rsi+1]
002211bdshr rax, 10
002211c1shl rax, 3
002211c5movsx r8, [rdi+rax-1]
002211cblea rdx, [rax-1]
002211cfmov rax, rdx
002211d2sub rax, r8
002211d5cmp rcx, rax
002211d8jae 0x2211f5
002211daadd rsi, rdi
002211ddmovzx eax, [rsi+1]
002211e1movzx edx, [rsi]
002211e4shl eax, 8
002211e7or eax, edx
002211e9cdqe
002211eblea rax, [rax+rax+1]
002211f0ret
002211f1push rax
002211f2call caml_array_bound_error
002211f7db 0x05
002211f8pop rcx
002211f9db 0xfe
002211fadb 0xff
002211b0
002211fb
002211fb // align 0x10
002211fb // align 0x10
00221200
00221200caml_string_get32:
00221200sar rsi, 1
00221203js 0x221254
00221205mov rax, [rdi-8]
00221209lea rcx, [rsi+3]
0022120dshr rax, 10
00221211shl rax, 3
00221215movsx r8, [rdi+rax-1]
0022121blea rdx, [rax-1]
0022121fmov rax, rdx
00221222sub rax, r8
00221225cmp rcx, rax
00221228jae 0x221254
0022122aadd rsi, rdi
0022122dmovzx edi, [rsi+3]
00221231movzx eax, [rsi+2]
00221235shl edi, 24
00221238shl eax, 16
0022123bor edi, eax
0022123dmovzx eax, [rsi]
00221240or edi, eax
00221242movzx eax, [rsi+1]
00221246shl eax, 8
00221249or edi, eax
0022124bjmp 0x20d4a0
00221250push rax
00221251call caml_array_bound_error
00221256db 0xa6
00221257pop rax
00221258db 0xfe
00221259db 0xff
00221200
00221200caml_string_get32:
00221200sar rsi, 1
00221203js 0x221254
00221205mov rax, [rdi-8]
00221209lea rcx, [rsi+3]
0022120dshr rax, 10
00221211shl rax, 3
00221215movsx r8, [rdi+rax-1]
0022121blea rdx, [rax-1]
0022121fmov rax, rdx
00221222sub rax, r8
00221225cmp rcx, rax
00221228jae 0x221254
0022122aadd rsi, rdi
0022122dmovzx edi, [rsi+3]
00221231movzx eax, [rsi+2]
00221235shl edi, 24
00221238shl eax, 16
0022123bor edi, eax
0022123dmovzx eax, [rsi]
00221240or edi, eax
00221242movzx eax, [rsi+1]
00221246shl eax, 8
00221249or edi, eax
0022124bjmp 0x20d4a0
00221250push rax
00221251call caml_array_bound_error
00221256db 0xa6
00221257pop rax
00221258db 0xfe
00221259db 0xff
00221200
0022125a
0022125a // align 0x10
0022125a // align 0x10
00221260
00221260caml_bytes_get32:
00221260jmp 0x221200
00221265db 0x97
00221266db 0xff
00221267db 0xff
00221268db 0xff
00221260
00221260caml_bytes_get32:
00221260jmp 0x221200
00221265db 0x97
00221266db 0xff
00221267db 0xff
00221268db 0xff
00221260
00221269
00221269 // align 0x10
00221269 // align 0x10
00221270
00221270caml_string_get64:
00221270sar rsi, 1
00221273js 0x2212f6
00221275mov rax, [rdi-8]
00221279lea rcx, [rsi+7]
0022127dshr rax, 10
00221281shl rax, 3
00221285movsx r8, [rdi+rax-1]
0022128blea rdx, [rax-1]
0022128fmov rax, rdx
00221292sub rax, r8
00221295cmp rcx, rax
00221298jae 0x2212f6
0022129aadd rsi, rdi
0022129dmovzx edi, [rsi+7]
002212a1movzx eax, [rsi+6]
002212a5shl rdi, 56
002212a9shl rax, 48
002212ador rdi, rax
002212b0movzx eax, [rsi]
002212b3or rdi, rax
002212b6movzx eax, [rsi+5]
002212bashl rax, 40
002212beor rdi, rax
002212c1movzx eax, [rsi+4]
002212c5shl rax, 32
002212c9or rdi, rax
002212ccmovzx eax, [rsi+3]
002212d0shl rax, 24
002212d4or rdi, rax
002212d7movzx eax, [rsi+2]
002212dbshl rax, 16
002212dfor rdi, rax
002212e2movzx eax, [rsi+1]
002212e6shl rax, 8
002212eaor rdi, rax
002212edjmp 0x20d9d0
002212f2push rax
002212f3call caml_array_bound_error
002212f8db 0x04
002212f9pop rax
002212fadb 0xfe
002212fbdb 0xff
00221270
00221270caml_string_get64:
00221270sar rsi, 1
00221273js 0x2212f6
00221275mov rax, [rdi-8]
00221279lea rcx, [rsi+7]
0022127dshr rax, 10
00221281shl rax, 3
00221285movsx r8, [rdi+rax-1]
0022128blea rdx, [rax-1]
0022128fmov rax, rdx
00221292sub rax, r8
00221295cmp rcx, rax
00221298jae 0x2212f6
0022129aadd rsi, rdi
0022129dmovzx edi, [rsi+7]
002212a1movzx eax, [rsi+6]
002212a5shl rdi, 56
002212a9shl rax, 48
002212ador rdi, rax
002212b0movzx eax, [rsi]
002212b3or rdi, rax
002212b6movzx eax, [rsi+5]
002212bashl rax, 40
002212beor rdi, rax
002212c1movzx eax, [rsi+4]
002212c5shl rax, 32
002212c9or rdi, rax
002212ccmovzx eax, [rsi+3]
002212d0shl rax, 24
002212d4or rdi, rax
002212d7movzx eax, [rsi+2]
002212dbshl rax, 16
002212dfor rdi, rax
002212e2movzx eax, [rsi+1]
002212e6shl rax, 8
002212eaor rdi, rax
002212edjmp 0x20d9d0
002212f2push rax
002212f3call caml_array_bound_error
002212f8db 0x04
002212f9pop rax
002212fadb 0xfe
002212fbdb 0xff
00221270
002212fc
002212fc // align 0x10
002212fc // align 0x10
00221300
00221300caml_bytes_get64:
00221300jmp 0x221270
00221305db 0x67
00221306db 0xff
00221307db 0xff
00221308db 0xff
00221300
00221300caml_bytes_get64:
00221300jmp 0x221270
00221305db 0x67
00221306db 0xff
00221307db 0xff
00221308db 0xff
00221300
00221309
00221309 // align 0x10
00221309 // align 0x10
00221310
00221310caml_bytes_set16:
00221310sar rsi, 1
00221313js 0x221356
00221315mov rax, [rdi-8]
00221319lea r8, [rsi+1]
0022131dshr rax, 10
00221321shl rax, 3
00221325movsx r9, [rdi+rax-1]
0022132blea rcx, [rax-1]
0022132fmov rax, rcx
00221332sub rax, r9
00221335cmp r8, rax
00221338jae 0x221356
0022133amov rax, rdx
0022133dadd rsi, rdi
00221340sar rdx, 9
00221344sar rax, 1
00221347mov [rsi+1], dl
0022134amov [rsi], al
0022134cmov eax, 1
00221351ret
00221352push rax
00221353call caml_array_bound_error
00221358db 0xa4
00221359push rdi
0022135adb 0xfe
0022135bdb 0xff
00221310
00221310caml_bytes_set16:
00221310sar rsi, 1
00221313js 0x221356
00221315mov rax, [rdi-8]
00221319lea r8, [rsi+1]
0022131dshr rax, 10
00221321shl rax, 3
00221325movsx r9, [rdi+rax-1]
0022132blea rcx, [rax-1]
0022132fmov rax, rcx
00221332sub rax, r9
00221335cmp r8, rax
00221338jae 0x221356
0022133amov rax, rdx
0022133dadd rsi, rdi
00221340sar rdx, 9
00221344sar rax, 1
00221347mov [rsi+1], dl
0022134amov [rsi], al
0022134cmov eax, 1
00221351ret
00221352push rax
00221353call caml_array_bound_error
00221358db 0xa4
00221359push rdi
0022135adb 0xfe
0022135bdb 0xff
00221310
0022135c
0022135c // align 0x10
0022135c // align 0x10
00221360
00221360caml_bytes_set32:
00221360sar rsi, 1
00221363js 0x22139a
00221365mov rax, [rdi-8]
00221369lea r8, [rsi+3]
0022136dshr rax, 10
00221371shl rax, 3
00221375movsx r9, [rdi+rax-1]
0022137blea rcx, [rax-1]
0022137fmov rax, rcx
00221382sub rax, r9
00221385cmp r8, rax
00221388jae 0x22139a
0022138amov eax, [rdx+8]
0022138dmov [rsi+rdi], eax
00221390mov eax, 1
00221395ret
00221396push rax
00221397call caml_array_bound_error
0022139cdb 0x60
0022139dpush rdi
0022139edb 0xfe
0022139fdb 0xff
00221360
00221360caml_bytes_set32:
00221360sar rsi, 1
00221363js 0x22139a
00221365mov rax, [rdi-8]
00221369lea r8, [rsi+3]
0022136dshr rax, 10
00221371shl rax, 3
00221375movsx r9, [rdi+rax-1]
0022137blea rcx, [rax-1]
0022137fmov rax, rcx
00221382sub rax, r9
00221385cmp r8, rax
00221388jae 0x22139a
0022138amov eax, [rdx+8]
0022138dmov [rsi+rdi], eax
00221390mov eax, 1
00221395ret
00221396push rax
00221397call caml_array_bound_error
0022139cdb 0x60
0022139dpush rdi
0022139edb 0xfe
0022139fdb 0xff
00221360
002213a0
002213a0caml_bytes_set64:
002213a0sar rsi, 1
002213a3js 0x2213dc
002213a5mov rax, [rdi-8]
002213a9lea r8, [rsi+7]
002213adshr rax, 10
002213b1shl rax, 3
002213b5movsx r9, [rdi+rax-1]
002213bblea rcx, [rax-1]
002213bfmov rax, rcx
002213c2sub rax, r9
002213c5cmp r8, rax
002213c8jae 0x2213dc
002213camov rax, [rdx+8]
002213cemov [rsi+rdi], rax
002213d2mov eax, 1
002213d7ret
002213d8push rax
002213d9call caml_array_bound_error
002213dedb 0x1e
002213dfpush rdi
002213e0db 0xfe
002213e1db 0xff
002213a0
002213a0caml_bytes_set64:
002213a0sar rsi, 1
002213a3js 0x2213dc
002213a5mov rax, [rdi-8]
002213a9lea r8, [rsi+7]
002213adshr rax, 10
002213b1shl rax, 3
002213b5movsx r9, [rdi+rax-1]
002213bblea rcx, [rax-1]
002213bfmov rax, rcx
002213c2sub rax, r9
002213c5cmp r8, rax
002213c8jae 0x2213dc
002213camov rax, [rdx+8]
002213cemov [rsi+rdi], rax
002213d2mov eax, 1
002213d7ret
002213d8push rax
002213d9call caml_array_bound_error
002213dedb 0x1e
002213dfpush rdi
002213e0db 0xfe
002213e1db 0xff
002213a0
002213e2
002213e2 // align 0x20
002213e2 // align 0x20
00221400
00221400caml_string_equal:
00221400cmp rdi, rsi
00221403je 0x221460
00221405mov rax, [rdi-8]
00221409mov rdx, [rsi-8]
0022140dmov ecx, 1
00221412shr rax, 10
00221416shr rdx, 10
0022141acmp rax, rdx
0022141djne 0x221458
0022141ftest rax, rax
00221422je 0x221460
00221424sub rsi, rdi
00221427jmp 0x22144a
00221429db 0x29
0022142adb 0xfe
0022142bjmp 0x22144a
0022142d
0022142d 66 66 2e ff.
00221430 0f 1f 84 00 00 00 00 00 0f 1f 84 00 00 00 00 00 ................
00221440
00221440loc_221440:
00221440add rdi, 8
00221444sub rax, 1
00221448je 0x221460
0022144a
0022144aloc_22144a:
0022144amov rcx, [rdi+rsi]
0022144ecmp [rdi], rcx
00221451je 0x221440
00221453mov ecx, 1
00221458
00221458loc_221458:
00221458mov rax, rcx
0022145bret
0022145c
0022145c 0f 1f 40 00 ..@.
00221460
00221460loc_221460:
00221460mov ecx, 3
00221465mov rax, rcx
00221468ret
00221400
00221400caml_string_equal:
00221400cmp rdi, rsi
00221403je 0x221460
00221405mov rax, [rdi-8]
00221409mov rdx, [rsi-8]
0022140dmov ecx, 1
00221412shr rax, 10
00221416shr rdx, 10
0022141acmp rax, rdx
0022141djne 0x221458
0022141ftest rax, rax
00221422je 0x221460
00221424sub rsi, rdi
00221427jmp 0x22144a
00221429db 0x29
0022142adb 0xfe
0022142bjmp 0x22144a
0022142d
0022142d 66 66 2e ff.
00221430 0f 1f 84 00 00 00 00 00 0f 1f 84 00 00 00 00 00 ................
00221440
00221440loc_221440:
00221440add rdi, 8
00221444sub rax, 1
00221448je 0x221460
0022144a
0022144aloc_22144a:
0022144amov rcx, [rdi+rsi]
0022144ecmp [rdi], rcx
00221451je 0x221440
00221453mov ecx, 1
00221458
00221458loc_221458:
00221458mov rax, rcx
0022145bret
0022145c
0022145c 0f 1f 40 00 ..@.
00221460
00221460loc_221460:
00221460mov ecx, 3
00221465mov rax, rcx
00221468ret
00221400
00221469
00221469 // align 0x10
00221469 // align 0x10
00221470
00221470caml_bytes_equal:
00221470jmp 0x221400
00221475db 0x87
00221476db 0xff
00221477db 0xff
00221478db 0xff
00221470
00221470caml_bytes_equal:
00221470jmp 0x221400
00221475db 0x87
00221476db 0xff
00221477db 0xff
00221478db 0xff
00221470
00221479
00221479 // align 0x10
00221479 // align 0x10
00221480
00221480caml_string_notequal:
00221480call caml_string_equal
00221485mov rdx, rax
00221488mov eax, 4
0022148dsub rax, rdx
00221490ret
00221491db 0x48
00221492sub eax, edx
00221494ret
00221480
00221480caml_string_notequal:
00221480call caml_string_equal
00221485mov rdx, rax
00221488mov eax, 4
0022148dsub rax, rdx
00221490ret
00221491db 0x48
00221492sub eax, edx
00221494ret
00221480
00221495
00221495 // align 0x10
00221495 // align 0x10
002214a0
002214a0caml_bytes_notequal:
002214a0call caml_string_equal
002214a5mov rdx, rax
002214a8mov eax, 4
002214adsub rax, rdx
002214b0ret
002214b1db 0x48
002214b2sub eax, edx
002214b4ret
002214a0
002214a0caml_bytes_notequal:
002214a0call caml_string_equal
002214a5mov rdx, rax
002214a8mov eax, 4
002214adsub rax, rdx
002214b0ret
002214b1db 0x48
002214b2sub eax, edx
002214b4ret
002214a0
002214b5
002214b5 // align 0x10
002214b5 // align 0x10
002214c0
002214c0caml_string_compare:
002214c0cmp rdi, rsi
002214c3je 0x221538
002214c5push rbp
002214c6push rbx
002214c7sub rsp, 8
002214cbmov rax, [rdi-8]
002214cfshr rax, 10
002214d3shl rax, 3
002214d7lea rbp, [rax-1]
002214dbmovsx rax, [rdi+rax-1]
002214e1sub rbp, rax
002214e4mov rax, [rsi-8]
002214e8mov rdx, rbp
002214ebshr rax, 10
002214efshl rax, 3
002214f3lea rbx, [rax-1]
002214f7movsx rax, [rsi+rax-1]
002214fdsub rbx, rax
00221500cmp rbx, rbp
00221503cmovbe rdx, rbx
00221507call fn_f4600
0022150ctest eax, eax
0022150ejs 0x22153e
00221510mov eax, 3
00221515jg 0x22152a
00221517cmp rbp, rbx
0022151ajb 0x22153e
0022151ccmp rbx, rbp
0022151fjb 0x22152a
00221521mov eax, 1
00221526add rsp, 8
0022152a
0022152aloc_22152a:
0022152apop rbx
0022152bpop rbp
0022152cret
0022152ddb 0x08
0022152epop rbx
0022152fpop rbp
00221530ret
00221531
00221531 0f 1f 80 00 00 00 00 .......
00221538
00221538loc_221538:
00221538mov eax, 1
0022153dret
0022153e
0022153eloc_22153e:
0022153emov rax, -1
00221545jmp 0x22152a
002214c0
002214c0caml_string_compare:
002214c0cmp rdi, rsi
002214c3je 0x221538
002214c5push rbp
002214c6push rbx
002214c7sub rsp, 8
002214cbmov rax, [rdi-8]
002214cfshr rax, 10
002214d3shl rax, 3
002214d7lea rbp, [rax-1]
002214dbmovsx rax, [rdi+rax-1]
002214e1sub rbp, rax
002214e4mov rax, [rsi-8]
002214e8mov rdx, rbp
002214ebshr rax, 10
002214efshl rax, 3
002214f3lea rbx, [rax-1]
002214f7movsx rax, [rsi+rax-1]
002214fdsub rbx, rax
00221500cmp rbx, rbp
00221503cmovbe rdx, rbx
00221507call fn_f4600
0022150ctest eax, eax
0022150ejs 0x22153e
00221510mov eax, 3
00221515jg 0x22152a
00221517cmp rbp, rbx
0022151ajb 0x22153e
0022151ccmp rbx, rbp
0022151fjb 0x22152a
00221521mov eax, 1
00221526add rsp, 8
0022152a
0022152aloc_22152a:
0022152apop rbx
0022152bpop rbp
0022152cret
0022152ddb 0x08
0022152epop rbx
0022152fpop rbp
00221530ret
00221531
00221531 0f 1f 80 00 00 00 00 .......
00221538
00221538loc_221538:
00221538mov eax, 1
0022153dret
0022153e
0022153eloc_22153e:
0022153emov rax, -1
00221545jmp 0x22152a
002214c0
00221547
00221547 // align 0x10
00221547 // align 0x10
00221550
00221550caml_bytes_compare:
00221550jmp 0x2214c0
00221555db 0x67
00221556db 0xff
00221557db 0xff
00221558db 0xff
00221550
00221550caml_bytes_compare:
00221550jmp 0x2214c0
00221555db 0x67
00221556db 0xff
00221557db 0xff
00221558db 0xff
00221550
00221559
00221559 // align 0x10
00221559 // align 0x10
00221560
00221560caml_string_lessthan:
00221560sub rsp, 8
00221564call caml_string_compare
00221569test rax, rax
0022156csetle al
0022156fadd rsp, 8
00221573movzx eax, al
00221576lea rax, [rax+rax+1]
0022157bret
0022157cdb 0x44
0022157dadd [rcx], al
0022157fret
00221560
00221560caml_string_lessthan:
00221560sub rsp, 8
00221564call caml_string_compare
00221569test rax, rax
0022156csetle al
0022156fadd rsp, 8
00221573movzx eax, al
00221576lea rax, [rax+rax+1]
0022157bret
0022157cdb 0x44
0022157dadd [rcx], al
0022157fret
00221560
00221580
00221580caml_bytes_lessthan:
00221580sub rsp, 8
00221584call caml_string_compare
00221589test rax, rax
0022158csetle al
0022158fadd rsp, 8
00221593movzx eax, al
00221596lea rax, [rax+rax+1]
0022159bret
0022159cdb 0x44
0022159dadd [rcx], al
0022159fret
00221580
00221580caml_bytes_lessthan:
00221580sub rsp, 8
00221584call caml_string_compare
00221589test rax, rax
0022158csetle al
0022158fadd rsp, 8
00221593movzx eax, al
00221596lea rax, [rax+rax+1]
0022159bret
0022159cdb 0x44
0022159dadd [rcx], al
0022159fret
00221580
002215a0
002215a0caml_string_lessequal:
002215a0sub rsp, 8
002215a4call caml_string_compare
002215a9cmp rax, 1
002215adsetle al
002215b0add rsp, 8
002215b4movzx eax, al
002215b7lea rax, [rax+rax+1]
002215bcret
002215bddb 0x44
002215beadd [rcx], al
002215c0ret
002215a0
002215a0caml_string_lessequal:
002215a0sub rsp, 8
002215a4call caml_string_compare
002215a9cmp rax, 1
002215adsetle al
002215b0add rsp, 8
002215b4movzx eax, al
002215b7lea rax, [rax+rax+1]
002215bcret
002215bddb 0x44
002215beadd [rcx], al
002215c0ret
002215a0
002215c1
002215c1 // align 0x10
002215c1 // align 0x10
002215d0
002215d0caml_bytes_lessequal:
002215d0sub rsp, 8
002215d4call caml_string_compare
002215d9cmp rax, 1
002215ddsetle al
002215e0add rsp, 8
002215e4movzx eax, al
002215e7lea rax, [rax+rax+1]
002215ecret
002215eddb 0x44
002215eeadd [rcx], al
002215f0ret
002215d0
002215d0caml_bytes_lessequal:
002215d0sub rsp, 8
002215d4call caml_string_compare
002215d9cmp rax, 1
002215ddsetle al
002215e0add rsp, 8
002215e4movzx eax, al
002215e7lea rax, [rax+rax+1]
002215ecret
002215eddb 0x44
002215eeadd [rcx], al
002215f0ret
002215d0
002215f1
002215f1 // align 0x10
002215f1 // align 0x10
00221600
00221600caml_string_greaterthan:
00221600sub rsp, 8
00221604call caml_string_compare
00221609cmp rax, 1
0022160dsetg al
00221610add rsp, 8
00221614movzx eax, al
00221617lea rax, [rax+rax+1]
0022161cret
0022161ddb 0x44
0022161eadd [rcx], al
00221620ret
00221600
00221600caml_string_greaterthan:
00221600sub rsp, 8
00221604call caml_string_compare
00221609cmp rax, 1
0022160dsetg al
00221610add rsp, 8
00221614movzx eax, al
00221617lea rax, [rax+rax+1]
0022161cret
0022161ddb 0x44
0022161eadd [rcx], al
00221620ret
00221600
00221621
00221621 // align 0x10
00221621 // align 0x10
00221630
00221630caml_bytes_greaterthan:
00221630sub rsp, 8
00221634call caml_string_compare
00221639cmp rax, 1
0022163dsetg al
00221640add rsp, 8
00221644movzx eax, al
00221647lea rax, [rax+rax+1]
0022164cret
0022164ddb 0x44
0022164eadd [rcx], al
00221650ret
00221630
00221630caml_bytes_greaterthan:
00221630sub rsp, 8
00221634call caml_string_compare
00221639cmp rax, 1
0022163dsetg al
00221640add rsp, 8
00221644movzx eax, al
00221647lea rax, [rax+rax+1]
0022164cret
0022164ddb 0x44
0022164eadd [rcx], al
00221650ret
00221630
00221651
00221651 // align 0x10
00221651 // align 0x10
00221660
00221660caml_string_greaterequal:
00221660sub rsp, 8
00221664call caml_string_compare
00221669test rax, rax
0022166csetg al
0022166fadd rsp, 8
00221673movzx eax, al
00221676lea rax, [rax+rax+1]
0022167bret
0022167cdb 0x44
0022167dadd [rcx], al
0022167fret
00221660
00221660caml_string_greaterequal:
00221660sub rsp, 8
00221664call caml_string_compare
00221669test rax, rax
0022166csetg al
0022166fadd rsp, 8
00221673movzx eax, al
00221676lea rax, [rax+rax+1]
0022167bret
0022167cdb 0x44
0022167dadd [rcx], al
0022167fret
00221660
00221680
00221680caml_bytes_greaterequal:
00221680sub rsp, 8
00221684call caml_string_compare
00221689test rax, rax
0022168csetg al
0022168fadd rsp, 8
00221693movzx eax, al
00221696lea rax, [rax+rax+1]
0022169bret
0022169cdb 0x44
0022169dadd [rcx], al
0022169fret
00221680
00221680caml_bytes_greaterequal:
00221680sub rsp, 8
00221684call caml_string_compare
00221689test rax, rax
0022168csetg al
0022168fadd rsp, 8
00221693movzx eax, al
00221696lea rax, [rax+rax+1]
0022169bret
0022169cdb 0x44
0022169dadd [rcx], al
0022169fret
00221680
002216a0
002216a0caml_blit_bytes:
002216a0sar rcx, 1
002216a3mov rax, rdx
002216a6sar rsi, 1
002216a9mov rdx, r8
002216acsub rsp, 8
002216b0add rsi, rdi
002216b3sar rdx, 1
002216b6lea rdi, [rcx+rax]
002216bacall fn_f4520
002216bfmov eax, 1
002216c4add rsp, 8
002216c8ret
002216c9db 0x83
002216cadb 0xc4
002216cbor bl, al
002216a0
002216a0caml_blit_bytes:
002216a0sar rcx, 1
002216a3mov rax, rdx
002216a6sar rsi, 1
002216a9mov rdx, r8
002216acsub rsp, 8
002216b0add rsi, rdi
002216b3sar rdx, 1
002216b6lea rdi, [rcx+rax]
002216bacall fn_f4520
002216bfmov eax, 1
002216c4add rsp, 8
002216c8ret
002216c9db 0x83
002216cadb 0xc4
002216cbor bl, al
002216a0
002216cd
002216cd // align 0x10
002216cd // align 0x10
002216d0
002216d0caml_blit_string:
002216d0sar rcx, 1
002216d3mov rax, rdx
002216d6sar rsi, 1
002216d9mov rdx, r8
002216dcsub rsp, 8
002216e0add rsi, rdi
002216e3sar rdx, 1
002216e6lea rdi, [rcx+rax]
002216eacall fn_f4520
002216efmov eax, 1
002216f4add rsp, 8
002216f8ret
002216f9db 0x83
002216fadb 0xc4
002216fbor bl, al
002216d0
002216d0caml_blit_string:
002216d0sar rcx, 1
002216d3mov rax, rdx
002216d6sar rsi, 1
002216d9mov rdx, r8
002216dcsub rsp, 8
002216e0add rsi, rdi
002216e3sar rdx, 1
002216e6lea rdi, [rcx+rax]
002216eacall fn_f4520
002216efmov eax, 1
002216f4add rsp, 8
002216f8ret
002216f9db 0x83
002216fadb 0xc4
002216fbor bl, al
002216d0
002216fd
002216fd // align 0x10
002216fd // align 0x10
00221700
00221700caml_fill_bytes:
00221700sar rcx, 1
00221703sar rsi, 1
00221706sub rsp, 8
0022170aadd rdi, rsi
0022170dsar rdx, 1
00221710mov esi, ecx
00221712call fn_f40e0
00221717mov eax, 1
0022171cadd rsp, 8
00221720ret
00221721db 0x83
00221722db 0xc4
00221723or bl, al
00221700
00221700caml_fill_bytes:
00221700sar rcx, 1
00221703sar rsi, 1
00221706sub rsp, 8
0022170aadd rdi, rsi
0022170dsar rdx, 1
00221710mov esi, ecx
00221712call fn_f40e0
00221717mov eax, 1
0022171cadd rsp, 8
00221720ret
00221721db 0x83
00221722db 0xc4
00221723or bl, al
00221700
00221725
00221725 // align 0x10
00221725 // align 0x10
00221730
00221730caml_fill_string:
00221730sar rcx, 1
00221733sar rsi, 1
00221736sub rsp, 8
0022173aadd rdi, rsi
0022173dsar rdx, 1
00221740mov esi, ecx
00221742call fn_f40e0
00221747mov eax, 1
0022174cadd rsp, 8
00221750ret
00221751db 0x83
00221752db 0xc4
00221753or bl, al
00221730
00221730caml_fill_string:
00221730sar rcx, 1
00221733sar rsi, 1
00221736sub rsp, 8
0022173aadd rdi, rsi
0022173dsar rdx, 1
00221740mov esi, ecx
00221742call fn_f40e0
00221747mov eax, 1
0022174cadd rsp, 8
00221750ret
00221751db 0x83
00221752db 0xc4
00221753or bl, al
00221730
00221755
00221755 // align 0x10
00221755 // align 0x10
00221760
00221760caml_alloc_sprintf:
00221760push r14
00221762push r13
00221764push r12
00221766push rbp
00221767mov rbp, rdi
0022176apush rbx
0022176bsub rsp, 352
00221772mov [rsp+184], rsi
0022177amov [rsp+192], rdx
00221782mov [rsp+200], rcx
0022178amov [rsp+208], r8
00221792mov [rsp+216], r9
0022179atest al, al
0022179cje 0x2217e2
0022179emovaps [rsp+224], x0
002217a6movaps [rsp+240], x1
002217aemovaps [rsp+256], x2
002217b6movaps [rsp+272], x3
002217bemovaps [rsp+288], x4
002217c6movaps [rsp+304], x5
002217cemovaps [rsp+320], x6
002217d6movaps [rsp+336], x7
002217demov rax, [0x28]
002217e7mov [rsp+168], rax
002217efxor eax, eax
002217f1lea r12, [rsp+8]
002217f6lea r13, [rsp+32]
002217fbmov r8, rbp
002217femov r9, r12
00221801mov ecx, 128
00221806mov edx, 1
0022180bmov rdi, r13
0022180elea rax, [rsp+400]
00221816mov esi, 128
0022181bmov [rsp+8], 8
00221823mov [rsp+16], rax
00221828lea rax, [rsp+176]
00221830mov [rsp+12], 48
00221838mov [rsp+24], rax
0022183dcall fn_f4310
00221842mov ebx, eax
00221844test eax, eax
00221846js 0x221905
0022184cmovsxd r14, eax
0022184fcmp eax, 127
00221852jbe 0x2218f0
00221858mov rdi, rbp
0022185bcall caml_stat_strdup
00221860mov rdi, r14
00221863mov r13, rax
00221866call caml_alloc_string
0022186blea esi, [rbx+1]
0022186emov r9, r12
00221871mov r8, r13
00221874mov rbp, rax
00221877lea rax, [rsp+400]
0022187fmovsxd rsi, esi
00221882mov rcx, -1
00221889mov [rsp+16], rax
0022188emov rdi, rbp
00221891lea rax, [rsp+176]
00221899mov edx, 1
0022189emov [rsp+8], 8
002218a6mov [rsp+12], 48
002218aemov [rsp+24], rax
002218b3call fn_f4310
002218b8mov rdi, r13
002218bbcall caml_stat_free
002218c0mov rax, [rsp+168]
002218c8sub rax, [0x28]
002218d1jne 0x221900
002218d3add rsp, 352
002218damov rax, rbp
002218ddpop rbx
002218depop rbp
002218dfpop r12
002218e1pop r13
002218e3pop r14
002218e5ret
002218e6db 0x5d
002218e7pop r14
002218e9ret
002218ea
002218ea 66 0f 1f 44 00 00 f..D..
002218f0
002218f0loc_2218f0:
002218f0mov rsi, r13
002218f3mov rdi, r14
002218f6call caml_alloc_initialized_string
002218fbmov rbp, rax
002218fejmp 0x2218c4
00221900
00221900loc_221900:
00221900call fn_f4590
00221905
00221905loc_221905:
00221905call caml_raise_out_of_memory
00221760
00221760caml_alloc_sprintf:
00221760push r14
00221762push r13
00221764push r12
00221766push rbp
00221767mov rbp, rdi
0022176apush rbx
0022176bsub rsp, 352
00221772mov [rsp+184], rsi
0022177amov [rsp+192], rdx
00221782mov [rsp+200], rcx
0022178amov [rsp+208], r8
00221792mov [rsp+216], r9
0022179atest al, al
0022179cje 0x2217e2
0022179emovaps [rsp+224], x0
002217a6movaps [rsp+240], x1
002217aemovaps [rsp+256], x2
002217b6movaps [rsp+272], x3
002217bemovaps [rsp+288], x4
002217c6movaps [rsp+304], x5
002217cemovaps [rsp+320], x6
002217d6movaps [rsp+336], x7
002217demov rax, [0x28]
002217e7mov [rsp+168], rax
002217efxor eax, eax
002217f1lea r12, [rsp+8]
002217f6lea r13, [rsp+32]
002217fbmov r8, rbp
002217femov r9, r12
00221801mov ecx, 128
00221806mov edx, 1
0022180bmov rdi, r13
0022180elea rax, [rsp+400]
00221816mov esi, 128
0022181bmov [rsp+8], 8
00221823mov [rsp+16], rax
00221828lea rax, [rsp+176]
00221830mov [rsp+12], 48
00221838mov [rsp+24], rax
0022183dcall fn_f4310
00221842mov ebx, eax
00221844test eax, eax
00221846js 0x221905
0022184cmovsxd r14, eax
0022184fcmp eax, 127
00221852jbe 0x2218f0
00221858mov rdi, rbp
0022185bcall caml_stat_strdup
00221860mov rdi, r14
00221863mov r13, rax
00221866call caml_alloc_string
0022186blea esi, [rbx+1]
0022186emov r9, r12
00221871mov r8, r13
00221874mov rbp, rax
00221877lea rax, [rsp+400]
0022187fmovsxd rsi, esi
00221882mov rcx, -1
00221889mov [rsp+16], rax
0022188emov rdi, rbp
00221891lea rax, [rsp+176]
00221899mov edx, 1
0022189emov [rsp+8], 8
002218a6mov [rsp+12], 48
002218aemov [rsp+24], rax
002218b3call fn_f4310
002218b8mov rdi, r13
002218bbcall caml_stat_free
002218c0mov rax, [rsp+168]
002218c8sub rax, [0x28]
002218d1jne 0x221900
002218d3add rsp, 352
002218damov rax, rbp
002218ddpop rbx
002218depop rbp
002218dfpop r12
002218e1pop r13
002218e3pop r14
002218e5ret
002218e6db 0x5d
002218e7pop r14
002218e9ret
002218ea
002218ea 66 0f 1f 44 00 00 f..D..
002218f0
002218f0loc_2218f0:
002218f0mov rsi, r13
002218f3mov rdi, r14
002218f6call caml_alloc_initialized_string
002218fbmov rbp, rax
002218fejmp 0x2218c4
00221900
00221900loc_221900:
00221900call fn_f4590
00221905
00221905loc_221905:
00221905call caml_raise_out_of_memory
00221760
0022190a
0022190a // align 0x10
0022190a // align 0x10
00221910
00221910caml_string_of_bytes:
00221910mov rax, rdi
00221913ret
00221914db 0x48
00221915mov eax, edi
00221917ret
00221910
00221910caml_string_of_bytes:
00221910mov rax, rdi
00221913ret
00221914db 0x48
00221915mov eax, edi
00221917ret
00221910
00221918
00221918 // align 0x10
00221918 // align 0x10
00221920
00221920caml_bytes_of_string:
00221920mov rax, rdi
00221923ret
00221924db 0x48
00221925mov eax, edi
00221927ret
00221920
00221920caml_bytes_of_string:
00221920mov rax, rdi
00221923ret
00221924db 0x48
00221925mov eax, edi
00221927ret
00221920
00221928
00221928 // align 0x10
00221928 // align 0x10
00221930
00221930fn_221930:
00221930mov rdx, [rsi+8]
00221934xor eax, eax
00221936cmp [rdi+8], rdx
0022193aje 0x221945
0022193csbb eax, eax
0022193eor eax, 1
00221941ret
00221942db 0x83
00221943db 0xc8
00221944add ebx, eax
00221930
00221930fn_221930:
00221930mov rdx, [rsi+8]
00221934xor eax, eax
00221936cmp [rdi+8], rdx
0022193aje 0x221945
0022193csbb eax, eax
0022193eor eax, 1
00221941ret
00221942db 0x83
00221943db 0xc8
00221944add ebx, eax
00221930
00221946
00221946 // align 0x10
00221946 // align 0x10
00221950
00221950fn_221950:
00221950mov rax, [rdi+8]
00221954ret
00221955db 0x8b
00221956or r11b, r8b
00221950
00221950fn_221950:
00221950mov rax, [rdi+8]
00221954ret
00221955db 0x8b
00221956or r11b, r8b
00221950
00221959
00221959 // align 0x10
00221959 // align 0x10
00221960
00221960fn_221960:
00221960mov rdx, [rsi+8]
00221964xor eax, eax
00221966cmp [rdi+8], rdx
0022196aje 0x221975
0022196csbb eax, eax
0022196eor eax, 1
00221971ret
00221972db 0x83
00221973db 0xc8
00221974add ebx, eax
00221960
00221960fn_221960:
00221960mov rdx, [rsi+8]
00221964xor eax, eax
00221966cmp [rdi+8], rdx
0022196aje 0x221975
0022196csbb eax, eax
0022196eor eax, 1
00221971ret
00221972db 0x83
00221973db 0xc8
00221974add ebx, eax
00221960
00221976
00221976 // align 0x10
00221976 // align 0x10
00221980
00221980fn_221980:
00221980mov rax, [rdi+8]
00221984ret
00221985db 0x8b
00221986or r11b, r8b
00221980
00221980fn_221980:
00221980mov rax, [rdi+8]
00221984ret
00221985db 0x8b
00221986or r11b, r8b
00221980
00221989
00221989 // align 0x10
00221989 // align 0x10
00221990
00221990fn_221990:
00221990push r15
00221992mov edx, 1024
00221997push r14
00221999push r13
0022199bpush r12
0022199dpush rbp
0022199epush rbx
0022199fsub rsp, 1048
002219a6mov r14, [0x28]
002219afmov [rsp+1032], r14
002219b7mov r14, rsi
002219bamov rsi, rsp
002219bdcall caml_strerror
002219c2mov r12, rax
002219c5mov rdi, r14
002219c8call fn_f43a0
002219cdmov rdi, r12
002219d0mov rbx, rax
002219d3call fn_f43a0
002219d8movsxd r15, ebx
002219dblea edi, [rax+rbx+2]
002219dfmov r13, rax
002219e2movsxd rdi, edi
002219e5call caml_alloc_string
002219eamov rdx, r15
002219edmov rsi, r14
002219f0mov rdi, rax
002219f3mov rbp, rax
002219f6call fn_f47d0
002219fbmov eax, 8250
00221a00lea edi, [rbx+2]
00221a03movsxd rdx, r13l
00221a06mov [r15+rbp], ax
00221a0bmovsxd rdi, edi
00221a0emov rsi, r12
00221a11add rdi, rbp
00221a14call fn_f47d0
00221a19mov rdi, rbp
00221a1ccall caml_raise_sys_error
00221990
00221990fn_221990:
00221990push r15
00221992mov edx, 1024
00221997push r14
00221999push r13
0022199bpush r12
0022199dpush rbp
0022199epush rbx
0022199fsub rsp, 1048
002219a6mov r14, [0x28]
002219afmov [rsp+1032], r14
002219b7mov r14, rsi
002219bamov rsi, rsp
002219bdcall caml_strerror
002219c2mov r12, rax
002219c5mov rdi, r14
002219c8call fn_f43a0
002219cdmov rdi, r12
002219d0mov rbx, rax
002219d3call fn_f43a0
002219d8movsxd r15, ebx
002219dblea edi, [rax+rbx+2]
002219dfmov r13, rax
002219e2movsxd rdi, edi
002219e5call caml_alloc_string
002219eamov rdx, r15
002219edmov rsi, r14
002219f0mov rdi, rax
002219f3mov rbp, rax
002219f6call fn_f47d0
002219fbmov eax, 8250
00221a00lea edi, [rbx+2]
00221a03movsxd rdx, r13l
00221a06mov [r15+rbp], ax
00221a0bmovsxd rdi, edi
00221a0emov rsi, r12
00221a11add rdi, rbp
00221a14call fn_f47d0
00221a19mov rdi, rbp
00221a1ccall caml_raise_sys_error
00221990
00221a21
00221a21 // align 0x10
00221a21 // align 0x10
00221a30
00221a30fn_221a30:
00221a30push rbx
00221a31mov rbx, [rdi+8]
00221a35mov rdi, rbx
00221a38call fn_f4060
00221a3dmov rdi, rbx
00221a40pop rbx
00221a41jmp 0x216690
00221a46db 0x46
00221a47db 0x4c
00221a48db 0xff
00221a49db 0xff
00221a30
00221a30fn_221a30:
00221a30push rbx
00221a31mov rbx, [rdi+8]
00221a35mov rdi, rbx
00221a38call fn_f4060
00221a3dmov rdi, rbx
00221a40pop rbx
00221a41jmp 0x216690
00221a46db 0x46
00221a47db 0x4c
00221a48db 0xff
00221a49db 0xff
00221a30
00221a4a
00221a4a // align 0x10
00221a4a // align 0x10
00221a50
00221a50fn_221a50:
00221a50push rbx
00221a51mov rbx, [rdi+8]
00221a55mov rdi, rbx
00221a58call fn_f4750
00221a5dmov rdi, rbx
00221a60pop rbx
00221a61jmp 0x216690
00221a66db 0x26
00221a67db 0x4c
00221a68db 0xff
00221a69db 0xff
00221a50
00221a50fn_221a50:
00221a50push rbx
00221a51mov rbx, [rdi+8]
00221a55mov rdi, rbx
00221a58call fn_f4750
00221a5dmov rdi, rbx
00221a60pop rbx
00221a61jmp 0x216690
00221a66db 0x26
00221a67db 0x4c
00221a68db 0xff
00221a69db 0xff
00221a50
00221a6a
00221a6a // align 0x10
00221a6a // align 0x10
00221a70
00221a70caml_mutex_lock:
00221a70jmp 0xf4710
00221a75db 0x97
00221a76sub al, -19
00221a78db 0xff
00221a70
00221a70caml_mutex_lock:
00221a70jmp 0xf4710
00221a75db 0x97
00221a76sub al, -19
00221a78db 0xff
00221a70
00221a79
00221a79 // align 0x10
00221a79 // align 0x10
00221a80
00221a80caml_mutex_unlock:
00221a80jmp 0xf47c0
00221a85db 0x37
00221a86db 0x2d
00221a87in eax, dx
00221a88db 0xff
00221a80
00221a80caml_mutex_unlock:
00221a80jmp 0xf47c0
00221a85db 0x37
00221a86db 0x2d
00221a87in eax, dx
00221a88db 0xff
00221a80
00221a89
00221a89 // align 0x10
00221a89 // align 0x10
00221a90
00221a90caml_ml_mutex_new:
00221a90push r12
00221a92push rbp
00221a93push rbx
00221a94sub rsp, 16
00221a98mov rbp, [0x28]
00221aa1mov [rsp+8], rbp
00221aa6lea rbp, [rsp+4]
00221aabmov rdi, rbp
00221aaecall fn_f4410
00221ab3mov ebx, eax
00221ab5test eax, eax
00221ab7je 0x221ad0
00221ab9cmp ebx, 12
00221abcje 0x221afd
00221abelea rsi, [rip+55859]
00221ac5mov edi, ebx
00221ac7call fn_221990
00221accmov esi, 2
00221ad1mov rdi, rbp
00221ad4call fn_f45f0
00221ad9mov ebx, eax
00221adbtest eax, eax
00221addjne 0x221b10
00221adfmov edi, 40
00221ae4call caml_stat_alloc_noexc
00221ae9mov r12, rax
00221aectest rax, rax
00221aefjne 0x221b20
00221af1mov rdi, rbp
00221af4call fn_f40d0
00221af9call caml_raise_out_of_memory
00221afenop [rax+rax]
00221b04mov rdi, r12
00221b07call caml_stat_free
00221b0cmov rdi, rbp
00221b0fcall fn_f40d0
00221b14jmp 0x221abd
00221b16db 0xed
00221b17db 0xff
00221b18jmp 0x221abd
00221b1a
00221b1a 66 0f 1f 44 00 00 f..D..
00221b20
00221b20loc_221b20:
00221b20mov rsi, rbp
00221b23mov rdi, rax
00221b26call fn_f4300
00221b2bmov ebx, eax
00221b2dtest eax, eax
00221b2fjne 0x221b08
00221b31mov rdi, rbp
00221b34call fn_f40d0
00221b39mov ecx, 1
00221b3exor edx, edx
00221b40mov esi, 8
00221b45lea rdi, [rip+0x53e14]
00221b4ccall caml_alloc_custom
00221b51mov [rax+8], r12
00221b55mov rdx, [rsp+8]
00221b5asub rdx, [0x28]
00221b63jne 0x221b6e
00221b65add rsp, 16
00221b69pop rbx
00221b6apop rbp
00221b6bpop r12
00221b6dret
00221b6e
00221b6eloc_221b6e:
00221b6ecall fn_f4590
00221a90
00221a90caml_ml_mutex_new:
00221a90push r12
00221a92push rbp
00221a93push rbx
00221a94sub rsp, 16
00221a98mov rbp, [0x28]
00221aa1mov [rsp+8], rbp
00221aa6lea rbp, [rsp+4]
00221aabmov rdi, rbp
00221aaecall fn_f4410
00221ab3mov ebx, eax
00221ab5test eax, eax
00221ab7je 0x221ad0
00221ab9cmp ebx, 12
00221abcje 0x221afd
00221abelea rsi, [rip+55859]
00221ac5mov edi, ebx
00221ac7call fn_221990
00221accmov esi, 2
00221ad1mov rdi, rbp
00221ad4call fn_f45f0
00221ad9mov ebx, eax
00221adbtest eax, eax
00221addjne 0x221b10
00221adfmov edi, 40
00221ae4call caml_stat_alloc_noexc
00221ae9mov r12, rax
00221aectest rax, rax
00221aefjne 0x221b20
00221af1mov rdi, rbp
00221af4call fn_f40d0
00221af9call caml_raise_out_of_memory
00221afenop [rax+rax]
00221b04mov rdi, r12
00221b07call caml_stat_free
00221b0cmov rdi, rbp
00221b0fcall fn_f40d0
00221b14jmp 0x221abd
00221b16db 0xed
00221b17db 0xff
00221b18jmp 0x221abd
00221b1a
00221b1a 66 0f 1f 44 00 00 f..D..
00221b20
00221b20loc_221b20:
00221b20mov rsi, rbp
00221b23mov rdi, rax
00221b26call fn_f4300
00221b2bmov ebx, eax
00221b2dtest eax, eax
00221b2fjne 0x221b08
00221b31mov rdi, rbp
00221b34call fn_f40d0
00221b39mov ecx, 1
00221b3exor edx, edx
00221b40mov esi, 8
00221b45lea rdi, [rip+0x53e14]
00221b4ccall caml_alloc_custom
00221b51mov [rax+8], r12
00221b55mov rdx, [rsp+8]
00221b5asub rdx, [0x28]
00221b63jne 0x221b6e
00221b65add rsp, 16
00221b69pop rbx
00221b6apop rbp
00221b6bpop r12
00221b6dret
00221b6e
00221b6eloc_221b6e:
00221b6ecall fn_f4590
00221a90
00221b73
00221b73 // align 0x10
00221b73 // align 0x10
00221b80
00221b80caml_ml_mutex_lock:
00221b80push r12
00221b82push rbp
00221b83push rbx
00221b84sub rsp, 96
00221b88mov [rsp+8], rdi
00221b8dmov rax, [0x28]
00221b96mov [rsp+88], rax
00221b9bmov rax, [rip+0x54442]
00221ba2mov rbx, [rax]
00221ba6lea rax, [rsp+16]
00221babmov rbp, [rbx+160]
00221bb2mov [rbx+160], rax
00221bb9mov eax, 1
00221bbemovq x0, rax
00221bc3lea rax, [rsp+8]
00221bc8punpcklqdq x0, x0
00221bccmov [rsp+16], rbp
00221bd1mov [rsp+40], rax
00221bd6movups [rsp+24], x0
00221bdbmov r12, [rdi+8]
00221bdfmov rdi, r12
00221be2call fn_f4780
00221be7test eax, eax
00221be9jne 0x221c18
00221bebmov [rbx+160], rbp
00221bf2mov rax, [rsp+88]
00221bf7sub rax, [0x28]
00221c00jne 0x221c55
00221c02add rsp, 96
00221c06mov eax, 1
00221c0bpop rbx
00221c0cpop rbp
00221c0dpop r12
00221c0fret
00221c10db 0x5d
00221c11pop r12
00221c13ret
00221c14
00221c14 0f 1f 40 00 ..@.
00221c18
00221c18loc_221c18:
00221c18call caml_enter_blocking_section
00221c1dmov rdi, r12
00221c20call fn_f4710
00221c25mov r12l, eax
00221c28call caml_leave_blocking_section
00221c2dtest r12l, r12l
00221c30je 0x221bef
00221c32cmp r12l, 12
00221c36je 0x221c50
00221c38lea rsi, [rip+55498]
00221c3fmov edi, r12l
00221c42call fn_221990
00221c47nop [rax+rax]
00221c50
00221c50loc_221c50:
00221c50call caml_raise_out_of_memory
00221c55
00221c55loc_221c55:
00221c55call fn_f4590
00221b80
00221b80caml_ml_mutex_lock:
00221b80push r12
00221b82push rbp
00221b83push rbx
00221b84sub rsp, 96
00221b88mov [rsp+8], rdi
00221b8dmov rax, [0x28]
00221b96mov [rsp+88], rax
00221b9bmov rax, [rip+0x54442]
00221ba2mov rbx, [rax]
00221ba6lea rax, [rsp+16]
00221babmov rbp, [rbx+160]
00221bb2mov [rbx+160], rax
00221bb9mov eax, 1
00221bbemovq x0, rax
00221bc3lea rax, [rsp+8]
00221bc8punpcklqdq x0, x0
00221bccmov [rsp+16], rbp
00221bd1mov [rsp+40], rax
00221bd6movups [rsp+24], x0
00221bdbmov r12, [rdi+8]
00221bdfmov rdi, r12
00221be2call fn_f4780
00221be7test eax, eax
00221be9jne 0x221c18
00221bebmov [rbx+160], rbp
00221bf2mov rax, [rsp+88]
00221bf7sub rax, [0x28]
00221c00jne 0x221c55
00221c02add rsp, 96
00221c06mov eax, 1
00221c0bpop rbx
00221c0cpop rbp
00221c0dpop r12
00221c0fret
00221c10db 0x5d
00221c11pop r12
00221c13ret
00221c14
00221c14 0f 1f 40 00 ..@.
00221c18
00221c18loc_221c18:
00221c18call caml_enter_blocking_section
00221c1dmov rdi, r12
00221c20call fn_f4710
00221c25mov r12l, eax
00221c28call caml_leave_blocking_section
00221c2dtest r12l, r12l
00221c30je 0x221bef
00221c32cmp r12l, 12
00221c36je 0x221c50
00221c38lea rsi, [rip+55498]
00221c3fmov edi, r12l
00221c42call fn_221990
00221c47nop [rax+rax]
00221c50
00221c50loc_221c50:
00221c50call caml_raise_out_of_memory
00221c55
00221c55loc_221c55:
00221c55call fn_f4590
00221b80
00221c5a
00221c5a // align 0x10
00221c5a // align 0x10
00221c60
00221c60caml_ml_mutex_unlock:
00221c60sub rsp, 8
00221c64mov rdi, [rdi+8]
00221c68call fn_f47c0
00221c6dtest eax, eax
00221c6fje 0x221c98
00221c71cmp eax, 12
00221c74je 0x221c90
00221c76lea rsi, [rip+55443]
00221c7dmov edi, eax
00221c7fcall fn_221990
00221c84nop [rax+rax]
00221c8ccall caml_raise_out_of_memory
00221c91nop [rax]
00221c94mov eax, 1
00221c99add rsp, 8
00221c9dret
00221c9edb 0x83
00221c9fdb 0xc4
00221ca0or bl, al
00221c60
00221c60caml_ml_mutex_unlock:
00221c60sub rsp, 8
00221c64mov rdi, [rdi+8]
00221c68call fn_f47c0
00221c6dtest eax, eax
00221c6fje 0x221c98
00221c71cmp eax, 12
00221c74je 0x221c90
00221c76lea rsi, [rip+55443]
00221c7dmov edi, eax
00221c7fcall fn_221990
00221c84nop [rax+rax]
00221c8ccall caml_raise_out_of_memory
00221c91nop [rax]
00221c94mov eax, 1
00221c99add rsp, 8
00221c9dret
00221c9edb 0x83
00221c9fdb 0xc4
00221ca0or bl, al
00221c60
00221ca2
00221ca2 // align 0x10
00221ca2 // align 0x10
00221cb0
00221cb0caml_ml_mutex_try_lock:
00221cb0sub rsp, 8
00221cb4mov rdi, [rdi+8]
00221cb8call fn_f4780
00221cbdmov edi, eax
00221cbfmov eax, 1
00221cc4cmp edi, 16
00221cc7jne 0x221cd8
00221cc9add rsp, 8
00221ccdret
00221ccedb 0x83
00221ccfdb 0xc4
00221cd0or bl, al
00221cd2
00221cd2 66 0f 1f 44 00 00 f..D..
00221cd8
00221cd8loc_221cd8:
00221cd8test edi, edi
00221cdaje 0x221cf0
00221cdccmp edi, 12
00221cdfje 0x221d00
00221ce1lea rsi, [rip+55353]
00221ce8call fn_221990
00221cednop [rax]
00221cf0
00221cf0loc_221cf0:
00221cf0mov eax, 3
00221cf5add rsp, 8
00221cf9ret
00221cfa
00221cfa 66 0f 1f 44 00 00 f..D..
00221d00
00221d00loc_221d00:
00221d00call caml_raise_out_of_memory
00221cb0
00221cb0caml_ml_mutex_try_lock:
00221cb0sub rsp, 8
00221cb4mov rdi, [rdi+8]
00221cb8call fn_f4780
00221cbdmov edi, eax
00221cbfmov eax, 1
00221cc4cmp edi, 16
00221cc7jne 0x221cd8
00221cc9add rsp, 8
00221ccdret
00221ccedb 0x83
00221ccfdb 0xc4
00221cd0or bl, al
00221cd2
00221cd2 66 0f 1f 44 00 00 f..D..
00221cd8
00221cd8loc_221cd8:
00221cd8test edi, edi
00221cdaje 0x221cf0
00221cdccmp edi, 12
00221cdfje 0x221d00
00221ce1lea rsi, [rip+55353]
00221ce8call fn_221990
00221cednop [rax]
00221cf0
00221cf0loc_221cf0:
00221cf0mov eax, 3
00221cf5add rsp, 8
00221cf9ret
00221cfa
00221cfa 66 0f 1f 44 00 00 f..D..
00221d00
00221d00loc_221d00:
00221d00call caml_raise_out_of_memory
00221cb0
00221d05
00221d05 // align 0x10
00221d05 // align 0x10
00221d10
00221d10caml_ml_condition_new:
00221d10push rbp
00221d11mov edi, 48
00221d16push rbx
00221d17sub rsp, 8
00221d1bcall caml_stat_alloc_noexc
00221d20test rax, rax
00221d23je 0x221d80
00221d25xor esi, esi
00221d27mov rdi, rax
00221d2amov rbx, rax
00221d2dcall fn_f43d0
00221d32mov ebp, eax
00221d34test eax, eax
00221d36jne 0x221d60
00221d38mov ecx, 1
00221d3dxor edx, edx
00221d3fmov esi, 8
00221d44lea rdi, [rip+0x1566b1]
00221d4bcall caml_alloc_custom
00221d50mov [rax+8], rbx
00221d54add rsp, 8
00221d58pop rbx
00221d59pop rbp
00221d5aret
00221d5bdb 0x08
00221d5cpop rbx
00221d5dpop rbp
00221d5eret
00221d5f
00221d5f 90 .
00221d60
00221d60loc_221d60:
00221d60mov rdi, rbx
00221d63call caml_stat_free
00221d68cmp ebp, 12
00221d6bje 0x221d80
00221d6dlea rsi, [rip+55228]
00221d74mov edi, ebp
00221d76call fn_221990
00221d7bnop [rax+rax]
00221d80
00221d80loc_221d80:
00221d80call caml_raise_out_of_memory
00221d10
00221d10caml_ml_condition_new:
00221d10push rbp
00221d11mov edi, 48
00221d16push rbx
00221d17sub rsp, 8
00221d1bcall caml_stat_alloc_noexc
00221d20test rax, rax
00221d23je 0x221d80
00221d25xor esi, esi
00221d27mov rdi, rax
00221d2amov rbx, rax
00221d2dcall fn_f43d0
00221d32mov ebp, eax
00221d34test eax, eax
00221d36jne 0x221d60
00221d38mov ecx, 1
00221d3dxor edx, edx
00221d3fmov esi, 8
00221d44lea rdi, [rip+0x1566b1]
00221d4bcall caml_alloc_custom
00221d50mov [rax+8], rbx
00221d54add rsp, 8
00221d58pop rbx
00221d59pop rbp
00221d5aret
00221d5bdb 0x08
00221d5cpop rbx
00221d5dpop rbp
00221d5eret
00221d5f
00221d5f 90 .
00221d60
00221d60loc_221d60:
00221d60mov rdi, rbx
00221d63call caml_stat_free
00221d68cmp ebp, 12
00221d6bje 0x221d80
00221d6dlea rsi, [rip+55228]
00221d74mov edi, ebp
00221d76call fn_221990
00221d7bnop [rax+rax]
00221d80
00221d80loc_221d80:
00221d80call caml_raise_out_of_memory
00221d10
00221d85
00221d85 // align 0x10
00221d85 // align 0x10
00221d90
00221d90caml_ml_condition_wait:
00221d90push r13
00221d92push r12
00221d94push rbp
00221d95push rbx
00221d96sub rsp, 104
00221d9amovdqa x0, [rip+33578]
00221da2mov [rsp], rsi
00221da6movq x1, rsp
00221dabmov [rsp+8], rdi
00221db0mov rax, [0x28]
00221db9mov [rsp+88], rax
00221dbemov rax, [rip+0x5421f]
00221dc5mov rbp, [rax]
00221dc9lea rax, [rsp+16]
00221dcemovups [rsp+24], x0
00221dd3mov r12, [rbp+160]
00221ddamov [rbp+160], rax
00221de1lea rax, [rsp+8]
00221de6movq x0, rax
00221debpunpcklqdq x0, x1
00221defmov [rsp+16], r12
00221df4movups [rsp+40], x0
00221df9mov rbx, [rdi+8]
00221dfdmov r13, [rsi+8]
00221e01mov edi, 42
00221e06call caml_ev_begin
00221e0bcall caml_enter_blocking_section
00221e10mov rdi, rbx
00221e13mov rsi, r13
00221e16call fn_f45e0
00221e1bmov ebx, eax
00221e1dcall caml_leave_blocking_section
00221e22test ebx, ebx
00221e24je 0x221e48
00221e26cmp ebx, 12
00221e29je 0x221e40
00221e2blea rsi, [rip+55051]
00221e32mov edi, ebx
00221e34call fn_221990
00221e39nop [rax]
00221e3ccall caml_raise_out_of_memory
00221e41nop [rax]
00221e44mov edi, 42
00221e49call caml_ev_end
00221e4emov [rbp+160], r12
00221e55mov rax, [rsp+88]
00221e5asub rax, [0x28]
00221e63jne 0x221e79
00221e65add rsp, 104
00221e69mov eax, 1
00221e6epop rbx
00221e6fpop rbp
00221e70pop r12
00221e72pop r13
00221e74ret
00221e75call fn_f4590
00221e7adb 0x12
00221e7bdb 0x27
00221e7cin eax, dx
00221e7ddb 0xff
00221d90
00221d90caml_ml_condition_wait:
00221d90push r13
00221d92push r12
00221d94push rbp
00221d95push rbx
00221d96sub rsp, 104
00221d9amovdqa x0, [rip+33578]
00221da2mov [rsp], rsi
00221da6movq x1, rsp
00221dabmov [rsp+8], rdi
00221db0mov rax, [0x28]
00221db9mov [rsp+88], rax
00221dbemov rax, [rip+0x5421f]
00221dc5mov rbp, [rax]
00221dc9lea rax, [rsp+16]
00221dcemovups [rsp+24], x0
00221dd3mov r12, [rbp+160]
00221ddamov [rbp+160], rax
00221de1lea rax, [rsp+8]
00221de6movq x0, rax
00221debpunpcklqdq x0, x1
00221defmov [rsp+16], r12
00221df4movups [rsp+40], x0
00221df9mov rbx, [rdi+8]
00221dfdmov r13, [rsi+8]
00221e01mov edi, 42
00221e06call caml_ev_begin
00221e0bcall caml_enter_blocking_section
00221e10mov rdi, rbx
00221e13mov rsi, r13
00221e16call fn_f45e0
00221e1bmov ebx, eax
00221e1dcall caml_leave_blocking_section
00221e22test ebx, ebx
00221e24je 0x221e48
00221e26cmp ebx, 12
00221e29je 0x221e40
00221e2blea rsi, [rip+55051]
00221e32mov edi, ebx
00221e34call fn_221990
00221e39nop [rax]
00221e3ccall caml_raise_out_of_memory
00221e41nop [rax]
00221e44mov edi, 42
00221e49call caml_ev_end
00221e4emov [rbp+160], r12
00221e55mov rax, [rsp+88]
00221e5asub rax, [0x28]
00221e63jne 0x221e79
00221e65add rsp, 104
00221e69mov eax, 1
00221e6epop rbx
00221e6fpop rbp
00221e70pop r12
00221e72pop r13
00221e74ret
00221e75call fn_f4590
00221e7adb 0x12
00221e7bdb 0x27
00221e7cin eax, dx
00221e7ddb 0xff
00221d90
00221e7e
00221e7e // align 0x10
00221e7e // align 0x10
00221e80
00221e80caml_ml_condition_signal:
00221e80sub rsp, 8
00221e84mov rdi, [rdi+8]
00221e88call fn_f41f0
00221e8dtest eax, eax
00221e8fje 0x221eb8
00221e91cmp eax, 12
00221e94je 0x221eb0
00221e96lea rsi, [rip+54959]
00221e9dmov edi, eax
00221e9fcall fn_221990
00221ea4nop [rax+rax]
00221eaccall caml_raise_out_of_memory
00221eb1nop [rax]
00221eb4mov eax, 1
00221eb9add rsp, 8
00221ebdret
00221ebedb 0x83
00221ebfdb 0xc4
00221ec0or bl, al
00221e80
00221e80caml_ml_condition_signal:
00221e80sub rsp, 8
00221e84mov rdi, [rdi+8]
00221e88call fn_f41f0
00221e8dtest eax, eax
00221e8fje 0x221eb8
00221e91cmp eax, 12
00221e94je 0x221eb0
00221e96lea rsi, [rip+54959]
00221e9dmov edi, eax
00221e9fcall fn_221990
00221ea4nop [rax+rax]
00221eaccall caml_raise_out_of_memory
00221eb1nop [rax]
00221eb4mov eax, 1
00221eb9add rsp, 8
00221ebdret
00221ebedb 0x83
00221ebfdb 0xc4
00221ec0or bl, al
00221e80
00221ec2
00221ec2 // align 0x10
00221ec2 // align 0x10
00221ed0
00221ed0caml_ml_condition_broadcast:
00221ed0sub rsp, 8
00221ed4mov rdi, [rdi+8]
00221ed8call fn_f4770
00221eddtest eax, eax
00221edfje 0x221f08
00221ee1cmp eax, 12
00221ee4je 0x221f00
00221ee6lea rsi, [rip+54896]
00221eedmov edi, eax
00221eefcall fn_221990
00221ef4nop [rax+rax]
00221efccall caml_raise_out_of_memory
00221f01nop [rax]
00221f04mov eax, 1
00221f09add rsp, 8
00221f0dret
00221f0edb 0x83
00221f0fdb 0xc4
00221f10or bl, al
00221ed0
00221ed0caml_ml_condition_broadcast:
00221ed0sub rsp, 8
00221ed4mov rdi, [rdi+8]
00221ed8call fn_f4770
00221eddtest eax, eax
00221edfje 0x221f08
00221ee1cmp eax, 12
00221ee4je 0x221f00
00221ee6lea rsi, [rip+54896]
00221eedmov edi, eax
00221eefcall fn_221990
00221ef4nop [rax+rax]
00221efccall caml_raise_out_of_memory
00221f01nop [rax]
00221f04mov eax, 1
00221f09add rsp, 8
00221f0dret
00221f0edb 0x83
00221f0fdb 0xc4
00221f10or bl, al
00221ed0
00221f12
00221f12 // align 0x10
00221f12 // align 0x10
00221f20
00221f20fn_221f20:
00221f20push rbp
00221f21push rbx
00221f22sub rsp, 168
00221f29mov rbx, [0x28]
00221f32mov [rsp+152], rbx
00221f3amov rbx, rdi
00221f3dcall caml_string_is_c_safe
00221f42test eax, eax
00221f44je 0x221fa0
00221f46mov rdi, rbx
00221f49call caml_stat_strdup
00221f4emov rbx, rax
00221f51call caml_enter_blocking_section
00221f56mov rdi, rbx
00221f59mov rsi, rsp
00221f5ccall fn_f43b0
00221f61mov ebp, eax
00221f63call caml_leave_blocking_section
00221f68mov rdi, rbx
00221f6bcall caml_stat_free
00221f70cmp ebp, -1
00221f73je 0x221fab
00221f75mov eax, [rsp+24]
00221f79
00221f79loc_221f79:
00221f79mov rdx, [rsp+152]
00221f81sub rdx, [0x28]
00221f8ajne 0x221fb2
00221f8cadd rsp, 168
00221f93pop rbx
00221f94pop rbp
00221f95ret
00221f96
00221f96 66 2e 0f 1f 84 00 00 00 00 00 f.........
00221fa0
00221fa0loc_221fa0:
00221fa0call fn_f4570
00221fa5mov [rax], 2
00221fab
00221fabloc_221fab:
00221fabmov eax, -1
00221fb0jmp 0x221f79
00221fb2
00221fb2loc_221fb2:
00221fb2call fn_f4590
00221f20
00221f20fn_221f20:
00221f20push rbp
00221f21push rbx
00221f22sub rsp, 168
00221f29mov rbx, [0x28]
00221f32mov [rsp+152], rbx
00221f3amov rbx, rdi
00221f3dcall caml_string_is_c_safe
00221f42test eax, eax
00221f44je 0x221fa0
00221f46mov rdi, rbx
00221f49call caml_stat_strdup
00221f4emov rbx, rax
00221f51call caml_enter_blocking_section
00221f56mov rdi, rbx
00221f59mov rsi, rsp
00221f5ccall fn_f43b0
00221f61mov ebp, eax
00221f63call caml_leave_blocking_section
00221f68mov rdi, rbx
00221f6bcall caml_stat_free
00221f70cmp ebp, -1
00221f73je 0x221fab
00221f75mov eax, [rsp+24]
00221f79
00221f79loc_221f79:
00221f79mov rdx, [rsp+152]
00221f81sub rdx, [0x28]
00221f8ajne 0x221fb2
00221f8cadd rsp, 168
00221f93pop rbx
00221f94pop rbp
00221f95ret
00221f96
00221f96 66 2e 0f 1f 84 00 00 00 00 00 f.........
00221fa0
00221fa0loc_221fa0:
00221fa0call fn_f4570
00221fa5mov [rax], 2
00221fab
00221fabloc_221fab:
00221fabmov eax, -1
00221fb0jmp 0x221f79
00221fb2
00221fb2loc_221fb2:
00221fb2call fn_f4590
00221f20
00221fb7
00221fb7 // align 0x10
00221fb7 // align 0x10
00221fc0
00221fc0caml_strerror:
00221fc0push r12
00221fc2mov r12l, edi
00221fc5push rbp
00221fc6mov rbp, rdx
00221fc9push rbx
00221fcamov rbx, rsi
00221fcdcall fn_f4620
00221fd2test eax, eax
00221fd4jne 0x221fe8
00221fd6mov rax, rbx
00221fd9pop rbx
00221fdapop rbp
00221fdbpop r12
00221fddret
00221fdedb 0x5d
00221fdfpop r12
00221fe1ret
00221fe2
00221fe2 66 0f 1f 44 00 00 f..D..
00221fe8
00221fe8loc_221fe8:
00221fe8mov r9l, r12l
00221febmov rsi, rbp
00221feemov rdi, rbx
00221ff1mov rcx, -1
00221ff8lea r8, [rip+54664]
00221fffmov edx, 1
00222004xor eax, eax
00222006call fn_f46b0
0022200bmov rax, rbx
0022200epop rbx
0022200fpop rbp
00222010pop r12
00222012ret
00221fc0
00221fc0caml_strerror:
00221fc0push r12
00221fc2mov r12l, edi
00221fc5push rbp
00221fc6mov rbp, rdx
00221fc9push rbx
00221fcamov rbx, rsi
00221fcdcall fn_f4620
00221fd2test eax, eax
00221fd4jne 0x221fe8
00221fd6mov rax, rbx
00221fd9pop rbx
00221fdapop rbp
00221fdbpop r12
00221fddret
00221fdedb 0x5d
00221fdfpop r12
00221fe1ret
00221fe2
00221fe2 66 0f 1f 44 00 00 f..D..
00221fe8
00221fe8loc_221fe8:
00221fe8mov r9l, r12l
00221febmov rsi, rbp
00221feemov rdi, rbx
00221ff1mov rcx, -1
00221ff8lea r8, [rip+54664]
00221fffmov edx, 1
00222004xor eax, eax
00222006call fn_f46b0
0022200bmov rax, rbx
0022200epop rbx
0022200fpop rbp
00222010pop r12
00222012ret
00221fc0
00222013
00222013 // align 0x10
00222013 // align 0x10
00222020
00222020caml_sys_error:
00222020push r12
00222022mov ecx, 1
00222027push rbp
00222028movq x0, rcx
0022202dpush rbx
0022202epunpcklqdq x0, x0
00222032sub rsp, 1200
00222039mov [rsp+8], rdi
0022203emov rax, [0x28]
00222047mov [rsp+1192], rax
0022204fmov rax, [rip+0x53f8e]
00222056mov rax, [rax]
0022205amovups [rsp+40], x0
0022205fmovups [rsp+104], x0
00222064mov [rsp+24], 1
0022206dmov rdx, [rax+160]
00222074mov [rsp+32], rdx
00222079lea rdx, [rsp+8]
0022207emov [rsp+56], rdx
00222083lea rdx, [rsp+32]
00222088mov [rsp+96], rdx
0022208dlea rdx, [rsp+96]
00222092mov [rax+160], rdx
00222099lea rax, [rsp+24]
0022209emov [rsp+120], rax
002220a3call fn_f4570
002220a8lea rsi, [rsp+160]
002220b0mov edx, 1024
002220b5mov edi, [rax]
002220b7call caml_strerror
002220bcmov rbp, [rsp+8]
002220c1mov rbx, rax
002220c4mov rdi, rax
002220c7cmp rbp, 1
002220cbje 0x22212f
002220cdcall fn_f43a0
002220d2mov rdi, rbp
002220d5mov r12, rax
002220d8call caml_string_length
002220ddlea rdi, [rax+r12+2]
002220e2mov rbp, rax
002220e5call caml_alloc_string
002220eamov rsi, [rsp+8]
002220efmov rdx, rbp
002220f2mov rdi, rax
002220f5mov [rsp+24], rax
002220facall fn_f47d0
002220ffmov rax, [rsp+24]
00222104mov rdx, r12
00222107mov rsi, rbx
0022210aadd rax, rbp
0022210dmov [rax], 8250
00222112mov rax, [rsp+24]
00222117lea rdi, [rbp+rax+2]
0022211ccall fn_f47d0
00222121mov rdi, [rsp+24]
00222126call caml_raise_sys_error
0022212bcall caml_copy_string
00222130mov [rsp+24], rax
00222135jmp 0x222125
00222137db 0x24
00222138sbb bl, ch
0022213adb 0xea
00222020
00222020caml_sys_error:
00222020push r12
00222022mov ecx, 1
00222027push rbp
00222028movq x0, rcx
0022202dpush rbx
0022202epunpcklqdq x0, x0
00222032sub rsp, 1200
00222039mov [rsp+8], rdi
0022203emov rax, [0x28]
00222047mov [rsp+1192], rax
0022204fmov rax, [rip+0x53f8e]
00222056mov rax, [rax]
0022205amovups [rsp+40], x0
0022205fmovups [rsp+104], x0
00222064mov [rsp+24], 1
0022206dmov rdx, [rax+160]
00222074mov [rsp+32], rdx
00222079lea rdx, [rsp+8]
0022207emov [rsp+56], rdx
00222083lea rdx, [rsp+32]
00222088mov [rsp+96], rdx
0022208dlea rdx, [rsp+96]
00222092mov [rax+160], rdx
00222099lea rax, [rsp+24]
0022209emov [rsp+120], rax
002220a3call fn_f4570
002220a8lea rsi, [rsp+160]
002220b0mov edx, 1024
002220b5mov edi, [rax]
002220b7call caml_strerror
002220bcmov rbp, [rsp+8]
002220c1mov rbx, rax
002220c4mov rdi, rax
002220c7cmp rbp, 1
002220cbje 0x22212f
002220cdcall fn_f43a0
002220d2mov rdi, rbp
002220d5mov r12, rax
002220d8call caml_string_length
002220ddlea rdi, [rax+r12+2]
002220e2mov rbp, rax
002220e5call caml_alloc_string
002220eamov rsi, [rsp+8]
002220efmov rdx, rbp
002220f2mov rdi, rax
002220f5mov [rsp+24], rax
002220facall fn_f47d0
002220ffmov rax, [rsp+24]
00222104mov rdx, r12
00222107mov rsi, rbx
0022210aadd rax, rbp
0022210dmov [rax], 8250
00222112mov rax, [rsp+24]
00222117lea rdi, [rbp+rax+2]
0022211ccall fn_f47d0
00222121mov rdi, [rsp+24]
00222126call caml_raise_sys_error
0022212bcall caml_copy_string
00222130mov [rsp+24], rax
00222135jmp 0x222125
00222137db 0x24
00222138sbb bl, ch
0022213adb 0xea
00222020
0022213b
0022213b // align 0x10
0022213b // align 0x10
00222140
00222140fn_222140:
00222140push rbx
00222141mov rbx, rdi
00222144call fn_f4570
00222149mov rdi, rbx
0022214cmov [rax], 2
00222152call caml_sys_error
00222140
00222140fn_222140:
00222140push rbx
00222141mov rbx, rdi
00222144call fn_f4570
00222149mov rdi, rbx
0022214cmov [rax], 2
00222152call caml_sys_error
00222140
00222157
00222157 // align 0x10
00222157 // align 0x10
00222160
00222160caml_sys_io_error:
00222160push rbx
00222161mov rbx, rdi
00222164call fn_f4570
00222169cmp [rax], 11
0022216cje 0x22217a
0022216emov rdi, rbx
00222171call caml_sys_error
00222176call caml_raise_sys_blocked_io
0022217bdb 0xa1
0022217cdb 0x49
0022217ddb 0xfe
0022217edb 0xff
00222160
00222160caml_sys_io_error:
00222160push rbx
00222161mov rbx, rdi
00222164call fn_f4570
00222169cmp [rax], 11
0022216cje 0x22217a
0022216emov rdi, rbx
00222171call caml_sys_error
00222176call caml_raise_sys_blocked_io
0022217bdb 0xa1
0022217cdb 0x49
0022217ddb 0xfe
0022217edb 0xff
00222160
0022217f
0022217f // align 0x10
0022217f // align 0x10
00222180
00222180caml_do_exit:
00222180push r13
00222182push r12
00222184push rbp
00222185push rbx
00222186sub rsp, 152
0022218dmov rbp, [rip+0x53e50]
00222194mov rbx, [0x28]
0022219dmov [rsp+136], rbx
002221a5mov ebx, edi
002221a7mov r12, [rbp]
002221acmov rax, [rip+0x156a79]
002221b3test ah, 4
002221b6jne 0x2221e2
002221b8call caml_runtime_events_destroy
002221bdmov rax, [rip+0x53790]
002221c4cmp [rax+144], 0
002221ccjne 0x22238b
002221d2call caml_terminate_signals
002221d7mov edi, ebx
002221d9call fn_f4210
002221delea rdi, [rsp+32]
002221e3call caml_compute_gc_stats
002221e8mov rax, [r12+24]
002221edsub rax, [r12+8]
002221f2pxor x1, x1
002221f6sar rax, 3
002221facvtsi2sd x1, rax
002221ffmov rax, [rsp+32]
00222204test rax, rax
00222207js 0x222395
0022220dpxor x0, x0
00222211cvtsi2sd x0, rax
00222216addsd x1, x0
0022221a
0022221aloc_22221a:
0022221amov rax, [rsp+48]
0022221fmovsd_xmm [rsp+8], x1
00222225test rax, rax
00222228js 0x2223ef
0022222epxor x1, x1
00222232cvtsi2sd x1, rax
00222237mov rax, [r12+128]
0022223ftest rax, rax
00222242js 0x2223d1
00222248pxor x0, x0
0022224ccvtsi2sd x0, rax
00222251addsd x1, x0
00222255
00222255loc_222255:
00222255mov rax, [rsp+40]
0022225amovsd_xmm x0, [rsp+8]
00222260movsd_xmm [rsp+16], x1
00222266addsd x0, x1
0022226atest rax, rax
0022226djs 0x2223b3
00222273pxor x1, x1
00222277cvtsi2sd x1, rax
0022227cmov rax, [rsp+104]
00222281mov r12, [rsp+112]
00222286subsd x0, x1
0022228aadd r12, [rsp+72]
0022228fadd rax, [rsp+64]
00222294mov r13, rax
00222297je 0x222432
0022229dtest r12, r12
002222a0je 0x22240d
002222a6cvttsd2si rdx, x0
002222abxor eax, eax
002222admov edi, 1024
002222b2lea rsi, [rip+53979]
002222b9call caml_gc_message
002222becvttsd2si rdx, [rsp+8]
002222c5xor eax, eax
002222c7lea rsi, [rip+53980]
002222cemov edi, 1024
002222d3call caml_gc_message
002222d8mov rdx, [rsp+40]
002222ddxor eax, eax
002222dflea rsi, [rip+53974]
002222e6mov edi, 1024
002222ebcall caml_gc_message
002222f0cvttsd2si rdx, [rsp+16]
002222f7xor eax, eax
002222f9lea rsi, [rip+53969]
00222300mov edi, 1024
00222305call caml_gc_message
0022230axor eax, eax
0022230cmov edi, 1024
00222311lea rsi, [rip+53963]
00222318mov rdx, [rip+0x1568d5]
0022231fcall caml_gc_message
00222324mov rdx, [rip+0x156739]
0022232bxor eax, eax
0022232dlea rsi, [rip+53959]
00222334mov edi, 1024
00222339call caml_gc_message
0022233emov rdx, [rsp+56]
00222343xor eax, eax
00222345lea rsi, [rip+61952]
0022234cmov edi, 1024
00222351call caml_gc_message
00222356mov rdx, r13
00222359xor eax, eax
0022235bmov edi, 1024
00222360lea rsi, [rip+53936]
00222367call caml_gc_message
0022236cmov rdx, r12
0022236fmov edi, 1024
00222374xor eax, eax
00222376lea rsi, [rip+53910]
0022237dcall caml_gc_message
00222382jmp 0x2221bc
00222387call caml_shutdown
0022238cjmp 0x2221d6
00222391mov rdx, rax
00222394and eax, 1
00222397pxor x0, x0
0022239bshr rdx, 1
0022239eor rdx, rax
002223a1cvtsi2sd x0, rdx
002223a6addsd x0, x0
002223aajmp 0x22221a
002223afmov rdx, rax
002223b2and eax, 1
002223b5pxor x1, x1
002223b9shr rdx, 1
002223bcor rdx, rax
002223bfcvtsi2sd x1, rdx
002223c4addsd x1, x1
002223c8jmp 0x222280
002223cdmov rdx, rax
002223d0and eax, 1
002223d3pxor x0, x0
002223d7shr rdx, 1
002223daor rdx, rax
002223ddcvtsi2sd x0, rdx
002223e2addsd x0, x0
002223e6jmp 0x222255
002223ebmov rdx, rax
002223eeand eax, 1
002223f1pxor x1, x1
002223f5shr rdx, 1
002223f8or rdx, rax
002223fbcvtsi2sd x1, rdx
00222400addsd x1, x1
00222404jmp 0x22223b
00222409movsd_xmm [rsp+24], x0
0022240fmov rax, [rbp]
00222414mov rdi, [rax+280]
0022241bcall caml_top_heap_words
00222420movsd_xmm x0, [rsp+24]
00222426mov r12, rax
00222429jmp 0x2222aa
0022242emovsd_xmm [rsp+24], x0
00222434mov rax, [rbp]
00222439mov rdi, [rax+280]
00222440call caml_heap_size
00222445movsd_xmm x0, [rsp+24]
0022244bshr rax, 3
0022244fmov r13, rax
00222452jmp 0x2222a1
00222457db 0x46
00222458db 0xfe
00222459db 0xff
0022245adb 0xff
00222180
00222180caml_do_exit:
00222180push r13
00222182push r12
00222184push rbp
00222185push rbx
00222186sub rsp, 152
0022218dmov rbp, [rip+0x53e50]
00222194mov rbx, [0x28]
0022219dmov [rsp+136], rbx
002221a5mov ebx, edi
002221a7mov r12, [rbp]
002221acmov rax, [rip+0x156a79]
002221b3test ah, 4
002221b6jne 0x2221e2
002221b8call caml_runtime_events_destroy
002221bdmov rax, [rip+0x53790]
002221c4cmp [rax+144], 0
002221ccjne 0x22238b
002221d2call caml_terminate_signals
002221d7mov edi, ebx
002221d9call fn_f4210
002221delea rdi, [rsp+32]
002221e3call caml_compute_gc_stats
002221e8mov rax, [r12+24]
002221edsub rax, [r12+8]
002221f2pxor x1, x1
002221f6sar rax, 3
002221facvtsi2sd x1, rax
002221ffmov rax, [rsp+32]
00222204test rax, rax
00222207js 0x222395
0022220dpxor x0, x0
00222211cvtsi2sd x0, rax
00222216addsd x1, x0
0022221a
0022221aloc_22221a:
0022221amov rax, [rsp+48]
0022221fmovsd_xmm [rsp+8], x1
00222225test rax, rax
00222228js 0x2223ef
0022222epxor x1, x1
00222232cvtsi2sd x1, rax
00222237mov rax, [r12+128]
0022223ftest rax, rax
00222242js 0x2223d1
00222248pxor x0, x0
0022224ccvtsi2sd x0, rax
00222251addsd x1, x0
00222255
00222255loc_222255:
00222255mov rax, [rsp+40]
0022225amovsd_xmm x0, [rsp+8]
00222260movsd_xmm [rsp+16], x1
00222266addsd x0, x1
0022226atest rax, rax
0022226djs 0x2223b3
00222273pxor x1, x1
00222277cvtsi2sd x1, rax
0022227cmov rax, [rsp+104]
00222281mov r12, [rsp+112]
00222286subsd x0, x1
0022228aadd r12, [rsp+72]
0022228fadd rax, [rsp+64]
00222294mov r13, rax
00222297je 0x222432
0022229dtest r12, r12
002222a0je 0x22240d
002222a6cvttsd2si rdx, x0
002222abxor eax, eax
002222admov edi, 1024
002222b2lea rsi, [rip+53979]
002222b9call caml_gc_message
002222becvttsd2si rdx, [rsp+8]
002222c5xor eax, eax
002222c7lea rsi, [rip+53980]
002222cemov edi, 1024
002222d3call caml_gc_message
002222d8mov rdx, [rsp+40]
002222ddxor eax, eax
002222dflea rsi, [rip+53974]
002222e6mov edi, 1024
002222ebcall caml_gc_message
002222f0cvttsd2si rdx, [rsp+16]
002222f7xor eax, eax
002222f9lea rsi, [rip+53969]
00222300mov edi, 1024
00222305call caml_gc_message
0022230axor eax, eax
0022230cmov edi, 1024
00222311lea rsi, [rip+53963]
00222318mov rdx, [rip+0x1568d5]
0022231fcall caml_gc_message
00222324mov rdx, [rip+0x156739]
0022232bxor eax, eax
0022232dlea rsi, [rip+53959]
00222334mov edi, 1024
00222339call caml_gc_message
0022233emov rdx, [rsp+56]
00222343xor eax, eax
00222345lea rsi, [rip+61952]
0022234cmov edi, 1024
00222351call caml_gc_message
00222356mov rdx, r13
00222359xor eax, eax
0022235bmov edi, 1024
00222360lea rsi, [rip+53936]
00222367call caml_gc_message
0022236cmov rdx, r12
0022236fmov edi, 1024
00222374xor eax, eax
00222376lea rsi, [rip+53910]
0022237dcall caml_gc_message
00222382jmp 0x2221bc
00222387call caml_shutdown
0022238cjmp 0x2221d6
00222391mov rdx, rax
00222394and eax, 1
00222397pxor x0, x0
0022239bshr rdx, 1
0022239eor rdx, rax
002223a1cvtsi2sd x0, rdx
002223a6addsd x0, x0
002223aajmp 0x22221a
002223afmov rdx, rax
002223b2and eax, 1
002223b5pxor x1, x1
002223b9shr rdx, 1
002223bcor rdx, rax
002223bfcvtsi2sd x1, rdx
002223c4addsd x1, x1
002223c8jmp 0x222280
002223cdmov rdx, rax
002223d0and eax, 1
002223d3pxor x0, x0
002223d7shr rdx, 1
002223daor rdx, rax
002223ddcvtsi2sd x0, rdx
002223e2addsd x0, x0
002223e6jmp 0x222255
002223ebmov rdx, rax
002223eeand eax, 1
002223f1pxor x1, x1
002223f5shr rdx, 1
002223f8or rdx, rax
002223fbcvtsi2sd x1, rdx
00222400addsd x1, x1
00222404jmp 0x22223b
00222409movsd_xmm [rsp+24], x0
0022240fmov rax, [rbp]
00222414mov rdi, [rax+280]
0022241bcall caml_top_heap_words
00222420movsd_xmm x0, [rsp+24]
00222426mov r12, rax
00222429jmp 0x2222aa
0022242emovsd_xmm [rsp+24], x0
00222434mov rax, [rbp]
00222439mov rdi, [rax+280]
00222440call caml_heap_size
00222445movsd_xmm x0, [rsp+24]
0022244bshr rax, 3
0022244fmov r13, rax
00222452jmp 0x2222a1
00222457db 0x46
00222458db 0xfe
00222459db 0xff
0022245adb 0xff
00222180
0022245b
0022245b // align 0x10
0022245b // align 0x10
00222460
00222460caml_sys_exit:
00222460push rax
00222461pop rax
00222462sub rsp, 8
00222466sar rdi, 1
00222469call caml_do_exit
0022246edb 0x0e
0022246fstd
00222470db 0xff
00222471db 0xff
00222460
00222460caml_sys_exit:
00222460push rax
00222461pop rax
00222462sub rsp, 8
00222466sar rdi, 1
00222469call caml_do_exit
0022246edb 0x0e
0022246fstd
00222470db 0xff
00222471db 0xff
00222460
00222472
00222472 // align 0x10
00222472 // align 0x10
00222480
00222480caml_sys_open:
00222480push r14
00222482push r13
00222484push r12
00222486push rbp
00222487push rbx
00222488mov rbx, rdi
0022248bsub rsp, 112
0022248fmovdqa x0, [rip+31813]
00222497mov [rsp+24], rdi
0022249cmov [rsp+16], rsi
002224a1mov [rsp+8], rdx
002224a6mov rax, [0x28]
002224afmov [rsp+104], rax
002224b4mov rax, [rip+0x53b29]
002224bbmov r12, [rax]
002224bflea rax, [rsp+32]
002224c4movups [rsp+40], x0
002224c9mov r13, [r12+160]
002224d1mov [r12+160], rax
002224d9lea rax, [rsp+24]
002224demovq x0, rax
002224e3lea rax, [rsp+16]
002224e8movq x1, rax
002224edlea rax, [rsp+8]
002224f2mov [rsp+32], r13
002224f7punpcklqdq x0, x1
002224fbmov [rsp+72], rax
00222500movups [rsp+56], x0
00222505call caml_string_is_c_safe
0022250atest eax, eax
0022250cje 0x222597
00222512mov rdi, [rsp+24]
00222517call caml_stat_strdup
0022251cmov rdi, [rsp+16]
00222521lea rsi, [rip+0x101b4]
00222528mov rbp, rax
0022252bcall caml_convert_flag_list
00222530mov r14, [rsp+8]
00222535mov ebx, eax
00222537call caml_enter_blocking_section
0022253csar r14, 1
0022253fmov esi, ebx
00222541mov rdi, rbp
00222544or esi, 0x80000
0022254amov edx, r14l
0022254dxor eax, eax
0022254fcall fn_f4470
00222554movsxd rbx, eax
00222557call caml_leave_blocking_section
0022255cmov rdi, rbp
0022255fcall caml_stat_free
00222564cmp ebx, -1
00222567je 0x2225a4
00222569mov [r12+160], r13
00222571lea rax, [rbx+rbx+1]
00222576mov rdx, [rsp+104]
0022257bsub rdx, [0x28]
00222584jne 0x22259f
00222586add rsp, 112
0022258apop rbx
0022258bpop rbp
0022258cpop r12
0022258epop r13
00222590pop r14
00222592ret
00222593mov rdi, rbx
00222596call fn_222140
0022259bcall fn_f4590
002225a0mov rdi, [rsp+24]
002225a5call caml_sys_error
002225aadb 0x72
002225abcli
002225acdb 0xff
002225addb 0xff
00222480
00222480caml_sys_open:
00222480push r14
00222482push r13
00222484push r12
00222486push rbp
00222487push rbx
00222488mov rbx, rdi
0022248bsub rsp, 112
0022248fmovdqa x0, [rip+31813]
00222497mov [rsp+24], rdi
0022249cmov [rsp+16], rsi
002224a1mov [rsp+8], rdx
002224a6mov rax, [0x28]
002224afmov [rsp+104], rax
002224b4mov rax, [rip+0x53b29]
002224bbmov r12, [rax]
002224bflea rax, [rsp+32]
002224c4movups [rsp+40], x0
002224c9mov r13, [r12+160]
002224d1mov [r12+160], rax
002224d9lea rax, [rsp+24]
002224demovq x0, rax
002224e3lea rax, [rsp+16]
002224e8movq x1, rax
002224edlea rax, [rsp+8]
002224f2mov [rsp+32], r13
002224f7punpcklqdq x0, x1
002224fbmov [rsp+72], rax
00222500movups [rsp+56], x0
00222505call caml_string_is_c_safe
0022250atest eax, eax
0022250cje 0x222597
00222512mov rdi, [rsp+24]
00222517call caml_stat_strdup
0022251cmov rdi, [rsp+16]
00222521lea rsi, [rip+0x101b4]
00222528mov rbp, rax
0022252bcall caml_convert_flag_list
00222530mov r14, [rsp+8]
00222535mov ebx, eax
00222537call caml_enter_blocking_section
0022253csar r14, 1
0022253fmov esi, ebx
00222541mov rdi, rbp
00222544or esi, 0x80000
0022254amov edx, r14l
0022254dxor eax, eax
0022254fcall fn_f4470
00222554movsxd rbx, eax
00222557call caml_leave_blocking_section
0022255cmov rdi, rbp
0022255fcall caml_stat_free
00222564cmp ebx, -1
00222567je 0x2225a4
00222569mov [r12+160], r13
00222571lea rax, [rbx+rbx+1]
00222576mov rdx, [rsp+104]
0022257bsub rdx, [0x28]
00222584jne 0x22259f
00222586add rsp, 112
0022258apop rbx
0022258bpop rbp
0022258cpop r12
0022258epop r13
00222590pop r14
00222592ret
00222593mov rdi, rbx
00222596call fn_222140
0022259bcall fn_f4590
002225a0mov rdi, [rsp+24]
002225a5call caml_sys_error
002225aadb 0x72
002225abcli
002225acdb 0xff
002225addb 0xff
00222480
002225ae
002225ae // align 0x10
002225ae // align 0x10
002225b0
002225b0caml_sys_close:
002225b0push rbx
002225b1mov rbx, rdi
002225b4sar rbx, 1
002225b7call caml_enter_blocking_section
002225bcmov rdi, rbx
002225bfcall fn_f4140
002225c4call caml_leave_blocking_section
002225c9mov eax, 1
002225cepop rbx
002225cfret
002225d0db 0x00
002225d1add [rbx-61], bl
002225b0
002225b0caml_sys_close:
002225b0push rbx
002225b1mov rbx, rdi
002225b4sar rbx, 1
002225b7call caml_enter_blocking_section
002225bcmov rdi, rbx
002225bfcall fn_f4140
002225c4call caml_leave_blocking_section
002225c9mov eax, 1
002225cepop rbx
002225cfret
002225d0db 0x00
002225d1add [rbx-61], bl
002225b0
002225d4
002225d4 // align 0x10
002225d4 // align 0x10
002225e0
002225e0caml_sys_file_exists:
002225e0sub rsp, 8
002225e4call fn_221f20
002225e9cmp eax, -1
002225ecsetne al
002225efadd rsp, 8
002225f3movzx eax, al
002225f6lea rax, [rax+rax+1]
002225fbret
002225fcdb 0x44
002225fdadd [rcx], al
002225ffret
002225e0
002225e0caml_sys_file_exists:
002225e0sub rsp, 8
002225e4call fn_221f20
002225e9cmp eax, -1
002225ecsetne al
002225efadd rsp, 8
002225f3movzx eax, al
002225f6lea rax, [rax+rax+1]
002225fbret
002225fcdb 0x44
002225fdadd [rcx], al
002225ffret
002225e0
00222600
00222600caml_sys_is_directory:
00222600push rbp
00222601push rbx
00222602sub rsp, 104
00222606mov [rsp+8], rdi
0022260bmov rax, [0x28]
00222614mov [rsp+88], rax
00222619mov rax, [rip+0x539c4]
00222620mov rbx, [rax]
00222624lea rax, [rsp+16]
00222629mov rbp, [rbx+160]
00222630mov [rbx+160], rax
00222637mov eax, 1
0022263cmovq x0, rax
00222641lea rax, [rsp+8]
00222646punpcklqdq x0, x0
0022264amov [rsp+16], rbp
0022264fmov [rsp+40], rax
00222654movups [rsp+24], x0
00222659call fn_221f20
0022265ecmp eax, -1
00222661je 0x22269a
00222663and eax, 61440
00222668mov [rbx+160], rbp
0022266fcmp eax, 16384
00222674sete al
00222677movzx eax, al
0022267alea rax, [rax+rax+1]
0022267fmov rdx, [rsp+88]
00222684sub rdx, [0x28]
0022268djne 0x2226a4
0022268fadd rsp, 104
00222693pop rbx
00222694pop rbp
00222695ret
00222696mov rdi, [rsp+8]
0022269bcall caml_sys_error
002226a0call fn_f4590
002226a5db 0xe7
002226a6db 0x1e
002226a7in eax, dx
002226a8db 0xff
00222600
00222600caml_sys_is_directory:
00222600push rbp
00222601push rbx
00222602sub rsp, 104
00222606mov [rsp+8], rdi
0022260bmov rax, [0x28]
00222614mov [rsp+88], rax
00222619mov rax, [rip+0x539c4]
00222620mov rbx, [rax]
00222624lea rax, [rsp+16]
00222629mov rbp, [rbx+160]
00222630mov [rbx+160], rax
00222637mov eax, 1
0022263cmovq x0, rax
00222641lea rax, [rsp+8]
00222646punpcklqdq x0, x0
0022264amov [rsp+16], rbp
0022264fmov [rsp+40], rax
00222654movups [rsp+24], x0
00222659call fn_221f20
0022265ecmp eax, -1
00222661je 0x22269a
00222663and eax, 61440
00222668mov [rbx+160], rbp
0022266fcmp eax, 16384
00222674sete al
00222677movzx eax, al
0022267alea rax, [rax+rax+1]
0022267fmov rdx, [rsp+88]
00222684sub rdx, [0x28]
0022268djne 0x2226a4
0022268fadd rsp, 104
00222693pop rbx
00222694pop rbp
00222695ret
00222696mov rdi, [rsp+8]
0022269bcall caml_sys_error
002226a0call fn_f4590
002226a5db 0xe7
002226a6db 0x1e
002226a7in eax, dx
002226a8db 0xff
00222600
002226a9
002226a9 // align 0x10
002226a9 // align 0x10
002226b0
002226b0caml_sys_is_regular_file:
002226b0push rbp
002226b1push rbx
002226b2sub rsp, 104
002226b6mov [rsp+8], rdi
002226bbmov rax, [0x28]
002226c4mov [rsp+88], rax
002226c9mov rax, [rip+0x53914]
002226d0mov rbx, [rax]
002226d4lea rax, [rsp+16]
002226d9mov rbp, [rbx+160]
002226e0mov [rbx+160], rax
002226e7mov eax, 1
002226ecmovq x0, rax
002226f1lea rax, [rsp+8]
002226f6punpcklqdq x0, x0
002226famov [rsp+16], rbp
002226ffmov [rsp+40], rax
00222704movups [rsp+24], x0
00222709call fn_221f20
0022270ecmp eax, -1
00222711je 0x22274a
00222713and eax, 61440
00222718mov [rbx+160], rbp
0022271fcmp eax, 32768
00222724sete al
00222727movzx eax, al
0022272alea rax, [rax+rax+1]
0022272fmov rdx, [rsp+88]
00222734sub rdx, [0x28]
0022273djne 0x222754
0022273fadd rsp, 104
00222743pop rbx
00222744pop rbp
00222745ret
00222746mov rdi, [rsp+8]
0022274bcall caml_sys_error
00222750call fn_f4590
00222755db 0x37
00222756db 0x1e
00222757in eax, dx
00222758db 0xff
002226b0
002226b0caml_sys_is_regular_file:
002226b0push rbp
002226b1push rbx
002226b2sub rsp, 104
002226b6mov [rsp+8], rdi
002226bbmov rax, [0x28]
002226c4mov [rsp+88], rax
002226c9mov rax, [rip+0x53914]
002226d0mov rbx, [rax]
002226d4lea rax, [rsp+16]
002226d9mov rbp, [rbx+160]
002226e0mov [rbx+160], rax
002226e7mov eax, 1
002226ecmovq x0, rax
002226f1lea rax, [rsp+8]
002226f6punpcklqdq x0, x0
002226famov [rsp+16], rbp
002226ffmov [rsp+40], rax
00222704movups [rsp+24], x0
00222709call fn_221f20
0022270ecmp eax, -1
00222711je 0x22274a
00222713and eax, 61440
00222718mov [rbx+160], rbp
0022271fcmp eax, 32768
00222724sete al
00222727movzx eax, al
0022272alea rax, [rax+rax+1]
0022272fmov rdx, [rsp+88]
00222734sub rdx, [0x28]
0022273djne 0x222754
0022273fadd rsp, 104
00222743pop rbx
00222744pop rbp
00222745ret
00222746mov rdi, [rsp+8]
0022274bcall caml_sys_error
00222750call fn_f4590
00222755db 0x37
00222756db 0x1e
00222757in eax, dx
00222758db 0xff
002226b0
00222759
00222759 // align 0x10
00222759 // align 0x10
00222760
00222760caml_sys_remove:
00222760push r13
00222762push r12
00222764push rbp
00222765push rbx
00222766mov rbx, rdi
00222769sub rsp, 104
0022276dmov [rsp+8], rdi
00222772mov rax, [0x28]
0022277bmov [rsp+88], rax
00222780mov rax, [rip+0x5385d]
00222787mov r12, [rax]
0022278blea rax, [rsp+16]
00222790mov r13, [r12+160]
00222798mov [r12+160], rax
002227a0mov eax, 1
002227a5movq x0, rax
002227aalea rax, [rsp+8]
002227afpunpcklqdq x0, x0
002227b3mov [rsp+16], r13
002227b8mov [rsp+40], rax
002227bdmovups [rsp+24], x0
002227c2call caml_string_is_c_safe
002227c7test eax, eax
002227c9je 0x222824
002227cbmov rdi, [rsp+8]
002227d0call caml_stat_strdup
002227d5mov rbx, rax
002227d8call caml_enter_blocking_section
002227ddmov rdi, rbx
002227e0call fn_f4290
002227e5mov ebp, eax
002227e7call caml_leave_blocking_section
002227ecmov rdi, rbx
002227efcall caml_stat_free
002227f4test ebp, ebp
002227f6jne 0x222831
002227f8mov [r12+160], r13
00222800mov rax, [rsp+88]
00222805sub rax, [0x28]
0022280ejne 0x22282c
00222810add rsp, 104
00222814mov eax, 1
00222819pop rbx
0022281apop rbp
0022281bpop r12
0022281dpop r13
0022281fret
00222820mov rdi, rbx
00222823call fn_222140
00222828call fn_f4590
0022282dmov rdi, [rsp+8]
00222832call caml_sys_error
00222837db 0xe5
00222838idiv edi
0022283adb 0xff
00222760
00222760caml_sys_remove:
00222760push r13
00222762push r12
00222764push rbp
00222765push rbx
00222766mov rbx, rdi
00222769sub rsp, 104
0022276dmov [rsp+8], rdi
00222772mov rax, [0x28]
0022277bmov [rsp+88], rax
00222780mov rax, [rip+0x5385d]
00222787mov r12, [rax]
0022278blea rax, [rsp+16]
00222790mov r13, [r12+160]
00222798mov [r12+160], rax
002227a0mov eax, 1
002227a5movq x0, rax
002227aalea rax, [rsp+8]
002227afpunpcklqdq x0, x0
002227b3mov [rsp+16], r13
002227b8mov [rsp+40], rax
002227bdmovups [rsp+24], x0
002227c2call caml_string_is_c_safe
002227c7test eax, eax
002227c9je 0x222824
002227cbmov rdi, [rsp+8]
002227d0call caml_stat_strdup
002227d5mov rbx, rax
002227d8call caml_enter_blocking_section
002227ddmov rdi, rbx
002227e0call fn_f4290
002227e5mov ebp, eax
002227e7call caml_leave_blocking_section
002227ecmov rdi, rbx
002227efcall caml_stat_free
002227f4test ebp, ebp
002227f6jne 0x222831
002227f8mov [r12+160], r13
00222800mov rax, [rsp+88]
00222805sub rax, [0x28]
0022280ejne 0x22282c
00222810add rsp, 104
00222814mov eax, 1
00222819pop rbx
0022281apop rbp
0022281bpop r12
0022281dpop r13
0022281fret
00222820mov rdi, rbx
00222823call fn_222140
00222828call fn_f4590
0022282dmov rdi, [rsp+8]
00222832call caml_sys_error
00222837db 0xe5
00222838idiv edi
0022283adb 0xff
00222760
0022283b
0022283b // align 0x10
0022283b // align 0x10
00222840
00222840caml_sys_rename:
00222840push r12
00222842push rbp
00222843mov rbp, rdi
00222846push rbx
00222847mov rbx, rsi
0022284acall caml_string_is_c_safe
0022284ftest eax, eax
00222851je 0x2228b0
00222853mov rdi, rbx
00222856call caml_string_is_c_safe
0022285btest eax, eax
0022285dje 0x2228c2
0022285fmov rdi, rbp
00222862call caml_stat_strdup
00222867mov rdi, rbx
0022286amov rbp, rax
0022286dcall caml_stat_strdup
00222872mov rbx, rax
00222875call caml_enter_blocking_section
0022287amov rsi, rbx
0022287dmov rdi, rbp
00222880call fn_f47f0
00222885mov r12l, eax
00222888call caml_leave_blocking_section
0022288dmov rdi, rbx
00222890call caml_stat_free
00222895mov rdi, rbp
00222898call caml_stat_free
0022289dtest r12l, r12l
002228a0jne 0x2228b8
002228a2pop rbx
002228a3mov eax, 1
002228a8pop rbp
002228a9pop r12
002228abret
002228acmov rdi, rbp
002228afcall fn_222140
002228b4mov edi, 1
002228b9call caml_sys_error
002228bemov rdi, rbx
002228c1call fn_222140
002228c6db 0x76
002228c7clc
002228c8db 0xff
002228c9db 0xff
00222840
00222840caml_sys_rename:
00222840push r12
00222842push rbp
00222843mov rbp, rdi
00222846push rbx
00222847mov rbx, rsi
0022284acall caml_string_is_c_safe
0022284ftest eax, eax
00222851je 0x2228b0
00222853mov rdi, rbx
00222856call caml_string_is_c_safe
0022285btest eax, eax
0022285dje 0x2228c2
0022285fmov rdi, rbp
00222862call caml_stat_strdup
00222867mov rdi, rbx
0022286amov rbp, rax
0022286dcall caml_stat_strdup
00222872mov rbx, rax
00222875call caml_enter_blocking_section
0022287amov rsi, rbx
0022287dmov rdi, rbp
00222880call fn_f47f0
00222885mov r12l, eax
00222888call caml_leave_blocking_section
0022288dmov rdi, rbx
00222890call caml_stat_free
00222895mov rdi, rbp
00222898call caml_stat_free
0022289dtest r12l, r12l
002228a0jne 0x2228b8
002228a2pop rbx
002228a3mov eax, 1
002228a8pop rbp
002228a9pop r12
002228abret
002228acmov rdi, rbp
002228afcall fn_222140
002228b4mov edi, 1
002228b9call caml_sys_error
002228bemov rdi, rbx
002228c1call fn_222140
002228c6db 0x76
002228c7clc
002228c8db 0xff
002228c9db 0xff
00222840
002228ca
002228ca // align 0x10
002228ca // align 0x10
002228d0
002228d0caml_sys_chdir:
002228d0push r13
002228d2push r12
002228d4push rbp
002228d5push rbx
002228d6mov rbx, rdi
002228d9sub rsp, 104
002228ddmov [rsp+8], rdi
002228e2mov rax, [0x28]
002228ebmov [rsp+88], rax
002228f0mov rax, [rip+0x536ed]
002228f7mov r12, [rax]
002228fblea rax, [rsp+16]
00222900mov r13, [r12+160]
00222908mov [r12+160], rax
00222910mov eax, 1
00222915movq x0, rax
0022291alea rax, [rsp+8]
0022291fpunpcklqdq x0, x0
00222923mov [rsp+16], r13
00222928mov [rsp+40], rax
0022292dmovups [rsp+24], x0
00222932call caml_string_is_c_safe
00222937test eax, eax
00222939je 0x222994
0022293bmov rdi, [rsp+8]
00222940call caml_stat_strdup
00222945mov rbx, rax
00222948call caml_enter_blocking_section
0022294dmov rdi, rbx
00222950call fn_f4040
00222955mov ebp, eax
00222957call caml_leave_blocking_section
0022295cmov rdi, rbx
0022295fcall caml_stat_free
00222964test ebp, ebp
00222966jne 0x2229a1
00222968mov [r12+160], r13
00222970mov rax, [rsp+88]
00222975sub rax, [0x28]
0022297ejne 0x22299c
00222980add rsp, 104
00222984mov eax, 1
00222989pop rbx
0022298apop rbp
0022298bpop r12
0022298dpop r13
0022298fret
00222990mov rdi, rbx
00222993call fn_222140
00222998call fn_f4590
0022299dmov rdi, [rsp+8]
002229a2call caml_sys_error
002229a7db 0x75
002229a8idiv bh
002229aadb 0xff
002228d0
002228d0caml_sys_chdir:
002228d0push r13
002228d2push r12
002228d4push rbp
002228d5push rbx
002228d6mov rbx, rdi
002228d9sub rsp, 104
002228ddmov [rsp+8], rdi
002228e2mov rax, [0x28]
002228ebmov [rsp+88], rax
002228f0mov rax, [rip+0x536ed]
002228f7mov r12, [rax]
002228fblea rax, [rsp+16]
00222900mov r13, [r12+160]
00222908mov [r12+160], rax
00222910mov eax, 1
00222915movq x0, rax
0022291alea rax, [rsp+8]
0022291fpunpcklqdq x0, x0
00222923mov [rsp+16], r13
00222928mov [rsp+40], rax
0022292dmovups [rsp+24], x0
00222932call caml_string_is_c_safe
00222937test eax, eax
00222939je 0x222994
0022293bmov rdi, [rsp+8]
00222940call caml_stat_strdup
00222945mov rbx, rax
00222948call caml_enter_blocking_section
0022294dmov rdi, rbx
00222950call fn_f4040
00222955mov ebp, eax
00222957call caml_leave_blocking_section
0022295cmov rdi, rbx
0022295fcall caml_stat_free
00222964test ebp, ebp
00222966jne 0x2229a1
00222968mov [r12+160], r13
00222970mov rax, [rsp+88]
00222975sub rax, [0x28]
0022297ejne 0x22299c
00222980add rsp, 104
00222984mov eax, 1
00222989pop rbx
0022298apop rbp
0022298bpop r12
0022298dpop r13
0022298fret
00222990mov rdi, rbx
00222993call fn_222140
00222998call fn_f4590
0022299dmov rdi, [rsp+8]
002229a2call caml_sys_error
002229a7db 0x75
002229a8idiv bh
002229aadb 0xff
002228d0
002229ab
002229ab // align 0x10
002229ab // align 0x10
002229b0
002229b0caml_sys_mkdir:
002229b0push r13
002229b2push r12
002229b4push rbp
002229b5mov rbp, rdi
002229b8push rbx
002229b9mov rbx, rsi
002229bcsar rbx, 1
002229bfsub rsp, 104
002229c3movdqa x0, [rip+30465]
002229cbmov [rsp+8], rdi
002229d0movq x1, rsp
002229d5mov [rsp], rsi
002229d9mov rax, [0x28]
002229e2mov [rsp+88], rax
002229e7mov rax, [rip+0x535f6]
002229eemov r12, [rax]
002229f2lea rax, [rsp+16]
002229f7movups [rsp+24], x0
002229fcmov r13, [r12+160]
00222a04mov [r12+160], rax
00222a0clea rax, [rsp+8]
00222a11movq x0, rax
00222a16punpcklqdq x0, x1
00222a1amov [rsp+16], r13
00222a1fmovups [rsp+40], x0
00222a24call caml_string_is_c_safe
00222a29test eax, eax
00222a2bje 0x222a89
00222a2dmov rdi, [rsp+8]
00222a32call caml_stat_strdup
00222a37mov rbp, rax
00222a3acall caml_enter_blocking_section
00222a3fmov esi, ebx
00222a41mov rdi, rbp
00222a44call fn_f4810
00222a49mov ebx, eax
00222a4bcall caml_leave_blocking_section
00222a50mov rdi, rbp
00222a53call caml_stat_free
00222a58cmp ebx, -1
00222a5bje 0x222a96
00222a5dmov [r12+160], r13
00222a65mov rax, [rsp+88]
00222a6asub rax, [0x28]
00222a73jne 0x222a91
00222a75add rsp, 104
00222a79mov eax, 1
00222a7epop rbx
00222a7fpop rbp
00222a80pop r12
00222a82pop r13
00222a84ret
00222a85mov rdi, rbp
00222a88call fn_222140
00222a8dcall fn_f4590
00222a92mov rdi, [rsp+8]
00222a97call caml_sys_error
00222a9cdb 0x80
00222a9dcmc
00222a9edb 0xff
00222a9fdb 0xff
002229b0
002229b0caml_sys_mkdir:
002229b0push r13
002229b2push r12
002229b4push rbp
002229b5mov rbp, rdi
002229b8push rbx
002229b9mov rbx, rsi
002229bcsar rbx, 1
002229bfsub rsp, 104
002229c3movdqa x0, [rip+30465]
002229cbmov [rsp+8], rdi
002229d0movq x1, rsp
002229d5mov [rsp], rsi
002229d9mov rax, [0x28]
002229e2mov [rsp+88], rax
002229e7mov rax, [rip+0x535f6]
002229eemov r12, [rax]
002229f2lea rax, [rsp+16]
002229f7movups [rsp+24], x0
002229fcmov r13, [r12+160]
00222a04mov [r12+160], rax
00222a0clea rax, [rsp+8]
00222a11movq x0, rax
00222a16punpcklqdq x0, x1
00222a1amov [rsp+16], r13
00222a1fmovups [rsp+40], x0
00222a24call caml_string_is_c_safe
00222a29test eax, eax
00222a2bje 0x222a89
00222a2dmov rdi, [rsp+8]
00222a32call caml_stat_strdup
00222a37mov rbp, rax
00222a3acall caml_enter_blocking_section
00222a3fmov esi, ebx
00222a41mov rdi, rbp
00222a44call fn_f4810
00222a49mov ebx, eax
00222a4bcall caml_leave_blocking_section
00222a50mov rdi, rbp
00222a53call caml_stat_free
00222a58cmp ebx, -1
00222a5bje 0x222a96
00222a5dmov [r12+160], r13
00222a65mov rax, [rsp+88]
00222a6asub rax, [0x28]
00222a73jne 0x222a91
00222a75add rsp, 104
00222a79mov eax, 1
00222a7epop rbx
00222a7fpop rbp
00222a80pop r12
00222a82pop r13
00222a84ret
00222a85mov rdi, rbp
00222a88call fn_222140
00222a8dcall fn_f4590
00222a92mov rdi, [rsp+8]
00222a97call caml_sys_error
00222a9cdb 0x80
00222a9dcmc
00222a9edb 0xff
00222a9fdb 0xff
002229b0
00222aa0
00222aa0caml_sys_rmdir:
00222aa0push r13
00222aa2push r12
00222aa4push rbp
00222aa5push rbx
00222aa6mov rbx, rdi
00222aa9sub rsp, 104
00222aadmov [rsp+8], rdi
00222ab2mov rax, [0x28]
00222abbmov [rsp+88], rax
00222ac0mov rax, [rip+0x5351d]
00222ac7mov r12, [rax]
00222acblea rax, [rsp+16]
00222ad0mov r13, [r12+160]
00222ad8mov [r12+160], rax
00222ae0mov eax, 1
00222ae5movq x0, rax
00222aealea rax, [rsp+8]
00222aefpunpcklqdq x0, x0
00222af3mov [rsp+16], r13
00222af8mov [rsp+40], rax
00222afdmovups [rsp+24], x0
00222b02call caml_string_is_c_safe
00222b07test eax, eax
00222b09je 0x222b65
00222b0bmov rdi, [rsp+8]
00222b10call caml_stat_strdup
00222b15mov rbx, rax
00222b18call caml_enter_blocking_section
00222b1dmov rdi, rbx
00222b20call fn_f42a0
00222b25mov ebp, eax
00222b27call caml_leave_blocking_section
00222b2cmov rdi, rbx
00222b2fcall caml_stat_free
00222b34cmp ebp, -1
00222b37je 0x222b72
00222b39mov [r12+160], r13
00222b41mov rax, [rsp+88]
00222b46sub rax, [0x28]
00222b4fjne 0x222b6d
00222b51add rsp, 104
00222b55mov eax, 1
00222b5apop rbx
00222b5bpop rbp
00222b5cpop r12
00222b5epop r13
00222b60ret
00222b61mov rdi, rbx
00222b64call fn_222140
00222b69call fn_f4590
00222b6emov rdi, [rsp+8]
00222b73call caml_sys_error
00222b78db 0xa4
00222b79hlt
00222b7adb 0xff
00222b7bdb 0xff
00222aa0
00222aa0caml_sys_rmdir:
00222aa0push r13
00222aa2push r12
00222aa4push rbp
00222aa5push rbx
00222aa6mov rbx, rdi
00222aa9sub rsp, 104
00222aadmov [rsp+8], rdi
00222ab2mov rax, [0x28]
00222abbmov [rsp+88], rax
00222ac0mov rax, [rip+0x5351d]
00222ac7mov r12, [rax]
00222acblea rax, [rsp+16]
00222ad0mov r13, [r12+160]
00222ad8mov [r12+160], rax
00222ae0mov eax, 1
00222ae5movq x0, rax
00222aealea rax, [rsp+8]
00222aefpunpcklqdq x0, x0
00222af3mov [rsp+16], r13
00222af8mov [rsp+40], rax
00222afdmovups [rsp+24], x0
00222b02call caml_string_is_c_safe
00222b07test eax, eax
00222b09je 0x222b65
00222b0bmov rdi, [rsp+8]
00222b10call caml_stat_strdup
00222b15mov rbx, rax
00222b18call caml_enter_blocking_section
00222b1dmov rdi, rbx
00222b20call fn_f42a0
00222b25mov ebp, eax
00222b27call caml_leave_blocking_section
00222b2cmov rdi, rbx
00222b2fcall caml_stat_free
00222b34cmp ebp, -1
00222b37je 0x222b72
00222b39mov [r12+160], r13
00222b41mov rax, [rsp+88]
00222b46sub rax, [0x28]
00222b4fjne 0x222b6d
00222b51add rsp, 104
00222b55mov eax, 1
00222b5apop rbx
00222b5bpop rbp
00222b5cpop r12
00222b5epop r13
00222b60ret
00222b61mov rdi, rbx
00222b64call fn_222140
00222b69call fn_f4590
00222b6emov rdi, [rsp+8]
00222b73call caml_sys_error
00222b78db 0xa4
00222b79hlt
00222b7adb 0xff
00222b7bdb 0xff
00222aa0
00222b7c
00222b7c // align 0x10
00222b7c // align 0x10
00222b80
00222b80caml_sys_getcwd:
00222b80push rbx
00222b81sub rsp, 4096
00222b88or [rsp], 0
00222b8dsub rsp, 16
00222b91mov rsi, [0x28]
00222b9amov [rsp+4104], rsi
00222ba2mov esi, 4096
00222ba7mov rdi, rsp
00222baacall fn_f45b0
00222baftest rax, rax
00222bb2je 0x222bdc
00222bb4mov rdi, rsp
00222bb7call caml_copy_string
00222bbcmov rdx, [rsp+4104]
00222bc4sub rdx, [0x28]
00222bcdjne 0x222be6
00222bcfadd rsp, 4112
00222bd6pop rbx
00222bd7ret
00222bd8mov edi, 1
00222bddcall caml_sys_error
00222be2call fn_f4590
00222be7db 0xa5
00222be8sbb ebp, ebp
00222beadb 0xff
00222b80
00222b80caml_sys_getcwd:
00222b80push rbx
00222b81sub rsp, 4096
00222b88or [rsp], 0
00222b8dsub rsp, 16
00222b91mov rsi, [0x28]
00222b9amov [rsp+4104], rsi
00222ba2mov esi, 4096
00222ba7mov rdi, rsp
00222baacall fn_f45b0
00222baftest rax, rax
00222bb2je 0x222bdc
00222bb4mov rdi, rsp
00222bb7call caml_copy_string
00222bbcmov rdx, [rsp+4104]
00222bc4sub rdx, [0x28]
00222bcdjne 0x222be6
00222bcfadd rsp, 4112
00222bd6pop rbx
00222bd7ret
00222bd8mov edi, 1
00222bddcall caml_sys_error
00222be2call fn_f4590
00222be7db 0xa5
00222be8sbb ebp, ebp
00222beadb 0xff
00222b80
00222beb
00222beb // align 0x10
00222beb // align 0x10
00222bf0
00222bf0caml_sys_unsafe_getenv:
00222bf0push rbp
00222bf1push rbx
00222bf2mov rbx, rdi
00222bf5sub rsp, 8
00222bf9call caml_string_is_c_safe
00222bfetest eax, eax
00222c00je 0x222c37
00222c02mov rdi, rbx
00222c05call caml_stat_strdup
00222c0amov rdi, rax
00222c0dmov rbp, rax
00222c10call fn_f4540
00222c15mov rdi, rbp
00222c18mov rbx, rax
00222c1bcall caml_stat_free
00222c20test rbx, rbx
00222c23je 0x222c37
00222c25add rsp, 8
00222c29mov rdi, rbx
00222c2cpop rbx
00222c2dpop rbp
00222c2ejmp 0x1f8ba0
00222c33call caml_raise_not_found
00222c38db 0xa4
00222c39db 0x3e
00222c3adb 0xfe
00222c3bdb 0xff
00222bf0
00222bf0caml_sys_unsafe_getenv:
00222bf0push rbp
00222bf1push rbx
00222bf2mov rbx, rdi
00222bf5sub rsp, 8
00222bf9call caml_string_is_c_safe
00222bfetest eax, eax
00222c00je 0x222c37
00222c02mov rdi, rbx
00222c05call caml_stat_strdup
00222c0amov rdi, rax
00222c0dmov rbp, rax
00222c10call fn_f4540
00222c15mov rdi, rbp
00222c18mov rbx, rax
00222c1bcall caml_stat_free
00222c20test rbx, rbx
00222c23je 0x222c37
00222c25add rsp, 8
00222c29mov rdi, rbx
00222c2cpop rbx
00222c2dpop rbp
00222c2ejmp 0x1f8ba0
00222c33call caml_raise_not_found
00222c38db 0xa4
00222c39db 0x3e
00222c3adb 0xfe
00222c3bdb 0xff
00222bf0
00222c3c
00222c3c // align 0x10
00222c3c // align 0x10
00222c40
00222c40caml_sys_getenv:
00222c40push rbp
00222c41push rbx
00222c42mov rbx, rdi
00222c45sub rsp, 8
00222c49call caml_string_is_c_safe
00222c4etest eax, eax
00222c50je 0x222c87
00222c52mov rdi, rbx
00222c55call caml_stat_strdup
00222c5amov rdi, rax
00222c5dmov rbp, rax
00222c60call caml_secure_getenv
00222c65mov rdi, rbp
00222c68mov rbx, rax
00222c6bcall caml_stat_free
00222c70test rbx, rbx
00222c73je 0x222c87
00222c75add rsp, 8
00222c79mov rdi, rbx
00222c7cpop rbx
00222c7dpop rbp
00222c7ejmp 0x1f8ba0
00222c83call caml_raise_not_found
00222c88db 0x54
00222c89db 0x3e
00222c8adb 0xfe
00222c8bdb 0xff
00222c40
00222c40caml_sys_getenv:
00222c40push rbp
00222c41push rbx
00222c42mov rbx, rdi
00222c45sub rsp, 8
00222c49call caml_string_is_c_safe
00222c4etest eax, eax
00222c50je 0x222c87
00222c52mov rdi, rbx
00222c55call caml_stat_strdup
00222c5amov rdi, rax
00222c5dmov rbp, rax
00222c60call caml_secure_getenv
00222c65mov rdi, rbp
00222c68mov rbx, rax
00222c6bcall caml_stat_free
00222c70test rbx, rbx
00222c73je 0x222c87
00222c75add rsp, 8
00222c79mov rdi, rbx
00222c7cpop rbx
00222c7dpop rbp
00222c7ejmp 0x1f8ba0
00222c83call caml_raise_not_found
00222c88db 0x54
00222c89db 0x3e
00222c8adb 0xfe
00222c8bdb 0xff
00222c40
00222c8c
00222c8c // align 0x10
00222c8c // align 0x10
00222c90
00222c90caml_sys_get_argv:
00222c90push rbp
00222c91push rbx
00222c92sub rsp, 104
00222c96movdqa x0, [rip+29742]
00222c9emov rax, [0x28]
00222ca7mov [rsp+88], rax
00222cacmov rax, [rip+0x53331]
00222cb3mov rbx, [rax]
00222cb7lea rax, [rsp+16]
00222cbcmovups [rsp+24], x0
00222cc1movq x0, rsp
00222cc6mov [rsp], 1
00222ccemov [rsp+8], 1
00222cd7mov rbp, [rbx+160]
00222cdemov [rbx+160], rax
00222ce5lea rax, [rsp+8]
00222ceamovq x1, rax
00222cefmov rax, [rip+0x52c5e]
00222cf6mov [rsp+16], rbp
00222cfbpunpcklqdq x0, x1
00222cffmovups [rsp+40], x0
00222d04mov rdi, [rax]
00222d07call caml_copy_string
00222d0cxor esi, esi
00222d0emov edi, 2
00222d13mov [rsp], rax
00222d17call caml_alloc_small
00222d1cmov rdx, [rsp]
00222d20mov [rsp+8], rax
00222d25mov [rax], rdx
00222d28mov rax, [rsp+8]
00222d2dmov rdx, [rip+0x156450]
00222d34mov [rax+8], rdx
00222d38mov rax, [rsp+8]
00222d3dmov [rbx+160], rbp
00222d44mov rdx, [rsp+88]
00222d49sub rdx, [0x28]
00222d52jne 0x222d5f
00222d54add rsp, 104
00222d58pop rbx
00222d59pop rbp
00222d5aret
00222d5bcall fn_f4590
00222d60db 0x2c
00222d61sbb ch, ch
00222d63db 0xff
00222c90
00222c90caml_sys_get_argv:
00222c90push rbp
00222c91push rbx
00222c92sub rsp, 104
00222c96movdqa x0, [rip+29742]
00222c9emov rax, [0x28]
00222ca7mov [rsp+88], rax
00222cacmov rax, [rip+0x53331]
00222cb3mov rbx, [rax]
00222cb7lea rax, [rsp+16]
00222cbcmovups [rsp+24], x0
00222cc1movq x0, rsp
00222cc6mov [rsp], 1
00222ccemov [rsp+8], 1
00222cd7mov rbp, [rbx+160]
00222cdemov [rbx+160], rax
00222ce5lea rax, [rsp+8]
00222ceamovq x1, rax
00222cefmov rax, [rip+0x52c5e]
00222cf6mov [rsp+16], rbp
00222cfbpunpcklqdq x0, x1
00222cffmovups [rsp+40], x0
00222d04mov rdi, [rax]
00222d07call caml_copy_string
00222d0cxor esi, esi
00222d0emov edi, 2
00222d13mov [rsp], rax
00222d17call caml_alloc_small
00222d1cmov rdx, [rsp]
00222d20mov [rsp+8], rax
00222d25mov [rax], rdx
00222d28mov rax, [rsp+8]
00222d2dmov rdx, [rip+0x156450]
00222d34mov [rax+8], rdx
00222d38mov rax, [rsp+8]
00222d3dmov [rbx+160], rbp
00222d44mov rdx, [rsp+88]
00222d49sub rdx, [0x28]
00222d52jne 0x222d5f
00222d54add rsp, 104
00222d58pop rbx
00222d59pop rbp
00222d5aret
00222d5bcall fn_f4590
00222d60db 0x2c
00222d61sbb ch, ch
00222d63db 0xff
00222c90
00222d64
00222d64 // align 0x10
00222d64 // align 0x10
00222d70
00222d70caml_sys_argv:
00222d70mov rax, [rip+0x15640d]
00222d77ret
00222d78db 0x64
00222d79db 0x15
00222d7aadd bl, al
00222d70
00222d70caml_sys_argv:
00222d70mov rax, [rip+0x15640d]
00222d77ret
00222d78db 0x64
00222d79db 0x15
00222d7aadd bl, al
00222d70
00222d7c
00222d7c // align 0x10
00222d7c // align 0x10
00222d80
00222d80caml_sys_modify_argv:
00222d80sub rsp, 8
00222d84mov rsi, rdi
00222d87lea rdi, [rip+0x1563f6]
00222d8ecall caml_modify_generational_global_root
00222d93mov eax, 1
00222d98add rsp, 8
00222d9cret
00222d9ddb 0x83
00222d9edb 0xc4
00222d9for bl, al
00222d80
00222d80caml_sys_modify_argv:
00222d80sub rsp, 8
00222d84mov rsi, rdi
00222d87lea rdi, [rip+0x1563f6]
00222d8ecall caml_modify_generational_global_root
00222d93mov eax, 1
00222d98add rsp, 8
00222d9cret
00222d9ddb 0x83
00222d9edb 0xc4
00222d9for bl, al
00222d80
00222da1
00222da1 // align 0x10
00222da1 // align 0x10
00222db0
00222db0caml_sys_executable_name:
00222db0mov rax, [rip+0x52b9d]
00222db7mov rdi, [rax]
00222dbajmp 0x1f8ba0
00222dbfdb 0xdd
00222dc0pop rbp
00222dc1std
00222dc2db 0xff
00222db0
00222db0caml_sys_executable_name:
00222db0mov rax, [rip+0x52b9d]
00222db7mov rdi, [rax]
00222dbajmp 0x1f8ba0
00222dbfdb 0xdd
00222dc0pop rbp
00222dc1std
00222dc2db 0xff
00222db0
00222dc3
00222dc3 // align 0x10
00222dc3 // align 0x10
00222dd0
00222dd0caml_sys_init:
00222dd0push rbx
00222dd1mov rbx, rsi
00222dd4call caml_init_exe_name
00222dd9lea rdi, [rip-0x2a244]
00222de0mov rsi, rbx
00222de3call caml_alloc_array
00222de8lea rdi, [rip+0x156395]
00222defpop rbx
00222df0mov [rip+0x15638d], rax
00222df7jmp 0x209dd0
00222dfcdb 0xd0
00222dfdoutsd dx, [rsi]
00222dfedb 0xfe
00222dffdb 0xff
00222dd0
00222dd0caml_sys_init:
00222dd0push rbx
00222dd1mov rbx, rsi
00222dd4call caml_init_exe_name
00222dd9lea rdi, [rip-0x2a244]
00222de0mov rsi, rbx
00222de3call caml_alloc_array
00222de8lea rdi, [rip+0x156395]
00222defpop rbx
00222df0mov [rip+0x15638d], rax
00222df7jmp 0x209dd0
00222dfcdb 0xd0
00222dfdoutsd dx, [rsi]
00222dfedb 0xfe
00222dffdb 0xff
00222dd0
00222e00
00222e00caml_sys_system_command:
00222e00push r13
00222e02push r12
00222e04push rbp
00222e05push rbx
00222e06sub rsp, 104
00222e0amov [rsp+8], rdi
00222e0fmov rax, [0x28]
00222e18mov [rsp+88], rax
00222e1dmov rax, [rip+0x531c0]
00222e24mov r13, [rax]
00222e28lea rax, [rsp+16]
00222e2dmov r12, [r13+160]
00222e34mov [r13+160], rax
00222e3bmov eax, 1
00222e40movq x0, rax
00222e45lea rax, [rsp+8]
00222e4apunpcklqdq x0, x0
00222e4emov [rsp+16], r12
00222e53mov [rsp+40], rax
00222e58movups [rsp+24], x0
00222e5dcall caml_string_is_c_safe
00222e62mov rdi, [rsp+8]
00222e67test eax, eax
00222e69je 0x222edc
00222e6bcall caml_stat_strdup
00222e70mov rbp, rax
00222e73call caml_enter_blocking_section
00222e78mov rdi, rbp
00222e7bcall fn_f4270
00222e80mov ebx, eax
00222e82call caml_leave_blocking_section
00222e87mov rdi, rbp
00222e8acall caml_stat_free
00222e8fcmp ebx, -1
00222e92je 0x222ed2
00222e94mov eax, 511
00222e99test bl, 127
00222e9cje 0x222ec8
00222e9emov [r13+160], r12
00222ea5mov rdx, [rsp+88]
00222eaasub rdx, [0x28]
00222eb3jne 0x222ef4
00222eb5add rsp, 104
00222eb9pop rbx
00222ebapop rbp
00222ebbpop r12
00222ebdpop r13
00222ebfret
00222ec0db 0x5c
00222ec1pop r13
00222ec3ret
00222ec4
00222ec4 0f 1f 40 00 ..@.
00222ec8
00222ec8loc_222ec8:
00222ec8movzx ebx, bh
00222ecblea rax, [rbx+rbx+1]
00222ed0jmp 0x222ea2
00222ed2
00222ed2loc_222ed2:
00222ed2mov rdi, [rsp+8]
00222ed7call caml_sys_error
00222edc
00222edcloc_222edc:
00222edcmov [rsp], rdi
00222ee0call fn_f4570
00222ee5mov rdi, [rsp]
00222ee9mov [rax], 22
00222eefcall caml_sys_error
00222ef4
00222ef4loc_222ef4:
00222ef4call fn_f4590
00222e00
00222e00caml_sys_system_command:
00222e00push r13
00222e02push r12
00222e04push rbp
00222e05push rbx
00222e06sub rsp, 104
00222e0amov [rsp+8], rdi
00222e0fmov rax, [0x28]
00222e18mov [rsp+88], rax
00222e1dmov rax, [rip+0x531c0]
00222e24mov r13, [rax]
00222e28lea rax, [rsp+16]
00222e2dmov r12, [r13+160]
00222e34mov [r13+160], rax
00222e3bmov eax, 1
00222e40movq x0, rax
00222e45lea rax, [rsp+8]
00222e4apunpcklqdq x0, x0
00222e4emov [rsp+16], r12
00222e53mov [rsp+40], rax
00222e58movups [rsp+24], x0
00222e5dcall caml_string_is_c_safe
00222e62mov rdi, [rsp+8]
00222e67test eax, eax
00222e69je 0x222edc
00222e6bcall caml_stat_strdup
00222e70mov rbp, rax
00222e73call caml_enter_blocking_section
00222e78mov rdi, rbp
00222e7bcall fn_f4270
00222e80mov ebx, eax
00222e82call caml_leave_blocking_section
00222e87mov rdi, rbp
00222e8acall caml_stat_free
00222e8fcmp ebx, -1
00222e92je 0x222ed2
00222e94mov eax, 511
00222e99test bl, 127
00222e9cje 0x222ec8
00222e9emov [r13+160], r12
00222ea5mov rdx, [rsp+88]
00222eaasub rdx, [0x28]
00222eb3jne 0x222ef4
00222eb5add rsp, 104
00222eb9pop rbx
00222ebapop rbp
00222ebbpop r12
00222ebdpop r13
00222ebfret
00222ec0db 0x5c
00222ec1pop r13
00222ec3ret
00222ec4
00222ec4 0f 1f 40 00 ..@.
00222ec8
00222ec8loc_222ec8:
00222ec8movzx ebx, bh
00222ecblea rax, [rbx+rbx+1]
00222ed0jmp 0x222ea2
00222ed2
00222ed2loc_222ed2:
00222ed2mov rdi, [rsp+8]
00222ed7call caml_sys_error
00222edc
00222edcloc_222edc:
00222edcmov [rsp], rdi
00222ee0call fn_f4570
00222ee5mov rdi, [rsp]
00222ee9mov [rax], 22
00222eefcall caml_sys_error
00222ef4
00222ef4loc_222ef4:
00222ef4call fn_f4590
00222e00
00222ef9
00222ef9 // align 0x10
00222ef9 // align 0x10
00222f00
00222f00caml_sys_time_include_children_unboxed:
00222f00push rbp
00222f01push rbx
00222f02sub rsp, 184
00222f09mov rbx, [0x28]
00222f12mov [rsp+168], rbx
00222f1amov rbx, rdi
00222f1dlea rbp, [rsp+16]
00222f22xor edi, edi
00222f24mov rsi, rbp
00222f27call fn_f41c0
00222f2cpxor x0, x0
00222f30pxor x1, x1
00222f34movsd_xmm x2, [rip+30984]
00222f3ccvtsi2sd x0, [rsp+24]
00222f43cvtsi2sd x1, [rsp+16]
00222f4asar rbx, 1
00222f4ddivsd x0, x2
00222f51addsd x0, x1
00222f55pxor x1, x1
00222f59cvtsi2sd x1, [rsp+32]
00222f60addsd x0, x1
00222f64pxor x1, x1
00222f68cvtsi2sd x1, [rsp+40]
00222f6fdivsd x1, x2
00222f73addsd x0, x1
00222f77pxor x1, x1
00222f7baddsd x0, x1
00222f7ftest ebx, ebx
00222f81jne 0x222fa8
00222f83mov rax, [rsp+168]
00222f8bsub rax, [0x28]
00222f94jne 0x223012
00222f96add rsp, 184
00222f9dpop rbx
00222f9epop rbp
00222f9fret
00222fa0db 0x00
00222fa1pop rbx
00222fa2pop rbp
00222fa3ret
00222fa4
00222fa4 0f 1f 40 00 ..@.
00222fa8
00222fa8loc_222fa8:
00222fa8mov rsi, rbp
00222fabmov edi, -1
00222fb0movsd_xmm [rsp+8], x0
00222fb6call fn_f41c0
00222fbbpxor x1, x1
00222fbfpxor x3, x3
00222fc3movsd_xmm x2, [rip+30845]
00222fcbcvtsi2sd x1, [rsp+24]
00222fd2movsd_xmm x0, [rsp+8]
00222fd8cvtsi2sd x3, [rsp+16]
00222fdfdivsd x1, x2
00222fe3addsd x1, x3
00222fe7pxor x3, x3
00222febcvtsi2sd x3, [rsp+32]
00222ff2addsd x1, x3
00222ff6pxor x3, x3
00222ffacvtsi2sd x3, [rsp+40]
00223001divsd x3, x2
00223005addsd x1, x3
00223009addsd x0, x1
0022300djmp 0x222f87
00223012
00223012loc_223012:
00223012call fn_f4590
00222f00
00222f00caml_sys_time_include_children_unboxed:
00222f00push rbp
00222f01push rbx
00222f02sub rsp, 184
00222f09mov rbx, [0x28]
00222f12mov [rsp+168], rbx
00222f1amov rbx, rdi
00222f1dlea rbp, [rsp+16]
00222f22xor edi, edi
00222f24mov rsi, rbp
00222f27call fn_f41c0
00222f2cpxor x0, x0
00222f30pxor x1, x1
00222f34movsd_xmm x2, [rip+30984]
00222f3ccvtsi2sd x0, [rsp+24]
00222f43cvtsi2sd x1, [rsp+16]
00222f4asar rbx, 1
00222f4ddivsd x0, x2
00222f51addsd x0, x1
00222f55pxor x1, x1
00222f59cvtsi2sd x1, [rsp+32]
00222f60addsd x0, x1
00222f64pxor x1, x1
00222f68cvtsi2sd x1, [rsp+40]
00222f6fdivsd x1, x2
00222f73addsd x0, x1
00222f77pxor x1, x1
00222f7baddsd x0, x1
00222f7ftest ebx, ebx
00222f81jne 0x222fa8
00222f83mov rax, [rsp+168]
00222f8bsub rax, [0x28]
00222f94jne 0x223012
00222f96add rsp, 184
00222f9dpop rbx
00222f9epop rbp
00222f9fret
00222fa0db 0x00
00222fa1pop rbx
00222fa2pop rbp
00222fa3ret
00222fa4
00222fa4 0f 1f 40 00 ..@.
00222fa8
00222fa8loc_222fa8:
00222fa8mov rsi, rbp
00222fabmov edi, -1
00222fb0movsd_xmm [rsp+8], x0
00222fb6call fn_f41c0
00222fbbpxor x1, x1
00222fbfpxor x3, x3
00222fc3movsd_xmm x2, [rip+30845]
00222fcbcvtsi2sd x1, [rsp+24]
00222fd2movsd_xmm x0, [rsp+8]
00222fd8cvtsi2sd x3, [rsp+16]
00222fdfdivsd x1, x2
00222fe3addsd x1, x3
00222fe7pxor x3, x3
00222febcvtsi2sd x3, [rsp+32]
00222ff2addsd x1, x3
00222ff6pxor x3, x3
00222ffacvtsi2sd x3, [rsp+40]
00223001divsd x3, x2
00223005addsd x1, x3
00223009addsd x0, x1
0022300djmp 0x222f87
00223012
00223012loc_223012:
00223012call fn_f4590
00222f00
Loading..