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

Disassembly:
push rbp
push r14
push r13
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rbp, rsp
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x48], 0
nop
lea rax, [0x0042f9ca]
mov qword [rbp + 0x28], rax
xor r13, r13
mov rax, qword [0x004498a8]
mov dword [rax], 0
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
test rax, rax
je 0x42f4f7
mov rcx, rax
call fcn.0040a830
mov edi, eax
jmp 0x42f4fa
xor rdi, rdi
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
call fcn.00423780
mov rsi, rax
cmp word [rsi], 0x3a
jne 0x42f63b
cmp edi, 2
jle 0x42f63b
mov word [rsi], 0
sub rsi, 2
xor rcx, rcx
call sub.kernel32.dll_SetErrorMode
mov ebx, eax
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
mov edx, 0x8000
call fcn.00436650
mov r14d, eax
cmp r14d, 0xffffffff
je 0x42f56a
mov ecx, r14d
call fcn.0042dc50
test eax, eax
jne 0x42f614
mov ecx, r14d
call fcn.0042dd30
test eax, eax
jne 0x42f614
add rsi, 2
mov word [rsi], 0x3a
mov rax, qword [0x00449a20]
cmp dword [rax], 4
jne 0x42f5cf
mov rax, qword [0x00449a88]
cmp dword [rax], 0
jne 0x42f5c0
lea rcx, [rbp + 0x48]
mov rdx, qword [0x00449a68]
call fcn.0040e3a0
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
mov qword [rbp + 0x38], rax
mov byte [rbp + 0x40], 0xa
mov rcx, qword [rbp + 0x48]
mov edx, 1
lea r8, [rbp + 0x38]
xor r9, r9
call fcn.004360e0
mov rax, qword [0x004497f0]
mov dword [rax], 1
jmp 0x42f604
lea rcx, [rbp + 0x30]
mov rdx, qword [0x00449a68]
call fcn.0040e3a0
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
mov qword [rbp + 0x38], rax
mov byte [rbp + 0x40], 0xa
mov rcx, qword [rbp + 0x30]
mov edx, 1
lea r8, [rbp + 0x38]
xor r9, r9
call fcn.004360e0
cmp r14d, 0xffffffff
je 0x42f634
mov ecx, r14d
call fcn.00436780
jmp 0x42f634
mov ecx, r14d
call fcn.0042dc50
test eax, eax
jne 0x42f62c
mov ecx, r14d
call fcn.0042dd30
test eax, eax
je 0x42f634
mov ecx, r14d
call fcn.00436780
mov ecx, ebx
call sub.kernel32.dll_SetErrorMode
mov ecx, 0x250
call fcn.004242e0
mov rcx, qword [rbp + 0x20]
mov qword [rcx + 0x28], rax
movzx r14, word [rsi]
cmp r14w, 0x5c
jne 0x42f662
mov r13d, 1
jmp 0x42f6d9
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
mov dx, 0x5c
call fcn.00423540
mov rsi, rax
test rsi, rsi
jne 0x42f6a8
mov rax, qword [rbp + 0x20]
mov rsi, qword [rax]
test rsi, rsi
je 0x42f693
mov rax, rsi
mov rcx, rax
call fcn.0040a830
jmp 0x42f696
xor rax, rax
cmp eax, 2
jl 0x42f6ac
cmp word [rsi + 2], 0x3a
jne 0x42f6ac
add rsi, 4
jmp 0x42f6ac
add rsi, 2
mov rcx, rsi
lea rdx, [0x0042f9d2]
call fcn.0041b7b0
test eax, eax
je 0x42f6d2
mov rcx, rsi
lea rdx, [0x0042f9d6]
call fcn.0041b7b0
test eax, eax
jne 0x42f6d9
mov r13d, 1
test r13d, r13d
jne 0x42f7f6
mov rax, qword [0x00449a20]
cmp dword [rax], 4
jne 0x42f7b2
mov rax, qword [0x004499d0]
cmp dword [rax], 1
jne 0x42f74f
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x42f720
mov rax, qword [0x004498a8]
mov dword [rax], 0
jmp 0x42f72e
call sub.kernel32.dll_GetLastError_2
mov rcx, qword [0x004498a8]
mov dword [rcx], eax
cmp ebx, 0xffffffff
je 0x42f7f6
test ebx, 0x10
je 0x42f7f6
mov r13d, 1
jmp 0x42f7f6
mov rax, qword [0x00449a48]
cmp dword [rax], 1
jne 0x42f7f6
mov rax, qword [0x00449a48]
mov dword [rax], 0
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x42f78e
mov rax, qword [0x004498a8]
mov dword [rax], 0
jmp 0x42f79c
call sub.kernel32.dll_GetLastError_2
mov rcx, qword [0x004498a8]
mov dword [rcx], eax
cmp ebx, 0xffffffff
je 0x42f7f6
test ebx, 0x10
je 0x42f7f6
mov r13d, 1
jmp 0x42f7f6
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x42f7d4
mov rax, qword [0x004498a8]
mov dword [rax], 0
jmp 0x42f7e2
call sub.kernel32.dll_GetLastError_2
mov rcx, qword [0x004498a8]
mov dword [rcx], eax
cmp ebx, 0xffffffff
je 0x42f7f6
test ebx, 0x10
je 0x42f7f6
mov r13d, 1
test r13d, r13d
je 0x42f859
cmp r14w, 0x5c
jne 0x42f80d
lea rax, [0x0042f9cc]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
call fcn.0042f450
test al, al
jne 0x42f84b
mov ecx, edi
add ecx, 5
add ecx, ecx
call fcn.004242e0
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov rdx, qword [rax]
call fcn.004235d0
mov rcx, qword [rbp + 0x20]
mov qword [rcx], rax
mov rcx, qword [rcx]
mov rdx, qword [rbp + 0x28]
call fcn.004235f0
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 0x28]
mov dword [rax], 0x10
mov edi, 1
xor rsi, rsi
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
jmp 0x42f888
cmp r14w, 0x5c
je 0x42f87e
cmp r14w, 0x3a
jne 0x42f881
cmp edi, 2
jne 0x42f881
mov rsi, rax
add rax, 2
add edi, 1
cmp r14w, word [rax]
je 0x42f86b
mov rax, qword [rbp + 0x20]
mov qword [rax + 0x10], rsi
test rsi, rsi
je 0x42f8b9
cmp word [rsi], 0
je 0x42f8af
lea rax, [rsi + 2]
mov rcx, qword [rbp + 0x20]
mov qword [rcx + 0x18], rax
jmp 0x42f8c8
mov rax, qword [rbp + 0x20]
mov qword [rax + 0x18], rsi
jmp 0x42f8c8
mov rcx, qword [rbp + 0x20]
mov rax, qword [rcx]
mov qword [rcx + 0x18], rax
mov rsi, qword [rcx + 0x18]
xor rax, rax
test rsi, rsi
je 0x42f8eb
mov rcx, rsi
jmp 0x42f8e4
cmp word [rcx], 0x2a
jne 0x42f8e0
mov rax, rcx
jmp 0x42f8ea
add rcx, 2
cmp word [rcx], 0
jne 0x42f8d5
nop
test rax, rax
je 0x42f8f4
mov al, 1
jmp 0x42f91d
xor rax, rax
test rsi, rsi
je 0x42f917
mov rcx, rsi
jmp 0x42f910
cmp word [rcx], 0x3f
jne 0x42f90c
mov rax, rcx
jmp 0x42f916
add rcx, 2
cmp word [rcx], 0
jne 0x42f901
nop
test rax, rax
setne al
test al, al
je 0x42f936
mov rax, qword [rbp + 0x20]
or dword [rax + 0x30], 8
mov rax, qword [0x004493e8]
mov dword [rax], 1
xor rax, rax
test rsi, rsi
je 0x42f956
jmp 0x42f94f
cmp word [rsi], 0x2e
jne 0x42f94b
mov rax, rsi
jmp 0x42f955
add rsi, 2
cmp word [rsi], 0
jne 0x42f940
nop
mov rcx, qword [rbp + 0x20]
mov qword [rcx + 0x20], rax
nop
lea rcx, [rbp + 0x30]
call fcn.0040a110
lea rcx, [rbp + 0x48]
call fcn.0040a110
lea rsp, [rbp + 0x58]
pop rbx
pop rsi
pop rdi
pop r13
pop r14
pop rbp
ret