Function at 0x1401ab640
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 [0x14037e040]
xor rax, rsp
mov qword [rsp + 0x448], rax
movsx rax, byte [rcx + 0x17]
mov rcx, rax
test rax, rax
jns 0x1401ab67c
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1401ab715
mov rcx, rsi
test al, al
jns 0x1401ab68f
mov rcx, qword [rsi]
xor r8d, r8d
movabs rax, 0x400000001003
mov rdx, rcx
jmp 0x1401ab6de
mov r10b, 1
test r11d, r11d
jne 0x1401ab6ce
test r8b, 1
je 0x1401ab715
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1401abae3
test al, 0x10
jne 0x1401ab79e
jmp 0x1401aba94
mov r10d, r8d
cmp r9w, 0x3a
setne r8b
and r8b, r10b
add rdx, 2
movzx r9d, word [rdx]
movzx r11d, r9w
lea r10d, [r11 - 0x2e]
cmp r10d, 0x2e
ja 0x1401ab6a1
bt rax, r10
jae 0x1401ab6a1
cmp r9w, 0x2e
setne r10b
cmp rdx, rcx
setbe r11b
or r11b, r10b
jne 0x1401ab6cb
cmp word [rdx - 2], 0x2e
mov r10d, r8d
jne 0x1401ab6ce
mov ecx, 2
call fcn.140124e30
test al, al
je 0x1401ab773
lea rdx, str.....chromeinstallerutildelete_after_reboot_helper.cc
lea rdi, [rsp + 0x180]
mov rcx, rdi
mov r8d, 0x65
mov r9d, 2
call fcn.140073d90
lea rcx, [rsp + 0x190]
lea rdx, str.Unsafe_directory_name_for_deletion:
mov r8d, 0x24
call fcn.1400fe0b0
mov rcx, rax
mov rdx, rsi
call fcn.14006cff0
mov rcx, rdi
call fcn.140074360
xor edi, edi
mov rcx, qword [rsp + 0x448]
xor rcx, rsp
call fcn.14016c920
mov eax, edi
movaps xmm6, xmmword [rsp + 0x450]
add rsp, 0x460
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
lea rdi, [rsp + 0x180]
mov r8d, 0x2c8
mov rcx, rdi
mov dl, 0xaa
call fcn.1401a5320
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9d, 1
call fcn.1400672d0
movabs r15, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x160]
mov qword [rbx + 0x10], r15
movaps xmm6, xmmword [0x1402faf80]
movaps xmmword [rbx], xmm6
mov rcx, rdi
mov rdx, rbx
call fcn.1400675a0
movsx rax, byte [rbx + 0x17]
test rax, rax
jns 0x1401ab807
mov rax, qword [rsp + 0x168]
test rax, rax
je 0x1401ab86a
lea rdi, [rsp + 0x160]
lea rbx, [rsp + 0x180]
lea r14, [rsp + 0x30]
mov rcx, rdi
call fcn.1401ab460
test al, al
je 0x1401aba52
mov rcx, rbx
mov rdx, r14
call fcn.1400675a0
mov rcx, rdi
mov rdx, r14
call fcn.140076f50
mov rcx, r14
call fcn.140125f40
movsx rax, byte [rsp + 0x177]
test rax, rax
jns 0x1401ab865
mov rax, qword [rsp + 0x168]
test rax, rax
jne 0x1401ab821
lea rdi, [rsp + 0x160]
mov rcx, rdi
call fcn.140125f40
lea rcx, [rsp + 0x180]
call fcn.1400674e0
lea rbx, [rsp + 0x180]
mov r8d, 0x2c8
mov rcx, rbx
mov dl, 0xaa
call fcn.1401a5320
mov rcx, rbx
mov rdx, rsi
xor r8d, r8d
mov r9d, 2
call fcn.1400672d0
mov qword [rdi + 0x10], r15
movaps xmmword [rdi], xmm6
lea rdi, [rsp + 0x160]
mov rcx, rbx
mov rdx, rdi
call fcn.1400675a0
movsx rax, byte [rdi + 0x17]
test rax, rax
jns 0x1401ab8df
mov rax, qword [rsp + 0x168]
test rax, rax
je 0x1401ab942
lea rdi, [rsp + 0x160]
lea rbx, [rsp + 0x180]
lea r14, [rsp + 0x30]
mov rcx, rdi
call fcn.1401ab640
test al, al
je 0x1401ab9d6
mov rcx, rbx
mov rdx, r14
call fcn.1400675a0
mov rcx, rdi
mov rdx, r14
call fcn.140076f50
mov rcx, r14
call fcn.140125f40
movsx rax, byte [rsp + 0x177]
test rax, rax
jns 0x1401ab93d
mov rax, qword [rsp + 0x168]
test rax, rax
jne 0x1401ab8f9
lea rcx, [rsp + 0x160]
call fcn.140125f40
lea rcx, [rsp + 0x180]
call fcn.1400674e0
mov rcx, rsi
call fcn.1401ab460
mov dil, 1
test al, al
jne 0x1401ab775
mov ecx, 2
call fcn.140124e30
test al, al
je 0x1401ab775
lea rdx, str.....chromeinstallerutildelete_after_reboot_helper.cc
lea rbx, [rsp + 0x180]
mov rcx, rbx
mov r8d, reloc.SHELL32.dll_ILFree
mov r9d, 2
call fcn.140073d90
lea rcx, [rsp + 0x190]
lea rdx, str.Failed_to_schedule_directory_for_deletion:
mov r8d, 0x2b
call fcn.1400fe0b0
mov rcx, rax
mov rdx, rsi
call fcn.14006cff0
mov rcx, rbx
call fcn.140074360
jmp 0x1401ab775
mov ecx, 2
call fcn.140124e30
test al, al
je 0x1401aba33
lea rdx, str.....chromeinstallerutildelete_after_reboot_helper.cc
lea rsi, [rsp + 0x30]
mov rcx, rsi
mov r8d, 0x92
mov r9d, 2
call fcn.140073d90
lea rcx, [rsp + 0x40]
lea rdx, str.Failed_to_schedule_subdirectory_for_deletion:
mov r8d, 0x2e
call fcn.1400fe0b0
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.14006cff0
mov rcx, rsi
call fcn.140074360
lea rcx, [rsp + 0x160]
call fcn.140125f40
lea rcx, [rsp + 0x180]
call fcn.1400674e0
jmp 0x1401ab773
mov ecx, 2
call fcn.140124e30
test al, al
je 0x1401aba33
lea rdx, str.....chromeinstallerutildelete_after_reboot_helper.cc
lea rsi, [rsp + 0x30]
mov rcx, rsi
mov r8d, 0x83
mov r9d, 2
call fcn.140073d90
lea rcx, [rsp + 0x40]
lea rdx, str.Failed_to_schedule_file_for_deletion:
mov r8d, 0x26
jmp 0x1401aba16
mov ecx, 2
call fcn.140124e30
test al, al
je 0x1401ab773
lea rdx, str.....chromeinstallerutildelete_after_reboot_helper.cc
lea rdi, [rsp + 0x180]
mov rcx, rdi
mov r8d, 0x75
mov r9d, 2
call fcn.140073d90
lea rcx, [rsp + 0x190]
lea rdx, str.Scheduled_directory_is_not_a_directory:
mov r8d, 0x28
jmp 0x1401ab75b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dil, 1
cmp eax, 2
je 0x1401ab775
mov ecx, 2
call fcn.140124e30
test al, al
je 0x1401ab773
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, 0x6f
mov r9d, 2
call fcn.1401dd8a0
lea rcx, [rsp + 0x190]
lea rdx, str.Could_not_GetFileAttributes_for
mov r8d, 0x20
call fcn.1400fe0b0
mov rcx, rax
mov rdx, rsi
call fcn.14006cff0
mov rcx, rdi
call fcn.1401dd910
jmp 0x1401ab773