Function at 0x140066560
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
mov rsi, rcx
call fcn.140066b10
lea rcx, [rsi + 0x1c0]
call fcn.140066e50
add rcx, 0x168
call fcn.140066e50
mov word [rsi + 0x490], 0
mov byte [rsi + 0x492], 0
mov dword [rsi + 0x494], 1
mov dword [rsi + 0x498], 0x64
lea rcx, [rsi + 0x4a0]
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
xor edi, edi
mov qword [rcx + 0x10], rdi
mov qword [rcx + 0x18], rdi
xor r8d, r8d
lea rdx, [0x140117b3a]
call fcn.140001450
mov word [rsi + 0x4c0], 0x101
mov byte [rsi + 0x4c2], dil
mov dword [rsi + 0x4c3], 0x3f800000
mov dword [rsi + 0x4c7], 0x3f800000
mov dword [rsi + 0x4cb], 0x3f800000
mov dword [rsi + 0x4cf], 0x3f800000
mov dword [rsi + 0x4d8], 0x3f800000
mov dword [rsi + 0x4dc], 0x3f47ae14
mov dword [rsi + 0x4e0], 0x3e9eb852
lea rbx, [rsi + 0x4e8]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
xor r8d, r8d
lea rdx, [0x140117b3a]
mov rcx, rbx
call fcn.140001450
lea rcx, [rbx + 0x20]
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rdi
mov qword [rcx + 0x18], rdi
xor r8d, r8d
lea rdx, [0x140117b3a]
call fcn.140001450
mov dword [rbx + 0x44], edi
mov word [rbx + 0x48], 0x100
mov r8d, 4
lea rdx, str.Menu
mov rcx, rbx
call fcn.140002670
mov dword [rbx + 0x44], 2
mov dword [rbx + 0x40], 0x2d
xorps xmm0, xmm0
movups xmmword [rsi + 0x538], xmm0
mov qword [rsi + 0x548], rdi
mov qword [rsi + 0x550], 7
mov word [rsi + 0x538], di
mov qword [rsi + 0x558], rdi
mov qword [rsi + 0x560], rdi
mov qword [rsi + 0x568], rdi
movups xmm0, xmmword [str.s_vnYPQSYeyTR_WX3A]
movups xmmword [rbp - 0x50], xmm0
movzx eax, word [0x140120488]
mov word [rbp - 0x40], ax
mov r15d, dword [0x140138098]
movdqa xmm6, xmmword [0x140121430]
cmp byte [0x140120489], dil
je 0x140066880
mov r8d, edi
cmp r15d, 2
jl 0x140066847
movdqa xmm4, xmmword [0x140121360]
movdqa xmm3, xmmword [0x140121480]
movdqa xmm5, xmmword [0x1401213c0]
movdqa xmm0, xmmword [0x140121490]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rbp - 0x4c]
mov edx, dword [rbp - 0x60]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x140066760
cmp r8d, 0x12
jge 0x140066880
movsxd rax, r8d
lea r9, [rbp - 0x50]
add r9, rax
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x12
jl 0x140066851
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x20], xmm1
lea rax, [rbp - 0x50]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400668a0
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.140001450
lea rax, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rax, qword [rbp - 0x30]
mov qword [rbp - 0x60], rax
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400668d0
mov qword [rbp - 0x58], rbx
call fcn.1400f58dc
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x60], xmm0
lea r8, [rbp - 0x60]
mov edx, eax
lea rcx, [rbp - 0x50]
call fcn.14004c7e0
lea rdx, [rbp - 0x50]
lea rcx, [rsi + 0x538]
call fcn.140064030
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x14006694d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140066948
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140066948
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400f6564
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x14006698b
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140066986
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140066986
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400f6564
mov rcx, rsi
call fcn.14006b800
mov eax, dword [str.RJUU_]
mov dword [rbp - 0x58], eax
movzx eax, byte [0x1401204ac]
movsd xmm0, qword [str.TTTRAYB]
mov byte [rbp - 0x54], al
movsd qword [rbp - 0x60], xmm0
cmp r15d, 2
jl 0x140066a9d
movdqa xmm4, xmmword [0x140121480]
movdqa xmm3, xmmword [0x140121360]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1401213c0]
psubd xmm3, xmm0
andps xmm3, xmm6
packuswb xmm3, xmm3
packuswb xmm3, xmm3
mov eax, dword [0x140121490]
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, dword [str.TTTRAYB]
xorps xmm3, xmm0
movd dword [rbp - 0x60], xmm3
movdqa xmm2, xmmword [0x140121380]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1401213c0]
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x5c]
xorps xmm2, xmm1
movd dword [rbp - 0x5c], xmm2
mov edi, 8
movsxd rax, edi
lea r8, [rbp - 0x60]
add r8, rax
nop word [rax + rax]
mov eax, 0x94f2095
imul edi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dl
imul ecx, eax, 0x37
movzx edx, dil
sub dl, cl
add dl, 0x30
xor byte [r8], dl
inc edi
lea r8, [r8 + 1]
cmp edi, 0xd
jl 0x140066ab0
lea rdx, [rbp - 0x60]
mov rcx, rsi
call fcn.140068a50
mov rax, rsi
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
movaps xmm6, xmmword [rsp + 0x70]
mov rsp, r11
pop r15
pop r14
pop rbp
ret