Function at 0x140017510
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x538
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x4b0], 0xfffffffffffffffe
mov rsi, r9
mov rdi, r8
mov rbx, rdx
lea rdx, [rbp - 0x50]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x140017fb5
mov qword [rbp + 0x3f8], rdi
mov qword [rbp + 0x400], rsi
movabs rax, 0x14749ad006e95b31
mov qword [rbp + 0x1c0], rax
mov rax, qword [rbp + 0x1c0]
mov qword [rbp + 0x450], rax
movabs rcx, 0x40bc6108abfdd09a
mov qword [rbp + 0x1c0], rcx
mov rax, qword [rbp + 0x1c0]
mov qword [rbp + 0x458], rax
movabs rax, 0x1474f4b9649b3f5d
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 0x2d0], rcx
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x1c8], rax
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x2d0], rax
mov rax, qword [rbp + 0x2d0]
movaps xmm0, xmmword [rbp + 0x450]
xorps xmm0, xmmword [rax]
movaps xmmword [rbp + 0x450], xmm0
mov r14, qword [rbx + 0x10]
lea rcx, [rbp + 0x450]
call fcn.140193da0
mov rsi, rax
movabs rcx, 0x7fffffffffffffff
mov rax, r14
xor rax, rcx
cmp rax, rsi
jb 0x140017fcf
mov r12, qword [rbx]
mov rax, qword [rbx + 0x18]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x430], xmm0
mov r15, rsi
add r15, r14
mov edi, 0xf
lea r13, [rbp + 0x430]
cmp r15, 0x10
jb 0x1400176ae
mov qword [rbp + 0x428], rax
mov rax, r15
or rax, 0xf
js 0x140017677
cmp rax, 0x17
mov edi, 0x16
cmovae rdi, rax
lea rcx, [rdi + 1]
cmp rdi, 0xfff
jae 0x14001768b
call fcn.14010eb54
mov r13, rax
jmp 0x1400176a0
movabs rdi, 0x7fffffffffffffff
movabs rcx, 0x8000000000000000
add rcx, 0x27
call fcn.14010eb54
lea r13, [rax + 0x27]
and r13, 0xffffffffffffffe0
mov qword [r13 - 8], rax
mov qword [rbp + 0x430], r13
mov rax, qword [rbp + 0x428]
cmp rax, 0x10
mov qword [rbp + 0x428], rbx
cmovb r12, rbx
mov qword [rbp + 0x440], r15
mov qword [rbp + 0x448], rdi
mov rcx, r13
mov rdx, r12
mov r8, r14
call fcn.14017c490
add r14, r13
lea rdx, [rbp + 0x450]
mov rcx, r14
mov r8, rsi
call fcn.14017c490
mov byte [r13 + r15], 0
mov rax, qword [rbp + 0x440]
cmp qword [rbp + 0x448], 0x10
lea rcx, [rbp + 0x430]
jb 0x140017713
mov rcx, qword [rbp + 0x430]
mov qword [rbp + 0x3d8], rcx
mov qword [rbp + 0x3e0], rax
lea rcx, [rbp + 0x470]
lea rdx, [rbp + 0x3d8]
call fcn.140019bc0
xorps xmm0, xmm0
movaps xmmword [rbp + 0x4a0], xmm0
movaps xmmword [rbp + 0x490], xmm0
lea rcx, [rbp - 0x50]
call fcn.1401954d0
mov r14, rax
movabs rax, 0x7fffffffffffffff
cmp r14, rax
jae 0x140017fd4
cmp r14, 7
ja 0x1400177a0
mov qword [rbp + 0x4a0], r14
mov qword [rbp + 0x4a8], 7
lea r8, [r14 + r14]
lea rcx, [rbp + 0x490]
lea rdx, [rbp - 0x50]
call fcn.14017c490
lea rax, [r14*2 + 0x490]
add rax, rbp
jmp 0x140017841
mov qword [rbp + 0x4a8], 7
mov rax, r14
or rax, 7
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x140017fe3
cmp rax, 0xb
mov esi, 0xa
cmovae rsi, rax
lea rcx, [rsi + rsi]
cmp rsi, 0x7ff
jb 0x14001780c
movabs rax, 0x7fffffffffffffec
cmp rsi, rax
jae 0x140017fe3
add rcx, 0x29
call fcn.14010eb54
mov r15, rax
add r15, 0x27
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x140017818
add rcx, 2
call fcn.14010eb54
mov r15, rax
mov qword [rbp + 0x490], r15
mov qword [rbp + 0x4a0], r14
mov qword [rbp + 0x4a8], rsi
lea r8, [r14 + r14]
lea rdx, [rbp - 0x50]
mov rcx, r15
call fcn.14017c490
lea rax, [r15 + r14*2]
mov word [rax], 0
lea r15, [rbp + 0x2d0]
lea r8, [rbp + 0x490]
lea r9, [rbp + 0x470]
mov rcx, r15
mov qword [rbp + 0x408], r8
call fcn.140016d40
mov rsi, qword [rbp + 0x3f8]
cmp qword [rbp + 0x2e8], 8
jb 0x140017882
mov r15, qword [rbp + 0x2d0]
mov dword [rsp + 0x20], 1
lea rcx, [rbp + 0x1c0]
mov rdx, r15
mov r8d, 0x20
mov r9d, 0x40
call fcn.140014100
mov rax, qword [rbp + 0x2e8]
cmp rax, 8
jb 0x1400178f1
mov rcx, qword [rbp + 0x2d0]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x1400178ec
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140017fca
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.14010eb98
mov qword [rbp + 0x2e0], 0
mov qword [rbp + 0x2e8], 7
mov word [rbp + 0x2d0], 0
mov rax, qword [rbp + 0x4a8]
cmp rax, 8
jb 0x14001795c
mov rcx, qword [rbp + 0x490]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140017957
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140017fca
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.14010eb98
mov rax, qword [rbp + 0x488]
cmp rax, 8
jb 0x1400179a8
mov rcx, qword [rbp + 0x470]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x1400179a3
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140017fca
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.14010eb98
mov qword [rbp + 0x480], 0
mov qword [rbp + 0x488], 7
mov word [rbp + 0x470], 0
mov rax, qword [rbp + 0x448]
cmp rax, 0x10
jb 0x140017a0c
mov rcx, qword [rbp + 0x430]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140017a07
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140017fca
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.14010eb98
mov r8, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 0x10
jb 0x140017a1a
mov rsi, qword [rsi]
lea rcx, [rbp + 0x1c0]
mov rdx, rsi
call fcn.140016f20
lea rcx, [rbp + 0x1c0]
call fcn.140010310
movabs rax, 0x1474f4b903fa4b38
mov qword [rbp + 0x2d0], rax
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x410], rax
movabs rcx, 0x40bc6108abfdd09a
mov qword [rbp + 0x2d0], rcx
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x418], rax
movabs rax, 0x1474f4b9649b3f5d
mov qword [rbp + 0x2d0], rax
mov qword [rbp + 0x470], rcx
mov rax, qword [rbp + 0x470]
mov qword [rbp + 0x2d8], rax
lea rax, [rbp + 0x2d0]
mov qword [rbp + 0x470], rax
mov rax, qword [rbp + 0x470]
movaps xmm0, xmmword [rbp + 0x410]
xorps xmm0, xmmword [rax]
movaps xmmword [rbp + 0x410], xmm0
mov rsi, qword [rbp + 0x428]
mov rbx, qword [rsi + 0x10]
lea rcx, [rbp + 0x410]
call fcn.140193da0
mov r15, rax
mov rax, rbx
movabs rcx, 0x7fffffffffffffff
xor rax, rcx
cmp rax, r15
jb 0x140017fd9
mov rax, qword [rsi]
mov r14, qword [rsi + 0x18]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x4a0], xmm0
movaps xmmword [rbp + 0x490], xmm0
lea r13, [r15 + rbx]
mov edi, 0xf
lea r12, [rbp + 0x490]
cmp r13, 0x10
jb 0x140017b8e
mov rsi, rax
mov rax, r13
or rax, 0xf
js 0x140017b50
cmp rax, 0x17
mov edi, 0x16
cmovae rdi, rax
lea rcx, [rdi + 1]
cmp rdi, 0xfff
jae 0x140017b64
call fcn.14010eb54
mov r12, rax
jmp 0x140017b7d
movabs rcx, 0x8000000000000000
movabs rdi, 0x7fffffffffffffff
add rcx, 0x27
call fcn.14010eb54
mov r12, rax
add r12, 0x27
and r12, 0xffffffffffffffe0
mov qword [r12 - 8], rax
mov rax, rsi
mov qword [rbp + 0x490], r12
mov rsi, qword [rbp + 0x428]
cmp r14, 0x10
cmovae rsi, rax
mov qword [rbp + 0x4a0], r13
mov qword [rbp + 0x4a8], rdi
mov rcx, r12
mov rdx, rsi
mov r8, rbx
call fcn.14017c490
add rbx, r12
lea rdx, [rbp + 0x410]
mov rcx, rbx
mov r8, r15
call fcn.14017c490
mov byte [r12 + r13], 0
mov rax, qword [rbp + 0x4a0]
cmp qword [rbp + 0x4a8], 0x10
jb 0x140017beb
mov rcx, qword [rbp + 0x490]
mov qword [rbp + 0x408], rcx
mov rcx, qword [rbp + 0x408]
mov qword [rbp + 0x3e8], rcx
mov qword [rbp + 0x3f0], rax
lea rcx, [rbp + 0x430]
lea rdx, [rbp + 0x3e8]
call fcn.140019bc0
mov r14, qword [rbp + 0x400]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x460], xmm0
movaps xmmword [rbp + 0x450], xmm0
lea rcx, [rbp - 0x50]
call fcn.1401954d0
mov rdi, rax
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
jae 0x140017fde
cmp rdi, 7
ja 0x140017c86
mov qword [rbp + 0x460], rdi
mov qword [rbp + 0x468], 7
lea r8, [rdi + rdi]
lea rcx, [rbp + 0x450]
lea rdx, [rbp - 0x50]
call fcn.14017c490
lea rax, [rdi*2 + 0x450]
add rax, rbp
jmp 0x140017d27
mov qword [rbp + 0x468], 7
mov rax, rdi
or rax, 7
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x140017fe8
cmp rax, 0xb
mov esi, 0xa
cmovae rsi, rax
lea rcx, [rsi + rsi]
cmp rsi, 0x7ff
jb 0x140017cf2
movabs rax, 0x7fffffffffffffec
cmp rsi, rax
jae 0x140017fe8
add rcx, 0x29
call fcn.14010eb54
mov rbx, rax
add rbx, 0x27
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140017cfe
add rcx, 2
call fcn.14010eb54
mov rbx, rax
mov qword [rbp + 0x450], rbx
mov qword [rbp + 0x460], rdi
mov qword [rbp + 0x468], rsi
lea r8, [rdi + rdi]
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.14017c490
lea rax, [rbx + rdi*2]
mov word [rax], 0
lea rdi, [rbp + 0x470]
lea r8, [rbp + 0x450]
lea r9, [rbp + 0x430]
mov rcx, rdi
call fcn.140016d40
cmp qword [rbp + 0x488], 8
jb 0x140017d5a
mov rdi, qword [rbp + 0x470]
mov dword [rsp + 0x20], 1
lea rcx, [rbp + 0x2d0]
mov rdx, rdi
mov r8d, 0x20
mov r9d, 0x40
call fcn.140014100
mov rax, qword [rbp + 0x488]
cmp rax, 8
jb 0x140017dc9
mov rcx, qword [rbp + 0x470]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140017dc4
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140017fca
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.14010eb98
mov qword [rbp + 0x480], 0
mov qword [rbp + 0x488], 7
mov word [rbp + 0x470], 0
mov rax, qword [rbp + 0x468]
cmp rax, 8
jb 0x140017e34
mov rcx, qword [rbp + 0x450]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140017e2f
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140017fca
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.14010eb98
mov rax, qword [rbp + 0x448]
cmp rax, 8
jb 0x140017e80
mov rcx, qword [rbp + 0x430]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140017e7b
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140017fca
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.14010eb98
mov qword [rbp + 0x440], 0
mov qword [rbp + 0x448], 7
mov word [rbp + 0x430], 0
mov rax, qword [rbp + 0x4a8]
cmp rax, 0x10
jb 0x140017ee4
mov rcx, qword [rbp + 0x490]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140017edf
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140017fca
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.14010eb98
mov r8, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 0x10
jb 0x140017ef2
mov r14, qword [r14]
lea rcx, [rbp + 0x2d0]
mov rdx, r14
call fcn.140016f20
lea rcx, [rbp + 0x2d0]
call fcn.140010310
lea rsi, [rbp + 0x378]
mov rax, qword [rbp + 0x2d0]
movsxd rax, dword [rax + 4]
lea rdi, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rax + 0x2d0], rdi
mov rax, qword [rbp + 0x2d0]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xa8]
mov dword [rbp + rax + 0x2cc], ecx
lea rcx, [rbp + 0x2d8]
call fcn.14000eea0
lea rbx, vtable.std::ios_base.0
mov qword [rbp + 0x378], rbx
mov rcx, rsi
call fcn.14010f180
lea rsi, [rbp + 0x268]
mov rax, qword [rbp + 0x1c0]
movsxd rax, dword [rax + 4]
mov qword [rbp + rax + 0x1c0], rdi
mov rax, qword [rbp + 0x1c0]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xa8]
mov dword [rbp + rax + 0x1bc], ecx
lea rcx, [rbp + 0x1c8]
call fcn.14000eea0
mov qword [rbp + 0x268], rbx
mov rcx, rsi
call fcn.14010f180
nop
add rsp, 0x538
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.14018c4a0
call fcn.140001fc0
call fcn.140001fc0
call fcn.140001fc0
call fcn.140001fc0
call fcn.140001a10
call fcn.140001a10
int3