Function at 0x140018ee4
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r15, rcx
xor edi, edi
mov ecx, 0x618
mov edx, 0x7d6
mov ebp, edi
or r13, 0xffffffffffffffff
call fcn.1400013f4
mov r12, rax
test rax, rax
je 0x140018f84
mov rsi, qword [r15 + 0x58]
mov al, byte [rsi + 0x21]
lea r14, [rsi + 0x98]
mov rcx, r14
mov byte [rsp + 0x88], al
call fcn.14002d3c8
test eax, eax
je 0x140018f45
mov rcx, r15
call fcn.14002d41c
jmp 0x140018f84
mov al, byte [rsi + 0x3a4]
neg al
sbb rcx, rcx
and ecx, 0x30c
add rcx, 0x98
add rcx, rsi
call fcn.140004f6c
mov qword [rsp + 0x28], rax
cmp rax, 0xffffffffffffffff
jne 0x140018fe3
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x140018fb6
mov byte [rsi + 0x27], dil
mov r13, qword [rsp + 0x28]
mov rcx, r13
call fcn.140004ef4
mov rcx, r12
call fcn.14000522c
mov rcx, rbp
call fcn.14000522c
mov rbx, qword [rsp + 0x80]
mov eax, edi
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 2
call fcn.14000612c
mov rdx, rax
mov r8, r14
mov rcx, r12
call qword [sym.imp.USER32.dll_wsprintfA]
mov rcx, qword [0x14003ef48]
xor r8d, r8d
mov rdx, r12
call fcn.140003fd0
jmp 0x140018f7f
mov rcx, rax
call fcn.140005bd0
mov dword [rsi + 0x88], eax
cmp byte [rsi + 0x3a4], dil
je 0x140019008
mov rcx, r14
call fcn.140005b80
mov dword [rsi + 0x88], eax
mov r13, qword [rsp + 0x28]
mov rcx, r13
call fcn.140005c6c
mov rbx, rax
test eax, eax
jg 0x140019029
mov rcx, rsi
call fcn.14001a018
jmp 0x14001938f
cmp ebx, 0x320c800
jl 0x140019061
mov ecx, 0x84
call fcn.14000612c
mov rdx, rax
mov r8, r14
mov rcx, r12
call qword [sym.imp.USER32.dll_wsprintfA]
mov rcx, qword [0x14003ef48]
xor r8d, r8d
mov rdx, r12
call fcn.140003fd0
jmp 0x140018f84
lea ecx, [rax + 3]
mov edx, 0x7d7
call fcn.1400013f4
mov rbp, rax
test rax, rax
je 0x140018f84
mov r8d, ebx
mov rdx, rax
mov rcx, r13
call fcn.140004f44
cmp eax, ebx
je 0x140019093
mov ecx, 4
jmp 0x140019036
mov rcx, r13
call fcn.140004ef4
or qword [rsp + 0x28], 0xffffffffffffffff
mov edx, ebx
movsxd rax, ebx
mov rcx, rbp
mov word [rax + rbp], di
mov byte [rax + rbp + 2], dil
call fcn.140015330
test eax, eax
je 0x1400190f2
mov ecx, 0x83
call fcn.14000612c
mov rdx, rax
mov r8, r14
mov rcx, r12
call qword [sym.imp.USER32.dll_wsprintfA]
mov rcx, qword [0x14003ef48]
mov r8d, 0x101
mov rdx, r12
call fcn.140003fd0
cmp eax, 2
je 0x140018f7f
mov rcx, rsi
call fcn.14001a018
mov al, byte [rsi + 0x20]
mov r13, rbp
mov r14, rbp
cmp al, 2
je 0x140019339
cmp al, 3
je 0x140019198
cmp al, 4
je 0x140019132
cmp al, 1
je 0x140019239
mov eax, 0xfeff
cmp word [rbp], ax
jne 0x14001917e
lea r13, [rbp + 2]
mov byte [rsi + 0x24], 1
mov r8d, 1
mov rdx, r13
mov rcx, r15
call fcn.1400159c4
movzx eax, word [r13]
lea rdx, [r13 + 2]
mov ecx, edi
test eax, eax
je 0x14001929e
mov r8d, 0xa
cmp eax, r8d
je 0x140019299
cmp eax, 0xd
je 0x140019293
movzx eax, word [rdx]
add rdx, 2
test eax, eax
jne 0x14001915c
jmp 0x14001929e
cmp byte [rbp], 0xef
jne 0x1400191f1
cmp byte [rbp + 1], 0xbb
jne 0x1400191f1
cmp byte [rbp + 2], 0xbf
jne 0x1400191f1
lea r14, [rbp + 3]
mov byte [rsi + 0x24], 1
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call fcn.1400159c4
mov rcx, r14
call fcn.1400152fc
mov byte [rsi + 0x23], al
mov byte [rsi + 0x20], 3
cmp byte [r14], dil
je 0x14001938a
lea rdx, [rsp + 0x90]
mov rcx, r14
call fcn.1400088ec
mov r8d, dword [rsp + 0x90]
mov rdx, r14
mov rcx, r15
mov rbx, rax
call fcn.140019d6c
mov r14, rbx
cmp byte [rbx], dil
jne 0x1400191be
jmp 0x14001938a
mov edx, ebx
mov rcx, rbp
call fcn.14002cf24
test eax, eax
jne 0x140019132
mov edx, ebx
mov rcx, rbp
call fcn.14002ce44
test eax, eax
jne 0x140019339
mov edx, ebx
mov rcx, rbp
call fcn.140007304
test eax, eax
jne 0x140019198
mov edx, ebx
mov rcx, rbp
call fcn.14002ce68
test eax, eax
je 0x140019339
xor r8d, r8d
mov rdx, rbp
mov rcx, r15
call fcn.1400159c4
mov rcx, rbp
call fcn.1400152fc
mov byte [rsi + 0x23], al
mov byte [rsi + 0x20], 2
cmp byte [rbp], dil
je 0x14001938a
lea rdx, [rsp + 0x90]
mov rcx, r14
call fcn.1400088ec
mov r8d, dword [rsp + 0x90]
mov rdx, r14
mov rcx, r15
mov rbx, rax
call fcn.140019c98
mov r14, rbx
cmp byte [rbx], dil
jne 0x140019260
jmp 0x14001938a
cmp word [rdx], r8w
je 0x14001929e
mov ecx, 1
mov byte [rsi + 0x23], cl
mov byte [rsi + 0x20], 4
cmp word [r13], di
je 0x14001938a
lea rdx, [rsp + 0x90]
mov rcx, r13
call fcn.140008934
mov rbx, qword [r15 + 0x58]
mov r14, rax
mov eax, dword [rsp + 0x90]
mov edx, 1
mov rcx, r15
mov dword [rsp + 0x98], eax
call fcn.1400199a0
test eax, eax
je 0x14001932a
movsxd rcx, dword [rbx + 8]
mov rax, qword [rbx]
mov qword [rsp + 0x30], rcx
mov qword [rax + rcx*8], rdi
mov eax, dword [rsp + 0x98]
test eax, eax
jle 0x140019327
mov edx, eax
mov rcx, r13
call fcn.14001aa34
mov rdx, qword [rsp + 0x30]
mov rcx, rax
mov rax, qword [rbx]
mov qword [rax + rdx*8], rcx
test rcx, rcx
je 0x14001932a
mov rcx, rbx
call fcn.140016bec
inc dword [rbx + 8]
mov r13, r14
cmp word [r14], di
jne 0x1400192b0
jmp 0x14001938a
xor r8d, r8d
mov rdx, rbp
mov rcx, r15
call fcn.1400159c4
mov rcx, rbp
call fcn.1400152fc
mov byte [rsi + 0x23], al
mov byte [rsi + 0x20], 2
cmp byte [rbp], dil
je 0x14001938a
lea rdx, [rsp + 0x90]
mov rcx, r14
call fcn.1400088ec
mov r8d, dword [rsp + 0x90]
mov rdx, r14
mov rcx, r15
mov rbx, rax
call fcn.140019bc0
mov r14, rbx
cmp byte [rbx], dil
jne 0x14001935c
mov r13, qword [rsp + 0x28]
cmp byte [rsp + 0x88], dil
jne 0x1400193a3
cmp byte [rsi + 0x22], dil
jne 0x1400193a3
mov byte [rsi + 0x21], dil
mov rcx, r15
mov word [rsi + 0x26], di
call fcn.14001ab64
mov rcx, rsi
call fcn.140013a08
mov rcx, r15
call fcn.1400193f0
xor edx, edx
mov rcx, r15
call fcn.140015820
mov rcx, r15
call fcn.1400155cc
xor edx, edx
mov dword [rsi + 0x14], edi
mov rcx, qword [r15]
lea r8d, [rdx + 1]
call qword [sym.imp.USER32.dll_InvalidateRect]
mov edi, 1
jmp 0x140018f84