Function at 0x1402697c4
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xf8]
sub rsp, 0x1c0
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rax, qword [0x14049e510]
xor rax, rsp
mov qword [rbp + 0xb0], rax
mov rdi, r9
mov qword [rsp + 0x60], r8
mov rbx, rdx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x70], r9
mov r15, qword [rbp + 0x120]
xor r13d, r13d
mov esi, r13d
mov r12d, 0x3200000
call fcn.1400569d8
mov rcx, rax
lea rdx, [rsp + 0x30]
call fcn.140172360
nop
mov r14, qword [rsp + 0x30]
test r14, r14
jne 0x1402698b3
call fcn.1402b9bb8
call fcn.14004d8a4
mov rcx, qword [rax + 8]
cmp dword [rcx], 2
jbe 0x1402698e0
mov dword [rsp + 0x48], 0x80004003
lea rax, [rsp + 0x48]
mov qword [rbp + 0x90], rax
lea edx, [r13 + 4]
mov qword [rbp + 0x98], rdx
lea rax, str.DataCollection_adapter_cannot_get_configuration___use_default_max_size
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], DllRegisterServer
lea rax, [rbp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x1403e4229]
call fcn.140001158
jmp 0x1402698e0
lea rbx, [r14 + 0x260]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
mov r14d, dword [r14 + 0x98]
test rbx, rbx
je 0x1402698d8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
mov r12, r14
mov rbx, qword [rsp + 0x40]
mov r14, qword [0x1404ae6d8]
mov r13, qword [0x1404ae6e0]
cmp r14, r13
je 0x140269c29
mov r9, r15
mov r8, qword [rsp + 0x60]
mov rdx, rbx
call fcn.140267828
mov ecx, eax
test eax, eax
js 0x140269b97
mov r8, r12
mov rdx, r15
call fcn.140269704
mov esi, eax
test eax, eax
jns 0x140269c29
mov rcx, r15
call fcn.1401f7d58
mov ebx, eax
lea r8, [0x140347380]
mov rdx, qword [rsp + 0x40]
lea rcx, [rbp - 0x68]
call fcn.14005d2c0
nop
lea rdx, [r14 + 0x20]
cmp qword [r14 + 0x38], 8
jb 0x140269954
mov rdx, qword [rdx]
mov r8, qword [r14 + 0x30]
mov rcx, rax
call fcn.14005e1e8
xor esi, esi
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x70], rsi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 7
mov word [rax], si
lea rcx, [rbp - 0x68]
call fcn.14004e0f0
call fcn.14004d8a4
mov r10, qword [rax + 8]
cmp dword [r10], 3
jbe 0x140269a70
lea rax, str.package_is_bigger_then_permitted_max____delete_package__sub_folder
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 0x44
mov rax, r15
cmp qword [r15 + 0x18], 8
jb 0x1402699c5
mov rax, qword [r15]
lea rdx, [0x140344690]
mov rcx, rsi
test rax, rax
je 0x1402699e4
mov rdx, rax
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], si
jne 0x1402699db
mov qword [rbp - 0x10], rdx
lea eax, [rcx*2 + 2]
mov dword [rbp - 8], eax
mov dword [rbp - 4], esi
lea rcx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rcx, qword [rsp + 0x78]
lea rdx, [0x140344690]
mov rax, rsi
test rcx, rcx
je 0x140269a24
mov rdx, rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], si
jne 0x140269a1b
mov qword [rbp], rdx
lea eax, [rax*2 + 2]
mov dword [rbp + 8], eax
mov dword [rbp + 0xc], esi
mov dword [rsp + 0x4c], ebx
lea rax, [rsp + 0x4c]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], 4
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 6
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x1403e3e31]
mov rcx, r10
call fcn.140001158
lea rcx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rcx, qword [rsp + 0x78]
call qword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_PathFileExistsW]
test eax, eax
je 0x140269b79
or eax, 0xffffffff
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x58], eax
mov r8, qword [rsp + 0x54]
mov dl, 1
lea rcx, [rsp + 0x78]
call fcn.1401f7df0
mov ebx, eax
test eax, eax
jns 0x140269b79
mov rcx, qword [rdi]
mov dword [rcx + 0x80], eax
mov rcx, qword [rdi]
add rcx, 0x60
lea rdx, [0x1404a0500]
call fcn.140064f70
mov rcx, qword [rdi]
mov byte [rcx + 0x58], 0xfe
call fcn.14004d8a4
mov r10, qword [rax + 8]
cmp dword [r10], 3
jbe 0x140269b79
lea rax, str.sub_folder_deletion_failed____try_to_delete_the_next_sub_folder
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], 0x40
mov dword [rsp + 0x50], ebx
lea rax, [rsp + 0x50]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], 4
lea rcx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rcx, qword [rsp + 0x78]
lea rdx, [0x140344690]
mov rax, rsi
test rcx, rcx
je 0x140269b41
mov rdx, rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], si
jne 0x140269b38
mov qword [rbp + 0x60], rdx
lea eax, [rax*2 + 2]
mov dword [rbp + 0x68], eax
mov dword [rbp + 0x6c], esi
lea rax, [rbp + 0x20]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 5
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x1403e3cd4]
mov rcx, r10
call fcn.140001158
nop
lea rcx, [rsp + 0x78]
call fcn.14004e0f0
add r14, 0x40
cmp r14, r13
mov rbx, qword [rsp + 0x40]
jne 0x1402698f7
jmp 0x140269bba
mov rax, qword [rdi]
mov dword [rax + 0x80], ecx
mov rcx, qword [rdi]
add rcx, 0x60
lea rdx, [0x1404a0360]
call fcn.140064f70
mov rax, qword [rdi]
mov byte [rax + 0x58], 0xfe
mov r9, r15
mov r8, qword [rsp + 0x60]
mov rdx, rbx
call fcn.140267828
mov esi, eax
test eax, eax
jns 0x140269bf5
mov rcx, qword [rdi]
mov dword [rcx + 0x80], eax
mov rcx, qword [rdi]
add rcx, 0x60
lea rdx, [0x1404a0360]
call fcn.140064f70
mov rcx, qword [rdi]
mov byte [rcx + 0x58], 0xfe
jmp 0x140269c29
mov r8, r12
mov rdx, r15
call fcn.140269704
mov esi, eax
test eax, eax
jns 0x140269c29
mov rax, qword [rdi]
mov dword [rax + 0x80], esi
mov rcx, qword [rdi]
add rcx, 0x60
lea rdx, [0x1404a0500]
call fcn.140064f70
mov rax, qword [rdi]
mov byte [rax + 0x58], 0xfe
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140269c74
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140269c74
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140245398.0]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140269c74
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140245398.0]
nop
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140269cb6
or eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140269cb6
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x140245398.0]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140269cb6
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140245398.0]
mov eax, esi
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.1402dfdb0
mov rbx, qword [rsp + 0x200]
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret