Function at 0x48cb10
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov r13, rcx
mov r12d, edx
mov rbx, r8
cmp edx, 3
jne 0x48ccb0
pxor xmm0, xmm0
mov ecx, 0x38
movups xmmword [rsp + 0x30], xmm0
test r8, r8
je 0x48ccd0
call sym.operator_new_unsigned_long_long_
xor r10d, r10d
mov ecx, 0x18
movdqu xmm0, xmmword [0x0087ea70]
mov qword [rsp + 0x48], 0
mov r14, rax
lea rax, [rax + 0x10]
mov qword [r14], rax
mov qword [r14 + 8], 0
mov word [r14 + 0x10], r10w
mov qword [r14 + 0x30], 0
movups xmmword [r14 + 0x20], xmm0
mov qword [rsp + 0x40], r14
call sym.operator_new_unsigned_long_long_
mov qword [rax + 0x10], r14
mov r14, qword [rsp + 0x48]
movabs rdi, 0x100000001
lea rsi, method.boost::detail::sp_counted_impl_p_boost::filesystem::detail::dir_itr_imp_.sp_counted_impl_p__
mov qword [rax + 8], rdi
mov qword [rax], rsi
mov qword [rsp + 0x48], rax
test r14, r14
je 0x48cbe0
lock sub dword [r14 + 8], 1
jne 0x48cbe0
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
lock sub dword [r14 + 0xc], 1
je 0x48cf68
nop dword [rax]
lea rsi, [rsp + 0x40]
mov r8, rbx
mov rdx, r13
mov rcx, rsi
call method.boost::filesystem::detail.directory_iterator_construct_boost::filesystem::directory_iterator__boost::filesystem::path_const__boost::system::error_code_
mov rax, qword [rsp + 0x48]
movq xmm0, qword [rsp + 0x40]
test rax, rax
je 0x48cc08
lock add dword [rax + 8], 1
mov r14, qword [rsp + 0x38]
movq xmm1, rax
punpcklqdq xmm0, xmm1
movups xmmword [rsp + 0x30], xmm0
test r14, r14
je 0x48cc40
lock sub dword [r14 + 8], 1
jne 0x48cc40
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
lock sub dword [r14 + 0xc], 1
je 0x48cf90
nop dword [rax]
mov r14, qword [rsp + 0x48]
test r14, r14
je 0x48cc70
lock sub dword [r14 + 8], 1
jne 0x48cc70
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
lock sub dword [r14 + 0xc], 1
je 0x48cfb8
nop word [rax + rax]
mov r9d, dword [rbx]
mov r14d, 1
test r9d, r9d
je 0x48cde0
mov r12, qword [rsp + 0x38]
test r12, r12
je 0x48cc99
lock sub dword [r12 + 8], 1
je 0x48cec0
mov rax, r14
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r14d, 1
mov r8, rbx
mov edx, r12d
mov rcx, r13
call sym._anonymous_namespace_::remove_file_or_directory_boost::filesystem::path_const__boost::filesystem::file_type__boost::system::error_code_
jmp 0x48cc99
call sym.operator_new_unsigned_long_long_
mov r14, rax
xor r8d, r8d
lea rax, [rax + 0x10]
movdqu xmm0, xmmword [0x0087ea70]
mov qword [r14], rax
mov ecx, 0x18
mov qword [r14 + 8], 0
mov word [r14 + 0x10], r8w
mov qword [r14 + 0x30], 0
movups xmmword [r14 + 0x20], xmm0
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 0
call sym.operator_new_unsigned_long_long_
movabs rdi, 0x100000001
mov qword [rax + 0x10], r14
mov r14, qword [rsp + 0x48]
mov qword [rax + 8], rdi
lea rdi, method.boost::detail::sp_counted_impl_p_boost::filesystem::detail::dir_itr_imp_.sp_counted_impl_p__
mov qword [rax], rdi
mov qword [rsp + 0x48], rax
test r14, r14
je 0x48cd53
lock sub dword [r14 + 8], 1
je 0x48d078
lea rsi, [rsp + 0x40]
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call method.boost::filesystem::detail.directory_iterator_construct_boost::filesystem::directory_iterator__boost::filesystem::path_const__boost::system::error_code_
mov rax, qword [rsp + 0x48]
movq xmm0, qword [rsp + 0x40]
test rax, rax
je 0x48cd7b
lock add dword [rax + 8], 1
mov r14, qword [rsp + 0x38]
movq xmm2, rax
punpcklqdq xmm0, xmm2
movups xmmword [rsp + 0x30], xmm0
test r14, r14
je 0x48cd9f
lock sub dword [r14 + 8], 1
je 0x48d040
mov r14, qword [rsp + 0x48]
test r14, r14
je 0x48cde0
lock sub dword [r14 + 8], 1
jne 0x48cde0
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
lock sub dword [r14 + 0xc], 1
jne 0x48cde0
mov rax, qword [r14]
lea rcx, [method.boost::detail::sp_counted_base.destroy__]
mov rdx, qword [rax + 0x18]
cmp rdx, rcx
mov rcx, r14
jne 0x48d0d5
call qword [rax + 8]
nop
lea rax, [rsp + 0x30]
mov r14d, 1
lea rbp, [0x00a2f4d0]
mov qword [rsp + 0x28], rax
mov r15, qword [rsp + 0x30]
mov rax, qword [rbp]
cmp r15, rax
je 0x48cf10
test rax, rax
je 0x48cea8
test r15, r15
je 0x48d010
test rax, rax
je 0x48cf00
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, eax
cmp eax, 0xffffffff
je 0x48d020
test rbx, rbx
je 0x48ce4c
mov dword [rbx], 0
call method.boost::system.system_category__
mov qword [rbx + 8], rax
test edi, 0x400
jne 0x48cfe0
xor edx, edx
and edi, 0x10
setne dl
add edx, 2
test rbx, rbx
je 0x48ce72
mov ecx, dword [rbx]
test ecx, ecx
jne 0x48cc82
mov rcx, qword [rsp + 0x30]
mov r8, rbx
call sym._anonymous_namespace_::remove_all_aux_boost::filesystem::path_const__boost::filesystem::file_type__boost::system::error_code_
add r14, rax
test rbx, rbx
je 0x48ce91
mov eax, dword [rbx]
test eax, eax
jne 0x48cc82
mov rcx, qword [rsp + 0x28]
xor edx, edx
call method.boost::filesystem::detail.directory_iterator_increment_boost::filesystem::directory_iterator__boost::system::error_code_
jmp 0x48cdf7
test r15, r15
je 0x48ce24
jmp 0x48ce1b
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
lock sub dword [r12 + 0xc], 1
jne 0x48cc99
mov rax, qword [r12]
lea rcx, [method.boost::detail::sp_counted_base.destroy__]
mov rdx, qword [rax + 0x18]
cmp rdx, rcx
mov rcx, r12
jne 0x48d0ab
call qword [rax + 8]
jmp 0x48cc99
cmp qword [r15 + 0x30], 0
jne 0x48ce24
nop dword [rax + rax]
mov r15, qword [rsp + 0x38]
test r15, r15
je 0x48ccb6
lock sub dword [r15 + 8], 1
jne 0x48ccb6
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x10]
lock sub dword [r15 + 0xc], 1
jne 0x48ccb6
mov rax, qword [r15]
lea rcx, [method.boost::detail::sp_counted_base.destroy__]
mov rdx, qword [rax + 0x18]
cmp rdx, rcx
mov rcx, r15
jne 0x48d0dc
call qword [rax + 8]
jmp 0x48ccb6
mov rax, qword [r14]
lea rcx, [method.boost::detail::sp_counted_base.destroy__]
mov rdx, qword [rax + 0x18]
cmp rdx, rcx
mov rcx, r14
jne 0x48d0b9
call qword [rax + 8]
jmp 0x48cbe0
mov rax, qword [r14]
lea rcx, [method.boost::detail::sp_counted_base.destroy__]
mov rdx, qword [rax + 0x18]
cmp rdx, rcx
mov rcx, r14
jne 0x48d0c0
call qword [rax + 8]
jmp 0x48cc40
mov rax, qword [r14]
lea rcx, [method.boost::detail::sp_counted_base.destroy__]
mov rdx, qword [rax + 0x18]
cmp rdx, rcx
mov rcx, r14
jne 0x48d0b2
call qword [rax + 8]
jmp 0x48cc70
mov rcx, r15
call sym._anonymous_namespace_::is_reparse_point_a_symlink_boost::filesystem::path_const_
mov edx, 9
test al, al
je 0x48ce63
and edi, 0x10
cmp edi, 1
sbb edx, edx
and edx, 0xfffffff9
add edx, 0xb
jmp 0x48ce63
cmp qword [rax + 0x30], 0
jne 0x48ce24
jmp 0x48cf10
mov r8, rbx
mov rdx, r15
mov rcx, rsi
call sym._anonymous_namespace_::process_status_failure_boost::filesystem::path_const__boost::system::error_code_
mov edx, dword [rsp + 0x40]
jmp 0x48ce63
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
lock sub dword [r14 + 0xc], 1
jne 0x48cd9f
mov rax, qword [r14]
lea rcx, [method.boost::detail::sp_counted_base.destroy__]
mov rdx, qword [rax + 0x18]
cmp rdx, rcx
mov rcx, r14
jne 0x48d0c7
call qword [rax + 8]
jmp 0x48cd9f
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
lock sub dword [r14 + 0xc], 1
jne 0x48cd53
mov rax, qword [r14]
lea rcx, [method.boost::detail::sp_counted_base.destroy__]
mov rdx, qword [rax + 0x18]
cmp rdx, rcx
mov rcx, r14
jne 0x48d0ce
call qword [rax + 8]
jmp 0x48cd53
call rdx
jmp 0x48cc99
call rdx
jmp 0x48cc70
call rdx
jmp 0x48cbe0
call rdx
jmp 0x48cc40
call rdx
jmp 0x48cd9f
call rdx
jmp 0x48cd53
call rdx
jmp 0x48cde0
call rdx
jmp 0x48ccb6