Function at 0x140090fa0
Capabilities:
Get common file path

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x60
mov ebx, 0x400
lea rdi, [rsp + 0x40]
mov rsi, rcx
call method.std::_V2.system_category__
lea rbp, [rsp + 0x50]
xor r10d, r10d
mov edx, ebx
mov rcx, rdi
mov r12, qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], 0
mov word [rsp + 0x50], r10w
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___.reserve_unsigned_long_long_
nop
mov rdx, qword [rsp + 0x40]
mov ecx, ebx
call r12
cmp ebx, eax
jae 0x140091028
mov rdx, qword [rsp + 0x40]
xor r9d, r9d
mov ebx, eax
mov rcx, rdi
mov qword [rsp + 0x48], 0
mov word [rdx], r9w
mov edx, ebx
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___.reserve_unsigned_long_long_
jmp 0x140090ff0
mov rcx, qword [rsp + 0x40]
mov edx, eax
xor r8d, r8d
test eax, eax
mov qword [rsp + 0x48], rdx
mov word [rcx + rdx*2], r8w
je 0x140091118
lea rax, [rsi + 0x10]
xor ebx, ebx
cmp rcx, rbp
mov qword [rsi], rax
je 0x14009113a
mov rax, qword [rsp + 0x50]
mov qword [rsi], rcx
mov qword [rsi + 0x10], rax
lea r12, [rsi + 0x20]
xor eax, eax
mov qword [rsi + 8], rdx
mov rcx, r12
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], 0
mov word [rsp + 0x50], ax
call method.std::filesystem::__cxx11::path::_List._List__
mov rcx, rsi
call method.std::filesystem::__cxx11::path._M_split_cmpts__
mov rcx, qword [rsp + 0x40]
cmp rcx, rbp
je 0x1400910a8
mov rax, qword [rsp + 0x50]
lea rdx, [rax + rax + 2]
call sym.operator_delete_void__unsigned_long_long_
test ebx, ebx
je 0x140091180
cmp qword [rsi + 8], 0
mov ecx, 0x30
jne 0x14009125c
call sym.__cxa_allocate_exception
lea rdx, str.temp_directory_path
mov rcx, rdi
mov rbp, rax
call fcn.1400d3660
mov dword [rsp + 0x30], ebx
movdqa xmm0, xmmword [rsp + 0x30]
mov rdx, rdi
mov rcx, rbp
lea r8, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
call method.std::filesystem::__cxx11::filesystem_error.filesystem_error_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::error_code_
mov rcx, rdi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea r8, [method.std::filesystem::__cxx11::filesystem_error.filesystem_error__]
mov rcx, rbp
lea rdx, [0x1401158b0]
call sym.__cxa_throw
nop dword [rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x40]
mov ebx, eax
mov rdx, qword [rsp + 0x48]
lea rax, [rsi + 0x10]
mov qword [rsi], rax
cmp rcx, rbp
jne 0x140091056
lea rcx, [rdx + rdx + 2]
cmp ecx, 8
jae 0x1400911c7
test cl, 4
jne 0x140091200
test ecx, ecx
je 0x140091062
movzx r8d, byte [rsp + 0x50]
test cl, 2
mov byte [rax], r8b
je 0x140091062
mov ecx, ecx
movzx r8d, word [rbp + rcx - 2]
mov word [rax + rcx - 2], r8w
jmp 0x140091062
lea rdx, [rsp + 0x30]
mov rcx, rsi
mov dword [rsp + 0x30], 0
call method.std::filesystem.status_std::filesystem::__cxx11::path_const__std::error_code_
mov ebx, dword [rsp + 0x30]
test ebx, ebx
jne 0x1400910b0
cmp al, 2
je 0x1400911b9
call method.std::_V2.generic_category__
mov ebx, 0x14
mov qword [rsp + 0x38], rax
jmp 0x1400910b0
mov rax, rsi
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov r8d, ecx
sub ecx, 1
mov r9, qword [rbp + r8 - 8]
cmp ecx, 8
mov qword [rax + r8 - 8], r9
jb 0x140091062
and ecx, 0xfffffff8
xor r8d, r8d
mov r9d, r8d
add r8d, 8
mov r10, qword [rbp + r9]
cmp r8d, ecx
mov qword [rax + r9], r10
jb 0x1400911e6
jmp 0x140091062
mov r8d, dword [rsp + 0x50]
mov ecx, ecx
mov dword [rax], r8d
mov r8d, dword [rbp + rcx - 4]
mov dword [rax + rcx - 4], r8d
jmp 0x140091062
call sym.__cxa_allocate_exception
lea rdx, str.temp_directory_path
mov rcx, rdi
mov rbp, rax
call fcn.1400d3660
mov dword [rsp + 0x30], ebx
movdqa xmm1, xmmword [rsp + 0x30]
mov r8, rsi
mov rdx, rdi
lea r9, [rsp + 0x20]
mov rcx, rbp
movaps xmmword [rsp + 0x20], xmm1
call method.std::filesystem::__cxx11::filesystem_error.filesystem_error_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::filesystem::__cxx11::path_const__std::error_code_
mov rcx, rdi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea r8, [method.std::filesystem::__cxx11::filesystem_error.filesystem_error__]
mov rcx, rbp
lea rdx, [0x1401158b0]
call sym.__cxa_throw
mov rbx, rax
mov rcx, r12
call method.std::unique_ptr_std::filesystem::__cxx11::path::_List::_Impl__std::filesystem::__cxx11::path::_List::_Impl_deleter_.unique_ptr__
mov rcx, rsi
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___._M_dispose__
mov rcx, rbx
call dbg._Unwind_Resume
mov rcx, rdi
mov rbx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov rcx, rbp
call sym.__cxa_free_exception
jmp 0x1400912b6