Function at 0x14002f530
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x178]
sub rsp, 0x260
mov rax, qword [0x1400d1548]
xor rax, rsp
mov qword [rbp + 0x150], rax
xor ebx, ebx
mov r15, r8
mov qword [r8], rbx
mov edi, 0x104
mov r8, rcx
mov edx, edi
lea rcx, [rsp + 0x40]
call fcn.140020a68
lea rax, [rsp + 0x40]
mov r11d, edi
cmp word [rax], bx
je 0x14002f596
add rax, 2
sub r11, 1
jne 0x14002f587
mov rcx, rdi
mov rax, r11
sub rcx, r11
mov r14d, 0x7ffffffe
neg rax
sbb r8, r8
and r8, rcx
test r11, r11
je 0x14002f600
mov rdx, rdi
lea rcx, [rsp + 0x40]
lea rcx, [rcx + r8*2]
sub rdx, r8
je 0x14002f5f2
lea r8, [0x1400ab330]
mov eax, r14d
sub r8, rcx
test rax, rax
je 0x14002f5f2
movzx r9d, word [r8 + rcx]
test r9w, r9w
je 0x14002f5f2
mov word [rcx], r9w
dec rax
add rcx, 2
sub rdx, 1
jne 0x14002f5d1
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], bx
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
test rax, rax
je 0x14004e8e5
lea rdx, [rsp + 0x24]
mov dword [rsp + 0x24], ebx
mov rcx, rax
mov dword [rsp + 0x20], ebx
call fcn.14002f774
mov esi, eax
test eax, eax
js 0x14004e880
mov rdx, rdi
lea rax, [rsp + 0x40]
cmp word [rax], bx
je 0x14002f65c
add rax, 2
sub rdx, 1
jne 0x14002f64d
mov rcx, rdi
mov rax, rdx
sub rcx, rdx
neg rax
sbb r8, r8
and r8, rcx
test rdx, rdx
je 0x14002f6b7
lea rdx, [rsp + 0x40]
lea rdx, [rdx + r8*2]
sub rdi, r8
je 0x14002f6a9
lea rax, [0x1400ab32c]
sub rax, rdx
test r14, r14
je 0x14002f6a9
movzx ecx, word [rax + rdx]
test cx, cx
je 0x14002f6a9
mov word [rdx], cx
dec r14
add rdx, 2
sub rdi, 1
jne 0x14002f68b
test rdi, rdi
lea rax, [rdx - 2]
cmovne rax, rdx
mov word [rax], bx
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
test rax, rax
je 0x14004e8ba
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.14002f774
mov edi, eax
test eax, eax
js 0x14004e89d
lea rcx, [rsp + 0x28]
call fcn.14002f754
movsxd rcx, dword [rsp + 0x20]
movsxd rax, dword [rsp + 0x24]
shl rcx, 0x1f
or rcx, rax
mov qword [r15], rcx
lea rcx, [rsp + 0x30]
call fcn.14002f754
mov eax, ebx
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.140036e80
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov rcx, qword [rbp + 0x178]
lea r8, [0x1400ac450]
mov r9d, eax
mov edx, 0xcf
call fcn.140028864
jmp 0x14004e914
mov rcx, qword [rbp + 0x178]
lea r8, [0x1400ac450]
mov r9d, eax
mov edx, 0xd7
call fcn.140028864
jmp 0x14004e8d4
mov rcx, qword [rbp + 0x178]
lea r8, [0x1400ac450]
mov edx, 0xd5
call fcn.1400528a4
mov edi, eax
lea rcx, [rsp + 0x28]
call fcn.14002f754
mov ebx, edi
jmp 0x14002f712
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 2
jne 0x14004e8fa
mov esi, ebx
jmp 0x14004e914
mov rcx, qword [rbp + 0x178]
lea r8, [0x1400ac450]
mov edx, 0xc9
call fcn.1400528a4
mov esi, eax
mov ebx, esi
jmp 0x14002f712