Function at 0x2904f0e54
Capabilities:
Encode data using xor

Disassembly:
cmp r12d, r8d
jne 0x2904f0e61
push r10
emms
pop r10
jmp 0x2904f0e67
push rcx
pslld mm2, 4
pop rcx
push r9
rcpps xmm4, xmm15
pop r9
mov qword [rsp + 8], rcx
push r12
sub r12b, 0xc
push r15
sub r12b, r15b
push r11
inc r11
push r14
inc r11
push rbx
emms
push r13
emms
pop r13
andnps xmm14, xmm10
pop rbx
sbb r11d, r15d
pop r14
shl r11w, 0xb
pop r11
psraw mm7, 0x31
pop r15
not r12w
pop r12
mov qword [rsp + 0x10], rdx
push r12
nop
push rcx
psrld mm2, 0x35
pop rcx
paddusw mm0, mm1
pop r12
mov qword [rsp + 0x18], r8
push r8
emms
emms
push r11
inc r11
and r8w, r11w
push rbx
pcmpgtb mm3, mm4
nop
push rax
inc r8d
pcmpgtw mm6, mm3
push r14
pxor mm2, mm4
psllq mm5, 2
pop r14
sub r8b, 0xf
xadd r8w, r11w
pop rax
paddusb mm6, mm1
psrad mm5, 0x62
pop rbx
psrlw mm1, 0x44
neg r11b
pop r11
emms
inc r8
pop r8
mov qword [rsp + 0x20], r9
cmp r12b, r15b
je 0x2904f104d
push r14
nop
push r13
xadd r13b, r14b
push r15
not r14
push rax
adc r14, r13
pop rax
pcmpeqb mm2, mm5
pop r15
mov r14d, 0xe
pop r13
addss xmm0, xmm9
pop r14
cmp r11d, eax
je 0x2904f107c
push rax
psrld mm5, 0x5c
emms
neg al
sar ax, 0xe
neg rax
rcr rax, 0x14
pcmpgtd mm2, mm3
emms
inc rax
sub ax, 0x12
nop
comiss xmm10, xmm4
pop rax
cmp al, dl
je 0x2904f1087
push r13
por mm5, mm0
nop
packuswb mm1, mm6
rol r13w, 0xd
psrad mm3, 0x41
push rcx
psrlw mm4, 0xf
psrlq mm5, 0xc
nop
rcr cl, 0x15
push r15
psadbw mm3, mm5
emms
emms
push r8
psubw mm1, mm6
dec r15d
push r11
pslld mm6, 0x29
pop r11
sbb r15, r13
emms
pop r8
nop
rcpss xmm1, xmm15
not cl
pop r15
psrlw mm4, 0x31
nop
neg cl
nop
pop rcx
dec r13
mov r13w, 0x13
punpcklbw mm7, mm5
emms
nop
pop r13
cmp r8b, 0x25
je 0x2904f10c5
cmp r12w, r11w
jne 0x2904f0ffe
push r14
nop
push rcx
pmullw mm3, mm4
emms
pop rcx
punpckldq mm5, mm2
pop r14
jmp 0x2904f1012
push r9
andnps xmm5, xmm2
push r10
adc r10d, r9d
psrlq mm6, 0x3e
pop r10
emms
pop r9
push rax
sar ax, 6
push rbx
pcmpeqd mm2, mm7
mov eax, ebx
pop rbx
shl al, 8
pop rax
cmp r10w, 0x65
je 0x2904f10d7
push rbx
mov rbx, 3
push rdx
pop rdx
dec rbx
jne 0x2904f1035
pop rbx
cmp r13w, r15w
je 0x2904f1112
jne 0x2904f1119
push rbx
addps xmm5, xmm15
psrlw mm6, 0x21
emms
orps xmm14, xmm10
neg rbx
nop
paddw mm0, mm5
movss xmm10, xmm3
sbb bl, 0x14
psrlq mm2, 0x41
punpcklwd mm1, mm2
comiss xmm14, xmm1
pop rbx
jmp 0x2904f1119
push rax
psllq mm5, 0x2e
pop rax
jmp 0x2904f1119
push r8
rol r8w, 5
emms
psrlw mm2, 0x4a
sub r8b, 0x13
psllq mm7, 0x49
push rax
test ax, r8w
inc r8d
movaps xmm10, xmm5
pslld mm5, 0x1d
inc r8d
pop rax
nop
paddusw mm2, mm7
rcr r8b, 6
emms
psrld mm2, 0x61
punpcklwd mm3, mm6
pop r8
jmp 0x2904f1119
push r8
psraw mm1, 0x3f
push r9
nop
pop r9
psubw mm6, mm2
pop r8
jmp 0x2904f1119
push r15
inc r15
paddb mm2, mm1
psrlq mm4, 0x6b
push r8
pslld mm7, 0x57
shl r8, 0x12
emms
push r9
addss xmm6, xmm11
nop
mov r15d, r9d
pop r9
nop
minps xmm3, xmm4
sbb r8d, 0x14
pop r8
pandn mm2, mm0
emms
dec r15
pop r15
jmp 0x2904f1119
push r10
pcmpgtb mm7, mm5
pop r10
push rcx
paddsw mm6, mm4
push rbx
cmp bl, cl
push rdx
inc rdx
push r9
psrlw mm3, 0x54
pop r9
pandn mm0, mm4
pop rdx
add rbx, rcx
pop rbx
psraw mm0, 0x31
pop rcx
sub rsp, 0x64
push r13
psrlq mm5, 0x6a
minps xmm10, xmm3
push rdx
mov edx, 4
emms
push rax
nop
ror dl, 1
push rcx
pcmpeqw mm2, mm1
inc eax
pop rcx
punpcklwd mm6, mm4
emms
pop rax
nop
shr r13b, 0xb
pop rdx
not r13w
nop
pop r13
movabs rcx, 0xd978e92d
cmp r12d, ecx
jne 0x2904f1189
push r11
nop
pop r11
jmp 0x2904f118d
push rcx
emms
pop rcx
push r9
emms
pop r9
call fcn.2904e80ac
cmp r12b, bl
jne 0x2904f11a6
push rdx
inc edx
pop rdx
jmp 0x2904f11ae
push r15
pslld mm7, 0x26
pop r15
push r8
inc r8
pop r8
mov r15, rax
push r13
andnps xmm8, xmm14
push r10
neg r10d
xadd r13, r10
push r11
nop
emms
shl r13, 4
push rcx
psraw mm2, 0x69
psrlw mm3, 0x1f
sbb r11, r10
nop
push r8
sbb r13, r8
pcmpeqd mm0, mm4
dec r8d
neg r13d
rcl r13w, 0xe
pop r8
inc r10
neg r10d
emms
nop
pop rcx
paddusb mm3, mm4
addss xmm13, xmm15
emms
pop r11
not r13d
not r10
pop r10
neg r13
pop r13
movabs rcx, 0xd978e92d
push rdx
mov rdx, 1
push r15
pop r15
dec rdx
jne 0x2904f1227
pop rdx
call fcn.2904e8246
push rax
sar al, 0x10
push r10
ror r10b, 0xb
emms
push rbx
emms
nop
psrad mm1, 0x12
push r15
inc r10d
not r10b
addps xmm3, xmm7
shr rbx, 0x10
push r12
rcl ebx, 9
nop
pand mm7, mm6
not r15
rcpss xmm15, xmm2
pop r12
psrld mm4, 0x63
sbb r10d, 0xf
psrlq mm6, 0x43
emms
pop r15
and ebx, r10d
xor r10, rbx
psrad mm3, 0x25
pop rbx
neg ax
xorps xmm5, xmm15
pop r10
emms
pop rax
add rsp, 0x64
cmp r12d, 0xb
jne 0x2904f12af
push r10
addss xmm15, xmm2
pop r10
jmp 0x2904f12b6
push r14
punpckhwd mm6, mm4
pop r14
push r9
emms
pop r9
mov rcx, qword [rsp + 8]
push rcx
pcmpgtd mm1, mm6
push r14
emms
not cl
pop r14
emms
pop rcx
mov rdx, qword [rsp + 0x10]
push r12
emms
push rdx
neg r12w
push r9
not r9w
push rbx
nop
push r14
orps xmm8, xmm11
push r13
emms
pop r13
shr r14w, 0xd
pop r14
dec r9d
pop rbx
punpckldq mm7, mm5
pop r9
emms
pop rdx
psrad mm7, 0x68
pop r12
mov r8, qword [rsp + 0x18]
push r9
shr r9d, 0xe
maxps xmm0, xmm11
nop
push r10
ror r10w, 2
sbb r10, 1
dec r9
push rax
sbb ax, 0xe
psrlw mm3, 0x32
xor r9b, r10b
pop rax
sbb r10d, 0x17
nop
psrld mm7, 0x52
pop r10
psrad mm4, 0x13
nop
neg r9w
pop r9
mov r9, qword [rsp + 0x20]
push r13
mov r13, 1
push r11
not r11
nop
psrlw mm7, 0x65
push r15
xadd r15d, r11d
xor r11, r15
nop
push r12
emms
or r12w, r15w
sub r12w, 0xb
pop r12
inc r15
psrad mm4, 0x66
psubw mm6, mm1
pop r15
rol r11, 0xd
maxps xmm12, xmm0
pcmpeqd mm3, mm7
pop r11
dec r13
jne 0x2904f135a
pop r13
mov r10, rcx
cmp r12, r15
jne 0x2904f13ba
push r9
psrad mm0, 0x61
push r11
nop
pandn mm0, mm2
pop r11
pcmpeqd mm1, mm6
pop r9
jmp 0x2904f13cb
push r15
inc r15
push r8
emms
nop
pop r8
inc r15
pop r15
push rbx
nop
push rdx
emms
xor ebx, edx
pop rdx
movlhps xmm15, xmm9
pop rbx
jmp r15