Function at 0x140047900
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbx
push rbp
push rsi
push rdi
push r15
sub rsp, 0xe0
mov rbx, qword [r8 + 0x50]
mov rdi, rcx
mov rax, rbx
movaps xmmword [r11 - 0x38], xmm6
cqo
movaps xmmword [r11 - 0x48], xmm7
and edx, 3
lea rsi, [rdx + rax]
mov rax, rbx
cqo
and edx, 7
add rax, rdx
sar rax, 3
mov rbp, rax
lea r15, [rax*8]
and rsi, 0xfffffffffffffffc
je 0x140047ed0
movaps xmm0, xmmword [0x1400f97c0]
xorps xmm3, xmm3
movaps xmm5, xmmword [0x1400f9820]
movaps xmm4, xmmword [0x1400f97b0]
movaps xmm7, xmmword [0x1400f9810]
mov qword [r11 + 0x10], r14
mov r14, qword [rcx + 0x10]
movaps xmmword [r11 - 0x58], xmm8
movdqa xmm8, xmmword [0x1400f9800]
movaps xmmword [r11 - 0x68], xmm9
movups xmm9, xmmword [r14]
movaps xmmword [r11 - 0x78], xmm10
movss xmm10, dword [rcx + 0x28]
movaps xmmword [r11 - 0x88], xmm11
movaps xmmword [rsp + 0x70], xmm12
movaps xmm12, xmmword [0x1400f9790]
movaps xmmword [rsp + 0x60], xmm13
movaps xmm13, xmm10
shufps xmm13, xmm13, 0
subps xmm9, xmm13
movaps xmmword [rsp + 0x50], xmm14
movaps xmm14, xmmword [0x1400f97e0]
movaps xmmword [rsp + 0x40], xmm15
movaps xmm15, xmmword [0x1400f97d0]
movss dword [rsp + 0x120], xmm10
minps xmm0, xmm9
maxps xmm5, xmm0
mulps xmm4, xmm5
addps xmm4, xmm12
movaps xmm2, xmm4
movaps xmm0, xmm4
andps xmm2, xmmword [0x1400f97f0]
cmpltps xmm0, xmm3
movaps xmm1, xmm2
movaps xmm3, xmm8
addps xmm1, xmm14
cmpltps xmm2, xmm14
subps xmm1, xmm14
xorps xmm3, xmm1
andps xmm3, xmm0
andnps xmm0, xmm1
movaps xmm1, xmmword [0x1400f9740]
orps xmm3, xmm0
andps xmm3, xmm2
movaps xmm0, xmm8
andnps xmm2, xmm4
xorps xmm0, xmm15
orps xmm3, xmm2
movaps xmmword [rsp + 0x20], xmm0
cmpltps xmm4, xmm3
andps xmm4, xmmword [0x1400f97a0]
subps xmm3, xmm4
mulps xmm1, xmm3
mulps xmm7, xmm3
addps xmm7, xmm5
addps xmm7, xmm1
movaps xmm1, xmm0
maxps xmm1, xmm3
movaps xmm3, xmmword [str.giP9giP9giP9giP9]
movaps xmm0, xmm15
minps xmm0, xmm1
movaps xmm1, xmmword [0x1400f9770]
movaps xmm4, xmm7
mulps xmm3, xmm7
mulps xmm1, xmm7
cvttps2dq xmm6, xmm0
addps xmm3, xmmword [0x1400f9750]
addps xmm1, xmmword [0x1400f9780]
mulps xmm4, xmm7
movdqa xmm5, xmm6
psrad xmm5, 2
mulps xmm3, xmm7
movdqa xmm2, xmm5
paddd xmm2, xmmword [0x1400f9720]
movaps xmm0, xmm4
mulps xmm0, xmm7
addps xmm3, xmmword [0x1400f9760]
mulps xmm1, xmm7
pslld xmm2, 0x17
mulps xmm3, xmm0
addps xmm1, xmm12
movaps xmm0, xmmword [0x1400f97a0]
addps xmm3, xmm1
addps xmm0, xmm7
psubd xmm6, xmm5
psubd xmm6, xmm5
psubd xmm6, xmm5
paddd xmm6, xmmword [0x1400f9720]
mulps xmm3, xmm4
pslld xmm6, 0x17
addps xmm3, xmm0
mulps xmm3, xmm2
mulps xmm3, xmm2
mulps xmm3, xmm2
mulps xmm3, xmm6
maxps xmm9, xmm3
cmp rsi, 4
jle 0x140047e2c
movups xmm11, xmmword [r14 + 0x10]
mov qword [r11 + 8], r12
mov r12d, 8
movaps xmm0, xmmword [0x1400f97c0]
xorps xmm3, xmm3
movaps xmm5, xmmword [0x1400f9820]
subps xmm11, xmm13
movdqa xmm2, xmmword [0x1400f97f0]
minps xmm0, xmm11
maxps xmm5, xmm0
movaps xmm4, xmm5
mulps xmm4, xmmword [0x1400f97b0]
addps xmm4, xmm12
andps xmm2, xmm4
movaps xmm0, xmm4
movaps xmm1, xmm2
addps xmm1, xmm14
cmpltps xmm0, xmm3
movaps xmm3, xmm8
cmpltps xmm2, xmm14
subps xmm1, xmm14
xorps xmm3, xmm1
andps xmm3, xmm0
andnps xmm0, xmm1
movaps xmm1, xmmword [rsp + 0x20]
orps xmm3, xmm0
movaps xmm0, xmmword [0x1400f9740]
andps xmm3, xmm2
andnps xmm2, xmm4
orps xmm3, xmm2
movdqa xmm2, xmmword [0x1400f9720]
cmpltps xmm4, xmm3
andps xmm4, xmmword [0x1400f97a0]
subps xmm3, xmm4
mulps xmm0, xmm3
movaps xmm6, xmm3
mulps xmm6, xmmword [0x1400f9810]
maxps xmm1, xmm3
addps xmm6, xmm5
movaps xmm5, xmmword [str.giP9giP9giP9giP9]
addps xmm6, xmm0
movaps xmm0, xmm15
minps xmm0, xmm1
movaps xmm1, xmmword [0x1400f9770]
movaps xmm4, xmm6
mulps xmm5, xmm6
mulps xmm1, xmm6
mulps xmm4, xmm6
addps xmm5, xmmword [0x1400f9750]
addps xmm1, xmmword [0x1400f9780]
cvttps2dq xmm7, xmm0
mulps xmm5, xmm6
movaps xmm0, xmm4
mulps xmm0, xmm6
movdqa xmm3, xmm7
psrad xmm3, 2
mulps xmm1, xmm6
psubd xmm7, xmm3
psubd xmm7, xmm3
paddd xmm2, xmm3
pslld xmm2, 0x17
psubd xmm7, xmm3
paddd xmm7, xmmword [0x1400f9720]
pslld xmm7, 0x17
addps xmm1, xmm12
addps xmm5, xmmword [0x1400f9760]
addps xmm6, xmmword [0x1400f97a0]
mulps xmm5, xmm0
addps xmm5, xmm1
mulps xmm5, xmm4
addps xmm5, xmm6
mulps xmm5, xmm2
mulps xmm5, xmm2
mulps xmm5, xmm2
mulps xmm5, xmm7
maxps xmm11, xmm5
cmp r12, r15
jge 0x140047df1
movaps xmm12, xmm15
movdqa xmm10, xmm8
xorps xmm12, xmm8
nop dword [rax]
movups xmm8, xmmword [r14 + r12*4]
lea r8, [rsp + 0x20]
mov rcx, rdi
movaps xmm0, xmmword [0x1400f97c0]
lea rdx, [rsp + 0x30]
movaps xmm5, xmmword [0x1400f9820]
subps xmm8, xmm13
movdqa xmm2, xmmword [0x1400f97f0]
xorps xmm3, xmm3
minps xmm0, xmm8
maxps xmm5, xmm0
movaps xmm4, xmm5
mulps xmm4, xmmword [0x1400f97b0]
addps xmm4, xmmword [0x1400f9790]
andps xmm2, xmm4
movaps xmm0, xmm4
cmpltps xmm0, xmm3
movaps xmm1, xmm2
movaps xmm3, xmm10
addps xmm1, xmm14
cmpltps xmm2, xmm14
subps xmm1, xmm14
xorps xmm3, xmm1
andps xmm3, xmm0
andnps xmm0, xmm1
orps xmm3, xmm0
movaps xmm1, xmm12
andps xmm3, xmm2
andnps xmm2, xmm4
orps xmm3, xmm2
movdqa xmm2, xmmword [0x1400f9720]
cmpltps xmm4, xmm3
andps xmm4, xmmword [0x1400f97a0]
subps xmm3, xmm4
maxps xmm1, xmm3
movaps xmm6, xmm3
movaps xmm0, xmm3
mulps xmm0, xmmword [0x1400f9740]
mulps xmm6, xmmword [0x1400f9810]
addps xmm6, xmm5
addps xmm6, xmm0
movaps xmm0, xmm15
minps xmm0, xmm1
movaps xmm5, xmm6
movaps xmm1, xmm6
mulps xmm5, xmmword [str.giP9giP9giP9giP9]
movaps xmm4, xmm6
mulps xmm1, xmmword [0x1400f9770]
cvttps2dq xmm7, xmm0
addps xmm5, xmmword [0x1400f9750]
addps xmm1, xmmword [0x1400f9780]
movdqa xmm3, xmm7
mulps xmm4, xmm6
psrad xmm3, 2
mulps xmm5, xmm6
psubd xmm7, xmm3
mulps xmm1, xmm6
psubd xmm7, xmm3
movaps xmm0, xmm4
psubd xmm7, xmm3
addps xmm5, xmmword [0x1400f9760]
paddd xmm7, xmmword [0x1400f9720]
paddd xmm2, xmm3
addps xmm1, xmmword [0x1400f9790]
mulps xmm0, xmm6
addps xmm6, xmmword [0x1400f97a0]
pslld xmm2, 0x17
pslld xmm7, 0x17
mulps xmm5, xmm0
movups xmm0, xmmword [r14 + r12*4 + 0x10]
addps xmm5, xmm1
subps xmm0, xmm13
mulps xmm5, xmm4
movaps xmmword [rsp + 0x20], xmm0
addps xmm5, xmm6
mulps xmm5, xmm2
mulps xmm5, xmm2
mulps xmm5, xmm2
mulps xmm5, xmm7
maxps xmm8, xmm5
addps xmm9, xmm8
call fcn.14003ddb0
addps xmm11, xmmword [rsp + 0x30]
add r12, 8
cmp r12, r15
jl 0x140047c70
movss xmm10, dword [rsp + 0x120]
mov r12, qword [rsp + 0x110]
addps xmm9, xmm11
cmp rsi, r15
jle 0x140047e2c
shl rbp, 5
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
mov rcx, rdi
movups xmm0, xmmword [r14 + rbp]
subps xmm0, xmm13
movaps xmmword [rsp + 0x30], xmm0
call fcn.14003ddb0
addps xmm9, xmmword [rsp + 0x20]
movaps xmm15, xmmword [rsp + 0x40]
movaps xmm6, xmm9
movaps xmm14, xmmword [rsp + 0x50]
movaps xmm13, xmmword [rsp + 0x60]
movaps xmm12, xmmword [rsp + 0x70]
movaps xmm11, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0xb0]
movhlps xmm6, xmm9
addps xmm6, xmm9
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm0, xmm6
shufps xmm0, xmm6, 1
addss xmm6, xmm0
cmp rsi, rbx
jge 0x140047e9e
lea rdi, [r14 + rsi*4]
sub rbx, rsi
movss xmm0, dword [rdi]
subss xmm0, xmm10
call fcn.1400d6780
add rdi, 4
addss xmm6, xmm0
sub rbx, 1
jne 0x140047e82
mov r14, qword [rsp + 0x118]
movaps xmm0, xmm6
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xc0]
add rsp, 0xe0
pop r15
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rsi, qword [rcx + 0x10]
movss xmm7, dword [rcx + 0x28]
movss xmm0, dword [rsi]
subss xmm0, xmm7
call fcn.1400d6780
movaps xmm6, xmm0
cmp rbx, 1
jle 0x140047eb2
lea rdi, [rsi + 4]
dec rbx
nop word [rax + rax]
movss xmm0, dword [rdi]
subss xmm0, xmm7
call fcn.1400d6780
add rdi, 4
addss xmm6, xmm0
sub rbx, 1
jne 0x140047f00
movaps xmm0, xmm6
jmp 0x140047eb2