Function at 0x140106180
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1e8
movaps xmmword [rsp + 0x1d0], xmm6
mov rbx, r9
mov r14, r8
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x14033f038]
xor rax, rsp
mov qword [rsp + 0x1c8], rax
mov qword [rcx + 0x38], 0
lea r13, [rdx + 8]
mov eax, dword [rdx + 8]
cmp eax, 1
jne 0x140106378
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x190], rax
movaps xmm0, xmmword [0x140301d60]
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x170], xmm0
xor eax, eax
mov qword [rsp + 0x70], rax
mov r15, qword [rdi]
mov qword [rdi], rax
cmp r15, 0xffffffffffffffff
je 0x140106217
test r15, r15
je 0x14010623b
call fcn.1400412c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
lea rax, [r15 + 1]
cmp rax, 2
jb 0x140106233
mov qword [rsp + 0x70], r15
call fcn.1400412c0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
lea rdx, [rsp + 0x70]
movups xmmword [rdx + 0x18], xmm1
movups xmmword [rdx + 8], xmm0
lea r15, [rsp + 0x170]
mov rcx, r15
call fcn.140106b20
xor ebp, ebp
mov qword [rsp + 0x20], rbp
lea r12, [rsp + 0x110]
mov rcx, r15
mov rdx, r12
mov r8, r14
mov r9, rbx
call fcn.140106970
mov rdx, qword [rsi + 0x38]
lea rcx, [rsp + 0x1a0]
mov qword [rcx], rsi
mov qword [rcx + 8], r12
call fcn.140106820
mov rcx, r12
call fcn.14015ba90
lea rbx, [rsp + 0x48]
mov rcx, rbx
mov rdx, r15
call fcn.1401068e0
lea r14, [rsp + 0x110]
mov rcx, r14
mov rdx, rbx
call fcn.140066c60
mov r15, qword [r14]
mov qword [r14], rbp
lea r14, [r15 + 1]
cmp r14, 2
jb 0x1401062da
call fcn.1400412c0
cmp qword [rdi], r15
je 0x14010630d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rdi]
inc rax
cmp rax, 2
jae 0x140106588
cmp r14, 2
jb 0x140106305
mov qword [rdi], r15
call fcn.1400412c0
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
movups xmm0, xmmword [rsp + 0x118]
movups xmm1, xmmword [rsp + 0x128]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
mov rax, qword [rsp + 0x110]
inc rax
cmp rax, 2
jae 0x1401065a1
lea rcx, [rsp + 0x170]
call fcn.140106850
mov rcx, qword [rsp + 0x1c8]
xor rcx, rsp
call fcn.140171860
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x1d0]
add rsp, 0x1e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp eax, 2
jne 0x1401065b8
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x190], rax
movaps xmm6, xmmword [0x140301d60]
movaps xmmword [rsp + 0x180], xmm6
movaps xmmword [rsp + 0x170], xmm6
xor eax, eax
mov qword [rsp + 0xc0], rax
mov r15, qword [rdi]
mov qword [rdi], rax
test r15, r15
je 0x1401063f1
cmp r15, 0xffffffffffffffff
je 0x1401063ca
call fcn.1400412c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
lea rax, [r15 + 1]
cmp rax, 2
jb 0x1401063e9
mov qword [rsp + 0xc0], r15
call fcn.1400412c0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
lea rdx, [rsp + 0xc0]
movups xmmword [rdx + 0x18], xmm1
movups xmmword [rdx + 8], xmm0
lea r15, [rsp + 0x170]
mov rcx, r15
call fcn.140075f00
mov rax, qword [r15]
inc rax
cmp rax, 1
ja 0x14010674c
lea rcx, [rsp + 0x110]
call fcn.140075b10
mov rdx, qword [rsi + 0x38]
lea rcx, [rsp + 0x1a0]
mov qword [rcx], rsi
lea rbx, [rsp + 0x110]
mov qword [rcx + 8], rbx
call fcn.140106820
mov rcx, rbx
call fcn.14015ba90
xor eax, eax
mov qword [rsp + 0x98], rax
mov r14, qword [rsp + 0x170]
mov qword [rsp + 0x170], rax
test r14, r14
je 0x1401064b1
cmp r14, 0xffffffffffffffff
je 0x14010648a
call fcn.1400412c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rax, [r14 + 1]
cmp rax, 2
jb 0x1401064a9
mov qword [rsp + 0x98], r14
call fcn.1400412c0
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
movups xmm0, xmmword [rsp + 0x178]
movups xmm1, xmmword [rsp + 0x188]
lea rdx, [rsp + 0x98]
movups xmmword [rdx + 0x18], xmm1
movups xmmword [rdx + 8], xmm0
lea rbx, [rsp + 0x110]
mov rcx, rbx
call fcn.140066c60
mov r14, qword [rbx]
mov qword [rbx], 0
lea r15, [r14 + 1]
cmp r15, 2
jb 0x1401064fa
call fcn.1400412c0
cmp qword [rdi], r14
je 0x14010652d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rdi]
inc rax
cmp rax, 2
jae 0x1401067d3
cmp r15, 2
jb 0x140106525
mov qword [rdi], r14
call fcn.1400412c0
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
movups xmm0, xmmword [rsp + 0x118]
movups xmm1, xmmword [rsp + 0x128]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
mov rax, qword [rsp + 0x110]
inc rax
cmp rax, 2
jae 0x1401067bc
mov rax, qword [rsp + 0x170]
inc rax
cmp rax, 2
jb 0x140106349
call fcn.1400412c0
mov rcx, qword [rsp + 0x170]
call fcn.140071ab0
jmp 0x140106349
call fcn.1400412c0
mov rcx, qword [rdi]
call fcn.140071ab0
mov qword [rdi], 0
jmp 0x1401062f7
call fcn.1400412c0
mov rcx, qword [rsp + 0x110]
call fcn.140071ab0
jmp 0x14010633c
test eax, eax
jne 0x140106749
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x190], rax
movaps xmm0, xmmword [0x140301d60]
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x170], xmm0
xor eax, eax
mov qword [rsp + 0x148], rax
mov r15, qword [rdi]
mov qword [rdi], rax
test r15, r15
je 0x140106630
cmp r15, 0xffffffffffffffff
je 0x140106609
call fcn.1400412c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
lea rax, [r15 + 1]
cmp rax, 2
jb 0x140106628
mov qword [rsp + 0x148], r15
call fcn.1400412c0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
lea rdx, [rsp + 0x148]
movups xmmword [rdx + 0x18], xmm1
movups xmmword [rdx + 8], xmm0
lea r15, [rsp + 0x170]
mov rcx, r15
call fcn.1400fff20
xor ebp, ebp
mov qword [rsp + 0x20], rbp
lea r12, [rsp + 0x110]
mov rcx, r15
mov rdx, r12
mov r8, r14
mov r9, rbx
call fcn.1400f05c0
mov rdx, qword [rsi + 0x38]
lea rcx, [rsp + 0x1a0]
mov qword [rcx], rsi
mov qword [rcx + 8], r12
call fcn.1401ecfe0
mov rcx, r12
call fcn.14015ba90
lea rbx, [rsp + 0xe8]
mov rcx, rbx
mov rdx, r15
call fcn.1401068e0
lea r14, [rsp + 0x110]
mov rcx, r14
mov rdx, rbx
call fcn.140127eb0
mov r15, qword [r14]
mov qword [r14], rbp
lea r14, [r15 + 1]
cmp r14, 2
jb 0x1401066d5
call fcn.1400412c0
cmp qword [rdi], r15
je 0x140106708
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rdi]
inc rax
cmp rax, 2
jae 0x140106803
cmp r14, 2
jb 0x140106700
mov qword [rdi], r15
call fcn.1400412c0
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
movups xmm0, xmmword [rsp + 0x118]
movups xmm1, xmmword [rsp + 0x128]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
mov rax, qword [rsp + 0x110]
inc rax
cmp rax, 2
jae 0x1401067ec
lea rcx, [rsp + 0x170]
call fcn.140075400
jmp 0x140106349
int3
lea r15, [rsp + 0x1a0]
movaps xmmword [r15 + 0x10], xmm6
movaps xmmword [r15], xmm6
mov qword [rsp + 0x20], 0
lea rcx, [rsp + 0x170]
mov rdx, r15
mov r8, r14
mov r9, rbx
call fcn.14015b880
cmp byte [r15], 0
je 0x14010642b
lea r9, [rsp + 0x188]
movups xmm0, xmmword [rsp + 0x1a8]
lea rdx, [rsp + 0x30]
movaps xmmword [rdx], xmm0
mov qword [rsp + 0x20], 0
lea rcx, [rsp + 0x110]
mov r8, rbx
call fcn.140106a20
jmp 0x140106438
call fcn.1400412c0
mov rcx, qword [rsp + 0x110]
call fcn.140071ab0
jmp 0x14010655c
call fcn.1400412c0
mov rcx, qword [rdi]
call fcn.140071ab0
mov qword [rdi], 0
jmp 0x140106517
call fcn.1400412c0
mov rcx, qword [rsp + 0x110]
call fcn.140071ab0
jmp 0x140106737
call fcn.1400412c0
mov rcx, qword [rdi]
call fcn.140071ab0
mov qword [rdi], 0
jmp 0x1401066f2