Function at 0x4ad105c0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x4ad2e13c], eax
cmp eax, ebx
je 0x4ad10860
cmp eax, 2
je 0x4ad10860
jmp 0x4ad18bd2
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x240
mov rax, qword [0x4ad2e1c8]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov r12, qword [rsp + 0x2a0]
mov r14, qword [rsp + 0x2b0]
mov r15, qword [rsp + 0x2b8]
mov rdi, rcx
lea rcx, str.COPYCMD
mov r13, r8
mov rbx, rdx
call fcn.4ad04a34
mov rdx, rbx
mov rcx, rax
call fcn.4ad10050
mov rcx, qword [rdi + 0x78]
xor r8d, r8d
xor edx, edx
call fcn.4ad02a74
mov rdx, rbx
mov rcx, rax
mov rbp, rax
call fcn.4ad10050
xor ebx, ebx
cmp eax, ebx
je 0x4ad10650
movzx ecx, word [rbp]
add rbp, 2
cmp cx, bx
jne 0x4ad10643
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rsi, rcx
cmp ecx, ebx
je 0x4ad18aa9
cmp ecx, 0x104
jae 0x4ad18ab4
mov rcx, rbp
call fcn.4ad02e40
or rcx, 0xffffffffffffffff
mov rdi, rbp
mov r8, rax
xor eax, eax
repne scasw ax, word [rdi]
not rcx
mov rdx, rcx
mov rcx, rbp
call fcn.4ad01744
mov rcx, rbp
call fcn.4ad0b6a4
mov qword [r14], rax
cmp rax, 1
je 0x4ad18abf
mov eax, esi
mov edi, 0x5c
lea rsi, [rbp + rax*2 + 2]
cmp word [rsi], bx
je 0x4ad18acb
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp word [rsi + rcx*2 + 2], bx
jne 0x4ad18aec
cmp ecx, 0x104
ja 0x4ad18af7
mov rcx, rsi
call fcn.4ad02e40
or rcx, 0xffffffffffffffff
mov rdi, rsi
mov r8, rax
xor eax, eax
repne scasw ax, word [rdi]
not rcx
mov rdx, rcx
mov rcx, rsi
call fcn.4ad01744
mov edx, 0x3a
lea edi, [rdx + 0x22]
cmp word [rsi + 2], dx
jne 0x4ad18b02
lea rax, [rsp + 0x20]
mov edx, 0x104
lea rcx, [rsp + 0x20]
sub rsi, rax
lea rax, [rdx + 0x7ffffefa]
cmp rax, rbx
je 0x4ad1075c
movzx eax, word [rsi + rcx]
cmp ax, bx
je 0x4ad1075c
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x4ad1073a
cmp rdx, rbx
je 0x4ad18b81
mov word [rcx], bx
mov r8, rbp
mov ebp, 0x104
mov rcx, r13
mov edx, ebp
call fcn.4ad045b0
cmp eax, ebx
jne 0x4ad18b8a
mov rax, qword [r14]
mov rcx, qword [rax + 0x30]
test byte [rcx], 0x10
jne 0x4ad107f1
cmp r13, rbx
je 0x4ad18b95
mov edx, edi
mov rcx, r13
call qword [sym.imp.msvcrt.dll_wcsrchr]
mov rdi, rax
cmp rax, rbx
je 0x4ad18b95
add rdi, 2
jmp 0x4ad107b4
mov rax, qword [r14]
mov rcx, qword [rax + 0x20]
cmp rcx, rbx
je 0x4ad107d3
mov edx, 0x5c
call qword [sym.imp.msvcrt.dll_wcsrchr]
mov r8, rax
cmp rax, rbx
jne 0x4ad107da
mov rax, qword [r14]
mov r8, qword [rax + 0x20]
mov rax, rdi
mov rdx, rbp
mov rcx, rdi
sub rax, r13
sar rax, 1
sub rdx, rax
call fcn.4ad01744
lea r8, [rsp + 0x20]
mov edx, ebp
mov rcx, r12
call fcn.4ad045b0
cmp eax, ebx
jne 0x4ad18b9d
xor ecx, ecx
mov esi, ebx
mov dword [0x4ad2e13c], ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [r15], ebx
mov rax, r12
mov rcx, r12
cmp word [r12], bx
je 0x4ad10834
mov rcx, rax
add rax, 2
cmp word [rax], bx
jne 0x4ad10828
mov edi, 0x5c
or r14, 0xffffffffffffffff
cmp word [rcx], di
je 0x4ad18ba8
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4ad104b4
test al, 0x10
jne 0x4ad11335
cmp esi, ebx
jne 0x4ad11346
xor eax, eax
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.4ad01000
mov rbx, qword [rsp + 0x298]
add rsp, 0x240
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov dword [r15], 1
mov esi, 1
jmp 0x4ad10860
cmp r13, rbx
je 0x4ad11359
mov edx, edi
mov rcx, r13
call qword [sym.imp.msvcrt.dll_wcsrchr]
mov rbx, rax
xor eax, eax
mov rcx, r14
mov rdi, r12
repne scasw ax, word [rdi]
mov rdi, rbx
not rcx
lea rdx, [rcx - 1]
mov rcx, r14
repne scasw ax, word [rdi]
not rcx
lea rax, [rdx + rcx]
cmp rax, rbp
ja 0x4ad18bc7
mov r8, rbx
mov rdx, rbp
mov rcx, r12
call fcn.4ad01ac0
nop
jmp 0x4ad10868
mov ecx, 0x232a
call fcn.4ad22808
int3
mov ecx, 0x232e
call fcn.4ad22808
int3
mov ecx, dword [0x4ad2e13c]
call fcn.4ad22808
int3
mov rax, qword [0x4ad2e230]
lea edx, [rdi - 0x22]
movzx ecx, word [rax]
mov word [rsp + 0x22], dx
mov word [rsp + 0x24], bx
mov word [rsp + 0x20], cx
jmp 0x4ad10768
mov ecx, 0x232a
call fcn.4ad22808
int3
mov ecx, 0x232e
call fcn.4ad22808
int3
cmp word [rsi], di
jne 0x4ad18b11
cmp word [rsi + 2], di
je 0x4ad10728
mov rax, qword [0x4ad2e230]
or r8, 0xffffffffffffffff
mov rdi, rsi
movzx ecx, word [rax]
xor eax, eax
mov word [rsp + 0x22], dx
mov word [rsp + 0x20], cx
mov word [rsp + 0x24], bx
mov rcx, r8
repne scasw ax, word [rdi]
lea rdi, [rsp + 0x20]
not rcx
lea rdx, [rcx - 1]
mov rcx, r8
repne scasw ax, word [rdi]
not rcx
lea rax, [rdx + rcx]
mov ecx, 0x104
cmp rax, rcx
jbe 0x4ad18b67
mov ecx, 0x232e
call fcn.4ad22808
int3
mov rdx, rcx
lea rcx, [rsp + 0x20]
mov r8, rsi
call fcn.4ad01ac0
mov edi, 0x5c
jmp 0x4ad10768
sub rcx, 2
jmp 0x4ad10765
mov ecx, 0x232e
call fcn.4ad22808
int3
mov rdi, r13
jmp 0x4ad107b4
mov ecx, 0x232e
call fcn.4ad22808
int3
lea esi, [rdi - 0x5b]
xor eax, eax
mov rcx, r14
mov rdi, r12
repne scasw ax, word [rdi]
lea edi, [rsi + 0x5b]
not rcx
mov word [r12 + rcx*2 - 4], bx
jmp 0x4ad10846
mov ecx, 0x232e
call fcn.4ad22808
int3
cmp eax, 3
je 0x4ad10860
mov ecx, eax
call fcn.4ad22808
int3