Function at 0x2f888284a
Capabilities:
Encode data using xor

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x40
push rax
ror eax, 0x17
nop
nop
pmaxsw mm7, mm2
rol eax, 4
mulps xmm0, xmm2
nop
pop rax
xor edx, edx
mov dword [rsp + 0x3c], edx
push r8
pmaddwd mm3, mm6
packssdw mm4, mm7
emms
sbb r8w, 0xc
push r12
shl r12b, 7
adc r8, r12
psrad mm1, 0x65
xchg r12d, r8d
pop r12
paddusb mm7, mm1
dec r8
psrlq mm4, 0x10
inc r8
pop r8
push rax
subps xmm6, xmm4
push rcx
andps xmm7, xmm3
push rbx
nop
pop rbx
neg al
pop rcx
emms
pop rax
lea r8, [rsp + 0x3c]
mov r9d, 4
mov edx, 3
xor ecx, ecx
mov qword [rsp + 0x20], r8
call fcn.2f887dc22
push r13
minps xmm3, xmm10
push rcx
psrlq mm3, 0x30
shl cx, 0x15
pop rcx
nop
pop r13
cmp eax, 0xc0000004
je 0x2f88828f6
push r14
mov r14, 1
push rcx
pop rcx
dec r14
jne 0x2f88828e8
pop r14
jmp 0x2f8882e9d
push r9
subss xmm5, xmm12
push rbx
psrad mm2, 9
emms
push r15
and r9d, ebx
emms
not rbx
push r8
not bx
not rbx
rcl r8w, 0x15
psrad mm4, 0x46
push rax
movhlps xmm10, xmm9
emms
xchg r15b, r9b
xchg r15d, r9d
rcr r15, 2
pop rax
pslld mm3, 0x13
psrad mm4, 0x1b
ucomiss xmm6, xmm0
rcr r8b, 0x11
pop r8
psllq mm0, 4
emms
emms
pop r15
nop
dec r9
pop rbx
shl r9b, 2
pop r9
mov edx, dword [rsp + 0x3c]
mov r9d, 4
mov r8d, 0x3000
xor ecx, ecx
call fcn.2f8872c4d
mov rsi, rax
push r9
nop
not r9b
not r9
psrld mm4, 0x11
push r13
xorps xmm11, xmm5
emms
psraw mm7, 0x5b
push rcx
ror r9d, 6
nop
push rdx
psraw mm1, 0x43
pop rdx
nop
dec r9d
pop rcx
nop
inc r9
rol r13b, 0x14
pop r13
psrlq mm2, 0x32
psubsb mm3, mm1
nop
addps xmm15, xmm2
pop r9
test rax, rax
jne 0x2f88829e0
cmp r10w, 0x65
jne 0x2f88829cd
push rdx
neg edx
pop rdx
jmp 0x2f88829d6
push r14
rol r14w, 9
pop r14
push r11
nop
pop r11
jmp 0x2f8882e9d
cmp r10w, 0x5b
jne 0x2f88829fd
push r13
punpcklbw mm6, mm0
push r8
neg r13b
cmp r8b, r13b
pop r8
movhlps xmm0, xmm4
pop r13
jmp 0x2f8882a0b
push rdx
nop
push r14
nop
emms
pop r14
psrad mm6, 0x3c
pop rdx
push rax
emms
push r9
movhlps xmm14, xmm0
mov rax, r9
pop r9
pcmpgtb mm4, mm0
pop rax
xor eax, eax
mov r9d, dword [rsp + 0x3c]
mov r8, rsi
mov edx, 3
mov qword [rsp + 0x20], rax
or rcx, 0xffffffffffffffff
call fcn.2f887dc22
push r11
andps xmm4, xmm11
addps xmm1, xmm2
psadbw mm2, mm4
push r14
orps xmm11, xmm4
pslld mm1, 0x58
nop
push r10
nop
psrlw mm2, 3
push r8
psrlw mm5, 0x4f
sub r8d, r11d
pop r8
xchg r14b, r10b
maxss xmm11, xmm10
rcl r11b, 0xd
pop r10
cmp r11d, r14d
neg r11w
pop r14
pslld mm7, 0x63
subss xmm13, xmm6
pop r11
test eax, eax
jns 0x2f8882aab
push rax
not ax
push r11
emms
push rcx
sub cl, 0xb
push r13
rcr ecx, 0x17
pop r13
nop
pop rcx
nop
pop r11
andps xmm15, xmm12
pop rax
jmp 0x2f8882e9d
push rdx
nop
pop rdx
push r13
mov r13, 3
push rdx
pop rdx
dec r13
jne 0x2f8882ab7
pop r13
lea rbx, [rsi + 8]
push r14
mov r14, 3
push rax
pop rax
dec r14
jne 0x2f8882acd
pop r14
xor edi, edi
cmp edi, dword [rsi]
jae 0x2f8882da2
push rdx
mov rdx, 1
push rbx
push r13
pop r13
pop rbx
dec rdx
jne 0x2f8882ae8
pop rdx
push rax
mov rax, 2
push r15
pop r15
dec rax
jne 0x2f8882afc
pop rax
mov rcx, qword [rbx + 8]
call fcn.2f887364c
cmp eax, 0xa0c13af0
jne 0x2f8882c1e
push r9
inc r9d
dec r9d
emms
shl r9d, 0xc
emms
push r8
not r9d
add r9b, r8b
rcl r9w, 1
comiss xmm0, xmm11
push r12
emms
emms
not r8d
push r10
psraw mm7, 0x33
sbb r9d, 0x13
push rax
rcr ax, 5
pop rax
rcl r12, 0x13
test r8w, r10w
pop r10
maxps xmm10, xmm2
ror r8b, 0xc
adc r12, r9
pop r12
dec r9d
xchg r9d, r8d
neg r9b
mov r8, 0x10
pop r8
psrlw mm7, 0x1e
pmaddwd mm2, mm0
paddusb mm6, mm4
packssdw mm6, mm7
inc r9d
pop r9
cmp dword [rbx + 0x14], 0
je 0x2f8882bff
push r14
nop
emms
sar r14w, 0x14
dec r14d
pand mm2, mm5
emms
not r14w
sbb r14b, 2
packuswb mm0, mm2
nop
psrad mm4, 0x54
psllq mm5, 0x60
pop r14
xor ecx, ecx
call fcn.2f887b19c
push r11
mov r11, 3
push rdx
xorps xmm13, xmm10
neg edx
paddsb mm2, mm0
nop
push r13
sar dx, 6
sar r13w, 4
shl dx, 5
dec r13
pop r13
inc rdx
emms
pslld mm6, 0x1d
rcl edx, 0x12
pop rdx
dec r11
jne 0x2f8882bcc
pop r11
push r9
orps xmm6, xmm7
dec r9d
psrlw mm7, 0x6a
psrad mm0, 0x4e
packssdw mm7, mm0
psrlw mm1, 0x4c
nop
pop r9
jmp 0x2f8882da2
push r8
movss xmm12, xmm1
emms
push r9
psrlq mm2, 0x2f
pop r9
packuswb mm4, mm7
emms
pop r8
mov rax, qword [rbx + 8]
push r10
mov r10, 2
push rcx
push r15
pop r15
pop rcx
dec r10
jne 0x2f8882c43
pop r10
movzx edx, word [rbx + 2]
add rax, rdx
push r10
sub r10, 1
push r8
neg r8w
ror r8w, 0x14
pop r8
neg r10
pop r10
mov rbx, rax
and rbx, 0xfffffffffffffff8
push rcx
psrad mm2, 0x66
paddd mm0, mm2
emms
pcmpeqd mm7, mm1
push r13
emms
not ecx
pslld mm0, 0x53
psrlw mm0, 0x4a
pop r13
ror cl, 0x10
psubw mm7, mm6
sbb ecx, 4
nop
pop rcx
cmp rbx, rax
jae 0x2f8882d4a
cmp r10w, r12w
jne 0x2f8882cc2
push rdx
xorps xmm12, xmm7
push r9
inc rdx
neg rdx
pop r9
neg dx
pop rdx
jmp 0x2f8882cd4
push rcx
not ecx
push r13
emms
psrad mm5, 0xf
pop r13
shl cx, 0x10
pop rcx
push r14
comiss xmm7, xmm9
push r15
emms
subps xmm14, xmm7
pop r15
sub r14, 0x10
pop r14
add rbx, 8
push r12
inc r12
push r11
psraw mm1, 0x5f
emms
push rcx
dec r11
sub r11b, 0x11
emms
push r15
psrld mm3, 9
packuswb mm1, mm3
psadbw mm5, mm7
emms
push r13
xadd r13, r12
emms
test r11d, r12d
inc ecx
neg r11w
pop r13
nop
rol r15b, 5
rol cx, 0xd
pslld mm1, 0x5c
pop r15
emms
emms
sub cl, 0xf
pop rcx
xchg r11w, r12w
nop
pop r11
andnps xmm11, xmm15
pop r12
push rdx
mulss xmm15, xmm8
emms
psrlq mm7, 0x47
push r11
neg r11w
emms
pcmpeqd mm2, mm1
push r15
inc r15d
xchg r15d, edx
psrad mm7, 0x14
pop r15
psllq mm6, 0x2b
sub r11w, 0xe
psraw mm1, 0x3f
pop r11
emms
pslld mm5, 0x14
shl rdx, 5
pop rdx
push rdx
mov rdx, 1
push r9
pop r9
dec rdx
jne 0x2f8882d91
pop rdx
inc edi
jmp 0x2f8882ad8
cmp r10b, cl
jne 0x2f8882db7
push r14
psraw mm7, 0x17
pop r14
jmp 0x2f8882dbb
push rax
emms
pop rax
push r11
dec r11
pop r11
push r9
emms
inc r9
pandn mm7, mm2
rcpss xmm2, xmm7
push rax
dec r9
pcmpgtw mm7, mm2
paddb mm3, mm7
push r11
or r11w, r9w
dec rax
push r10
emms
pop r10
inc r9
test r11d, eax
pop r11
mulss xmm0, xmm15
cmp al, r9b
andps xmm5, xmm14
pop rax
emms
sub r9d, 0x17
rcr r9d, 0x14
pandn mm6, mm0
pop r9
mov r8d, 0x8000
xor edx, edx
mov rcx, rsi
call fcn.2f8872cd2
push r8
movaps xmm3, xmm5
emms
psllq mm3, 0x5e
push r14
emms
packssdw mm2, mm0
mov r14, r8
push rcx
add rcx, r8
nop
push r13
emms
nop
pop r13
psrad mm0, 0x2f
subss xmm11, xmm12
nop
pop rcx
adc r8d, r14d
movlhps xmm9, xmm1
pop r14
mov r8b, 0xd
rol r8w, 0xe
pop r8
cmp r10d, r12d
jne 0x2f8882e77
push r14
psllq mm4, 0x66
push r12
nop
sub r14d, r12d
pop r12
sar r14d, 0xe
pop r14
jmp 0x2f8882e88
push r15
dec r15
push rax
nop
sub r15d, eax
pop rax
psrlq mm0, 0x6a
pop r15
push r9
xorps xmm6, xmm12
push r13
movhlps xmm15, xmm4
sbb r13, 0xb
pop r13
nop
pop r9
add rsp, 0x40
pop rbx
pop rsi
pop rdi
ret