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

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbx
push rsi
push rdi
sub rsp, 0x40
xor ebx, ebx
lea rax, [rsp + 0x70]
mov esi, dword [rax]
mov rdi, rcx
test edx, 0xffff7fff
jne 0x180215aa0
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x180215a1b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 3
jne 0x1802159f9
mov rcx, rdi
call fcn.180215ff0
mov rbx, rax
test rax, rax
jne 0x1802159eb
call fcn.180252670
mov dword [rax], 0x16
mov eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x180215a1b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.180215830
mov rcx, rbx
call fcn.180252720
mov eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test al, 0x10
je 0x180215a93
mov qword [rsp + 0x30], 0
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x28], 0x2000001
xor edx, edx
mov dword [rsp + 0x20], 3
test rbx, rbx
je 0x180215a50
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
jmp 0x180215a59
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rcx, rbx
mov rdi, rax
call fcn.180252720
cmp rdi, 0xffffffffffffffff
jne 0x180215a81
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.180215830
mov eax, edi
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
xor edx, edx
mov rcx, rdi
call fcn.180265670
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test rbx, rbx
jne 0x180215b47
mov edx, dword [rsp + 0x68]
mov r8d, esi
mov rcx, rdi
call fcn.1802693f0
mov ebx, eax
test eax, eax
jns 0x180215bdb
call fcn.180252670
cmp dword [rax], 0xd
jne 0x180215b25
test dword [rsp + 0x68], 0x100
je 0x180215b25
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x180215af1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.180215830
mov eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test al, 0x10
je 0x180215b0d
call fcn.180252670
mov dword [rax], 0x15
mov eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
call fcn.180252670
mov dword [rax], 0xd
mov eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
call fcn.180252670
cmp dword [rax], 2
jne 0x180215bdb
mov rcx, rdi
call fcn.180215ff0
mov rbx, rax
test rax, rax
je 0x1802159d3
mov edx, dword [rsp + 0x68]
mov r8d, esi
mov rcx, rbx
call fcn.180269570
mov edi, eax
test eax, eax
jns 0x180215bc9
call fcn.180252670
cmp dword [rax], 0xd
jne 0x180215bc9
test dword [rsp + 0x68], 0x100
je 0x180215bc9
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x180215b9d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.180215830
mov rcx, rbx
call fcn.180252720
mov eax, edi
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test al, 0x10
je 0x180215bbe
call fcn.180252670
mov rcx, rbx
mov dword [rax], 0x15
call fcn.180252720
mov eax, edi
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
call fcn.180252670
mov dword [rax], 0xd
mov rcx, rbx
call fcn.180252720
mov eax, edi
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
mov eax, ebx
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret