Function at 0x1800787c0
Capabilities:
Check if file exists

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov rax, qword [0x1801548a8]
xor rax, rsp
mov qword [rbp - 8], rax
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov qword [rbp - 0x58], rdx
mov r9, r8
mov r8d, 0x1a
lea rdx, [rbp - 0x48]
call fcn.180079580
nop
xor r14d, r14d
cmp qword [rbp - 0x38], r14
je 0x18007882c
lea rcx, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae rcx, qword [rbp - 0x48]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1800788b5
mov r9, rsi
mov r8d, 1
lea rdx, [rbp - 0x28]
mov rcx, rbx
call fcn.180079580
mov rbx, rax
lea rax, [rbp - 0x48]
cmp rax, rbx
je 0x180078875
lea rcx, [rbp - 0x48]
call fcn.18000bef0
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x38], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x1800788b5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800788b0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180078a95
call fcn.1800965cc
cmp qword [rbp - 0x38], r14
jne 0x180078926
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 7
mov word [rdi], r14w
xor r8d, r8d
lea rdx, [0x1800fdff8]
mov rcx, rdi
call fcn.18001b400
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x180078a6c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180078a67
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180078a8f
jmp 0x180078a67
call fcn.18000a5b0
mov rcx, rax
test rax, rax
je 0x180078a9b
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x58], rax
lea rbx, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae rbx, qword [rbp - 0x48]
call fcn.18000a5b0
mov rcx, rax
test rax, rax
je 0x180078aa6
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x60], rax
mov rsi, 0xffffffffffffffff
test rbx, rbx
je 0x1800789ac
cmp rbx, 0x10000
jae 0x180078995
movzx edx, bx
lea rcx, [rbp - 0x60]
call fcn.18000b100
jmp 0x1800789bf
mov rax, rsi
nop dword [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x1800789a0
jmp 0x1800789af
mov eax, r14d
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp - 0x60]
call fcn.18000b4d0
nop
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x60]
call fcn.180030830
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1800789ea
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 7
mov word [rdi], r14w
mov rbx, qword [rbp - 0x58]
mov r8, rsi
inc r8
cmp word [rbx + r8*2], 0
jne 0x180078a01
mov rdx, rbx
mov rcx, rdi
call fcn.18001b400
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x180078a30
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x180078a6c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180078a67
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180078a89
call fcn.1800965cc
mov rax, rdi
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.180096b80
add rsp, 0x80
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1800c9338
int3
call fcn.1800c9338
nop
call fcn.1800c9338
nop
mov ecx, 0x80004005
call fcn.180009b50
nop
mov ecx, 0x80004005
call fcn.180009b50
int3