Function at 0x140002fe0
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x250
mov rax, qword [0x14004d110]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov r12, r8
xor ebp, ebp
mov qword [r8], rbp
mov ebx, 0x104
mov r9d, ebx
lea rdx, [rsp + 0x30]
lea rax, [rsp + 0x30]
sub rcx, rax
nop dword [rax + rax]
lea rax, [r9 + 0x7ffffefa]
test rax, rax
je 0x140003052
movzx eax, word [rdx + rcx]
test ax, ax
je 0x140003052
mov word [rdx], ax
add rdx, 2
sub r9, 1
jne 0x140003030
lea rax, [rdx - 2]
test r9, r9
cmovne rax, rdx
mov word [rax], bp
mov rcx, rbx
lea rax, [rsp + 0x30]
cmp word [rax], bp
je 0x140003077
add rax, 2
sub rcx, 1
jne 0x140003068
mov esi, 0x7ffffffe
test rcx, rcx
je 0x1400030df
mov rax, rbx
sub rax, rcx
test rcx, rcx
cmove rax, rbp
mov rdx, rbx
sub rdx, rax
lea rcx, [rsp + 0x30]
lea rcx, [rcx + rax*2]
je 0x1400030d1
mov eax, esi
lea r9, [0x140044590]
sub r9, rcx
nop dword [rax + rax]
test rax, rax
je 0x1400030d1
movzx r8d, word [rcx + r9]
test r8w, r8w
je 0x1400030d1
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x1400030b0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], bp
lea r8, [rsp + 0x30]
xor edx, edx
mov ecx, 0x1f0003
call qword [sym.imp.KERNEL32.dll_OpenSemaphoreW]
mov rdi, rax
test rax, rax
setne r15b
test rax, rax
jne 0x14000312f
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x14000327e
mov rcx, qword [rsp + 0x278]
lea r8, [0x14004453c]
mov edx, 0xc9
call fcn.140002a60
mov ebp, eax
jmp 0x14000327e
mov dword [rsp + 0x24], ebp
mov dword [rsp + 0x20], ebp
lea rdx, [rsp + 0x24]
mov rcx, rdi
call fcn.140002e40
mov r14d, eax
test eax, eax
jns 0x14000316f
mov rcx, qword [rsp + 0x278]
mov r9d, eax
lea r8, [0x14004453c]
mov edx, 0xcf
call fcn.140002a40
mov ebp, r14d
jmp 0x14000327e
mov rcx, rbx
lea rax, [rsp + 0x30]
cmp word [rax], bp
je 0x140003186
add rax, 2
sub rcx, 1
jne 0x140003177
test rcx, rcx
je 0x1400031dc
mov rax, rbx
sub rax, rcx
test rcx, rcx
cmove rax, rbp
sub rbx, rax
lea rdx, [rsp + 0x30]
lea rdx, [rdx + rax*2]
je 0x1400031ce
lea rcx, [0x140044598]
sub rcx, rdx
test rsi, rsi
je 0x1400031ce
movzx eax, word [rdx + rcx]
test ax, ax
je 0x1400031ce
mov word [rdx], ax
add rdx, 2
dec rsi
sub rbx, 1
jne 0x1400031b0
lea rax, [rdx - 2]
test rbx, rbx
cmovne rax, rdx
mov word [rax], bp
lea r8, [rsp + 0x30]
xor edx, edx
mov ecx, 0x1f0003
call qword [sym.imp.KERNEL32.dll_OpenSemaphoreW]
mov rbx, rax
test rax, rax
setne r14b
test rax, rax
jne 0x14000321a
mov rcx, qword [rsp + 0x278]
lea r8, [0x14004453c]
mov edx, 0xd5
call fcn.140002a60
mov esi, eax
jmp 0x140003249
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.140002e40
mov esi, eax
test eax, eax
jns 0x14000325b
mov rcx, qword [rsp + 0x278]
mov r9d, eax
lea r8, [0x14004453c]
mov edx, 0xd7
call fcn.140002a40
test r14b, r14b
je 0x140003257
mov rcx, rbx
call fcn.140002af0
nop
mov ebp, esi
jmp 0x14000327e
test r14b, r14b
je 0x140003269
mov rcx, rbx
call fcn.140002af0
nop
movsxd rcx, dword [rsp + 0x20]
shl rcx, 0x1f
movsxd rax, dword [rsp + 0x24]
or rax, rcx
mov qword [r12], rax
test r15b, r15b
je 0x14000328c
mov rcx, rdi
call fcn.140002af0
nop
mov eax, ebp
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.140011ca0
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret