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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x460
movaps xmmword [rsp + 0x450], xmm6
mov rsi, rcx
mov rax, qword [0x14021f030]
xor rax, rsp
mov qword [rsp + 0x448], rax
mov al, byte [rcx + 0x17]
test al, al
js 0x14003f45a
mov rcx, rsi
jne 0x14003f464
jmp 0x14003f4cf
cmp qword [rsi + 8], 0
je 0x14003f4cf
mov rcx, qword [rsi]
movzx r8d, word [rcx]
test r8w, r8w
je 0x14003f4cf
xor edx, edx
movabs r9, 0x400000001003
mov r10, rcx
xor r11d, r11d
movzx edi, r8w
add edi, 0xffffffd2
cmp edi, 0x2e
ja 0x14003f492
bt r9, rdi
jb 0x14003f495
mov r11b, 1
cmp r8w, 0x2e
jne 0x14003f4a9
cmp r10, rcx
jbe 0x14003f4a9
cmp word [r10 - 2], 0x2e
je 0x14003f4cf
cmp r8w, 0x3a
movzx r11d, r11b
cmove r11d, edx
movzx r8d, word [r10 + 2]
add r10, 2
test r8w, r8w
jne 0x14003f480
test r11b, 1
jne 0x14003f558
mov ecx, 2
call fcn.1400ad460
test al, al
je 0x14003f52d
lea rdx, str.....chromeinstallerutildelete_after_reboot_helper.cc
lea rdi, [rsp + 0x180]
mov rcx, rdi
mov r8d, 0x64
mov r9d, 2
call fcn.1400ad510
lea rcx, [rsp + 0x190]
lea rdx, str.Unsafe_directory_name_for_deletion:
mov r8d, 0x24
call fcn.14002e9c2
mov rcx, rax
mov rdx, rsi
call fcn.1400ae5c0
mov rcx, rdi
call fcn.1400ad9f0
xor edi, edi
mov rcx, qword [rsp + 0x448]
xor rcx, rsp
call fcn.14019eb90
mov eax, edi
movaps xmm6, xmmword [rsp + 0x450]
add rsp, 0x460
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rcx, rsi
test al, al
jns 0x14003f562
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14003f5c0
test al, 0x10
jne 0x14003f642
mov ecx, 2
call fcn.1400ad460
test al, al
je 0x14003f52d
lea rdx, str.....chromeinstallerutildelete_after_reboot_helper.cc
lea rdi, [rsp + 0x180]
mov rcx, rdi
mov r8d, 0x74
mov r9d, 2
call fcn.1400ad510
lea rcx, [rsp + 0x190]
lea rdx, str.Scheduled_directory_is_not_a_directory:
mov r8d, 0x28
jmp 0x14003f515
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dil, 1
cmp eax, 2
je 0x14003f52f
mov ecx, 2
call fcn.1400ad460
test al, al
je 0x14003f52d
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str.....chromeinstallerutildelete_after_reboot_helper.cc
lea rdi, [rsp + 0x180]
mov rcx, rdi
mov r8d, 0x6e
mov r9d, 2
call fcn.1400ae3b0
lea rcx, [rsp + 0x190]
lea rdx, str.Could_not_GetFileAttributes_for
mov r8d, 0x20
call fcn.14002e9c2
mov rcx, rax
mov rdx, rsi
call fcn.1400ae5c0
mov rcx, rdi
call fcn.1400ae4a0
jmp 0x14003f52d
lea rdi, [rsp + 0x180]
mov r8d, 0x2c8
mov rcx, rdi
mov dl, 0xaa
call fcn.1401a0cc0
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9d, 1
call fcn.1400965b0
movabs r15, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x160]
mov qword [rbx + 0x10], r15
movaps xmm6, xmmword [0x1401e7440]
movaps xmmword [rbx], xmm6
mov rcx, rdi
mov rdx, rbx
call fcn.140096870
movzx eax, byte [rbx + 0x17]
test al, al
jns 0x14003f6a9
mov rax, qword [rsp + 0x168]
test rax, rax
je 0x14003f70a
lea rdi, [rsp + 0x160]
lea rbx, [rsp + 0x180]
lea r14, [rsp + 0x28]
mov rcx, rdi
call fcn.14003f240
test al, al
je 0x14003f872
mov rcx, rbx
mov rdx, r14
call fcn.140096870
mov rcx, rdi
mov rdx, r14
call fcn.1400b02b0
mov rcx, r14
call fcn.1400b0280
movzx eax, byte [rsp + 0x177]
test al, al
jns 0x14003f705
mov rax, qword [rsp + 0x168]
test rax, rax
jne 0x14003f6c3
lea rdi, [rsp + 0x160]
mov rcx, rdi
call fcn.1400b0280
lea rcx, [rsp + 0x180]
call fcn.1400967b0
lea rbx, [rsp + 0x180]
mov r8d, 0x2c8
mov rcx, rbx
mov dl, 0xaa
call fcn.1401a0cc0
mov rcx, rbx
mov rdx, rsi
xor r8d, r8d
mov r9d, 2
call fcn.1400965b0
mov qword [rdi + 0x10], r15
movaps xmmword [rdi], xmm6
lea rdi, [rsp + 0x160]
mov rcx, rbx
mov rdx, rdi
call fcn.140096870
movzx eax, byte [rdi + 0x17]
test al, al
jns 0x14003f77d
mov rax, qword [rsp + 0x168]
test rax, rax
je 0x14003f7de
lea rdi, [rsp + 0x160]
lea rbx, [rsp + 0x180]
lea r14, [rsp + 0x28]
mov rcx, rdi
call fcn.14003f421
test al, al
je 0x14003f8b8
mov rcx, rbx
mov rdx, r14
call fcn.140096870
mov rcx, rdi
mov rdx, r14
call fcn.1400b02b0
mov rcx, r14
call fcn.1400b0280
movzx eax, byte [rsp + 0x177]
test al, al
jns 0x14003f7d9
mov rax, qword [rsp + 0x168]
test rax, rax
jne 0x14003f797
lea rcx, [rsp + 0x160]
call fcn.1400b0280
lea rcx, [rsp + 0x180]
call fcn.1400967b0
mov rcx, rsi
call fcn.14003f240
mov dil, 1
test al, al
jne 0x14003f52f
mov ecx, 2
call fcn.1400ad460
test al, al
je 0x14003f52f
lea rdx, str.....chromeinstallerutildelete_after_reboot_helper.cc
lea rbx, [rsp + 0x180]
mov rcx, rbx
mov r8d, ILFree
mov r9d, 2
call fcn.1400ad510
lea rcx, [rsp + 0x190]
lea rdx, str.Failed_to_schedule_directory_for_deletion:
mov r8d, 0x2b
call fcn.14002e9c2
mov rcx, rax
mov rdx, rsi
call fcn.1400ae5c0
mov rcx, rbx
call fcn.1400ad9f0
jmp 0x14003f52f
mov ecx, 2
call fcn.1400ad460
test al, al
je 0x14003f915
lea rdx, str.....chromeinstallerutildelete_after_reboot_helper.cc
lea rsi, [rsp + 0x28]
mov rcx, rsi
mov r8d, 0x82
mov r9d, 2
call fcn.1400ad510
lea rcx, [rsp + 0x38]
lea rdx, str.Failed_to_schedule_file_for_deletion:
mov r8d, 0x26
jmp 0x14003f8f8
mov ecx, 2
call fcn.1400ad460
test al, al
je 0x14003f915
lea rdx, str.....chromeinstallerutildelete_after_reboot_helper.cc
lea rsi, [rsp + 0x28]
mov rcx, rsi
mov r8d, 0x91
mov r9d, 2
call fcn.1400ad510
lea rcx, [rsp + 0x38]
lea rdx, str.Failed_to_schedule_subdirectory_for_deletion:
mov r8d, 0x2e
call fcn.14002e9c2
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.1400ae5c0
mov rcx, rsi
call fcn.1400ad9f0
lea rcx, [rsp + 0x160]
call fcn.1400b0280
lea rcx, [rsp + 0x180]
call fcn.1400967b0
jmp 0x14003f52d