Function at 0x180135470
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
lea rbp, [rsp - 0x380]
sub rsp, 0x480
mov rax, qword [0x18018f008]
xor rax, rsp
mov qword [rbp + 0x370], rax
mov rsi, qword [rbp + 0x3e0]
lea rdx, [rsp + 0x30]
mov rbx, rcx
mov qword [rsp + 0x48], rcx
mov rcx, r8
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x34], r9d
mov rdi, r8
mov qword [rsp + 0x50], r8
call sym.tcl86t.dll_hcl_FSSplitPath
mov r14, rax
test rax, rax
je 0x1801358d2
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1801358d2
inc dword [r14]
xor r13d, r13d
test eax, eax
jle 0x1801356e5
mov r15, qword [rsp + 0x40]
lea r12d, [r13 + 0x10]
lea rax, str.list
cmp qword [r14 + 0x18], rax
je 0x180135525
mov rax, qword [0x18018f080]
cmp qword [r14 + 8], rax
je 0x18013553a
mov rdx, r14
xor ecx, ecx
call fcn.1800c3530
test eax, eax
jne 0x18013553d
test r13d, r13d
js 0x18013553a
mov rax, qword [r14 + 0x20]
cmp r13d, dword [rax + 8]
jge 0x18013553a
mov r15, qword [r12 + rax]
jmp 0x18013553d
xor r15d, r15d
mov rbx, qword [r15 + 8]
test rbx, rbx
jne 0x180135552
mov rcx, r15
call sym.tcl86t.dll_hcl_GetString
mov rbx, qword [r15 + 8]
movzx ecx, byte [rbx]
movzx edx, cl
cmp cl, 0x2f
je 0x18013568c
cmp dword [r15 + 0x10], 3
jne 0x180135572
cmp byte [rbx + 1], 0x3a
je 0x18013568c
movzx eax, byte [rbx]
movzx edx, cl
cmp al, byte [0x18016837c]
jne 0x180135590
movzx eax, byte [rbx + 1]
cmp al, byte [0x18016837d]
je 0x18013568c
movzx eax, byte [rbx]
movzx edx, cl
cmp al, byte [0x180172cb0]
jne 0x1801355ba
movzx eax, byte [rbx + 1]
cmp al, byte [0x180172cb1]
jne 0x1801355ba
movzx eax, byte [rbx + 2]
cmp al, byte [0x180172cb2]
je 0x18013568c
lea edx, [r13 + 1]
mov rcx, r14
call sym.tcl86t.dll_hcl_FSJoinPath
mov rdi, rax
inc dword [rax]
lea rax, [rbp + 0x50]
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x48], 0
mov dword [rbp + 0x4c], 0xc8
mov byte [rbp + 0x50], 0
mov rcx, qword [rdi + 8]
test rcx, rcx
jne 0x1801355fa
mov rcx, rdi
call sym.tcl86t.dll_hcl_GetString
mov rcx, qword [rdi + 8]
mov edx, dword [rdi + 0x10]
lea rax, [rbp + 0x50]
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x48], 0
mov dword [rbp + 0x4c], 0xc8
mov byte [rbp + 0x50], 0
test rcx, rcx
jne 0x180135620
xor esi, esi
jmp 0x18013562c
lea r8, [rbp + 0x40]
call sym.tcl86t.dll_hcl_UtfToUniCharDString
mov rsi, rax
mov edx, dword [rdi]
lea ecx, [rdx - 1]
mov dword [rdi], ecx
cmp edx, 1
jg 0x180135640
mov rcx, rdi
call sym.tcl86t.dll_hclFreeObj
lea rdx, [rbp + 0x120]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x180135719
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x180135890
test al, 0x10
je 0x180135890
mov rcx, qword [rbp + 0x40]
lea rax, [rbp + 0x50]
cmp rcx, rax
je 0x180135689
call sym.tcl86t.dll_hclpFree
movzx edx, byte [rbx]
movzx r8d, dl
lea r9, [0x180000000]
mov edx, r8d
mov eax, r8d
shr rax, 5
and edx, 0x1f
movzx ecx, word [r9 + rax*2 + 0x15a210]
or rcx, rdx
movzx eax, byte [rcx + r9 + 0x157850]
mov ecx, dword [r9 + rax*4 + 0x157530]
test cl, cl
jns 0x1801356cb
sar ecx, 8
sub r8d, ecx
mov byte [rbx], r8b
inc r13d
add r12, 8
cmp r13d, dword [rsp + 0x30]
jl 0x1801354fd
mov rsi, qword [rsp + 0x40]
mov edx, 0xffffffff
mov rcx, r14
call sym.tcl86t.dll_hcl_FSJoinPath
mov qword [rsi], rax
inc dword [rax]
mov ecx, dword [r14]
lea eax, [rcx - 1]
mov dword [r14], eax
cmp ecx, 1
jg 0x18013570d
mov rcx, r14
call sym.tcl86t.dll_hclFreeObj
mov rax, qword [rsi]
dec dword [rax]
xor eax, eax
jmp 0x18013592d
cmp dword [rsp + 0x34], 0
lea rcx, [rbp + 0x354]
je 0x18013573a
cmp word [rbp + 0x14c], 0
je 0x180135750
lea rcx, [rbp + 0x14c]
jmp 0x180135750
cmp word [rbp + 0x354], 0
lea rax, [rbp + 0x14c]
cmovne rax, rcx
mov rcx, rax
lea rax, [rsp + 0x70]
mov dword [rsp + 0x6c], 0xc8
xor esi, esi
mov qword [rsp + 0x60], rax
mov rax, 0xffffffffffffffff
mov dword [rsp + 0x68], esi
mov byte [rsp + 0x70], sil
inc rax
cmp word [rcx + rax*2], si
jne 0x180135774
lea r8, [rsp + 0x60]
mov edx, eax
call sym.tcl86t.dll_hcl_UniCharToUtfDString
mov rcx, qword [rbp + 0x40]
lea rax, [rbp + 0x50]
cmp rcx, rax
je 0x18013579b
call sym.tcl86t.dll_hclpFree
lea rax, [rbp + 0x50]
mov dword [rbp + 0x48], esi
mov qword [rbp + 0x40], rax
mov rax, qword [rsp + 0x60]
mov dword [rbp + 0x4c], 0xc8
mov byte [rbp + 0x50], sil
cmp byte [rax], 0x7e
jne 0x18013584e
call fcn.180106220
mov ecx, 3
mov qword [rsp + 0x38], rax
mov rbx, rax
mov dword [rax], esi
call sym.tcl86t.dll_hclpAlloc
test rax, rax
je 0x180135957
mov qword [rbx + 8], rax
mov ecx, 0x2f2e
mov word [rax], cx
mov r9d, 0x7fffffff
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x20], rsi
mov byte [rcx + 2], sil
mov rcx, rbx
mov dword [rbx + 0x10], 2
mov qword [rbx + 0x18], rsi
mov r8d, dword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
call sym.tcl86t.dll_hcl_AppendLimitedToObj
mov rcx, qword [rsp + 0x60]
lea rax, [rsp + 0x70]
cmp rcx, rax
je 0x180135831
call sym.tcl86t.dll_hclpFree
lea rax, [rsp + 0x70]
mov dword [rsp + 0x68], esi
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x6c], 0xc8
mov byte [rsp + 0x70], sil
jmp 0x18013585d
lea rcx, [rsp + 0x60]
call fcn.180112110
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov r9d, 1
mov qword [rsp + 0x28], rax
mov r8d, r13d
mov rdx, r14
mov dword [rsp + 0x20], 1
xor ecx, ecx
call sym.tcl86t.dll_hcl_ListObjReplace
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x1801356ce
mov rcx, qword [rbp + 0x40]
lea rax, [rbp + 0x50]
cmp rcx, rax
je 0x1801358a2
call sym.tcl86t.dll_hclpFree
mov rcx, qword [rsp + 0x48]
lea rax, [rbp + 0x50]
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x48], 0
mov dword [rbp + 0x4c], 0xc8
mov byte [rbp + 0x50], 0
test rcx, rcx
je 0x18013590d
mov rdx, qword [rsp + 0x50]
call fcn.1801352e0
jmp 0x18013590d
test rbx, rbx
je 0x18013590d
mov rcx, rdi
call sym.tcl86t.dll_hcl_GetString
mov rdx, rax
lea rcx, str.could_not_read___s_:_no_such_file_or_directory
call sym.tcl86t.dll_hcl_ObjPrintf
mov rdx, rax
mov rcx, rbx
call sym.tcl86t.dll_hcl_SetObjResult
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rcx, rbx
mov dword [rax], 2
call sym.tcl86t.dll_hcl_PosixError
test r14, r14
je 0x180135928
mov edx, dword [r14]
lea ecx, [rdx - 1]
mov dword [r14], ecx
cmp edx, 1
jg 0x180135928
mov rcx, r14
call sym.tcl86t.dll_hclFreeObj
mov eax, 1
mov rcx, qword [rbp + 0x370]
xor rcx, rsp
call fcn.180146240
mov rbx, qword [rsp + 0x4c8]
add rsp, 0x480
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edx, 3
lea rcx, str.unable_to_alloc__u_bytes
call sym.tcl86t.dll_hcl_Panic
int3