Function at 0x140047540
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbx
push rsi
push rdi
sub rsp, 0x110
movaps xmmword [rax - 0x28], xmm6
xor esi, esi
cmp byte [0x1400cc00c], sil
mov rdi, r8
movaps xmmword [rax - 0x38], xmm7
mov rbx, rdx
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
je 0x140047720
cmp byte [0x1400af143], sil
movsd xmm0, qword [str.qRXY_Y_]
mov eax, dword [str.m_to]
movsd qword [rsp + 0x20], xmm0
mov dword [rsp + 0x28], eax
je 0x1400476ff
cmp dword [0x1400b8018], 2
mov ecx, esi
jl 0x1400476c2
movdqa xmm2, xmmword [0x1400af580]
mov eax, 5
movdqa xmm3, xmmword [0x1400af5a0]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x1400af7b0]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
mov ecx, 8
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
movd xmm6, eax
mov eax, 0x1f
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400af5b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [str.qRXY_Y_]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x1400af5f0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1400af610]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rsp + 0x20], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1400af5b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rsp + 0x24]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1400af5f0]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1400af610]
xorps xmm2, xmm0
movd dword [rsp + 0x24], xmm2
movsxd rax, ecx
lea r8, [rsp + 0x20]
add r8, rax
nop dword [rax]
mov eax, 0x8fb823ef
lea r8, [r8 + 1]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x39
movzx eax, cl
inc ecx
sub al, dl
add al, 0x32
xor byte [r8 - 1], al
cmp ecx, 0xc
jl 0x1400476d0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rsp + 0x20]
call fcn.140053a80
lea rdx, [0x140053c50]
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]
lea rdx, [rsp + 0x30]
call fcn.140046c80
movups xmm11, xmmword [rax]
movups xmmword [0x1400cb640], xmm11
movups xmm2, xmmword [rax + 0x10]
movups xmmword [0x1400cb650], xmm2
movups xmm10, xmmword [rax + 0x20]
movups xmmword [rsp + 0x20], xmm2
movups xmmword [0x1400cb660], xmm10
movsd xmm0, qword [rax + 0x30]
movsd qword [0x1400cb670], xmm0
xorps xmm0, xmm0
movsd xmm1, qword [rdi]
ucomisd xmm1, xmm0
jp 0x14004777b
jne 0x14004777b
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
jmp 0x140047a90
movsd xmm8, qword [0x1400af2d8]
movaps xmm0, xmm2
movsd xmm7, qword [0x1400af348]
xorps xmm6, xmm6
unpckhpd xmm0, xmm2
mulsd xmm0, xmm8
movaps xmmword [rsp + 0xd0], xmm9
movaps xmmword [rsp + 0xa0], xmm12
movaps xmmword [rsp + 0x90], xmm13
divsd xmm0, xmm7
movaps xmmword [rsp + 0x80], xmm14
cvtsd2ss xmm6, xmm0
movaps xmmword [rsp + 0x70], xmm15
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm9, xmm9
cvtss2sd xmm9, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
cvtss2sd xmm0, xmm0
xorps xmm6, xmm6
movsd qword [rsp + 0x140], xmm0
movaps xmm0, xmm10
mulsd xmm0, xmm8
divsd xmm0, xmm7
cvtsd2ss xmm6, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x130], xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
unpckhpd xmm10, xmm10
xorps xmm6, xmm6
mulsd xmm10, xmm8
xorps xmm15, xmm15
cvtss2sd xmm15, xmm0
divsd xmm10, xmm7
cvtsd2ss xmm6, xmm10
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm13, xmm13
cvtss2sd xmm13, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movsd xmm4, qword [rdi]
movaps xmm1, xmm15
mulsd xmm1, qword [rsp + 0x140]
subsd xmm4, xmm11
movsd xmm10, qword [rdi + 8]
xorps xmm14, xmm14
cvtss2sd xmm14, xmm0
movsd xmm0, qword [rsp + 0x130]
xorps xmm6, xmm6
mulsd xmm0, qword [rsp + 0x140]
movaps xmm8, xmm13
cvtsi2ss xmm6, dword [0x1400cc07c]
unpckhpd xmm11, xmm11
movaps xmm12, xmm14
mulss xmm6, dword [0x1400af260]
subsd xmm10, xmm11
movsd xmm11, qword [rdi + 0x10]
subsd xmm11, qword [rsp + 0x20]
cvtpd2ps xmm0, xmm0
mulsd xmm8, xmm9
cvtps2pd xmm3, xmm0
cvtpd2ps xmm0, xmm1
mulsd xmm3, xmm10
cvtps2pd xmm2, xmm0
cvtpd2ps xmm0, xmm9
mulsd xmm12, xmm9
movsd xmm9, qword [0x1400af2b0]
cvtps2pd xmm1, xmm0
movss xmm0, dword [0x1400cb670]
mulss xmm0, dword [0x1400af32c]
mulsd xmm2, xmm4
mulsd xmm1, xmm11
movsd qword [rsp + 0x148], xmm4
addsd xmm3, xmm2
addsd xmm3, xmm1
maxsd xmm9, xmm3
divss xmm0, dword [0x1400af470]
call sub.api_ms_win_crt_math_l1_1_0.dll_tanf
movaps xmm2, xmm15
movaps xmm1, xmm6
divss xmm1, xmm0
mulsd xmm2, xmm8
movaps xmm0, xmm14
mulsd xmm0, qword [rsp + 0x130]
cvtps2pd xmm5, xmm1
subsd xmm2, xmm0
movaps xmm1, xmm14
mulsd xmm14, qword [rsp + 0x140]
mulsd xmm1, xmm15
cvtpd2ps xmm0, xmm2
movaps xmm2, xmm13
cvtps2pd xmm4, xmm0
movsd xmm0, qword [rsp + 0x130]
mulsd xmm4, qword [rsp + 0x148]
mulsd xmm0, xmm8
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm1, xmm0
movaps xmm0, xmm13
mulsd xmm13, xmm15
xorps xmm0, xmmword [0x1400af790]
mulsd xmm0, qword [rsp + 0x140]
mulsd xmm1, xmm10
cvtsd2ss xmm0, xmm0
addsd xmm4, xmm1
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
cvtps2pd xmm0, xmm6
mulsd xmm1, xmm11
addsd xmm4, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [0x1400cc080]
mulsd xmm4, xmm5
mulss xmm1, dword [0x1400af260]
divsd xmm4, xmm9
addsd xmm4, xmm0
movaps xmm0, xmm15
movaps xmm15, xmmword [rsp + 0x70]
mulsd xmm0, xmm12
movsd qword [rbx], xmm4
cvtps2pd xmm4, xmm1
movsd xmm1, qword [rsp + 0x130]
mulsd xmm2, xmm1
mulsd xmm1, xmm12
movaps xmm12, xmmword [rsp + 0xa0]
addsd xmm2, xmm0
xorps xmm0, xmm0
subsd xmm13, xmm1
xorps xmm2, xmmword [0x1400af790]
cvtsd2ss xmm0, xmm2
cvtps2pd xmm3, xmm0
cvtpd2ps xmm0, xmm13
mulsd xmm3, qword [rsp + 0x148]
movaps xmm13, xmmword [rsp + 0x90]
cvtps2pd xmm1, xmm0
cvtpd2ps xmm0, xmm14
movaps xmm14, xmmword [rsp + 0x80]
mulsd xmm1, xmm10
addsd xmm3, xmm1
cvtps2pd xmm1, xmm0
mulsd xmm1, xmm11
addsd xmm3, xmm1
mulsd xmm3, xmm5
divsd xmm3, xmm9
movaps xmm9, xmmword [rsp + 0xd0]
subsd xmm4, xmm3
movsd qword [rbx + 8], xmm4
lea r11, [rsp + 0x110]
mov rax, rbx
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop rdi
pop rsi
pop rbx
ret