Function at 0x14002bd90
Capabilities:
Check if file exists
Copy file
Delete file

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, r8
mov rdi, rcx
test dl, dl
je 0x14002bdaf
mov rdx, r8
add rsp, 0x28
pop rdi
pop rsi
jmp 0x14002bef0
mov qword [rsp + 0x40], rbx
mov rbx, qword [rcx]
call fcn.140023440
mov rcx, rdi
lea rdx, [rax + 0x18]
call qword [rbx + 0x10]
test al, al
jne 0x14002bed4
xor eax, eax
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x58], rax
mov rcx, rdi
mov dword [rsp + 0x48], eax
call fcn.1400158e0
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14002bed4
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov rcx, qword [rsp + 0x58]
mov edx, 2
mov ebx, eax
call fcn.140145620
test ebx, ebx
jle 0x14002bed4
mov rcx, rdi
mov qword [rsp + 0x20], rbp
call fcn.140015800
mov rcx, rax
call fcn.14017f160
mov ebp, eax
cmp eax, 0xffffffff
jne 0x14002bea5
call fcn.1401762e0
mov ecx, dword [rax]
cmp ecx, 2
je 0x14002be75
cmp ecx, 0xd
jne 0x14002bea5
cmp qword [rdi + 0x20], 0x10
lea rdx, [rdi + 8]
jb 0x14002be53
mov rdx, qword [rdx]
lea rcx, str.ERR:__s_is_read_only_n
call fcn.14003a610
mov rbp, qword [rsp + 0x20]
xor bl, bl
movzx eax, bl
mov rbx, qword [rsp + 0x40]
add rsp, 0x28
pop rdi
pop rsi
ret
cmp qword [rdi + 0x20], 0x10
lea rdx, [rdi + 8]
jb 0x14002be83
mov rdx, qword [rdx]
lea rcx, str.ERR:__s_is_a_directory_or_doesnt_exist_n
call fcn.14003a610
mov rbp, qword [rsp + 0x20]
xor bl, bl
movzx eax, bl
mov rbx, qword [rsp + 0x40]
add rsp, 0x28
pop rdi
pop rsi
ret
test ebp, ebp
sete bl
test ebp, ebp
jne 0x14002bec0
test rsi, rsi
je 0x14002bec0
mov r8, qword [rsi]
mov rdx, rdi
mov rcx, rsi
call qword [r8 + 0x18]
mov rbp, qword [rsp + 0x20]
movzx eax, bl
mov rbx, qword [rsp + 0x40]
add rsp, 0x28
pop rdi
pop rsi
ret
mov rbx, qword [rsp + 0x40]
xor al, al
add rsp, 0x28
pop rdi
pop rsi
ret
push rbx
push rdi
push r15
sub rsp, 0x70
mov rbx, qword [rcx]
mov r15, rdx
mov rdi, rcx
call fcn.140023440
mov rcx, rdi
lea rdx, [rax + 0x18]
call qword [rbx + 0x10]
test al, al
jne 0x14002c0cf
mov rcx, rdi
call fcn.140015800
mov rcx, rax
xor edx, edx
call fcn.14017efdc
test eax, eax
jne 0x14002c0cf
mov rbx, qword [rdi]
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], r14
call fcn.140023440
mov rcx, rdi
lea rdx, [rax + 0x18]
call qword [rbx + 0x10]
xor ebx, ebx
xor r14b, r14b
test al, al
jne 0x14002bfb0
lea r8, [rsp + 0x90]
mov qword [rsp + 0xa0], rbx
lea rdx, [rsp + 0xa0]
mov dword [rsp + 0x90], ebx
mov rcx, rdi
call fcn.1400158e0
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x14002bfb0
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov rcx, qword [rsp + 0xa0]
lea edx, [rbx + 2]
test eax, eax
setg r14b
call fcn.140145620
mov edx, dword [rdi + 0x18]
mov rcx, 0xffffffffffffffff
add edx, 2
mov eax, 2
mul rdx
cmovo rax, rcx
mov rcx, rax
call fcn.140145a74
mov rcx, rdi
mov rsi, rax
call fcn.140015800
mov rdx, rsi
sub rdx, rax
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [rax]
mov word [rdx + rax], cx
lea rax, [rax + 2]
test cx, cx
jne 0x14002bff0
mov eax, dword [rdi + 0x18]
lea rcx, [rsp + 0x20]
inc eax
xorps xmm0, xmm0
mov word [rsi + rax*2], bx
xor eax, eax
mov qword [rsp + 0x50], rax
mov eax, 0x454
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x28], 3
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x30], rsi
movups xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x40], ax
call qword [sym.imp.SHELL32.dll_SHFileOperationW]
mov ebp, eax
cmp eax, 2
je 0x14002c08f
cmp eax, 0xd
jne 0x14002c067
cmp qword [rdi + 0x20], 0x10
lea rdx, [rdi + 8]
jb 0x14002c05e
mov rdx, qword [rdx]
lea rcx, [0x1401bf490]
jmp 0x14002c0a4
test ebp, ebp
mov rcx, rsi
sete bl
call fcn.140145620
test ebp, ebp
jne 0x14002c0b1
test r15, r15
je 0x14002c0b1
mov rax, qword [r15]
mov r8, rdi
movzx edx, r14b
mov rcx, r15
call qword [rax + 0x30]
jmp 0x14002c0b1
cmp qword [rdi + 0x20], 0x10
lea rdx, [rdi + 8]
jb 0x14002c09d
mov rdx, qword [rdx]
lea rcx, [0x1401bf4a8]
call fcn.14003a610
mov rcx, rsi
call fcn.140145620
mov r14, qword [rsp + 0x60]
movzx eax, bl
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x98]
add rsp, 0x70
pop r15
pop rdi
pop rbx
ret
xor al, al
add rsp, 0x70
pop r15
pop rdi
pop rbx
ret