Function at 0x1d8c50faa
Capabilities:
Encode data using xor

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x40
cmp r15w, 0x2f
jne 0x1d8c50fe2
push r8
addss xmm6, xmm8
push r10
pslld mm1, 0x31
nop
pop r10
movss xmm14, xmm3
pop r8
jmp 0x1d8c50ff7
push rbx
maxss xmm10, xmm1
push r14
packuswb mm0, mm7
dec r14d
pop r14
sbb bx, 0x16
pop rbx
push r15
rcr r15w, 0xe
push rcx
psllq mm3, 4
sbb r15w, cx
pop rcx
pslld mm3, 1
pop r15
xor edx, edx
mov dword [rsp + 0x3c], edx
push r14
emms
push rdx
emms
nop
push r8
psrlw mm2, 0x2f
movhlps xmm3, xmm1
nop
push rbx
inc rbx
comiss xmm11, xmm9
mov r14w, 0xe
inc edx
push r13
nop
sub r14b, 0x14
psraw mm7, 0x5f
nop
paddusw mm1, mm3
pop r13
emms
emms
add r8, rdx
not r14
pop rbx
neg dx
nop
nop
pop r8
and dl, r14b
movss xmm5, xmm1
pop rdx
sar r14, 0xc
pop r14
push r10
psrld mm3, 0x40
push r14
movss xmm6, xmm14
inc r14
push rax
pmaddwd mm5, mm3
nop
sbb r10, 0xb
push rbx
ror r14d, 1
nop
sbb r10b, 0x12
neg r14
push r11
nop
pmaxub mm4, mm3
inc r10
rcl r11w, 4
sar rbx, 1
pop r11
nop
mov r10w, 0xe
neg bx
dec r14
pop rbx
comiss xmm3, xmm2
adc r14d, r10d
addss xmm3, xmm12
pop rax
psrlw mm7, 0x2d
pslld mm2, 0x1c
pop r14
rcl r10b, 0x11
pop r10
lea r8, [rsp + 0x3c]
mov r9d, 4
mov edx, 3
xor ecx, ecx
mov qword [rsp + 0x20], r8
call fcn.1d8c4c805
push r14
psrad mm2, 0x22
push r10
mov r14b, 0xd
push r15
nop
push r11
dec r10
push r12
emms
push rax
emms
pop rax
not r12w
pop r12
paddusw mm4, mm5
pop r11
paddsw mm1, mm4
pop r15
sbb r10, r14
pop r10
mulps xmm11, xmm0
pop r14
cmp eax, 0xc0000004
je 0x1d8c51178
cmp r15w, 0x57
jne 0x1d8c51151
push rcx
maxps xmm6, xmm0
push r12
add cl, r12b
sbb r12b, 7
pop r12
pcmpeqb mm4, mm7
pop rcx
jmp 0x1d8c51164
push rax
psraw mm6, 0x37
push r11
or rax, r11
sbb r11b, al
pop r11
rcr al, 5
pop rax
push rdx
comiss xmm0, xmm2
push r13
neg rdx
emms
pop r13
nop
pop rdx
jmp 0x1d8c5171f
cmp r15d, eax
jne 0x1d8c51194
push r15
not r15w
push r10
dec r15d
paddb mm7, mm0
pop r10
inc r15d
pop r15
jmp 0x1d8c511a3
push rdx
pslld mm0, 0x32
push r9
nop
emms
pop r9
inc edx
pop rdx
push r8
emms
push rax
movups xmm15, xmm9
sub r8d, eax
pop rax
dec r8d
pop r8
mov edx, dword [rsp + 0x3c]
mov r9d, 4
mov r8d, 0x3000
xor ecx, ecx
call fcn.1d8c3d95a
mov rsi, rax
push r10
emms
rcr r10d, 2
rcr r10w, 0xc
rol r10b, 7
push rdx
xchg dx, r10w
rcr dx, 7
neg r10d
xchg rdx, r10
pop rdx
psrlw mm5, 0x16
mulss xmm14, xmm10
movhlps xmm2, xmm10
punpckldq mm4, mm3
pop r10
test rax, rax
jne 0x1d8c51226
push r15
pminsw mm2, mm6
push r8
psrlq mm5, 0x68
push r9
rcl r15w, 2
pop r9
nop
pop r8
nop
pop r15
jmp 0x1d8c5171f
push r9
dec r9
push r11
pcmpgtd mm2, mm0
rcl r9w, 1
push r15
punpckhwd mm0, mm2
nop
pslld mm2, 0x5c
push r10
pslld mm0, 0x27
nop
rol r9w, 5
punpcklwd mm0, mm1
pop r10
or r9b, r11b
psrad mm1, 0x16
emms
pop r15
pand mm3, mm7
nop
pop r11
emms
pop r9
xor eax, eax
mov r9d, dword [rsp + 0x3c]
mov r8, rsi
mov edx, 3
mov qword [rsp + 0x20], rax
or rcx, 0xffffffffffffffff
call fcn.1d8c4c805
push r15
mov r15, 2
push r10
push r9
pop r9
pop r10
dec r15
jne 0x1d8c5128a
pop r15
test eax, eax
jns 0x1d8c512ce
push r15
nop
push rbx
nop
push r10
minps xmm11, xmm9
push r11
paddusw mm4, mm0
push r12
subss xmm1, xmm8
pop r12
xadd bx, r11w
pop r11
emms
pop r10
punpckldq mm0, mm6
pop rbx
emms
pop r15
jmp 0x1d8c5171f
cmp r15, 0x2f
jne 0x1d8c512e3
push r13
andnps xmm15, xmm14
pop r13
jmp 0x1d8c512e9
push r15
emms
pop r15
push r8
emms
pop r8
push r11
rcpss xmm0, xmm5
push r9
mov r11, 0xf
push r14
psraw mm3, 0x1c
push rax
psrld mm7, 0x2b
pop rax
paddusw mm7, mm4
pop r14
por mm5, mm3
pop r9
paddb mm2, mm0
pop r11
lea rbx, [rsi + 8]
push rax
not ax
psrlw mm5, 0x65
paddsb mm1, mm3
pcmpeqd mm1, mm4
emms
push r10
psrad mm1, 0x33
nop
rcl r10, 0xd
emms
andps xmm7, xmm2
pop r10
psllq mm7, 0x48
sbb al, 1
sbb rax, 0xf
minps xmm4, xmm5
psrad mm1, 0x28
emms
pop rax
xor edi, edi
cmp edi, dword [rsi]
jae 0x1d8c51668
push r12
maxss xmm4, xmm12
pslld mm5, 0x43
emms
movlhps xmm11, xmm10
push rcx
pcmpgtd mm6, mm5
emms
pmaddwd mm3, mm1
push rdx
psllq mm1, 0x48
rol r12d, 0xb
push r10
ror r12, 5
pop r10
inc r12
pmaxub mm2, mm7
pop rdx
pslld mm0, 0x4a
psllq mm4, 0x5b
emms
pop rcx
emms
ror r12w, 8
neg r12d
nop
pop r12
push r12
psraw mm4, 0x2c
push rax
nop
comiss xmm5, xmm14
push r14
sub r14w, 0x13
psrad mm7, 0x11
ror r14w, 0xb
push r10
not r14b
not r12w
pmulhuw mm1, mm0
punpcklwd mm6, mm4
push r13
mov r14, rax
dec r12
emms
emms
psubsb mm7, mm1
pop r13
emms
maxps xmm14, xmm12
pcmpgtb mm7, mm4
emms
pop r10
shr ax, 7
adc r12, r14
pminsw mm5, mm1
pop r14
pslld mm3, 0x14
mov r12b, 9
pop rax
psrlw mm6, 0x29
pop r12
mov rcx, qword [rbx + 8]
call fcn.1d8c3f06f
cmp eax, 0x9edf7f8b
jne 0x1d8c51516
push r11
emms
push r10
neg r10w
push r14
rcl r10, 2
push rax
nop
push rdx
rcr r14w, 0x13
pop rdx
ror r11d, 8
pop rax
sar r11, 0x15
pop r14
emms
pop r10
dec r11d
pop r11
cmp dword [rbx + 0x14], 0
je 0x1d8c514a9
push r15
packssdw mm1, mm0
push r8
pandn mm4, mm2
push rbx
emms
push r12
mov r8b, r15b
push r11
nop
pop r11
paddsw mm1, mm6
pop r12
xadd bx, r15w
pop rbx
or r8d, r15d
pop r8
inc r15
pop r15
xor ecx, ecx
call fcn.1d8c4bb8c
push r12
movlhps xmm0, xmm14
push r9
emms
push r13
emms
push r8
emms
pop r8
addps xmm8, xmm15
pop r13
neg r12b
pop r9
psraw mm1, 0x61
pop r12
push rbx
psrad mm1, 7
maxps xmm15, xmm13
nop
psrlw mm5, 0x4a
emms
push r14
punpcklbw mm5, mm7
nop
inc r14
mov bl, 3
push rcx
emms
psrlw mm4, 1
maxps xmm3, xmm0
push rax
nop
paddw mm4, mm5
push r13
psadbw mm0, mm7
pop r13
psrlw mm1, 0x29
psrlq mm5, 0x16
pop rax
mulps xmm10, xmm8
emms
movss xmm7, xmm8
pop rcx
psrad mm1, 0x16
emms
xorps xmm0, xmm12
rcpss xmm10, xmm14
pop r14
neg bl
punpckhwd mm2, mm1
xorps xmm6, xmm12
movlhps xmm12, xmm1
rcpps xmm1, xmm4
pop rbx
jmp 0x1d8c51668
push r13
inc r13d
movaps xmm0, xmm12
psrad mm2, 0x6b
not r13b
dec r13d
minps xmm9, xmm3
not r13w
pop r13
mov rax, qword [rbx + 8]
push r14
andps xmm10, xmm1
dec r14
not r14d
emms
emms
push r15
emms
emms
pslld mm5, 0x1a
orps xmm5, xmm12
pcmpeqw mm4, mm5
pop r15
shl r14d, 0x14
psraw mm4, 0x48
nop
not r14w
pcmpeqb mm7, mm4
mulss xmm4, xmm6
pop r14
movzx edx, word [rbx + 2]
add rax, rdx
push rcx
not ecx
push rbx
xorps xmm13, xmm6
push r14
xorps xmm5, xmm0
push rdx
add dl, r14b
push r11
xadd cx, dx
push r12
xor r14d, ebx
pop r12
paddsw mm3, mm7
pop r11
cmp r14b, bl
pop rdx
psubusw mm7, mm5
pop r14
nop
pop rbx
psrad mm1, 0x2f
pop rcx
mov rbx, rax
and rbx, 0xfffffffffffffff8
push rdx
pcmpgtb mm7, mm0
push r13
inc edx
push r15
psrlw mm5, 0x66
push r8
not r13b
pop r8
sub r15d, r13d
pop r15
shl dx, 0x16
pop r13
nop
pop rdx
cmp rbx, rax
jae 0x1d8c51615
push r14
orps xmm10, xmm3
pop r14
add rbx, 8
push rbx
mov rbx, 1
push r8
emms
push rdx
pcmpeqd mm3, mm7
xor edx, r8d
push rbx
sbb bx, 0xb
xadd bl, dl
nop
pop rbx
shl dx, 0xf
shr dx, 0xe
pop rdx
pcmpeqw mm4, mm5
pop r8
dec rbx
jne 0x1d8c515ec
pop rbx
push r10
mov r10, 4
push rcx
and r10b, cl
pop rcx
sar r10d, 0x16
pop r10
push r8
emms
push r12
nop
push r14
nop
push rbx
emms
push rcx
emms
push r10
punpcklwd mm1, mm4
push rdx
dec r14
pop rdx
emms
pop r10
psrad mm0, 0x10
pop rcx
pslld mm0, 0x37
pop rbx
maxps xmm3, xmm4
pop r14
psrlw mm3, 0x50
pop r12
punpckhwd mm6, mm0
pop r8
inc edi
jmp 0x1d8c51355
cmp r15b, 0x3b
jne 0x1d8c5167b
push rcx
neg rcx
pop rcx
jmp 0x1d8c51683
push r9
sub r9d, 0x16
pop r9
push r12
pslld mm7, 0x2c
pop r12
push rax
mulps xmm2, xmm8
psllq mm2, 0x2c
shl eax, 0x12
nop
neg eax
emms
neg rax
pop rax
mov r8d, 0x8000
xor edx, edx
mov rcx, rsi
call fcn.1d8c3da5c
push r14
emms
nop
nop
push r10
emms
inc r14
shr r10d, 0xd
push rbx
mov ebx, 0x12
nop
nop
pop rbx
maxss xmm4, xmm8
xadd r10, r14
pmaxsw mm3, mm2
pop r10
nop
emms
nop
pop r14
push rbx
maxss xmm4, xmm14
push r13
nop
push r9
emms
push rdx
inc edx
push r11
shl rdx, 0x12
push r14
emms
push r12
ror r9d, 5
pop r12
punpckhwd mm3, mm2
pop r14
psraw mm3, 0x15
pop r11
addps xmm14, xmm3
pop rdx
rol r9, 1
pop r9
rol bx, 0x11
pop r13
punpckhwd mm5, mm4
pop rbx
add rsp, 0x40
pop rbx
pop rsi
pop rdi
ret