Function at 0x14003a250
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x260
mov rax, qword [0x1400cb008]
xor rax, rsp
mov qword [rsp + 0x250], rax
xor edx, edx
mov r8d, 0xa50
mov rbx, rcx
call sub.VCRUNTIME140.dll_memset
mov ecx, 1
mov byte [rbx + 0x10], 1
xor edi, edi
mov dword [rbx + 0x180], ecx
lea rax, str.1194
mov dword [rbx + 0x68], ecx
mov qword [rbx + 0x80], rax
lea rdx, [rsp + 0x40]
mov qword [rbx + 0x70], rax
lea rax, str.AES_256_GCM:AES_128_GCM
mov qword [rbx + 0x620], rax
lea rax, str.SHA1
mov dword [rbx + 0x380], ecx
mov dword [rbx + 0x390], ecx
mov byte [rbx + 0x9b], cl
mov byte [rbx + 0x418], cl
mov dword [rbx + 0xa1c], ecx
mov word [rbx + 0xa3c], cx
mov byte [rbx + 0x619], cl
mov byte [rbx + 0x750], cl
mov ecx, 0x104
mov qword [rbx + 0x628], rax
mov qword [rbx + 0x638], rax
mov dword [rbx + 0x9c], 5
mov dword [rbx + 0xa0], 0x12c
mov dword [rbx + 0xa4], 0x78
mov dword [rbx + 0x60], edi
mov dword [rbx + 0x394], 0x3c
mov dword [rbx + 0xc8], 0x5dc
mov dword [rbx + 0xd8], 0x5dc
mov dword [rbx + 0xe0], 0xffffffff
mov dword [rbx + 0xe8], 0x5aa
mov dword [rbx + 0x3ec], 0x1e
mov dword [rbx + 0x1f0], 0x3b9aca00
mov byte [rbx + 0x1f4], dil
mov dword [rbx + 0x1b8], 0xffffffff
mov dword [rbx + 0x438], 0xfa
mov dword [rbx + 0x43c], 0x64
mov dword [rbx + 0x440], 0x64
mov dword [rbx + 0x204], 3
mov dword [rbx + 0x218], 0x1e13380
mov dword [rbx + 0x214], edi
mov dword [rbx + 0xa14], edi
mov byte [rbx + 0xa18], dil
mov dword [rbx + 0xa38], 2
mov dword [rbx + 0x504], 0x100
mov dword [rbx + 0x508], 0x100
mov dword [rbx + 0x534], 0x100
mov dword [rbx + 0x538], 0x40
mov dword [rbx + 0x5a0], 0x400
mov qword [rbx + 0x5a4], 0x100
mov dword [rbx + 0x4e8], 0x258
mov dword [rbx + 0x5e8], 5
mov dword [rbx + 0x640], 0x10
mov dword [rbx + 0x754], 0x40
mov dword [rbx + 0x758], 0xf
mov dword [rbx + 0x60c], edi
mov dword [rbx + 0x988], 2
mov dword [rbx + 0x98c], 0xffffffff
mov dword [rbx + 0x994], 0xe10
mov dword [rbx + 0x998], 0xffffffff
mov dword [rbx + 0x99c], 0x3c
mov dword [rbx + 0x9a0], 0xe10
mov qword [rbx + 0x7f0], rdi
mov qword [rbx + 0x7f8], rdi
mov dword [rbx + 0x968], 0xffffffff
mov byte [rbx + 0x5b9], dil
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x14003a4cd
lea ecx, [rdi + 0x40]
call fcn.14000ec70
test al, al
je 0x14003a4c1
lea rdx, str.Could_not_find_a_suitable_temporary_directory.__GetTempPath___failed_.__Consider_using___tmp_dir
mov ecx, 0x40
call fcn.14000e820
mov byte [rbx + 0xa48], dil
jmp 0x14003a558
mov qword [rsp + 0x38], rdi
lea r8, [rsp + 0x40]
mov qword [rsp + 0x30], rdi
mov r9d, 0xffffffff
mov dword [rsp + 0x28], edi
xor edx, edx
mov ecx, 0xfde9
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rcx, eax
cmp rcx, 0x104
jbe 0x14003a51b
mov ecx, 0x40
call fcn.14000ec70
test al, al
je 0x14003a4c1
lea rdx, str.Could_not_get_temporary_directory._Path_is_too_long.__Consider_using___tmp_dir
jmp 0x14003a4b7
mov qword [rsp + 0x38], rdi
lea r8, [rsp + 0x40]
mov qword [rsp + 0x30], rdi
mov r9d, 0xffffffff
lea rdi, [0x1400d3a50]
mov dword [rsp + 0x28], 0x104
xor edx, edx
mov qword [rsp + 0x20], rdi
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov byte [rbx + 0xa48], 0
mov qword [rbx + 0x478], rdi
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.14008aca0
mov rbx, qword [rsp + 0x278]
add rsp, 0x260
pop rdi
ret