Function at 0x18001d550
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
or r12, 0xffffffffffffffff
xor r9d, r9d
mov qword [rax - 0x48], r12
mov edx, 0x80000000
mov dword [rax - 0x50], 0x2200080
mov rdi, rcx
mov dword [rax - 0x58], 3
lea r8d, [r12 + 8]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateFileW]
nop dword [rax + rax]
mov rbx, rax
cmp rax, r12
jne 0x18001d5a7
xor al, al
jmp 0x18001d8b3
mov ebp, 0x4000
xor ecx, ecx
mov edx, ebp
call qword [sym.imp.KERNELBASE.dll_LocalAlloc]
nop dword [rax + rax]
xor r13d, r13d
mov rcx, rbx
mov rsi, rax
test rax, rax
jne 0x18001d5e9
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
nop dword [rax + rax]
mov ecx, 0xc0000017
call qword [sym.imp.ntdll.dll_RtlSetLastWin32ErrorAndNtStatusFromNtStatus]
nop dword [rax + rax]
jmp 0x18001d5a0
mov qword [rsp + 0x38], r13
lea rax, [rsp + 0x88]
mov qword [rsp + 0x30], rax
xor r9d, r9d
mov dword [rsp + 0x28], ebp
xor r8d, r8d
mov edx, 0x900a8
mov qword [rsp + 0x20], rsi
call qword [sym.imp.api_ms_win_core_io_l1_1_0.dll_DeviceIoControl]
nop dword [rax + rax]
test eax, eax
je 0x18001d890
cmp dword [rsi], 0xa0000003
jne 0x18001d890
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
nop dword [rax + rax]
mov ebp, eax
mov r14d, 1
cmp eax, 0xffffffff
je 0x18001d693
test r14b, bpl
je 0x18001d690
and ebp, 0xfffffffe
mov rcx, rdi
mov edx, ebp
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFileAttributesW]
nop dword [rax + rax]
test eax, eax
jne 0x18001d68b
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
nop dword [rax + rax]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
nop dword [rax + rax]
jmp 0x18001d5a0
mov ebp, r14d
jmp 0x18001d693
mov ebp, r13d
mov rcx, rbx
mov r15d, r13d
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
nop dword [rax + rax]
xor r9d, r9d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x2200080
mov edx, 0xc0000000
mov rcx, rdi
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 7]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateFileW]
nop dword [rax + rax]
mov qword [rsp + 0x90], rax
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x18001d810
or rbx, 0xffffffffffffffff
inc rbx
cmp word [rdi + rbx*2], r13w
jne 0x18001d6ee
mov edx, 0x5c
test ebx, ebx
je 0x18001d726
lea eax, [rbx - 1]
cmp word [rdi + rax*2], dx
jne 0x18001d726
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_DeleteVolumeMountPointW]
nop dword [rax + rax]
test eax, eax
je 0x18001d7ce
jmp 0x18001d81f
mov eax, ebx
xor ecx, ecx
mov qword [rsp + 0x98], rax
lea rdx, [rax*2 + 4]
call qword [sym.imp.KERNELBASE.dll_LocalAlloc]
nop dword [rax + rax]
mov r13, rax
test rax, rax
jne 0x18001d764
mov ecx, 0xc0000017
call qword [sym.imp.ntdll.dll_RtlSetLastWin32ErrorAndNtStatusFromNtStatus]
nop dword [rax + rax]
jmp 0x18001d810
mov r12, qword [rsp + 0x98]
add r12, r12
test ebx, ebx
je 0x18001d781
mov r8, r12
mov rdx, rdi
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov eax, 0x5c
mov rcx, r13
mov word [r12 + r13], ax
lea eax, [rbx + 1]
xor r12d, r12d
mov word [r13 + rax*2], r12w
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_DeleteVolumeMountPointW]
nop dword [rax + rax]
movzx ebx, r12b
mov rcx, r13
test eax, eax
cmovne ebx, r14d
call qword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
nop dword [rax + rax]
mov r12, qword [rsp + 0x90]
xor r13d, r13d
test bl, bl
jne 0x18001d81f
mov qword [rsp + 0x38], r13
lea rax, [rsp + 0x88]
mov qword [rsp + 0x30], rax
mov r9d, 8
mov dword [rsp + 0x28], r13d
mov r8, rsi
mov edx, 0x900ac
mov qword [rsp + 0x20], r13
mov rcx, r12
mov word [rsi + 4], r13w
call qword [sym.imp.api_ms_win_core_io_l1_1_0.dll_DeviceIoControl]
nop dword [rax + rax]
test eax, eax
jne 0x18001d81f
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov r15d, eax
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
nop dword [rax + rax]
cmp r12, 0xffffffffffffffff
je 0x18001d843
mov rcx, r12
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
nop dword [rax + rax]
test r15d, r15d
jne 0x18001d88b
cmp ebp, r14d
jne 0x18001d888
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
nop dword [rax + rax]
cmp eax, 0xffffffff
je 0x18001d888
or eax, r14d
mov rcx, rdi
mov edx, eax
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFileAttributesW]
nop dword [rax + rax]
test eax, eax
jne 0x18001d888
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov r15d, eax
test r15d, r15d
sete al
jmp 0x18001d8b3
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
nop dword [rax + rax]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
nop dword [rax + rax]
mov eax, 1
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret