Function at 0x140046110
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbx
push rsi
push rdi
sub rsp, 0xf0
movaps xmmword [rax - 0x28], xmm6
lea r8, str.Background
movaps xmmword [rax - 0x38], xmm7
xor edx, edx
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
mov rax, qword [0x140095da0]
movaps xmmword [rsp + 0x70], xmm13
movaps xmmword [rsp + 0x60], xmm14
movaps xmmword [rsp + 0x50], xmm15
movss xmm7, dword [rax + 0x10]
movss xmm6, dword [rax + 0x14]
mov rax, qword [rax + 0x4ad0]
movss xmm15, dword [0x140086764]
mulss xmm7, xmm15
mov rcx, qword [rax]
mulss xmm6, xmm15
call fcn.140007950
movsd xmm12, qword [0x140086a50]
mov rsi, rax
movsd xmm8, qword [0x140086918]
xor edi, edi
movsd xmm9, qword [0x1400867e8]
xorps xmm11, xmm11
cvtps2pd xmm5, xmm6
movsd xmm6, qword [0x1400867d8]
xorps xmm14, xmm14
cvtps2pd xmm0, xmm7
movsd xmm7, qword [0x140086910]
movsd qword [rsp + 0x40], xmm5
movsd qword [rsp + 0x38], xmm0
nop dword [rax]
movd xmm13, edi
cvtdq2ps xmm13, xmm13
divss xmm13, dword [0x14008684c]
movaps xmm0, xmm13
addss xmm0, xmm13
cvtps2pd xmm1, xmm0
mulsd xmm1, xmm6
cvtpd2ps xmm0, xmm1
cvtps2pd xmm3, xmm0
comisd xmm3, xmm6
movaps xmm2, xmm3
jbe 0x14004621d
addsd xmm2, xmm8
comisd xmm2, xmm6
ja 0x140046212
comisd xmm7, xmm2
jbe 0x14004622e
addsd xmm2, xmm9
comisd xmm7, xmm2
ja 0x140046223
ucomisd xmm2, xmm11
mov edx, 1
movaps xmm4, xmm11
movaps xmm1, xmm2
jp 0x140046243
je 0x14004627f
mov ecx, 6
nop dword [rax + rax]
addsd xmm4, xmm1
mov eax, ecx
imul eax, edx
xorps xmm1, xmm12
mulsd xmm1, xmm2
inc edx
add ecx, 4
mulsd xmm1, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
ucomisd xmm1, xmm11
jp 0x140046250
jne 0x140046250
comisd xmm3, xmm6
movss xmm10, dword [0x140094ab4]
movaps xmm1, xmm3
cvtps2pd xmm10, xmm10
movaps xmm0, xmm10
mulsd xmm0, xmm4
addsd xmm0, xmm5
cvtpd2ps xmm5, xmm0
jbe 0x1400462b0
addsd xmm1, xmm8
comisd xmm1, xmm6
ja 0x1400462a5
comisd xmm7, xmm1
jbe 0x1400462cb
nop word [rax + rax]
addsd xmm1, xmm9
comisd xmm7, xmm1
ja 0x1400462c0
movsd xmm4, qword [0x1400867c8]
mov ecx, 1
movaps xmm2, xmm4
nop dword [rax + rax]
xorps xmm2, xmm12
lea eax, [rcx + 1]
imul eax, ecx
add ecx, 2
mulsd xmm2, xmm1
mulsd xmm2, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
ucomisd xmm2, xmm11
addsd xmm4, xmm2
jp 0x1400462e0
jne 0x1400462e0
addsd xmm3, qword [0x1400867b8]
movaps xmm0, xmm10
movss dword [rsp + 0x34], xmm5
mulsd xmm0, xmm4
comisd xmm3, xmm6
addsd xmm0, qword [rsp + 0x38]
movaps xmm1, xmm3
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x30], xmm0
jbe 0x14004634b
nop dword [rax]
addsd xmm1, xmm8
comisd xmm1, xmm6
ja 0x140046340
comisd xmm7, xmm1
jbe 0x14004635c
addsd xmm1, xmm9
comisd xmm7, xmm1
ja 0x140046351
ucomisd xmm1, xmm11
mov edx, 1
movaps xmm4, xmm11
movaps xmm2, xmm1
jp 0x140046371
je 0x1400463af
mov ecx, 6
nop word [rax + rax]
addsd xmm4, xmm2
mov eax, ecx
imul eax, edx
xorps xmm2, xmm12
mulsd xmm2, xmm1
inc edx
add ecx, 4
mulsd xmm2, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
ucomisd xmm2, xmm11
jp 0x140046380
jne 0x140046380
comisd xmm3, xmm6
movaps xmm0, xmm10
mulsd xmm0, xmm4
xorps xmm4, xmm4
addsd xmm0, qword [rsp + 0x40]
cvtsd2ss xmm4, xmm0
jbe 0x1400463db
nop word [rax + rax]
addsd xmm3, xmm8
comisd xmm3, xmm6
ja 0x1400463d0
comisd xmm7, xmm3
jbe 0x1400463ec
addsd xmm3, xmm9
comisd xmm7, xmm3
ja 0x1400463e1
movsd xmm5, qword [0x1400867c8]
mov ecx, 1
movaps xmm2, xmm5
movaps xmm1, xmm5
nop
xorps xmm1, xmm12
lea eax, [rcx + 1]
imul eax, ecx
add ecx, 2
mulsd xmm1, xmm3
mulsd xmm1, xmm3
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
ucomisd xmm1, xmm11
addsd xmm2, xmm1
jp 0x140046400
jne 0x140046400
cmp byte [0x140094ab2], 0
xorps xmm0, xmm0
mulsd xmm10, xmm2
movss dword [rsp + 0x12c], xmm4
addsd xmm10, qword [rsp + 0x38]
cvtsd2ss xmm0, xmm10
movss dword [rsp + 0x128], xmm0
je 0x140046584
movsd xmm2, qword [0x1400867e0]
lea r9, [rsp + 0x110]
mov rax, qword [0x140095da0]
movsd xmm1, qword [rax + 0x3f58]
lea rax, [rsp + 0x120]
movaps xmm0, xmm1
mov qword [rsp + 0x28], rax
divsd xmm0, xmm2
lea rax, [rsp + 0x118]
mov qword [rsp + 0x20], rax
mulsd xmm0, xmm2
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm13
movss xmm13, dword [0x1400867a0]
divsd xmm1, xmm2
movaps xmm2, xmm13
subsd xmm1, xmm0
addsd xmm1, xmm5
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm15
call fcn.140003b40
movss xmm1, dword [rsp + 0x110]
comiss xmm14, xmm1
jbe 0x1400464ec
movaps xmm0, xmm14
jmp 0x1400464f4
movaps xmm0, xmm13
minss xmm0, xmm1
movss xmm10, dword [0x1400868a8]
movss xmm1, dword [rsp + 0x118]
comiss xmm14, xmm1
mulss xmm0, xmm10
addss xmm0, xmm15
cvttss2si ecx, xmm0
jbe 0x140046520
movaps xmm0, xmm14
jmp 0x140046528
movaps xmm0, xmm13
minss xmm0, xmm1
movss xmm1, dword [rsp + 0x120]
mulss xmm0, xmm10
addss xmm0, xmm15
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm14, xmm1
jbe 0x140046550
movaps xmm0, xmm14
jmp 0x140046558
movaps xmm0, xmm13
minss xmm0, xmm1
mulss xmm0, xmm10
addss xmm0, xmm15
cvttss2si eax, xmm0
movaps xmm0, xmm13
shl eax, 0x10
mulss xmm0, xmm10
or eax, ecx
addss xmm0, xmm15
cvttss2si ebx, xmm0
shl ebx, 0x18
or ebx, eax
jmp 0x140046589
mov ebx, 0xffffffff
movss xmm0, dword [0x140086808]
lea r8, [rsp + 0x128]
mov r9d, 0xff000000
movss dword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140027850
movss xmm0, dword [0x1400867d0]
lea r8, [rsp + 0x128]
mov r9d, ebx
movss dword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140027850
movsd xmm5, qword [rsp + 0x40]
inc edi
cmp edi, 0x32
jl 0x1400461e0
movaps xmm14, xmmword [rsp + 0x60]
lea r11, [rsp + 0xf0]
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 xmm15, xmmword [rsp + 0x50]
mov rsp, r11
pop rdi
pop rsi
pop rbx
ret