Function at 0x18002beb0
Capabilities:
Check if file exists

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x60
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov rax, qword [0x1801485f0]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rsi, r8
mov rdi, rdx
mov r14, rcx
mov qword [rsp + 0x30], rdx
xor r15d, r15d
mov dword [rsp + 0x20], r15d
lea rbx, [rcx + 0x120]
cmp qword [rbx + 0x10], r15
je 0x18002bf3b
cmp qword [rbx + 0x18], 8
jb 0x18002bf06
mov rcx, qword [rbx]
jmp 0x18002bf09
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
jne 0x18002bf3b
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], r15
mov word [rdi], r15w
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.1800165a0
jmp 0x18002c11d
call fcn.1800285c0
lea rdx, [rsp + 0x38]
test eax, eax
je 0x18002bf89
mov rcx, r14
call fcn.18002b270
mov rsi, rax
cmp rbx, rax
je 0x18002bf84
cmp qword [rbx + 0x18], 8
jb 0x18002bf68
mov rcx, qword [rbx]
call fcn.1800b5700
mov qword [rbx + 0x18], 7
mov qword [rbx + 0x10], r15
mov word [rbx], r15w
mov rdx, rsi
mov rcx, rbx
call fcn.180016260
nop
jmp 0x18002c0d5
call fcn.18002bce0
mov rbp, rax
cmp rbx, rax
je 0x18002bfc1
cmp qword [rbx + 0x18], 8
jb 0x18002bfa5
mov rcx, qword [rbx]
call fcn.1800b5700
mov qword [rbx + 0x18], 7
mov qword [rbx + 0x10], r15
mov word [rbx], r15w
mov rdx, rbp
mov rcx, rbx
call fcn.180016260
nop
cmp qword [rsp + 0x50], 8
jb 0x18002bfd3
mov rcx, qword [rsp + 0x38]
call fcn.1800b5700
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], r15
mov word [rsp + 0x38], r15w
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x18002c0fb
mov rcx, qword [rsi + 0x18]
cmp rcx, 8
jb 0x18002c003
mov rax, qword [rsi]
jmp 0x18002c006
mov rax, rsi
mov ebp, 0x5c
lea r12d, [rbp - 0x2d]
cmp bp, word [rax]
je 0x18002c042
cmp rcx, 8
jb 0x18002c01f
mov rax, qword [rsi]
jmp 0x18002c022
mov rax, rsi
cmp r12w, word [rax]
je 0x18002c042
mov r8d, 1
lea rdx, [0x180100a48]
mov rcx, rbx
call fcn.180016430
mov rcx, rax
jmp 0x18002c045
mov rcx, rbx
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rsi
call fcn.1800162f0
cmp rbx, rax
je 0x18002c06b
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
mov rcx, rbx
call fcn.1800165a0
mov rcx, qword [r14 + 0x130]
dec ecx
movsxd r9, ecx
cmp qword [rbx + 0x10], r9
ja 0x18002c08a
lea rcx, str.invalid_string_position
call fcn.1800b0d60
int3
mov rax, qword [rbx + 0x18]
cmp rax, 8
jb 0x18002c099
mov rcx, qword [rbx]
jmp 0x18002c09c
mov rcx, rbx
cmp bp, word [rcx + r9*2]
je 0x18002c0b8
cmp rax, 8
jb 0x18002c0ae
mov rax, qword [rbx]
jmp 0x18002c0b1
mov rax, rbx
cmp r12w, word [rax + r9*2]
jne 0x18002c0fb
xor r8d, r8d
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.1800138a0
nop
mov rdx, rax
mov rcx, rbx
call fcn.1800137e0
nop
cmp qword [rsp + 0x50], 8
jb 0x18002c0e7
mov rcx, qword [rsp + 0x38]
call fcn.1800b5700
mov word [rsp + 0x38], r15w
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], 7
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], r15
mov word [rdi], r15w
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.1800165a0
mov dword [rsp + 0x20], 1
mov rax, rdi
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1800b6c40
add rsp, 0x60
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret