Function at 0x14003a4d0
Capabilities:
Encode data using xor
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 - 0x200]
sub rsp, 0x300
mov rax, qword [0x1400e0040]
xor rax, rsp
mov qword [rbp + 0x1f0], rax
xor edi, edi
mov rax, qword [str.F___WY_]
mov qword [rsp + 0x30], rax
cmp byte [0x1400c200f], dil
je 0x14003a66e
cmp dword [0x1400e0088], 2
jl 0x14003a62e
movdqa xmm4, xmmword [0x1400cd1a0]
movdqa xmm2, xmmword [0x1400ccd30]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400ccd60]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400ccdc0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1400cce70]
movd xmm0, dword [rsp + 0x30]
xorps xmm2, xmm0
movd dword [rsp + 0x30], xmm2
movdqa xmm3, xmmword [0x1400ccd50]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400ccd60]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400ccdc0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1400cce70]
movd xmm0, dword [rsp + 0x34]
xorps xmm2, xmm0
movd dword [rsp + 0x34], xmm2
jmp 0x14003a66e
lea r8, [rsp + 0x30]
mov ecx, edi
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x33
movzx eax, cl
sub al, dl
add al, 0x35
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 8
jl 0x14003a640
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
lea rax, [rsp + 0x30]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rax + r8], dil
jne 0x14003a690
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x40]
call fcn.140001f40
nop
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
cmova rcx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x1a]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
xorps xmm0, xmm0
test eax, eax
js 0x14003a73f
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
lea rax, [rbp - 0x20]
nop
inc rbx
cmp word [rax + rbx*2], 0
jne 0x14003a6f0
mov r8, rbx
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x60]
call fcn.14003c4f0
nop
lea rdx, [rbp - 0x60]
cmp qword [rbp - 0x48], 7
cmova rdx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x50]
lea r8, [rdx + rax*2]
lea rdx, [rbp - 0x60]
cmova rdx, qword [rbp - 0x60]
lea rcx, [rbp - 0x80]
call fcn.14003c1d0
nop
lea rcx, [rbp - 0x60]
call fcn.14003bf80
jmp 0x14003a75f
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rdi
xor r8d, r8d
lea rdx, [0x1400b9130]
lea rcx, [rbp - 0x80]
call fcn.140001f40
nop
movabs rcx, 0x7fffffffffffffff
mov r12, rcx
mov r14, qword [rbp - 0x70]
sub r12, r14
cmp r12, 8
jb 0x14003ad6c
lea rax, [rbp - 0x80]
mov r13, qword [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova rax, r13
mov qword [rsp + 0x30], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea r15, [r14 + 8]
mov esi, 0xf
mov ebx, esi
lea rdi, [rsp + 0x40]
movabs rdx, 0x8000000000000000
lea r8d, [rsi + 7]
cmp r15, rbx
jbe 0x14003a83e
mov rbx, r15
or rbx, rsi
cmp rbx, rcx
jbe 0x14003a7f9
mov rbx, rcx
lea rax, [rdx + 0x27]
mov rcx, rax
call fcn.1400b3f08
test rax, rax
je 0x14003a81c
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov rax, qword [rsp + 0x30]
jmp 0x14003a839
cmp rbx, r8
cmovb rbx, r8
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14003a823
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14003ad54
jmp 0x14003a7d9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x14003a837
call fcn.1400b3f08
mov rdi, rax
mov rax, qword [rsp + 0x30]
jmp 0x14003a839
xor edi, edi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], rbx
mov r8, r14
mov rdx, rax
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movabs rax, 0x65636e656c69735c
mov qword [r14 + rdi], rax
mov byte [rdi + r15], 0
mov rdi, qword [rsp + 0x50]
lea rbx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rbx, qword [rsp + 0x40]
call fcn.1400b324c
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rsp + 0x60]
call fcn.140039c70
nop
lea rcx, [rsp + 0x60]
call fcn.14003a2c0
movzx ebx, al
lea rcx, [rsp + 0x60]
call fcn.14003bf80
nop
lea rcx, [rsp + 0x40]
call fcn.1400025f0
test bl, bl
jne 0x14003aa2c
lea rax, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova rax, r13
mov qword [rsp + 0x30], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
mov rbx, rsi
lea rdi, [rsp + 0x40]
cmp r15, rbx
jbe 0x14003a990
mov rbx, r15
or rbx, 0xf
movabs rcx, 0x7fffffffffffffff
cmp rbx, rcx
jbe 0x14003a945
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400b3f08
test rax, rax
je 0x14003a96e
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov rax, qword [rsp + 0x30]
jmp 0x14003a98b
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14003a975
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14003ad5a
jmp 0x14003a925
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x14003a989
call fcn.1400b3f08
mov rdi, rax
mov rax, qword [rsp + 0x30]
jmp 0x14003a98b
xor edi, edi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], rbx
mov r8, r14
mov rdx, rax
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movabs rax, 0x65636e656c69735c
mov qword [r14 + rdi], rax
mov byte [rdi + r15], 0
mov rdi, qword [rsp + 0x50]
lea rbx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rbx, qword [rsp + 0x40]
call fcn.1400b324c
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rsp + 0x60]
call fcn.140039c70
nop
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 7
cmova rcx, qword [rsp + 0x60]
call fcn.1400b34ac
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x14003ad72
lea rcx, [rsp + 0x60]
call fcn.14003bf80
nop
lea rcx, [rsp + 0x40]
call fcn.1400025f0
cmp r12, 0x10
jb 0x14003ad88
lea rax, [rbp - 0x80]
mov r12, qword [rbp - 0x68]
cmp r12, 0xf
cmova rax, r13
mov qword [rsp + 0x30], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea r15, [r14 + 0x10]
mov rbx, rsi
lea rdi, [rsp + 0x40]
cmp r15, rbx
jbe 0x14003ab03
mov rbx, r15
or rbx, 0xf
movabs rcx, 0x7fffffffffffffff
cmp rbx, rcx
jbe 0x14003aab8
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400b3f08
test rax, rax
je 0x14003aae1
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov rax, qword [rsp + 0x30]
jmp 0x14003aafe
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14003aae8
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14003ad60
jmp 0x14003aa98
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x14003aafc
call fcn.1400b3f08
mov rdi, rax
mov rax, qword [rsp + 0x30]
jmp 0x14003aafe
xor edi, edi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], rbx
mov r8, r14
mov rdx, rax
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [str._silenceconfigs]
movups xmmword [r14 + rdi], xmm0
mov byte [rdi + r15], 0
mov rdi, qword [rsp + 0x50]
lea rbx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rbx, qword [rsp + 0x40]
call fcn.1400b324c
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rsp + 0x60]
call fcn.140039c70
nop
lea rcx, [rsp + 0x60]
call fcn.14003a2c0
movzx ebx, al
lea rcx, [rsp + 0x60]
call fcn.14003bf80
nop
lea rcx, [rsp + 0x40]
call fcn.1400025f0
test bl, bl
jne 0x14003acda
lea r15, [rbp - 0x80]
cmp r12, 0xf
cmova r15, r13
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
lea rdi, [r14 + 0x10]
lea rbx, [rsp + 0x40]
cmp rdi, 0xf
jbe 0x14003ac45
mov rsi, rdi
or rsi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
jbe 0x14003abff
mov rsi, rax
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400b3f08
test rax, rax
je 0x14003ac28
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14003ac40
cmp rsi, 0x16
mov eax, 0x16
cmovb rsi, rax
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x14003ac2f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14003ad66
jmp 0x14003abe4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x14003ac3e
call fcn.1400b3f08
mov rbx, rax
jmp 0x14003ac40
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rsi
mov r8, r14
mov rdx, r15
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [str._silenceconfigs]
movups xmmword [r14 + rbx], xmm0
mov byte [rbx + rdi], 0
mov rdi, qword [rsp + 0x50]
lea rbx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rbx, qword [rsp + 0x40]
call fcn.1400b324c
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rsp + 0x60]
call fcn.140039c70
nop
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 7
cmova rcx, qword [rsp + 0x60]
call fcn.1400b34ac
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x14003ad3e
lea rcx, [rsp + 0x60]
call fcn.14003bf80
nop
lea rcx, [rsp + 0x40]
call fcn.1400025f0
call fcn.1400428d0
lea rcx, str.silence___press_enter_to_close_console__closes_cheat_
call fcn.1400394d0
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
lea rcx, [rbp - 0x80]
call fcn.1400025f0
nop
lea rcx, [rbp - 0x40]
call fcn.1400025f0
xor eax, eax
mov rcx, qword [rbp + 0x1f0]
xor rcx, rsp
call fcn.1400b3dc0
lea r11, [rsp + 0x300]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
shr rdx, 0x20
lea r8, [rsp + 0x60]
lea rcx, str.create_directory
call fcn.14003a1f0
nop
call fcn.140001e40
int3
call fcn.140001e40
int3
call fcn.140001e40
int3
call fcn.140001e40
int3
call fcn.140001ee0
nop
shr rdx, 0x20
lea r8, [rsp + 0x60]
lea rcx, str.create_directory
call fcn.14003a1f0
nop
call fcn.140001ee0
int3