Function at 0x140060550
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1400e2740]
xor rax, rsp
mov qword [rbp - 0x48], rax
mov r12, r8
mov r15, rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
lea rax, [rbp + 0x88]
movabs rcx, 0xff00ff00ff00ff00
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
mov r14, qword [rax]
xor r14, rcx
mov qword [rsp + 0x58], r14
xor ebx, ebx
mov qword [rax], rbx
cmp byte [0x1400e2c30], bl
je 0x14006077c
movsd xmm0, qword [0x1400c1380]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x1400c1388]
mov dword [rsp + 0x48], eax
cmp byte [0x1400c138b], bl
je 0x14006075b
mov ecx, ebx
cmp dword [0x1400e2798], 2
jl 0x14006071e
movdqa xmm4, xmmword [0x1400c2190]
movdqa xmm2, xmmword [0x140070170]
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 [0x1400c2160]
psubd xmm2, xmm0
andps xmm2, xmmword [0x1400c2170]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1400c21c0]
movd xmm0, dword [0x1400c1380]
xorps xmm2, xmm0
movd dword [rsp + 0x40], xmm2
movdqa xmm2, xmmword [0x1400c2150]
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 [0x1400c2160]
psubd xmm2, xmm0
andps xmm2, xmmword [0x1400c2170]
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x1400c21c0]
movd xmm0, dword [rsp + 0x44]
xorps xmm2, xmm0
movd dword [rsp + 0x44], xmm2
mov ecx, 8
movsxd rax, ecx
lea r8, [rsp + 0x40]
add r8, rax
nop dword [rax]
mov eax, 0x94f2095
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x37
movzx eax, cl
sub al, dl
add al, 0x36
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0xc
jl 0x140060730
lea rdx, [rsp + 0x40]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140048bb0
lea rdx, [0x140049660]
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 r13, [rbp + 0x88]
mov rsi, qword [r13]
mov qword [r13], rbx
xorps xmm13, xmm13
mov rax, qword [0x1400e2b88]
mov rcx, qword [rax]
add rcx, 0x110
call fcn.1400499e0
mov rdi, rax
mov rax, qword [0x1400e2b88]
mov rcx, qword [rax]
add rcx, 0x120
call fcn.1400499e0
mov rbx, rax
mov rcx, rax
call fcn.140049830
movaps xmm10, xmm0
lea rcx, [rbx + 0x20]
call fcn.140049830
movaps xmm9, xmm0
lea rcx, [rbx + 0x1d0]
call fcn.140049830
movaps xmm6, xmm0
xorps xmm1, xmm1
movups xmmword [rsp + 0x58], xmm1
movsd qword [rsp + 0x68], xmm13
xor ebx, ebx
mov dword [rbp - 0x5f], ebx
mov word [rbp - 0x5b], bx
mov byte [rbp - 0x59], bl
mov dword [rbp - 0x80], 0x83b6fb9
mov qword [rbp - 0x78], rdi
lea rax, [rsp + 0x58]
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], 0x18
mov eax, dword [0x1400e2a18]
mov dword [rbp - 0x7c], eax
mov byte [rbp - 0x60], bl
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
mov r9d, 0x28
lea r8, [rbp - 0x80]
mov edx, 0x225d8c
mov rcx, qword [0x1400e2a10]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movups xmm8, xmmword [rsp + 0x58]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_asin
movaps xmm11, xmm0
mulsd xmm11, qword [0x1400c20e0]
movsd xmm6, qword [0x1400c2110]
mulsd xmm10, xmm6
movaps xmm1, xmm9
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
movaps xmm10, xmm0
mulsd xmm10, qword [0x1400c20e0]
mulsd xmm10, xmm6
mulsd xmm10, xmm6
mov rax, qword [0x1400e2b88]
mov rcx, qword [rax + 0x20]
add rcx, 0x394
call fcn.140049780
movaps xmm3, xmm0
mulss xmm3, dword [0x1400c2104]
mov qword [r13], rsi
movups xmmword [0x1400e2698], xmm8
movsd xmm1, qword [rsp + 0x68]
unpcklpd xmm1, xmm11
movups xmmword [0x1400e26a8], xmm1
movaps xmm2, xmm10
unpcklpd xmm2, xmm13
movups xmmword [0x1400e26b8], xmm2
movsd xmm0, qword [rbp - 0x50]
movss xmm0, xmm3
movsd qword [0x1400e26c8], xmm0
movsd xmm0, qword [r12]
ucomisd xmm0, xmm13
jp 0x140060923
jne 0x140060923
mov qword [r15], rbx
mov qword [r15 + 8], rbx
jmp 0x140060bce
mulsd xmm11, qword [0x1400c20b8]
divsd xmm11, qword [0x1400c20f0]
mulsd xmm10, qword [0x1400c20b8]
divsd xmm10, qword [0x1400c20f0]
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm11
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm9, xmm9
cvtss2sd xmm9, xmm0
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm10
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm12, xmm12
cvtss2sd xmm12, xmm0
movsd qword [rsp + 0x70], xmm12
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm11, xmm11
cvtss2sd xmm11, xmm0
movsd qword [rsp + 0x50], xmm11
cvtpd2ps xmm6, xmm13
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm10, xmm10
cvtss2sd xmm10, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm3, xmm3
cvtss2sd xmm3, xmm0
movsd qword [rsp + 0x40], xmm3
movaps xmm5, xmm10
mulsd xmm5, xmm7
movsd qword [rsp + 0x78], xmm5
movaps xmm8, xmm3
mulsd xmm8, xmm7
cvtpd2ps xmm0, xmm7
cvtps2pd xmm6, xmm0
movaps xmm1, xmm12
mulsd xmm1, xmm9
cvtpd2ps xmm0, xmm1
cvtps2pd xmm4, xmm0
movaps xmm2, xmm10
xorps xmm2, xmmword [0x140071030]
mulsd xmm2, xmm9
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm2
cvtps2pd xmm15, xmm0
movaps xmm1, xmm5
mulsd xmm1, xmm12
movaps xmm0, xmm3
mulsd xmm0, xmm11
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm14, xmm0
movaps xmm1, xmm3
mulsd xmm1, xmm9
cvtpd2ps xmm0, xmm1
cvtps2pd xmm5, xmm0
movaps xmm2, xmm10
mulsd xmm2, xmm11
movaps xmm0, xmm8
mulsd xmm0, xmm12
subsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
cvtps2pd xmm3, xmm0
movsd xmm13, qword [r12 + 0x10]
subsd xmm13, qword [0x1400e26a8]
movsd xmm12, qword [r12 + 8]
subsd xmm12, qword [0x1400e26a0]
movsd xmm11, qword [r12]
subsd xmm11, qword [0x1400e2698]
movsd xmm0, qword [rsp + 0x50]
mulsd xmm0, xmm9
cvtpd2ps xmm0, xmm0
cvtps2pd xmm2, xmm0
mulsd xmm2, xmm11
movaps xmm1, xmm12
mulsd xmm1, xmm4
addsd xmm2, xmm1
movaps xmm0, xmm13
mulsd xmm0, xmm6
addsd xmm2, xmm0
mulsd xmm8, qword [rsp + 0x50]
mulsd xmm10, qword [rsp + 0x70]
addsd xmm8, xmm10
xorps xmm8, xmmword [0x140071030]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm8
cvtps2pd xmm7, xmm0
mulsd xmm7, xmm11
movaps xmm1, xmm12
mulsd xmm1, xmm3
addsd xmm7, xmm1
movaps xmm0, xmm13
mulsd xmm0, xmm5
addsd xmm7, xmm0
movsd xmm9, qword [0x140070f78]
maxsd xmm9, xmm2
xorps xmm8, xmm8
cvtsi2ss xmm8, dword [0x1400e2c6c]
mulss xmm8, dword [0x14006c29c]
movss xmm0, dword [0x1400e26c8]
mulss xmm0, dword [0x140070114]
divss xmm0, dword [0x140070fb4]
call sub.api_ms_win_crt_math_l1_1_0.dll_tanf
movaps xmm1, xmm8
divss xmm1, xmm0
cvtps2pd xmm3, xmm1
xorps xmm2, xmm2
cvtsi2ss xmm2, dword [0x1400e2c70]
mulss xmm2, dword [0x14006c29c]
cvtps2pd xmm4, xmm2
movaps xmm0, xmm3
mulsd xmm0, xmm7
divsd xmm0, xmm9
subsd xmm4, xmm0
movsd xmm1, qword [rsp + 0x78]
mulsd xmm1, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm0, qword [rsp + 0x70]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm1, xmm0
mulsd xmm1, xmm11
mulsd xmm12, xmm14
addsd xmm1, xmm12
mulsd xmm13, xmm15
addsd xmm1, xmm13
mulsd xmm1, xmm3
divsd xmm1, xmm9
cvtps2pd xmm0, xmm8
addsd xmm1, xmm0
movsd qword [r15], xmm1
movsd qword [r15 + 8], xmm4
movabs rax, 0xff00ff00ff00ff00
xor r14, rax
lea rax, [rbp + 0x88]
mov qword [rax], r14
mov rax, r15
mov rcx, qword [rbp - 0x48]
xor rcx, rsp
call fcn.140066340
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret