Function at 0x1400a4100
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
lea rbp, [rsp + 0x50]
call method.std::_V2.system_category__
xor r10d, r10d
mov edx, ebx
mov rcx, rdi
mov qword [rsp + 0x38], rax
mov r12, qword [sym.imp.KERNEL32.dll_GetTempPathW]
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 0x1400a4188
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 0x1400a4150
mov rcx, qword [rsp + 0x40]
mov edx, eax
xor r8d, r8d
mov qword [rsp + 0x48], rdx
mov word [rcx + rdx*2], r8w
test eax, eax
je 0x1400a4220
lea rax, [rsi + 0x10]
xor ebx, ebx
mov qword [rsi], rax
cmp rcx, rbp
je 0x1400a4246
mov rax, qword [rsp + 0x50]
mov qword [rsi], rcx
mov qword [rsi + 0x10], rax
mov qword [rsi + 8], rdx
lea r12, [rsi + 0x20]
xor eax, eax
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 0x1400a4208
mov rax, qword [rsp + 0x50]
lea rdx, [rax + rax + 2]
call sym.operator_delete_void__unsigned_long_long_
test ebx, ebx
je 0x1400a4290
cmp qword [rsi + 8], 0
jne 0x1401329d1
jmp 0x140132a48
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov dword [rsp + 0x30], eax
mov ebx, eax
lea rax, [rsi + 0x10]
mov qword [rsi], rax
cmp rcx, rbp
jne 0x1400a41b6
lea rcx, [rdx + rdx + 2]
cmp ecx, 8
jae 0x1400a42d7
test cl, 4
jne 0x1400a4327
test ecx, ecx
je 0x1400a41c2
movzx r8d, byte [rsp + 0x50]
mov byte [rax], r8b
test cl, 2
je 0x1400a41c2
mov ecx, ecx
movzx r8d, word [rbp + rcx - 2]
mov word [rax + rcx - 2], r8w
jmp 0x1400a41c2
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 0x1400a4210
cmp al, 2
je 0x1400a42c9
call method.std::_V2.generic_category__
mov ebx, 0x14
mov qword [rsp + 0x38], rax
jmp 0x1400a4210
mov rax, rsi
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov r8, qword [rsp + 0x50]
mov r10, rbp
mov qword [rax], r8
mov r8d, ecx
mov r9, qword [rbp + r8 - 8]
mov qword [rax + r8 - 8], r9
lea r8, [rax + 8]
and r8, 0xfffffffffffffff8
sub rax, r8
add ecx, eax
sub r10, rax
and ecx, 0xfffffff8
cmp ecx, 8
jb 0x1400a41c2
and ecx, 0xfffffff8
xor eax, eax
mov r9d, eax
add eax, 8
mov r11, qword [r10 + r9]
mov qword [r8 + r9], r11
cmp eax, ecx
jb 0x1400a4310
jmp 0x1400a41c2
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 0x1400a41c2