Function at 0x14008e660
Capabilities:
Check if file exists

Disassembly:
push rbp
push rdi
push r12
push r13
push r14
mov eax, 0x50
call fcn.1400d9eb0
sub rsp, rax
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x60], rbx
mov qword [rbp + 0x68], rsi
mov rax, qword [0x1401cee90]
xor rax, rbp
mov qword [rbp + 0x10], rax
xor edi, edi
mov r12, rdx
mov rsi, rcx
mov ebx, edi
mov rax, rcx
cmp byte [rcx], bl
je 0x14008e6b4
cmp ebx, 0x80000000
jae 0x14008e6b4
inc rax
inc ebx
cmp byte [rax], dil
jne 0x14008e6a2
mov r8, rcx
btr ebx, 0x1f
mov r13d, 8
inc ebx
mov ecx, 0xfde9
mov edx, r13d
mov r9d, ebx
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r9d, eax
test eax, eax
jg 0x14008e7af
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3ec
jne 0x14008e71f
mov r9d, ebx
mov r8, rsi
xor edx, edx
mov ecx, 0xfde9
mov dword [rsp + 0x28], edi
mov r13d, edi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r9d, eax
test eax, eax
jg 0x14008e7af
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x459
je 0x14008e87b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 1
lea r9, [0x1401b2a20]
lea ecx, [rdx + 1]
mov r8d, eax
mov dword [rsp + 0x20], 0xa9
call fcn.1400773e0
lea r11, [0x1401b2a38]
lea r9, [0x1401b2a3c]
mov qword [rsp + 0x28], r11
lea rdx, [0x1401b2a40]
mov r8, rsi
mov ecx, 5
mov qword [rsp + 0x20], r12
call fcn.140077800
call fcn.1400dc524
mov edx, 0x6d
cmp dword [rax], 2
lea ecx, [rdx - 0x4d]
jne 0x14008e8d3
mov dword [rsp + 0x20], 0xac
lea r9, [0x1401b2a48]
lea r8d, [rdx + 0x13]
jmp 0x14008e8e8
movsxd rax, r9d
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x14008e7c8
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1400d9eb0
sub rsp, rcx
mov r8, rsi
mov dword [rsp + 0x28], r9d
lea r14, [rsp + 0x30]
mov edx, r13d
mov r9d, ebx
mov ecx, 0xfde9
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x14008e730
mov rax, r12
cmp byte [r12], dil
je 0x14008e822
nop dword [rax + rax]
cmp edi, 0x80000000
jae 0x14008e822
inc rax
inc edi
cmp byte [rax], 0
jne 0x14008e810
lea rax, [rbp]
btr edi, 0x1f
mov r8, r12
lea r9d, [rdi + 1]
xor edx, edx
mov ecx, 0xfde9
mov dword [rsp + 0x28], 8
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x14008e730
lea rdx, [rbp]
mov rcx, r14
call fcn.1400d7bf4
mov rbx, rax
test rax, rax
jne 0x14008e892
call fcn.1400dc524
cmp dword [rax], 2
je 0x14008e87b
call fcn.1400dc524
cmp dword [rax], 9
jne 0x14008e889
mov rdx, r12
mov rcx, rsi
call fcn.1400d6ce0
mov rbx, rax
test rbx, rbx
je 0x14008e730
lea rcx, [0x1401b29d0]
call fcn.1400787b0
mov rdi, rax
test rax, rax
jne 0x14008e8b0
mov rcx, rbx
call fcn.1400d6e90
jmp 0x14008e8ed
xor edx, edx
mov rcx, rax
call fcn.140077fb0
mov edx, 0x6a
mov r9, rbx
lea r8d, [rdx - 0x69]
mov rcx, rdi
call fcn.1400784c0
mov rax, rdi
jmp 0x14008e8ef
mov dword [rsp + 0x20], 0xae
lea r9, [0x1401b2a60]
mov r8d, 2
call fcn.1400773e0
xor eax, eax
mov rcx, qword [rbp + 0x10]
xor rcx, rbp
call fcn.1400d4e00
mov rbx, qword [rbp + 0x60]
mov rsi, qword [rbp + 0x68]
lea rsp, [rbp + 0x20]
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret