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

Disassembly:
push rbp
push r14
push r13
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rbp, rsp
mov qword [rbp + 0x20], rcx
lea rsi, [0x00440662]
xor r13, r13
mov rax, qword [0x0044e5f0]
mov dword [rax], 0
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
call fcn.00427780
mov dword [rbp + 0x2c], eax
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
call fcn.00427980
mov rdi, rax
cmp word [rdi], 0x3a
jne 0x440373
mov eax, dword [rbp + 0x2c]
cmp eax, 2
jle 0x440373
mov word [rdi], 0
sub rdi, 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.00441180
mov r14d, eax
cmp r14d, 0xffffffff
je 0x4402bc
mov ecx, r14d
call fcn.0042c170
test eax, eax
jne 0x44034c
mov ecx, r14d
call fcn.0042c250
test eax, eax
jne 0x44034c
add rdi, 2
mov word [rdi], 0x3a
mov rax, qword [0x0044e730]
cmp dword [rax], 4
jne 0x440314
mov rax, qword [0x0044e770]
cmp dword [rax], 0
jne 0x440305
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
mov qword [rbp + 0x30], rax
mov byte [rbp + 0x38], 0xa
lea rcx, [0x00440678]
mov edx, 1
lea r8, [rbp + 0x30]
xor r9, r9
call fcn.00440b70
mov rax, qword [0x0044e550]
mov dword [rax], 1
jmp 0x44033c
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
mov qword [rbp + 0x30], rax
mov byte [rbp + 0x38], 0xa
lea rcx, [0x00440678]
mov edx, 1
lea r8, [rbp + 0x30]
xor r9, r9
call fcn.00440b70
cmp r14d, 0xffffffff
je 0x44036c
mov ecx, r14d
call fcn.004412b0
jmp 0x44036c
mov ecx, r14d
call fcn.0042c170
test eax, eax
jne 0x440364
mov ecx, r14d
call fcn.0042c250
test eax, eax
je 0x44036c
mov ecx, r14d
call fcn.004412b0
mov ecx, ebx
call sub.kernel32.dll_SetErrorMode
mov ecx, 0x250
call fcn.0043f590
mov rcx, qword [rbp + 0x20]
mov qword [rcx + 0x28], rax
movzx r14, word [rdi]
cmp r14w, 0x5c
jne 0x44039a
mov r13d, 1
jmp 0x440404
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
mov dx, 0x5c
call fcn.00427710
mov rdi, rax
test rdi, rdi
jne 0x4403d3
mov rax, qword [rbp + 0x20]
mov rdi, qword [rax]
mov rcx, rdi
call fcn.00427780
cmp eax, 2
jl 0x4403d7
cmp word [rdi + 2], 0x3a
jne 0x4403d7
add rdi, 4
jmp 0x4403d7
add rdi, 2
mov rcx, rdi
lea rdx, [0x004406be]
call fcn.0041d8c0
test eax, eax
je 0x4403fd
mov rcx, rdi
lea rdx, [0x004406c2]
call fcn.0041d8c0
test eax, eax
jne 0x440404
mov r13d, 1
test r13d, r13d
jne 0x440521
mov rax, qword [0x0044e730]
cmp dword [rax], 4
jne 0x4404dd
mov rax, qword [0x0044e6f8]
cmp dword [rax], 1
jne 0x44047a
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x44044b
mov rax, qword [0x0044e5f0]
mov dword [rax], 0
jmp 0x440459
call sub.kernel32.dll_GetLastError_2
mov rcx, qword [0x0044e5f0]
mov dword [rcx], eax
cmp ebx, 0xffffffff
je 0x440521
test ebx, 0x10
je 0x440521
mov r13d, 1
jmp 0x440521
mov rax, qword [0x0044e740]
cmp dword [rax], 1
jne 0x440521
mov rax, qword [0x0044e740]
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 0x4404b9
mov rax, qword [0x0044e5f0]
mov dword [rax], 0
jmp 0x4404c7
call sub.kernel32.dll_GetLastError_2
mov rcx, qword [0x0044e5f0]
mov dword [rcx], eax
cmp ebx, 0xffffffff
je 0x440521
test ebx, 0x10
je 0x440521
mov r13d, 1
jmp 0x440521
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
call sub.kernel32.dll_GetFileAttributesW
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4404ff
mov rax, qword [0x0044e5f0]
mov dword [rax], 0
jmp 0x44050d
call sub.kernel32.dll_GetLastError_2
mov rcx, qword [0x0044e5f0]
mov dword [rcx], eax
cmp ebx, 0xffffffff
je 0x440521
test ebx, 0x10
je 0x440521
mov r13d, 1
test r13d, r13d
je 0x440580
cmp r14w, 0x5c
jne 0x440534
lea rsi, [0x00440664]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
call fcn.004401d0
test al, al
jne 0x440572
mov ecx, dword [rbp + 0x2c]
add ecx, 5
add ecx, ecx
call fcn.0043f590
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov rdx, qword [rax]
call fcn.004277a0
mov rcx, qword [rbp + 0x20]
mov qword [rcx], rax
mov rcx, qword [rcx]
mov rdx, rsi
call fcn.004277c0
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 0x28]
mov dword [rax], 0x10
mov eax, 1
mov dword [rbp + 0x2c], eax
xor rdi, rdi
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
jmp 0x4405b9
cmp word [rax], 0x5c
je 0x4405a9
cmp word [rax], 0x3a
jne 0x4405ac
mov ecx, dword [rbp + 0x2c]
cmp ecx, 2
jne 0x4405ac
mov rdi, rax
add rax, 2
mov ecx, dword [rbp + 0x2c]
add ecx, 1
mov dword [rbp + 0x2c], ecx
cmp word [rax], 0
jne 0x440595
mov rax, qword [rbp + 0x20]
mov qword [rax + 0x10], rdi
test rdi, rdi
je 0x4405ea
cmp word [rdi], 0
je 0x4405e0
lea rax, [rdi + 2]
mov rcx, qword [rbp + 0x20]
mov qword [rcx + 0x18], rax
jmp 0x4405f9
mov rax, qword [rbp + 0x20]
mov qword [rax + 0x18], rdi
jmp 0x4405f9
mov rcx, qword [rbp + 0x20]
mov rax, qword [rcx]
mov qword [rcx + 0x18], rax
mov rdi, qword [rcx + 0x18]
mov rcx, rdi
mov dx, 0x2a
call fcn.004276e0
test rax, rax
jne 0x44061b
mov rcx, rdi
mov dx, 0x3f
call fcn.004276e0
test rax, rax
je 0x440630
mov rax, qword [rbp + 0x20]
or dword [rax + 0x30], 8
mov rax, qword [0x0044e278]
mov dword [rax], 1
mov rcx, rdi
mov dx, 0x2e
call fcn.004276e0
mov rcx, qword [rbp + 0x20]
mov qword [rcx + 0x20], rax
lea rsp, [rbp + 0x48]
pop rbx
pop rsi
pop rdi
pop r13
pop r14
pop rbp
ret