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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov r14, r9
mov r12, r8
mov rbx, rdx
mov rcx, rdx
call fcn.1400571b0
movzx eax, word [r12]
test ax, ax
je 0x14002cf12
cmp word [r12 + 2], 0x3a
je 0x14002ce5b
cmp ax, 0x5c
jne 0x14002cf12
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x38]
lea rcx, [0x14012f5d0]
call fcn.14001a8c0
xor esi, esi
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x14002ce8a
mov rcx, qword [rbx]
jmp 0x14002ce8d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebp, eax
mov rdi, qword [r14]
mov rcx, r12
call fcn.1400571b0
mov qword [r14], rax
mov rcx, rdi
call fcn.140057194
cmp ebp, 0xffffffff
je 0x14002cebb
test bpl, 0x10
jne 0x14002cebb
mov dil, 1
jmp 0x14002cebe
xor dil, dil
test rbx, rbx
je 0x14002cf09
mov rbp, 0xffffffffffffffff
lock xadd dword [rbx + 0x10], ebp
cmp ebp, 1
jne 0x14002cf09
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002ceea
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], rsi
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002cefc
call fcn.14004c68c
mov qword [rbx + 8], rsi
mov edx, 0x18
mov rcx, rbx
call fcn.14004c68c
movzx eax, dil
jmp 0x14002d072
lea r13, [0x1400767ac]
mov rcx, r13
test rbx, rbx
cmovne rcx, rbx
call fcn.1400571b0
mov rdi, rax
mov qword [rsp + 0x38], rax
xor ecx, ecx
call fcn.140057194
nop
cmp word [rdi], 0
je 0x14002d065
xor esi, esi
lea rbp, [rsi - 1]
mov eax, 0x3b
mov edx, eax
mov rcx, rdi
call fcn.14004f5fc
mov r14, rax
test rax, rax
je 0x14002cf62
mov word [rax], si
mov rcx, rbp
inc rcx
cmp word [rdi + rcx*2], si
jne 0x14002cf65
mov rax, rbp
lea rax, [rax + 1]
cmp word [r12 + rax*2], si
jne 0x14002cf71
lea rbx, [rax + 2]
add rbx, rcx
mov ebx, ebx
lea rcx, [rbx + rbx]
call fcn.1400571a8
mov r15, rax
mov qword [rsp + 0x20], r12
mov r9, rdi
lea r8, str._s_s
mov edx, ebx
mov rcx, rax
call fcn.140005aa0
test r14, r14
je 0x14002cfbe
mov eax, 0x3b
mov word [r14], ax
lea rdi, [r14 + 2]
jmp 0x14002cfc1
mov rdi, r13
mov qword [rsp + 0x20], r15
xor r9d, r9d
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x30]
lea rcx, [0x14012f5d0]
call fcn.14001a8c0
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x14002cfee
mov rcx, qword [rbx]
jmp 0x14002cff1
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002d004
test al, 0x10
je 0x14002d08a
mov rcx, r15
call fcn.140057194
test rbx, rbx
je 0x14002d057
mov eax, ebp
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14002d052
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002d033
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], rsi
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002d045
call fcn.14004c68c
mov qword [rbx + 8], rsi
mov edx, 0x18
mov rcx, rbx
call fcn.14004c68c
mov qword [rsp + 0x30], rsi
cmp word [rdi], si
jne 0x14002cf48
mov rdi, qword [rsp + 0x38]
xor bl, bl
mov rcx, rdi
call fcn.140057194
movzx eax, bl
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r14, qword [rsp + 0xa8]
mov rdi, qword [r14]
test r15, r15
cmovne r13, r15
mov rcx, r13
call fcn.1400571b0
mov qword [r14], rax
mov rcx, rdi
call fcn.140057194
mov rcx, r15
call fcn.140057194
test rbx, rbx
je 0x14002d0fb
lock xadd dword [rbx + 0x10], ebp
cmp ebp, 1
jne 0x14002d0fb
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002d0dc
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], rsi
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002d0ee
call fcn.14004c68c
mov qword [rbx + 8], rsi
mov edx, 0x18
mov rcx, rbx
call fcn.14004c68c
mov bl, 1
mov rdi, qword [rsp + 0x38]
jmp 0x14002d067