Function at 0x45fce0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x004fb010]
xor rax, rsp
mov qword [rbp + 0x20], rax
xor r12d, r12d
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r12
lea r9, [rsp + 0x70]
xor r8d, r8d
xor edx, edx
lea rcx, [0x004b32e0]
call qword [sym.imp.ext_ms_win_shell32_shellfolders_l1_1_0.dll_SHGetKnownFolderPath]
test eax, eax
js 0x45fd51
mov r8, qword [rsp + 0x70]
mov edx, 0x104
lea rcx, [0x00503200]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
lea r9, [rsp + 0x78]
xor r8d, r8d
xor edx, edx
lea rcx, [0x004b3300]
call qword [sym.imp.ext_ms_win_shell32_shellfolders_l1_1_0.dll_SHGetKnownFolderPath]
lea rsi, [0x00503410]
test eax, eax
js 0x45fd86
mov r8, qword [rsp + 0x78]
mov edx, 0x104
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x45fd9b
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
mov qword [rsp + 0x70], r12
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x45fdb0
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoTaskMemFree]
mov qword [rsp + 0x78], r12
mov edx, 0x7f
lea rcx, [0x004c92a0]
call fcn.004036d0
lea rbx, [0x00400000]
lea rdx, [rbx + 0xc9330]
lea rdx, [rdx + rax*2]
mov eax, dword [0x00503140]
mov dword [rsp + 0x20], eax
lea r9, str.g_nosec_mode___d
mov ecx, 1
mov r8d, 0x7e8
call fcn.0044b390
mov edx, 0x7f
lea rcx, [0x004c92a0]
call fcn.004036d0
lea rdx, [rbx + 0xc9330]
lea rdx, [rdx + rax*2]
mov dword [rsp + 0x20], 4
lea r9, str.g_chk_list_size___d
mov ecx, 1
mov r8d, 0x7e9
call fcn.0044b390
mov edx, 0x7f
lea rcx, [0x004c92a0]
call fcn.004036d0
lea rdx, [rbx + 0xc9330]
lea rdx, [rdx + rax*2]
lea r9, str.Call_pre_process_check_list___and_dump_check_list:
mov ecx, 1
mov r8d, 0x7ea
call fcn.0044b390
mov r15d, r12d
mov r13, 0xffffffffffffffff
nop dword [rax]
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], r12w
mov r8d, 0xa
lea rdx, str.C:Windows
lea rcx, [rbp - 0x40]
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
nop
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r12w
mov r8d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rdx, str.C:Program_Files
lea rcx, [rbp - 0x60]
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
nop
movsxd rax, r15d
imul rcx, rax, 0x208
lea r14, [rbx + 0xfbc90]
add r14, rcx
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], r12w
mov r8, r13
inc r8
cmp word [r14 + r8*2], 0
jne 0x45fef4
mov rdx, r14
lea rcx, [rbp - 0x80]
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
nop
lea rax, [rbp - 0x40]
cmp qword [rbp - 0x28], 8
cmovae rax, qword [rbp - 0x40]
mov r10, qword [rbp - 0x30]
mov r11, r10
mov rsi, qword [rbp - 0x70]
cmp rsi, r10
cmovb r11, rsi
lea r9, [rbp - 0x80]
mov rbx, qword [rbp - 0x80]
mov rdi, qword [rbp - 0x68]
cmp rdi, 8
cmovae r9, rbx
mov r8, r11
cmp r10, r11
cmovb r8, r10
test r8, r8
je 0x45ff66
sub r9, rax
movzx ecx, word [r9 + rax]
cmp cx, word [rax]
jne 0x45ff70
add rax, 2
sub r8, 1
jne 0x45ff52
cmp r11, r10
jae 0x45ff7b
mov eax, r13d
jmp 0x45ff81
mov eax, 1
cmovb eax, r13d
jmp 0x45ff81
mov eax, r12d
seta al
test eax, eax
jne 0x4600dc
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], r12w
cmp rsi, r10
jb 0x460419
lfence
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x30]
sub rax, rcx
mov r8, r13
cmp rax, r13
cmovb r8, rax
lea rax, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rax, qword [rbp - 0x80]
lea rdx, [rax + rcx*2]
lea rcx, [rsp + 0x50]
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
nop
mov r9, r13
lea rax, [0x00503200]
nop word [rax + rax]
inc r9
cmp word [rax + r9*2], 0
jne 0x45fff0
mov r8, rax
xor edx, edx
lea rcx, [rsp + 0x50]
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 [rbp], r12
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x10], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x460077
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x460072
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x4603b5
call fcn.00479330
lea r8, [rbp]
cmp qword [rbp + 0x18], 8
cmovae r8, qword [rbp]
mov edx, 0x104
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov rdx, qword [rbp + 0x18]
cmp rdx, 8
jb 0x46029e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x4600d2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x4603bc
call fcn.00479330
jmp 0x46029e
lea rax, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rax, qword [rbp - 0x60]
mov r10, qword [rbp - 0x50]
mov r11, r10
cmp rsi, r10
cmovb r11, rsi
lea r9, [rbp - 0x80]
cmp rdi, 8
cmovae r9, rbx
mov rcx, r11
cmp r10, r11
cmovb rcx, r10
test rcx, rcx
je 0x46012a
sub r9, rax
movzx edx, word [rax + r9]
cmp dx, word [rax]
jne 0x460134
add rax, 2
sub rcx, 1
jne 0x460116
cmp r11, r10
jae 0x46013f
mov eax, r13d
jmp 0x460145
mov eax, 1
cmovb eax, r13d
jmp 0x460145
mov eax, r12d
seta al
test eax, eax
jne 0x4602a6
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r12w
cmp rsi, r10
jb 0x460413
lfence
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x50]
sub rax, rcx
mov r8, r13
cmp rax, r13
cmovb r8, rax
lea rax, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rax, qword [rbp - 0x80]
lea rdx, [rax + rcx*2]
lea rcx, [rsp + 0x30]
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
nop
mov r9, r13
lea rsi, [0x00503410]
nop
inc r9
cmp word [rsi + r9*2], 0
jne 0x4601b0
mov r8, rsi
xor edx, edx
lea rcx, [rsp + 0x30]
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 [rbp - 0x20], r12
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x10], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x460237
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x460232
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x4603c3
call fcn.00479330
mov word [rsp + 0x30], r12w
lea r8, [rbp - 0x20]
cmp qword [rbp - 8], 8
cmovae r8, qword [rbp - 0x20]
mov edx, 0x104
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x460299
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x460294
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x4603ca
call fcn.00479330
mov word [rbp - 0x20], r12w
mov rdi, qword [rbp - 0x68]
mov rbx, qword [rbp - 0x80]
mov edx, 0x7f
lea rcx, [0x004c92a0]
call fcn.004036d0
lea rcx, [0x00400000]
lea rdx, [rcx + 0xc9330]
lea rdx, [rdx + rax*2]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r15d
lea r9, str.g_chk_list__d____s
mov ecx, 1
mov r8d, 0x7fc
call fcn.0044b390
nop
cmp rdi, 8
jb 0x460327
lea rdx, [rdi*2 + 2]
mov rax, rbx
cmp rdx, 0x1000
jb 0x46031e
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x4603d1
mov rcx, rbx
call fcn.00479330
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x460364
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x46035e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x4603d8
call fcn.00479330
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x4603a0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x46039b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x4603df
call fcn.00479330
inc r15d
cmp r15d, 4
jge 0x4603e6
lea rbx, [0x00400000]
jmp 0x45fe70
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.00479310
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.00407de0
nop
call fcn.00407de0
int3