Function at 0x14005f250
Capabilities:
Get common file path
Set console window title

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x14008a040]
xor rax, rsp
mov qword [rbp + 0xc0], rax
xor ebx, ebx
lea rcx, [0x140075104]
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1a
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
xorps xmm0, xmm0
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], rbx
movups xmmword [rbp - 0x70], xmm0
test eax, eax
js 0x14005f2e0
lea rax, [rbp - 0x50]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x14005f2d1
lea rdx, [rbp - 0x50]
jmp 0x14005f2ea
xor r8d, r8d
lea rdx, [0x140074bd2]
lea rcx, [rbp - 0x70]
call fcn.140009600
nop
movabs rax, 0x7fffffffffffffff
mov r15, rax
mov r13, qword [rbp - 0x60]
sub r15, r13
cmp r15, 7
jae 0x14005f314
call fcn.1400012b0
int3
lea r12, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova r12, qword [rbp - 0x70]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
lea r14, [r13 + 7]
mov ebx, 0xf
mov edi, ebx
lea rsi, [rsp + 0x30]
movabs rcx, 0x8000000000000000
mov edx, 0x16
cmp r14, rbx
jbe 0x14005f3c1
mov rdi, r14
or rdi, rbx
cmp rdi, rax
jbe 0x14005f388
mov rdi, rax
lea rax, [rcx + 0x27]
mov rcx, rax
call fcn.140070980
test rax, rax
je 0x14005f524
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14005f3bc
cmp rdi, rdx
cmovb rdi, rdx
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x14005f39c
xor esi, esi
jmp 0x14005f3bc
cmp rcx, 0x1000
jb 0x14005f3b4
lea rax, [rcx + 0x27]
cmp rax, rcx
ja 0x14005f369
call fcn.140001210
int3
call fcn.140070980
mov rsi, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
mov r8, r13
mov rdx, r12
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [str.Alysum]
mov dword [rsi + r13], eax
movzx eax, word [0x14007c2ec]
mov word [rsi + r13 + 4], ax
movzx eax, byte [0x14007c2ee]
mov byte [rsi + r13 + 6], al
mov byte [rsi + r14], 0
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0xf
cmova rax, qword [rsp + 0x30]
mov qword [rbp - 0x80], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x78], rax
call fcn.14006ffd4
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
lea r8, [rbp - 0x80]
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.140001980
nop
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x80]
call fcn.140002fe0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x70], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp - 0x80], ecx
lea rax, [0x14008a0c8]
mov qword [rbp - 0x78], rax
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x14005f4c0
cmp eax, 1
sete dil
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x14005f4db
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f4d6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005f4d6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov dil, 1
test ecx, ecx
je 0x14005f480
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
call fcn.14005f1f0
nop
call fcn.140070c04
movdqa xmm0, xmmword [0x14007c9d0]
movdqu xmmword [rsp + 0x60], xmm0
xor eax, eax
mov word [rsp + 0x50], ax
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x14005f532
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f52b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005f52b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070c04
xor eax, eax
test dil, dil
je 0x14005f73b
lea r12, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova r12, qword [rbp - 0x70]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
mov rdi, rbx
lea rsi, [rsp + 0x30]
cmp r14, rbx
jbe 0x14005f5ec
mov rdi, r14
or rdi, 0xf
movabs rcx, 0x7fffffffffffffff
cmp rdi, rcx
jbe 0x14005f5b1
mov rdi, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140070980
test rax, rax
je 0x14005f72f
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14005f5e7
cmp rdi, 0x16
mov ecx, 0x16
cmovb rdi, rcx
lea rcx, [rdi + 1]
test rcx, rcx
je 0x14005f5e4
cmp rcx, 0x1000
jb 0x14005f5df
lea rax, [rcx + 0x27]
cmp rax, rcx
ja 0x14005f592
call fcn.140001210
int3
call fcn.140070980
mov rsi, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
mov r8, r13
mov rdx, r12
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [str.Alysum]
mov dword [rsi + r13], eax
movzx eax, word [0x14007c2ec]
mov word [rsi + r13 + 4], ax
movzx eax, byte [0x14007c2ee]
mov byte [rsi + r13 + 6], al
mov byte [rsi + r14], 0
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0xf
cmova rax, qword [rsp + 0x30]
mov qword [rbp - 0x80], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x78], rax
call fcn.14006ffd4
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
lea r8, [rbp - 0x80]
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.140001980
nop
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rcx, qword [rsp + 0x50]
call fcn.140070234
mov rdx, rax
shr rax, 0x20
test eax, eax
je 0x14005f6a1
shr rdx, 0x20
lea r8, [rsp + 0x50]
lea rcx, str.create_directory
call fcn.140002990
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x14005f6e6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f6e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005f6e1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070c04
movdqa xmm0, xmmword [0x14007c9d0]
movdqu xmmword [rsp + 0x60], xmm0
xor eax, eax
mov word [rsp + 0x50], ax
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x14005f73d
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f736
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005f736
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070c04
xor eax, eax
cmp r15, 0x16
jae 0x14005f749
call fcn.1400012b0
int3
lea r12, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova r12, qword [rbp - 0x70]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
lea r14, [r13 + 0x16]
mov rdi, rbx
lea rsi, [rsp + 0x30]
cmp r14, rbx
jbe 0x14005f7fe
mov rdi, r14
or rdi, 0xf
movabs rcx, 0x7fffffffffffffff
cmp rdi, rcx
jbe 0x14005f7c3
mov rdi, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140070980
test rax, rax
je 0x14005f963
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14005f7f9
cmp rdi, 0x16
mov ecx, 0x16
cmovb rdi, rcx
lea rcx, [rdi + 1]
test rcx, rcx
je 0x14005f7f6
cmp rcx, 0x1000
jb 0x14005f7f1
lea rax, [rcx + 0x27]
cmp rax, rcx
ja 0x14005f7a4
call fcn.140001210
int3
call fcn.140070980
mov rsi, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
mov r8, r13
mov rdx, r12
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [str.AlysumConfigurations]
movups xmmword [rsi + r13], xmm0
mov eax, dword [0x140075198]
mov dword [rsi + r13 + 0x10], eax
movzx eax, word [0x14007519c]
mov word [rsi + r13 + 0x14], ax
mov byte [rsi + r14], 0
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0xf
cmova rax, qword [rsp + 0x30]
mov qword [rbp - 0x80], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x78], rax
call fcn.14006ffd4
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
lea r8, [rbp - 0x80]
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.140001980
nop
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x80]
call fcn.140002fe0
movsd xmm0, qword [rax]
movsd qword [rsp + 0x70], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp - 0x80], ecx
lea rax, [0x14008a0c8]
mov qword [rbp - 0x78], rax
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x14005f8fd
cmp eax, 1
sete dil
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x14005f918
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f913
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005f913
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov dil, 1
test ecx, ecx
je 0x14005f8bd
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
call fcn.14005f1f0
nop
call fcn.140070c04
movdqa xmm0, xmmword [0x14007c9d0]
movdqu xmmword [rsp + 0x60], xmm0
xor r12d, r12d
mov word [rsp + 0x50], r12w
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x14005f96f
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005f96a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005f96a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070c04
test dil, dil
je 0x14005fb8c
cmp r15, 0x19
jae 0x14005f984
call fcn.1400012b0
int3
lea r14, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova r14, qword [rbp - 0x70]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
lea rsi, [r13 + 0x19]
lea rdi, [rsp + 0x30]
cmp rsi, 0xf
jbe 0x14005fa3c
mov rbx, rsi
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jbe 0x14005f9fc
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140070980
test rax, rax
je 0x14005fb80
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14005fa37
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x14005fa17
mov rdi, r12
jmp 0x14005fa37
cmp rcx, 0x1000
jb 0x14005fa2f
lea rax, [rcx + 0x27]
cmp rax, rcx
ja 0x14005f9dd
call fcn.140001210
int3
call fcn.140070980
mov rdi, rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rbx
mov r8, r13
mov rdx, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [str.Alysum_V2Configurations]
movups xmmword [rdi + r13], xmm0
movsd xmm0, qword [0x14007c300]
movsd qword [rdi + r13 + 0x10], xmm0
movzx eax, byte [0x14007c308]
mov byte [rdi + r13 + 0x18], al
mov byte [rdi + rsi], 0
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0xf
cmova rax, qword [rsp + 0x30]
mov qword [rbp - 0x80], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x78], rax
call fcn.14006ffd4
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
lea r8, [rbp - 0x80]
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.140001980
nop
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rcx, qword [rsp + 0x50]
call fcn.140070234
mov rdx, rax
shr rax, 0x20
test eax, eax
je 0x14005faf3
shr rdx, 0x20
lea r8, [rsp + 0x50]
lea rcx, str.create_directory
call fcn.140002990
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x14005fb38
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005fb33
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005fb33
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070c04
movdqa xmm0, xmmword [0x14007c9d0]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r12w
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x14005fb8c
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005fb87
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005fb87
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070c04
call fcn.14005b4c0
lea rdx, str.Something_went_wrong..
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14005acb0
mov rcx, rax
lea rdx, [0x14007b328]
call fcn.14005acb0
lea rdx, str.Press_Enter_to_close_the_application.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14005acb0
lea rdx, [0x14005e7e0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
nop dword [rax]
nop word [rax + rax]
mov qword [rsp + 0x70], 0x64
lea rcx, [rsp + 0x70]
call fcn.14005fc10
jmp 0x14005fbf0