Function at 0x14003ec48
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x160]
sub rsp, 0x260
mov rax, qword [0x1400dc7b8]
xor rax, rsp
mov qword [rbp + 0x150], rax
xor r12d, r12d
mov r15, r8
mov qword [r8], r12
mov esi, 0x104
mov r8, rcx
mov edx, esi
lea rcx, [rsp + 0x40]
call fcn.14000b8b0
lea rax, [rsp + 0x40]
mov r11d, esi
cmp word [rax], r12w
je 0x14003ecaf
add rax, 2
sub r11, 1
jne 0x14003ec9f
mov rcx, rsi
mov rax, r11
sub rcx, r11
mov r14d, 0x7ffffffe
neg rax
sbb r8, r8
and r8, rcx
test r11, r11
je 0x14003ed1a
mov rdx, rsi
lea rcx, [rsp + 0x40]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x14003ed0b
lea r8, [0x1400b98e0]
mov eax, r14d
sub r8, rcx
test rax, rax
je 0x14003ed0b
movzx r9d, word [r8 + rcx]
test r9w, r9w
je 0x14003ed0b
mov word [rcx], r9w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14003ecea
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], r12w
lea r8, [rsp + 0x40]
xor edx, edx
mov ecx, 0x1f0003
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_OpenSemaphoreW]
nop dword [rax + rax]
mov qword [rsp + 0x28], rax
mov rdi, rax
test rax, rax
je 0x14003eea1
lea rdx, [rsp + 0x24]
mov dword [rsp + 0x24], r12d
mov rcx, rax
mov dword [rsp + 0x20], r12d
call fcn.14003db80
mov ebx, eax
test eax, eax
jns 0x14003ed80
mov rcx, qword [rbp + 0x188]
lea r8, [0x1400b98b4]
mov r9d, eax
mov edx, 0xcf
call fcn.1400205b4
jmp 0x14003eed1
mov rdx, rsi
lea rax, [rsp + 0x40]
cmp word [rax], r12w
je 0x14003ed98
add rax, 2
sub rdx, 1
jne 0x14003ed88
mov rcx, rsi
mov rax, rdx
sub rcx, rdx
neg rax
sbb r8, r8
and r8, rcx
test rdx, rdx
je 0x14003edf4
lea rdx, [rsp + 0x40]
lea rdx, [rdx + r8*2]
sub rsi, r8
je 0x14003ede5
lea rcx, [0x1400b98e8]
sub rcx, rdx
test r14, r14
je 0x14003ede5
movzx eax, word [rcx + rdx]
test ax, ax
je 0x14003ede5
mov word [rdx], ax
dec r14
add rdx, 2
sub rsi, 1
jne 0x14003edc7
test rsi, rsi
lea rax, [rdx - 2]
cmovne rax, rdx
mov word [rax], r12w
lea r8, [rsp + 0x40]
xor edx, edx
mov ecx, 0x1f0003
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_OpenSemaphoreW]
nop dword [rax + rax]
mov qword [rsp + 0x30], rax
mov rbx, rax
test rax, rax
je 0x14003ee7b
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.14003db80
mov esi, eax
test eax, eax
jns 0x14003ee53
mov rcx, qword [rbp + 0x188]
lea r8, [0x1400b98b4]
mov r9d, eax
mov edx, 0xd7
call fcn.1400205b4
mov rcx, rbx
call fcn.14003d280
mov ebx, esi
jmp 0x14003eed1
mov rcx, rbx
call fcn.14003d280
movsxd rax, dword [rsp + 0x24]
movsxd rcx, dword [rsp + 0x20]
shl rcx, 0x1f
or rcx, rax
mov qword [r15], rcx
mov rcx, rdi
call fcn.14003d280
xor eax, eax
jmp 0x14003eedd
mov rcx, qword [rbp + 0x188]
lea r8, [0x1400b98b4]
mov edx, 0xd5
call fcn.14003e494
lea rcx, [rsp + 0x30]
mov ebx, eax
call fcn.14003ce70
jmp 0x14003eed1
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 2
jne 0x14003eeb7
mov ebx, r12d
jmp 0x14003eed1
mov rcx, qword [rbp + 0x188]
lea r8, [0x1400b98b4]
mov edx, reloc.OLEAUT32.dll_CreateErrorInfo
call fcn.14003e494
mov ebx, eax
lea rcx, [rsp + 0x28]
call fcn.14003ce70
mov eax, ebx
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.140024990
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret