Function at 0x140231934
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 - 0xe8]
sub rsp, 0x1b0
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rax, qword [0x1403f04b0]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov rsi, r9
mov qword [rsp + 0x50], r8
mov r13, rdx
mov qword [rsp + 0x60], r9
mov r15, qword [rbp + 0x110]
xor ebx, ebx
mov r14d, ebx
mov r12d, 0x3200000
call fcn.14004e8c8
mov rcx, rax
lea rdx, [rsp + 0x30]
call fcn.14015a908
nop
mov rdi, qword [rsp + 0x30]
test rdi, rdi
jne 0x140231a13
call fcn.140048a14
mov rcx, qword [rax + 8]
cmp dword [rcx], 2
jbe 0x140231a37
mov dword [rsp + 0x40], 0x80004003
lea rax, [rsp + 0x40]
mov qword [rbp + 0x80], rax
lea edx, [rbx + 4]
mov qword [rbp + 0x88], rdx
lea rax, str.DataCollection_adapter_cannot_get_configuration___use_default_max_size
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], 0x8e
lea rax, [rbp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x140352752]
call fcn.140001078
jmp 0x140231a37
lea rbx, [rdi + 0x238]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_AcquireSRWLockShared]
mov edi, dword [rdi + 0x74]
test rbx, rbx
je 0x140231a34
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockShared]
mov r12, rdi
mov rbx, qword [0x1403fa268]
mov rdi, qword [0x1403fa270]
cmp rbx, rdi
je 0x140231e2d
mov r9, r15
mov r8, qword [rsp + 0x50]
mov rdx, r13
call fcn.14022f9a4
mov ecx, eax
test eax, eax
js 0x140231d03
mov r8, r12
mov rdx, r15
call fcn.140231874
mov r14d, eax
test eax, eax
jns 0x140231e2d
mov rcx, r15
call fcn.1401cce40
mov r14d, eax
lea r8, [0x1402cc570]
mov rdx, r13
lea rcx, [rbp - 0x78]
call fcn.1400547b0
nop
lea rdx, [rbx + 0x20]
cmp qword [rbx + 0x38], 8
jb 0x140231aab
mov rdx, qword [rdx]
mov r8, qword [rbx + 0x30]
mov rcx, rax
call fcn.140054efc
xor edx, edx
mov qword [rsp + 0x78], rdx
mov qword [rbp - 0x80], rdx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x78], xmm1
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], 7
mov word [rax], dx
lea rcx, [rbp - 0x78]
call fcn.1400492c0
call fcn.140048a14
mov r10, qword [rax + 8]
cmp dword [r10], 3
jbe 0x140231bdd
or r8, 0xffffffffffffffff
mov rax, r8
xor r9d, r9d
lea rcx, str.package_is_bigger_then_permitted_max____delete_package__sub_folder
inc rax
cmp byte [rcx + rax], r9b
jne 0x140231b0f
mov qword [rbp - 0x30], rcx
inc eax
mov dword [rbp - 0x28], eax
mov dword [rbp - 0x24], r9d
mov rcx, r15
cmp qword [r15 + 0x18], 8
jb 0x140231b32
mov rcx, qword [r15]
lea rdx, [0x1402cb810]
mov rax, r9
test rcx, rcx
je 0x140231b51
mov rdx, rcx
mov rax, r8
inc rax
cmp word [rcx + rax*2], r9w
jne 0x140231b47
mov qword [rbp - 0x20], rdx
lea eax, [rax*2 + 2]
mov dword [rbp - 0x18], eax
mov dword [rbp - 0x14], r9d
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rcx, qword [rsp + 0x68]
lea rdx, [0x1402cb810]
mov rax, r9
test rcx, rcx
je 0x140231b92
mov rdx, rcx
mov rax, r8
inc rax
cmp word [rcx + rax*2], r9w
jne 0x140231b88
mov qword [rbp - 0x10], rdx
lea eax, [rax*2 + 2]
mov dword [rbp - 8], eax
mov dword [rbp - 4], r9d
mov dword [rsp + 0x44], r14d
lea rax, [rsp + 0x44]
mov qword [rbp], rax
mov qword [rbp + 8], 4
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 6
xor r8d, r8d
lea rdx, [0x140351b3c]
mov rcx, r10
call fcn.140001078
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rcx, qword [rsp + 0x68]
call qword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_PathFileExistsW]
test eax, eax
je 0x140231cea
mov dl, 1
lea rcx, [rsp + 0x68]
call fcn.1401cced8
mov r14d, eax
test eax, eax
jns 0x140231cea
mov rcx, qword [rsi]
mov dword [rcx + 0x80], eax
mov rcx, qword [rsi]
add rcx, 0x60
lea rdx, [0x140407b28]
call fcn.14005b588
mov rcx, qword [rsi]
mov byte [rcx + 0x58], 0xfe
call fcn.140048a14
mov r10, qword [rax + 8]
cmp dword [r10], 3
jbe 0x140231cea
or r8, 0xffffffffffffffff
mov rax, r8
xor r9d, r9d
lea rcx, str.sub_folder_deletion_failed____try_to_delete_the_next_sub_folder
inc rax
cmp byte [rcx + rax], r9b
jne 0x140231c59
mov qword [rbp + 0x30], rcx
inc eax
mov dword [rbp + 0x38], eax
mov dword [rbp + 0x3c], r9d
mov dword [rsp + 0x48], r14d
lea rax, [rsp + 0x48]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], 4
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rcx, qword [rsp + 0x68]
lea rdx, [0x1402cb810]
mov rax, r9
test rcx, rcx
je 0x140231cb4
mov rdx, rcx
mov rax, r8
inc rax
cmp word [rcx + rax*2], r9w
jne 0x140231caa
mov qword [rbp + 0x50], rdx
lea eax, [rax*2 + 2]
mov dword [rbp + 0x58], eax
mov dword [rbp + 0x5c], r9d
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 5
xor r8d, r8d
lea rdx, [0x140351af9]
mov rcx, r10
call fcn.140001078
nop
lea rcx, [rsp + 0x68]
call fcn.1400492c0
add rbx, 0x40
cmp rbx, rdi
jne 0x140231a4e
jmp 0x140231d26
mov rax, qword [rsi]
mov dword [rax + 0x80], ecx
mov rcx, qword [rsi]
add rcx, 0x60
lea rdx, [0x1404079c8]
call fcn.14005b588
mov rax, qword [rsi]
mov byte [rax + 0x58], 0xfe
mov r9, r15
mov r8, qword [rsp + 0x50]
mov rdx, r13
call fcn.14022f9a4
mov edi, eax
test eax, eax
jns 0x140231df7
mov rcx, qword [rsi]
mov dword [rcx + 0x80], eax
mov rcx, qword [rsi]
add rcx, 0x60
lea rdx, [0x1404079c8]
call fcn.14005b588
mov rcx, qword [rsi]
mov byte [rcx + 0x58], 0xfe
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140231dae
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140231dae
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [str.__v__]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140231dae
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str.__v__]
nop
mov rbx, qword [rsi + 8]
test rbx, rbx
je 0x140231df0
or eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140231df0
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [str.__v__]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140231df0
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [str.__v__]
mov eax, edi
jmp 0x140231ebd
mov r8, r12
mov rdx, r15
call fcn.140231874
mov r14d, eax
test eax, eax
jns 0x140231e2d
mov rax, qword [rsi]
mov dword [rax + 0x80], r14d
mov rcx, qword [rsi]
add rcx, 0x60
lea rdx, [0x140407b28]
call fcn.14005b588
mov rax, qword [rsi]
mov byte [rax + 0x58], 0xfe
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140231e78
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140231e78
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [str.__v__]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140231e78
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str.__v__]
nop
mov rbx, qword [rsi + 8]
test rbx, rbx
je 0x140231eba
or eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140231eba
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [str.__v__]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140231eba
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [str.__v__]
mov eax, r14d
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.14027a710
mov rbx, qword [rsp + 0x1f0]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret