Function at 0x1400223b8
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
mov dword [rax + 0x10], edx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x110
mov qword [rax - 0xb0], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x140176810]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov r15d, edx
mov rbx, rcx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
xor esi, esi
mov qword [rsp + 0x38], rsi
mov edi, esi
mov qword [rsp + 0x40], rsi
cmp qword [rcx + 0x18], 8
jb 0x140022415
mov rcx, qword [rcx]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
jne 0x1400225f9
cmp qword [rbx + 0x18], 8
jb 0x140022430
mov rcx, qword [rbx]
jmp 0x140022433
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x1400225f9
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rsi
xor r8d, r8d
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.1400128a8
mov rbx, rsi
mov qword [rsp + 0x20], rbx
mov r14, qword [rsp + 0x58]
sub r14, qword [rsp + 0x50]
sar r14, 5
mov qword [rsp + 0x78], r14
cmp rbx, r14
jae 0x1400225ef
mov rdx, rbx
shl rdx, 5
add rdx, qword [rsp + 0x50]
mov qword [rsp + 0xa8], 7
mov qword [rsp + 0xa0], rsi
mov word [rsp + 0x90], si
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rsp + 0x90]
call fcn.1400104e4
nop
lea rcx, [0x140137d18]
call fcn.1400ded00
mov r9, rax
lea rdx, [0x140137d18]
lea rcx, [rsp + 0x90]
call fcn.140014724
cmp rax, 0xffffffffffffffff
je 0x1400225ab
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x90]
call fcn.140011ff8
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x90]
call fcn.140012178
add rdi, qword [rsp + 0x48]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0xc8], 7
mov qword [rsp + 0xc0], rsi
mov word [rsp + 0xb0], si
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0xb0]
call fcn.1400104e4
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x68]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0xd0]
call fcn.14001e450
nop
mov r9, rax
mov r8, qword [rsp + 0x28]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x28]
call fcn.140022948
nop
cmp qword [rsp + 0xe8], 8
jb 0x1400225ab
mov rcx, qword [rsp + 0xd0]
call fcn.1400400f0
inc rbx
mov qword [rsp + 0x20], rbx
cmp qword [rsp + 0xa8], 8
jb 0x1400225cc
mov rcx, qword [rsp + 0x90]
call fcn.1400400f0
nop
jmp 0x14002247a
lea rcx, [rsp + 0x50]
call fcn.140017554
xor r8d, r8d
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rbx, qword [rsp + 0x28]
sub rcx, rbx
movabs r12, 0x2aaaaaaaaaaaaaab
mov rax, r12
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov r9b, r8b
mov r8, rdx
mov rdx, r14
mov rcx, rbx
call fcn.140023158
shl r15d, 0x14
cmp rdi, r15
jbe 0x1400226b2
mov rcx, r14
sub rcx, rbx
mov rax, r12
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1400226b2
lea rdx, [rsp + 0xb0]
mov rcx, rbx
call fcn.14001e4f0
mov rcx, rax
call fcn.140012134
cmp qword [rsp + 0xc8], 8
jb 0x140022690
mov rcx, qword [rsp + 0xb0]
call fcn.1400400f0
sub rdi, qword [rbx + 0x28]
mov r8, rbx
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x28]
call fcn.140022b54
mov r14, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
jmp 0x14002263f
test rbx, rbx
je 0x1400226ee
mov rdi, rbx
cmp rbx, r14
je 0x1400226e6
cmp qword [rdi + 0x18], 8
jb 0x1400226ce
mov rcx, qword [rdi]
call fcn.1400400f0
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rsi
mov word [rdi], si
add rdi, 0x30
cmp rdi, r14
jne 0x1400226bf
mov rcx, rbx
call fcn.1400400f0
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1400dc400
mov rbx, qword [rsp + 0x150]
add rsp, 0x110
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret