Function at 0x473350
Capabilities:
Move file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2c0
mov rax, qword [0x004fb010]
xor rax, rsp
mov qword [rbp + 0x1b8], rax
cmp byte [0x005022c7], 0
je 0x473bc4
xor edi, edi
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], 7
lea r8d, [rdi + 0xe]
lea rdx, str.Update_Checker
lea rcx, [rbp - 0x48]
call sym.AsusSoftwareManager.exe_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::assign_wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x00504000], eax
jle 0x4733f7
lea rcx, [0x00504000]
call fcn.0047981c
cmp dword [0x00504000], 0xffffffff
jne 0x4733f7
lea rcx, [0x004b0e70]
call fcn.00479570
lea rcx, [0x00504000]
call fcn.004797b0
lea rdx, [rbp - 0x48]
lea rcx, [0x00504004]
call fcn.0042b1a0
mov rcx, qword [0x004fb8c0]
movabs rbx, 0x7ffffffffffffffe
mov rax, rbx
sub rax, rcx
cmp rax, 7
jb 0x473bee
lfence
lea r9, [0x004fb8b0]
cmp qword [0x004fb8c8], 8
cmovae r9, qword [0x004fb8b0]
mov qword [rsp + 0x30], 7
lea rax, str.log.xml
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r8, [0x004fb8b0]
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp + 0x118]
call sym.AsusSoftwareManager.exe_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_struct_std::_String_constructor_concat_tag__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64__wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64___wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
nop
mov rcx, qword [0x004fb7e0]
mov rax, rbx
sub rax, rcx
cmp rax, 0x16
jb 0x473bf4
lfence
lea r9, [0x004fb7d0]
cmp qword [0x004fb7e8], 8
cmovae r9, qword [0x004fb7d0]
mov qword [rsp + 0x30], reloc.OLEAUT32.dll_SafeArrayAccessData
lea rax, str.AsusLiveUpdatelog.xml
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r8, [0x004fb7d0]
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp + 0x158]
call sym.AsusSoftwareManager.exe_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_struct_std::_String_constructor_concat_tag__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64__wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64___wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
nop
mov rcx, qword [0x004fb7e0]
mov rax, rbx
sub rax, rcx
cmp rax, 0xf
jb 0x473bfa
lfence
lea r9, [0x004fb7d0]
cmp qword [0x004fb7e8], 8
cmovae r9, qword [0x004fb7d0]
mov qword [rsp + 0x30], SafeArrayGetDim
lea rax, str.AsusLiveUpdate_
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r8, [0x004fb7d0]
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp + 0x138]
call sym.AsusSoftwareManager.exe_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_struct_std::_String_constructor_concat_tag__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64__wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64___wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
nop
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x10], rdi
lea rdx, [rbp + 0x138]
lea rcx, [rbp - 0x28]
call sym.AsusSoftwareManager.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 rcx, [rbp - 0x28]
call fcn.00406120
test al, al
jne 0x47358b
mov qword [rbp - 8], rdi
mov qword [rbp + 8], rdi
mov qword [rbp + 0x10], rdi
lea rdx, [rbp + 0x138]
lea rcx, [rbp - 8]
call sym.AsusSoftwareManager.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 rcx, [rbp - 8]
call fcn.004061f0
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x30], rdi
lea rdx, [rbp + 0x118]
lea rcx, [rbp + 0x18]
call sym.AsusSoftwareManager.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 rcx, [rbp + 0x18]
call fcn.00406050
test al, al
je 0x473ad9
call fcn.0047a3c0
mov rcx, rax
movabs rax, 0xd6bf94d5e57a42bd
imul rcx
add rdx, rcx
sar rdx, 0x17
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rcx, [rbp + 0x38]
call fcn.00447f30
nop
mov r9d, 4
lea r8, str.log_
xor edx, edx
mov rcx, rax
call sym.AsusSoftwareManager.exe_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::insert_unsigned_long_long_unsigned___int64___wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], rdi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 7
mov word [rax], di
mov r8d, 4
lea rdx, str..xml
lea rcx, [rsp + 0x78]
call sym.AsusSoftwareManager.exe_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::append_wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xf8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x108], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 7
mov word [rax], di
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x4736aa
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x4736a5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x4736a5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], di
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x4736fe
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x4736f9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x4736f9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x50], 7
mov word [rbp + 0x38], di
mov rdx, qword [0x004fb8c0]
mov rax, rbx
sub rax, rdx
cmp rax, qword [rbp + 0x108]
jb 0x473c00
lfence
lea r9, [0x004fb8b0]
cmp qword [0x004fb8c8], 8
cmovae r9, qword [0x004fb8b0]
lea rcx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 8
cmovae rcx, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x108]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
lea r8, [0x004fb8b0]
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp + 0x198]
call sym.AsusSoftwareManager.exe_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_struct_std::_String_constructor_concat_tag__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64__wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64___wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
nop
mov rdx, qword [0x004fb780]
sub rbx, rdx
cmp rbx, qword [rbp + 0x108]
jb 0x473be8
lfence
lea r9, [0x004fb770]
cmp qword [0x004fb788], 8
cmovae r9, qword [0x004fb770]
lea rcx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 8
cmovae rcx, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x108]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
lea r8, [0x004fb770]
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp + 0x178]
call sym.AsusSoftwareManager.exe_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_struct_std::_String_constructor_concat_tag__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64__wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64___wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
nop
mov qword [rbp + 0x58], rdi
mov qword [rbp + 0x68], rdi
mov qword [rbp + 0x70], rdi
lea rdx, [rbp + 0x158]
lea rcx, [rbp + 0x58]
call sym.AsusSoftwareManager.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 rcx, [rbp + 0x58]
call fcn.00406050
test al, al
je 0x47388a
lea rax, [rbp + 0x78]
mov qword [rsp + 0x48], rax
mov qword [rbp + 0x78], rdi
mov qword [rbp + 0x88], rdi
mov qword [rbp + 0x90], rdi
lea rdx, [rbp + 0x178]
lea rcx, [rbp + 0x78]
call sym.AsusSoftwareManager.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
nop
mov qword [rbp + 0x98], rdi
mov qword [rbp + 0xa8], rdi
mov qword [rbp + 0xb0], rdi
lea rdx, [rbp + 0x118]
lea rcx, [rbp + 0x98]
call sym.AsusSoftwareManager.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
nop
lea rdx, [rbp + 0x78]
lea rcx, [rbp + 0x98]
jmp 0x4738f6
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x70], rax
mov qword [rbp + 0xb8], rdi
mov qword [rbp + 0xc8], rdi
mov qword [rbp + 0xd0], rdi
lea rdx, [rbp + 0x158]
lea rcx, [rbp + 0xb8]
call sym.AsusSoftwareManager.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
nop
mov qword [rbp + 0xd8], rdi
mov qword [rbp + 0xe8], rdi
mov qword [rbp + 0xf0], rdi
lea rdx, [rbp + 0x118]
lea rcx, [rbp + 0xd8]
call sym.AsusSoftwareManager.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
nop
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0xd8]
call fcn.004073e0
lea rax, [rbp - 0x68]
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], rdi
lea rdx, [rbp + 0x198]
lea rcx, [rbp - 0x68]
call sym.AsusSoftwareManager.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
nop
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], rdi
lea rdx, [rbp + 0x118]
lea rcx, [rsp + 0x50]
call sym.AsusSoftwareManager.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
nop
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae rdx, qword [rbp - 0x68]
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rcx, qword [rsp + 0x50]
call qword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MoveFileW]
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x4739a5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x4739a0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x4739ef
call fcn.00479330
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], di
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x4739fc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x4739f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x4739f6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
nop
mov rdx, qword [rbp + 0x190]
cmp rdx, 8
jb 0x473a46
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x178]
mov rax, rcx
cmp rdx, 0x1000
jb 0x473a40
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x473a40
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
nop
mov rdx, qword [rbp + 0x1b0]
cmp rdx, 8
jb 0x473a90
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x198]
mov rax, rcx
cmp rdx, 0x1000
jb 0x473a8a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x473a8a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
nop
mov rdx, qword [rbp + 0x110]
cmp rdx, 8
jb 0x473ad9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x473ad4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x473ad4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
call fcn.00471cc0
mov rcx, rax
call fcn.00448880
nop
mov rdx, qword [rbp + 0x150]
cmp rdx, 8
jb 0x473b31
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x138]
mov rax, rcx
cmp rdx, 0x1000
jb 0x473b2b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x473b2b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
nop
mov rdx, qword [rbp + 0x170]
cmp rdx, 8
jb 0x473b7b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x158]
mov rax, rcx
cmp rdx, 0x1000
jb 0x473b75
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x473b75
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
nop
mov rdx, qword [rbp + 0x130]
cmp rdx, 8
jb 0x473bc4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x118]
mov rax, rcx
cmp rdx, 0x1000
jb 0x473bbf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x473bbf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
mov rcx, qword [rbp + 0x1b8]
xor rcx, rsp
call fcn.00479310
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret
call fcn.004038b0
nop
call fcn.004038b0
nop
call fcn.004038b0
nop
call fcn.004038b0
nop
call fcn.004038b0
int3