Function at 0x4b3470
Capabilities:
Check if file exists
Copy file
Delete directory
Get file attributes
Move file
Set file attributes

Disassembly:
push r15
mov eax, 0x4048
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.0056fc10
sub rsp, rax
mov r13, qword [sym.imp.libssp_0.dll___stack_chk_guard]
mov r9d, 0xffffffff
mov r8d, 0x1000
mov ebx, dword [0x00605de8]
mov rax, qword [r13]
mov qword [rsp + 0x4038], rax
xor eax, eax
lea rdi, [rsp + 0x30]
mov rbp, rcx
mov r12, rdx
mov rdx, rcx
mov rcx, rdi
mov dword [rsp + 0x2c], 0
call fcn.004ad7d0
mov edx, eax
test eax, eax
js 0x4b3608
mov r9d, ebx
mov r8d, 0x104
mov rcx, rdi
call fcn.004af110
test eax, eax
js 0x4b3616
mov rdx, r12
lea rbx, [rsp + 0x2030]
mov r9d, 0xffffffff
mov r8d, 0x1000
mov rcx, rbx
mov esi, dword [0x00605de8]
call fcn.004ad7d0
mov edx, eax
test eax, eax
js 0x4b3608
mov r9d, esi
mov r8d, 0x104
mov rcx, rbx
call fcn.004af110
test eax, eax
js 0x4b3616
mov r14, qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, 0xffffffff
mov r8d, 3
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x4b3720
call r14
mov r15d, eax
cmp eax, 5
je 0x4b3620
cmp esi, 0xffffffff
jne 0x4b35c0
cmp r15d, 0x20
je 0x4b3632
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, r15d
mov rbx, rax
call fcn.004abd60
mov dword [rbx], eax
mov eax, 0xffffffff
mov rdi, qword [rsp + 0x4038]
xor rdi, qword [r13]
jne 0x4b3738
add rsp, 0x4048
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, esi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp r15d, 0x20
jne 0x4b357d
lea rcx, [rsp + 0x2c]
mov r9, r12
mov r8, rbp
lea rdx, str.Rename_from__s_to__s_failed._Should_I_try_again_
call fcn.004ae3a0
test eax, eax
jne 0x4b3545
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0xd
mov eax, 0xffffffff
jmp 0x4b3595
mov rbx, qword [sym.imp.msvcrt.dll__errno]
call rbx
cmp dword [rax], 0x22
je 0x4b3680
mov eax, 0xffffffff
jmp 0x4b3595
call fcn.004b33e0
test eax, eax
jne 0x4b36c8
cmp esi, 0xffffffff
jne 0x4b3668
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov esi, eax
cmp eax, 0xffffffff
je 0x4b35d1
test al, 0x10
jne 0x4b3698
test al, 1
je 0x4b35d1
mov edx, eax
mov rcx, rbx
and edx, 0xfffffffe
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x4b35d1
jmp 0x4b3545
mov edx, esi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x4b35d1
call rbx
mov dword [rax], 0x26
mov eax, 0xffffffff
jmp 0x4b3595
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4b3727
test al, 0x10
je 0x4b3727
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wrmdir]
test eax, eax
je 0x4b3545
jmp 0x4b3616
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x4b36e7
mov rcx, rbp
call fcn.004af900
test eax, eax
je 0x4b3720
call r14
mov r15d, eax
cmp esi, 0xffffffff
je 0x4b3710
mov edx, esi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp r15d, 5
je 0x4b35d1
jmp 0x4b35cb
cmp eax, 5
je 0x4b3632
jmp 0x4b3573
xor eax, eax
jmp 0x4b3595
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x15
jmp 0x4b3616
call sub.libssp_0.dll___stack_chk_fail
nop
nop