Function at 0x14001b580
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x750
mov rax, qword [0x1400a7010]
xor rax, rsp
mov qword [rsp + 0x740], rax
mov r15, rcx
mov qword [rsp + 0x50], rcx
xor esi, esi
mov edi, esi
mov dword [rsp + 0x20], esi
cmp qword [rcx + 0x18], 8
jb 0x14001b5c6
mov rcx, qword [rcx]
xor r8d, r8d
mov dl, 1
call fcn.14002b314
mov dword [rsp + 0xa0], eax
lea rbx, [0x1400a7e28]
mov qword [rsp + 0xa8], rbx
movaps xmm0, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0x210], xmm0
test eax, eax
je 0x14001b84e
xor edx, edx
mov r8d, 0xf8
lea rcx, [rsp + 0x330]
call fcn.140054260
lea rcx, [rsp + 0x330]
call fcn.1400052c0
nop
lea rcx, [rsp + 0x78]
call fcn.140011e10
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x14001b63b
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x340]
call fcn.14000cbb0
lea rdx, [0x140094ea4]
mov rcx, rax
call fcn.140008ef0
lea rdx, str.installer_lib::Filesystem::remove_all
mov rcx, rax
call fcn.140008ef0
lea rdx, [0x140094e78]
mov rcx, rax
call fcn.140009270
lea rdx, str.Failed_to_set_permissions_for
mov rcx, rax
call fcn.140009270
mov rdx, r15
mov rcx, rax
call fcn.140009510
lea rdx, str._with_error
mov rcx, rax
call fcn.140009270
mov edx, dword [rsp + 0x210]
mov rcx, rax
call fcn.140005650
nop
mov rdx, qword [rsp + 0x90]
cmp rdx, 8
jb 0x14001b6f7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001b6f1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001cbfc
call fcn.14002a5e4
nop
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], 7
mov word [rsp + 0x28], si
mov dword [rsp + 0x20], 2
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x3b8]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x14001b77c
mov rax, qword [rsp + 0x388]
mov r8, qword [rax]
test r8, r8
je 0x14001b77c
mov rax, qword [rsp + 0x368]
mov rdx, qword [rax]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x200], r8
cmp r8, qword [rsp + 0x3b0]
cmovb r8, qword [rsp + 0x3b0]
sub r8, rdx
sar r8, 1
mov qword [rsp + 0x60], r8
jmp 0x14001b7c9
test cl, 4
jne 0x14001b7bf
mov rax, qword [rsp + 0x380]
mov rcx, qword [rax]
test rcx, rcx
je 0x14001b7bf
mov rax, qword [rsp + 0x360]
mov rdx, qword [rax]
mov qword [rsp + 0x58], rdx
mov rax, qword [rsp + 0x398]
movsxd r8, dword [rax]
add r8, r8
sub r8, rdx
add r8, rcx
sar r8, 1
mov qword [rsp + 0x60], r8
jmp 0x14001b7c9
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x14001b7d9
lea rcx, [rsp + 0x28]
call fcn.140007310
nop
mov edi, 1
mov dword [rsp + 0x20], edi
lea edx, [rdi + 0x27]
lea rcx, [rsp + 0x28]
call fcn.1400122f0
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 8
jb 0x14001b833
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001b82d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001cc02
call fcn.14002a5e4
nop
lea rcx, [rsp + 0x330]
call fcn.1400037b0
nop
jmp 0x14001b84e
mov rcx, r15
call fcn.140003520
test al, al
je 0x14001bf0a
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x1e0], xmm0
mov rdx, r15
lea rcx, [rsp + 0x1e0]
call fcn.14001cee0
test eax, eax
jne 0x14001cc08
xorps xmm0, xmm0
movups xmmword [rsp + 0x220], xmm0
mov r14, qword [rsp + 0x1e8]
test r14, r14
je 0x14001b8ab
lock inc dword [r14 + 8]
mov r14, qword [rsp + 0x1e8]
mov edi, dword [rsp + 0x20]
movaps xmm0, xmmword [rsp + 0x1e0]
movdqa xmmword [rsp + 0x220], xmm0
test r14, r14
je 0x14001b8d2
lock inc dword [r14 + 8]
mov r14, qword [rsp + 0x1e8]
mov edi, dword [rsp + 0x20]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x430], xmm1
test r14, r14
je 0x14001b93f
mov eax, 0xffffffff
lock xadd dword [r14 + 8], eax
cmp eax, 1
jne 0x14001b933
mov rbx, qword [rsp + 0x1e8]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x1400214dd.0]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14001b933
mov r14, qword [rsp + 0x1e8]
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 8]
call qword [case.0x1400214dd.0]
jmp 0x14001b93b
mov r14, qword [rsp + 0x1e8]
mov edi, dword [rsp + 0x20]
lea r13, vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
lea r12, vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
nop dword [rax]
mov rax, qword [rsp + 0x220]
cmp rax, qword [rsp + 0x430]
je 0x14001be53
lea rbx, [rax + 0x20]
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14001b977
mov rcx, qword [rbx]
xor r8d, r8d
mov dl, 1
call fcn.14002b314
mov dword [rsp + 0x100], eax
lea rcx, [0x1400a7e28]
mov qword [rsp + 0x108], rcx
movaps xmm0, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x210], xmm0
test eax, eax
je 0x14001be39
xor edx, edx
mov r8d, 0xf8
lea rcx, [rsp + 0x230]
call fcn.140054260
lea rax, [0x140095510]
mov qword [rsp + 0x230], rax
lea rax, [0x1400955c8]
mov qword [rsp + 0x240], rax
mov qword [rsp + 0x2d0], rsi
mov qword [rsp + 0x2f8], rsi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x300], xmm0
or edi, 4
mov dword [rsp + 0x20], edi
mov qword [rsp + 0x2c8], r13
mov dword [rsp + 0x2c4], 0x80
mov qword [rsp + 0x238], rsi
lea rdx, [rsp + 0x248]
lea rcx, [rsp + 0x2c8]
call fcn.140008c40
nop
mov rax, qword [rsp + 0x240]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x240], rax
mov rax, qword [rsp + 0x240]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x23c], edx
mov rax, qword [rsp + 0x230]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x230], rax
mov rax, qword [rsp + 0x230]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rsp + rcx + 0x22c], edx
mov rax, qword [rsp + 0x230]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x230], r12
mov rax, qword [rsp + 0x230]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x22c], edx
lea rcx, [rsp + 0x248]
call fcn.1400089e0
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x2b0], rsi
mov dword [rsp + 0x2b8], esi
lea rcx, [rsp + 0x170]
call fcn.140011e10
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x14001bb0d
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x240]
call fcn.14000cbb0
lea rdx, [0x140094ea4]
mov rcx, rax
call fcn.140008ef0
lea rdx, str.installer_lib::Filesystem::remove_all
mov rcx, rax
call fcn.140008ef0
lea rdx, [0x140094e78]
mov rcx, rax
call fcn.140009270
lea rdx, str.Failed_to_set_permissions_for
mov rcx, rax
call fcn.140009270
mov rdx, rbx
mov rcx, rax
call fcn.140009510
lea rdx, str._with_error
mov rcx, rax
call fcn.140009270
mov edx, dword [rsp + 0x210]
mov rcx, rax
call fcn.140005650
nop
mov rdx, qword [rsp + 0x188]
cmp rdx, 8
jb 0x14001bbcc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001bbc6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001cc13
call fcn.14002a5e4
nop
mov qword [rsp + 0xc8], rsi
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xe0], 7
mov word [rsp + 0xc8], si
bts edi, 7
mov dword [rsp + 0x20], edi
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], rax
mov ecx, dword [rsp + 0x2b8]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x14001bc60
mov rax, qword [rsp + 0x288]
mov r8, qword [rax]
test r8, r8
je 0x14001bc60
mov rax, qword [rsp + 0x268]
mov rdx, qword [rax]
mov qword [rsp + 0xb0], rdx
cmp r8, qword [rsp + 0x2b0]
cmovb r8, qword [rsp + 0x2b0]
sub r8, rdx
sar r8, 1
mov qword [rsp + 0xb8], r8
jmp 0x14001bcb9
test cl, 4
jne 0x14001bca9
mov rax, qword [rsp + 0x280]
mov rcx, qword [rax]
test rcx, rcx
je 0x14001bca9
mov rax, qword [rsp + 0x260]
mov rdx, qword [rax]
mov qword [rsp + 0xb0], rdx
mov rax, qword [rsp + 0x298]
movsxd r8, dword [rax]
add r8, r8
sub r8, rdx
add r8, rcx
sar r8, 1
mov qword [rsp + 0xb8], r8
jmp 0x14001bcb9
mov r8, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x14001bccc
lea rcx, [rsp + 0xc8]
call fcn.140007310
nop
btr edi, 7
or edi, 0x40
mov dword [rsp + 0x20], edi
mov edx, 0x28
lea rcx, [rsp + 0xc8]
call fcn.1400122f0
nop
mov rdx, qword [rsp + 0xe0]
cmp rdx, 8
jb 0x14001bd33
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001bd2d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001cc19
call fcn.14002a5e4
nop
mov rax, qword [rsp + 0x230]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x230], r12
mov rax, qword [rsp + 0x230]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x22c], edx
lea rcx, [rsp + 0x248]
call fcn.140004ea0
mov rax, qword [rsp + 0x230]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x230], rax
mov rax, qword [rsp + 0x230]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rsp + rcx + 0x22c], edx
mov rax, qword [rsp + 0x240]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x240], rbx
mov rax, qword [rsp + 0x240]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x23c], edx
mov rax, qword [rsp + 0x230]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x230], r13
mov rax, qword [rsp + 0x230]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x22c], edx
lea rbx, vtable.std::ios_base.0
mov qword [rsp + 0x2c8], rbx
lea rcx, [rsp + 0x2c8]
call fcn.14002c2e4
nop
jmp 0x14001be39
lea rcx, [rsp + 0x220]
call fcn.140019ff0
test eax, eax
jne 0x14001cc1f
jmp 0x14001b950
mov rcx, qword [rsp + 0x228]
test rcx, rcx
je 0x14001beb6
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14001beaa
mov rbx, qword [rsp + 0x228]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x1400214dd.0]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14001beaa
mov rcx, qword [rsp + 0x228]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400214dd.0]
mov edi, dword [rsp + 0x20]
mov r14, qword [rsp + 0x1e8]
test r14, r14
je 0x14001bf0a
mov eax, 0xffffffff
lock xadd dword [r14 + 8], eax
cmp eax, 1
jne 0x14001bf06
mov rbx, qword [rsp + 0x1e8]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x1400214dd.0]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14001bf06
mov rcx, qword [rsp + 0x1e8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400214dd.0]
mov edi, dword [rsp + 0x20]
mov r12d, esi
mov dword [rsp + 0x48], esi
mov r14d, esi
mov r13d, 0xa
mov rbx, 0xffffffffffffffff
cmp r12d, 0xa
jge 0x14001cab7
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_Sleep]
add r13d, r13d
mov dword [rsp + 0x70], r13d
mov dword [rsp + 0x210], esi
lea r14, [0x1400a7e28]
mov qword [rsp + 0x218], r14
mov rcx, r15
cmp qword [r15 + 0x18], 8
jb 0x14001bf5f
mov rcx, qword [r15]
call fcn.14002ba28
movzx ecx, al
mov qword [rsp + 0x200], rcx
shr rax, 0x20
mov dword [rsp + 0xa0], eax
mov qword [rsp + 0xa8], r14
movaps xmm0, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0x210], xmm0
cmp eax, 0x91
jne 0x14001bfba
lea r8, [rsp + 0x200]
lea rdx, [rsp + 0x210]
mov rcx, r15
call fcn.14001a450
mov rcx, qword [rsp + 0x200]
cmp dword [rsp + 0x210], 0
cmovne rcx, rbx
mov qword [rsp + 0x200], rcx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, r15
cmp qword [r15 + 0x18], 8
jb 0x14001bfe3
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
mov dword [rsp + 0x4c], eax
cmp ebx, 0xffffffff
jne 0x14001c6e9
cmp eax, 2
jne 0x14001c223
xor edx, edx
mov r8d, 0xf8
lea rcx, [rsp + 0x540]
call fcn.140054260
lea rcx, [rsp + 0x540]
call fcn.1400052c0
nop
lea rcx, [rsp + 0x128]
call fcn.140011e10
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x14001c049
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x550]
call fcn.14000cbb0
lea rdx, [0x140094ea4]
mov rcx, rax
call fcn.140008ef0
lea rdx, str.installer_lib::Filesystem::remove_all
mov rcx, rax
call fcn.140008ef0
lea rdx, [0x140094e78]
mov rcx, rax
call fcn.140009270
lea rdx, str.Successfully_removed
mov rcx, rax
call fcn.140009270
mov rdx, r15
mov rcx, rax
call fcn.140009510
nop
mov rdx, qword [rsp + 0x140]
cmp rdx, 8
jb 0x14001c0ea
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001c0e4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001cc2e
call fcn.14002a5e4
nop
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], 7
mov word [rsp + 0x78], si
bts edi, 9
mov dword [rsp + 0x20], edi
xorps xmm0, xmm0
movups xmmword [rsp + 0xe8], xmm0
mov rcx, qword [rsp + 0x5c8]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x14001c15f
mov rax, qword [rsp + 0x598]
mov r8, qword [rax]
test r8, r8
je 0x14001c15f
mov rax, qword [rsp + 0x578]
mov rdx, qword [rax]
cmp r8, qword [rsp + 0x5c0]
cmovb r8, qword [rsp + 0x5c0]
sub r8, rdx
sar r8, 1
jmp 0x14001c1a8
test cl, 4
jne 0x14001c198
mov rax, qword [rsp + 0x590]
mov rcx, qword [rax]
test rcx, rcx
je 0x14001c198
mov rax, qword [rsp + 0x570]
mov rdx, qword [rax]
mov rax, qword [rsp + 0x5a8]
movsxd r8, dword [rax]
add r8, r8
sub r8, rdx
add r8, rcx
sar r8, 1
jmp 0x14001c1a8
mov r8, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xe8]
test rdx, rdx
je 0x14001c1b8
lea rcx, [rsp + 0x78]
call fcn.140007310
nop
mov edx, 0x28
lea rcx, [rsp + 0x78]
call fcn.1400122f0
nop
mov rdx, qword [rsp + 0x90]
cmp rdx, 8
jb 0x14001c20e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001c208
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001cc34
call fcn.14002a5e4
nop
lea rcx, [rsp + 0x540]
call fcn.1400037b0
nop
mov al, 1
jmp 0x14001cbcf
xor edx, edx
mov r8d, 0xf8
lea rcx, [rsp + 0x440]
call fcn.140054260
lea rax, [0x140095510]
mov qword [rsp + 0x440], rax
lea rax, [0x1400955c8]
mov qword [rsp + 0x450], rax
mov qword [rsp + 0x4e0], rsi
mov qword [rsp + 0x508], rsi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x510], xmm0
bts edi, 0xa
mov dword [rsp + 0x20], edi
lea rax, vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + 0x4d8], rax
mov dword [rsp + 0x4d4], 0x80
mov qword [rsp + 0x448], rsi
lea rdx, [rsp + 0x458]
lea rcx, [rsp + 0x4d8]
call fcn.140008c40
nop
mov rax, qword [rsp + 0x450]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x450], rax
mov rax, qword [rsp + 0x450]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x44c], edx
mov rax, qword [rsp + 0x440]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x440], rax
mov rax, qword [rsp + 0x440]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rsp + rcx + 0x43c], edx
mov rax, qword [rsp + 0x440]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + rcx + 0x440], rax
mov rax, qword [rsp + 0x440]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x43c], edx
lea rcx, [rsp + 0x458]
call fcn.1400089e0
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + 0x458], rax
mov qword [rsp + 0x4c0], rsi
mov dword [rsp + 0x4c8], esi
lea rcx, [rsp + 0x148]
call fcn.140011e10
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x14001c38f
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x450]
call fcn.14000cbb0
lea rdx, [0x140094ea4]
mov rcx, rax
call fcn.140008ef0
lea rdx, str.installer_lib::Filesystem::remove_all
mov rcx, rax
call fcn.140008ef0
lea rdx, [0x140094e78]
mov rcx, rax
call fcn.140009270
lea rdx, str.Retrying_removal_of
mov rcx, rax
call fcn.140009270
mov rbx, rax
mov r8, qword [r15 + 0x10]
mov rdx, r15
cmp qword [r15 + 0x18], 8
jb 0x14001c3ef
mov rdx, qword [r15]
add r8, r8
lea rax, [rdx + r8]
mov qword [rsp + 0x28], rsi
mov rcx, rsi
mov qword [rsp + 0x38], rcx
mov r9d, 7
mov qword [rsp + 0x40], r9
mov word [rsp + 0x28], si
cmp rdx, rax
je 0x14001c42f
sar r8, 1
lea rcx, [rsp + 0x28]
call fcn.140007310
mov r9, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
or edi, 0xc000
mov dword [rsp + 0x20], edi
lea rax, [rsp + 0x28]
cmp r9, 8
cmovae rax, qword [rsp + 0x28]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rcx
mov dword [rsp + 0x68], 0x5c0022
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.14000ce40
mov rbx, rax
mov rdx, qword [rsp + 0x40]
cmp rdx, 8
jb 0x14001c4ac
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001c4a7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001cc3a
call fcn.14002a5e4
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], 7
mov word [rsp + 0x28], si
lea rdx, str._due_to_error_checking_its_existence._Error:
mov rcx, rbx
call fcn.140008ef0
mov edx, r14d
mov rcx, rax
call fcn.140005480
nop
mov rdx, qword [rsp + 0x160]
cmp rdx, 8
jb 0x14001c523
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x148]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001c51d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001cc40
call fcn.14002a5e4
nop
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], 7
mov word [rsp + 0x28], si
bts edi, 0x11
mov dword [rsp + 0x20], edi
xorps xmm0, xmm0
movups xmmword [rsp + 0x1e0], xmm0
mov ecx, dword [rsp + 0x4c8]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x14001c591
mov rax, qword [rsp + 0x498]
mov r8, qword [rax]
test r8, r8
je 0x14001c591
mov rax, qword [rsp + 0x478]
mov rdx, qword [rax]
cmp r8, qword [rsp + 0x4c0]
cmovb r8, qword [rsp + 0x4c0]
sub r8, rdx
sar r8, 1
jmp 0x14001c5da
test cl, 4
jne 0x14001c5ca
mov rax, qword [rsp + 0x490]
mov rcx, qword [rax]
test rcx, rcx
je 0x14001c5ca
mov rax, qword [rsp + 0x470]
mov rdx, qword [rax]
mov rax, qword [rsp + 0x4a8]
movsxd r8, dword [rax]
add r8, r8
sub r8, rdx
add r8, rcx
sar r8, 1
jmp 0x14001c5da
mov r8, qword [rsp + 0x1e8]
mov rdx, qword [rsp + 0x1e0]
test rdx, rdx
je 0x14001c5ea
lea rcx, [rsp + 0x28]
call fcn.140007310
nop
btr edi, 0x11
bts edi, 0x10
mov dword [rsp + 0x20], edi
mov edx, 0x28
lea rcx, [rsp + 0x28]
call fcn.1400122f0
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 8
jb 0x14001c649
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001c643
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001cc46
call fcn.14002a5e4
nop
mov rax, qword [rsp + 0x440]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + rcx + 0x440], rax
mov rax, qword [rsp + 0x440]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x43c], edx
lea rcx, [rsp + 0x458]
call fcn.140004ea0
lea rcx, [rsp + 0x460]
call fcn.140005400
nop
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x4d8], rax
lea rcx, [rsp + 0x4d8]
call fcn.14002c2e4
nop
inc r12d
mov dword [rsp + 0x48], r12d
jmp 0x14001bf1a
xor edx, edx
mov r8d, 0xf8
lea rcx, [rsp + 0x330]
call fcn.140054260
lea rax, [0x140095510]
mov qword [rsp + 0x330], rax
lea rax, [0x1400955c8]
mov qword [rsp + 0x340], rax
mov qword [rsp + 0x3d0], rsi
mov qword [rsp + 0x3f8], rsi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x400], xmm0
bts edi, 0x12
mov dword [rsp + 0x20], edi
lea rax, vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + 0x3c8], rax
mov dword [rsp + 0x3c4], 0x80
mov qword [rsp + 0x338], rsi
lea rdx, [rsp + 0x348]
lea rcx, [rsp + 0x3c8]
call fcn.140008c40
nop
mov rax, qword [rsp + 0x340]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x340], rax
mov rax, qword [rsp + 0x340]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x33c], edx
mov rax, qword [rsp + 0x330]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x330], rax
mov rax, qword [rsp + 0x330]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rsp + rcx + 0x32c], edx
mov rax, qword [rsp + 0x330]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + rcx + 0x330], rax
mov rax, qword [rsp + 0x330]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x32c], edx
lea rcx, [rsp + 0x348]
call fcn.1400089e0
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + 0x348], rax
mov qword [rsp + 0x3b0], rsi
mov dword [rsp + 0x3b8], esi
lea rcx, [rsp + 0x148]
call fcn.140011e10
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x14001c855
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x340]
call fcn.14000cbb0
lea rdx, [0x140094ea4]
mov rcx, rax
call fcn.140008ef0
lea rdx, str.installer_lib::Filesystem::remove_all
mov rcx, rax
call fcn.140008ef0
lea rdx, [0x140094e78]
mov rcx, rax
call fcn.140009270
lea rdx, str.Retrying_removal_of
mov rcx, rax
call fcn.140009270
mov rbx, rax
mov r8, qword [r15 + 0x10]
mov rdx, r15
cmp qword [r15 + 0x18], 8
jb 0x14001c8b5
mov rdx, qword [r15]
add r8, r8
lea rax, [r8 + rdx]
mov qword [rsp + 0x28], rsi
mov rcx, rsi
mov qword [rsp + 0x38], rcx
mov r9d, 7
mov qword [rsp + 0x40], r9
mov word [rsp + 0x28], si
cmp rdx, rax
je 0x14001c8f5
sar r8, 1
lea rcx, [rsp + 0x28]
call fcn.140007310
mov r9, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
or edi, 0xc00000
mov dword [rsp + 0x20], edi
lea rax, [rsp + 0x28]
cmp r9, 8
cmovae rax, qword [rsp + 0x28]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rcx
mov dword [rsp + 0x68], 0x5c0022
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.14000ce40
mov rbx, rax
lea rcx, [rsp + 0x28]
call fcn.140002e30
lea rdx, str._as_it_still_exists
mov rcx, rbx
call fcn.140008ef0
nop
lea rcx, [rsp + 0x148]
call fcn.140002e30
nop
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], 7
mov word [rsp + 0x28], si
bts edi, 0x19
mov dword [rsp + 0x20], edi
xorps xmm0, xmm0
movups xmmword [rsp + 0x110], xmm0
mov ecx, dword [rsp + 0x3b8]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x14001c9c6
mov rax, qword [rsp + 0x388]
mov r8, qword [rax]
test r8, r8
je 0x14001c9c6
mov rax, qword [rsp + 0x368]
mov rdx, qword [rax]
cmp r8, qword [rsp + 0x3b0]
cmovb r8, qword [rsp + 0x3b0]
sub r8, rdx
sar r8, 1
jmp 0x14001ca0f
test cl, 4
jne 0x14001c9ff
mov rax, qword [rsp + 0x380]
mov rcx, qword [rax]
test rcx, rcx
je 0x14001c9ff
mov rax, qword [rsp + 0x360]
mov rdx, qword [rax]
mov rax, qword [rsp + 0x398]
movsxd r8, dword [rax]
add r8, r8
sub r8, rdx
add r8, rcx
sar r8, 1
jmp 0x14001ca0f
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
test rdx, rdx
je 0x14001ca1f
lea rcx, [rsp + 0x28]
call fcn.140007310
nop
btr edi, 0x19
bts edi, 0x18
mov dword [rsp + 0x20], edi
mov edx, 0x28
lea rcx, [rsp + 0x28]
call fcn.1400122f0
nop
lea rcx, [rsp + 0x28]
call fcn.140002e30
nop
mov rax, qword [rsp + 0x330]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + rcx + 0x330], rax
mov rax, qword [rsp + 0x330]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x32c], edx
lea rcx, [rsp + 0x348]
call fcn.140004ea0
lea rcx, [rsp + 0x350]
call fcn.140005400
nop
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x3c8], rax
lea rcx, [rsp + 0x3c8]
call fcn.14002c2e4
nop
jmp 0x14001c6b5
xor edx, edx
mov r8d, 0xf8
lea rcx, [rsp + 0x540]
call fcn.140054260
lea rcx, [rsp + 0x540]
call fcn.1400052c0
nop
lea rcx, [rsp + 0x128]
call fcn.140011e10
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x14001caf6
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x550]
call fcn.14000cbb0
lea rdx, [0x140094ea4]
mov rcx, rax
call fcn.140008ef0
lea rdx, str.installer_lib::Filesystem::remove_all
mov rcx, rax
call fcn.140008ef0
lea rdx, [0x140094e78]
mov rcx, rax
call fcn.140009270
lea rdx, str.Failed_to_remove
mov rcx, rax
call fcn.140009270
mov rdx, r15
mov rcx, rax
call fcn.140009510
lea rdx, str._after
mov rcx, rax
call fcn.140009270
mov edx, r12d
mov rcx, rax
call fcn.140005650
lea rdx, str._attempts._Error:
mov rcx, rax
call fcn.140009270
mov edx, r14d
mov rcx, rax
call fcn.140005480
nop
lea rcx, [rsp + 0x128]
call fcn.140002e30
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x540]
call fcn.1400051f0
nop
mov edx, 0x28
mov rcx, rax
call fcn.1400122f0
nop
lea rcx, [rsp + 0x78]
call fcn.140002e30
nop
lea rcx, [rsp + 0x540]
call fcn.1400037b0
nop
xor al, al
jmp 0x14001cbcf
mov rcx, qword [rsp + 0x740]
xor rcx, rsp
call fcn.14002a0d0
lea r11, [rsp + 0x750]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.14005d720
int3
call fcn.14005d720
nop
mov r8, r15
mov edx, eax
call fcn.140019930
nop
call fcn.14005d720
int3
call fcn.14005d720
nop
mov edx, eax
lea rcx, str.recursive_directory_iterator::operator
call fcn.1400198d0
nop
call fcn.14005d720
int3
call fcn.14005d720
nop
call fcn.14005d720
nop
call fcn.14005d720
int3
call fcn.14005d720
int3