Function at 0x140012450
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 [0x1400820d8]
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 0x1400124ad
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 0x1400124c0
lea rcx, [r14 + 0x48]
mov rdx, rsi
call fcn.140006f60
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 0x14001252d
mov ecx, 0x80
call fcn.140030ac0
mov r15, rax
mov qword [rbp - 0x21], rax
test rax, rax
je 0x140012525
xor edx, edx
mov r8d, 0x80
mov rcx, rax
call fcn.140035530
mov r9d, r12d
mov r8, r13
mov rdx, rsi
mov rcx, r15
call fcn.1400108b0
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 [0x14005e1c0]
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 0x140012560
mov r8, rdi
mov rdx, rsi
lea rcx, [rbp - 0x19]
call fcn.140006f60
nop
mov rcx, qword [rbp - 9]
mov rdx, qword [rbp - 1]
mov rax, rdx
sub rax, rcx
cmp rax, 3
jb 0x1400125c0
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, [0x140063238]
call fcn.1400350c0
mov word [rdi + rsi*2], r12w
jmp 0x1400125e0
mov qword [rsp + 0x20], 3
lea r9, [0x140063238]
xor r8d, r8d
lea edx, [r8 + 3]
lea rcx, [rbp - 0x19]
call fcn.140001bb0
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 0x140012600
mov dword [r14 + 0x30], r12d
mov dword [r14 + 0x34], r15d
cmp qword [r14 + 0x40], 0
je 0x140012693
mov rax, qword [r14]
mov edx, r13d
mov rcx, r14
call qword [rax + 0x10]
test al, al
je 0x140012693
movdqa xmm0, xmmword [0x14005e1c0]
movdqu xmmword [rbp - 0x41], xmm0
mov word [rbp - 0x51], r12w
mov r8d, 0x10
lea rdx, str._______log_start
lea rcx, [rbp - 0x51]
call fcn.140006f60
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 0x140012693
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001268d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001271c
call fcn.140030afc
nop
mov rdx, qword [rbp - 1]
cmp rdx, 8
jb 0x1400126cf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400126ca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012716
call fcn.140030afc
movdqa xmm0, xmmword [0x14005e1c0]
movdqu xmmword [rbp - 9], xmm0
mov word [rbp - 0x19], r12w
test rbx, rbx
je 0x1400126ef
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.140030ed0
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.140037b64
nop
call fcn.140037b64
int3