Function at 0x1400b2e70
Capabilities:
Get common file path

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x50
xor r11d, r11d
mov rdi, qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea r12, [rsp + 0x40]
mov rbp, rdx
mov rbx, rcx
mov edx, 0x400
mov qword [rsp + 0x30], r12
lea rsi, [rsp + 0x30]
mov qword [rsp + 0x38], 0
mov word [rsp + 0x40], r11w
nop dword [rax]
xor r8d, r8d
mov rcx, rsi
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::resize(unsigned long long, wchar_t)
mov rdx, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x38]
call rdi
mov edx, eax
cmp qword [rsp + 0x38], rdx
jb 0x1400b2eb0
mov qword [rsp + 0x28], rdx
test eax, eax
je 0x1400b2f80
call dbg.std::_V2::system_category()
mov rdx, qword [rsp + 0x28]
xor edi, edi
mov dword [rbp], edi
xor r8d, r8d
mov rcx, rsi
mov qword [rbp + 8], rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::resize(unsigned long long, wchar_t)
mov rax, qword [rsp + 0x30]
lea rdx, [rbx + 0x10]
mov rcx, qword [rsp + 0x38]
mov qword [rbx], rdx
cmp rax, r12
je 0x1400b2ff0
mov qword [rbx], rax
mov rax, qword [rsp + 0x40]
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], rcx
lea rdi, [rbx + 0x20]
xor r10d, r10d
mov rcx, rdi
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 0
mov word [rsp + 0x40], r10w
call dbg.std::filesystem::__cxx11::path::_List::_List()
mov rcx, rbx
call dbg.std::filesystem::__cxx11::path::_M_split_cmpts()
mov rcx, qword [rsp + 0x30]
cmp rcx, r12
je 0x1400b2f68
mov rax, qword [rsp + 0x40]
lea rdx, [rax + rax + 2]
call dbg.operator delete(void*, unsigned long long)
mov r9d, dword [rbp]
test r9d, r9d
je 0x1400b2fa0
mov rax, rbx
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call dbg.std::_V2::system_category()
mov rdx, qword [rsp + 0x28]
jmp 0x1400b2ee8
mov rdx, rbp
mov rcx, rbx
call dbg.std::filesystem::status(std::filesystem::__cxx11::path const&, std::error_code&)
mov r8d, dword [rbp]
test r8d, r8d
jne 0x1400b3030
cmp al, 2
je 0x1400b2f71
mov rax, qword [rbx]
xor edx, edx
mov qword [rbx + 8], 0
mov rcx, rbx
mov word [rax], dx
call dbg.std::filesystem::__cxx11::path::_M_split_cmpts()
call dbg.std::_V2::generic_category()
mov dword [rbp], 0x14
mov qword [rbp + 8], rax
mov rax, rbx
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rax, [rcx + rcx + 2]
cmp eax, 8
jae 0x1400b3056
test al, 4
jne 0x1400b30a6
test eax, eax
je 0x1400b2f20
movzx r8d, byte [r12]
mov byte [rbx + 0x10], r8b
test al, 2
je 0x1400b2f20
mov eax, eax
movzx r8d, word [r12 + rax - 2]
mov word [rdx + rax - 2], r8w
jmp 0x1400b2f20
mov rax, qword [rbx]
xor ecx, ecx
mov qword [rbx + 8], 0
mov word [rax], cx
mov rcx, rbx
call dbg.std::filesystem::__cxx11::path::_M_split_cmpts()
mov rax, rbx
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov r8, qword [r12]
mov r11, r12
mov qword [rbx + 0x10], r8
mov r8d, eax
mov r9, qword [r12 + r8 - 8]
mov qword [rdx + r8 - 8], r9
lea r9, [rbx + 0x18]
and r9, 0xfffffffffffffff8
sub rdx, r9
add eax, edx
sub r11, rdx
and eax, 0xfffffff8
cmp eax, 8
jb 0x1400b2f20
and eax, 0xfffffff8
xor edx, edx
mov r8d, edx
add edx, 8
mov r10, qword [r11 + r8]
mov qword [r9 + r8], r10
cmp edx, eax
jb 0x1400b308f
jmp 0x1400b2f20
mov r8d, dword [r12]
mov eax, eax
mov dword [rbx + 0x10], r8d
mov r8d, dword [r12 + rax - 4]
mov dword [rdx + rax - 4], r8d
jmp 0x1400b2f20