Function at 0x14008ddf0
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0xf0
mov rax, qword [0x1402d7d18]
xor rax, rsp
mov qword [rsp + 0xe8], rax
mov rdi, rdx
mov rsi, rcx
call fcn.1400832a0
call fcn.140083470
test al, al
je 0x14008de8a
mov byte [rsp + 0x98], 0
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x99]
call fcn.1400844f0
test eax, eax
jne 0x14008de8a
cmp byte [rsp + 0x98], al
je 0x14008de8a
call fcn.140083d90
mov ecx, dword [0x1402e1978]
mov rax, qword gs:[0x58]
mov rbx, qword [rax + rcx*8]
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
cmp byte [rax + rbx], 0
jne 0x14008de7e
call fcn.140154da8
mov eax, 4
mov dword [rax + rbx], 2
call fcn.140083470
test al, al
jne 0x14008de9e
call fcn.140083d90
nop
jmp 0x14008e386
lea r15, [0x1402daa50]
mov rcx, qword [0x1402daa50]
cmp rcx, r15
je 0x14008ded6
test dword [rcx + 0x44], 0x800000
je 0x14008ded6
cmp byte [rcx + 0x41], 5
jb 0x14008ded6
mov edx, 0x13
lea r8, [0x1402618e0]
mov rcx, qword [rcx + 0x38]
call fcn.140024250
nop
mov rcx, rdi
call fcn.140056d70
mov ebx, eax
test eax, eax
je 0x14008df22
mov rcx, qword [0x1402daa50]
cmp rcx, r15
je 0x14008df15
test dword [rcx + 0x44], 0x800000
je 0x14008df15
cmp byte [rcx + 0x41], 3
jb 0x14008df15
mov edx, 0x14
lea r8, [0x1402618e0]
mov rcx, qword [rcx + 0x38]
call fcn.140024250
nop
call fcn.140083d90
nop
mov eax, ebx
jmp 0x14008e38b
lea rax, [rsp + 0x28]
mov qword [rsp + 0x88], rax
xor r14d, r14d
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], 7
mov word [rsp + 0x28], r14w
xor r8d, r8d
lea rdx, [0x14028ae7c]
lea rcx, [rsp + 0x28]
call fcn.140007240
nop
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r14w
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax]
inc r8
cmp word [rdi + r8*2], 0
jne 0x14008df80
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.140007240
nop
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0xa0]
call fcn.14003f460
nop
lea rdx, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 8
cmovae rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], 7
mov word [rsp + 0x68], r14w
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x14008dfe2
mov r8, rbx
lea rcx, [rsp + 0x68]
call fcn.140007240
lea rcx, [rsp + 0x68]
call fcn.14003ff90
test al, al
jne 0x14008e0b4
mov rcx, qword [0x1402daa50]
cmp rcx, r15
je 0x14008e03f
test dword [rcx + 0x44], 0x800000
je 0x14008e03f
cmp byte [rcx + 0x41], 5
jb 0x14008e03f
mov edx, 0x15
mov r9, rdi
lea r8, [0x1402618e0]
mov rcx, qword [rcx + 0x38]
call fcn.140033550
nop
mov rdx, qword [rsp + 0xb8]
cmp rdx, 8
jb 0x14008e087
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008e082
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e3b4
call fcn.1401544c8
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xb8], 7
mov word [rsp + 0xa0], r14w
call fcn.140083d90
nop
mov eax, 0xd
jmp 0x14008e38b
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14008e177
mov rcx, qword [0x1402daa50]
cmp rcx, r15
je 0x14008e0f6
test dword [rcx + 0x44], 0x800000
je 0x14008e0f6
cmp byte [rcx + 0x41], 2
jb 0x14008e0f6
lea edx, [rax + 0x16]
mov r9, rdi
lea r8, [0x1402618e0]
mov rcx, qword [rcx + 0x38]
call fcn.140033550
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140056d10
mov ebx, eax
mov rdx, qword [rsp + 0xb8]
cmp rdx, 8
jb 0x14008e14d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008e148
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e3b4
call fcn.1401544c8
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xb8], 7
mov word [rsp + 0xa0], r14w
call fcn.140083d90
nop
mov eax, ebx
jmp 0x14008e38b
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], rax
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0xc0]
call fcn.14005b9d0
nop
mov qword [rsp + 0xd8], 1
mov qword [rsp + 0xe0], r14
mov r8, rdi
mov rdx, rsi
lea rcx, [rsp + 0xd8]
call fcn.14007db90
mov ebx, eax
test eax, eax
je 0x14008e28c
mov rcx, qword [0x1402daa50]
cmp rcx, r15
je 0x14008e203
test dword [rcx + 0x44], 0x800000
je 0x14008e203
cmp byte [rcx + 0x41], 2
jb 0x14008e203
mov edx, 0x17
lea r8, [0x1402618e0]
mov rcx, qword [rcx + 0x38]
call fcn.140024250
mov ecx, ebx
call fcn.140056d10
mov ebx, eax
lea rcx, [rsp + 0xc0]
call fcn.140006010
nop
mov rdx, qword [rsp + 0xb8]
cmp rdx, 8
jb 0x14008e262
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008e25d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e3b4
call fcn.1401544c8
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xb8], 7
mov word [rsp + 0xa0], r14w
call fcn.140083d90
nop
mov eax, ebx
jmp 0x14008e38b
mov rax, qword [rsp + 0xc8]
sub rax, qword [rsp + 0xc0]
sar rax, 5
test rax, rax
je 0x14008e2ff
mov ecx, 1
call fcn.1400573b0
mov r9, qword [rsp + 0xe0]
mov r8, rax
lea rdx, [rsp + 0xc0]
mov rcx, rsi
call fcn.140093430
test eax, eax
je 0x14008e2ff
mov rcx, qword [0x1402daa50]
cmp rcx, r15
je 0x14008e2ff
test dword [rcx + 0x44], 0x800000
je 0x14008e2ff
cmp byte [rcx + 0x41], 3
jb 0x14008e2ff
mov edx, 0x18
lea r8, [0x1402618e0]
mov rcx, qword [rcx + 0x38]
call fcn.140024250
nop
lea rcx, [rsp + 0xc0]
call fcn.140006010
nop
mov rdx, qword [rsp + 0xb8]
cmp rdx, 8
jb 0x14008e351
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008e34c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e3b4
call fcn.1401544c8
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xb8], 7
mov word [rsp + 0xa0], r14w
call fcn.140083d90
nop
xor eax, eax
jmp 0x14008e38b
mov eax, 1
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.140154660
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
call fcn.1400e3a70
nop
int3