Function at 0x14025352c
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 [0x14044e770]
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.140053d18
mov rcx, rax
lea rdx, [rsp + 0x30]
call fcn.140166690
nop
mov r14, qword [rsp + 0x30]
test r14, r14
jne 0x14025361b
call fcn.140298678
call fcn.14004acb4
mov rcx, qword [rax + 8]
cmp dword [rcx], 2
jbe 0x140253645
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], 0x8e
lea rax, [rbp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x1403a1838]
call fcn.140001158
jmp 0x140253645
lea rbx, [r14 + 0x240]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
mov r14d, dword [r14 + 0x78]
test rbx, rbx
je 0x14025363d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
mov r12, r14
mov rbx, qword [rsp + 0x40]
mov r14, qword [0x14045a048]
mov r13, qword [0x14045a050]
cmp r14, r13
je 0x14025398e
mov r9, r15
mov r8, qword [rsp + 0x60]
mov rdx, rbx
call fcn.140251248
mov ecx, eax
test eax, eax
js 0x1402538fc
mov r8, r12
mov rdx, r15
call fcn.14025346c
mov esi, eax
test eax, eax
jns 0x14025398e
mov rcx, r15
call fcn.1401e3768
mov ebx, eax
lea r8, [0x14030f790]
mov rdx, qword [rsp + 0x40]
lea rcx, [rbp - 0x68]
call fcn.14005a2a0
nop
lea rdx, [r14 + 0x20]
cmp qword [r14 + 0x38], 8
jb 0x1402536b9
mov rdx, qword [rdx]
mov r8, qword [r14 + 0x30]
mov rcx, rax
call fcn.14005b1c8
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.14004b500
call fcn.14004acb4
mov r10, qword [rax + 8]
cmp dword [r10], 3
jbe 0x1402537d5
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 0x14025372a
mov rax, qword [r15]
lea rdx, [0x14030cae0]
mov rcx, rsi
test rax, rax
je 0x140253749
mov rdx, rax
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], si
jne 0x140253740
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, [0x14030cae0]
mov rax, rsi
test rcx, rcx
je 0x140253789
mov rdx, rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], si
jne 0x140253780
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, [0x1403a13fd]
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 0x1402538de
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.1401e3800
mov ebx, eax
test eax, eax
jns 0x1402538de
mov rcx, qword [rdi]
mov dword [rcx + 0x80], eax
mov rcx, qword [rdi]
add rcx, 0x60
lea rdx, [0x1404666d8]
call fcn.140061d90
mov rcx, qword [rdi]
mov byte [rcx + 0x58], 0xfe
call fcn.14004acb4
mov r10, qword [rax + 8]
cmp dword [r10], 3
jbe 0x1402538de
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, [0x14030cae0]
mov rax, rsi
test rcx, rcx
je 0x1402538a6
mov rdx, rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], si
jne 0x14025389d
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, [0x1403a1471]
mov rcx, r10
call fcn.140001158
nop
lea rcx, [rsp + 0x78]
call fcn.14004b500
add r14, 0x40
cmp r14, r13
mov rbx, qword [rsp + 0x40]
jne 0x14025365c
jmp 0x14025391f
mov rax, qword [rdi]
mov dword [rax + 0x80], ecx
mov rcx, qword [rdi]
add rcx, 0x60
lea rdx, [0x140466538]
call fcn.140061d90
mov rax, qword [rdi]
mov byte [rax + 0x58], 0xfe
mov r9, r15
mov r8, qword [rsp + 0x60]
mov rdx, rbx
call fcn.140251248
mov esi, eax
test eax, eax
jns 0x14025395a
mov rcx, qword [rdi]
mov dword [rcx + 0x80], eax
mov rcx, qword [rdi]
add rcx, 0x60
lea rdx, [0x140466538]
call fcn.140061d90
mov rcx, qword [rdi]
mov byte [rcx + 0x58], 0xfe
jmp 0x14025398e
mov r8, r12
mov rdx, r15
call fcn.14025346c
mov esi, eax
test eax, eax
jns 0x14025398e
mov rax, qword [rdi]
mov dword [rax + 0x80], esi
mov rcx, qword [rdi]
add rcx, 0x60
lea rdx, [0x1404666d8]
call fcn.140061d90
mov rax, qword [rdi]
mov byte [rax + 0x58], 0xfe
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1402539d9
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1402539d9
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [str.PM_]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1402539d9
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str.PM_]
nop
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x140253a1b
or eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140253a1b
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [str.PM_]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140253a1b
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [str.PM_]
mov eax, esi
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.1402ae860
mov rbx, qword [rsp + 0x200]
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret