Function at 0x4104f1b0
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x320
mov qword [rsp + 0xa8], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov rax, qword [0x41359af8]
xor rax, rsp
mov qword [rsp + 0x310], rax
mov rsi, rdx
mov r12, rcx
xor r13d, r13d
mov rax, qword [0x4135c018]
test rax, rax
jne 0x4104f225
mov ecx, 0x2d0
call fcn.41211580
mov qword [rsp + 0x30], rax
test rax, rax
je 0x4104f21b
mov rcx, rax
call fcn.410228e0
jmp 0x4104f21e
mov rax, r13
mov qword [0x4135c018], rax
mov rcx, rax
call fcn.4102a750
mov rbp, rax
mov edx, 7
mov qword [rsp + 0xd0], rdx
mov r8, r13
mov qword [rsp + 0xc8], r13
mov word [rsp + 0xb8], r8w
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rbx, rcx
movabs r14, 0x7ffffffffffffffe
cmp rcx, r14
jbe 0x4104f28b
call fcn.4120fbc0
mov rdx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xc8]
cmp rdx, rbx
jae 0x4104f2aa
mov rdx, rbx
lea rcx, [rsp + 0xb0]
call fcn.41022ab0
mov rdx, qword [rsp + 0xd0]
jmp 0x4104f2d1
test rbx, rbx
jne 0x4104f2d1
mov qword [rsp + 0xc8], r13
lea rax, [rsp + 0xb8]
cmp rdx, 8
cmovae rax, qword [rsp + 0xb8]
mov word [rax], bx
jmp 0x4104f325
test rbx, rbx
je 0x4104f325
lea rcx, [rsp + 0xb8]
cmp rdx, 8
cmovae rcx, qword [rsp + 0xb8]
lea rdi, [rbx + rbx]
add rdx, rdx
mov r9, rdi
mov r8, rbp
call fcn.412118b0
mov qword [rsp + 0xc8], rbx
lea rax, [rsp + 0xb8]
cmp qword [rsp + 0xd0], 8
cmovae rax, qword [rsp + 0xb8]
mov word [rdi + rax], 0
lea rcx, [rsp + 0xd8]
call fcn.4104c920
nop
lea rcx, [rsp + 0x40]
call fcn.411c2e20
mov qword [rsp + 0x48], rax
mov byte [rax + 0x41], 1
mov rax, qword [rsp + 0x48]
mov qword [rax + 8], rax
mov rax, qword [rsp + 0x48]
mov qword [rax], rax
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x10], rax
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r13
mov word [rsp + 0x60], 0
mov r9d, 0xa
lea r8, str..znpf
lea edx, [r9 + 4]
lea rcx, [rsp + 0x60]
call fcn.412118b0
mov qword [rsp + 0x70], 5
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rax, qword [rsp + 0x60]
mov word [rax + 0xa], 0
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x40]
call fcn.4104ddd0
nop
cmp qword [rsp + 0x78], 8
jb 0x4104f3df
mov rcx, qword [rsp + 0x60]
call fcn.41210d60
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r13
mov word [rsp + 0x60], 0
mov r9d, 0xc
lea r8, str..sznpf
lea edx, [r9 + 2]
lea rcx, [rsp + 0x60]
call fcn.412118b0
mov qword [rsp + 0x70], 6
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rax, qword [rsp + 0x60]
mov word [rax + 0xc], 0
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x40]
call fcn.4104ddd0
nop
cmp qword [rsp + 0x78], 8
jb 0x4104f459
mov rcx, qword [rsp + 0x60]
call fcn.41210d60
mov rax, qword [rsp + 0x48]
mov rbx, qword [rax]
cmp rbx, qword [rsp + 0x48]
je 0x4104f94f
cmp qword [rbx + 0x38], 8
jb 0x4104f479
mov rbp, qword [rbx + 0x20]
jmp 0x4104f47d
lea rbp, [rbx + 0x20]
lea rdi, [rsp + 0xb8]
cmp qword [rsp + 0xd0], 8
cmovae rdi, qword [rsp + 0xb8]
mov rcx, r12
call fcn.410dba00
mov r9, rax
mov qword [rsp + 0x20], rbp
mov r8, rdi
lea rdx, str._sSkin_s_s
lea rcx, [rsp + 0x100]
call fcn.412122b0
lea rcx, [rsp + 0x100]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4104f77d
cmp rbx, qword [rsp + 0x48]
jne 0x4104f4e0
call fcn.41211d60
cmp qword [rbx + 0x38], 8
jb 0x4104f4ed
mov rbp, qword [rbx + 0x20]
jmp 0x4104f4f1
lea rbp, [rbx + 0x20]
lea rdi, [rsp + 0xe0]
cmp qword [rsp + 0xf8], 8
cmovae rdi, qword [rsp + 0xe0]
mov rcx, r12
call fcn.410dba00
mov r9, rax
mov qword [rsp + 0x20], rbp
mov r8, rdi
lea rdx, str._s_s_s
lea rcx, [rsp + 0x100]
call fcn.412122b0
lea rcx, [rsp + 0x100]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4104f5ab
cmp byte [rbx + 0x41], al
je 0x4104f553
call fcn.41211d60
jmp 0x4104f461
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x41], 0
jne 0x4104f581
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x41], 0
jne 0x4104f461
nop
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x41], 0
je 0x4104f570
jmp 0x4104f461
mov rax, qword [rbx + 8]
cmp byte [rax + 0x41], 0
jne 0x4104f5a3
nop
nop
cmp rbx, qword [rax + 0x10]
jne 0x4104f5a3
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x41], 0
je 0x4104f590
mov rbx, rax
jmp 0x4104f461
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x100]
repne scasw ax, word [rdi]
not rcx
lea rbx, [rcx - 1]
mov rdx, qword [rsi + 0x20]
cmp rdx, 8
jb 0x4104f5d6
lea rdi, [rsi + 8]
mov rax, qword [rdi]
jmp 0x4104f5dd
lea rdi, [rsi + 8]
mov rax, rdi
lea rcx, [rsp + 0x100]
cmp rcx, rax
jb 0x4104f634
cmp rdx, 8
jb 0x4104f5f5
mov rcx, qword [rdi]
jmp 0x4104f5f8
mov rcx, rdi
mov rax, qword [rsi + 0x18]
lea rcx, [rcx + rax*2]
lea rax, [rsp + 0x100]
cmp rcx, rax
jbe 0x4104f634
cmp rdx, 8
jb 0x4104f616
mov rdi, qword [rdi]
lea r8, [rsp + 0x100]
sub r8, rdi
sar r8, 1
mov r9, rbx
mov rdx, rsi
mov rcx, rsi
call fcn.41022de0
jmp 0x4104f6b3
cmp rbx, r14
jbe 0x4104f63e
call fcn.4120fbc0
mov rax, qword [rsi + 0x20]
cmp rax, rbx
jae 0x4104f658
mov r8, qword [rsi + 0x18]
mov rdx, rbx
mov rcx, rsi
call fcn.41022ab0
jmp 0x4104f671
test rbx, rbx
jne 0x4104f671
mov qword [rsi + 0x18], r13
cmp rax, 8
jb 0x4104f66a
mov rdi, qword [rdi]
mov word [rdi], 0
jmp 0x4104f6b3
test rbx, rbx
je 0x4104f6b3
mov rdx, qword [rsi + 0x20]
cmp rdx, 8
jb 0x4104f685
mov rcx, qword [rdi]
jmp 0x4104f688
mov rcx, rdi
lea rbp, [rbx + rbx]
add rdx, rdx
mov r9, rbp
lea r8, [rsp + 0x100]
call fcn.412118b0
mov qword [rsi + 0x18], rbx
cmp qword [rsi + 0x20], 8
jb 0x4104f6ad
mov rdi, qword [rdi]
mov word [rdi + rbp], 0
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x30], rcx
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x80], xmm0
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea r9, [rsp + 0x80]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x40]
call fcn.4104e770
mov rcx, qword [rsp + 0x48]
call fcn.41210d60
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
cmp qword [rsp + 0xf8], 8
jb 0x4104f73d
mov rcx, qword [rsp + 0xe0]
call fcn.41210d60
mov qword [rsp + 0xf8], 7
mov qword [rsp + 0xf0], r13
mov word [rsp + 0xe0], 0
cmp qword [rsp + 0xd0], 8
jb 0x4104f773
mov rcx, qword [rsp + 0xb8]
call fcn.41210d60
mov eax, 1
jmp 0x4104fa11
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x100]
repne scasw ax, word [rdi]
not rcx
lea rbx, [rcx - 1]
mov rdx, qword [rsi + 0x20]
cmp rdx, 8
jb 0x4104f7a8
lea rdi, [rsi + 8]
mov rax, qword [rdi]
jmp 0x4104f7af
lea rdi, [rsi + 8]
mov rax, rdi
lea rcx, [rsp + 0x100]
cmp rcx, rax
jb 0x4104f806
cmp rdx, 8
jb 0x4104f7c7
mov rcx, qword [rdi]
jmp 0x4104f7ca
mov rcx, rdi
mov rax, qword [rsi + 0x18]
lea rcx, [rcx + rax*2]
lea rax, [rsp + 0x100]
cmp rcx, rax
jbe 0x4104f806
cmp rdx, 8
jb 0x4104f7e8
mov rdi, qword [rdi]
lea r8, [rsp + 0x100]
sub r8, rdi
sar r8, 1
mov r9, rbx
mov rdx, rsi
mov rcx, rsi
call fcn.41022de0
jmp 0x4104f885
cmp rbx, r14
jbe 0x4104f810
call fcn.4120fbc0
mov rax, qword [rsi + 0x20]
cmp rax, rbx
jae 0x4104f82a
mov r8, qword [rsi + 0x18]
mov rdx, rbx
mov rcx, rsi
call fcn.41022ab0
jmp 0x4104f843
test rbx, rbx
jne 0x4104f843
mov qword [rsi + 0x18], r13
cmp rax, 8
jb 0x4104f83c
mov rdi, qword [rdi]
mov word [rdi], 0
jmp 0x4104f885
test rbx, rbx
je 0x4104f885
mov rdx, qword [rsi + 0x20]
cmp rdx, 8
jb 0x4104f857
mov rcx, qword [rdi]
jmp 0x4104f85a
mov rcx, rdi
lea rbp, [rbx + rbx]
add rdx, rdx
mov r9, rbp
lea r8, [rsp + 0x100]
call fcn.412118b0
mov qword [rsi + 0x18], rbx
cmp qword [rsi + 0x20], 8
jb 0x4104f87f
mov rdi, qword [rdi]
mov word [rdi + rbp], 0
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x30], rcx
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x80], xmm0
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea r9, [rsp + 0x80]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x40]
call fcn.4104e770
mov rcx, qword [rsp + 0x48]
call fcn.41210d60
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
cmp qword [rsp + 0xf8], 8
jb 0x4104f90f
mov rcx, qword [rsp + 0xe0]
call fcn.41210d60
mov qword [rsp + 0xf8], 7
mov qword [rsp + 0xf0], r13
mov word [rsp + 0xe0], 0
cmp qword [rsp + 0xd0], 8
jb 0x4104f945
mov rcx, qword [rsp + 0xb8]
call fcn.41210d60
mov eax, 1
jmp 0x4104fa11
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x30], rcx
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x80], xmm0
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea r9, [rsp + 0x80]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x40]
call fcn.4104e770
mov rcx, qword [rsp + 0x48]
call fcn.41210d60
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
cmp qword [rsp + 0xf8], 8
jb 0x4104f9d9
mov rcx, qword [rsp + 0xe0]
call fcn.41210d60
mov qword [rsp + 0xf8], 7
mov qword [rsp + 0xf0], r13
mov word [rsp + 0xe0], 0
cmp qword [rsp + 0xd0], 8
jb 0x4104fa0f
mov rcx, qword [rsp + 0xb8]
call fcn.41210d60
xor eax, eax
mov rcx, qword [rsp + 0x310]
xor rcx, rsp
call fcn.41211b80
lea r11, [rsp + 0x320]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret