Function at 0x231945aea
Capabilities:
Get common file path

Disassembly:
push rbp
push rbx
sub rsp, 0x2e8
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x280], ecx
mov dword [rbp + 0x288], edx
mov dword [rbp + 0x290], r8d
mov dword [rbp + 0x298], r9d
lea rax, [rbp - 0x50]
mov edx, 0x104
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
call rax
lea rax, [rbp - 0x50]
mov rcx, rax
mov rax, qword [sym.imp.SHLWAPI.dll_PathAddBackslashA]
call rax
lea rax, [rbp + 0xbf]
mov rcx, rax
call sym.f_exsh_int__int__int__int_::lambda__1::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_8ull__10041170461807691043ull__char_.operator_char__
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_FindWindowA]
call rax
mov qword [rbp + 0x258], rax
cmp dword [rbp + 0x280], 0
je 0x231945bb8
cmp qword [rbp + 0x258], 0
je 0x231945ba5
mov rax, qword [rbp + 0x258]
mov r9d, 0
mov r8d, 0
mov edx, 0x12
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_PostMessageA]
call rax
jmp 0x231945fb8
mov ecx, 0xa
mov rax, qword [sym.imp.KERNEL32.dll_SetLastError]
call rax
jmp 0x231945fb8
cmp dword [rbp + 0x288], 0
je 0x231945d75
cmp qword [rbp + 0x258], 0
jne 0x231945d62
lea rax, [rbp + 0x10e]
mov rcx, rax
call fcn.2319de6c0
lea rax, [rbp + 0x10f]
mov rcx, rax
call sym.f_exsh_int__int__int__int_::lambda__3::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_13ull__6311550244573358893ull__char_.operator_char__
mov rdx, rax
lea rcx, [rbp + 0x10e]
lea rax, [rbp + 0xe0]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x15f]
mov rcx, rax
call fcn.2319de6c0
lea rcx, [rbp + 0x15f]
lea rdx, [rbp - 0x50]
lea rax, [rbp + 0x130]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x18e]
mov rcx, rax
call fcn.2319de6c0
lea rax, [rbp + 0x18f]
mov rcx, rax
call sym.f_exsh_int__int__int__int_::lambda__2::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_10ull__6311550244573358893ull__char_.operator_char__
mov rdx, rax
lea rcx, [rbp + 0x18e]
lea rax, [rbp + 0x160]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x110]
lea rcx, [rbp + 0x130]
lea rdx, [rbp + 0x160]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basi
lea rax, [rbp + 0xc0]
lea rcx, [rbp + 0xe0]
lea rdx, [rbp + 0x110]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basi
lea rax, [rbp + 0xc0]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov r8d, 0
mov edx, 0
mov rcx, rax
call sym.f_cp_char__unsigned_long__int_
lea rax, [rbp + 0xc0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x110]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x160]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x18e]
mov rcx, rax
call sym.std::allocator_char_::allocator__
lea rax, [rbp + 0x130]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x15f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
lea rax, [rbp + 0xe0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x10e]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp 0x231945fb8
mov ecx, 0x1392
mov rax, qword [sym.imp.KERNEL32.dll_SetLastError]
call rax
jmp 0x231945fb8
cmp dword [rbp + 0x290], 0
je 0x231945f61
mov rax, qword [rbp + 0x258]
mov r9d, 0
mov r8d, 0
mov edx, 0x12
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_PostMessageA]
call rax
lea rax, [rbp - 0x54]
mov rcx, qword [rbp + 0x258]
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
call rax
mov ecx, 0x3e8
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
mov eax, dword [rbp - 0x54]
cmp eax, 0x103
je 0x231945da6
lea rax, [rbp + 0x1de]
mov rcx, rax
call fcn.2319de6c0
lea rax, [rbp + 0x1df]
mov rcx, rax
call sym.f_exsh_int__int__int__int_::lambda__5::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_13ull__7462778895605643247ull__char_.operator_char__
mov rdx, rax
lea rcx, [rbp + 0x1de]
lea rax, [rbp + 0x1b0]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x22f]
mov rcx, rax
call fcn.2319de6c0
lea rcx, [rbp + 0x22f]
lea rdx, [rbp - 0x50]
lea rax, [rbp + 0x200]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x256]
mov rcx, rax
call fcn.2319de6c0
lea rax, [rbp + 0x257]
mov rcx, rax
call sym.f_exsh_int__int__int__int_::lambda__4::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_10ull__7462778895605643247ull__char_.operator_char__
mov rdx, rax
lea rcx, [rbp + 0x256]
lea rax, [rbp + 0x230]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x1e0]
lea rcx, [rbp + 0x200]
lea rdx, [rbp + 0x230]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basi
lea rax, [rbp + 0x190]
lea rcx, [rbp + 0x1b0]
lea rdx, [rbp + 0x1e0]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basi
lea rax, [rbp + 0x190]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov r8d, 0
mov edx, 0
mov rcx, rax
call sym.f_cp_char__unsigned_long__int_
lea rax, [rbp + 0x190]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x1e0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x230]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x256]
mov rcx, rax
call sym.std::allocator_char_::allocator__
lea rax, [rbp + 0x200]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x22f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
lea rax, [rbp + 0x1b0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x1de]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp 0x231945fb8
cmp dword [rbp + 0x298], 0
je 0x231945faa
cmp qword [rbp + 0x258], 0
je 0x231945f9a
mov rax, qword [rbp + 0x258]
mov r9d, 0
mov r8d, 0
mov edx, 0x10
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_PostMessageA]
call rax
jmp 0x231945fb8
mov ecx, 0xa
mov rax, qword [sym.imp.KERNEL32.dll_SetLastError]
call rax
jmp 0x231945fb8
mov ecx, 1
mov rax, qword [sym.imp.KERNEL32.dll_SetLastError]
call rax
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
jmp 0x231946104
add rsp, 0x2e8
pop rbx
pop rbp
ret