Function at 0x1401493e0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4e0]
sub rsp, 0x5e0
mov rax, qword [0x14043c0c0]
xor rax, rsp
mov qword [rbp + 0x4d0], rax
mov r12, r9
mov r15, r8
mov rdi, rdx
xor r13d, r13d
lea rdx, [rbp + 0x2c0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x140149c8f
movabs rax, 0x308519e0dc7e32c9
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x210], rax
movabs rcx, 0x48519c0451abee5e
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x218], rax
movabs rax, 0x30857789be0c56a5
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x78], rax
movdqa xmm0, xmmword [rbp + 0x210]
xorps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp + 0x210], xmm0
mov rdx, qword [rdi + 0x10]
lea rax, [rbp + 0x210]
mov rbx, 0xffffffffffffffff
mov rcx, rbx
nop dword [rax + rax]
inc rcx
cmp byte [rax + rcx], r13b
jne 0x1401494c0
movabs rsi, 0x7fffffffffffffff
mov rax, rsi
sub rax, rdx
cmp rax, rcx
jb 0x140149cbf
mov r9, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1401494ef
mov r9, qword [rdi]
mov qword [rsp + 0x30], rcx
lea rax, [rbp + 0x210]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x260]
call fcn.1401280a0
nop
lea rax, [rbp + 0x260]
cmp qword [rbp + 0x278], 0xf
cmova rax, qword [rbp + 0x260]
mov qword [rbp - 0x70], rax
mov rax, qword [rbp + 0x270]
mov qword [rbp - 0x68], rax
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp + 0x220], xmm0
lea rdx, [rbp + 0x220]
lea rcx, [rbp + 0x280]
call fcn.14014ff50
mov r14, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x1d0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1e0], xmm1
lea rax, [rbp + 0x2c0]
mov r8, rbx
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140149580
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp + 0x1d0]
call fcn.140112ec0
nop
mov r9, r14
lea r8, [rbp + 0x1d0]
lea rcx, [rbp + 0x1f0]
call fcn.14014c9f0
nop
lea rdx, [rbp + 0x1f0]
cmp qword [rbp + 0x208], 7
cmova rdx, qword [rbp + 0x1f0]
mov r8d, 0x20
lea rcx, [rbp - 0x60]
call fcn.140137c90
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea r14, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x60], r14
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x64], edx
mov rdx, qword [rbp + 0x208]
cmp rdx, 7
jbe 0x140149648
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140149643
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140149cc5
call fcn.14015511c
movdqa xmm0, xmmword [0x14040d5a0]
movdqu xmmword [rbp + 0x200], xmm0
mov word [rbp + 0x1f0], r13w
mov rdx, qword [rbp + 0x1e8]
cmp rdx, 7
jbe 0x1401496a6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401496a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140149ccb
call fcn.14015511c
movdqa xmm0, xmmword [0x14040d5a0]
movdqu xmmword [rbp + 0x1e0], xmm0
mov word [rbp + 0x1d0], r13w
mov rdx, qword [rbp + 0x298]
cmp rdx, 7
jbe 0x140149704
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x280]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401496ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140149cd1
call fcn.14015511c
movdqa xmm0, xmmword [0x14040d5a0]
movdqu xmmword [rbp + 0x290], xmm0
mov word [rbp + 0x280], r13w
mov rdx, qword [rbp + 0x278]
cmp rdx, 0xf
jbe 0x14014975d
inc rdx
mov rcx, qword [rbp + 0x260]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140149758
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140149cd7
call fcn.14015511c
movdqa xmm0, xmmword [0x14040d5b0]
movdqu xmmword [rbp + 0x270], xmm0
mov byte [rbp + 0x260], 0
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
cmp dword [rbp + rcx - 0x50], 0
jne 0x140149c33
mov qword [rsp + 0x40], r13
mov word [rsp + 0x48], 1
mov rax, qword [rbp + rcx - 0x18]
mov qword [rsp + 0x50], rax
test rax, rax
sete byte [rsp + 0x58]
mov byte [rsp + 0x59], 0
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x240]
call fcn.14014c8a0
mov rdx, rax
mov rcx, r15
call fcn.140112620
mov rdx, qword [rbp + 0x258]
cmp rdx, 0xf
jbe 0x140149822
inc rdx
mov rcx, qword [rbp + 0x240]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014981d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140149cdd
call fcn.14015511c
movdqa xmm0, xmmword [0x14040d5b0]
movdqu xmmword [rbp + 0x250], xmm0
mov byte [rbp + 0x240], 0
lea rcx, [rbp - 0x60]
call fcn.14013d0d0
movabs rax, 0x30857789d96d22c0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x1c0], rax
movabs rcx, 0x48519c0451abee5e
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x1c8], rax
movabs rax, 0x30857789be0c56a5
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [rbp + 0x1c0]
xorps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp + 0x1c0], xmm0
mov rcx, qword [rdi + 0x10]
lea rdx, [rbp + 0x1c0]
mov rax, rbx
inc rax
cmp byte [rdx + rax], 0
jne 0x1401498c3
sub rsi, rcx
cmp rsi, rax
jb 0x140149ce3
cmp qword [rdi + 0x18], 0xf
jbe 0x1401498e2
mov rdi, qword [rdi]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x1c0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r9, rdi
lea rcx, [rbp + 0x220]
call fcn.1401280a0
nop
lea rax, [rbp + 0x220]
cmp qword [rbp + 0x238], 0xf
cmova rax, qword [rbp + 0x220]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp + 0x230]
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x240]
call fcn.14014ff50
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x1f0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x200], xmm1
lea rax, [rbp + 0x2c0]
nop dword [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x140149970
mov r8, rbx
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp + 0x1f0]
call fcn.140112ec0
nop
mov r9, rdi
lea r8, [rbp + 0x1f0]
lea rcx, [rbp + 0x1d0]
call fcn.14014c9f0
nop
lea rdx, [rbp + 0x1d0]
cmp qword [rbp + 0x1e8], 7
cmova rdx, qword [rbp + 0x1d0]
mov r8d, 0x20
lea rcx, [rbp + 0xb0]
call fcn.140137c90
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0xb0], r14
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xac], edx
mov rdx, qword [rbp + 0x1e8]
cmp rdx, 7
jbe 0x140149a42
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140149a3d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140149ce9
call fcn.14015511c
movdqa xmm0, xmmword [0x14040d5a0]
movdqu xmmword [rbp + 0x1e0], xmm0
mov word [rbp + 0x1d0], r13w
mov rdx, qword [rbp + 0x208]
cmp rdx, 7
jbe 0x140149aa1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140149a9b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140149cef
call fcn.14015511c
nop
mov rdx, qword [rbp + 0x258]
cmp rdx, 7
jbe 0x140149ae7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x240]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140149ae2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140149cf5
call fcn.14015511c
movdqa xmm0, xmmword [0x14040d5a0]
movdqu xmmword [rbp + 0x250], xmm0
mov word [rbp + 0x240], r13w
mov rdx, qword [rbp + 0x238]
cmp rdx, 0xf
jbe 0x140149b40
inc rdx
mov rcx, qword [rbp + 0x220]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140149b3b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140149cfb
call fcn.14015511c
movdqa xmm0, xmmword [0x14040d5b0]
movdqu xmmword [rbp + 0x230], xmm0
mov byte [rbp + 0x220], 0
mov rax, qword [rbp + 0xb0]
movsxd rax, dword [rax + 4]
cmp dword [rbp + rax + 0xc0], 0
jne 0x140149c23
mov qword [rsp + 0x50], r13
mov word [rsp + 0x58], 1
mov rax, qword [rbp + rax + 0xf8]
mov qword [rbp + 0x1c0], rax
test rax, rax
sete byte [rbp + 0x1c8]
mov byte [rbp + 0x1c9], 0
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm1, xmmword [rbp + 0x1c0]
movdqa xmmword [rsp + 0x70], xmm1
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x2a0]
call fcn.14014c8a0
mov rdx, rax
mov rcx, r12
call fcn.140112620
mov rdx, qword [rbp + 0x2b8]
cmp rdx, 0xf
jbe 0x140149c16
inc rdx
mov rcx, qword [rbp + 0x2a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140149c11
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140149cb9
call fcn.14015511c
lea rcx, [rbp + 0xb0]
call fcn.14013d0d0
nop
lea rcx, [rbp + 0xb0]
call fcn.140137600
mov rax, qword [rbp - 0x60]
movsxd rax, dword [rax + 4]
mov qword [rbp + rax - 0x60], r14
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x50]
call fcn.140125d40
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x60], rax
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx - 0x64], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x50]
call fcn.140150ff0
nop
mov rcx, qword [rbp + 0x4d0]
xor rcx, rsp
call fcn.140154c90
mov rbx, qword [rsp + 0x620]
add rsp, 0x5e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140192f04
nop
call fcn.140110640
nop
call fcn.140192f04
nop
call fcn.140192f04
nop
call fcn.140192f04
nop
call fcn.140192f04
int3
call fcn.140192f04
int3
call fcn.140110640
nop
call fcn.140192f04
nop
call fcn.140192f04
nop
call fcn.140192f04
nop
call fcn.140192f04
int3