Function at 0x180017140
Capabilities:
Check if file exists

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xa0
mov qword [rbp - 0x31], 0xfffffffffffffffe
mov qword [rsp + 0xf8], rbx
mov rax, qword [0x180066010]
xor rax, rsp
mov qword [rbp + 7], rax
mov r15d, r9d
mov dword [rbp - 0x59], r9d
mov r13, r8
mov rsi, rdx
mov r14, rcx
lea rbx, [rcx + 8]
mov qword [rbp - 0x29], rbx
test rbx, rbx
je 0x18001719d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop word [rax + rax]
inc r8
cmp word [rsi + r8*2], 0
jne 0x1800171b0
lea rcx, [r14 + 0x48]
mov rdx, rsi
call fcn.18000da10
mov eax, dword [rbp + 0x7f]
mov dword [r14 + 0x68], eax
mov r12d, dword [rbp + 0x77]
mov dword [r14 + 0x38], r12d
cmp qword [r14 + 0x40], 0
jne 0x18001721d
mov ecx, 0x80
call fcn.1800134e4
mov r15, rax
mov qword [rbp - 0x21], rax
test rax, rax
je 0x180017215
xor edx, edx
mov r8d, 0x80
mov rcx, rax
call fcn.180026920
mov r9d, r12d
mov r8, r13
mov rdx, rsi
mov rcx, r15
call fcn.180015c90
nop
mov qword [r14 + 0x40], rax
mov r15d, dword [rbp - 0x59]
mov eax, 3
mov r13d, 1
test r15d, r15d
cmovne eax, r13d
mov dword [r14 + 0x30], eax
movdqa xmm0, xmmword [0x180047d90]
movdqu xmmword [rbp - 9], xmm0
xor r12d, r12d
mov word [rbp - 0x19], r12w
nop dword [rax + rax]
inc rdi
cmp word [rsi + rdi*2], r12w
jne 0x180017250
mov r8, rdi
mov rdx, rsi
lea rcx, [rbp - 0x19]
call fcn.18000da10
nop
mov rcx, qword [rbp - 9]
mov rdx, qword [rbp - 1]
mov rax, rdx
sub rax, rcx
cmp rax, 3
jb 0x1800172b0
lea rsi, [rcx + 3]
mov qword [rbp - 9], rsi
lea rdi, [rbp - 0x19]
cmp rdx, 8
cmovae rdi, qword [rbp - 0x19]
lea rcx, [rdi + rcx*2]
mov r8d, 6
lea rdx, [0x18004a0b8]
call fcn.1800264c0
mov word [rdi + rsi*2], r12w
jmp 0x1800172d0
mov qword [rsp + 0x20], 3
lea r9, [0x18004a0b8]
xor r8d, r8d
lea edx, [r8 + 3]
lea rcx, [rbp - 0x19]
call fcn.180015aa0
lea rcx, [rbp - 0x19]
cmp qword [rbp - 1], 8
cmovae rcx, qword [rbp - 0x19]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1800172f0
mov dword [r14 + 0x30], r12d
mov dword [r14 + 0x34], r15d
cmp qword [r14 + 0x40], 0
je 0x180017383
mov rax, qword [r14]
mov edx, r13d
mov rcx, r14
call qword [rax + 0x10]
test al, al
je 0x180017383
movdqa xmm0, xmmword [0x180047d90]
movdqu xmmword [rbp - 0x41], xmm0
mov word [rbp - 0x51], r12w
mov r8d, 0x10
lea rdx, str._______log_start
lea rcx, [rbp - 0x51]
call fcn.18000da10
nop
mov rcx, qword [r14 + 0x40]
mov rax, qword [rcx]
lea rdx, [rbp - 0x51]
call qword [rax]
nop
mov rdx, qword [rbp - 0x39]
cmp rdx, 8
jb 0x180017383
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001737d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001740c
call fcn.1800134dc
nop
mov rdx, qword [rbp - 1]
cmp rdx, 8
jb 0x1800173bf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800173ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180017406
call fcn.1800134dc
movdqa xmm0, xmmword [0x180047d90]
movdqu xmmword [rbp - 9], xmm0
mov word [rbp - 0x19], r12w
test rbx, rbx
je 0x1800173df
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.180012d60
mov rbx, qword [rsp + 0xf8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180028f04
nop
call fcn.180028f04
int3