Function at 0x1401e2cd0
Capabilities:
Encode data using xor

Disassembly:
push r12
push r13
push rbx
push rbp
push rdi
push rsi
mov rax, qword [rsp + 0x58]
mov r10, qword [rsp + 0x60]
mov r11, qword [rsp + 0x68]
sub rsp, 0xa0
movdqu xmmword [rsp], xmm6
movdqu xmmword [rsp + 0x10], xmm7
movdqu xmmword [rsp + 0x20], xmm8
movdqu xmmword [rsp + 0x30], xmm9
movdqu xmmword [rsp + 0x40], xmm10
movdqu xmmword [rsp + 0x50], xmm11
movdqu xmmword [rsp + 0x60], xmm12
movdqu xmmword [rsp + 0x70], xmm13
movdqu xmmword [rsp + 0x80], xmm14
movdqu xmmword [rsp + 0x90], xmm15
movsxd rdx, edx
movsxd r8, r8d
movsxd r9, r9d
movsxd r10, r10d
mov r11d, r11d
sub rdx, r8
add r11, r11
pxor xmm0, xmm0
pcmpeqw xmm13, xmm13
psrlw xmm13, 1
sub r9, 1
je 0x1401e33e4
jl 0x1401e3417
mov r13d, 0x4000
movd xmm1, r11d
pshufd xmm1, xmm1, 0
movdqa xmm7, xmm1
pslld xmm7, 2
pslldq xmm1, 4
paddd xmm7, xmm1
movdqa xmm2, xmm1
pslldq xmm2, 4
paddd xmm1, xmm2
paddd xmm7, xmm2
pslldq xmm2, 4
paddd xmm1, xmm2
paddd xmm7, xmm2
pcmpeqw xmm2, xmm2
psrld xmm2, 0x1f
pslld xmm2, 0xf
paddd xmm1, xmm2
paddd xmm7, xmm2
movdqa xmm3, xmm1
movdqa xmm2, xmm7
psrld xmm3, 0x10
psrld xmm2, 0x10
packssdw xmm3, xmm2
packuswb xmm3, xmm3
movdqa xmm2, xmm3
pcmpeqw xmm9, xmm9
psubb xmm2, xmm9
punpcklbw xmm3, xmm2
pslld xmm1, 0x10
pslld xmm7, 0x10
psrad xmm1, 0x10
psrad xmm7, 0x10
packssdw xmm1, xmm7
psrlw xmm1, 1
movd xmm7, r11d
pslld xmm7, 3
movdqa xmm2, xmm7
punpcklwd xmm7, xmm7
pshufd xmm7, xmm7, 0
psrlw xmm7, 1
movdqa xmm8, xmm7
psrld xmm2, 0x10
pxor xmm9, xmm9
pshufb xmm2, xmm9
movdqa xmm10, xmm2
movdqa xmm14, xmm3
movdqa xmm15, xmm1
cmp r11, 0x40000
ja 0x1401e31bb
cmp r11, 0x20000
ja 0x1401e2ffe
mov rbp, r13
shr rbp, 0xf
imul rbp, r10
add rbp, rax
mov rsi, rbp
add rsi, r10
movd xmm2, r13d
pslld xmm2, 0x11
psrld xmm2, 0x11
pshufd xmm12, xmm2, 0
pcmpeqw xmm11, xmm11
psrld xmm11, 0x11
pxor xmm11, xmm12
mov r12d, 0x8000
mov rdi, r8
sub rdi, 1
movdqa xmm3, xmm14
movdqa xmm1, xmm15
movdqa xmm7, xmm3
pshufb xmm7, xmm0
psubb xmm3, xmm7
movdqa xmm7, xmm1
pxor xmm7, xmm13
movdqa xmm2, xmm7
punpcklwd xmm7, xmm1
punpckhwd xmm2, xmm1
mov rbx, r12
lea r12, [r12 + r11*8]
shr rbx, 0x10
lddqu xmm5, xmmword [rbp + rbx]
pshufb xmm5, xmm3
movdqa xmm6, xmm5
punpcklbw xmm5, xmm0
punpckhbw xmm6, xmm0
pmaddwd xmm5, xmm7
pmaddwd xmm6, xmm2
lddqu xmm9, xmmword [rsi + rbx]
pshufb xmm9, xmm3
movdqa xmm4, xmm9
punpcklbw xmm9, xmm0
punpckhbw xmm4, xmm0
pmaddwd xmm9, xmm7
pmaddwd xmm4, xmm2
pshufd xmm7, xmm5, 0xb1
pshufd xmm2, xmm9, 0xb1
pmuludq xmm7, xmm11
pmuludq xmm2, xmm12
paddq xmm7, xmm2
pmuludq xmm5, xmm11
pmuludq xmm9, xmm12
paddq xmm5, xmm9
psllq xmm7, 3
psrlq xmm5, 0x1d
blendps xmm7, xmm5, 5
pshufd xmm2, xmm6, 0xb1
pshufd xmm9, xmm4, 0xb1
pmuludq xmm2, xmm11
pmuludq xmm9, xmm12
paddq xmm2, xmm9
pmuludq xmm6, xmm11
pmuludq xmm4, xmm12
paddq xmm6, xmm4
psllq xmm2, 3
psrlq xmm6, 0x1d
blendps xmm2, xmm6, 5
packssdw xmm7, xmm2
pavgw xmm7, xmm0
packuswb xmm7, xmm7
movlps qword [rcx], xmm7
add rcx, 8
pxor xmm7, xmm7
paddw xmm1, xmm8
pcmpgtw xmm7, xmm1
paddb xmm3, xmm10
psubb xmm3, xmm7
pand xmm1, xmm13
sub rdi, 8
jg 0x1401e2eb4
lea rcx, [rcx + rdi + 1]
imul rdi, r11
add r12, rdi
shr r12, 0x10
movzx rbx, byte [rbp + r12]
mov byte [rcx - 1], bl
add r13d, dword [rsp + 0x110]
add rcx, rdx
sub r9, 1
jg 0x1401e2e64
jmp 0x1401e33e4
mov rbp, r13
shr rbp, 0xf
imul rbp, r10
add rbp, rax
mov rsi, rbp
add rsi, r10
movd xmm2, r13d
pslld xmm2, 0x11
psrld xmm2, 0x11
pshufd xmm12, xmm2, 0
pcmpeqw xmm11, xmm11
psrld xmm11, 0x11
pxor xmm11, xmm12
mov r12d, 0x8000
mov rdi, r8
sub rdi, 1
movdqa xmm3, xmm14
movdqa xmm1, xmm15
movdqa xmm7, xmm3
pshufb xmm7, xmmword [0x14023b840]
psubb xmm3, xmm7
movdqa xmm7, xmm1
pxor xmm7, xmm13
movdqa xmm2, xmm7
punpcklwd xmm7, xmm1
punpckhwd xmm2, xmm1
mov rbx, r12
shr rbx, 0x10
movdqa xmm4, xmm3
punpcklbw xmm4, xmmword [0x14023b820]
lddqu xmm5, xmmword [rbp + rbx]
lddqu xmm9, xmmword [rsi + rbx]
lea rbx, [r12 + r11*4]
lea r12, [r12 + r11*8]
shr rbx, 0x10
pshufb xmm5, xmm4
pshufb xmm9, xmm4
pmaddwd xmm5, xmm7
pmaddwd xmm9, xmm7
pshufd xmm7, xmm5, 0xb1
pshufd xmm4, xmm9, 0xb1
pmuludq xmm7, xmm11
pmuludq xmm4, xmm12
paddq xmm7, xmm4
pmuludq xmm5, xmm11
pmuludq xmm9, xmm12
paddq xmm5, xmm9
psllq xmm7, 3
psrlq xmm5, 0x1d
blendps xmm7, xmm5, 5
movdqa xmm9, xmm3
punpckhbw xmm9, xmmword [0x14023b820]
lddqu xmm5, xmmword [rbp + rbx]
lddqu xmm4, xmmword [rsi + rbx]
pshufb xmm5, xmm9
pshufb xmm4, xmm9
pmaddwd xmm5, xmm2
pmaddwd xmm4, xmm2
pshufd xmm2, xmm5, 0xb1
pshufd xmm9, xmm4, 0xb1
pmuludq xmm2, xmm11
pmuludq xmm9, xmm12
paddq xmm2, xmm9
pmuludq xmm5, xmm11
pmuludq xmm4, xmm12
paddq xmm5, xmm4
psllq xmm2, 3
psrlq xmm5, 0x1d
blendps xmm2, xmm5, 5
packssdw xmm7, xmm2
pavgw xmm7, xmm0
packuswb xmm7, xmm7
movlps qword [rcx], xmm7
add rcx, 8
pxor xmm7, xmm7
paddw xmm1, xmm8
pcmpgtw xmm7, xmm1
paddb xmm3, xmm10
psubb xmm3, xmm7
pand xmm1, xmm13
sub rdi, 8
jg 0x1401e304e
lea rcx, [rcx + rdi + 1]
imul rdi, r11
add r12, rdi
shr r12, 0x10
movzx rbx, byte [rbp + r12]
mov byte [rcx - 1], bl
add r13d, dword [rsp + 0x110]
add rcx, rdx
sub r9, 1
jg 0x1401e2ffe
jmp 0x1401e33e4
movdqa xmm7, xmm1
pxor xmm7, xmm13
movdqa xmm3, xmm7
punpcklwd xmm7, xmm1
punpckhwd xmm3, xmm1
movdqa xmm1, xmm7
movdqa xmm14, xmm1
movdqa xmm15, xmm3
pcmpeqw xmm7, xmm7
pmullw xmm7, xmm8
punpcklwd xmm7, xmm8
movdqa xmm8, xmm7
mov rbp, r13
shr rbp, 0xf
imul rbp, r10
add rbp, rax
mov rsi, rbp
add rsi, r10
movd xmm2, r13d
pslld xmm2, 0x11
psrld xmm2, 0x11
pshufd xmm12, xmm2, 0
pcmpeqw xmm11, xmm11
psrld xmm11, 0x11
pxor xmm11, xmm12
mov r12d, 0x8000
mov rdi, r8
sub rdi, 1
movdqa xmm1, xmm14
movdqa xmm3, xmm15
mov rbx, r12
shr rbx, 0x10
movd xmm5, dword [rbp + rbx]
movd xmm9, dword [rsi + rbx]
lea rbx, [r12 + r11]
shr rbx, 0x10
pinsrw xmm5, word [rbp + rbx], 1
pinsrw xmm9, word [rsi + rbx], 1
lea rbx, [r12 + r11*2]
lea r12, [r12 + r11*4]
shr rbx, 0x10
pinsrw xmm5, word [rbp + rbx], 2
pinsrw xmm9, word [rsi + rbx], 2
mov rbx, r12
sub rbx, r11
shr rbx, 0x10
pinsrw xmm5, word [rbp + rbx], 3
pinsrw xmm9, word [rsi + rbx], 3
punpcklbw xmm5, xmm0
punpcklbw xmm9, xmm0
pmaddwd xmm5, xmm1
pmaddwd xmm9, xmm1
pshufd xmm7, xmm5, 0xb1
pshufd xmm4, xmm9, 0xb1
pmuludq xmm7, xmm11
pmuludq xmm4, xmm12
paddq xmm7, xmm4
pmuludq xmm5, xmm11
pmuludq xmm9, xmm12
paddq xmm5, xmm9
psllq xmm7, 3
psrlq xmm5, 0x1d
blendps xmm7, xmm5, 5
mov rbx, r12
shr rbx, 0x10
movd xmm5, dword [rbp + rbx]
movd xmm4, dword [rsi + rbx]
lea rbx, [r12 + r11]
shr rbx, 0x10
pinsrw xmm5, word [rbp + rbx], 1
pinsrw xmm4, word [rsi + rbx], 1
lea rbx, [r12 + r11*2]
lea r12, [r12 + r11*4]
shr rbx, 0x10
pinsrw xmm5, word [rbp + rbx], 2
pinsrw xmm4, word [rsi + rbx], 2
mov rbx, r12
sub rbx, r11
shr rbx, 0x10
pinsrw xmm5, word [rbp + rbx], 3
pinsrw xmm4, word [rsi + rbx], 3
punpcklbw xmm5, xmm0
punpcklbw xmm4, xmm0
pmaddwd xmm5, xmm3
pmaddwd xmm4, xmm3
pshufd xmm2, xmm5, 0xb1
pshufd xmm9, xmm4, 0xb1
pmuludq xmm2, xmm11
pmuludq xmm9, xmm12
paddq xmm2, xmm9
pmuludq xmm5, xmm11
pmuludq xmm4, xmm12
paddq xmm5, xmm4
psllq xmm2, 3
psrlq xmm5, 0x1d
blendps xmm2, xmm5, 5
packssdw xmm7, xmm2
pavgw xmm7, xmm0
packuswb xmm7, xmm7
movlps qword [rcx], xmm7
add rcx, 8
paddw xmm1, xmm8
paddw xmm3, xmm8
pand xmm1, xmm13
pand xmm3, xmm13
sub rdi, 8
jg 0x1401e3241
lea rcx, [rcx + rdi + 1]
imul rdi, r11
add r12, rdi
shr r12, 0x10
movzx rbx, byte [rbp + r12]
mov byte [rcx - 1], bl
add r13d, dword [rsp + 0x110]
add rcx, rdx
sub r9, 1
jg 0x1401e31f1
mov rbp, r13
shr rbp, 0xf
imul rbp, r10
add rbp, rax
mov r12d, 0x8000
mov rdi, r8
mov rbx, r12
shr rbx, 0x10
movzx rbx, byte [rbp + rbx]
mov byte [rcx], bl
add rcx, 1
add r12, r11
sub rdi, 1
jg 0x1401e33fb
movdqu xmm15, xmmword [rsp + 0x90]
movdqu xmm14, xmmword [rsp + 0x80]
movdqu xmm13, xmmword [rsp + 0x70]
movdqu xmm12, xmmword [rsp + 0x60]
movdqu xmm11, xmmword [rsp + 0x50]
movdqu xmm10, xmmword [rsp + 0x40]
movdqu xmm9, xmmword [rsp + 0x30]
movdqu xmm8, xmmword [rsp + 0x20]
movdqu xmm7, xmmword [rsp + 0x10]
movdqu xmm6, xmmword [rsp]
add rsp, 0xa0
pop rsi
pop rdi
pop rbp
pop rbx
pop r13
pop r12
ret