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

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
sub rsp, 0x190
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rbp
mov rax, qword [0x18003f108]
xor rax, rsp
mov qword [rsp + 0x180], rax
mov rbp, r8
mov rsi, rdx
mov qword [rsp + 0x48], r8
xor ebx, ebx
mov dword [rsp + 0x20], ebx
mov rcx, qword [r8]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1800036f8
lea rdx, [0x180034ec2]
mov rcx, rsi
call fcn.180002450
nop
mov rdx, qword [rbp]
sub rdx, 0x18
or ebx, 0xffffffff
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x1800036f0
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov rax, rsi
jmp 0x1800038c5
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rbx
call fcn.18000659c
mov rcx, rax
test rax, rax
setne bl
test ebx, ebx
jne 0x180003724
mov ecx, 0x80004005
call fcn.180002680
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x20], rbx
lea rdx, [rsp + 0x50]
mov rcx, qword [rbp]
call fcn.180008f88
lea r8, str._Y__m__d__H:_M:_S
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.180003ba0
nop
lea r8, str._Y__m__d__H:_M:_S
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x58]
call fcn.180003ba0
nop
lea r8, str._Y__m__d__H:_M:_S
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x60]
call fcn.180003ba0
nop
mov rdx, qword [rsp + 0x28]
lea rcx, [rdx - 0x18]
lea rdi, [rbx - 0x18]
or ebx, 0xffffffff
cmp rcx, rdi
je 0x1800037e5
cmp dword [rdi + 0x10], 0
jl 0x1800037d7
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x1800037d7
call fcn.180002010
mov r12, rax
mov ecx, ebx
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1800037cb
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [r12 + 0x18]
mov qword [rsp + 0x20], rax
jmp 0x1800037e5
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x20]
call fcn.180002370
lea r8, [0x180034f20]
lea rdx, [0x180034efc]
lea rcx, [rsp + 0x20]
call fcn.180001930
lea r8, [0x180034f20]
lea rdx, [0x180034ec8]
lea rcx, [rsp + 0x20]
call fcn.180001930
mov rdi, qword [rsp + 0x20]
lea rcx, [rdi - 0x18]
call fcn.180002010
add rax, 0x18
mov qword [rsi], rax
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000384a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000386a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000388a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, ebx
lock xadd dword [rdi - 8], eax
dec eax
test eax, eax
jg 0x1800038a6
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x1800038c2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, rsi
mov rcx, qword [rsp + 0x180]
xor rcx, rsp
call fcn.1800186f0
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret