Function at 0x140106af0
Capabilities:
Check if file exists

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0xc0], rbx
mov rax, qword [0x1402a98a8]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rbp, rdx
mov r14, rcx
xor r13d, r13d
lea rsi, [r13 - 1]
test r8b, r8b
jne 0x140106c7d
cmp qword [rcx + 0x158], r13
jbe 0x140106c7d
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x50], xmm1
mov word [rsp + 0x40], r13w
mov r8, rsi
inc r8
cmp word [rdx + r8*2], r13w
jne 0x140106b63
lea rcx, [rsp + 0x40]
call fcn.140006d70
nop
lea rax, [r14 + 0x148]
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x140106b8c
mov rcx, qword [rax]
lea r8, [rsp + 0x40]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
cmp rdi, 8
cmovae r8, rbx
mov rdx, qword [rsp + 0x50]
cmp rdx, qword [rax + 0x10]
jne 0x140106bcc
test rdx, rdx
je 0x140106bd8
sub r8, rcx
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x140106bcc
add rcx, 2
sub rdx, 1
jne 0x140106bb6
jmp 0x140106bd8
mov rcx, r14
call fcn.140108a80
test al, al
jne 0x140106c2e
cmp rdi, 8
jb 0x140106c13
lea rdx, [rdi*2 + 2]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140106c0b
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140106e43
mov rcx, rbx
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r13w
mov al, 1
jmp 0x140106e18
cmp rdi, 8
jb 0x140106c69
lea rdx, [rdi*2 + 2]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140106c61
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140106e3d
mov rcx, rbx
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r13w
mov ecx, 0xa0
call fcn.140181288
mov qword [rsp + 0x38], rax
test rax, rax
je 0x140106ca1
mov rdx, rbp
mov rcx, rax
call fcn.14012f580
mov rbx, rax
jmp 0x140106ca4
mov rbx, r13
mov rcx, rbx
call fcn.140130c40
movzx r12d, al
test al, al
jne 0x140106ccd
test rbx, rbx
je 0x140106cc6
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
xor al, al
jmp 0x140106e18
lea rdx, [0x1401e63b8]
mov rcx, rbx
call fcn.140130660
test rax, rax
je 0x140106cb4
lea rdx, [0x14022ac50]
mov rcx, rax
call fcn.1401308a0
mov rdi, rax
test rax, rax
je 0x140106cb4
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140106cb4
lea rcx, [r14 + 0x88]
call fcn.140127c60
inc rsi
cmp word [rbp + rsi*2], 0
jne 0x140106d11
mov r8, rsi
lea rcx, [r14 + 0x148]
mov rdx, rbp
call fcn.140006d70
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov qword [rsp + 0x20], r13
xor r9d, r9d
mov r8, 0xffffffffffff0000
mov rdx, rax
lea rcx, [r14 + 0x88]
call fcn.140127000
mov rsi, rax
test rdi, rdi
je 0x140106d66
cmp dword [rdi + 0x18], 1
mov rcx, rdi
je 0x140106d69
mov rcx, r13
lea rdx, str.name
call fcn.14012fcc0
mov rdx, rax
mov qword [rsp + 0x20], r13
mov r9d, 2
mov r8, rsi
lea rcx, [r14 + 0x88]
call fcn.140127000
mov r8, rax
mov rdx, rdi
mov rcx, r14
call fcn.1401044e0
lea rdx, [0x14022ac50]
mov rcx, rdi
call fcn.140130cf0
mov rdi, rax
test rax, rax
jne 0x140106d58
mov byte [r14 + 0x188], al
xor r9d, r9d
xor r8d, r8d
mov edx, 0x110a
mov rcx, qword [r14 + 0xa0]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rax
xor r9d, r9d
xor r8d, r8d
lea rcx, [r14 + 0x88]
call fcn.1401286e0
mov r9, rsi
mov edx, 0x1102
lea r8d, [rdi + 2]
mov rcx, qword [r14 + 0xa0]
call qword [sym.imp.USER32.dll_SendMessageW]
test rbx, rbx
je 0x140106e14
mov rax, qword [rbx]
lea edx, [rdi + 1]
mov rcx, rbx
call qword [rax]
movzx eax, r12b
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1401813e0
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1401a2d8c
int3
call fcn.1401a2d8c
int3