Function at 0x3999729e0
Capabilities:
Encode data using xor

Disassembly:
push r13
movlhps xmm6, xmm0
psraw mm6, 0x13
addps xmm3, xmm13
psrlw mm5, 0x29
nop
push r8
shl r8w, 0x11
minps xmm4, xmm9
nop
maxps xmm12, xmm6
nop
pop r8
nop
not r13w
psadbw mm2, mm0
xorps xmm8, xmm1
psrld mm5, 0x29
nop
pop r13
mov qword [rsp + 8], rcx
push r10
sbb r10b, 0x12
push rax
paddusb mm6, mm3
pop rax
not r10w
pop r10
mov qword [rsp + 0x10], rdx
push r15
psraw mm3, 0x1f
shr r15, 0xf
not r15b
pmaxub mm4, mm3
emms
push r9
punpckhwd mm4, mm2
nop
neg r9d
mulss xmm14, xmm4
push r13
neg r13w
nop
sbb r15w, 0xc
push r8
psrlw mm4, 0x5e
nop
push rdx
movhlps xmm9, xmm10
pop rdx
psraw mm3, 0x69
psubw mm2, mm6
pop r8
psraw mm1, 0x26
punpckhbw mm5, mm6
sar r9d, 3
pop r13
rcl r9d, 0x17
emms
shl r9b, 1
shr r15, 6
pop r9
inc r15
movaps xmm10, xmm12
ror r15w, 2
mulss xmm14, xmm10
minps xmm8, xmm14
pop r15
mov qword [rsp + 0x18], r8
push rbx
mov rbx, 1
push r9
push r10
pop r10
pop r9
dec rbx
jne 0x399972ab5
pop rbx
mov qword [rsp + 0x20], r9
cmp bl, 0x2f
je 0x399972bac
push r10
dec r10
push r8
andnps xmm2, xmm13
push r9
shl r10b, 3
pop r9
psrlq mm0, 0x51
pop r8
neg r10b
pop r10
cmp r14b, 0x64
je 0x399972bcd
push r10
mov r10, 3
push r13
pop r13
dec r10
jne 0x399972b02
pop r10
cmp r13w, r10w
je 0x399972c10
push r11
punpckldq mm3, mm0
push r15
xchg r15w, r11w
push r12
emms
pop r12
punpcklwd mm0, mm4
pop r15
psrld mm2, 0x60
pop r11
cmp r12d, edx
je 0x399972c35
cmp bl, r9b
jne 0x399972b4e
push rcx
movups xmm6, xmm3
pop rcx
jmp 0x399972b56
push r15
shl r15d, 0x10
pop r15
push rdx
packuswb mm1, mm6
pop rdx
cmp r11d, r9d
je 0x399972c73
push r10
minps xmm6, xmm11
dec r10d
psubsb mm7, mm1
push rbx
emms
xchg r10w, bx
psrad mm3, 0x60
push r11
cmp r11d, r10d
neg bl
sbb r10b, 0x12
pop r11
emms
or bl, r10b
emms
pop rbx
emms
mov r10, 0x15
emms
pop r10
cmp r12b, r10b
je 0x399972cbb
jne 0x399972d21
push r15
shl r15d, 0xf
movhlps xmm11, xmm14
not r15
movss xmm12, xmm13
nop
neg r15w
neg r15b
pop r15
jmp 0x399972d21
push rbx
minps xmm8, xmm7
push r8
emms
emms
push r12
inc r12
psraw mm1, 0x42
dec r8
push r14
orps xmm15, xmm5
paddd mm6, mm4
psrld mm0, 0x68
psllq mm5, 0x30
pop r14
sar r8b, 9
emms
nop
pop r12
emms
emms
pop r8
psrlq mm1, 0x67
pop rbx
jmp 0x399972d21
push rdx
rcl edx, 0xe
push r8
pcmpgtd mm7, mm5
emms
push r10
neg dl
emms
dec edx
pop r10
emms
paddw mm5, mm6
pop r8
sar dl, 0xd
pop rdx
jmp 0x399972d21
push r13
emms
pandn mm3, mm0
shl r13, 0xf
push rax
rol eax, 2
rol rax, 4
rcr ax, 0x13
push r11
or rax, r11
shl r11w, 0x15
test r11w, r13w
pop r11
and r13b, al
paddsb mm1, mm4
psrlq mm1, 0x29
pop rax
neg r13
nop
nop
pop r13
jmp 0x399972d21
push rcx
punpcklbw mm5, mm6
emms
push rax
emms
emms
push r10
punpcklwd mm4, mm3
emms
push r14
psrlw mm6, 0x30
sar rax, 0xa
push r8
cmp r10d, r8d
nop
pop r8
xorps xmm4, xmm10
psrlq mm2, 0x5a
pop r14
maxps xmm8, xmm4
punpcklbw mm2, mm1
pop r10
emms
ror rcx, 4
pop rax
sbb cx, 9
not rcx
pop rcx
jmp 0x399972d21
push r8
emms
emms
nop
nop
not r8w
push rbx
mov ebx, r8d
punpcklbw mm7, mm4
sar bx, 9
movups xmm2, xmm12
push rax
rcl ax, 0xc
emms
shl r8d, 8
push r10
shr r8d, 9
minps xmm11, xmm4
push rcx
test bl, al
pop rcx
nop
subps xmm4, xmm14
pop r10
paddb mm7, mm0
xorps xmm2, xmm12
rcr rbx, 0x10
pop rax
emms
xor rbx, r8
psrlw mm3, 0x17
neg r8d
pop rbx
emms
dec r8
psllq mm4, 0x5b
mov r8d, 5
nop
pop r8
push r8
paddsb mm6, mm1
push rbx
not r8d
movlhps xmm1, xmm5
push rdx
rcr bl, 0x12
nop
not rdx
push r14
movss xmm15, xmm6
pmaxub mm1, mm5
punpcklbw mm5, mm2
xadd rbx, r14
push r12
inc edx
xadd r14d, edx
movss xmm7, xmm0
adc r12d, r14d
addss xmm10, xmm6
pop r12
neg r14w
psrlq mm2, 0x38
nop
nop
pop r14
xor rdx, rbx
sbb r8d, ebx
psrlw mm7, 0x2e
pop rdx
nop
emms
pop rbx
nop
pop r8
sub rsp, 0x64
push r14
psrlq mm7, 0x64
nop
nop
sub r14d, 8
push rcx
rol r14b, 6
inc rcx
nop
push r15
inc r15
psubusw mm7, mm0
push r10
psrlw mm4, 0x3a
pop r10
neg cx
paddusb mm4, mm3
pop r15
xor r14w, cx
movups xmm3, xmm7
psraw mm7, 0x41
pop rcx
emms
packsswb mm1, mm7
ror r14b, 0xf
nop
pop r14
movabs rcx, 0xcd54f5f5
push r13
pcmpeqd mm4, mm6
movups xmm8, xmm2
orps xmm2, xmm5
movaps xmm14, xmm9
sub r13, 7
push r8
neg r8w
minps xmm6, xmm1
sub r8b, 5
inc r8
nop
pop r8
psllq mm4, 0x4a
neg r13b
sbb r13, 2
emms
pslld mm3, 0x4c
emms
pop r13
call fcn.39996ad91
push r11
nop
rol r11b, 0x14
push rcx
rcpps xmm1, xmm12
shr ecx, 0xd
push rax
nop
psrlq mm7, 0x37
push r9
emms
emms
push r13
psrld mm1, 0x15
paddsw mm7, mm4
pop r13
psllq mm2, 0x69
emms
pop r9
shl ax, 8
adc rax, r11
pop rax
cmp rcx, r11
psraw mm4, 0x54
pop rcx
emms
emms
pop r11
mov r15, rax
push rbx
nop
push r15
rcl ebx, 0x12
push r9
sbb r9w, 0xe
push rcx
psraw mm1, 0x43
push r10
movhlps xmm1, xmm12
pop r10
nop
pop rcx
punpckhbw mm6, mm7
pop r9
emms
pop r15
rol bx, 2
pop rbx
movabs rcx, 0xcd54f5f5
push r10
sar r10w, 0xf
push rdx
psrlw mm4, 3
push r12
movaps xmm5, xmm6
push rax
psllq mm3, 0x34
push r11
rcpss xmm8, xmm11
push r15
rcl r15d, 0x11
push r13
emms
pop r13
nop
pop r15
rcpss xmm14, xmm2
pop r11
ror edx, 2
pop rax
movups xmm6, xmm10
pop r12
not dl
pop rdx
andnps xmm12, xmm13
pop r10
call fcn.39996b0bd
push r14
psrlw mm4, 0x2e
push r10
inc r14d
push rcx
cmp r10, r14
push rdx
inc r10d
push r9
orps xmm13, xmm2
push r15
psrlw mm3, 0x29
push r8
emms
pop r8
neg r10d
pop r15
nop
pop r9
nop
pop rdx
or r10b, r14b
pop rcx
emms
pop r10
psrad mm0, 0x39
pop r14
add rsp, 0x64
push r14
mov r14, 2
push r8
xorps xmm12, xmm13
push rbx
nop
push r9
pmaddwd mm3, mm6
push r15
psrlw mm0, 0x2c
push r12
maxps xmm2, xmm11
push rcx
ror r8w, 0x17
push r11
nop
pop r11
nop
pop rcx
xadd r12w, r9w
pop r12
inc rbx
pop r15
pminsw mm5, mm6
pop r9
packsswb mm6, mm5
pop rbx
movaps xmm3, xmm6
pop r8
dec r14
jne 0x399972f1f
pop r14
mov rcx, qword [rsp + 8]
push r15
sar r15w, 9
push rcx
nop
nop
pop rcx
neg r15b
pop r15
mov rdx, qword [rsp + 0x10]
push rbx
mov bx, 6
push r12
rcr bx, 1
pop r12
maxps xmm7, xmm11
pop rbx
mov r8, qword [rsp + 0x18]
push r13
mov r13, 1
push r11
push r14
pop r14
pop r11
dec r13
jne 0x399972f9f
pop r13
mov r9, qword [rsp + 0x20]
push r11
emms
emms
mov r11b, 0xa
psrlw mm4, 0x2c
pslld mm3, 0x59
pmaxsw mm2, mm5
psrad mm3, 0x18
pop r11
mov r10, rcx
push rax
emms
emms
pslld mm4, 0x55
neg rax
push rbx
and eax, ebx
sbb ax, 3
shr ax, 2
push rdx
emms
pslld mm4, 0x66
push r8
psraw mm5, 0x56
pop r8
punpckldq mm5, mm6
subss xmm2, xmm13
pop rdx
addss xmm11, xmm1
sbb rax, rbx
emms
pop rbx
neg ax
movaps xmm8, xmm6
pcmpeqw mm1, mm3
psubw mm5, mm3
pop rax
jmp r15