Function at 0x140116230
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa0
movdqa xmmword [rsp + 0x90], xmm15
movdqa xmmword [rsp + 0x80], xmm14
movdqa xmmword [rsp + 0x70], xmm13
movdqa xmmword [rsp + 0x60], xmm12
movdqa xmmword [rsp + 0x50], xmm11
movdqa xmmword [rsp + 0x40], xmm10
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x10], xmm7
movdqa xmmword [rsp], xmm6
mov r11d, dword [rsp + 0x100]
test r11d, r11d
jle 0x140116784
mov eax, r11d
xor r10d, r10d
cmp r11d, 8
jae 0x1401162af
xor r11d, r11d
jmp 0x1401166a0
lea r11, [r8 + rax]
cmp r11, r9
seta r14b
lea r11, [r9 + rax*2]
cmp r11, r8
seta r15b
lea rsi, [rdx + rax]
cmp rsi, r9
seta bl
lea rsi, [rcx + rax]
cmp r11, rdx
seta dil
cmp rsi, r9
seta sil
cmp r11, rcx
seta bpl
xor r11d, r11d
test r14b, r15b
jne 0x1401166a0
and bl, dil
jne 0x1401166a0
and sil, bpl
jne 0x1401166a0
mov r11d, eax
and r11d, 0xfffffff8
xor esi, esi
pxor xmm0, xmm0
movdqa xmm4, xmmword [0x140599730]
movdqa xmm1, xmmword [0x1405aeb50]
pcmpeqd xmm8, xmm8
movdqa xmm13, xmmword [0x14059c040]
nop word cs:[rax + rax]
movq xmm9, qword [r8 + rsi]
punpcklbw xmm9, xmm0
movdqa xmm12, xmm9
punpcklwd xmm12, xmm0
punpckhwd xmm9, xmm0
movq xmm10, qword [rcx + rsi]
punpcklbw xmm10, xmm0
movdqa xmm11, xmm10
punpcklwd xmm11, xmm0
punpckhwd xmm10, xmm0
movdqa xmm2, xmmword [0x1405aeb20]
pmaddwd xmm10, xmm2
pmaddwd xmm11, xmm2
psrld xmm11, 8
psrld xmm10, 8
movdqa xmm7, xmm9
movdqa xmm2, xmmword [0x1405aeb30]
pmaddwd xmm7, xmm2
movdqa xmm14, xmm12
pmaddwd xmm14, xmm2
psrld xmm14, 8
psrld xmm7, 8
paddd xmm7, xmm10
paddd xmm14, xmm11
movdqa xmm3, xmmword [0x1405aeb60]
movdqa xmm6, xmm3
pcmpgtd xmm6, xmm14
movdqa xmm2, xmmword [0x1405aeb40]
paddd xmm14, xmm2
pcmpgtd xmm3, xmm7
paddd xmm7, xmm2
movdqa xmm15, xmm7
pxor xmm15, xmm4
movdqa xmm5, xmm1
pcmpgtd xmm5, xmm15
movdqa xmm15, xmm14
pxor xmm15, xmm4
movdqa xmm2, xmm1
pcmpgtd xmm2, xmm15
movq xmm15, qword [rdx + rsi]
punpcklbw xmm15, xmm0
psrld xmm14, 6
pand xmm14, xmm2
pxor xmm2, xmm8
pandn xmm6, xmm2
movdqa xmm2, xmm15
punpckhwd xmm2, xmm0
por xmm6, xmm14
movdqa xmm14, xmm15
punpcklwd xmm14, xmm0
psrld xmm7, 6
pand xmm7, xmm5
pxor xmm5, xmm8
pandn xmm3, xmm5
por xmm3, xmm7
movdqa xmm5, xmmword [0x1405aeb70]
pmaddwd xmm14, xmm5
pmaddwd xmm2, xmm5
psrld xmm2, 8
psrld xmm14, 8
movdqa xmm5, xmmword [0x1405aeb80]
pmaddwd xmm12, xmm5
pmaddwd xmm9, xmm5
psrld xmm9, 8
paddd xmm9, xmm2
psrld xmm12, 8
paddd xmm12, xmm14
movdqa xmm2, xmm15
movdqa xmm5, xmmword [0x1405aebb0]
pmulhuw xmm2, xmm5
pmullw xmm15, xmm5
movdqa xmm14, xmm15
punpckhwd xmm14, xmm2
psrld xmm14, 8
paddd xmm14, xmm10
psubd xmm10, xmm9
punpcklwd xmm15, xmm2
psrld xmm15, 8
paddd xmm15, xmm11
psubd xmm11, xmm12
movdqa xmm9, xmmword [0x1405aeba0]
movdqa xmm2, xmm9
pcmpgtd xmm2, xmm11
movdqa xmm7, xmmword [0x1405aeb90]
paddd xmm11, xmm7
movdqa xmm5, xmm9
pcmpgtd xmm5, xmm10
paddd xmm10, xmm7
movdqa xmm7, xmm10
pxor xmm7, xmm4
movdqa xmm9, xmm1
pcmpgtd xmm9, xmm7
movdqa xmm12, xmm11
pxor xmm12, xmm4
movdqa xmm7, xmm1
pcmpgtd xmm7, xmm12
psrld xmm10, 6
psrld xmm11, 6
pandn xmm5, xmm13
pandn xmm2, xmm13
pand xmm11, xmm7
pandn xmm7, xmm2
por xmm7, xmm11
pand xmm10, xmm9
pandn xmm9, xmm5
por xmm9, xmm10
movdqa xmm11, xmmword [0x1405aebd0]
movdqa xmm10, xmm11
pcmpgtd xmm10, xmm15
movdqa xmm2, xmmword [0x1405aebc0]
paddd xmm15, xmm2
pcmpgtd xmm11, xmm14
paddd xmm14, xmm2
movdqa xmm2, xmm14
pxor xmm2, xmm4
movdqa xmm5, xmm1
pcmpgtd xmm5, xmm2
movdqa xmm2, xmm15
pxor xmm2, xmm4
movdqa xmm12, xmm1
pcmpgtd xmm12, xmm2
psrld xmm15, 9
pand xmm15, xmm12
pxor xmm12, xmm8
pandn xmm10, xmm12
psrld xmm14, 9
pand xmm14, xmm5
pxor xmm5, xmm8
pandn xmm11, xmm5
psrld xmm11, 0x1b
por xmm11, xmm14
psrld xmm10, 0x1b
por xmm10, xmm15
movdqa xmm2, xmmword [0x1405aec40]
pand xmm3, xmm2
pand xmm6, xmm2
movdqa xmm12, xmm9
psrld xmm12, 5
por xmm12, xmm3
movdqa xmm3, xmm7
psrld xmm3, 5
por xmm3, xmm6
pslld xmm9, 3
movdqa xmm2, xmmword [0x1405aec50]
pand xmm9, xmm2
por xmm9, xmm11
pslld xmm7, 3
pand xmm7, xmm2
por xmm7, xmm10
pand xmm9, xmm13
pand xmm7, xmm13
packuswb xmm7, xmm9
pand xmm12, xmm13
pand xmm3, xmm13
packuswb xmm3, xmm12
packuswb xmm7, xmm7
packuswb xmm3, xmm3
punpcklbw xmm7, xmm3
movdqu xmmword [r9 + rsi*2], xmm7
add rsi, 8
cmp r11, rsi
jne 0x140116340
cmp r11, rax
je 0x140116784
nop word cs:[rax + rax]
movzx ebx, byte [r8 + r11]
movzx esi, byte [rcx + r11]
imul edi, esi, 0x4a85
shr edi, 8
imul ebp, ebx, 0x6625
shr ebp, 8
add ebp, edi
sub ebp, 0x379a
mov r14d, 0xf8
cmovb r14d, r10d
mov esi, ebp
shr esi, 6
cmp ebp, 0x4000
cmovae esi, r14d
movzx ebp, byte [rdx + r11]
imul r14d, ebp, 0x1913
shr r14d, 8
imul ebx, ebx, 0x3408
shr ebx, 8
add ebx, r14d
mov r14d, edi
sub r14d, ebx
neg ebx
lea r15d, [rdi + rbx]
add r15d, 0x2204
mov r12d, r15d
shr r12d, 6
cmp r14d, 0xffffddfc
mov ebx, 0xff
cmovl ebx, r10d
cmp r15d, 0x4000
cmovb ebx, r12d
imul ebp, ebp, 0x811a
shr ebp, 8
add ebp, edi
sub ebp, 0x4515
mov edi, 0x1f
cmovb edi, r10d
mov r14d, ebp
shr r14d, 9
cmp ebp, 0x4000
cmovae r14d, edi
and esi, 0xf8
mov edi, ebx
shr edi, 5
or edi, esi
and ebx, 0x1c
shl ebx, 3
or ebx, r14d
mov byte [r9 + r11*2], bl
mov byte [r9 + r11*2 + 1], dil
inc r11
cmp rax, r11
jne 0x1401166a0
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x80]
movaps xmm15, xmmword [rsp + 0x90]
add rsp, 0xa0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret