Function at 0x2f887944a
Capabilities:
Encode data using xor

Disassembly:
push r8
inc r8
push r10
ror r8b, 0x15
push r11
adc r10d, r8d
push r12
punpckldq mm5, mm3
push rdx
sub r8b, r12b
pop rdx
nop
pop r12
pcmpgtd mm4, mm2
pop r11
rcpps xmm3, xmm9
pop r10
not r8b
pop r8
mov qword [rsp + 8], rcx
push r13
mulss xmm7, xmm15
push r11
sbb r13w, 0x12
sar r11w, 0x13
push r15
test r15b, r13b
nop
rol r13b, 2
push r14
nop
nop
emms
nop
pop r14
punpcklbw mm5, mm3
emms
paddsb mm0, mm1
pop r15
rcr r11b, 0xe
xorps xmm4, xmm2
pop r11
psrlq mm1, 0x54
pop r13
mov qword [rsp + 0x10], rdx
cmp r10d, ebx
jne 0x2f88794d6
push r9
paddw mm3, mm5
pop r9
jmp 0x2f88794db
push r15
nop
pop r15
push rax
emms
pop rax
mov qword [rsp + 0x18], r8
push r15
emms
emms
nop
movaps xmm8, xmm0
punpckhwd mm2, mm1
push rax
psrld mm6, 0x1d
emms
psrlw mm1, 0x63
inc r15
push rdx
nop
psllq mm7, 0x29
xchg edx, r15d
push r10
nop
psrld mm7, 0xe
push r9
andps xmm4, xmm0
pop r9
dec edx
emms
pop r10
or r15b, dl
subps xmm14, xmm9
sbb r15b, al
pop rdx
emms
nop
nop
inc rax
pop rax
movlhps xmm8, xmm0
dec r15
psrlw mm0, 0x49
nop
pcmpgtw mm2, mm5
pop r15
mov qword [rsp + 0x20], r9
push r13
maxps xmm12, xmm6
rcr r13b, 0xc
mov r13b, 7
push r8
nop
shl r13b, 7
xorps xmm12, xmm9
push rdx
neg rdx
cmp r13b, dl
push rcx
dec r13d
movups xmm4, xmm3
pop rcx
nop
dec r13
nop
pop rdx
movlhps xmm8, xmm2
pcmpgtb mm4, mm2
pop r8
pandn mm2, mm1
subps xmm6, xmm4
pop r13
sub rsp, 0x64
push r9
emms
inc r9
nop
push r13
inc r13
ror r13b, 0x11
movaps xmm13, xmm1
push r14
nop
psllq mm0, 0x51
push rbx
sub r14d, 3
punpckldq mm3, mm6
pop rbx
emms
emms
psrlw mm2, 0x63
pop r14
adc r13, r9
neg r9d
pop r13
maxps xmm11, xmm0
pslld mm6, 0x4b
pop r9
mov rcx, 0x1f5011c9
push r11
minps xmm6, xmm1
push r12
punpcklbw mm7, mm6
inc r12d
push rcx
neg r12d
not r11w
psrlw mm7, 0x27
push r14
packsswb mm0, mm7
emms
minps xmm6, xmm10
neg r12b
pop r14
psrld mm0, 0x5f
mov ecx, 0xa
nop
pop rcx
comiss xmm6, xmm3
minps xmm14, xmm6
pop r12
neg r11w
pop r11
call fcn.2f88776cf
cmp r10b, r14b
jne 0x2f8879624
push r8
nop
pop r8
jmp 0x2f8879628
push rax
emms
pop rax
push r10
rcpps xmm8, xmm7
pop r10
mov r15, rax
push r11
psraw mm3, 0x4e
neg r11b
nop
push rax
psrad mm2, 0x44
emms
mov eax, 4
push rbx
or rax, rbx
sub rbx, r11
push r15
sbb bx, 4
nop
pop r15
sub r11w, bx
or ax, r11w
adc eax, r11d
pop rbx
pslld mm7, 0x1e
mulps xmm15, xmm13
pop rax
not r11d
paddb mm2, mm6
pop r11
mov rcx, 0x1f5011c9
push rcx
sar cx, 0x10
push r8
por mm4, mm7
push r10
rcr r8w, 3
push rax
movups xmm0, xmm4
push rdx
nop
pop rdx
dec r10
pop rax
sub r10, 1
pop r10
emms
pop r8
nop
pop rcx
call fcn.2f887785e
push rcx
mulss xmm14, xmm13
sub cx, 3
pslld mm7, 0x12
push r9
punpckhwd mm6, mm3
sub rcx, 4
dec rcx
push rbx
nop
paddw mm0, mm4
sbb r9d, ebx
pop rbx
maxss xmm7, xmm14
pandn mm4, mm1
not cx
pop r9
emms
paddsb mm4, mm6
not ecx
pop rcx
add rsp, 0x64
cmp r10, r11
jne 0x2f88796f2
push rax
ror eax, 8
pop rax
jmp 0x2f88796f7
push rcx
paddusb mm3, mm1
pop rcx
push r14
psrlq mm1, 0x4f
pop r14
mov rcx, qword [rsp + 8]
push rdx
emms
push r12
packssdw mm3, mm6
push r11
rcr r11w, 0xb
pop r11
emms
pop r12
psrld mm5, 0x1a
pop rdx
mov rdx, qword [rsp + 0x10]
push rdx
psrld mm5, 0x5b
push rcx
nop
push r13
mov rcx, 0xa
push rbx
mov edx, r13d
push r14
nop
push r9
sub rbx, 0xb
push r11
mov rbx, 9
pop r11
emms
pop r9
emms
pop r14
psrld mm5, 0x69
pop rbx
cmp dl, r13b
pop r13
psrad mm3, 0x28
pop rcx
sub dl, 0x13
pop rdx
mov r8, qword [rsp + 0x18]
push rdx
mov rdx, 2
push rdx
emms
movaps xmm0, xmm1
not edx
comiss xmm14, xmm9
ucomiss xmm5, xmm8
psraw mm3, 0x32
xorps xmm8, xmm2
pop rdx
dec rdx
jne 0x2f8879773
pop rdx
mov r9, qword [rsp + 0x20]
push r10
nop
nop
emms
push r13
movhlps xmm8, xmm12
punpckldq mm6, mm3
inc r10d
push r8
sar r8w, 1
psrld mm2, 5
emms
pop r8
psrad mm4, 0x3d
pmaxsw mm4, mm1
psrlw mm2, 0x30
pop r13
pminsw mm4, mm7
pcmpeqd mm7, mm0
emms
pop r10
mov r10, rcx
push r9
psrad mm0, 0x14
psrad mm6, 0x35
nop
push rcx
xadd rcx, r9
emms
xadd ecx, r9d
push rbx
psrlq mm2, 0x64
psraw mm7, 0x38
test rbx, rcx
pop rbx
nop
emms
sub ecx, 1
pop rcx
dec r9
rol r9b, 0xa
pcmpeqw mm7, mm4
pop r9
jmp r15