Function at 0x14001ebe0
Capabilities:
Get file attributes
Set file attributes

Disassembly:
mov qword [rsp + 0x20], rbx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rbp, qword [rdx + 0x20]
mov rcx, qword [rdx + 0x28]
mov r13, rdx
mov rax, qword [rbp + 0x38]
mov rbx, qword [rbp + 0x18]
mov r15, qword [rbp + 0x30]
mov qword [rsp + 0x90], rax
mov r14d, 1
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [r13 + 0x3c], 0
jne 0x14001ec2e
add dword [rbp + 0x20], r14d
mov rdx, qword [r13 + 8]
mov rcx, rbx
call fcn.14001daf0
xor r10d, r10d
bt dword [rbp + 8], 0x1e
mov rsi, rax
mov r12, rax
jae 0x14001ed85
test rax, rax
je 0x14001ec95
mov ecx, 0x7fffffff
mov edx, r10d
nop
nop
cmp word [rax], dx
je 0x14001ec78
add rax, 2
sub rcx, r14
jne 0x14001ec60
mov edx, 0x80070057
mov rax, r10
jmp 0x14001ec8f
test rcx, rcx
jne 0x14001ec87
mov edx, 0x80070057
mov rax, r10
jmp 0x14001ec8f
mov eax, 0x7fffffff
sub rax, rcx
test edx, edx
jns 0x14001ec9d
jmp 0x14001ec9a
mov edx, 0x80070057
mov rax, r10
test edx, edx
lea rdi, [rbp + 0x4c]
mov r9, r10
cmovns r9, rax
test rdi, rdi
je 0x14001ecf4
mov edx, 0x104
mov rax, rdi
mov r8d, r10d
mov rcx, rdx
nop
cmp word [rax], r8w
je 0x14001ecda
add rax, 2
sub rcx, r14
jne 0x14001ecc0
mov r8d, 0x80070057
mov rdx, r10
jmp 0x14001eced
test rcx, rcx
jne 0x14001ecea
mov r8d, 0x80070057
mov rdx, r10
jmp 0x14001eced
sub rdx, rcx
test r8d, r8d
jns 0x14001ecfd
jmp 0x14001ecfa
mov r8d, 0x80070057
mov rdx, r10
mov rax, r10
test r8d, r8d
mov ecx, 0x40
cmovns rax, rdx
lea rbx, [r9 + rax + 0x100]
lea edx, [rbx + rbx]
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
test rbx, rbx
mov r12, rax
je 0x14001ed6f
cmp rbx, 0x7fffffff
ja 0x14001ed6f
mov edx, 0x7ffffffe
mov r8, rsi
mov rcx, rax
sub rdx, rbx
sub r8, rax
nop
lea rax, [rdx + rbx]
test rax, rax
je 0x14001ed61
movzx eax, word [r8 + rcx]
test ax, ax
je 0x14001ed61
mov word [rcx], ax
add rcx, 2
sub rbx, r14
jne 0x14001ed40
jmp 0x14001ed66
test rbx, rbx
jne 0x14001ed6a
sub rcx, 2
mov word [rcx], 0
mov rcx, r12
call fcn.1400201b0
mov rdx, rdi
mov rcx, rax
call fcn.1400202c0
xor r10d, r10d
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x30], r10
mov dword [rsp + 0x28], r10d
or r9d, 0xffffffff
mov r8, r12
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], r10
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ecx, 0x40
mov edx, eax
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
or r9d, 0xffffffff
mov r8, r12
mov rdi, rax
xor eax, eax
xor edx, edx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov rcx, rdi
and eax, 0xfffffff8
mov edx, eax
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
xor r9d, r9d
mov qword [rsp + 0x30], 0
lea r8d, [r9 + 3]
mov edx, 0xc0000000
mov rcx, rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalHandle]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalFree]
cmp rbx, 0xffffffffffffffff
je 0x14001eeb3
movzx edx, word [r13 + 0x32]
movzx ecx, word [r13 + 0x30]
lea r8, [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
test eax, eax
je 0x14001ee9a
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
test eax, eax
je 0x14001ee9a
lea r9, [rsp + 0x88]
lea rdx, [rsp + 0x88]
xor r8d, r8d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileTime]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dl, byte [r13 + 0x34]
mov rcx, rsi
and edx, 0x27
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
bt dword [rbp + 8], 0x1e
jae 0x14001ef5e
mov rdx, qword [rbp]
mov rcx, rsi
call fcn.1400cdd20
test eax, eax
je 0x14001ef5e
mov rcx, r12
call fcn.1400201b0
cmp word [rsi], 0
mov rax, rsi
je 0x14001eef7
mov rcx, rax
call qword [sym.imp.USER32.dll_CharNextW]
cmp word [rax], 0
jne 0x14001eee3
cmp rsi, rax
ja 0x14001ef26
movzx ecx, word [rax]
cmp cx, 0x2f
je 0x14001ef26
cmp cx, 0x5c
je 0x14001ef26
cmp cx, 0x3a
je 0x14001ef26
cmp rax, rsi
je 0x14001efd2
mov rdx, rax
mov rcx, rsi
call qword [sym.imp.USER32.dll_CharPrevW]
cmp rsi, rax
jbe 0x14001eef7
mov rcx, rax
call qword [sym.imp.USER32.dll_CharNextW]
mov r9d, dword [rbp + 8]
lea rcx, [rbp + 0x4c]
mov r8, r12
mov rdx, rax
call fcn.14001e430
mov rcx, r12
movsxd r14, eax
call qword [sym.imp.KERNEL32.dll_GlobalHandle]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalFree]
and dword [rbp + 8], 0xbfffffff
test r15, r15
je 0x14001ef8c
bt dword [rbp + 8], 0x1e
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x90]
mov r9, rsi
mov r8, r13
mov qword [rsp + 0x20], rbp
cmovb r9, r12
call r15
mov r14, rax
bt dword [rbp + 8], 0x1e
jae 0x14001efa5
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GlobalHandle]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GlobalHandle]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rbx, qword [rsp + 0x98]
mov rax, r14
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, rsi
jmp 0x14001ef2f