Function at 0x1400048ac
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r14
mov rbp, rsp
sub rsp, 0x60
mov rdi, rdx
call fcn.1400015dc
mov rcx, rax
test rax, rax
je 0x140004af0
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
lea rdx, str.SystemDrive
lea rcx, [rbp - 0x30]
mov qword [rbp + 0x48], rax
call fcn.140003c78
mov rax, qword [rbp - 0x30]
cmp dword [rax - 0x10], 0
je 0x140004926
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x48]
call fcn.1400030ac
lea rcx, [0x140025f4c]
call fcn.14000cca0
mov r8d, eax
lea rdx, [0x140025f4c]
lea rcx, [rbp + 0x48]
call fcn.140003f00
lea rdx, str.AsusUpdate.ini
lea rcx, [rbp - 0x28]
call fcn.140001c4c
lea rcx, [rbp - 0x20]
call fcn.140001b38
mov rdx, rax
lea r8, [rbp - 0x28]
lea rcx, [rbp + 0x40]
call fcn.140004014
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
or r14d, 0xffffffff
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x140004973
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp - 0x28]
mov eax, r14d
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x140004993
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp - 0x18]
call fcn.140001c4c
mov rbx, qword [rbp - 0x18]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea rdx, [rbx - 0x18]
mov ecx, r14d
mov esi, eax
lock xadd dword [rdx + 0x10], ecx
add ecx, r14d
test ecx, ecx
jg 0x1400049cc
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
test esi, esi
je 0x140004a6f
lea rdx, str.HKLM_64_SOFTWAREASUSARMOURY_CRATE_Diagnosis
lea rcx, [rbp - 0x10]
call fcn.140001c4c
mov rbx, qword [rbp - 0x10]
lea r9, [rbp + 0x30]
and dword [rbp + 0x30], 0
lea rdx, str.EnableLog
and qword [rsp + 0x20], 0
mov rcx, rbx
mov r8d, 4
call fcn.140004d08
test eax, eax
js 0x140004a3d
cmp dword [rbp + 0x30], 0
lea rax, [0x140026df4]
mov r9, qword [rbp + 0x40]
lea r8, [0x140026df8]
cmove r8, rax
lea rdx, str.LC_OPT
lea rcx, str.LoggingLevel
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov rcx, qword [rbp + 0x40]
add rcx, 0xffffffffffffffe8
call fcn.140001f7c
add rax, 0x18
lea rdx, [rbx - 0x18]
mov qword [rdi], rax
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x140004a82
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x140004a82
lea r8, str.AsusUpdate.ini
mov rcx, rdi
lea rdx, [rbp + 0x48]
call fcn.140001b88
mov rdx, qword [rbp + 0x40]
mov eax, r14d
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x140004aa2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp - 0x30]
mov eax, r14d
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x140004ac2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp + 0x48]
mov eax, r14d
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x140004ae2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, rdi
add rsp, 0x60
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.140001390
int3