Function at 0x140017b10
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x250
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x14025fb40]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov r13, rcx
xor dil, dil
xor ebp, ebp
mov word [rsp + 0x30], bp
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x32]
call fcn.140195650
lea rdx, [rsp + 0x30]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x140017e1c
call fcn.14001a584
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x140017ba0
mov ecx, 0x80004005
call fcn.140015cb0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x30]
lea rax, [rsp + 0x30]
mov r12d, 1
or r15, 0xffffffffffffffff
test rax, 0xffffffffffff0000
jne 0x140017bfb
movzx edi, cx
mov ecx, edi
call fcn.140019fac
test rax, rax
je 0x140017ce9
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.1400124c0
mov rbx, qword [rsp + 0x20]
jmp 0x140017ce9
lea rax, [rsp + 0x30]
mov rdi, r15
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140017c03
test edi, edi
jne 0x140017c6b
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140017ce9
cmp dword [rdx + 0x10], 0
jge 0x140017c44
cmp dword [rbx - 0xc], 0
jge 0x140017c39
mov ecx, 0x80070057
call fcn.140015cb0
int3
mov dword [rbx - 0x10], ebp
mov word [rbx], bp
jmp 0x140017ce9
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140017c54
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x20], rbx
jmp 0x140017ce9
mov ebp, dword [rbx - 0x10]
lea rsi, [rsp + 0x30]
sub rsi, rbx
sar rsi, 1
test edi, edi
jns 0x140017c88
mov ecx, 0x80070057
call fcn.140015cb0
int3
mov ecx, r12d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140017ca8
mov edx, edi
lea rcx, [rsp + 0x20]
call fcn.140012790
mov rbx, qword [rsp + 0x20]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
lea r14, [rax + rax]
add rdx, rdx
mov r9, r14
cmp rsi, rbp
ja 0x140017ccc
lea r8, [rbx + rsi*2]
call fcn.1401928f0
jmp 0x140017cd6
lea r8, [rsp + 0x30]
call fcn.140191fe0
cmp edi, dword [rbx - 0xc]
jg 0x140017e11
mov dword [rbx - 0x10], edi
xor ebp, ebp
mov word [r14 + rbx], bp
mov rsi, rbx
mov rdi, rbp
cmp word [rbx], 0
je 0x140017d81
nop dword [rax]
movzx edx, word [rsi]
lea rcx, [0x14021c610]
call fcn.140192fc4
test rax, rax
je 0x140017d1e
test rdi, rdi
jne 0x140017d21
mov rdi, rsi
jmp 0x140017d21
mov rdi, rbp
add rsi, 2
cmp word [rsi], 0
jne 0x140017d00
test rdi, rdi
je 0x140017d81
sub rdi, rbx
sar rdi, 1
test edi, edi
jns 0x140017d45
mov ecx, 0x80070057
call fcn.140015cb0
int3
mov ecx, r12d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140017d65
mov edx, edi
lea rcx, [rsp + 0x20]
call fcn.140012790
mov rbx, qword [rsp + 0x20]
cmp edi, dword [rbx - 0xc]
jg 0x140017d76
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov word [rbx + rax*2], bp
jmp 0x140017d81
mov ecx, 0x80070057
call fcn.140015cb0
int3
mov esi, dword [rbx - 0x10]
lea edi, [rsi + 1]
test edi, edi
jns 0x140017d96
mov ecx, 0x80070057
call fcn.140015cb0
int3
sub r12d, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, r12d
jge 0x140017db5
mov edx, edi
lea rcx, [rsp + 0x20]
call fcn.140012790
mov rbx, qword [rsp + 0x20]
mov ecx, 0x5c
mov word [rbx + rsi*2], cx
cmp edi, dword [rbx - 0xc]
jg 0x140017e06
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov word [rbx + rax*2], bp
mov dword [r13 + 0x10], ebp
mov rax, r15
inc rax
cmp word [rbx + rax*2], 0
jne 0x140017dd4
lea rcx, [r13 + 8]
mov r8d, eax
mov rdx, rbx
call fcn.1400127f0
mov dil, 1
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140017e1c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140017e1c
mov ecx, 0x80070057
call fcn.140015cb0
nop
mov ecx, 0x80070057
call fcn.140015cb0
nop
movzx eax, dil
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.140191fc0
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret