Function at 0x140070570
Capabilities:
Check if file exists
Delete directory
Move file

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5e8]
sub rsp, 0x6e8
mov rax, qword [0x1403c2018]
xor rax, rsp
mov qword [rbp + 0x5d0], rax
mov byte [rsp + 0x30], r9b
mov byte [rsp + 0x31], r8b
mov rsi, rdx
mov r13, rcx
or rbx, 0xffffffffffffffff
mov qword [rsp + 0x58], rbx
mov edi, 0x250
mov ecx, edi
call fcn.140038848
mov r15, rax
xor r12d, r12d
test rax, rax
je 0x1400705dc
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.14003a220
jmp 0x1400705df
mov r15, r12
mov qword [rsp + 0x60], r15
mov edi, 0x208
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x3c0]
call fcn.14003a220
mov r8d, edi
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.14003a220
mov byte [rsp + 0x32], r12b
test r15, r15
jne 0x140070624
mov edi, 0x8007000e
mov r8d, 0x5d0
mov ecx, edi
jmp 0x140070b4d
mov rdi, r15
xor eax, eax
mov ecx, 0x250
rep stosb byte [rdi], al
cmp qword [rsi + 0x10], r12
jne 0x140070641
mov r8d, 0x5d5
jmp 0x140070b41
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x14007064e
mov rcx, qword [rsi]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140070b3b
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x140070669
mov rcx, qword [rsi]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x140070b3b
mov rax, rsi
cmp qword [rsi + 0x18], 8
jb 0x140070684
mov rax, qword [rsi]
test rax, rax
je 0x140070b27
mov ecx, 0x104
mov edx, ecx
cmp word [rax], r12w
je 0x1400706a4
add rax, 2
sub rdx, 1
jne 0x140070694
mov rax, rdx
neg rax
sbb edi, edi
not edi
mov r14d, 0x80070057
and edi, r14d
mov rax, rdx
sub rcx, rdx
neg rax
sbb rax, rax
and rax, rcx
mov ecx, edi
test rdx, rdx
je 0x140070b33
dec rax
cmp rax, 0x102
ja 0x140070b1f
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x1b0]
call fcn.14003a220
mov qword [rsp + 0x68], r12
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x140070706
mov rcx, qword [rsi]
lea r9, [rsp + 0x68]
lea r8, [rbp + 0x1b0]
mov r12d, 0x103
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
xor r8d, r8d
test eax, eax
jne 0x140070754
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov eax, edi
shr eax, 0x1f
test al, al
je 0x140070b5a
mov r8d, 0x5e2
jmp 0x14007061d
mov rcx, r12
lea rax, [rbp + 0x1b0]
cmp word [rax], r8w
je 0x14007076e
add rax, 2
sub rcx, 1
jne 0x14007075e
mov rax, rcx
neg rax
sbb edi, edi
not edi
and edi, r14d
mov rax, rcx
sub r12, rcx
neg rax
sbb rdx, rdx
and rdx, r12
test rcx, rcx
jne 0x14007079a
mov r8d, 0x5e4
jmp 0x14007061d
cmp rdx, 3
ja 0x1400707ab
mov r8d, 0x5e9
jmp 0x140070b47
mov r8, rsi
cmp qword [rsi + 0x18], 8
jb 0x1400707b8
mov r8, qword [rsi]
xor r14d, r14d
mov dword [rsp + 0x20], r14d
lea r9, [0x1402fcd34]
mov edx, 0x104
lea rcx, [rbp + 0x3c0]
call fcn.140020af8
mov edi, eax
test eax, eax
jns 0x1400707eb
mov r8d, 0x5ed
mov ecx, eax
jmp 0x140070b4d
mov rcx, qword [str.84__]
mov rax, qword [rcx]
mov r8, r15
lea rdx, [rbp + 0x3c0]
mov rax, qword [rax + 8]
call qword [str.0B__]
mov rbx, rax
mov qword [rsp + 0x58], rax
mov r12d, 0x80070000
cmp rax, 0xffffffffffffffff
jne 0x140070840
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [rax - 2]
test ecx, 0xffffffee
jne 0x140070a4f
cmp eax, 0x13
je 0x140070a4f
lea edi, [rbx + 2]
jmp 0x140070843
mov edi, r14d
cmp edi, 1
je 0x140070aa9
mov rcx, r15
call fcn.140064f08
test al, al
jne 0x140070a18
test byte [r15], 0x10
je 0x140070947
cmp byte [rsp + 0x31], r14b
je 0x140070a18
lea r9, [r15 + 0x2c]
mov r8, rsi
cmp qword [rsi + 0x18], 8
jb 0x140070882
mov r8, qword [rsi]
mov dword [rsp + 0x20], r14d
mov edx, 0x104
lea rcx, [rbp - 0x60]
call fcn.140020af8
mov edi, eax
test eax, eax
js 0x140070a87
mov dil, byte [rsi + 0x28]
mov r14, qword [rsi + 0x20]
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], ax
lea rcx, [rbp - 0x60]
or r8, 0xffffffffffffffff
inc r8
cmp word [rcx + r8*2], ax
jne 0x1400708c9
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x38]
call fcn.14001b664
nop
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x70]
call fcn.140019c78
mov qword [rbp - 0x70], r14
mov byte [rbp - 0x68], dil
lea rcx, [rsp + 0x38]
call fcn.14001b814
mov rax, qword [r13]
mov r9b, byte [rsp + 0x30]
mov r8b, byte [rsp + 0x31]
lea rdx, [rsp + 0x70]
mov rcx, r13
mov rax, qword [rax + 0x98]
call qword [str.0B__]
mov edi, eax
xor r14d, r14d
test eax, eax
js 0x140070a63
jmp 0x140070a0e
mov byte [rsp + 0x32], 1
lea r9, [r15 + 0x2c]
mov r8, rsi
cmp qword [rsi + 0x18], 8
jb 0x14007095d
mov r8, qword [rsi]
mov dword [rsp + 0x20], r14d
mov edx, 0x104
lea rcx, [rbp - 0x60]
call fcn.140020af8
mov edi, eax
test eax, eax
js 0x140070a92
mov dil, byte [rsi + 0x28]
mov r14, qword [rsi + 0x20]
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], ax
lea rcx, [rbp - 0x60]
or r8, 0xffffffffffffffff
inc r8
cmp word [rcx + r8*2], ax
jne 0x1400709a4
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x38]
call fcn.14001b664
nop
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x70]
call fcn.140019c78
mov qword [rbp - 0x70], r14
mov byte [rbp - 0x68], dil
lea rcx, [rsp + 0x38]
call fcn.14001b814
xor r14d, r14d
cmp byte [rsp + 0x30], r14b
jne 0x140070a0e
mov rax, qword [r13]
lea rdx, [rsp + 0x70]
mov rcx, r13
mov rax, qword [rax + 0x78]
call qword [str.0B__]
nop
lea rcx, [rsp + 0x70]
call fcn.14001b814
cmp rbx, 0xffffffffffffffff
je 0x140070aa4
mov rcx, qword [str.84__]
mov rax, qword [rcx]
mov r8, r15
mov rdx, rbx
mov rax, qword [rax + 0x10]
call qword [str.0B__]
test eax, eax
jne 0x140070840
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x140070a9d
movzx edi, ax
or edi, r12d
test eax, eax
cmovle edi, eax
test edi, edi
js 0x140070aa9
jmp 0x140070843
mov r8d, 0x5fa
lea rdx, str.D:dbs_shodct0417_084611_0cmduclientonedriveSetup_standalone_fsmanager_fsmanagerimpl.cpp
mov ecx, eax
call fcn.140064438
nop
lea rcx, [rsp + 0x70]
call fcn.14001b814
jmp 0x140070b5a
mov r8d, 0x5f8
jmp 0x1400707e4
mov r8d, 0x600
jmp 0x1400707e4
mov edi, 1
jmp 0x140070aa9
mov edi, 0x8000ffff
cmp byte [rsp + 0x30], r14b
je 0x140070abb
cmp byte [rsp + 0x32], r14b
jne 0x140070b5a
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x140070ac8
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x140070b5a
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x140070ae3
mov rcx, qword [rsi]
xor edx, edx
lea r8d, [rdx + 4]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x140070b0a
cmp qword [rsi + 0x18], 8
jb 0x140070afd
mov rsi, qword [rsi]
mov rdx, rsi
mov rcx, r13
call fcn.14006ed38
jmp 0x140070b5a
cmp qword [rsi + 0x20], r14
je 0x140070b5a
mov rdx, rsi
mov rcx, r13
call fcn.140072b2c
mov edi, eax
jmp 0x140070b5a
mov r8d, 0x5dd
jmp 0x140070b47
mov r14d, 0x80070057
mov ecx, r14d
mov edi, r14d
mov r8d, 0x5dc
jmp 0x140070b4d
mov r8d, 0x5da
mov r14d, 0x80070057
mov ecx, r14d
mov edi, r14d
lea rdx, str.D:dbs_shodct0417_084611_0cmduclientonedriveSetup_standalone_fsmanager_fsmanagerimpl.cpp
call fcn.140064438
nop
mov edx, 0x250
mov rcx, r15
call fcn.1400385dc
nop
cmp rbx, 0xffffffffffffffff
je 0x140070b86
mov rcx, qword [str.84__]
mov rax, qword [rcx]
mov rdx, rbx
mov rax, qword [rax + 0x18]
call qword [str.0B__]
nop
mov eax, edi
mov rcx, qword [rbp + 0x5d0]
xor rcx, rsp
call fcn.140038910
add rsp, 0x6e8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret