Function at 0x140026d50
Capabilities:
Check if file exists
Get file version info

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
movaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x14010a010]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rsi, rcx
mov edx, 0x5c
lea rbx, str.C:Userspaul1_leeDesktopAsusAppServiceAsusAppServiceAsusAppServiceNpsHelper.cpp
mov rcx, rbx
call fcn.14008d088
test rax, rax
je 0x140026daa
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
inc rax
jmp 0x140026dad
mov rax, rbx
lea r9, str.Start
lea r8, str.IsConfigExistNewerVersion
mov edx, 0x26e
mov rcx, rax
call fcn.140015a30
lea rcx, [rsi + 0xd0]
cmp qword [rsi + 0xe8], 8
jb 0x140026de0
mov rcx, qword [rsi + 0xd0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400270a8
xor r14d, r14d
mov qword [rbp - 0x39], r14
mov qword [rbp - 0x29], r14
mov qword [rbp - 0x21], r14
lea rdx, [rsi + 0xd0]
lea rcx, [rbp - 0x39]
call sym.AsusAppService.exe_private:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::_Construct_lv_contents_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64____ptr64
lea rax, [rbp - 0x39]
mov qword [rbp - 0x19], rax
xorps xmm6, xmm6
movdqa xmmword [rbp - 0x49], xmm6
mov dword [rbp - 5], r14d
mov dword [rbp - 9], r14d
mov qword [rbp - 0x11], r14
lea rcx, [rbp - 0x39]
cmp qword [rbp - 0x21], 8
cmovae rcx, qword [rbp - 0x39]
lea rdx, [rbp - 5]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov r14d, eax
test eax, eax
je 0x140026ecf
mov ecx, r14d
call fcn.140061008
mov rdi, rax
lea rcx, [rbp - 0x39]
cmp qword [rbp - 0x21], 8
cmovae rcx, qword [rbp - 0x39]
mov r9, rax
mov r8d, r14d
xor edx, edx
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x140026ec6
lea r9, [rbp - 9]
lea r8, [rbp - 0x11]
lea rdx, [0x1400d9084]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140026ec6
cmp dword [rbp - 9], 0
je 0x140026ec6
mov rdx, qword [rbp - 0x11]
cmp dword [rdx], 0xfeef04bd
jne 0x140026ec6
movzx eax, word [rdx + 0xa]
mov dword [rbp - 0x49], eax
movzx eax, word [rdx + 8]
mov dword [rbp - 0x45], eax
movzx eax, word [rdx + 0xe]
mov dword [rbp - 0x41], eax
movzx eax, word [rdx + 0xc]
mov dword [rbp - 0x3d], eax
movdqa xmm6, xmmword [rbp - 0x49]
mov rcx, rdi
call fcn.140061000
nop
mov rdx, qword [rbp - 0x21]
cmp rdx, 8
jb 0x140026f10
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140026f0a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400270d1
call fcn.140061000
nop
movdqa xmmword [rbp + 0x17], xmm6
xorps xmm0, xmm0
movdqu xmmword [rbp - 1], xmm0
lea rcx, [rsi + 0x788]
cmp qword [rcx + 0x18], 8
jb 0x140026f2e
mov rcx, qword [rcx]
lea rax, [rbp + 0xb]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 7]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 3]
lea r8, [rbp - 1]
lea rdx, str._d._d._d._d
call fcn.14001d400
lea rax, [rbp - 1]
lea rcx, [rbp + 0x17]
nop dword [rax]
lea rdx, [rbp + 0xf]
cmp rax, rdx
je 0x140026f84
mov edx, dword [rcx]
cmp edx, dword [rax]
jl 0x140026f96
jg 0x140026f9b
add rcx, 4
add rax, 4
lea rdx, [rbp + 0x27]
cmp rcx, rdx
jne 0x140026f60
jmp 0x140026f8d
lea rdx, [rbp + 0x27]
cmp rcx, rdx
jne 0x140026f9b
lea rcx, [rbp + 0xf]
cmp rax, rcx
je 0x140026f9b
mov dil, 1
jmp 0x140026f9e
xor dil, dil
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
mov rcx, rbx
test rax, rax
je 0x140026fc1
mov edx, 0x5c
call fcn.14008d088
lea rcx, [rax + 1]
mov eax, dword [rbp - 0x3d]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x41]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x45]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x49]
mov dword [rsp + 0x20], eax
lea r9, str.version__current____d___d___d___d
lea r8, str.IsConfigExistNewerVersion
mov edx, 0x282
call fcn.140015a30
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
mov rcx, rbx
test rax, rax
je 0x140027018
mov edx, 0x5c
call fcn.14008d088
lea rcx, [rax + 1]
mov eax, dword [rbp + 0xb]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 7]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 3]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 1]
mov dword [rsp + 0x20], eax
lea r9, str.version__download____d___d___d___d
lea r8, str.IsConfigExistNewerVersion
mov edx, 0x283
call fcn.140015a30
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
test rax, rax
je 0x14002706f
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
lea rbx, [rax + 1]
lea rcx, [0x1400dade8]
lea rax, [0x1400dadf8]
test dil, dil
cmovne rax, rcx
mov qword [rsp + 0x20], rax
lea r9, str.IsConfigExistNewerVersion___s
lea r8, str.IsConfigExistNewerVersion
mov edx, 0x284
mov rcx, rbx
call fcn.140015a30
movzx eax, dil
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140060fe0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
call fcn.140091a84
int3