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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1d0]
sub rsp, 0x2d0
mov rax, qword [0x1405921c0]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
mov r12, rdx
mov r14, rcx
mov qword [rsp + 0x38], rcx
mov qword [rbp - 0x28], rdx
xor r13d, r13d
mov dword [rsp + 0x20], r13d
mov rax, qword [rcx + 8]
cmp byte [rax], r13b
je 0x140015908
lea rdx, [rcx + 8]
lea rcx, [rbp + 0x48]
call fcn.140016140
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
cmp eax, 0xffffffff
je 0x140015908
lea rcx, [r14 + 8]
call fcn.1401196b0
mov qword [rbp - 0x20], rax
lea edx, [r13 + 0x2e]
lea rcx, [r14 + 8]
call fcn.140134dd0
mov edi, eax
lea edx, [r13 + 0x5c]
lea rcx, [r14 + 8]
call fcn.140134dd0
lea r8, [0x140592ec8]
lea rsi, [0x140592ed8]
cmp edi, eax
jle 0x14001507a
mov rdx, qword [r14 + 8]
test edi, edi
jg 0x140015022
mov qword [rsp + 0x28], rdx
add rdx, 0xfffffffffffffff0
cmp rdx, r8
je 0x140015061
lock inc dword [rdx]
mov dword [rsp + 0x20], 0x60
jmp 0x140015087
lea r8d, [rdi - 1]
test r8d, r8d
js 0x140015057
nop dword [rax + rax]
movzx ecx, byte [rdx]
test cl, cl
je 0x14001506b
inc rdx
test cl, cl
jns 0x140015051
mov al, 0x40
test al, cl
je 0x140015051
cmp al, 8
jbe 0x140015051
inc rdx
shr al, 1
test al, cl
jne 0x140015044
sub r8d, 1
jns 0x140015030
lea rcx, [rsp + 0x28]
call fcn.140018f60
mov dword [rsp + 0x20], 0x60
jmp 0x140015087
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x60
jmp 0x140015087
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x20
lea r8, [0x1405046dc]
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x28]
call fcn.140132450
nop
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.140133410
nop
mov rcx, qword [rbp - 0x10]
add rcx, 0xfffffffffffffff0
mov r15d, 0xffffffff
lea rbx, [0x140592ec8]
cmp rcx, rbx
je 0x1400150d8
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, r15d
jne 0x1400150d8
call fcn.1400c9d7c
nop
mov rcx, qword [rsp + 0x28]
add rcx, 0xfffffffffffffff0
cmp rcx, rbx
je 0x1400150fa
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1400150fa
call fcn.1400c9d7c
nop
lea rdx, [r14 + 8]
lea rcx, [rbp + 0x50]
call fcn.140016140
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
je 0x14001513c
cmp eax, 0xffffffff
je 0x14001513c
lea rdx, str.vnd.android.document_directory
lea rcx, [rsp + 0x30]
call fcn.140018a20
lea rax, [rsp + 0x30]
or dword [rsp + 0x20], 2
mov rdi, qword [rsp + 0x30]
jmp 0x140015191
call fcn.1401159a0
lea r8, [rbp - 0x30]
mov rdx, rax
lea rcx, [rbp]
call fcn.1401157f0
or dword [rsp + 0x20], 0x200
xor edx, edx
lea rcx, [rbp]
call fcn.14012fcd0
mov rdi, qword [rax]
lea rax, [rdi - 0x10]
cmp rax, rbx
je 0x140015173
lock inc dword [rax]
lea rcx, [rbp]
call fcn.140003220
mov rcx, qword [rbp]
call fcn.1400d4bdc
lea rax, [rbp - 8]
or dword [rsp + 0x20], 0x104
mov qword [rbp + 0x58], rdi
mov qword [rax], rsi
mov eax, dword [rsp + 0x20]
test al, 4
je 0x1400151c6
and dword [rsp + 0x20], 0xfffffffb
mov rcx, qword [rbp - 8]
add rcx, 0xfffffffffffffff0
cmp rcx, rbx
je 0x1400151c6
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1400151c6
call fcn.1400c9d7c
nop
mov eax, dword [rsp + 0x20]
test al, 2
je 0x1400151f4
and dword [rsp + 0x20], 0xfffffffd
mov rcx, qword [rsp + 0x30]
add rcx, 0xfffffffffffffff0
cmp rcx, rbx
je 0x1400151f4
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1400151f4
call fcn.1400c9d7c
add rbx, 0x10
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x60], r13
mov byte [rsp + 0x68], 0
movups xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x70], r13
mov byte [rsp + 0x78], 0
mov dword [rbp - 0x80], r13d
mov word [rbp - 0x7c], 0
mov edx, 0x5c
lea rcx, [r14 + 8]
call fcn.140134dd0
lea r8d, [rax + 1]
lea rdx, [rbp - 0x40]
lea rcx, [r14 + 8]
call fcn.140133210
or dword [rsp + 0x20], 0x80
mov rdx, qword [rbp - 0x40]
lea rcx, [rbx - 0x10]
lea rsi, [0x140592ec8]
cmp rcx, rsi
je 0x14001526b
lock inc dword [rcx]
mov rax, qword [rsp + 0x58]
mov qword [rbp - 0x70], rax
add rax, 0xfffffffffffffff0
cmp rax, rsi
je 0x140015280
lock inc dword [rax]
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rsp + 0x70]
movups xmmword [rbp - 0x58], xmm1
mov dword [rbp - 0x48], r13d
mov word [rbp - 0x44], 0
mov qword [rbp - 0x78], rdx
cmp rcx, rsi
je 0x1400152b9
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1400152b9
call fcn.1400c9d7c
nop
cmp byte [rdi], 0
je 0x1400152d8
mov qword [rbp - 0x28], rdi
lea rax, [rdi - 0x10]
cmp rax, rsi
je 0x1400152ce
lock inc dword [rax]
or dword [rsp + 0x20], 8
mov rbx, rdi
jmp 0x1400152f2
lea rdx, str.application_octet_stream
lea rcx, [rbp - 0x38]
call fcn.140018a20
nop
or dword [rsp + 0x20], 0x10
mov rbx, qword [rbp - 0x38]
lea rax, [rbx - 0x10]
cmp rax, rsi
je 0x1400152fe
lock inc dword [rax]
mov rax, qword [rbp - 0x78]
mov qword [rbp + 0x80], rax
add rax, 0xfffffffffffffff0
cmp rax, rsi
je 0x140015315
lock inc dword [rax]
mov rax, qword [rsp + 0x58]
add rax, 0xfffffffffffffff0
cmp rax, rsi
je 0x140015326
lock inc dword [rax]
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp + 0x90], xmm0
movups xmm1, xmmword [rsp + 0x70]
movups xmmword [rbp + 0xa0], xmm1
mov dword [rbp + 0xb0], r13d
mov word [rbp + 0xb4], 0
mov qword [rbp + 0x88], rbx
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff0
cmp rcx, rsi
je 0x140015377
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140015377
call fcn.1400c9d7c
nop
lea rsi, [r14 + 8]
mov edx, 0x80000000
mov rcx, rsi
call fcn.14011a1b0
movzx r14d, al
shl r14d, 7
mov rcx, rsi
call fcn.140119f20
mov esi, r14d
or esi, 0x14e
test al, al
cmove esi, r14d
mov rax, qword [rbp - 0x78]
mov qword [rbp + 0xb8], rax
add rax, 0xfffffffffffffff0
lea r8, [0x140592ec8]
cmp rax, r8
je 0x1400153c5
lock inc dword [rax]
mov qword [rbp + 0xc0], rbx
lea rax, [rbx - 0x10]
cmp rax, r8
je 0x1400153d8
lock inc dword [rax]
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp + 0xc8], xmm0
movups xmm1, xmmword [rsp + 0x70]
movups xmmword [rbp + 0xd8], xmm1
mov word [rbp + 0xec], 0
mov dword [rbp + 0xe8], esi
mov rdx, qword [rsp + 0x38]
add rdx, 8
lea rcx, [rbp + 0x68]
call fcn.140016140
lea r8, [rbp + 0x198]
xor edx, edx
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
je 0x14001544c
movabs rcx, 0xfe624e212ac18000
add rcx, qword [rbp + 0x1ac]
movabs rax, 0x346dc5d63886594b
mul rcx
mov r13, rdx
shr r13, 0xb
mov qword [rsp + 0x40], r13
mov byte [rsp + 0x48], 1
mov rax, qword [rbp - 0x78]
mov qword [rbp + 0xf0], rax
add rax, 0xfffffffffffffff0
lea rcx, [0x140592ec8]
cmp rax, rcx
je 0x140015474
lock inc dword [rax]
mov qword [rbp + 0xf8], rbx
lea rax, [rbx - 0x10]
cmp rax, rcx
je 0x140015487
lock inc dword [rax]
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp + 0x100], xmm0
mov dword [rbp + 0x120], esi
mov word [rbp + 0x124], 0
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x110], xmm0
mov rax, qword [rbp - 0x20]
test rax, rax
je 0x1400154c5
mov qword [rbp - 0x20], rax
mov byte [rbp - 0x18], 1
lea r14, [rbp - 0x20]
jmp 0x1400154d5
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
lea r14, [rbp + 0x70]
movups xmm0, xmmword [rsp + 0x40]
mov rax, qword [rbp - 0x78]
mov qword [rbp + 0x128], rax
add rax, 0xfffffffffffffff0
cmp rax, rcx
je 0x1400154ec
lock inc dword [rax]
mov qword [rbp + 0x130], rbx
lea rax, [rbx - 0x10]
cmp rax, rcx
je 0x1400154ff
lock inc dword [rax]
movups xmmword [rbp + 0x148], xmm0
mov dword [rbp + 0x158], esi
mov word [rbp + 0x15c], 0
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x138], xmm0
mov rcx, qword [rsp + 0x38]
add rcx, 8
mov edx, 0x80000000
call fcn.14011a1b0
movzx edx, al
mov byte [rsp + 0x24], al
mov rax, qword [rbp - 0x78]
mov qword [rbp + 0x160], rax
add rax, 0xfffffffffffffff0
lea r8, [0x140592ec8]
cmp rax, r8
je 0x140015558
lock inc dword [rax]
mov qword [rbp + 0x168], rbx
lea rcx, [rbx - 0x10]
cmp rcx, r8
je 0x14001556b
lock inc dword [rcx]
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x170], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x180], xmm1
mov dword [rbp + 0x190], esi
mov byte [rbp + 0x195], 0
mov byte [rbp + 0x194], dl
mov rcx, qword [rsp + 0x38]
add rcx, 8
call fcn.140119f20
movzx r8d, al
mov rcx, qword [rbp - 0x78]
add rcx, 0xfffffffffffffff0
lea rdx, [0x140592ec8]
cmp rcx, rdx
je 0x1400155be
lock inc dword [rcx]
lea rcx, [rbx - 0x10]
cmp rcx, rdx
je 0x1400155ca
lock inc dword [rcx]
mov rax, qword [rbp - 0x78]
mov qword [rbp + 0x10], rax
add rax, 0xfffffffffffffff0
cmp rax, rdx
je 0x1400155de
lock inc dword [rax]
mov qword [rbp + 0x18], rbx
lea rax, [rbx - 0x10]
cmp rax, rdx
je 0x1400155ee
lock inc dword [rax]
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x20], xmm0
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x30], xmm0
mov dword [rbp + 0x40], esi
movzx edx, byte [rsp + 0x24]
mov byte [rbp + 0x44], dl
mov byte [rbp + 0x45], r8b
mov rax, qword [rbp - 0x78]
mov qword [r12], rax
add rax, 0xfffffffffffffff0
lea r14, [0x140592ec8]
cmp rax, r14
je 0x140015629
lock inc dword [rax]
mov qword [r12 + 8], rbx
lea rax, [rbx - 0x10]
cmp rax, r14
je 0x14001563a
lock inc dword [rax]
mov qword [r12 + 0x10], r13
mov rax, qword [rbp + 0x20]
mov qword [r12 + 0x18], rax
mov dword [r12 + 0x20], esi
mov ecx, 3
mov eax, 7
cmp byte [rbp + 0x28], 0
cmovne ecx, eax
mov eax, r8d
shl eax, 4
or ecx, eax
mov eax, edx
shl eax, 3
or ecx, eax
mov dword [r12 + 0x24], ecx
lea rcx, [rbp + 0x10]
call fcn.1400141f0
or dword [rsp + 0x20], 1
lea rcx, [rbx - 0x10]
cmp rcx, r14
je 0x14001569c
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14001569c
call fcn.1400c9d7c
mov rcx, qword [rbp - 0x78]
add rcx, 0xfffffffffffffff0
cmp rcx, r14
je 0x1400156bd
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1400156bd
call fcn.1400c9d7c
nop
lea rcx, [rbx - 0x10]
cmp rcx, r14
je 0x1400156d9
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1400156d9
call fcn.1400c9d7c
mov rcx, qword [rbp - 0x78]
add rcx, 0xfffffffffffffff0
cmp rcx, r14
je 0x1400156fa
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1400156fa
call fcn.1400c9d7c
nop
lea rcx, [rbx - 0x10]
cmp rcx, r14
je 0x140015716
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140015716
call fcn.1400c9d7c
mov rcx, qword [rbp - 0x78]
add rcx, 0xfffffffffffffff0
cmp rcx, r14
je 0x140015737
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140015737
call fcn.1400c9d7c
nop
lea rcx, [rbx - 0x10]
cmp rcx, r14
je 0x140015753
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140015753
call fcn.1400c9d7c
mov rcx, qword [rbp - 0x78]
add rcx, 0xfffffffffffffff0
cmp rcx, r14
je 0x140015774
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140015774
call fcn.1400c9d7c
nop
lea rcx, [rbx - 0x10]
cmp rcx, r14
je 0x140015790
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140015790
call fcn.1400c9d7c
mov rcx, qword [rbp - 0x78]
add rcx, 0xfffffffffffffff0
cmp rcx, r14
je 0x1400157b1
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1400157b1
call fcn.1400c9d7c
nop
lea rcx, [rbx - 0x10]
cmp rcx, r14
je 0x1400157cd
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1400157cd
call fcn.1400c9d7c
mov rcx, qword [rbp - 0x78]
add rcx, 0xfffffffffffffff0
cmp rcx, r14
je 0x1400157ee
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1400157ee
call fcn.1400c9d7c
nop
mov eax, dword [rsp + 0x20]
test al, 0x10
je 0x14001581c
and dword [rsp + 0x20], 0xffffffef
mov rcx, qword [rbp - 0x38]
add rcx, 0xfffffffffffffff0
cmp rcx, r14
je 0x14001581c
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14001581c
call fcn.1400c9d7c
nop
test byte [rsp + 0x20], 8
je 0x140015844
mov rcx, qword [rbp - 0x28]
add rcx, 0xfffffffffffffff0
cmp rcx, r14
je 0x140015844
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140015844
call fcn.1400c9d7c
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff0
cmp rcx, r14
je 0x140015865
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140015865
call fcn.1400c9d7c
mov rcx, qword [rbp - 0x78]
add rcx, 0xfffffffffffffff0
cmp rcx, r14
je 0x140015886
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140015886
call fcn.1400c9d7c
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff0
cmp rcx, r14
je 0x1400158a7
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1400158a7
call fcn.1400c9d7c
mov rcx, qword [rsp + 0x50]
add rcx, 0xfffffffffffffff0
cmp rcx, r14
je 0x1400158c9
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1400158c9
call fcn.1400c9d7c
nop
lea rcx, [rdi - 0x10]
cmp rcx, r14
je 0x1400158e6
mov eax, r15d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1400158e6
call fcn.1400c9d7c
nop
mov rcx, qword [rbp - 0x30]
add rcx, 0xfffffffffffffff0
cmp rcx, r14
je 0x140015935
lock xadd dword [rcx], r15d
dec r15d
cmp r15d, 0xffffffff
jne 0x140015935
call fcn.1400c9d7c
jmp 0x140015935
xorps xmm0, xmm0
movups xmmword [r12], xmm0
movups xmmword [r12 + 0x10], xmm0
lea rsi, [0x140592ed8]
mov qword [r12], rsi
mov qword [r12 + 8], rsi
mov qword [r12 + 0x10], r13
mov qword [r12 + 0x18], r13
mov qword [r12 + 0x20], r13
mov rax, r12
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.1400c9d20
mov rbx, qword [rsp + 0x320]
add rsp, 0x2d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret