Function at 0x46ebc0
Capabilities:
Check if file exists
Delete directory
Delete file
Get file attributes

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rsi, [0x006d1310]
mov rbp, rcx
mov rbx, rdx
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x34], 0
mov qword [rsp + 0x38], rsi
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
mov edi, eax
je 0x46ed50
test ah, 4
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x34], 0
mov qword [rsp + 0x38], rsi
jne 0x46ec85
and edi, 0x10
jne 0x46ec75
mov eax, 2
test rbx, rbx
je 0x46ecc3
nop dword [rax]
mov dword [rbx], 0
mov byte [rbx + 4], 0
mov qword [rbx + 8], rsi
and eax, 0xfffffff7
mov rcx, qword [rbp]
cmp eax, 3
jne 0x46ecc7
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x46edd0
test rbx, rbx
jne 0x46edb4
mov edi, 1
mov eax, edi
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
test rbx, rbx
mov eax, 3
jne 0x46ec30
mov rcx, qword [rbp]
jmp 0x46ec4a
mov rcx, rbp
call fcn.0046c0a0
test al, al
je 0x46ecb0
and edi, 0x10
je 0x46eda1
test rbx, rbx
mov eax, 0xb
jne 0x46ec30
jmp 0x46ec7f
test rbx, rbx
je 0x46ecc3
mov dword [rbx], 0
mov byte [rbx + 4], 0
mov qword [rbx + 8], rsi
mov rcx, qword [rbp]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x46ec58
mov r12, qword [sym.imp.KERNEL32.dll_GetLastError]
call r12
xor edx, edx
cmp eax, 0x35
ja 0x46ecf4
movabs rdx, 0x2000000020800c
mov ecx, eax
shr rdx, cl
and edx, 1
cmp eax, 0x7b
je 0x46ec58
test dl, dl
jne 0x46ec58
cmp eax, 0x57
sete dil
cmp eax, 0xa1
sete al
or dil, al
jne 0x46ec58
call r12
test eax, eax
mov r12d, eax
je 0x46ec58
test rbx, rbx
je 0x46ef7b
mov eax, edi
mov dword [rbx], r12d
mov byte [rbx + 4], 1
mov qword [rbx + 8], rsi
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
lea r12, [rsp + 0x40]
lea r8, [rsp + 0x30]
mov rdx, rbp
mov rcx, r12
call fcn.0046cab0
mov eax, dword [rsp + 0x40]
test eax, eax
jne 0x46ef2e
mov edi, dword [rsp + 0x30]
test edi, edi
je 0x46ec20
test rbx, rbx
je 0x46eeaa
mov dword [rbx], edi
xor edi, edi
mov byte [rbx + 4], 1
mov eax, edi
mov qword [rbx + 8], rsi
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
test rbx, rbx
mov eax, 4
jne 0x46ec30
jmp 0x46ecc3
mov dword [rbx], 0
mov byte [rbx + 4], 0
mov edi, 1
mov qword [rbx + 8], rsi
jmp 0x46ec66
mov r12, qword [sym.imp.KERNEL32.dll_GetLastError]
call r12
xor edx, edx
cmp eax, 0x35
ja 0x46edf3
movabs rdx, 0x2000000020800c
mov ecx, eax
shr rdx, cl
and edx, 1
cmp eax, 0x7b
je 0x46ec58
test dl, dl
jne 0x46ec58
cmp eax, 0x57
sete dil
cmp eax, 0xa1
sete al
or dil, al
jne 0x46ec58
call r12
test eax, eax
mov r12d, eax
je 0x46ec58
test rbx, rbx
jne 0x46ed34
mov ecx, 0x48
mov ebx, r12d
lea r12, [rsp + 0x40]
call fcn.00670680
lea rdx, str.boost::filesystem::remove
mov rdi, rax
mov rcx, r12
movabs rax, 0x100000000
or rbx, rax
call fcn.0046c220
lea r9, [rsp + 0x20]
mov rdx, r12
mov rcx, rdi
mov r8, rbp
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rsi
call fcn.005a8f70
mov rcx, qword [rsp + 0x40]
add r12, 0x10
cmp rcx, r12
je 0x46ee94
call fcn.00670500
lea r8, [0x005a9500]
lea rdx, [0x006d32e0]
mov rcx, rdi
call fcn.00670ef0
mov ecx, 0x48
mov ebx, edi
call fcn.00670680
lea rdx, str.boost::filesystem::remove
mov r13, rax
mov rcx, r12
movabs rax, 0x100000000
or rbx, rax
call fcn.0046c220
lea r9, [rsp + 0x20]
mov rdx, r12
mov rcx, r13
mov r8, rbp
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rsi
call fcn.005a8f70
mov rcx, qword [rsp + 0x40]
add r12, 0x10
cmp rcx, r12
je 0x46ef05
call fcn.00670500
lea r8, [0x005a9500]
lea rdx, [0x006d32e0]
mov rcx, r13
call fcn.00670ef0
mov rbx, rax
mov rcx, r13
call fcn.00670a50
mov rcx, rbx
call fcn.0058e700
test rbx, rbx
je 0x46ef5b
cmp eax, 1
mov dword [rbx], 0
mov byte [rbx + 4], 0
mov qword [rbx + 8], rsi
jne 0x46ec3e
xor edi, edi
mov eax, edi
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
cmp eax, 1
jne 0x46ec3e
xor edi, edi
jmp 0x46ef4c
mov ecx, 0x48
mov ebx, r12d
lea r12, [rsp + 0x40]
call fcn.00670680
lea rdx, str.boost::filesystem::remove
mov rdi, rax
mov rcx, r12
movabs rax, 0x100000000
or rbx, rax
call fcn.0046c220
jmp 0x46ee64