Function at 0x140114f00
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
movdqa xmmword [rsp + 0x110], xmm15
movdqa xmmword [rsp + 0x100], xmm14
movdqa xmmword [rsp + 0xf0], xmm13
movdqa xmmword [rsp + 0xe0], xmm12
movdqa xmmword [rsp + 0xd0], xmm11
movdqa xmmword [rsp + 0xc0], xmm10
movdqa xmmword [rsp + 0xb0], xmm9
movdqa xmmword [rsp + 0xa0], xmm8
movdqa xmmword [rsp + 0x90], xmm7
movdqa xmmword [rsp + 0x80], xmm6
mov r11d, dword [rsp + 0x180]
test r11d, r11d
jle 0x140115c49
mov eax, r11d
cmp r11d, 8
jae 0x140114f93
xor r10d, r10d
jmp 0x140115b70
lea r10, [r8 + rax]
cmp r10, r9
seta r14b
lea r10, [r9 + rax*4]
cmp r10, r8
seta r15b
lea rsi, [rdx + rax]
cmp rsi, r9
seta bl
lea rsi, [rcx + rax]
cmp r10, rdx
seta dil
cmp rsi, r9
seta sil
cmp r10, rcx
seta bpl
xor r10d, r10d
test r14b, r15b
jne 0x140115b70
and bl, dil
jne 0x140115b70
and sil, bpl
jne 0x140115b70
cmp r11d, 0x10
jae 0x140114ff8
xor r10d, r10d
jmp 0x140115717
mov r10d, eax
and r10d, 0xfffffff0
xor r11d, r11d
nop word cs:[rax + rax]
movdqu xmm14, xmmword [r8 + r11]
movdqu xmm1, xmmword [rcx + r11]
movdqa xmm0, xmm14
pxor xmm13, xmm13
punpcklbw xmm0, xmm13
movdqa xmmword [rsp + 0x30], xmm0
punpckhwd xmm0, xmm13
movdqa xmm4, xmm0
movdqa xmmword [rsp + 0x50], xmm0
punpckhbw xmm14, xmm13
movdqa xmm12, xmm14
punpcklwd xmm12, xmm13
movdqa xmmword [rsp + 0x60], xmm12
punpckhwd xmm14, xmm13
movdqa xmm0, xmm1
punpcklbw xmm0, xmm13
movdqa xmmword [rsp + 0x40], xmm0
punpckhwd xmm0, xmm13
movdqa xmm2, xmm0
punpckhbw xmm1, xmm13
movdqa xmm3, xmm1
punpcklwd xmm3, xmm13
punpckhwd xmm1, xmm13
movdqa xmm0, xmmword [0x1405aeb20]
pmaddwd xmm1, xmm0
pmaddwd xmm3, xmm0
pmaddwd xmm2, xmm0
psrld xmm2, 8
movdqa xmm7, xmm2
movdqa xmmword [rsp + 0x20], xmm2
psrld xmm3, 8
movdqa xmmword [rsp + 0x70], xmm3
movdqa xmm2, xmm1
psrld xmm2, 8
movdqa xmmword [rsp + 0x10], xmm2
movdqa xmm6, xmm14
movdqa xmm1, xmmword [0x1405aeb30]
pmaddwd xmm6, xmm1
pmaddwd xmm12, xmm1
pmaddwd xmm4, xmm1
psrld xmm4, 8
psrld xmm12, 8
psrld xmm6, 8
paddd xmm6, xmm2
paddd xmm12, xmm3
paddd xmm4, xmm7
movdqa xmm1, xmmword [0x1405aeb60]
movdqa xmm15, xmm1
pcmpgtd xmm15, xmm12
movdqa xmm3, xmmword [0x1405aeb40]
paddd xmm12, xmm3
movdqa xmm7, xmm1
pcmpgtd xmm7, xmm6
paddd xmm6, xmm3
movdqa xmm8, xmm6
movdqa xmm5, xmmword [0x140599730]
pxor xmm8, xmm5
movdqa xmm0, xmmword [0x1405aeb50]
movdqa xmm11, xmm0
pcmpgtd xmm11, xmm8
movdqa xmm8, xmm12
pxor xmm8, xmm5
movdqa xmm10, xmm0
pcmpgtd xmm10, xmm8
movdqa xmm2, xmm1
pcmpgtd xmm2, xmm4
paddd xmm4, xmm3
movdqa xmm9, xmm4
pxor xmm9, xmm5
movdqa xmm8, xmm0
pcmpgtd xmm8, xmm9
movdqa xmm9, xmmword [rsp + 0x30]
punpcklwd xmm9, xmm13
movdqa xmm5, xmmword [rsp + 0x40]
punpcklwd xmm5, xmm13
pmaddwd xmm5, xmmword [0x1405aeb20]
psrld xmm5, 8
movdqa xmmword [rsp + 0x40], xmm5
movdqa xmm0, xmm9
pmaddwd xmm0, xmmword [0x1405aeb30]
psrld xmm0, 8
paddd xmm0, xmm5
movdqa xmm5, xmm1
pcmpgtd xmm5, xmm0
paddd xmm0, xmm3
movdqa xmm3, xmm0
pxor xmm3, xmmword [0x140599730]
movdqa xmm1, xmmword [0x1405aeb50]
pcmpgtd xmm1, xmm3
psrld xmm0, 6
pand xmm0, xmm1
pcmpeqd xmm3, xmm3
pxor xmm1, xmm3
pandn xmm5, xmm1
por xmm5, xmm0
psrld xmm4, 6
pand xmm4, xmm8
pxor xmm8, xmm3
pandn xmm2, xmm8
por xmm2, xmm4
psrld xmm12, 6
pand xmm12, xmm10
pxor xmm10, xmm3
pandn xmm15, xmm10
movdqu xmm10, xmmword [rdx + r11]
por xmm15, xmm12
movdqa xmm8, xmm10
punpckhbw xmm8, xmm13
psrld xmm6, 6
pand xmm6, xmm11
pxor xmm11, xmm3
pandn xmm7, xmm11
movdqa xmm1, xmm8
punpckhwd xmm1, xmm13
por xmm7, xmm6
movdqa xmm4, xmm8
punpcklwd xmm4, xmm13
punpcklbw xmm10, xmm13
movdqa xmm0, xmmword [0x14059c040]
pand xmm7, xmm0
pand xmm15, xmm0
packuswb xmm15, xmm7
movdqa xmm7, xmm10
punpckhwd xmm7, xmm13
pand xmm2, xmm0
pand xmm5, xmm0
packuswb xmm5, xmm2
movdqa xmm12, xmm10
punpcklwd xmm12, xmm13
packuswb xmm5, xmm15
movdqa xmmword [rsp + 0x30], xmm5
movdqa xmm0, xmmword [0x1405aeb70]
pmaddwd xmm12, xmm0
pmaddwd xmm7, xmm0
pmaddwd xmm4, xmm0
pmaddwd xmm1, xmm0
psrld xmm1, 8
psrld xmm4, 8
psrld xmm7, 8
psrld xmm12, 8
movdqa xmm0, xmmword [0x1405aeb80]
pmaddwd xmm9, xmm0
movdqa xmm5, xmmword [rsp + 0x50]
pmaddwd xmm5, xmm0
movdqa xmm2, xmmword [rsp + 0x60]
pmaddwd xmm2, xmm0
pmaddwd xmm14, xmm0
psrld xmm14, 8
paddd xmm14, xmm1
psrld xmm2, 8
paddd xmm2, xmm4
psrld xmm5, 8
paddd xmm5, xmm7
psrld xmm9, 8
paddd xmm9, xmm12
movdqa xmm1, xmm8
movdqa xmm0, xmmword [0x1405aebb0]
pmulhuw xmm1, xmm0
pmullw xmm8, xmm0
movdqa xmm15, xmm8
punpckhwd xmm15, xmm1
psrld xmm15, 8
movdqa xmm11, xmmword [rsp + 0x10]
paddd xmm15, xmm11
psubd xmm11, xmm14
punpcklwd xmm8, xmm1
psrld xmm8, 8
movdqa xmm1, xmmword [rsp + 0x70]
paddd xmm8, xmm1
movdqa xmmword [rsp + 0x10], xmm8
psubd xmm1, xmm2
movdqa xmm3, xmm10
pmulhuw xmm3, xmm0
pmullw xmm10, xmm0
movdqa xmm2, xmm10
punpckhwd xmm2, xmm3
psrld xmm2, 8
movdqa xmm4, xmmword [rsp + 0x20]
paddd xmm2, xmm4
psubd xmm4, xmm5
punpcklwd xmm10, xmm3
psrld xmm10, 8
movdqa xmm3, xmmword [rsp + 0x40]
paddd xmm10, xmm3
movdqa xmmword [rsp + 0x20], xmm10
psubd xmm3, xmm9
movdqa xmm8, xmmword [0x1405aeba0]
movdqa xmm5, xmm8
pcmpgtd xmm5, xmm4
movdqa xmm0, xmmword [0x1405aeb90]
paddd xmm4, xmm0
movdqa xmm6, xmm8
pcmpgtd xmm6, xmm1
movdqa xmm7, xmm1
paddd xmm7, xmm0
movdqa xmm10, xmm8
pcmpgtd xmm10, xmm11
paddd xmm11, xmm0
movdqa xmm1, xmm11
movdqa xmm14, xmmword [0x140599730]
pxor xmm1, xmm14
movdqa xmm9, xmmword [0x1405aeb50]
movdqa xmm12, xmm9
pcmpgtd xmm12, xmm1
movdqa xmm1, xmm7
pxor xmm1, xmm14
movdqa xmm13, xmm9
pcmpgtd xmm13, xmm1
movdqa xmm1, xmm4
pxor xmm1, xmm14
movdqa xmm14, xmm9
pcmpgtd xmm14, xmm1
pcmpgtd xmm8, xmm3
paddd xmm3, xmm0
movdqa xmm1, xmm3
pxor xmm1, xmmword [0x140599730]
pcmpgtd xmm9, xmm1
psrld xmm3, 6
pand xmm3, xmm9
pcmpeqd xmm1, xmm1
pxor xmm9, xmm1
pandn xmm8, xmm9
por xmm8, xmm3
psrld xmm11, 6
psrld xmm7, 6
psrld xmm4, 6
pand xmm4, xmm14
pxor xmm14, xmm1
pandn xmm5, xmm14
por xmm5, xmm4
pand xmm7, xmm13
pxor xmm13, xmm1
pandn xmm6, xmm13
por xmm6, xmm7
pand xmm11, xmm12
pxor xmm12, xmm1
pcmpeqd xmm14, xmm14
pandn xmm10, xmm12
por xmm10, xmm11
movdqa xmm0, xmmword [0x14059c040]
pand xmm10, xmm0
pand xmm6, xmm0
packuswb xmm6, xmm10
pand xmm5, xmm0
pand xmm8, xmm0
packuswb xmm8, xmm5
packuswb xmm8, xmm6
movdqa xmm5, xmmword [0x1405aebd0]
movdqa xmm3, xmm5
movdqa xmm9, xmmword [rsp + 0x20]
pcmpgtd xmm3, xmm9
movdqa xmm6, xmmword [0x1405aebc0]
paddd xmm9, xmm6
movdqa xmm4, xmm5
pcmpgtd xmm4, xmm2
movdqa xmm0, xmm2
paddd xmm0, xmm6
movdqa xmm2, xmm5
movdqa xmm1, xmmword [rsp + 0x10]
pcmpgtd xmm2, xmm1
paddd xmm1, xmm6
pcmpgtd xmm5, xmm15
paddd xmm15, xmm6
movdqa xmm6, xmm15
movdqa xmm11, xmmword [0x140599730]
pxor xmm6, xmm11
movdqa xmm13, xmmword [0x1405aeb50]
movdqa xmm7, xmm13
pcmpgtd xmm7, xmm6
movdqa xmm6, xmm1
pxor xmm6, xmm11
movdqa xmm10, xmm13
pcmpgtd xmm10, xmm6
movdqa xmm6, xmm0
pxor xmm6, xmm11
movdqa xmm12, xmm11
movdqa xmm11, xmm13
pcmpgtd xmm11, xmm6
movdqa xmm6, xmm9
pxor xmm6, xmm12
movdqa xmm12, xmm13
pcmpgtd xmm12, xmm6
psrld xmm9, 6
pand xmm9, xmm12
pxor xmm12, xmm14
pandn xmm3, xmm12
por xmm3, xmm9
psrld xmm0, 6
pand xmm0, xmm11
pxor xmm11, xmm14
pandn xmm4, xmm11
por xmm4, xmm0
psrld xmm1, 6
pand xmm1, xmm10
pxor xmm10, xmm14
pandn xmm2, xmm10
por xmm2, xmm1
psrld xmm15, 6
pand xmm15, xmm7
pxor xmm7, xmm14
pandn xmm5, xmm7
por xmm5, xmm15
movdqa xmm0, xmmword [0x14059c040]
pand xmm5, xmm0
pand xmm2, xmm0
packuswb xmm2, xmm5
pand xmm4, xmm0
pand xmm3, xmm0
packuswb xmm3, xmm4
packuswb xmm3, xmm2
movdqa xmm1, xmm8
punpcklbw xmm1, xmm3
movdqa xmm6, xmmword [rsp + 0x30]
pshufd xmm2, xmm6, 0xf9
movdqa xmm4, xmm2
punpcklbw xmm4, xmm4
pcmpeqd xmm0, xmm0
punpcklbw xmm0, xmm4
pxor xmm4, xmm4
punpckhwd xmm4, xmm1
movdqa xmm5, xmmword [0x14059bf90]
pand xmm0, xmm5
por xmm0, xmm4
punpckhbw xmm8, xmm3
pxor xmm3, xmm3
punpckhwd xmm3, xmm8
punpckhbw xmm2, xmm2
pcmpeqd xmm4, xmm4
punpcklbw xmm4, xmm2
pand xmm4, xmm5
por xmm4, xmm3
pxor xmm2, xmm2
punpcklwd xmm2, xmm1
movdqa xmm1, xmm6
punpcklbw xmm1, xmm1
pcmpeqd xmm3, xmm3
punpcklbw xmm3, xmm1
pand xmm3, xmm5
por xmm3, xmm2
pxor xmm1, xmm1
punpcklwd xmm1, xmm8
punpckhbw xmm6, xmm6
pcmpeqd xmm2, xmm2
punpcklbw xmm2, xmm6
pand xmm2, xmm5
por xmm2, xmm1
movdqu xmmword [r9 + r11*4 + 0x20], xmm2
movdqu xmmword [r9 + r11*4], xmm3
movdqu xmmword [r9 + r11*4 + 0x30], xmm4
movdqu xmmword [r9 + r11*4 + 0x10], xmm0
add r11, 0x10
cmp r10, r11
jne 0x140115010
cmp r10, rax
je 0x140115c49
test al, 8
je 0x140115b70
mov r11, r10
mov r10d, eax
and r10d, 0xfffffff8
pxor xmm0, xmm0
movdqa xmm4, xmmword [0x140599730]
movdqa xmm1, xmmword [0x1405aeb50]
pcmpeqd xmm7, xmm7
movdqa xmm8, xmmword [0x14059c040]
mov esi, 0xff
nop word [rax + rax]
movq xmm9, qword [r8 + r11]
movq xmm2, qword [rcx + r11]
punpcklbw xmm9, xmm0
movdqa xmm14, xmm9
punpcklwd xmm14, xmm0
punpckhwd xmm9, xmm0
punpcklbw xmm2, xmm0
movdqa xmm10, xmm2
punpcklwd xmm10, xmm0
punpckhwd xmm2, xmm0
movdqa xmm3, xmmword [0x1405aeb20]
pmaddwd xmm2, xmm3
pmaddwd xmm10, xmm3
psrld xmm10, 8
psrld xmm2, 8
movdqa xmm3, xmm9
movdqa xmm5, xmmword [0x1405aeb30]
pmaddwd xmm3, xmm5
movdqa xmm13, xmm14
pmaddwd xmm13, xmm5
psrld xmm13, 8
psrld xmm3, 8
paddd xmm3, xmm2
paddd xmm13, xmm10
movdqa xmm12, xmmword [0x1405aeb60]
movdqa xmm6, xmm12
pcmpgtd xmm6, xmm13
movdqa xmm5, xmmword [0x1405aeb40]
paddd xmm13, xmm5
pcmpgtd xmm12, xmm3
paddd xmm3, xmm5
movdqa xmm11, xmm3
pxor xmm11, xmm4
movdqa xmm5, xmm1
pcmpgtd xmm5, xmm11
movdqa xmm11, xmm13
pxor xmm11, xmm4
movdqa xmm15, xmm1
pcmpgtd xmm15, xmm11
psrld xmm13, 6
pand xmm13, xmm15
pxor xmm15, xmm7
pandn xmm6, xmm15
movq xmm11, qword [rdx + r11]
punpcklbw xmm11, xmm0
por xmm6, xmm13
movdqa xmm13, xmm11
punpckhwd xmm13, xmm0
psrld xmm3, 6
pand xmm3, xmm5
pxor xmm5, xmm7
pandn xmm12, xmm5
movdqa xmm5, xmm11
punpcklwd xmm5, xmm0
por xmm12, xmm3
pand xmm12, xmm8
pand xmm6, xmm8
packuswb xmm6, xmm12
movdqa xmm3, xmmword [0x1405aeb70]
pmaddwd xmm5, xmm3
pmaddwd xmm13, xmm3
psrld xmm13, 8
psrld xmm5, 8
movdqa xmm3, xmmword [0x1405aeb80]
pmaddwd xmm14, xmm3
pmaddwd xmm9, xmm3
psrld xmm9, 8
paddd xmm9, xmm13
psrld xmm14, 8
paddd xmm14, xmm5
movdqa xmm5, xmm11
movdqa xmm3, xmmword [0x1405aebb0]
pmulhuw xmm5, xmm3
pmullw xmm11, xmm3
movdqa xmm3, xmm11
punpckhwd xmm3, xmm5
psrld xmm3, 8
paddd xmm3, xmm2
movdqa xmm12, xmm2
psubd xmm12, xmm9
punpcklwd xmm11, xmm5
psrld xmm11, 8
paddd xmm11, xmm10
psubd xmm10, xmm14
movdqa xmm13, xmmword [0x1405aeba0]
movdqa xmm2, xmm13
pcmpgtd xmm2, xmm10
movdqa xmm9, xmmword [0x1405aeb90]
paddd xmm10, xmm9
movdqa xmm5, xmm13
pcmpgtd xmm5, xmm12
paddd xmm12, xmm9
movdqa xmm9, xmm12
pxor xmm9, xmm4
movdqa xmm13, xmm1
pcmpgtd xmm13, xmm9
movdqa xmm9, xmm10
pxor xmm9, xmm4
movdqa xmm14, xmm1
pcmpgtd xmm14, xmm9
psrld xmm12, 6
psrld xmm10, 6
pand xmm10, xmm14
pxor xmm14, xmm7
pandn xmm2, xmm14
por xmm2, xmm10
pand xmm12, xmm13
pxor xmm13, xmm7
pandn xmm5, xmm13
por xmm5, xmm12
pand xmm5, xmm8
pand xmm2, xmm8
packuswb xmm2, xmm5
movdqa xmm12, xmmword [0x1405aebd0]
movdqa xmm5, xmm12
pcmpgtd xmm5, xmm11
movdqa xmm10, xmmword [0x1405aebc0]
paddd xmm11, xmm10
movdqa xmm9, xmm12
pcmpgtd xmm9, xmm3
paddd xmm3, xmm10
movdqa xmm10, xmm3
pxor xmm10, xmm4
movdqa xmm12, xmm1
pcmpgtd xmm12, xmm10
movdqa xmm10, xmm11
pxor xmm10, xmm4
movdqa xmm13, xmm1
pcmpgtd xmm13, xmm10
psrld xmm11, 6
pand xmm11, xmm13
pxor xmm13, xmm7
pandn xmm5, xmm13
packuswb xmm6, xmm6
psrld xmm3, 6
por xmm5, xmm11
pand xmm3, xmm12
pxor xmm12, xmm7
pandn xmm9, xmm12
por xmm9, xmm3
pand xmm9, xmm8
pand xmm5, xmm8
packuswb xmm5, xmm9
packuswb xmm2, xmm5
movdqa xmmword [rsp], xmm6
movzx edi, byte [rsp + 1]
movd xmm3, edi
punpcklbw xmm6, xmm3
movzx edi, byte [rsp + 3]
movd xmm3, edi
movzx edi, byte [rsp + 2]
movd xmm5, edi
punpcklbw xmm5, xmm3
punpcklwd xmm6, xmm5
movzx edi, byte [rsp + 7]
movd xmm3, edi
movzx edi, byte [rsp + 6]
movd xmm5, edi
punpcklbw xmm5, xmm3
movzx edi, byte [rsp + 5]
movd xmm3, edi
movd xmm9, dword [rsp + 4]
punpcklbw xmm9, xmm3
punpcklwd xmm9, xmm5
punpckldq xmm6, xmm9
movd xmm3, esi
punpcklbw xmm3, xmm3
pshuflw xmm3, xmm3, 0
movdqa xmm5, xmm2
punpckhbw xmm5, xmm0
punpcklbw xmm2, xmm0
movdqa xmm9, xmm2
punpcklwd xmm9, xmm5
pshufd xmm10, xmm9, 0xfa
pshufd xmm9, xmm9, 0x50
packuswb xmm9, xmm10
movdqa xmm12, xmmword [0x14059bf90]
movdqa xmm10, xmm12
pandn xmm10, xmm9
punpcklbw xmm6, xmm0
punpcklbw xmm3, xmm0
movdqa xmm9, xmm3
punpcklwd xmm9, xmm6
pshufd xmm11, xmm9, 0xf6
pshufd xmm9, xmm9, 0xd4
packuswb xmm9, xmm11
pand xmm9, xmm12
por xmm9, xmm10
punpckhwd xmm2, xmm5
pshufd xmm5, xmm2, 0xfa
pshufd xmm2, xmm2, 0x50
packuswb xmm2, xmm5
movdqa xmm5, xmm12
pandn xmm5, xmm2
punpckhwd xmm3, xmm6
pshufd xmm2, xmm3, 0xf6
pshufd xmm3, xmm3, 0xd4
packuswb xmm3, xmm2
pand xmm3, xmm12
por xmm3, xmm5
movdqu xmmword [r9 + r11*4 + 0x10], xmm3
movdqu xmmword [r9 + r11*4], xmm9
add r11, 8
cmp r10, r11
jne 0x140115750
cmp r10, rax
je 0x140115c49
movzx edi, byte [r8 + r10]
movzx esi, byte [rdx + r10]
movzx r11d, byte [rcx + r10]
mov byte [r9 + r10*4], 0xff
imul r11d, r11d, 0x4a85
shr r11d, 8
imul ebx, edi, 0x6625
shr ebx, 8
add ebx, r11d
sub ebx, 0x379a
mov ebp, 0
adc bpl, 0xff
mov r14d, ebx
shr r14d, 6
cmp ebx, 0x4000
movzx ebx, bpl
cmovb ebx, r14d
mov byte [r9 + r10*4 + 1], bl
imul ebx, esi, 0x1913
shr ebx, 8
imul edi, edi, 0x3408
shr edi, 8
add edi, ebx
mov ebx, r11d
sub ebx, edi
neg edi
add edi, r11d
add edi, 0x2204
mov ebp, edi
shr ebp, 6
cmp ebx, 0xffffddfc
setge bl
neg bl
cmp edi, 0x4000
movzx edi, bl
cmovb edi, ebp
imul esi, esi, 0x811a
shr esi, 8
add esi, r11d
sub esi, 0x4515
mov r11d, 0
adc r11b, 0xff
mov ebx, esi
shr ebx, 6
cmp esi, 0x4000
movzx r11d, r11b
cmovb r11d, ebx
mov byte [r9 + r10*4 + 2], dil
mov byte [r9 + r10*4 + 3], r11b
inc r10
cmp rax, r10
jne 0x140115b70
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xa0]
movaps xmm9, xmmword [rsp + 0xb0]
movaps xmm10, xmmword [rsp + 0xc0]
movaps xmm11, xmmword [rsp + 0xd0]
movaps xmm12, xmmword [rsp + 0xe0]
movaps xmm13, xmmword [rsp + 0xf0]
movaps xmm14, xmmword [rsp + 0x100]
movaps xmm15, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret