Function at 0x140085a24
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x258]
sub rsp, 0x330
mov rax, qword [0x14016a040]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov eax, dword [0x14016ee08]
mov r13, rcx
shr eax, 1
test al, 1
je 0x140085fd7
call fcn.140066cf4
xor ebx, ebx
test al, al
je 0x140085fd7
mov rdi, qword [r13]
mov rcx, rdi
mov qword [rsp + 0x20], rdi
mov rax, qword [rdi]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [0x140172300]
mov r15, rax
test rcx, rcx
je 0x140085b08
lea r15, str.filename
call fcn.1400b29ac
test rax, rax
je 0x140085ab2
mov r15, rax
mov rcx, qword [r13]
test rcx, rcx
je 0x140085b26
mov rax, qword [rcx]
call qword [rax + 0xf0]
test rax, rax
je 0x140085b26
mov rax, qword [rax + 0x38]
mov r14, rax
test rax, rax
je 0x140085b29
lea rcx, str.enginePdf
cmp qword [rax + 8], rcx
jne 0x140085b29
cmp qword [rax + 0x120], rbx
je 0x140085b29
cmp byte [rax + 0x200], bl
je 0x140085b29
mov rcx, r13
call fcn.140066d68
mov rcx, rax
call fcn.140084b88
jmp 0x140085fd7
test rax, rax
jne 0x140085ab2
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x140085fd7
call qword [sym.imp.KERNEL32.dll_DebugBreak]
jmp 0x140085fd7
mov r14, rbx
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
lea rdx, [rbp - 0x30]
mov dword [rbp + 8], ebx
mov rsi, rax
mov qword [rbp - 0x30], rbx
lea rax, [rbp - 0x18]
mov dword [rbp - 0x20], ebx
mov rcx, rdi
mov qword [rbp - 0x28], rax
mov byte [rbp - 0x18], bl
mov dword [rbp - 0x1c], 0x101
call fcn.140085834
test al, al
je 0x140085b74
mov r8, rsi
lea rdx, [0x14014ce58]
lea rcx, [rbp - 0x30]
call fcn.1400b1a70
lea rcx, str.All_files
call fcn.140099170
or r12, 0xffffffffffffffff
lea rcx, [rbp - 0x30]
mov r8, r12
mov rdx, rax
call fcn.1400b18f8
mov r8, r12
lea rdx, [0x14014cc60]
lea rcx, [rbp - 0x30]
call fcn.1400b18f8
mov rcx, qword [rbp - 0x28]
lea r8, [0x14013ff40]
lea rdx, [0x14014cc74]
call fcn.1400b0b68
mov rcx, r15
call fcn.1400b412c
mov r8, rax
lea rcx, [rbp + 0x10]
mov edx, 0x104
call fcn.1400b21a8
lea edi, [r12 + 0x3b]
mov edx, edi
lea rcx, [rbp + 0x10]
call fcn.1400f6654
test rax, rax
je 0x140085ce8
mov edx, edi
lea rcx, [rbp + 0x10]
call fcn.1400f6654
lea r8, [0x14014ce70]
mov rcx, rax
lea rdx, [0x14014cea0]
mov rdi, rax
call fcn.1400b1f48
lea rax, [rbp + 0x10]
mov rcx, rdi
cmp rdi, rax
jbe 0x140085c32
cmp word [rcx], 0x2e
je 0x140085c3d
sub rcx, 2
lea rax, [rbp + 0x10]
cmp rcx, rax
ja 0x140085c1f
lea rax, [rbp + 0x10]
cmp rcx, rax
cmove rcx, rdi
test rdi, rdi
je 0x140085c51
mov r8, r12
inc r8
cmp word [rdi + r8*2], bx
jne 0x140085c45
jmp 0x140085c54
mov r8, rbx
lea r8, [r8*2 + 2]
mov rdx, rdi
call fcn.14012ad20
mov edi, 0x98
lea rcx, [rsp + 0x30]
mov r8d, edi
xor edx, edx
call fcn.14012a960
mov rax, qword [r13 + 0x10]
lea rcx, [rbp - 0x30]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x68], 0x104
call fcn.1400b304c
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x5c], 1
test rsi, rsi
je 0x140085d5a
mov rax, r12
inc rax
cmp byte [rsi + rax], bl
jne 0x140085cb8
test eax, eax
jle 0x140085cd3
cmp byte [rsi], 0x2e
jne 0x140085cd3
add rsi, 1
je 0x140085d5a
call fcn.1400b2af0
mov r8, rax
mov rdx, r12
mov rcx, rsi
call fcn.1400be600
jmp 0x140085d5d
test rsi, rsi
jne 0x140085cf2
mov rax, rbx
jmp 0x140085d05
call fcn.1400b2af0
mov r8, rax
mov rdx, r12
mov rcx, rsi
call fcn.1400be600
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.1400b1eec
test al, al
je 0x140085c64
lea rcx, [rbp + 0x10]
mov rax, r12
inc rax
cmp word [rcx + rax*2], bx
jne 0x140085d20
test rsi, rsi
je 0x140085d3b
mov rcx, r12
inc rcx
cmp byte [rsi + rcx], bl
jne 0x140085d31
jmp 0x140085d3d
mov ecx, ebx
sub eax, ecx
cdqe
add rax, rax
cmp rax, 0x208
jae 0x140086007
mov word [rbp + rax + 0x10], bx
jmp 0x140085c64
mov rax, rbx
lea rcx, [rsp + 0x30]
mov qword [rbp - 0x68], rax
mov dword [rbp - 0x70], 0x806
call qword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
test eax, eax
setne r12b
test eax, eax
je 0x140085fce
call fcn.1400b2af0
mov r9, rax
lea rdx, [rbp + 0x10]
or r8, 0xffffffffffffffff
mov ecx, 0xfde9
call fcn.1400be6d0
mov rdx, rsi
mov rcx, rax
mov rdi, rax
call fcn.1400b0518
test al, al
jne 0x140085dbe
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.1400b2d6c
mov rdi, rax
mov r8, rdi
lea rcx, str.Saving__s_to__s_n
mov rdx, r15
call fcn.1400b3458
mov rcx, r15
mov rsi, rbx
call fcn.1400b4efc
test al, al
jne 0x140085e9f
test r14, r14
je 0x140085e9f
mov rdx, rdi
lea rcx, str.calling_engine__SaveFileAs__s__n
call fcn.1400b3458
mov rax, qword [r14]
mov rdx, rdi
mov rcx, r14
call qword [rax + 0x30]
mov r12b, al
test r12b, r12b
jne 0x140085e41
test rsi, rsi
jne 0x140085e23
lea rcx, str.Failed_to_save_a_file
call fcn.140099170
mov rsi, rax
mov rdx, rsi
lea rcx, str.SaveCurrentFileAs___failed_with__s_n
call fcn.1400b3458
mov rcx, qword [r13 + 0x10]
xor r8d, r8d
mov rdx, rsi
call fcn.140080838
mov rcx, qword [rsp + 0x20]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r12b, r12b
je 0x140085fce
mov rcx, rax
call fcn.14002288c
test al, al
je 0x140085fce
xor r8d, r8d
lea rdx, str.:Zone.Identifier
mov rcx, rdi
call fcn.1400b2d6c
mov edx, 3
lea rcx, [0x14013fcc8]
mov rsi, rax
call fcn.1400b2dac
mov rdi, rax
test rax, rax
jne 0x140085f81
mov rdi, rbx
jmp 0x140085f98
mov rdx, rdi
mov rcx, r15
call fcn.1400b478c
test al, al
jne 0x140085e0a
xor r8d, r8d
mov rdx, r15
mov rcx, rdi
call fcn.1400b519c
mov r12b, al
test al, al
je 0x140085f34
test rdi, rdi
jne 0x140085ed1
mov rax, rbx
jmp 0x140085ee5
call fcn.1400b2af0
mov r8, rax
or rdx, 0xffffffffffffffff
mov rcx, rdi
call fcn.1400be600
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov esi, eax
cmp eax, 0xffffffff
je 0x140085e41
test sil, 7
je 0x140085e41
test rdi, rdi
jne 0x140085f0d
mov rax, rbx
jmp 0x140085f21
call fcn.1400b2af0
mov r8, rax
or rdx, 0xffffffffffffffff
mov rcx, rdi
call fcn.1400be600
and esi, 0xfffffff8
mov rcx, rax
mov edx, esi
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x140085e41
xor ecx, ecx
call fcn.1400b5c10
mov rsi, rax
test rax, rax
je 0x140085e14
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], bl
jne 0x140085f4b
test ecx, ecx
jle 0x140085e14
lea rcx, str.Failed_to_save_a_file
call fcn.140099170
mov r8, rsi
lea rcx, str._s_n_n_s
mov rdx, rax
call fcn.1400b2dac
mov rsi, rax
jmp 0x140085e0f
call fcn.1400b2af0
mov r8, rax
or rdx, 0xffffffffffffffff
mov rcx, rdi
call fcn.1400be600
mov rdi, rax
test rsi, rsi
je 0x140085fb4
call fcn.1400b2af0
mov r8, rax
or rdx, 0xffffffffffffffff
mov rcx, rsi
call fcn.1400be600
mov rbx, rax
mov r9, rbx
lea rdx, str.ZoneId
mov r8, rdi
lea rcx, str.ZoneTransfer
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea rcx, [rbp - 0x30]
call fcn.1400b1850
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.1400f44c0
lea r11, [rsp + 0x330]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400f4950
int3