Function at 0x180040030
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 [0x1800c5010]
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 0x18004008d
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 0x1800400a0
lea rcx, [r14 + 0x48]
mov rdx, rsi
call fcn.18000e1f0
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 0x18004010d
mov ecx, 0x80
call fcn.18003985c
mov r15, rax
mov qword [rbp - 0x21], rax
test rax, rax
je 0x180040105
xor edx, edx
mov r8d, 0x80
mov rcx, rax
call fcn.180042620
mov r9d, r12d
mov r8, r13
mov rdx, rsi
mov rcx, r15
call fcn.18003e870
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 [0x1800b16d0]
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 0x180040140
mov r8, rdi
mov rdx, rsi
lea rcx, [rbp - 0x19]
call fcn.18000e1f0
nop
mov rcx, qword [rbp - 9]
mov rdx, qword [rbp - 1]
mov rax, rdx
sub rax, rcx
cmp rax, 3
jb 0x1800401a0
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, [0x180091e88]
call fcn.180042840
mov word [rdi + rsi*2], r12w
jmp 0x1800401c0
mov qword [rsp + 0x20], 3
lea r9, [0x180091e88]
xor r8d, r8d
lea edx, [r8 + 3]
lea rcx, [rbp - 0x19]
call fcn.18003e710
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 0x1800401e0
mov dword [r14 + 0x30], r12d
mov dword [r14 + 0x34], r15d
cmp qword [r14 + 0x40], 0
je 0x180040273
mov rax, qword [r14]
mov edx, r13d
mov rcx, r14
call qword [rax + 0x10]
test al, al
je 0x180040273
movdqa xmm0, xmmword [0x1800b16d0]
movdqu xmmword [rbp - 0x41], xmm0
mov word [rbp - 0x51], r12w
mov r8d, 0x10
lea rdx, str._______log_start
lea rcx, [rbp - 0x51]
call fcn.18000e1f0
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 0x180040273
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004026d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800402fc
call fcn.180039c7c
nop
mov rdx, qword [rbp - 1]
cmp rdx, 8
jb 0x1800402af
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800402aa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800402f6
call fcn.180039c7c
movdqa xmm0, xmmword [0x1800b16d0]
movdqu xmmword [rbp - 9], xmm0
mov word [rbp - 0x19], r12w
test rbx, rbx
je 0x1800402cf
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.180039830
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.18004b5ac
nop
call fcn.18004b5ac
int3