Function at 0x140027050
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 [0x14010b010]
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.14008d398
test rax, rax
je 0x1400270aa
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d398
inc rax
jmp 0x1400270ad
mov rax, rbx
lea r9, str.Start
lea r8, str.IsConfigExistNewerVersion
mov edx, 0x26e
mov rcx, rax
call fcn.140015b90
lea rcx, [rsi + 0xd0]
cmp qword [rsi + 0xe8], 8
jb 0x1400270e0
mov rcx, qword [rsi + 0xd0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400273a8
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 0x1400271cf
mov ecx, r14d
call fcn.140061318
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 0x1400271c6
lea r9, [rbp - 9]
lea r8, [rbp - 0x11]
lea rdx, [0x1400da084]
mov rcx, rdi
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1400271c6
cmp dword [rbp - 9], 0
je 0x1400271c6
mov rdx, qword [rbp - 0x11]
cmp dword [rdx], 0xfeef04bd
jne 0x1400271c6
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.140061310
nop
mov rdx, qword [rbp - 0x21]
cmp rdx, 8
jb 0x140027210
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002720a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400273d1
call fcn.140061310
nop
movdqa xmmword [rbp + 0x17], xmm6
xorps xmm0, xmm0
movdqu xmmword [rbp - 1], xmm0
lea rcx, [rsi + 0x788]
cmp qword [rcx + 0x18], 8
jb 0x14002722e
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.14001d720
lea rax, [rbp - 1]
lea rcx, [rbp + 0x17]
nop dword [rax]
lea rdx, [rbp + 0xf]
cmp rax, rdx
je 0x140027284
mov edx, dword [rcx]
cmp edx, dword [rax]
jl 0x140027296
jg 0x14002729b
add rcx, 4
add rax, 4
lea rdx, [rbp + 0x27]
cmp rcx, rdx
jne 0x140027260
jmp 0x14002728d
lea rdx, [rbp + 0x27]
cmp rcx, rdx
jne 0x14002729b
lea rcx, [rbp + 0xf]
cmp rax, rcx
je 0x14002729b
mov dil, 1
jmp 0x14002729e
xor dil, dil
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d398
mov rcx, rbx
test rax, rax
je 0x1400272c1
mov edx, 0x5c
call fcn.14008d398
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.140015b90
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d398
mov rcx, rbx
test rax, rax
je 0x140027318
mov edx, 0x5c
call fcn.14008d398
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.140015b90
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d398
test rax, rax
je 0x14002736f
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d398
lea rbx, [rax + 1]
lea rcx, [0x1400dbe28]
lea rax, [0x1400dbe38]
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.140015b90
movzx eax, dil
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1400612f0
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.140091d94
int3