Function at 0x14001d94c
Capabilities:
Copy file
Delete directory
Delete file
Move file

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
xor edi, edi
cmp word [rcx], 0x2d
mov esi, 4
lea ebp, [rsi - 3]
lea r13d, [rsi - 1]
mov r14b, dil
mov byte [rsp + 0x100], dil
mov r15b, dil
mov byte [rsp + 0x108], dil
mov bl, dil
mov byte [rsp + 0x20], dil
jne 0x14001db73
lea r12d, [rsi + 2]
lea rax, [rcx + 2]
lea rdx, [rsp + 0xf0]
mov r8d, ebp
cmp word [rax], 0x2d
cmove rcx, rax
mov qword [rsp + 0xf0], rcx
lea rcx, [0x1400ea6f0]
call fcn.140058710
cmp al, dil
jne 0x14001db6b
lea rdx, [rsp + 0xf0]
lea rcx, str._simpleprogress
mov r8d, 0xf
call fcn.140058710
cmp al, dil
je 0x14001d9ff
mov esi, 0x100
jmp 0x14001db59
lea rdx, [rsp + 0xf0]
lea rcx, str._progress
mov r8d, 9
call fcn.140058710
cmp al, dil
je 0x14001da26
mov si, di
jmp 0x14001db59
lea rdx, [rsp + 0xf0]
lea rcx, str._file
mov r8d, 5
call fcn.140058710
cmp al, dil
je 0x14001da4d
mov r14b, bpl
jmp 0x14001db59
lea rdx, [rsp + 0xf0]
lea rcx, [0x1400eca28]
mov r8d, 2
call fcn.140058710
cmp al, dil
je 0x14001da79
mov byte [rsp + 0x100], bpl
jmp 0x14001db59
lea rdx, [rsp + 0xf0]
lea rcx, [0x1400eca20]
mov r8d, r12d
call fcn.140058710
cmp al, dil
je 0x14001daa1
mov dword [rsp + 0xf8], ebp
jmp 0x14001db59
lea rdx, [rsp + 0xf0]
lea rcx, [0x1400eca1c]
mov r8d, 2
call fcn.140058710
cmp al, dil
je 0x14001dac8
mov r15b, 0x10
jmp 0x14001db59
lea rdx, [rsp + 0xf0]
lea rcx, str._delme
mov r8d, r12d
call fcn.140058710
cmp al, dil
je 0x14001dae8
mov bl, 0x10
jmp 0x14001db59
lea rdx, [rsp + 0xf0]
lea rcx, [0x1400eca10]
mov r8d, r13d
call fcn.140058710
cmp al, dil
je 0x14001db0e
mov r14b, 2
mov byte [rsp + 0x20], r14b
jmp 0x14001db59
mov rcx, qword [rsp + 0xf0]
movzx eax, word [rcx]
cmp ax, di
je 0x14001db4c
mov edx, 9
lea r8d, [rdx + 0x17]
cmp dx, ax
ja 0x14001db32
cmp ax, 0xd
jbe 0x14001db4c
cmp r8w, ax
je 0x14001db4c
add rcx, 2
mov qword [rsp + 0xf0], rcx
mov ax, word [rcx]
cmp ax, di
jne 0x14001db27
lea rcx, [rsp + 0xf0]
call fcn.14001462c
mov rcx, qword [rsp + 0xf0]
cmp word [rcx], 0x2d
je 0x14001d9a2
mov byte [rsp + 0x108], r15b
lea rcx, [rsp + 0xf0]
call fcn.14001462c
cmp bl, dil
je 0x14001dbda
lea rdx, str.23:INDATA
lea rcx, [rsp + 0x100]
call fcn.14006016c
mov rdx, qword [rsp + 0xf0]
lea rcx, [rsp + 0x100]
call fcn.140056108
mov rdx, qword [rsp + 0x100]
lea rcx, [0x140106ec0]
call fcn.1400425e4
lea rcx, [rsp + 0x100]
mov rbx, rax
call fcn.14004ea6c
mov rax, rbx
jmp 0x14001e012
mov rcx, qword [rsp + 0xf0]
cmp word [rcx], di
jne 0x14001dbf3
mov rax, 0xffffffff80070057
jmp 0x14001e012
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea ebx, [rbp + rax]
lea ecx, [rbx + rbx + 4]
movsxd rdx, ecx
lea rcx, [rsp + 0x30]
call fcn.140056040
mov rdx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x30]
movsxd r11, ebx
add r11, r11
mov r8, r11
call fcn.14001a4c0
mov rcx, qword [rsp + 0x30]
xor edx, edx
mov qword [rsp + 0xf0], rcx
mov word [r11 + rcx], di
lea rcx, [rsp + 0x40]
lea r8d, [rdx + 0x30]
mov qword [rsp + 0x38], rdi
call fcn.1400cc8d0
lea rcx, [rsp + 0xf0]
call fcn.14001462c
mov rbx, qword [rsp + 0xf0]
mov eax, 0x610
or si, ax
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x40], r13d
mov word [rsp + 0x58], si
mov qword [rsp + 0x48], rbx
mov ebp, edi
mov rsi, rbx
mov r12b, dil
call fcn.140055fcc
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x80], rdi
call fcn.140055fcc
lea rcx, [rsp + 0x70]
mov edx, 0xa
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], rdi
lea r13, [rsp + 0x70]
call fcn.1400560cc
lea rcx, [rsp + 0x88]
mov edx, 0xa
call fcn.1400560cc
movzx r11d, word [rbx]
cmp r11w, di
je 0x14001de2b
mov al, byte [rsp + 0x100]
mov r15d, 0x20
cmp al, dil
je 0x14001dd5a
cmp r11w, 0x3b
jne 0x14001dd5a
mov word [rbx], di
add rbx, 2
mov qword [rsp + 0x28], rbx
cmp word [rsi], di
je 0x14001dd31
cmp r12b, dil
jne 0x14001dd23
mov r8b, 1
cmp r14b, dil
jne 0x14001dd26
mov r8b, dil
mov rdx, rsi
mov rcx, r13
call fcn.14001d5c4
lea rcx, [rsp + 0x28]
call fcn.14001462c
mov rbx, qword [rsp + 0x28]
mov al, byte [rsp + 0x100]
mov rsi, rbx
cmp r12b, dil
je 0x14001de11
inc ebp
jmp 0x14001de11
cmp r11w, 0x3e
jne 0x14001de11
cmp word [rbx - 2], 0x3d
jne 0x14001dd76
mov dword [rsp + 0x40], 2
jmp 0x14001dd9a
cmp word [rbx - 2], 0x2d
jne 0x14001dd87
mov dword [rsp + 0x40], 1
jmp 0x14001dd9a
cmp word [rbx + 2], 0x3e
jne 0x14001dd9a
add rbx, 2
mov dword [rsp + 0x40], 4
lea rax, [rbx - 4]
cmp rax, rsi
jb 0x14001ddc5
mov ecx, 9
cmp cx, word [rax]
ja 0x14001ddb3
cmp word [rax], 0xd
jbe 0x14001ddb9
cmp r15w, word [rax]
jne 0x14001ddc5
mov word [rax], di
sub rax, 2
cmp rax, rsi
jae 0x14001dda8
mov word [rbx - 2], di
mov word [rbx], di
lea rcx, [rsp + 0x28]
add rbx, 2
mov qword [rsp + 0x28], rbx
call fcn.14001462c
mov rbx, qword [rsp + 0x28]
mov qword [rsp + 0x50], rbx
cmp word [rsi], di
je 0x14001ddfc
xor r8d, r8d
mov rdx, rsi
mov rcx, r13
call fcn.14001d5c4
mov al, byte [rsp + 0x100]
mov rsi, rbx
mov r12b, 1
lea r13, [rsp + 0x88]
add rbx, 2
mov r11w, word [rbx]
cmp r11w, di
jne 0x14001dcf9
mov r15b, byte [rsp + 0x108]
cmp word [rsi], di
je 0x14001de4c
xor r8d, r8d
mov rdx, rsi
mov rcx, r13
call fcn.14001d5c4
mov ebx, 1
cmp r12b, dil
je 0x14001de51
add ebp, ebx
jmp 0x14001de51
mov ebx, 1
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
cmp ebp, edi
mov word [rax + rcx*2], di
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x88]
mov word [rax + rcx*2], di
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x50]
cmovg rax, qword [rsp + 0x88]
xor ecx, ecx
mov qword [rsp + 0x50], rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r11d, dword [rsp + 0x40]
cmp dword [rsp + 0xf8], edi
je 0x14001dec4
cmp r11d, 3
jne 0x14001dec4
mov rcx, qword [rsp + 0x70]
movsx edx, r15b
call fcn.14001d6bc
mov rdi, rax
jmp 0x14001dfee
cmp r14b, dil
je 0x14001df3a
cmp byte [rsp + 0x20], dil
je 0x14001def5
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
cmp eax, ebx
je 0x14001dfee
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
cmove eax, ebx
mov edi, eax
jmp 0x14001dfee
cmp r11d, 3
jne 0x14001df08
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x14001dedb
cmp r11d, 2
jne 0x14001df23
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileW]
jmp 0x14001dedb
cmp r11d, ebx
jne 0x14001df3a
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_MoveFileW]
jmp 0x14001dedb
cmp r11d, 4
jne 0x14001dfd6
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x100]
call fcn.14006016c
mov rcx, qword [rsp + 0x100]
call fcn.140053634
cmp rax, rdi
jne 0x14001df72
mov rax, qword [rsp + 0x100]
jmp 0x14001df76
add rax, 2
mov word [rax], di
mov rcx, qword [rsp + 0x50]
call fcn.140053634
cmp rax, rdi
jne 0x14001df8f
mov rax, qword [rsp + 0x50]
jmp 0x14001df93
add rax, 2
lea rcx, [rsp + 0x100]
mov rdx, rax
call fcn.140056108
mov rdx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_MoveFileW]
cmp eax, ebx
je 0x14001dfc7
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
cmove eax, ebx
mov edi, eax
lea rcx, [rsp + 0x100]
call fcn.14004ea6c
jmp 0x14001dfee
cmp ebp, 2
jl 0x14001dfe0
or word [rsp + 0x58], bx
lea rcx, [rsp + 0x38]
call qword [sym.imp.SHELL32.dll_SHFileOperationW]
movsxd rdi, eax
lea rcx, [rsp + 0x88]
call fcn.14004ea6c
lea rcx, [rsp + 0x70]
call fcn.14004ea6c
lea rcx, [rsp + 0x30]
call fcn.14004ea6c
mov rax, rdi
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret