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

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1804cc010]
xor rax, rsp
mov qword [rbp - 8], rax
mov rsi, rdx
mov rdx, rcx
lea rcx, [rbp - 0x28]
call fcn.180004ad0
nop
mov rbx, qword [rbp - 0x18]
xor r14d, r14d
mov edi, r14d
test rbx, rbx
je 0x18018be06
nop dword [rax + rax]
lea rax, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae rax, qword [rbp - 0x28]
movzx ecx, word [rax + rdi*2]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towlower]
lea rcx, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae rcx, qword [rbp - 0x28]
mov word [rcx + rdi*2], ax
inc rdi
cmp rdi, rbx
jb 0x18018bdd0
mov rbx, qword [rbp - 0x18]
cmp rbx, 2
jbe 0x18018bf37
lea rax, [rbp - 0x28]
mov rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x10]
cmp r8, 8
cmovae rax, rdx
cmp word [rax], 0x5c
jne 0x18018be44
lea rax, [rbp - 0x28]
cmp r8, 8
cmovae rax, rdx
cmp word [rax + 2], 0x5c
jne 0x18018be44
mov bl, 1
jmp 0x18018c005
lea rax, [rbp - 0x28]
cmp r8, 8
cmovae rax, rdx
cmp word [rax], 0x2f
jne 0x18018be6d
lea rax, [rbp - 0x28]
cmp r8, 8
cmovae rax, rdx
cmp word [rax + 2], 0x2f
je 0x18018c003
mov rcx, r14
test rbx, rbx
je 0x18018beb4
mov r9d, 0x2f
lea r10d, [r9 + 0x2d]
nop
lea rax, [rbp - 0x28]
cmp r8, 8
cmovae rax, rdx
cmp r9w, word [rax + rcx*2]
jne 0x18018beac
lea rax, [rbp - 0x28]
cmp r8, 8
cmovae rax, rdx
mov word [rax + rcx*2], r10w
mov r8, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x28]
inc rcx
cmp rcx, rbx
jb 0x18018be80
lea rax, [rbp - 0x28]
cmp r8, 8
cmovae rax, rdx
cmp word [rax + 2], 0x3a
jne 0x18018c003
lea rax, [rbp - 0x28]
cmp r8, 8
cmovae rax, rdx
cmp word [rax + 4], 0x5c
jne 0x18018c003
lea rax, [rbp - 0x28]
cmp r8, 8
cmovae rax, rdx
cmp word [rax], 0x61
jb 0x18018c003
lea rax, [rbp - 0x28]
cmp r8, 8
cmovae rax, rdx
cmp word [rax], 0x7a
ja 0x18018c003
lea rcx, [rbp - 0x28]
cmp r8, 8
cmovae rcx, rdx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x18018c003
shr eax, 4
and al, 1
mov byte [rsi], al
mov bl, 1
jmp 0x18018c005
jne 0x18018c003
lea rax, [rbp - 0x28]
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x10]
cmp rcx, 8
cmovae rax, rdx
cmp word [rax + 2], 0x3a
jne 0x18018c003
lea rax, [rbp - 0x28]
cmp rcx, 8
cmovae rax, rdx
cmp word [rax], 0x61
jb 0x18018c003
lea rax, [rbp - 0x28]
cmp rcx, 8
cmovae rax, rdx
cmp word [rax], 0x7a
ja 0x18018c003
lea rax, [rcx - 2]
cmp rax, 1
jb 0x18018bfbf
mov qword [rbp - 0x18], 3
lea rbx, [rbp - 0x28]
cmp rcx, 8
cmovae rbx, rdx
lea rcx, [rbx + 4]
mov r8d, 2
lea rdx, [0x1803c17e8]
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + 6], r14w
jmp 0x18018bfdf
mov qword [rsp + 0x20], 1
lea r9, [0x1803c17e8]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x28]
call fcn.180009e30
lea rcx, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae rcx, qword [rbp - 0x28]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x18018c003
shr eax, 4
and al, 1
mov byte [rsi], al
mov bl, 1
jmp 0x18018c005
xor bl, bl
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x18018c048
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18018c043
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18018c043
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180386950
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], r14w
movzx eax, bl
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1803868f0
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret