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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rbx, r9
mov r15, rdx
mov r12, rcx
mov dword [rbp - 0x60], 0
mov rax, qword [r8]
lea rdx, [rbp - 0x50]
mov rcx, r8
call qword [rax + 0x30]
nop
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.18015a670
nop
lea rcx, [rbp - 0x50]
call fcn.180010310
nop
mov rax, qword [rbx]
lea rdx, [rbp - 0x50]
mov rcx, rbx
call qword [rax + 0x30]
nop
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.18015a670
mov r14d, 0x3c
lea rcx, [rbp - 0x50]
call fcn.180010310
nop
add r12, 8
lea rdx, [rbp - 0x58]
mov rcx, r12
call fcn.18018d4a0
lea r13, [0x180660020]
mov edi, 0xffffffff
lea rdx, [0x180660030]
test al, al
je 0x180016c10
mov rbx, rdx
mov r14d, 0x3d
mov rcx, qword [rbp + 0x50]
cmp rcx, rdx
je 0x180016c14
call fcn.18001c500
test eax, eax
je 0x180016c14
xor sil, sil
jmp 0x180016c20
mov rbx, qword [rbp + 0x40]
mov sil, 1
test sil, r14b
je 0x180016d6d
lea rcx, [rbx - 0x10]
cmp rcx, r13
je 0x180016c3a
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, edi
jne 0x180016c3a
call fcn.18011d9c0
test sil, sil
jne 0x180016d6d
mov edx, 0x5c
mov rcx, r12
call fcn.18017c8f0
mov edx, eax
mov rbx, qword [r12]
test eax, eax
jns 0x180016c70
mov qword [rbp + 0x58], rbx
lea rax, [rbx - 0x10]
cmp rax, r13
je 0x180016cb3
lock inc dword [rax]
mov rbx, qword [rbp + 0x58]
jmp 0x180016cb3
movzx ecx, byte [rbx]
test cl, cl
je 0x180016ca8
inc rbx
test cl, cl
jns 0x180016c91
mov al, 0x40
test al, cl
je 0x180016c91
cmp al, 8
jbe 0x180016c91
inc rbx
shr al, 1
test cl, al
jne 0x180016c84
sub edx, 1
jns 0x180016c70
mov rdx, rbx
lea rcx, [rbp + 0x58]
call fcn.18001d410
mov rbx, qword [rbp + 0x58]
jmp 0x180016cb3
lea rbx, [0x180660030]
mov qword [rbp + 0x58], rbx
mov r8, rbx
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x50]
call fcn.18018cdd0
nop
lea rcx, [rbx - 0x10]
cmp rcx, r13
je 0x180016cdf
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180016cdf
call fcn.18011d9c0
mov rax, qword [rbp + 0x40]
cmp byte [rax], 0
je 0x180016d04
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x58]
call fcn.180017f90
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
cmp eax, 0xffffffff
jne 0x180016d64
lea rdx, [rbp + 0x40]
mov rcx, r12
call fcn.18018dc00
test al, al
je 0x180016d64
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.18011dae8
mov qword [rbp + 0x58], rax
lea rcx, vtable.juce::AndroidDocument::Utils::AndroidDocumentPimplFile.0
mov qword [rax], rcx
mov rcx, qword [rbp + 0x40]
mov qword [rax + 8], rcx
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x180016d40
lock inc dword [rcx]
mov qword [r15], rax
mov rcx, qword [rbp + 0x40]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x180016d74
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180016d74
call fcn.18011d9c0
jmp 0x180016d74
mov qword [r15], 0
jmp 0x180016d43
mov qword [r15], 0
mov rcx, qword [rbp + 0x50]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x180016d94
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180016d94
call fcn.18011d9c0
nop
mov rcx, qword [rbp - 0x58]
add rcx, 0xfffffffffffffff0
cmp rcx, r13
je 0x180016db1
lock xadd dword [rcx], edi
dec edi
cmp edi, 0xffffffff
jne 0x180016db1
call fcn.18011d9c0
mov rax, r15
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret