Function at 0x1801679e0
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x1b0
mov rax, qword [0x180295a70]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
cmp rcx, 0xffffffffffffffff
mov rdi, rdx
jne 0x180167a36
call fcn.180169240
xor esi, esi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov dword [rax], SafeArrayUnaccessData
mov qword [rsp + 0x20], rsi
call fcn.18015ffd0
or eax, 0xffffffff
jmp 0x180167c3d
test rdx, rdx
je 0x180167a0d
lea rdx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x180167a9d
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jb 0x180167a64
cmp eax, 3
jbe 0x180167a8a
cmp eax, 8
je 0x180167a77
cmp eax, 0x12
je 0x180167a8a
call fcn.180169240
mov dword [rax], SafeArrayUnaccessData
or eax, 0xffffffff
jmp 0x180167c3d
call fcn.180169240
mov dword [rax], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
or eax, 0xffffffff
jmp 0x180167c3d
call fcn.180169240
mov dword [rax], 2
or eax, 0xffffffff
jmp 0x180167c3d
mov eax, dword [rsp + 0x60]
xor esi, esi
cmp eax, 0x80
cmove eax, esi
cmp dword [rsp + 0x64], esi
mov dword [rdi], eax
jne 0x180167ab9
cmp dword [rsp + 0x68], esi
je 0x180167b1a
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x64]
call qword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
test eax, eax
je 0x180167b1a
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x180167b1a
movzx eax, word [rsp + 0x4c]
movzx r10d, word [rsp + 0x4a]
movzx r9d, word [rsp + 0x48]
movzx r8d, word [rsp + 0x46]
movzx edx, word [rsp + 0x42]
movzx ecx, word [rsp + 0x40]
or rbx, 0xffffffffffffffff
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
call fcn.18017aa90
jmp 0x180167b21
or rbx, 0xffffffffffffffff
mov rax, rbx
cmp dword [rsp + 0x6c], esi
mov qword [rdi + 8], rax
jne 0x180167b31
cmp dword [rsp + 0x70], esi
je 0x180167b8e
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x6c]
call qword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
test eax, eax
je 0x180167b8e
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x180167b8e
movzx eax, word [rsp + 0x4c]
movzx r10d, word [rsp + 0x4a]
movzx r9d, word [rsp + 0x48]
movzx r8d, word [rsp + 0x46]
movzx edx, word [rsp + 0x42]
movzx ecx, word [rsp + 0x40]
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
call fcn.18017aa90
jmp 0x180167b91
mov rax, rbx
cmp dword [rsp + 0x74], esi
mov qword [rdi + 0x10], rax
jne 0x180167ba1
cmp dword [rsp + 0x78], esi
je 0x180167bff
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x74]
call qword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
test eax, eax
je 0x180167bff
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x180167bff
movzx eax, word [rsp + 0x4c]
movzx r10d, word [rsp + 0x4a]
movzx r9d, word [rsp + 0x48]
movzx r8d, word [rsp + 0x46]
movzx edx, word [rsp + 0x42]
movzx ecx, word [rsp + 0x40]
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
call fcn.18017aa90
mov rbx, rax
mov eax, dword [rsp + 0x80]
lea rcx, [rdi + 0x24]
lea r8, [rsp + 0x8c]
mov edx, 0x104
mov qword [rdi + 0x18], rbx
mov dword [rdi + 0x20], eax
call fcn.18016bef0
test eax, eax
je 0x180167c3b
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call fcn.18015ff30
xor eax, eax
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.1801604e0
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret