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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x380]
sub rsp, 0x480
lea eax, [r8 - 1]
movzx r14d, r9b
cmp eax, 1
lea r9, [rsp + 0x20]
mov r13d, r8d
mov rdi, rdx
lea r8, [rsp + 0x60]
mov edx, 0x104
setbe r15b
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov rbx, 0xffffffffffffffff
lea rcx, [rsp + 0x60]
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14009d6d0
xor r12d, r12d
test rax, rax
je 0x14009d6f0
cmp word [rsp + rax*2 + 0x5e], 0x5c
jne 0x14009d6f0
mov word [rsp + rax*2 + 0x5e], r12w
lea r9, [rsp + 0x20]
mov edx, 0x104
lea r8, [rbp + 0x170]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
lea rcx, [rbp + 0x170]
mov rax, rbx
inc rax
cmp word [rcx + rax*2], r12w
jne 0x14009d714
test rax, rax
je 0x14009d737
cmp word [rbp + rax*2 + 0x16e], 0x5c
jne 0x14009d737
mov word [rbp + rax*2 + 0x16e], r12w
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14009d921
test al, 0x10
je 0x14009d921
test r14b, r14b
je 0x14009d804
movzx edi, word [rsp + 0x60]
mov qword [rsp + 0x4b0], rsi
test edi, 0xffffff80
je 0x14009d776
mov eax, r12d
jmp 0x14009d783
mov edx, 1
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
movzx esi, di
or si, 0x20
test eax, eax
cmove si, di
movzx edi, word [rbp + 0x170]
test edi, 0xffffff80
je 0x14009d7a4
mov eax, r12d
jmp 0x14009d7b1
mov edx, 1
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
movzx ecx, di
or cx, 0x20
test eax, eax
cmove cx, di
cmp si, cx
mov rsi, qword [rsp + 0x4b0]
jne 0x14009d7d3
cmp word [rsp + 0x62], 0x3a
je 0x14009d804
movzx r8d, r15b
lea rdx, [rbp + 0x170]
xor r9d, r9d
lea rcx, [rsp + 0x60]
call fcn.14009d670
test al, al
je 0x14009d921
mov dl, 1
lea rcx, [rsp + 0x60]
call fcn.14009d940
jmp 0x14009d923
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14009d82e
test al, 0x10
je 0x14009d921
test r15b, r15b
je 0x14009d921
test r14b, r14b
jne 0x14009d874
jmp 0x14009d849
test r14b, r14b
jne 0x14009d874
xor edx, edx
lea rcx, [rbp + 0x170]
call fcn.14007af50
test al, al
je 0x14009d921
lea rcx, [rsp + 0x60]
sub rcx, 2
cmp word [rcx + 2], r12w
lea rcx, [rcx + 2]
jne 0x14009d852
movsd xmm0, qword [0x14011ad40]
movzx eax, word [0x14011ad48]
movsd qword [rcx], xmm0
mov word [rcx + 8], ax
lea rcx, [rsp + 0x60]
mov rax, rbx
nop dword [rax]
cmp word [rcx + rax*2 + 2], r12w
lea rax, [rax + 1]
jne 0x14009d880
mov word [rsp + rax*2 + 0x62], r12w
lea rax, [rbp + 0x170]
nop dword [rax]
cmp word [rax + rbx*2 + 2], r12w
lea rbx, [rbx + 1]
jne 0x14009d8a0
lea rax, [rsp + 0x60]
mov word [rbp + rbx*2 + 0x172], r12w
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
lea rax, [rbp + 0x170]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x40], rax
mov eax, r14d
xor eax, 1
mov dword [rsp + 0x34], r12d
inc eax
mov dword [rsp + 0x5a], r12d
mov dword [rsp + 0x30], eax
mov eax, 0x614
mov word [rsp + 0x48], ax
mov word [rsp + 0x5e], r12w
movdqu xmmword [rsp + 0x4a], xmm0
cmp r13d, 2
jne 0x14009d90f
mov eax, 0x615
mov word [rsp + 0x48], ax
lea rcx, [rsp + 0x28]
call qword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
sete al
jmp 0x14009d923
xor al, al
lea r11, [rsp + 0x480]
mov rbx, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret