Function at 0x14004bf1e
Capabilities:
Delete directory

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x828
movaps xmmword [rsp + 0x810], xmm7
movaps xmmword [rsp + 0x800], xmm6
mov edx, ecx
mov rax, qword [0x14030d038]
xor rax, rsp
mov qword [rsp + 0x7f8], rax
movabs r15, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x250]
mov qword [rbx + 0x10], r15
movaps xmm6, xmmword [0x1402ae190]
movaps xmmword [rbx], xmm6
mov rcx, rbx
call fcn.1401eddd0
lea rdi, [rsp + 0x530]
mov r8d, 0x2c8
mov rcx, rdi
mov dl, 0xaa
call fcn.140117f60
xor r12d, r12d
mov rcx, rdi
mov rdx, rbx
xor r8d, r8d
mov r9d, 2
call fcn.140158500
lea rbx, [rsp + 0x230]
mov qword [rbx + 0x10], r15
movaps xmmword [rbx], xmm6
mov rcx, rdi
mov rdx, rbx
call fcn.140008210
movzx eax, byte [rbx + 0x17]
test al, al
jns 0x14004bfd6
mov rax, qword [rsp + 0x238]
test rax, rax
je 0x14004c405
xor r12d, r12d
lea r13, [rsp + 0x230]
lea rsi, [rsp + 0x210]
lea rbp, [rsp + 0x268]
xorps xmm7, xmm7
mov qword [rsp + 0x220], r15
movaps xmmword [rsp + 0x210], xmm6
lea rax, str.msedge.dll
mov qword [rsp + 0x200], rax
mov qword [rsp + 0x208], 0xa
mov rcx, r13
mov rdx, rsi
lea r8, [rsp + 0x200]
call fcn.14000cf90
movzx eax, byte [rsp + 0x227]
test al, al
mov rcx, qword [rsp + 0x210]
cmovns rcx, rsi
mov qword [rsp + 0x1f0], rcx
cmovs rax, qword [rsp + 0x218]
mov qword [rsp + 0x1f8], rax
mov rcx, rbp
lea rdx, [rsp + 0x1f0]
call fcn.140100de0
cmp byte [rsp + 0x27f], 0
mov rcx, rbp
jns 0x14004c08f
mov rcx, qword [rsp + 0x268]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
mov edx, 0x80000000
mov r8d, 7
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14d, 0
test rax, rax
je 0x14004c0ec
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp rbx, 0xffffffffffffffff
je 0x14004c3fd
call fcn.1400bb620
mov r14, rbx
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [rsp + 0x27f], 0
jns 0x14004c103
mov rcx, qword [rsp + 0x268]
call fcn.140112038
lea ebx, [r12 + 1]
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x70], xmm7
movaps xmmword [rsp + 0x60], xmm7
mov dword [rsp + 0x90], 0
lea rdi, [r14 + 1]
cmp rdi, 2
jae 0x14004c1e6
mov edx, 0x2b
lea rcx, str..._.._chrome_installer_setup_setup_main.cc
call fcn.1400c7bd0
test eax, eax
jle 0x14004c32b
mov rcx, rbp
mov rsi, r15
lea rdx, str..._.._chrome_installer_setup_setup_main.cc
mov r8d, 0x386
mov r9d, 0xffffffff
call fcn.14019a740
mov r8d, 0x1e
lea rcx, [rsp + 0x278]
lea rdx, str.PruneUnusedCoreVersions_prune_
call fcn.1400ff874
mov edx, dword [rsp + 0x88]
mov rcx, rax
call fcn.14017ca70
mov r8d, 2
mov rcx, rax
lea rdx, [0x1402aec9c]
call fcn.1400ff874
mov r13, rax
cmp byte [rsp + 0x247], 0
js 0x14004c2bb
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x1b0], rax
movaps xmm0, xmmword [rsp + 0x230]
movaps xmmword [rsp + 0x1a0], xmm0
lea rdx, [rsp + 0x1a0]
jmp 0x14004c2de
mov rcx, r14
lea rdx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
je 0x14004c133
cmp dword [rsp + 0x88], 2
jb 0x14004c133
mov edx, 0x2b
lea r12, str..._.._chrome_installer_setup_setup_main.cc
mov rcx, r12
call fcn.1400c7bd0
test eax, eax
jle 0x14004c339
mov rcx, rbp
mov rdx, r12
mov r8d, 0x37e
mov r9d, 0xffffffff
call fcn.14019a740
mov r8d, 0x1d
lea rcx, [rsp + 0x278]
lea rdx, str.PruneUnusedCoreVersions_keep_
call fcn.1400ff874
mov edx, dword [rsp + 0x88]
mov rcx, rax
call fcn.14017ca70
mov r8d, 2
mov rcx, rax
lea rdx, [0x1402aec9c]
call fcn.1400ff874
mov qword [rsp + 0x38], rax
cmp byte [rsp + 0x247], 0
js 0x14004c399
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x1d0], rax
movaps xmm0, xmmword [rsp + 0x230]
movaps xmmword [rsp + 0x1c0], xmm0
lea rdx, [rsp + 0x1c0]
jmp 0x14004c3bc
mov rdx, qword [rsp + 0x230]
mov r8, qword [rsp + 0x238]
lea r15, [rsp + 0x1a0]
mov rcx, r15
call fcn.1400e6dd4
mov rdx, r15
lea r15, [rsp + 0x1d8]
mov rcx, r15
call fcn.1401d5e8d
mov rcx, r13
mov rdx, r15
call fcn.1401834e0
cmp byte [rsp + 0x1ef], 0
jns 0x14004c310
mov rcx, qword [rsp + 0x1d8]
call fcn.140112038
mov rcx, rbp
call fcn.140001d00
lea r13, [rsp + 0x230]
mov r15, rsi
lea rsi, [rsp + 0x210]
mov rcx, r13
call fcn.140051f43
test al, al
cmovne ebx, r12d
mov r12d, ebx
cmp rdi, 2
jb 0x14004c34f
call fcn.1400bb620
mov rcx, r14
call fcn.140109fc0
mov rcx, rsi
call fcn.1400e1350
lea rcx, [rsp + 0x530]
mov rdx, rbp
call fcn.140008210
mov rcx, r13
mov rdx, rbp
call fcn.1400f94f0
mov rcx, rbp
call fcn.1400e1350
movzx eax, byte [rsp + 0x247]
test al, al
jns 0x14004c38e
mov rax, qword [rsp + 0x238]
test rax, rax
jne 0x14004bffd
jmp 0x14004c405
mov rdx, qword [rsp + 0x230]
mov r8, qword [rsp + 0x238]
lea r12, [rsp + 0x1c0]
mov rcx, r12
call fcn.1400e6dd4
mov rdx, r12
lea r12, [rsp + 0x1d8]
mov rcx, r12
call fcn.1401d5e8d
mov rcx, qword [rsp + 0x38]
mov rdx, r12
call fcn.1401834e0
cmp byte [rsp + 0x1ef], 0
jns 0x14004c3f0
mov rcx, qword [rsp + 0x1d8]
call fcn.140112038
mov rcx, rbp
call fcn.140001d00
jmp 0x14004c339
xor r14d, r14d
jmp 0x14004c0e4
lea rcx, [rsp + 0x230]
call fcn.1400e1350
cmp r12d, 5
jle 0x14004c5d4
lea rdi, [rsp + 0x268]
mov r8d, 0x2c8
mov rcx, rdi
mov dl, 0xaa
call fcn.140117f60
lea rdx, [rsp + 0x250]
mov rcx, rdi
xor r8d, r8d
mov r9d, 2
call fcn.140158500
lea rbx, [rsp + 0x230]
mov qword [rbx + 0x10], r15
movaps xmmword [rbx], xmm6
mov rcx, rdi
mov rdx, rbx
call fcn.140008210
movzx eax, byte [rbx + 0x17]
test al, al
jns 0x14004c477
mov rax, qword [rsp + 0x238]
test rax, rax
je 0x14004c5b8
lea rsi, str..._.._chrome_installer_setup_setup_main.cc
lea rbp, [rsp + 0x60]
lea r13, [rsp + 0x210]
lea rdi, [rsp + 0x230]
lea r14, [rsp + 0x268]
mov edx, 0x2b
mov rcx, rsi
call fcn.1400c7bd0
test eax, eax
jle 0x14004c567
mov rcx, rbp
mov rdx, rsi
mov r8d, 0x393
mov r9d, 0xffffffff
call fcn.14019a740
mov r8d, 0x21
lea rcx, [rsp + 0x70]
lea rdx, str.PruneUnusedCoreVersions_prune_L_
call fcn.1400ff874
mov r15, rax
cmp byte [rsp + 0x247], 0
js 0x14004c515
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x50], rax
movaps xmm0, xmmword [rsp + 0x230]
movaps xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
jmp 0x14004c535
mov rdx, qword [rsp + 0x230]
mov r8, qword [rsp + 0x238]
lea rbx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400e6dd4
mov rdx, rbx
mov rcx, r13
call fcn.1401d5e8d
mov rcx, r15
mov rdx, r13
call fcn.1401834e0
cmp byte [rsp + 0x227], 0
jns 0x14004c55f
mov rcx, qword [rsp + 0x210]
call fcn.140112038
mov rcx, rbp
call fcn.140001d00
mov rcx, rdi
call fcn.140051f43
mov ebx, eax
mov rcx, r14
mov rdx, rbp
call fcn.140008210
mov rcx, rdi
mov rdx, rbp
call fcn.1400f94f0
mov rcx, rbp
call fcn.1400e1350
movzx eax, byte [rsp + 0x247]
test al, al
jns 0x14004c5a3
mov rax, qword [rsp + 0x238]
movzx ecx, bl
sub r12d, ecx
test rax, rax
je 0x14004c5b8
cmp r12d, 5
jg 0x14004c4a4
lea rcx, [rsp + 0x230]
call fcn.1400e1350
lea rcx, [rsp + 0x268]
call fcn.1400e11e0
jmp 0x14004c5df
test r12d, r12d
je 0x14004c646
jle 0x14004c669
lea rcx, str..._.._chrome_installer_setup_setup_main.cc
mov edx, 0x2b
call fcn.1400c7bd0
test eax, eax
jle 0x14004c669
lea rdx, str..._.._chrome_installer_setup_setup_main.cc
lea rdi, [rsp + 0x268]
mov rcx, rdi
mov r8d, 0x3a1
mov r9d, 0xffffffff
call fcn.14019a740
lea rcx, [rsp + 0x278]
lea rdx, str.PruneUnusedCoreVersions_count
mov r8d, 0x1e
call fcn.1400ff874
mov rcx, rax
mov edx, r12d
call fcn.14010cb82
mov rcx, rdi
call fcn.140001d00
jmp 0x14004c669
cmp byte [rsp + 0x267], 0
lea rcx, [rsp + 0x250]
jns 0x14004c660
mov rcx, qword [rsp + 0x250]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor r12d, r12d
lea rcx, str.Microsoft.Setup.Install.VersionDirectoryCountForCore
mov edx, r12d
call fcn.1401cb270
lea rcx, [rsp + 0x530]
call fcn.1400e11e0
lea rcx, [rsp + 0x250]
call fcn.1400e1350
mov rcx, qword [rsp + 0x7f8]
xor rcx, rsp
call fcn.140115e50
movaps xmm6, xmmword [rsp + 0x800]
movaps xmm7, xmmword [rsp + 0x810]
add rsp, 0x828
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret