Function at 0x48b060
Capabilities:
Get common file path
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
lea rax, str.LOCALAPPDATA
lea rdi, str.TEMP
xor esi, esi
movq xmm1, rax
lea rax, str.USERPROFILE
movq xmm0, rdi
mov rdi, qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
punpcklqdq xmm0, xmm1
lea r13, [0x0087e756]
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0x80]
lea r14, [rsp + 0x90]
mov qword [rsp + 0x38], rax
lea rbp, [rsp + 0x70]
lea r15, [rsp + 0x58]
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0x78], 0
mov word [rsp + 0x80], ax
movups xmmword [rsp + 0xb8], xmm0
nop dword [rax]
xor r8d, r8d
xor edx, edx
mov rcx, r13
call rdi
mov ebx, eax
test rbx, rbx
je 0x48b330
add rbx, rbx
mov rcx, rbx
call sym.operator_new_unsigned_long_long_
mov r8, rbx
mov r12, rax
xor edx, edx
mov rcx, rax
call sym.memset
sar rbx, 1
mov rdx, r12
mov rcx, r13
mov r8, rbx
call rdi
lea rbx, [rsp + 0xa0]
mov qword [rsp + 0x90], rbx
test eax, eax
jne 0x48b360
mov qword [rsp + 0x98], 0
xor eax, eax
mov word [rsp + 0xa0], ax
mov rcx, r12
call sym.operator_delete_void_
cmp qword [rsp + 0x98], 0
je 0x48b1fe
mov rdx, r14
mov rcx, rbp
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___._M_assign_std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const_
cmp rsi, 1
jbe 0x48b1af
lea rdx, str.Temp
mov rcx, rbp
call method.boost::filesystem::path.operator__wchar_t_const_
lea r12, [rsp + 0x60]
mov dword [rsp + 0x60], 0
call method.boost::system.system_category__
mov r8, r12
mov rdx, rbp
mov rcx, r15
mov qword [rsp + 0x68], rax
call method.boost::filesystem::detail.status_boost::filesystem::path_const__boost::system::error_code_
cmp dword [rsp + 0x58], 1
jbe 0x48b1e9
mov r13d, dword [rsp + 0x60]
test r13d, r13d
je 0x48b410
mov rax, qword [rsp + 0x70]
xor r11d, r11d
mov qword [rsp + 0x78], 0
mov word [rax], r11w
mov rcx, qword [rsp + 0x90]
cmp rcx, rbx
je 0x48b300
call sym.operator_delete_void_
add rsi, 1
mov r13, qword [rsp + rsi*8 + 0xb0]
test r13, r13
jne 0x48b110
mov rsi, qword [rsp + 0x78]
test rsi, rsi
jne 0x48b458
mov rdi, qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
xor edx, edx
xor ecx, ecx
call rdi
mov esi, eax
test rsi, rsi
je 0x48b4f3
add rsi, rsi
mov rcx, rsi
call sym.operator_new_unsigned_long_long_
mov r12, rax
mov r8, rsi
xor edx, edx
mov rcx, rax
call sym.memset
sar rsi, 1
mov rcx, r12
mov rdx, rsi
call rdi
test eax, eax
jne 0x48b503
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
je 0x48b4c0
cmp qword [rsp + 0x138], 0
je 0x48b604
call method.boost::system.system_category__
mov rdi, qword [rsp + 0x138]
mov dword [rdi], esi
mov qword [rdi + 8], rax
mov rax, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x130]
xor r10d, r10d
add rax, 0x10
mov qword [rdi + 8], 0
mov qword [rdi], rax
mov word [rdi + 0x10], r10w
test r12, r12
je 0x48b2e3
mov rcx, r12
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x70]
cmp rcx, qword [rsp + 0x38]
je 0x48b4a0
call sym.operator_delete_void_
jmp 0x48b4a0
add rsi, 1
mov r13, qword [rsp + rsi*8 + 0xb0]
test r13, r13
jne 0x48b110
mov rsi, qword [rsp + 0x78]
test rsi, rsi
jne 0x48b458
jmp 0x48b237
lea rbx, [rsp + 0xa0]
xor eax, eax
mov qword [rsp + 0x98], 0
mov qword [rsp + 0x90], rbx
mov word [rsp + 0xa0], ax
jmp 0x48b1fe
mov rcx, r12
call sym.wcslen
lea r13, [rax + rax]
mov rdx, r13
sar rdx, 1
mov qword [rsp + 0x60], rdx
cmp rdx, 7
ja 0x48b3c0
mov rcx, qword [rsp + 0x90]
cmp rdx, 1
jne 0x48b3b0
movzx eax, word [r12]
mov word [rcx], ax
xor eax, eax
mov qword [rsp + 0x98], rdx
mov word [rcx + r13], ax
jmp 0x48b17c
test rdx, rdx
je 0x48b393
jmp 0x48b3e8
lea rdx, [rsp + 0x60]
xor r8d, r8d
mov rcx, r14
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___._M_create_unsigned_long_long__unsigned_long_long_
mov qword [rsp + 0x90], rax
mov rcx, rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rax
mov r8, r13
mov rdx, r12
call sym.memcpy
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x90]
lea r13, [rdx + rdx]
jmp 0x48b393
mov r8, r12
mov rdx, rbp
mov rcx, r15
call method.boost::filesystem::detail.status_boost::filesystem::path_const__boost::system::error_code_
cmp dword [rsp + 0x58], 3
jne 0x48b1e9
mov r12d, dword [rsp + 0x60]
test r12d, r12d
jne 0x48b1e9
mov rcx, qword [rsp + 0x90]
cmp rcx, rbx
je 0x48b229
call sym.operator_delete_void_
jmp 0x48b229
mov rax, qword [rsp + 0x130]
xor edx, edx
lea rcx, [rax + 0x10]
mov qword [rax + 8], 0
mov qword [rax], rcx
mov word [rax + 0x10], dx
mov rax, qword [rsp + 0x70]
cmp rax, qword [rsp + 0x38]
je 0x48b594
mov rdi, qword [rsp + 0x130]
mov qword [rdi], rax
mov rax, qword [rsp + 0x80]
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], rax
mov rax, qword [rsp + 0x130]
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp qword [rsp + 0x138], 0
je 0x48b2af
mov rax, qword [rsp + 0x138]
mov dword [rax], 0
call method.boost::system.system_category__
mov rdi, qword [rsp + 0x138]
mov qword [rdi + 8], rax
jmp 0x48b2af
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
xor r12d, r12d
jmp 0x48b285
mov rcx, r12
lea r13, [rsp + 0x70]
call sym.wcslen
mov r8, qword [rsp + 0x78]
mov r9, r12
xor edx, edx
mov qword [rsp + 0x20], rax
mov rcx, r13
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___._M_replace_unsigned_long_long__unsigned_long_long__wchar_t_const__unsigned_long_long_
lea rdx, str.Temp
mov rcx, r13
call method.boost::filesystem::path.operator__wchar_t_const_
mov rcx, r12
call sym.operator_delete_void_
mov rax, qword [rsp + 0x130]
xor r9d, r9d
mov rsi, qword [rsp + 0x78]
lea rcx, [rax + 0x10]
mov qword [rax + 8], 0
mov qword [rax], rcx
mov word [rax + 0x10], r9w
mov rax, qword [rsp + 0x70]
cmp rax, qword [rsp + 0x38]
jne 0x48b485
lea rbx, [rsi + rsi]
test rsi, rsi
jne 0x48b598
mov rax, qword [rsp + 0x130]
xor r8d, r8d
mov qword [rax + 8], rsi
mov word [rcx + rbx], r8w
jmp 0x48b4a0
lea rbx, [rsi + rsi]
cmp rsi, 1
je 0x48b5b0
mov rdx, qword [rsp + 0x38]
mov r8, rbx
call sym.memcpy
mov rcx, rax
jmp 0x48b57b
movzx eax, word [rsp + 0x80]
mov rdi, qword [rsp + 0x130]
mov word [rdi + 0x10], ax
jmp 0x48b57b
mov rcx, qword [rsp + 0x70]
cmp rcx, qword [rsp + 0x38]
je 0x48b5ec
call sym.operator_delete_void_
mov rcx, r12
call sym._Unwind_Resume
mov rbx, rax
mov rcx, r12
call sym.operator_delete_void_
mov r12, rbx
jmp 0x48b5db
mov ecx, 0x50
lea r14, [rsp + 0x90]
call sym.__cxa_allocate_exception
mov r13, rax
call method.boost::system.system_category__
lea rdx, str.boost::filesystem::temp_directory_path
mov rcx, r14
mov rdi, rax
call fcn.00856190
mov rcx, r13
lea r8, [rsp + 0x40]
mov rdx, r14
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rdi
call method.boost::filesystem::filesystem_error.filesystem_error_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__boost::system::error_code_
mov rcx, qword [rsp + 0x90]
cmp rcx, rbx
je 0x48b65c
call sym.operator_delete_void_
lea r8, [sym.boost::filesystem::filesystem_error::filesystem_error__]
lea rdx, [0x009a1b90]
mov rcx, r13
call sym.__cxa_throw
mov rbx, rax
mov r12, rbx
jmp 0x48b5db