File hevea_f46f610a6b0078f4aa208dda361f21de574cc56ad64b32889301afc466d33979.elf
Function:
Loading..
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
00223017
00223017 // align 0x10
00223017 // align 0x10
00223020
00223020caml_sys_time_include_children:
00223020sub rsp, 8
00223024call caml_sys_time_include_children_unboxed
00223029add rsp, 8
0022302djmp 0x2075f0
00223032db 0xba
00223033db 0x45
00223034db 0xfe
00223035db 0xff
00223020
00223020caml_sys_time_include_children:
00223020sub rsp, 8
00223024call caml_sys_time_include_children_unboxed
00223029add rsp, 8
0022302djmp 0x2075f0
00223032db 0xba
00223033db 0x45
00223034db 0xfe
00223035db 0xff
00223020
00223036
00223036 // align 0x10
00223036 // align 0x10
00223040
00223040caml_sys_time_unboxed:
00223040sub rsp, 168
00223047xor edi, edi
00223049mov rsi, [0x28]
00223052mov [rsp+152], rsi
0022305amov rsi, rsp
0022305dcall fn_f41c0
00223062pxor x0, x0
00223066pxor x1, x1
0022306amovsd_xmm x2, [rip+30674]
00223072cvtsi2sd x0, [rsp+8]
00223079cvtsi2sd x1, [rsp]
0022307fdivsd x0, x2
00223083addsd x0, x1
00223087pxor x1, x1
0022308bcvtsi2sd x1, [rsp+16]
00223092addsd x0, x1
00223096pxor x1, x1
0022309acvtsi2sd x1, [rsp+24]
002230a1divsd x1, x2
002230a5addsd x0, x1
002230a9pxor x1, x1
002230adaddsd x0, x1
002230b1mov rax, [rsp+152]
002230b9sub rax, [0x28]
002230c2jne 0x2230d0
002230c4add rsp, 168
002230cbret
002230cccall fn_f4590
002230d1db 0xbb
002230d2adc al, -19
002230d4db 0xff
00223040
00223040caml_sys_time_unboxed:
00223040sub rsp, 168
00223047xor edi, edi
00223049mov rsi, [0x28]
00223052mov [rsp+152], rsi
0022305amov rsi, rsp
0022305dcall fn_f41c0
00223062pxor x0, x0
00223066pxor x1, x1
0022306amovsd_xmm x2, [rip+30674]
00223072cvtsi2sd x0, [rsp+8]
00223079cvtsi2sd x1, [rsp]
0022307fdivsd x0, x2
00223083addsd x0, x1
00223087pxor x1, x1
0022308bcvtsi2sd x1, [rsp+16]
00223092addsd x0, x1
00223096pxor x1, x1
0022309acvtsi2sd x1, [rsp+24]
002230a1divsd x1, x2
002230a5addsd x0, x1
002230a9pxor x1, x1
002230adaddsd x0, x1
002230b1mov rax, [rsp+152]
002230b9sub rax, [0x28]
002230c2jne 0x2230d0
002230c4add rsp, 168
002230cbret
002230cccall fn_f4590
002230d1db 0xbb
002230d2adc al, -19
002230d4db 0xff
00223040
002230d5
002230d5 // align 0x10
002230d5 // align 0x10
002230e0
002230e0caml_sys_time:
002230e0sub rsp, 168
002230e7xor edi, edi
002230e9mov rsi, [0x28]
002230f2mov [rsp+152], rsi
002230famov rsi, rsp
002230fdcall fn_f41c0
00223102pxor x0, x0
00223106pxor x1, x1
0022310amovsd_xmm x2, [rip+30514]
00223112cvtsi2sd x0, [rsp+8]
00223119cvtsi2sd x1, [rsp]
0022311fdivsd x0, x2
00223123addsd x0, x1
00223127pxor x1, x1
0022312bcvtsi2sd x1, [rsp+16]
00223132addsd x0, x1
00223136pxor x1, x1
0022313acvtsi2sd x1, [rsp+24]
00223141divsd x1, x2
00223145addsd x0, x1
00223149pxor x1, x1
0022314daddsd x0, x1
00223151mov rax, [rsp+152]
00223159sub rax, [0x28]
00223162jne 0x223174
00223164add rsp, 168
0022316bjmp 0x2075f0
00223170call fn_f4590
00223175db 0x17
00223176adc al, -19
00223178db 0xff
002230e0
002230e0caml_sys_time:
002230e0sub rsp, 168
002230e7xor edi, edi
002230e9mov rsi, [0x28]
002230f2mov [rsp+152], rsi
002230famov rsi, rsp
002230fdcall fn_f41c0
00223102pxor x0, x0
00223106pxor x1, x1
0022310amovsd_xmm x2, [rip+30514]
00223112cvtsi2sd x0, [rsp+8]
00223119cvtsi2sd x1, [rsp]
0022311fdivsd x0, x2
00223123addsd x0, x1
00223127pxor x1, x1
0022312bcvtsi2sd x1, [rsp+16]
00223132addsd x0, x1
00223136pxor x1, x1
0022313acvtsi2sd x1, [rsp+24]
00223141divsd x1, x2
00223145addsd x0, x1
00223149pxor x1, x1
0022314daddsd x0, x1
00223151mov rax, [rsp+152]
00223159sub rax, [0x28]
00223162jne 0x223174
00223164add rsp, 168
0022316bjmp 0x2075f0
00223170call fn_f4590
00223175db 0x17
00223176adc al, -19
00223178db 0xff
002230e0
00223179
00223179 // align 0x10
00223179 // align 0x10
00223180
00223180caml_unix_random_seed:
00223180push r15
00223182mov esi, 12
00223187push r14
00223189push r13
0022318bpush r12
0022318dmov r12l, 12
00223193push rbp
00223194push rbx
00223195sub rsp, 56
00223199mov rbp, [0x28]
002231a2mov [rsp+40], rbp
002231a7mov rbp, rdi
002231aalea rbx, [rsp+28]
002231afmov rdi, rbx
002231b2call fn_f43f0
002231b7cmp eax, -1
002231baje 0x223290
002231c0lea ecx, [r12-1]
002231c5movsxd rax, ecx
002231c8mov ecx, ecx
002231calea rdx, [rbx+rax]
002231celea rsi, [rbp+8*rcx+8]
002231d3mov rax, rbp
002231d6nop [rax+rax]
002231dcmovzx ecx, [rdx]
002231dfadd rax, 8
002231e3sub rdx, 1
002231e7mov [rax-8], rcx
002231ebcmp rsi, rax
002231eejne 0x2231e0
002231f0cmp r12l, 11
002231f4jle 0x223220
002231f6mov rax, [rsp+40]
002231fbsub rax, [0x28]
00223204jne 0x2232f8
0022320aadd rsp, 56
0022320emov eax, r12l
00223211pop rbx
00223212pop rbp
00223213pop r12
00223215pop r13
00223217pop r14
00223219pop r15
0022321bret
0022321clea r14l, [r12+1]
00223221lea ebx, [r12+3]
00223226movsxd rax, r12l
00223229lea r13l, [r12+2]
0022322emovsxd r14, r14l
00223231movsxd rbx, ebx
00223234add r12l, 4
00223238lea r15, [rbp+8*rax]
0022323dshl r14, 3
00223241movsxd r13, r13l
00223244shl rbx, 3
00223248shl r13, 3
0022324cmov rdi, rsp
0022324fxor esi, esi
00223251call fn_f4220
00223256mov rax, [rsp+8]
0022325bmov [r15], rax
0022325emov rax, [rsp]
00223262mov [rbp+r14], rax
00223267call fn_f42f0
0022326ccdqe
0022326emov [rbp+r13], rax
00223273call fn_f46e0
00223278cdqe
0022327amov [rbp+rbx], rax
0022327fjmp 0x2231fa
00223284db 0x72
00223285db 0xff
00223286db 0xff
00223287db 0xff
00223288
00223288 0f 1f 84 00 00 00 00 00 ........
00223290
00223290loc_223290:
00223290xor edx, edx
00223292xor esi, esi
00223294lea rdi, [rip+50065]
0022329bxor eax, eax
0022329dcall fn_f4470
002232a2mov r13l, eax
002232a5cmp eax, -1
002232a8jne 0x2232d0
002232aa
002232aaloc_2232aa:
002232aamov r15, rbp
002232admov r13l, 16
002232b3mov ebx, 24
002232b8mov r12l, 4
002232bemov r14l, 8
002232c4jmp 0x223250
002232c6
002232c6 66 2e 0f 1f 84 00 00 00 00 00 f.........
002232d0
002232d0loc_2232d0:
002232d0mov edi, eax
002232d2mov edx, 12
002232d7mov rsi, rbx
002232dacall fn_f4230
002232dfmov edi, r13l
002232e2mov r14, rax
002232e5mov r12l, eax
002232e8call fn_f4140
002232edtest r14l, r14l
002232f0jg 0x2231c4
002232f6jmp 0x2232aa
002232f8
002232f8loc_2232f8:
002232f8call fn_f4590
00223180
00223180caml_unix_random_seed:
00223180push r15
00223182mov esi, 12
00223187push r14
00223189push r13
0022318bpush r12
0022318dmov r12l, 12
00223193push rbp
00223194push rbx
00223195sub rsp, 56
00223199mov rbp, [0x28]
002231a2mov [rsp+40], rbp
002231a7mov rbp, rdi
002231aalea rbx, [rsp+28]
002231afmov rdi, rbx
002231b2call fn_f43f0
002231b7cmp eax, -1
002231baje 0x223290
002231c0lea ecx, [r12-1]
002231c5movsxd rax, ecx
002231c8mov ecx, ecx
002231calea rdx, [rbx+rax]
002231celea rsi, [rbp+8*rcx+8]
002231d3mov rax, rbp
002231d6nop [rax+rax]
002231dcmovzx ecx, [rdx]
002231dfadd rax, 8
002231e3sub rdx, 1
002231e7mov [rax-8], rcx
002231ebcmp rsi, rax
002231eejne 0x2231e0
002231f0cmp r12l, 11
002231f4jle 0x223220
002231f6mov rax, [rsp+40]
002231fbsub rax, [0x28]
00223204jne 0x2232f8
0022320aadd rsp, 56
0022320emov eax, r12l
00223211pop rbx
00223212pop rbp
00223213pop r12
00223215pop r13
00223217pop r14
00223219pop r15
0022321bret
0022321clea r14l, [r12+1]
00223221lea ebx, [r12+3]
00223226movsxd rax, r12l
00223229lea r13l, [r12+2]
0022322emovsxd r14, r14l
00223231movsxd rbx, ebx
00223234add r12l, 4
00223238lea r15, [rbp+8*rax]
0022323dshl r14, 3
00223241movsxd r13, r13l
00223244shl rbx, 3
00223248shl r13, 3
0022324cmov rdi, rsp
0022324fxor esi, esi
00223251call fn_f4220
00223256mov rax, [rsp+8]
0022325bmov [r15], rax
0022325emov rax, [rsp]
00223262mov [rbp+r14], rax
00223267call fn_f42f0
0022326ccdqe
0022326emov [rbp+r13], rax
00223273call fn_f46e0
00223278cdqe
0022327amov [rbp+rbx], rax
0022327fjmp 0x2231fa
00223284db 0x72
00223285db 0xff
00223286db 0xff
00223287db 0xff
00223288
00223288 0f 1f 84 00 00 00 00 00 ........
00223290
00223290loc_223290:
00223290xor edx, edx
00223292xor esi, esi
00223294lea rdi, [rip+50065]
0022329bxor eax, eax
0022329dcall fn_f4470
002232a2mov r13l, eax
002232a5cmp eax, -1
002232a8jne 0x2232d0
002232aa
002232aaloc_2232aa:
002232aamov r15, rbp
002232admov r13l, 16
002232b3mov ebx, 24
002232b8mov r12l, 4
002232bemov r14l, 8
002232c4jmp 0x223250
002232c6
002232c6 66 2e 0f 1f 84 00 00 00 00 00 f.........
002232d0
002232d0loc_2232d0:
002232d0mov edi, eax
002232d2mov edx, 12
002232d7mov rsi, rbx
002232dacall fn_f4230
002232dfmov edi, r13l
002232e2mov r14, rax
002232e5mov r12l, eax
002232e8call fn_f4140
002232edtest r14l, r14l
002232f0jg 0x2231c4
002232f6jmp 0x2232aa
002232f8
002232f8loc_2232f8:
002232f8call fn_f4590
00223180
002232fd
002232fd // align 0x10
002232fd // align 0x10
00223300
00223300caml_sys_random_seed:
00223300push r12
00223302push rbp
00223303push rbx
00223304sub rsp, 144
0022330bmov rbx, [0x28]
00223314mov [rsp+136], rbx
0022331cmov rbx, rsp
0022331fmov rdi, rsp
00223322call caml_unix_random_seed
00223327xor esi, esi
00223329movsxd r12, eax
0022332cmov rdi, r12
0022332fcall caml_alloc_small
00223334lea rdi, [rax+8*r12]
00223338sub rbx, rax
0022333btest r12l, r12l
0022333ejle 0x223376
00223340mov rdx, rax
00223343mov rsi, rbx
00223346nop [rax+rax]
00223351nop [rax+rax]
0022335cmov rcx, [rsi+rdx]
00223360
00223360loc_223360:
00223360add rdx, 8
00223364lea rcx, [rcx+rcx+1]
00223369mov [rdx-8], rcx
0022336dcmp rdi, rdx
00223370jne 0x223360
00223372mov rdx, [rsp+136]
0022337asub rdx, [0x28]
00223383jne 0x223395
00223385add rsp, 144
0022338cpop rbx
0022338dpop rbp
0022338epop r12
00223390ret
00223391call fn_f4590
00223396db 0xf6
00223397adc ebp, ebp
00223399db 0xff
00223300
00223300caml_sys_random_seed:
00223300push r12
00223302push rbp
00223303push rbx
00223304sub rsp, 144
0022330bmov rbx, [0x28]
00223314mov [rsp+136], rbx
0022331cmov rbx, rsp
0022331fmov rdi, rsp
00223322call caml_unix_random_seed
00223327xor esi, esi
00223329movsxd r12, eax
0022332cmov rdi, r12
0022332fcall caml_alloc_small
00223334lea rdi, [rax+8*r12]
00223338sub rbx, rax
0022333btest r12l, r12l
0022333ejle 0x223376
00223340mov rdx, rax
00223343mov rsi, rbx
00223346nop [rax+rax]
00223351nop [rax+rax]
0022335cmov rcx, [rsi+rdx]
00223360
00223360loc_223360:
00223360add rdx, 8
00223364lea rcx, [rcx+rcx+1]
00223369mov [rdx-8], rcx
0022336dcmp rdi, rdx
00223370jne 0x223360
00223372mov rdx, [rsp+136]
0022337asub rdx, [0x28]
00223383jne 0x223395
00223385add rsp, 144
0022338cpop rbx
0022338dpop rbp
0022338epop r12
00223390ret
00223391call fn_f4590
00223396db 0xf6
00223397adc ebp, ebp
00223399db 0xff
00223300
0022339a
0022339a // align 0x10
0022339a // align 0x10
002233a0
002233a0caml_sys_const_big_endian:
002233a0mov eax, 1
002233a5ret
002233a6db 0x00
002233a7add [rax], al
002233a9ret
002233a0
002233a0caml_sys_const_big_endian:
002233a0mov eax, 1
002233a5ret
002233a6db 0x00
002233a7add [rax], al
002233a9ret
002233a0
002233aa
002233aa // align 0x10
002233aa // align 0x10
002233b0
002233b0caml_sys_const_word_size:
002233b0mov eax, 129
002233b5ret
002233b6db 0x00
002233b7add [rax], al
002233b9ret
002233b0
002233b0caml_sys_const_word_size:
002233b0mov eax, 129
002233b5ret
002233b6db 0x00
002233b7add [rax], al
002233b9ret
002233b0
002233ba
002233ba // align 0x10
002233ba // align 0x10
002233c0
002233c0caml_sys_const_int_size:
002233c0mov eax, 127
002233c5ret
002233c6db 0x00
002233c7add [rax], al
002233c9ret
002233c0
002233c0caml_sys_const_int_size:
002233c0mov eax, 127
002233c5ret
002233c6db 0x00
002233c7add [rax], al
002233c9ret
002233c0
002233ca
002233ca // align 0x10
002233ca // align 0x10
002233d0
002233d0caml_sys_const_max_wosize:
002233d0mov rax, 0x7fffffffffffff
002233daret
002233dbdb 0xff
002233dcjg 0x2233de
002233de
002233deloc_2233de:
002233deret
002233d0
002233d0caml_sys_const_max_wosize:
002233d0mov rax, 0x7fffffffffffff
002233daret
002233dbdb 0xff
002233dcjg 0x2233de
002233de
002233deloc_2233de:
002233deret
002233d0
002233df
002233df // align 0x10
002233df // align 0x10
002233e0
002233e0caml_sys_const_ostype_unix:
002233e0mov eax, 3
002233e5ret
002233e6db 0x00
002233e7add [rax], al
002233e9ret
002233e0
002233e0caml_sys_const_ostype_unix:
002233e0mov eax, 3
002233e5ret
002233e6db 0x00
002233e7add [rax], al
002233e9ret
002233e0
002233ea
002233ea // align 0x10
002233ea // align 0x10
002233f0
002233f0caml_sys_const_ostype_win32:
002233f0mov eax, 1
002233f5ret
002233f6db 0x00
002233f7add [rax], al
002233f9ret
002233f0
002233f0caml_sys_const_ostype_win32:
002233f0mov eax, 1
002233f5ret
002233f6db 0x00
002233f7add [rax], al
002233f9ret
002233f0
002233fa
002233fa // align 0x10
002233fa // align 0x10
00223400
00223400caml_sys_const_ostype_cygwin:
00223400mov eax, 1
00223405ret
00223406db 0x00
00223407add [rax], al
00223409ret
00223400
00223400caml_sys_const_ostype_cygwin:
00223400mov eax, 1
00223405ret
00223406db 0x00
00223407add [rax], al
00223409ret
00223400
0022340a
0022340a // align 0x10
0022340a // align 0x10
00223410
00223410caml_sys_const_backend_type:
00223410mov eax, 3
00223415ret
00223416db 0x00
00223417add [rax], al
00223419ret
00223410
00223410caml_sys_const_backend_type:
00223410mov eax, 3
00223415ret
00223416db 0x00
00223417add [rax], al
00223419ret
00223410
0022341a
0022341a // align 0x10
0022341a // align 0x10
00223420
00223420caml_sys_get_config:
00223420push rbp
00223421lea rdi, [rip+49677]
00223428push rbx
00223429sub rsp, 104
0022342dmovdqa x0, [rip+27799]
00223435mov rax, [0x28]
0022343emov [rsp+88], rax
00223443mov rax, [rip+0x52b9a]
0022344amov rbx, [rax]
0022344elea rax, [rsp+16]
00223453movups [rsp+24], x0
00223458movq x0, rsp
0022345dmov [rsp], 1
00223465mov [rsp+8], 1
0022346emov rbp, [rbx+160]
00223475mov [rbx+160], rax
0022347clea rax, [rsp+8]
00223481movq x1, rax
00223486mov [rsp+16], rbp
0022348bpunpcklqdq x0, x1
0022348fmovups [rsp+40], x0
00223494call caml_copy_string
00223499xor esi, esi
0022349bmov edi, 3
002234a0mov [rsp+8], rax
002234a5call caml_alloc_small
002234aamov rdx, [rsp+8]
002234afmov [rsp], rax
002234b3mov [rax], rdx
002234b6mov rax, [rsp]
002234bamov [rax+8], 129
002234c2mov rax, [rsp]
002234c6mov [rax+16], 1
002234cemov rax, [rsp]
002234d2mov [rbx+160], rbp
002234d9mov rdx, [rsp+88]
002234desub rdx, [0x28]
002234e7jne 0x2234f4
002234e9add rsp, 104
002234edpop rbx
002234eepop rbp
002234efret
002234f0call fn_f4590
002234f5db 0x97
002234f6adc ch, ch
002234f8db 0xff
00223420
00223420caml_sys_get_config:
00223420push rbp
00223421lea rdi, [rip+49677]
00223428push rbx
00223429sub rsp, 104
0022342dmovdqa x0, [rip+27799]
00223435mov rax, [0x28]
0022343emov [rsp+88], rax
00223443mov rax, [rip+0x52b9a]
0022344amov rbx, [rax]
0022344elea rax, [rsp+16]
00223453movups [rsp+24], x0
00223458movq x0, rsp
0022345dmov [rsp], 1
00223465mov [rsp+8], 1
0022346emov rbp, [rbx+160]
00223475mov [rbx+160], rax
0022347clea rax, [rsp+8]
00223481movq x1, rax
00223486mov [rsp+16], rbp
0022348bpunpcklqdq x0, x1
0022348fmovups [rsp+40], x0
00223494call caml_copy_string
00223499xor esi, esi
0022349bmov edi, 3
002234a0mov [rsp+8], rax
002234a5call caml_alloc_small
002234aamov rdx, [rsp+8]
002234afmov [rsp], rax
002234b3mov [rax], rdx
002234b6mov rax, [rsp]
002234bamov [rax+8], 129
002234c2mov rax, [rsp]
002234c6mov [rax+16], 1
002234cemov rax, [rsp]
002234d2mov [rbx+160], rbp
002234d9mov rdx, [rsp+88]
002234desub rdx, [0x28]
002234e7jne 0x2234f4
002234e9add rsp, 104
002234edpop rbx
002234eepop rbp
002234efret
002234f0call fn_f4590
002234f5db 0x97
002234f6adc ch, ch
002234f8db 0xff
00223420
002234f9
002234f9 // align 0x10
002234f9 // align 0x10
00223500
00223500caml_sys_read_directory:
00223500push r14
00223502push r13
00223504push r12
00223506push rbp
00223507push rbx
00223508mov rbx, rdi
0022350bsub rsp, 192
00223512mov [rsp+8], rdi
00223517mov rax, [0x28]
00223520mov [rsp+184], rax
00223528mov rax, [rip+0x52ab5]
0022352fmov r12, [rax]
00223533mov eax, 1
00223538mov [rsp+24], 1
00223541movq x0, rax
00223546lea rax, [rsp+8]
0022354bmov [rsp+72], rax
00223550lea rax, [rsp+48]
00223555mov r13, [r12+160]
0022355dpunpcklqdq x0, x0
00223561mov [rsp+112], rax
00223566lea rax, [rsp+112]
0022356bmov [r12+160], rax
00223573lea rax, [rsp+24]
00223578mov [rsp+48], r13
0022357dmov [rsp+136], rax
00223585movups [rsp+56], x0
0022358amovups [rsp+120], x0
0022358fcall caml_string_is_c_safe
00223594test eax, eax
00223596je 0x22363b
0022359clea rbp, [rsp+32]
002235a1mov esi, 50
002235a6mov rdi, rbp
002235a9call caml_ext_table_init
002235aemov rdi, [rsp+8]
002235b3call caml_stat_strdup
002235b8mov rbx, rax
002235bbcall caml_enter_blocking_section
002235c0mov rdi, rbx
002235c3mov rsi, rbp
002235c6call caml_read_directory
002235cbmov r14l, eax
002235cecall caml_leave_blocking_section
002235d3mov rdi, rbx
002235d6call caml_stat_free
002235dbcmp r14l, -1
002235dfje 0x223648
002235e1xor esi, esi
002235e3mov rdi, rbp
002235e6call caml_ext_table_add
002235ebmov rdi, [rsp+40]
002235f0call caml_copy_string_array
002235f5mov esi, 1
002235famov rdi, rbp
002235fdmov [rsp+24], rax
00223602call caml_ext_table_free
00223607mov [r12+160], r13
0022360fmov rax, [rsp+24]
00223614mov rdx, [rsp+184]
0022361csub rdx, [0x28]
00223625jne 0x223643
00223627add rsp, 192
0022362epop rbx
0022362fpop rbp
00223630pop r12
00223632pop r13
00223634pop r14
00223636ret
00223637mov rdi, rbx
0022363acall fn_222140
0022363fcall fn_f4590
00223644mov rdi, rbp
00223647mov esi, 1
0022364ccall caml_ext_table_free
00223651mov rdi, [rsp+8]
00223656call caml_sys_error
0022365bdb 0xc1
0022365cdb 0xe9
0022365ddb 0xff
0022365edb 0xff
00223500
00223500caml_sys_read_directory:
00223500push r14
00223502push r13
00223504push r12
00223506push rbp
00223507push rbx
00223508mov rbx, rdi
0022350bsub rsp, 192
00223512mov [rsp+8], rdi
00223517mov rax, [0x28]
00223520mov [rsp+184], rax
00223528mov rax, [rip+0x52ab5]
0022352fmov r12, [rax]
00223533mov eax, 1
00223538mov [rsp+24], 1
00223541movq x0, rax
00223546lea rax, [rsp+8]
0022354bmov [rsp+72], rax
00223550lea rax, [rsp+48]
00223555mov r13, [r12+160]
0022355dpunpcklqdq x0, x0
00223561mov [rsp+112], rax
00223566lea rax, [rsp+112]
0022356bmov [r12+160], rax
00223573lea rax, [rsp+24]
00223578mov [rsp+48], r13
0022357dmov [rsp+136], rax
00223585movups [rsp+56], x0
0022358amovups [rsp+120], x0
0022358fcall caml_string_is_c_safe
00223594test eax, eax
00223596je 0x22363b
0022359clea rbp, [rsp+32]
002235a1mov esi, 50
002235a6mov rdi, rbp
002235a9call caml_ext_table_init
002235aemov rdi, [rsp+8]
002235b3call caml_stat_strdup
002235b8mov rbx, rax
002235bbcall caml_enter_blocking_section
002235c0mov rdi, rbx
002235c3mov rsi, rbp
002235c6call caml_read_directory
002235cbmov r14l, eax
002235cecall caml_leave_blocking_section
002235d3mov rdi, rbx
002235d6call caml_stat_free
002235dbcmp r14l, -1
002235dfje 0x223648
002235e1xor esi, esi
002235e3mov rdi, rbp
002235e6call caml_ext_table_add
002235ebmov rdi, [rsp+40]
002235f0call caml_copy_string_array
002235f5mov esi, 1
002235famov rdi, rbp
002235fdmov [rsp+24], rax
00223602call caml_ext_table_free
00223607mov [r12+160], r13
0022360fmov rax, [rsp+24]
00223614mov rdx, [rsp+184]
0022361csub rdx, [0x28]
00223625jne 0x223643
00223627add rsp, 192
0022362epop rbx
0022362fpop rbp
00223630pop r12
00223632pop r13
00223634pop r14
00223636ret
00223637mov rdi, rbx
0022363acall fn_222140
0022363fcall fn_f4590
00223644mov rdi, rbp
00223647mov esi, 1
0022364ccall caml_ext_table_free
00223651mov rdi, [rsp+8]
00223656call caml_sys_error
0022365bdb 0xc1
0022365cdb 0xe9
0022365ddb 0xff
0022365edb 0xff
00223500
0022365f
0022365f // align 0x10
0022365f // align 0x10
00223660
00223660caml_sys_isatty:
00223660sub rsp, 8
00223664mov rax, [rdi+8]
00223668mov edi, [rax]
0022366acall fn_f41d0
0022366fcmp eax, 1
00223672sbb rax, rax
00223675add rsp, 8
00223679and rax, -2
0022367dadd rax, 3
00223681ret
00223682db 0x83
00223683rol [rbx], -61
00223660
00223660caml_sys_isatty:
00223660sub rsp, 8
00223664mov rax, [rdi+8]
00223668mov edi, [rax]
0022366acall fn_f41d0
0022366fcmp eax, 1
00223672sbb rax, rax
00223675add rsp, 8
00223679and rax, -2
0022367dadd rax, 3
00223681ret
00223682db 0x83
00223683rol [rbx], -61
00223660
00223686
00223686 // align 0x10
00223686 // align 0x10
00223690
00223690caml_xdg_defaults:
00223690mov eax, 1
00223695ret
00223696db 0x00
00223697add [rax], al
00223699ret
00223690
00223690caml_xdg_defaults:
00223690mov eax, 1
00223695ret
00223696db 0x00
00223697add [rax], al
00223699ret
00223690
0022369a
0022369a // align 0x10
0022369a // align 0x10
002236a0
002236a0caml_read_fd:
002236a0push r12
002236a2mov r12, rdx
002236a5push rbp
002236a6mov ebp, edi
002236a8push rbx
002236a9mov ebx, ecx
002236abcall caml_enter_blocking_section_no_pending
002236b0movsxd rdx, ebx
002236b3mov rsi, r12
002236b6mov edi, ebp
002236b8call fn_f4230
002236bdmov rbx, rax
002236c0call caml_leave_blocking_section
002236c5mov eax, ebx
002236c7pop rbx
002236c8pop rbp
002236c9pop r12
002236cbret
002236ccdb 0x5d
002236cdpop r12
002236cfret
002236a0
002236a0caml_read_fd:
002236a0push r12
002236a2mov r12, rdx
002236a5push rbp
002236a6mov ebp, edi
002236a8push rbx
002236a9mov ebx, ecx
002236abcall caml_enter_blocking_section_no_pending
002236b0movsxd rdx, ebx
002236b3mov rsi, r12
002236b6mov edi, ebp
002236b8call fn_f4230
002236bdmov rbx, rax
002236c0call caml_leave_blocking_section
002236c5mov eax, ebx
002236c7pop rbx
002236c8pop rbp
002236c9pop r12
002236cbret
002236ccdb 0x5d
002236cdpop r12
002236cfret
002236a0
002236d0
002236d0caml_write_fd:
002236d0push r14
002236d2push r13
002236d4mov r13l, edi
002236d7push r12
002236d9mov r12, rdx
002236dcpush rbp
002236ddmov ebp, ecx
002236dfpush rbx
002236e0nop [rax+rax]
002236ebnop
002236eccall caml_enter_blocking_section_no_pending
002236f1movsxd rdx, ebp
002236f4mov rsi, r12
002236f7mov edi, r13l
002236facall fn_f4760
002236ffmov rbx, rax
00223702mov r14l, eax
00223705call caml_leave_blocking_section
0022370acmp ebx, -1
0022370djne 0x22372d
0022370fcall fn_f4570
00223714cmp [rax], 11
00223717sete dl
0022371acmp ebp, 1
0022371dmov ebp, 1
00223722setg al
00223725test dl, al
00223727jne 0x2236f0
00223729pop rbx
0022372amov eax, r14l
0022372d
0022372dloc_22372d:
0022372dpop rbp
0022372epop r12
00223730pop r13
00223732pop r14
00223734ret
00223735db 0x5d
00223736pop r14
00223738ret
002236d0
002236d0caml_write_fd:
002236d0push r14
002236d2push r13
002236d4mov r13l, edi
002236d7push r12
002236d9mov r12, rdx
002236dcpush rbp
002236ddmov ebp, ecx
002236dfpush rbx
002236e0nop [rax+rax]
002236ebnop
002236eccall caml_enter_blocking_section_no_pending
002236f1movsxd rdx, ebp
002236f4mov rsi, r12
002236f7mov edi, r13l
002236facall fn_f4760
002236ffmov rbx, rax
00223702mov r14l, eax
00223705call caml_leave_blocking_section
0022370acmp ebx, -1
0022370djne 0x22372d
0022370fcall fn_f4570
00223714cmp [rax], 11
00223717sete dl
0022371acmp ebp, 1
0022371dmov ebp, 1
00223722setg al
00223725test dl, al
00223727jne 0x2236f0
00223729pop rbx
0022372amov eax, r14l
0022372d
0022372dloc_22372d:
0022372dpop rbp
0022372epop r12
00223730pop r13
00223732pop r14
00223734ret
00223735db 0x5d
00223736pop r14
00223738ret
002236d0
00223739
00223739 // align 0x10
00223739 // align 0x10
00223740
00223740caml_decompose_path:
00223740push r12
00223742push rbp
00223743push rbx
00223744test rsi, rsi
00223747je 0x2237c6
00223749mov rbp, rdi
0022374cmov rdi, rsi
0022374fcall caml_stat_strdup
00223754mov rsi, rax
00223757mov r12, rax
0022375amovzx eax, [rsi]
0022375dtest al, al
0022375fje 0x2237ae
00223761nop [rax+rax]
0022376ccmp al, 58
0022376eje 0x2237ae
00223770
00223770loc_223770:
00223770lea rax, [rsi+1]
00223774nop [rax+rax]
0022377cmovzx edx, [rax]
0022377fmov rbx, rax
00223782add rax, 1
00223786test dl, dl
00223788je 0x223793
0022378acmp dl, 58
0022378djne 0x223780
0022378fmov rdi, rbp
00223792call caml_ext_table_add
00223797cmp [rbx], 0
0022379aje 0x2237be
0022379clea rsi, [rbx+1]
002237a0
002237a0loc_2237a0:
002237a0mov [rbx], 0
002237a3movzx eax, [rsi]
002237a6test al, al
002237a8jne 0x223770
002237aamov rbx, rsi
002237admov rdi, rbp
002237b0call caml_ext_table_add
002237b5cmp [rbx], 0
002237b8jne 0x2237a0
002237bamov rax, r12
002237bdpop rbx
002237be
002237beloc_2237be:
002237bepop rbp
002237bfpop r12
002237c1ret
002237c2xor r12l, r12l
002237c5pop rbx
002237c6
002237c6loc_2237c6:
002237c6pop rbp
002237c7mov rax, r12
002237capop r12
002237ccret
002237cddb 0xe0
002237cepop r12
002237d0ret
00223740
00223740caml_decompose_path:
00223740push r12
00223742push rbp
00223743push rbx
00223744test rsi, rsi
00223747je 0x2237c6
00223749mov rbp, rdi
0022374cmov rdi, rsi
0022374fcall caml_stat_strdup
00223754mov rsi, rax
00223757mov r12, rax
0022375amovzx eax, [rsi]
0022375dtest al, al
0022375fje 0x2237ae
00223761nop [rax+rax]
0022376ccmp al, 58
0022376eje 0x2237ae
00223770
00223770loc_223770:
00223770lea rax, [rsi+1]
00223774nop [rax+rax]
0022377cmovzx edx, [rax]
0022377fmov rbx, rax
00223782add rax, 1
00223786test dl, dl
00223788je 0x223793
0022378acmp dl, 58
0022378djne 0x223780
0022378fmov rdi, rbp
00223792call caml_ext_table_add
00223797cmp [rbx], 0
0022379aje 0x2237be
0022379clea rsi, [rbx+1]
002237a0
002237a0loc_2237a0:
002237a0mov [rbx], 0
002237a3movzx eax, [rsi]
002237a6test al, al
002237a8jne 0x223770
002237aamov rbx, rsi
002237admov rdi, rbp
002237b0call caml_ext_table_add
002237b5cmp [rbx], 0
002237b8jne 0x2237a0
002237bamov rax, r12
002237bdpop rbx
002237be
002237beloc_2237be:
002237bepop rbp
002237bfpop r12
002237c1ret
002237c2xor r12l, r12l
002237c5pop rbx
002237c6
002237c6loc_2237c6:
002237c6pop rbp
002237c7mov rax, r12
002237capop r12
002237ccret
002237cddb 0xe0
002237cepop r12
002237d0ret
00223740
002237d1
002237d1 // align 0x10
002237d1 // align 0x10
002237e0
002237e0caml_search_in_path:
002237e0push r15
002237e2push r14
002237e4push r13
002237e6push r12
002237e8push rbp
002237e9mov rbp, rdi
002237ecpush rbx
002237edsub rsp, 184
002237f4movzx eax, [rsi]
002237f7mov r12, [0x28]
00223800mov [rsp+168], r12
00223808mov r12, rsi
0022380btest al, al
0022380dje 0x223870
0022380fmov rdx, r12
00223812jmp 0x22382c
00223814db 0x89
00223815loop 0x223802
00223817db 0x14
00223818
00223818 0f 1f 84 00 00 00 00 00 ........
00223820
00223820loc_223820:
00223820movzx eax, [rdx+1]
00223824add rdx, 1
00223828test al, al
0022382aje 0x223870
0022382c
0022382cloc_22382c:
0022382ccmp al, 47
0022382ejne 0x223820
00223830
00223830loc_223830:
00223830mov rdi, r12
00223833call caml_stat_strdup
00223838mov r14, rax
0022383b
0022383bloc_22383b:
0022383bmov rax, [rsp+168]
00223843sub rax, [0x28]
0022384cjne 0x2238ff
00223852add rsp, 184
00223859mov rax, r14
0022385cpop rbx
0022385dpop rbp
0022385epop r12
00223860pop r13
00223862pop r14
00223864pop r15
00223866ret
00223867
00223867 66 0f 1f 84 00 00 00 00 00 f........
00223870
00223870loc_223870:
00223870mov eax, [rbp]
00223873test eax, eax
00223875jle 0x223830
00223877lea rax, [rsp+16]
0022387cxor ebx, ebx
0022387elea r15, [rip+48571]
00223885mov [rsp+8], rax
0022388alea r13, [rip+48557]
00223891nop [rax+rax]
0022389cnop [rax]
002238a0
002238a0loc_2238a0:
002238a0mov rax, [rbp+8]
002238a4mov edi, 3
002238a9mov rcx, r12
002238acmov rdx, r15
002238afmov rsi, [rax+8*rbx]
002238b3cmp [rsi], 0
002238b6cmove rsi, r13
002238baxor eax, eax
002238bccall caml_stat_strconcat
002238c1mov rsi, [rsp+8]
002238c6mov rdi, rax
002238c9mov r14, rax
002238cccall fn_f43b0
002238d1test eax, eax
002238d3jne 0x2238e9
002238d5mov eax, [rsp+40]
002238d9and eax, 61440
002238decmp eax, 32768
002238e3je 0x22383b
002238e9
002238e9loc_2238e9:
002238e9mov rdi, r14
002238ecadd rbx, 1
002238f0call caml_stat_free
002238f5cmp [rbp], ebx
002238f8jg 0x2238a0
002238fajmp 0x223830
002238ff
002238ffloc_2238ff:
002238ffcall fn_f4590
002237e0
002237e0caml_search_in_path:
002237e0push r15
002237e2push r14
002237e4push r13
002237e6push r12
002237e8push rbp
002237e9mov rbp, rdi
002237ecpush rbx
002237edsub rsp, 184
002237f4movzx eax, [rsi]
002237f7mov r12, [0x28]
00223800mov [rsp+168], r12
00223808mov r12, rsi
0022380btest al, al
0022380dje 0x223870
0022380fmov rdx, r12
00223812jmp 0x22382c
00223814db 0x89
00223815loop 0x223802
00223817db 0x14
00223818
00223818 0f 1f 84 00 00 00 00 00 ........
00223820
00223820loc_223820:
00223820movzx eax, [rdx+1]
00223824add rdx, 1
00223828test al, al
0022382aje 0x223870
0022382c
0022382cloc_22382c:
0022382ccmp al, 47
0022382ejne 0x223820
00223830
00223830loc_223830:
00223830mov rdi, r12
00223833call caml_stat_strdup
00223838mov r14, rax
0022383b
0022383bloc_22383b:
0022383bmov rax, [rsp+168]
00223843sub rax, [0x28]
0022384cjne 0x2238ff
00223852add rsp, 184
00223859mov rax, r14
0022385cpop rbx
0022385dpop rbp
0022385epop r12
00223860pop r13
00223862pop r14
00223864pop r15
00223866ret
00223867
00223867 66 0f 1f 84 00 00 00 00 00 f........
00223870
00223870loc_223870:
00223870mov eax, [rbp]
00223873test eax, eax
00223875jle 0x223830
00223877lea rax, [rsp+16]
0022387cxor ebx, ebx
0022387elea r15, [rip+48571]
00223885mov [rsp+8], rax
0022388alea r13, [rip+48557]
00223891nop [rax+rax]
0022389cnop [rax]
002238a0
002238a0loc_2238a0:
002238a0mov rax, [rbp+8]
002238a4mov edi, 3
002238a9mov rcx, r12
002238acmov rdx, r15
002238afmov rsi, [rax+8*rbx]
002238b3cmp [rsi], 0
002238b6cmove rsi, r13
002238baxor eax, eax
002238bccall caml_stat_strconcat
002238c1mov rsi, [rsp+8]
002238c6mov rdi, rax
002238c9mov r14, rax
002238cccall fn_f43b0
002238d1test eax, eax
002238d3jne 0x2238e9
002238d5mov eax, [rsp+40]
002238d9and eax, 61440
002238decmp eax, 32768
002238e3je 0x22383b
002238e9
002238e9loc_2238e9:
002238e9mov rdi, r14
002238ecadd rbx, 1
002238f0call caml_stat_free
002238f5cmp [rbp], ebx
002238f8jg 0x2238a0
002238fajmp 0x223830
002238ff
002238ffloc_2238ff:
002238ffcall fn_f4590
002237e0
00223904
00223904 // align 0x10
00223904 // align 0x10
00223910
00223910caml_search_exe_in_path:
00223910push r12
00223912mov esi, 8
00223917push rbp
00223918push rbx
00223919sub rsp, 32
0022391dmov r12, [0x28]
00223926mov [rsp+24], r12
0022392bmov r12, rdi
0022392emov rdi, rsp
00223931call caml_ext_table_init
00223936lea rdi, [rip+48385]
0022393dcall fn_f4540
00223942mov rdi, rsp
00223945mov rsi, rax
00223948call caml_decompose_path
0022394dmov rdi, rsp
00223950mov rbp, rax
00223953mov rsi, r12
00223956call caml_search_in_path
0022395bmov rdi, rbp
0022395emov r12, rax
00223961call caml_stat_free
00223966xor esi, esi
00223968mov rdi, rsp
0022396bcall caml_ext_table_free
00223970mov rax, [rsp+24]
00223975sub rax, [0x28]
0022397ejne 0x223990
00223980add rsp, 32
00223984mov rax, r12
00223987pop rbx
00223988pop rbp
00223989pop r12
0022398bret
0022398ccall fn_f4590
00223991db 0xfb
00223992or ebp, ebp
00223994db 0xff
00223910
00223910caml_search_exe_in_path:
00223910push r12
00223912mov esi, 8
00223917push rbp
00223918push rbx
00223919sub rsp, 32
0022391dmov r12, [0x28]
00223926mov [rsp+24], r12
0022392bmov r12, rdi
0022392emov rdi, rsp
00223931call caml_ext_table_init
00223936lea rdi, [rip+48385]
0022393dcall fn_f4540
00223942mov rdi, rsp
00223945mov rsi, rax
00223948call caml_decompose_path
0022394dmov rdi, rsp
00223950mov rbp, rax
00223953mov rsi, r12
00223956call caml_search_in_path
0022395bmov rdi, rbp
0022395emov r12, rax
00223961call caml_stat_free
00223966xor esi, esi
00223968mov rdi, rsp
0022396bcall caml_ext_table_free
00223970mov rax, [rsp+24]
00223975sub rax, [0x28]
0022397ejne 0x223990
00223980add rsp, 32
00223984mov rax, r12
00223987pop rbx
00223988pop rbp
00223989pop r12
0022398bret
0022398ccall fn_f4590
00223991db 0xfb
00223992or ebp, ebp
00223994db 0xff
00223910
00223995
00223995 // align 0x10
00223995 // align 0x10
002239a0
002239a0caml_search_dll_in_path:
002239a0push rbp
002239a1lea rdx, [rip+48283]
002239a8mov rbp, rdi
002239abxor eax, eax
002239adpush rbx
002239aemov edi, 2
002239b3sub rsp, 8
002239b7call caml_stat_strconcat
002239bcmov rdi, rbp
002239bfmov rbx, rax
002239c2mov rsi, rax
002239c5call caml_search_in_path
002239camov rdi, rbx
002239cdmov rbp, rax
002239d0call caml_stat_free
002239d5add rsp, 8
002239d9mov rax, rbp
002239dcpop rbx
002239ddpop rbp
002239deret
002239dfdb 0xe8
002239e0pop rbx
002239e1pop rbp
002239e2ret
002239a0
002239a0caml_search_dll_in_path:
002239a0push rbp
002239a1lea rdx, [rip+48283]
002239a8mov rbp, rdi
002239abxor eax, eax
002239adpush rbx
002239aemov edi, 2
002239b3sub rsp, 8
002239b7call caml_stat_strconcat
002239bcmov rdi, rbp
002239bfmov rbx, rax
002239c2mov rsi, rax
002239c5call caml_search_in_path
002239camov rdi, rbx
002239cdmov rbp, rax
002239d0call caml_stat_free
002239d5add rsp, 8
002239d9mov rax, rbp
002239dcpop rbx
002239ddpop rbp
002239deret
002239dfdb 0xe8
002239e0pop rbx
002239e1pop rbp
002239e2ret
002239a0
002239e3
002239e3 // align 0x10
002239e3 // align 0x10
002239f0
002239f0caml_dlopen:
002239f0cmp esi, 1
002239f3sbb esi, esi
002239f5xor sil, sil
002239f8add esi, 258
002239fejmp 0xf44a0
00223a03db 0x99
00223a04or ch, ch
00223a06db 0xff
002239f0
002239f0caml_dlopen:
002239f0cmp esi, 1
002239f3sbb esi, esi
002239f5xor sil, sil
002239f8add esi, 258
002239fejmp 0xf44a0
00223a03db 0x99
00223a04or ch, ch
00223a06db 0xff
002239f0
00223a07
00223a07 // align 0x10
00223a07 // align 0x10
00223a10
00223a10caml_dlclose:
00223a10jmp 0xf4840
00223a15db 0x27
00223a16db 0x0e
00223a17in eax, dx
00223a18db 0xff
00223a10
00223a10caml_dlclose:
00223a10jmp 0xf4840
00223a15db 0x27
00223a16db 0x0e
00223a17in eax, dx
00223a18db 0xff
00223a10
00223a19
00223a19 // align 0x10
00223a19 // align 0x10
00223a20
00223a20caml_dlsym:
00223a20jmp 0xf46f0
00223a25db 0xc7
00223a26or al, 237
00223a28db 0xff
00223a20
00223a20caml_dlsym:
00223a20jmp 0xf46f0
00223a25db 0xc7
00223a26or al, 237
00223a28db 0xff
00223a20
00223a29
00223a29 // align 0x10
00223a29 // align 0x10
00223a30
00223a30caml_globalsym:
00223a30mov rsi, rdi
00223a33xor edi, edi
00223a35jmp 0xf46f0
00223a3adb 0xb2
00223a3bor al, 237
00223a3ddb 0xff
00223a30
00223a30caml_globalsym:
00223a30mov rsi, rdi
00223a33xor edi, edi
00223a35jmp 0xf46f0
00223a3adb 0xb2
00223a3bor al, 237
00223a3ddb 0xff
00223a30
00223a3e
00223a3e // align 0x10
00223a3e // align 0x10
00223a40
00223a40caml_dlerror:
00223a40jmp 0xf40c0
00223a45db 0x77
00223a46db 0x06
00223a47in eax, dx
00223a48db 0xff
00223a40
00223a40caml_dlerror:
00223a40jmp 0xf40c0
00223a45db 0x77
00223a46db 0x06
00223a47in eax, dx
00223a48db 0xff
00223a40
00223a49
00223a49 // align 0x10
00223a49 // align 0x10
00223a50
00223a50caml_read_directory:
00223a50push rbp
00223a51mov rbp, rsi
00223a54push rbx
00223a55sub rsp, 8
00223a59call fn_f43c0
00223a5emov rbx, rax
00223a61test rax, rax
00223a64je 0x223ac8
00223a66nop [rax+rax]
00223a6cmov rdi, rbx
00223a6fcall fn_f4800
00223a74test rax, rax
00223a77je 0x223ad0
00223a79cmp [rax+19], 46
00223a7dlea rdi, [rax+19]
00223a81jne 0x223a8d
00223a83cmp [rdi+1], 0
00223a87je 0x223a70
00223a89cmp [rax+19], 46
00223a8d
00223a8dloc_223a8d:
00223a8djne 0x223aa0
00223a8fcmp [rdi+1], 46
00223a93jne 0x223aa0
00223a95cmp [rdi+2], 0
00223a99je 0x223a70
00223a9bnop
00223a9ccall caml_stat_strdup
00223aa1mov rdi, rbp
00223aa4mov rsi, rax
00223aa7call caml_ext_table_add_noexc
00223aaccmp eax, -1
00223aafjne 0x223a70
00223ab1mov rdi, rbx
00223ab4call fn_f4680
00223ab9call fn_f4570
00223abemov [rax], 12
00223ac4or eax, -1
00223ac7jmp 0x223ada
00223ac9db 0xc8
00223acadb 0xff
00223acbjmp 0x223ada
00223acd
00223acd 0f 1f 00 ...
00223ad0
00223ad0loc_223ad0:
00223ad0mov rdi, rbx
00223ad3call fn_f4680
00223ad8xor eax, eax
00223ada
00223adaloc_223ada:
00223adaadd rsp, 8
00223adepop rbx
00223adfpop rbp
00223ae0ret
00223a50
00223a50caml_read_directory:
00223a50push rbp
00223a51mov rbp, rsi
00223a54push rbx
00223a55sub rsp, 8
00223a59call fn_f43c0
00223a5emov rbx, rax
00223a61test rax, rax
00223a64je 0x223ac8
00223a66nop [rax+rax]
00223a6cmov rdi, rbx
00223a6fcall fn_f4800
00223a74test rax, rax
00223a77je 0x223ad0
00223a79cmp [rax+19], 46
00223a7dlea rdi, [rax+19]
00223a81jne 0x223a8d
00223a83cmp [rdi+1], 0
00223a87je 0x223a70
00223a89cmp [rax+19], 46
00223a8d
00223a8dloc_223a8d:
00223a8djne 0x223aa0
00223a8fcmp [rdi+1], 46
00223a93jne 0x223aa0
00223a95cmp [rdi+2], 0
00223a99je 0x223a70
00223a9bnop
00223a9ccall caml_stat_strdup
00223aa1mov rdi, rbp
00223aa4mov rsi, rax
00223aa7call caml_ext_table_add_noexc
00223aaccmp eax, -1
00223aafjne 0x223a70
00223ab1mov rdi, rbx
00223ab4call fn_f4680
00223ab9call fn_f4570
00223abemov [rax], 12
00223ac4or eax, -1
00223ac7jmp 0x223ada
00223ac9db 0xc8
00223acadb 0xff
00223acbjmp 0x223ada
00223acd
00223acd 0f 1f 00 ...
00223ad0
00223ad0loc_223ad0:
00223ad0mov rdi, rbx
00223ad3call fn_f4680
00223ad8xor eax, eax
00223ada
00223adaloc_223ada:
00223adaadd rsp, 8
00223adepop rbx
00223adfpop rbp
00223ae0ret
00223a50
00223ae1
00223ae1 // align 0x10
00223ae1 // align 0x10
00223af0
00223af0caml_executable_name:
00223af0push r14
00223af2push r13
00223af4lea r13, [rip+47948]
00223afbpush r12
00223afdpush rbp
00223afemov ebp, 256
00223b03push rbx
00223b04sub rsp, 160
00223b0bmov r12, [0x28]
00223b14mov [rsp+152], r12
00223b1cmov r12l, 13
00223b22jmp 0x223b32
00223b24db 0x00
00223b25add bl, ch
00223b27db 0x0a
00223b28
00223b28 0f 1f 84 00 00 00 00 00 ........
00223b30
00223b30loc_223b30:
00223b30add ebp, ebp
00223b32
00223b32loc_223b32:
00223b32movsxd r14, ebp
00223b35mov rdi, r14
00223b38call caml_stat_alloc
00223b3dmov rdx, r14
00223b40mov rdi, r13
00223b43mov rsi, rax
00223b46mov rbx, rax
00223b49call fn_f44c0
00223b4ecmp eax, -1
00223b51je 0x223bb6
00223b53cmp ebp, eax
00223b55jg 0x223b90
00223b57mov rdi, rbx
00223b5acall caml_stat_free
00223b5fsub r12l, 1
00223b63jne 0x223b30
00223b65
00223b65loc_223b65:
00223b65xor ebx, ebx
00223b67
00223b67loc_223b67:
00223b67mov rax, [rsp+152]
00223b6fsub rax, [0x28]
00223b78jne 0x223bc0
00223b7aadd rsp, 160
00223b81mov rax, rbx
00223b84pop rbx
00223b85pop rbp
00223b86pop r12
00223b88pop r13
00223b8apop r14
00223b8cret
00223b8d
00223b8d 0f 1f 00 ...
00223b90
00223b90loc_223b90:
00223b90cdqe
00223b92mov rsi, rsp
00223b95mov rdi, rbx
00223b98mov [rbx+rax], 0
00223b9ccall fn_f43b0
00223ba1cmp eax, -1
00223ba4je 0x223bb6
00223ba6mov eax, [rsp+24]
00223baaand eax, 61440
00223bafcmp eax, 32768
00223bb4je 0x223b67
00223bb6
00223bb6loc_223bb6:
00223bb6mov rdi, rbx
00223bb9call caml_stat_free
00223bbejmp 0x223b65
00223bc0
00223bc0loc_223bc0:
00223bc0call fn_f4590
00223af0
00223af0caml_executable_name:
00223af0push r14
00223af2push r13
00223af4lea r13, [rip+47948]
00223afbpush r12
00223afdpush rbp
00223afemov ebp, 256
00223b03push rbx
00223b04sub rsp, 160
00223b0bmov r12, [0x28]
00223b14mov [rsp+152], r12
00223b1cmov r12l, 13
00223b22jmp 0x223b32
00223b24db 0x00
00223b25add bl, ch
00223b27db 0x0a
00223b28
00223b28 0f 1f 84 00 00 00 00 00 ........
00223b30
00223b30loc_223b30:
00223b30add ebp, ebp
00223b32
00223b32loc_223b32:
00223b32movsxd r14, ebp
00223b35mov rdi, r14
00223b38call caml_stat_alloc
00223b3dmov rdx, r14
00223b40mov rdi, r13
00223b43mov rsi, rax
00223b46mov rbx, rax
00223b49call fn_f44c0
00223b4ecmp eax, -1
00223b51je 0x223bb6
00223b53cmp ebp, eax
00223b55jg 0x223b90
00223b57mov rdi, rbx
00223b5acall caml_stat_free
00223b5fsub r12l, 1
00223b63jne 0x223b30
00223b65
00223b65loc_223b65:
00223b65xor ebx, ebx
00223b67
00223b67loc_223b67:
00223b67mov rax, [rsp+152]
00223b6fsub rax, [0x28]
00223b78jne 0x223bc0
00223b7aadd rsp, 160
00223b81mov rax, rbx
00223b84pop rbx
00223b85pop rbp
00223b86pop r12
00223b88pop r13
00223b8apop r14
00223b8cret
00223b8d
00223b8d 0f 1f 00 ...
00223b90
00223b90loc_223b90:
00223b90cdqe
00223b92mov rsi, rsp
00223b95mov rdi, rbx
00223b98mov [rbx+rax], 0
00223b9ccall fn_f43b0
00223ba1cmp eax, -1
00223ba4je 0x223bb6
00223ba6mov eax, [rsp+24]
00223baaand eax, 61440
00223bafcmp eax, 32768
00223bb4je 0x223b67
00223bb6
00223bb6loc_223bb6:
00223bb6mov rdi, rbx
00223bb9call caml_stat_free
00223bbejmp 0x223b65
00223bc0
00223bc0loc_223bc0:
00223bc0call fn_f4590
00223af0
00223bc5
00223bc5 // align 0x10
00223bc5 // align 0x10
00223bd0
00223bd0caml_secure_getenv:
00223bd0jmp 0xf4380
00223bd5db 0xa7
00223bd6db 0x07
00223bd7in eax, dx
00223bd8db 0xff
00223bd0
00223bd0caml_secure_getenv:
00223bd0jmp 0xf4380
00223bd5db 0xa7
00223bd6db 0x07
00223bd7in eax, dx
00223bd8db 0xff
00223bd0
00223bd9
00223bd9 // align 0x10
00223bd9 // align 0x10
00223be0
00223be0caml_time_counter:
00223be0sub rsp, 40
00223be4mov edi, 1
00223be9mov rsi, [0x28]
00223bf2mov [rsp+24], rsi
00223bf7mov rsi, rsp
00223bfacall fn_f4190
00223bffimul rax, [rsp], 0x3b9aca00
00223c07add rax, [rsp+8]
00223c0cmov rdx, [rsp+24]
00223c11sub rdx, [0x28]
00223c1ajne 0x223c25
00223c1cadd rsp, 40
00223c20ret
00223c21call fn_f4590
00223c26db 0x66
00223c27or ebp, ebp
00223c29db 0xff
00223be0
00223be0caml_time_counter:
00223be0sub rsp, 40
00223be4mov edi, 1
00223be9mov rsi, [0x28]
00223bf2mov [rsp+24], rsi
00223bf7mov rsi, rsp
00223bfacall fn_f4190
00223bffimul rax, [rsp], 0x3b9aca00
00223c07add rax, [rsp+8]
00223c0cmov rdx, [rsp+24]
00223c11sub rdx, [0x28]
00223c1ajne 0x223c25
00223c1cadd rsp, 40
00223c20ret
00223c21call fn_f4590
00223c26db 0x66
00223c27or ebp, ebp
00223c29db 0xff
00223be0
00223c2a
00223c2a // align 0x10
00223c2a // align 0x10
00223c30
00223c30caml_num_rows_fd:
00223c30sub rsp, 24
00223c34mov edx, -1
00223c39mov esi, 21523
00223c3emov rax, [0x28]
00223c47mov [rsp+8], rax
00223c4cxor eax, eax
00223c4emov [rsp], dx
00223c52mov rdx, rsp
00223c55call fn_f4150
00223c5atest eax, eax
00223c5cjne 0x223c80
00223c5emovzx eax, [rsp]
00223c62mov rdx, [rsp+8]
00223c67sub rdx, [0x28]
00223c70jne 0x223c87
00223c72add rsp, 24
00223c76ret
00223c77db 0x83
00223c78db 0xc4
00223c79sbb bl, al
00223c7b
00223c7b 0f 1f 44 00 00 ..D..
00223c80
00223c80loc_223c80:
00223c80mov eax, -1
00223c85jmp 0x223c66
00223c87
00223c87loc_223c87:
00223c87call fn_f4590
00223c30
00223c30caml_num_rows_fd:
00223c30sub rsp, 24
00223c34mov edx, -1
00223c39mov esi, 21523
00223c3emov rax, [0x28]
00223c47mov [rsp+8], rax
00223c4cxor eax, eax
00223c4emov [rsp], dx
00223c52mov rdx, rsp
00223c55call fn_f4150
00223c5atest eax, eax
00223c5cjne 0x223c80
00223c5emovzx eax, [rsp]
00223c62mov rdx, [rsp+8]
00223c67sub rdx, [0x28]
00223c70jne 0x223c87
00223c72add rsp, 24
00223c76ret
00223c77db 0x83
00223c78db 0xc4
00223c79sbb bl, al
00223c7b
00223c7b 0f 1f 44 00 00 ..D..
00223c80
00223c80loc_223c80:
00223c80mov eax, -1
00223c85jmp 0x223c66
00223c87
00223c87loc_223c87:
00223c87call fn_f4590
00223c30
00223c8c
00223c8c // align 0x10
00223c8c // align 0x10
00223c90
00223c90caml_init_os_params:
00223c90sub rsp, 8
00223c94mov edi, 30
00223c99call fn_f42e0
00223c9emov [rip+0x154fcf], rax
00223ca5mov [rip+0x154fc0], rax
00223cacadd rsp, 8
00223cb0ret
00223cb1db 0x83
00223cb2db 0xc4
00223cb3or bl, al
00223c90
00223c90caml_init_os_params:
00223c90sub rsp, 8
00223c94mov edi, 30
00223c99call fn_f42e0
00223c9emov [rip+0x154fcf], rax
00223ca5mov [rip+0x154fc0], rax
00223cacadd rsp, 8
00223cb0ret
00223cb1db 0x83
00223cb2db 0xc4
00223cb3or bl, al
00223c90
00223cb5
00223cb5 // align 0x10
00223cb5 // align 0x10
00223cc0
00223cc0caml_plat_mem_map:
00223cc0sub rsp, 8
00223cc4cmp esi, 1
00223cc7mov r8l, -1
00223ccdmov rsi, rdi
00223cd0sbb edx, edx
00223cd2mov ecx, 34
00223cd7xor r9l, r9l
00223cdaxor edi, edi
00223cdcand edx, 3
00223cdfcall fn_f4110
00223ce4xor edx, edx
00223ce6cmp rax, -1
00223ceacmove rax, rdx
00223ceeadd rsp, 8
00223cf2ret
00223cf3db 0x83
00223cf4db 0xc4
00223cf5or bl, al
00223cc0
00223cc0caml_plat_mem_map:
00223cc0sub rsp, 8
00223cc4cmp esi, 1
00223cc7mov r8l, -1
00223ccdmov rsi, rdi
00223cd0sbb edx, edx
00223cd2mov ecx, 34
00223cd7xor r9l, r9l
00223cdaxor edi, edi
00223cdcand edx, 3
00223cdfcall fn_f4110
00223ce4xor edx, edx
00223ce6cmp rax, -1
00223ceacmove rax, rdx
00223ceeadd rsp, 8
00223cf2ret
00223cf3db 0x83
00223cf4db 0xc4
00223cf5or bl, al
00223cc0
00223cf7
00223cf7 // align 0x10
00223cf7 // align 0x10
00223d00
00223d00caml_plat_mem_commit:
00223d00push rbx
00223d01xor r9l, r9l
00223d04mov r8l, -1
00223d0amov ecx, 50
00223d0fmov edx, 3
00223d14mov rbx, rdi
00223d17call fn_f4110
00223d1ccmp rax, -1
00223d20mov eax, 0
00223d25cmove rbx, rax
00223d29mov rax, rbx
00223d2cpop rbx
00223d2dret
00223d2edb 0x89
00223d2ffcomp [rbx-61]
00223d00
00223d00caml_plat_mem_commit:
00223d00push rbx
00223d01xor r9l, r9l
00223d04mov r8l, -1
00223d0amov ecx, 50
00223d0fmov edx, 3
00223d14mov rbx, rdi
00223d17call fn_f4110
00223d1ccmp rax, -1
00223d20mov eax, 0
00223d25cmove rbx, rax
00223d29mov rax, rbx
00223d2cpop rbx
00223d2dret
00223d2edb 0x89
00223d2ffcomp [rbx-61]
00223d00
00223d32
00223d32 // align 0x10
00223d32 // align 0x10
00223d40
00223d40caml_plat_mem_decommit:
00223d40xor r9l, r9l
00223d43mov r8l, -1
00223d49mov ecx, 50
00223d4exor edx, edx
00223d50jmp 0xf4110
00223d55db 0xb7
00223d56add ebp, ebp
00223d58db 0xff
00223d40
00223d40caml_plat_mem_decommit:
00223d40xor r9l, r9l
00223d43mov r8l, -1
00223d49mov ecx, 50
00223d4exor edx, edx
00223d50jmp 0xf4110
00223d55db 0xb7
00223d56add ebp, ebp
00223d58db 0xff
00223d40
00223d59
00223d59 // align 0x10
00223d59 // align 0x10
00223d60
00223d60caml_plat_mem_unmap:
00223d60jmp 0xf4610
00223d65db 0xa7
00223d66or ch, ch
00223d68db 0xff
00223d60
00223d60caml_plat_mem_unmap:
00223d60jmp 0xf4610
00223d65db 0xa7
00223d66or ch, ch
00223d68db 0xff
00223d60
00223d69
00223d69 // align 0x10
00223d69 // align 0x10
00223d70
00223d70fn_223d70:
00223d70lea rax, [rdi+8*rsi]
00223d74test dl, 1
00223d77jne 0x223de0
00223d79cmp rdx, [rip+0x154848]
00223d80jae 0x223de0
00223d82cmp [rip+0x154847], rdx
00223d89jae 0x223de0
00223d8bpush rbp
00223d8cpush rbx
00223d8dmov rbx, rdi
00223d90sub rsp, 24
00223d94mov rcx, [rax]
00223d97mov [rax], rdx
00223d9atest cl, 1
00223d9djne 0x223da8
00223d9fcmp rcx, [rip+0x154822]
00223da6jb 0x223de8
00223da8
00223da8loc_223da8:
00223da8mov rax, [rip+0x52239]
00223dafmov rax, [rax]
00223db3mov rbp, [rax+96]
00223db7mov rax, [rbp+80]
00223dbbcmp rax, [rbp+88]
00223dbfjae 0x223df8
00223dc1
00223dc1loc_223dc1:
00223dc1lea rdx, [rax+16]
00223dc5mov [rbp+80], rdx
00223dc9mov [rax], rbx
00223dccmov [rax+8], rsi
00223dd0
00223dd0loc_223dd0:
00223dd0add rsp, 24
00223dd4pop rbx
00223dd5pop rbp
00223dd6ret
00223dd7
00223dd7 66 0f 1f 84 00 00 00 00 00 f........
00223de0
00223de0loc_223de0:
00223de0mov [rax], rdx
00223de3ret
00223de4
00223de4 0f 1f 40 00 ..@.
00223de8
00223de8loc_223de8:
00223de8cmp [rip+0x1547e1], rcx
00223defjb 0x223dd0
00223df1jmp 0x223da8
00223df3
00223df3 0f 1f 44 00 00 ..D..
00223df8
00223df8loc_223df8:
00223df8lea rdi, [rbp+56]
00223dfcmov [rsp+8], rsi
00223e01call caml_realloc_ephe_ref_table
00223e06mov rax, [rbp+80]
00223e0amov rsi, [rsp+8]
00223e0fjmp 0x223dc1
00223d70
00223d70fn_223d70:
00223d70lea rax, [rdi+8*rsi]
00223d74test dl, 1
00223d77jne 0x223de0
00223d79cmp rdx, [rip+0x154848]
00223d80jae 0x223de0
00223d82cmp [rip+0x154847], rdx
00223d89jae 0x223de0
00223d8bpush rbp
00223d8cpush rbx
00223d8dmov rbx, rdi
00223d90sub rsp, 24
00223d94mov rcx, [rax]
00223d97mov [rax], rdx
00223d9atest cl, 1
00223d9djne 0x223da8
00223d9fcmp rcx, [rip+0x154822]
00223da6jb 0x223de8
00223da8
00223da8loc_223da8:
00223da8mov rax, [rip+0x52239]
00223dafmov rax, [rax]
00223db3mov rbp, [rax+96]
00223db7mov rax, [rbp+80]
00223dbbcmp rax, [rbp+88]
00223dbfjae 0x223df8
00223dc1
00223dc1loc_223dc1:
00223dc1lea rdx, [rax+16]
00223dc5mov [rbp+80], rdx
00223dc9mov [rax], rbx
00223dccmov [rax+8], rsi
00223dd0
00223dd0loc_223dd0:
00223dd0add rsp, 24
00223dd4pop rbx
00223dd5pop rbp
00223dd6ret
00223dd7
00223dd7 66 0f 1f 84 00 00 00 00 00 f........
00223de0
00223de0loc_223de0:
00223de0mov [rax], rdx
00223de3ret
00223de4
00223de4 0f 1f 40 00 ..@.
00223de8
00223de8loc_223de8:
00223de8cmp [rip+0x1547e1], rcx
00223defjb 0x223dd0
00223df1jmp 0x223da8
00223df3
00223df3 0f 1f 44 00 00 ..D..
00223df8
00223df8loc_223df8:
00223df8lea rdi, [rbp+56]
00223dfcmov [rsp+8], rsi
00223e01call caml_realloc_ephe_ref_table
00223e06mov rax, [rbp+80]
00223e0amov rsi, [rsp+8]
00223e0fjmp 0x223dc1
00223d70
Loading..