Function at 0x140108820
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x370]
sub rsp, 0x470
mov rax, qword [0x140238598]
xor rax, rsp
mov qword [rbp + 0x360], rax
and dword [rsp + 0x20], 0
lea rax, [0x1401a5d88]
mov qword [rcx], rax
lea rdx, [rsp + 0x40]
mov rbx, rcx
mov esi, 0x104
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov r13d, 8
mov edi, eax
lea r15d, [r13 - 6]
lea r12d, [r13 - 7]
test eax, eax
je 0x1401089a1
mov r8d, esi
lea rdx, [rbp + 0x150]
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
mov r8d, eax
lea rcx, [rsp + 0x20]
dec eax
cmp eax, 0x102
ja 0x1401088fe
lea rdx, [rbp + 0x150]
call fcn.14013c1dc
lea rcx, [0x1401a5d88]
mov rsi, qword [rax]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x20]
mov eax, dword [rcx]
test eax, eax
je 0x1401088e9
cmp eax, 0xffffffff
je 0x1401088f4
sub eax, r12d
mov dword [rcx], eax
jne 0x1401088f4
mov rcx, qword [rsp + 0x20]
mov r8, r13
mov rdx, r15
call fcn.14010b388
lea rcx, [rsp + 0x30]
mov edi, r12d
jmp 0x140108947
mov r8d, edi
lea rdx, [rsp + 0x40]
call fcn.14013c1dc
lea rcx, [0x1401a5d88]
mov rsi, qword [rax]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x20]
mov eax, dword [rcx]
test eax, eax
je 0x140108934
cmp eax, 0xffffffff
je 0x14010893f
sub eax, r12d
mov dword [rcx], eax
jne 0x14010893f
mov rcx, qword [rsp + 0x20]
mov r8, r13
mov rdx, r15
call fcn.14010b388
lea rcx, [rsp + 0x20]
mov edi, r15d
mov rax, qword [rbx]
mov qword [rcx], rax
mov qword [rbx], rsi
test r15b, dil
je 0x14010897a
mov rcx, qword [rsp + 0x20]
and edi, 0xfffffffd
mov eax, dword [rcx]
test eax, eax
je 0x14010896f
cmp eax, 0xffffffff
je 0x14010897a
sub eax, r12d
mov dword [rcx], eax
jne 0x14010897a
mov r8, r13
mov rdx, r15
call fcn.14010b388
test r12b, dil
je 0x1401089a1
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx]
test eax, eax
je 0x140108996
cmp eax, 0xffffffff
je 0x1401089a1
sub eax, r12d
mov dword [rcx], eax
jne 0x1401089a1
mov r8, r13
mov rdx, r15
call fcn.14010b388
mov rax, qword [rbx]
cmp dword [rax + 4], 0
je 0x140108a11
mov edi, 0x5c
jmp 0x1401089bc
mov edx, r12d
mov rcx, rbx
call fcn.14013aea8
mov r8d, r12d
movzx edx, di
mov rcx, rbx
call fcn.14013b420
test al, al
jne 0x1401089b1
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14011622c
mov rcx, qword [rbx]
mov rdx, rax
mov rax, qword [rax]
mov qword [rbx], rax
mov qword [rdx], rcx
mov rcx, qword [rsp + 0x20]
mov eax, dword [rcx]
test eax, eax
je 0x140108a06
cmp eax, 0xffffffff
je 0x140108a11
sub eax, r12d
mov dword [rcx], eax
jne 0x140108a11
mov rcx, qword [rsp + 0x20]
mov r8, r13
mov rdx, r15
call fcn.14010b388
mov rax, qword [rbx]
mov ecx, dword [rax + 4]
test ecx, ecx
jne 0x140108a4d
lea rdi, str.C:_tmp
mov rcx, rdi
call fcn.14016a910
mov dword [rsp + 0x30], eax
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x38], rdi
mov rcx, rbx
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
call fcn.140139824
jmp 0x140108aa0
cmp ecx, r15d
jl 0x140108aa0
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x30], rbx
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x38], r12d
call fcn.140038078
cmp word [rax], 0x3a
jne 0x140108aa0
xor r8d, r8d
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.1400068e8
movzx ecx, word [rax]
call fcn.140142d24
and dword [rsp + 0x38], 0
lea rcx, [rsp + 0x30]
movzx edx, ax
mov qword [rsp + 0x30], rbx
call fcn.140027aa0
mov rax, rbx
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.1401666e0
lea r11, [rsp + 0x470]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r13
pop r12
pop rdi
pop rbp
ret