Function at 0x140001cf0
Capabilities:
Get file attributes
Move file

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x1c0], rbx
mov rax, qword [0x1400dc010]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov r14, rdx
mov rsi, rcx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rdx
xor r13d, r13d
mov dword [rsp + 0x40], r13d
mov rcx, qword [rdx]
lea rdi, [r13 - 1]
cmp dword [rcx - 0x10], r13d
jg 0x140001d51
mov r15d, edi
jmp 0x140001d6f
mov edx, 0x3d
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov r15, rax
test rax, rax
jne 0x140001d69
mov r15d, edi
jmp 0x140001d6f
sub r15, qword [r14]
sar r15, 1
mov rcx, qword [r14]
cmp dword [rcx - 0x10], 0
jg 0x140001d7c
mov ebx, edi
jmp 0x140001d99
mov edx, 0x3b
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov rbx, rax
test rax, rax
jne 0x140001d93
mov ebx, edi
jmp 0x140001d99
sub rbx, qword [r14]
sar rbx, 1
mov edx, 0x3d
mov rcx, qword [r14]
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov r12, rax
test rax, rax
jne 0x140001db4
mov r12d, edi
jmp 0x140001dba
sub r12, qword [r14]
sar r12, 1
sub ebx, r15d
lea r9d, [rbx - 1]
lea r8d, [r15 + 1]
lea rdx, [rsp + 0x48]
mov rcx, r14
call fcn.14000bc40
nop
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x64
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, qword [rsp + 0x48]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rax, qword [r14]
mov r8d, dword [rax - 0x10]
sub r8d, r12d
dec r8d
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.14000bb80
nop
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x64
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, qword [rsp + 0x50]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x78], rax
call fcn.14000d980
mov rcx, rax
test rax, rax
je 0x1400021be
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x58]
call fcn.14000cc80
test al, al
jne 0x140001e99
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x58]
call fcn.14000c480
nop
lea rcx, [rsp + 0x58]
call fcn.140003ed0
test al, al
jne 0x140001f65
call fcn.14000d980
mov rcx, rax
test rax, rax
je 0x1400021c9
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi], rax
lea rbx, str.Failure_:_Folder_does_not_exist
mov rdx, rbx
mov rcx, rsi
call fcn.14000cc80
test al, al
jne 0x140001efb
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x140001ee2
mov r8d, eax
mov rdx, rbx
mov rcx, rsi
call fcn.14000d160
nop
mov dword [rsp + 0x40], 1
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140001f22
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140001f41
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [r14]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140002189
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
jmp 0x140002189
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp ebx, 0x10
je 0x140002024
call fcn.14000d980
mov rcx, rax
test rax, rax
je 0x1400021d4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi], rax
lea rbx, str.Failure_:_Folder_specified_is_not_correct
mov rdx, rbx
mov rcx, rsi
call fcn.14000cc80
test al, al
jne 0x140001fd9
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140001fc0
mov r8d, eax
mov rdx, rbx
mov rcx, rsi
call fcn.14000d160
nop
mov dword [rsp + 0x40], 1
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140002000
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000201f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x14000216f
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x80]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_rename]
test eax, eax
je 0x1400020d5
call fcn.14000d980
mov rcx, rax
test rax, rax
je 0x1400021df
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi], rax
lea rbx, str.Error_renaming_folder
mov rdx, rbx
mov rcx, rsi
call fcn.14000cc80
test al, al
jne 0x14000208a
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x140002071
mov r8d, eax
mov rdx, rbx
mov rcx, rsi
call fcn.14000d160
nop
mov dword [rsp + 0x40], 1
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400020b1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400020d0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x14000216f
call fcn.14000d980
mov rcx, rax
test rax, rax
je 0x1400021b3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsi], rax
lea rbx, str.Folder_renamed_successfully
mov rdx, rbx
mov rcx, rsi
call fcn.14000cc80
test al, al
jne 0x140002129
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140002110
mov r8d, eax
mov rdx, rbx
mov rcx, rsi
call fcn.14000d160
nop
mov dword [rsp + 0x40], 1
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140002150
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000216f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [r14]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140002189
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, rsi
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1400691f0
mov rbx, qword [rsp + 0x1c0]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.14000dd90
int3
mov ecx, 0x80004005
call fcn.14000dd90
int3
mov ecx, 0x80004005
call fcn.14000dd90
int3
mov ecx, 0x80004005
call fcn.14000dd90
int3
mov ecx, 0x80004005
call fcn.14000dd90
int3