Function at 0x14015c9c0
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x14015d8f8
push rbx
sub rsp, 0x2c0
mov rax, qword [0x1401e6f00]
xor rax, rsp
mov qword [rsp + 0x200], rax
mov qword [rsp + 0x2b8], rsi
mov rbx, r9
movaps xmmword [rsp + 0x2a0], xmm6
mov r10, rdx
movaps xmmword [rsp + 0x290], xmm7
mov r11, rcx
movaps xmmword [rsp + 0x280], xmm8
mov r9d, 0xa
movaps xmmword [rsp + 0x270], xmm9
movaps xmmword [rsp + 0x260], xmm10
movaps xmmword [rsp + 0x250], xmm11
movaps xmmword [rsp + 0x240], xmm12
cmp rbx, 0x100
jb 0x14015d404
movd xmm0, dword [rcx]
mov rdx, rbx
movd xmm1, dword [rcx + 4]
movd xmm2, dword [rcx + 8]
movd xmm3, dword [rcx + 0xc]
movd xmm4, dword [rcx + 0x10]
movd xmm5, dword [rcx + 0x14]
movd xmm6, dword [rcx + 0x18]
movd xmm7, dword [rcx + 0x1c]
movd xmm8, dword [rcx + 0x20]
movd xmm9, dword [rcx + 0x24]
movd xmm10, dword [rcx + 0x28]
movd xmm11, dword [rcx + 0x2c]
movd xmm12, dword [rcx + 0x38]
movaps xmmword [rsp + 0x230], xmm13
movd xmm13, dword [rcx + 0x3c]
shr rdx, 8
imul rax, rdx, 0xffffffffffffff00
pshufd xmm0, xmm0, 0
pshufd xmm1, xmm1, 0
pshufd xmm2, xmm2, 0
pshufd xmm3, xmm3, 0
pshufd xmm4, xmm4, 0
pshufd xmm5, xmm5, 0
add rbx, rax
pshufd xmm6, xmm6, 0
pshufd xmm7, xmm7, 0
pshufd xmm8, xmm8, 0
pshufd xmm9, xmm9, 0
pshufd xmm10, xmm10, 0
pshufd xmm11, xmm11, 0
pshufd xmm12, xmm12, 0
pshufd xmm13, xmm13, 0
movaps xmmword [rsp + 0x220], xmm14
movaps xmmword [rsp + 0x210], xmm15
movdqa xmmword [rsp + 0xb0], xmm0
movdqa xmmword [rsp + 0xc0], xmm1
movdqa xmmword [rsp + 0xd0], xmm2
movdqa xmmword [rsp + 0xe0], xmm3
movdqa xmmword [rsp + 0xf0], xmm4
movdqa xmmword [rsp + 0x100], xmm5
movdqa xmmword [rsp + 0x110], xmm6
movdqa xmmword [rsp + 0x120], xmm7
movdqa xmmword [rsp + 0x160], xmm8
movdqa xmmword [rsp + 0x130], xmm9
movdqa xmmword [rsp + 0x140], xmm10
movdqa xmmword [rsp + 0x170], xmm11
movdqa xmmword [rsp + 0x1a0], xmm12
movdqa xmmword [rsp + 0x1b0], xmm13
nop dword [rax + rax]
mov eax, dword [r11 + 0x30]
movdqa xmm15, xmm0
mov ecx, dword [r11 + 0x34]
movdqa xmm14, xmm4
movdqa xmmword [rsp + 0x20], xmm2
movdqa xmm4, xmm5
movdqa xmm2, xmmword [0x1401b5b80]
movdqa xmm5, xmm13
shl rcx, 0x20
or rcx, rax
movdqa xmmword [rsp + 0x60], xmm6
movdqa xmmword [rsp + 0x50], xmm1
mov rax, r9
movdqa xmm1, xmmword [reloc.WS2_32.dll_bind]
movdqa xmmword [rsp + 0x70], xmm10
movq xmm0, rcx
movdqa xmmword [rsp + 0x40], xmm7
punpcklqdq xmm0, xmm0
add rcx, 4
paddq xmm2, xmm0
movdqa xmmword [rsp + 0xa0], xmm8
movdqa xmm8, xmmword [rsp + 0x40]
movdqa xmm6, xmm2
movdqa xmm13, xmmword [rsp + 0xa0]
paddq xmm1, xmm0
punpckldq xmm6, xmm1
movdqa xmm7, xmm12
movdqa xmm10, xmm6
punpckhdq xmm2, xmm1
mov dword [r11 + 0x30], ecx
movdqa xmm12, xmm3
punpckldq xmm10, xmm2
punpckhdq xmm6, xmm2
shr rcx, 0x20
movdqa xmmword [rsp + 0x80], xmm11
movdqa xmm11, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x180], xmm10
movdqa xmmword [rsp + 0x90], xmm3
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmmword [rsp + 0x190], xmm6
mov dword [r11 + 0x34], ecx
jmp 0x14015cc86
movdqa xmm5, xmmword [rsp + 0x20]
movdqa xmm2, xmm14
paddd xmm2, xmm15
xorps xmm10, xmm2
pshufb xmm10, xmmword [0x1401b5ba0]
movdqa xmm3, xmm10
paddd xmm3, xmm13
movdqa xmm0, xmm3
xorps xmm0, xmm14
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
orps xmm1, xmm0
movdqa xmm9, xmm1
paddd xmm9, xmm2
movdqa xmm2, xmm4
paddd xmm2, xmmword [rsp + 0x50]
xorps xmm10, xmm9
pshufb xmm10, xmmword [0x1401b5bb0]
xorps xmm6, xmm2
pshufb xmm6, xmmword [0x1401b5ba0]
movdqa xmm13, xmm10
movdqa xmmword [rsp + 0xa0], xmm10
paddd xmm13, xmm3
movdqa xmm3, xmm6
paddd xmm3, xmmword [rsp + 0x30]
movdqa xmm0, xmm13
xorps xmm0, xmm1
movdqa xmm15, xmm0
pslld xmm0, 7
psrld xmm15, 0x19
orps xmm15, xmm0
movdqa xmm0, xmm3
xorps xmm0, xmm4
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
orps xmm1, xmm0
movdqa xmm10, xmm1
paddd xmm10, xmm2
movdqa xmm2, xmmword [rsp + 0x60]
paddd xmm2, xmm11
xorps xmm6, xmm10
pshufb xmm6, xmmword [0x1401b5bb0]
xorps xmm7, xmm2
pshufb xmm7, xmmword [0x1401b5ba0]
movdqa xmm14, xmm6
movdqa xmmword [rsp + 0x90], xmm6
paddd xmm14, xmm3
movdqa xmm3, xmm7
paddd xmm3, xmmword [rsp + 0x70]
movdqa xmm0, xmm14
xorps xmm0, xmm1
movdqa xmm6, xmm0
pslld xmm0, 7
psrld xmm6, 0x19
orps xmm6, xmm0
movdqa xmm0, xmm3
xorps xmm0, xmmword [rsp + 0x60]
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
orps xmm1, xmm0
movdqa xmm11, xmm1
paddd xmm11, xmm2
movdqa xmm2, xmm8
xorps xmm7, xmm11
paddd xmm2, xmm12
pshufb xmm7, xmmword [0x1401b5bb0]
xorps xmm5, xmm2
pshufb xmm5, xmmword [0x1401b5ba0]
movdqa xmm4, xmm7
movdqa xmmword [rsp + 0x30], xmm7
paddd xmm4, xmm3
movdqa xmm3, xmm5
paddd xmm3, xmmword [rsp + 0x80]
movdqa xmm0, xmm4
xorps xmm0, xmm1
movdqa xmm7, xmm0
pslld xmm0, 7
psrld xmm7, 0x19
orps xmm7, xmm0
movdqa xmm0, xmm3
xorps xmm0, xmm8
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
orps xmm1, xmm0
movdqa xmm12, xmm1
paddd xmm12, xmm2
movdqa xmm2, xmm6
paddd xmm2, xmm9
xorps xmm5, xmm12
pshufb xmm5, xmmword [0x1401b5bb0]
movdqa xmmword [rsp + 0x20], xmm5
paddd xmm5, xmm3
movdqa xmm9, xmmword [rsp + 0x20]
movdqa xmm0, xmm5
xorps xmm0, xmm1
xorps xmm9, xmm2
pshufb xmm9, xmmword [0x1401b5ba0]
movdqa xmm8, xmm0
pslld xmm0, 7
movdqa xmm3, xmm9
psrld xmm8, 0x19
orps xmm8, xmm0
paddd xmm3, xmm4
movdqa xmm0, xmm3
xorps xmm0, xmm6
movdqa xmm6, xmmword [rsp + 0x90]
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
orps xmm1, xmm0
movdqa xmm0, xmm1
paddd xmm0, xmm2
movdqa xmm2, xmm7
xorps xmm9, xmm0
movdqa xmmword [rsp + 0x40], xmm0
pshufb xmm9, xmmword [0x1401b5bb0]
paddd xmm2, xmm10
movdqa xmm10, xmmword [rsp + 0xa0]
xorps xmm10, xmm2
movdqa xmmword [rsp + 0x20], xmm9
pshufb xmm10, xmmword [0x1401b5ba0]
movdqa xmm0, xmm9
paddd xmm0, xmm3
movdqa xmm3, xmm10
movdqa xmmword [rsp + 0x70], xmm0
paddd xmm3, xmm5
xorps xmm0, xmm1
movdqa xmm4, xmm0
pslld xmm0, 7
psrld xmm4, 0x19
orps xmm4, xmm0
movdqa xmm0, xmm3
xorps xmm0, xmm7
movdqa xmmword [rsp + 0x150], xmm4
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
orps xmm1, xmm0
movdqa xmm0, xmm1
paddd xmm0, xmm2
movdqa xmm2, xmm8
xorps xmm10, xmm0
movdqa xmmword [rsp + 0x50], xmm0
pshufb xmm10, xmmword [0x1401b5bb0]
paddd xmm2, xmm11
movdqa xmm0, xmm10
xorps xmm6, xmm2
pshufb xmm6, xmmword [0x1401b5ba0]
paddd xmm0, xmm3
movdqa xmmword [rsp + 0x80], xmm0
movdqa xmm3, xmm6
xorps xmm0, xmm1
paddd xmm3, xmm13
movdqa xmm1, xmm0
pslld xmm0, 7
psrld xmm1, 0x19
orps xmm1, xmm0
movdqa xmm0, xmm3
movdqa xmmword [rsp + 0x60], xmm1
movdqa xmm7, xmmword [rsp + 0x30]
xorps xmm0, xmm8
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
orps xmm1, xmm0
movdqa xmm11, xmm1
paddd xmm11, xmm2
movdqa xmm2, xmm15
paddd xmm2, xmm12
xorps xmm6, xmm11
xorps xmm7, xmm2
pshufb xmm7, xmmword [0x1401b5ba0]
pshufb xmm6, xmmword [0x1401b5bb0]
movdqa xmm13, xmm6
paddd xmm13, xmm3
movdqa xmm3, xmm7
paddd xmm3, xmm14
movdqa xmm0, xmm13
xorps xmm0, xmm1
movdqa xmm8, xmm0
pslld xmm0, 7
psrld xmm8, 0x19
orps xmm8, xmm0
movdqa xmm0, xmm3
xorps xmm0, xmm15
movdqa xmm15, xmmword [rsp + 0x40]
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
orps xmm1, xmm0
movdqa xmm12, xmm1
paddd xmm12, xmm2
xorps xmm7, xmm12
pshufb xmm7, xmmword [0x1401b5bb0]
movdqa xmm0, xmm7
paddd xmm0, xmm3
movdqa xmmword [rsp + 0x30], xmm0
xorps xmm0, xmm1
movdqa xmm14, xmm0
pslld xmm0, 7
psrld xmm14, 0x19
orps xmm14, xmm0
sub rax, 1
jne 0x14015cc80
movdqa xmm5, xmmword [rsp + 0xb0]
movdqa xmm4, xmmword [rsp + 0xd0]
paddd xmm5, xmm15
movdqa xmm1, xmmword [rsp + 0xc0]
movdqa xmm3, xmm5
paddd xmm1, xmmword [rsp + 0x50]
paddd xmm4, xmm11
movdqa xmm0, xmmword [rsp + 0xe0]
movdqa xmm2, xmm4
movdqa xmm11, xmmword [rsp + 0x170]
paddd xmm0, xmm12
punpckhdq xmm5, xmm1
punpckldq xmm3, xmm1
punpckhdq xmm4, xmm0
movdqa xmm1, xmm3
punpckldq xmm2, xmm0
movdqu xmm0, xmmword [r10]
punpcklqdq xmm1, xmm2
xorps xmm1, xmm0
punpckhqdq xmm3, xmm2
movdqu xmmword [r8], xmm1
movdqu xmm0, xmmword [r10 + 0x40]
movdqa xmm1, xmm5
punpckhqdq xmm5, xmm4
punpcklqdq xmm1, xmm4
xorps xmm3, xmm0
movdqa xmm4, xmmword [rsp + 0x110]
paddd xmm4, xmmword [rsp + 0x60]
movdqu xmmword [r8 + 0x40], xmm3
movdqu xmm0, xmmword [r10 + 0x80]
movdqa xmm2, xmm4
xorps xmm1, xmm0
movdqu xmmword [r8 + 0x80], xmm1
movdqu xmm0, xmmword [r10 + 0xc0]
movdqa xmm1, xmmword [rsp + 0x100]
paddd xmm1, xmmword [rsp + 0x150]
xorps xmm5, xmm0
movdqa xmm0, xmmword [rsp + 0x120]
movdqu xmmword [r8 + 0xc0], xmm5
movdqa xmm5, xmmword [rsp + 0xf0]
paddd xmm0, xmm8
movdqa xmm8, xmmword [rsp + 0x160]
paddd xmm5, xmm14
punpckhdq xmm4, xmm0
movdqa xmm3, xmm5
punpckhdq xmm5, xmm1
punpckldq xmm3, xmm1
punpckldq xmm2, xmm0
movdqa xmm1, xmm3
movdqu xmm0, xmmword [r10 + 0x10]
punpcklqdq xmm1, xmm2
xorps xmm1, xmm0
punpckhqdq xmm3, xmm2
movdqu xmmword [r8 + 0x10], xmm1
movdqu xmm0, xmmword [r10 + 0x50]
movdqa xmm1, xmm5
punpckhqdq xmm5, xmm4
xorps xmm3, xmm0
punpcklqdq xmm1, xmm4
movdqa xmm4, xmmword [rsp + 0x140]
paddd xmm4, xmmword [rsp + 0x70]
movdqu xmmword [r8 + 0x50], xmm3
movdqu xmm0, xmmword [r10 + 0x90]
movdqa xmm2, xmm4
xorps xmm1, xmm0
movdqu xmmword [r8 + 0x90], xmm1
movdqu xmm0, xmmword [r10 + 0xd0]
movdqa xmm1, xmmword [rsp + 0x130]
paddd xmm1, xmmword [rsp + 0x30]
xorps xmm5, xmm0
movdqu xmmword [r8 + 0xd0], xmm5
movdqa xmm5, xmm8
movdqa xmm0, xmm11
paddd xmm0, xmmword [rsp + 0x80]
paddd xmm5, xmm13
movdqa xmm3, xmm5
punpckldq xmm2, xmm0
punpckldq xmm3, xmm1
punpckhdq xmm5, xmm1
movdqa xmm1, xmm3
punpckhdq xmm4, xmm0
movdqu xmm0, xmmword [r10 + 0x20]
movdqa xmm12, xmmword [rsp + 0x1a0]
movdqa xmm13, xmmword [rsp + 0x1b0]
punpcklqdq xmm1, xmm2
xorps xmm1, xmm0
punpckhqdq xmm3, xmm2
movdqu xmmword [r8 + 0x20], xmm1
movdqu xmm0, xmmword [r10 + 0x60]
movdqa xmm1, xmm5
punpckhqdq xmm5, xmm4
xorps xmm3, xmm0
punpcklqdq xmm1, xmm4
movdqu xmmword [r8 + 0x60], xmm3
movdqu xmm0, xmmword [r10 + 0xa0]
movdqa xmm4, xmm12
xorps xmm1, xmm0
paddd xmm4, xmm7
movdqa xmm7, xmmword [rsp + 0x120]
movdqa xmm2, xmm4
movdqu xmmword [r8 + 0xa0], xmm1
movdqu xmm0, xmmword [r10 + 0xe0]
movdqa xmm1, xmmword [rsp + 0x190]
xorps xmm5, xmm0
paddd xmm1, xmm6
movdqa xmm6, xmmword [rsp + 0x110]
movdqa xmm0, xmm13
movdqu xmmword [r8 + 0xe0], xmm5
movdqa xmm5, xmmword [rsp + 0x180]
paddd xmm0, xmm9
movdqa xmm9, xmmword [rsp + 0x130]
paddd xmm5, xmm10
movdqa xmm10, xmmword [rsp + 0x140]
movdqa xmm3, xmm5
punpckldq xmm3, xmm1
punpckhdq xmm5, xmm1
movdqa xmm1, xmm3
punpckldq xmm2, xmm0
punpckhdq xmm4, xmm0
movdqu xmm0, xmmword [r10 + 0x30]
punpcklqdq xmm1, xmm2
xorps xmm1, xmm0
punpckhqdq xmm3, xmm2
movdqa xmm2, xmmword [rsp + 0xd0]
movdqu xmmword [r8 + 0x30], xmm1
movdqu xmm0, xmmword [r10 + 0x70]
movdqa xmm1, xmm5
punpckhqdq xmm5, xmm4
xorps xmm3, xmm0
punpcklqdq xmm1, xmm4
movdqa xmm4, xmmword [rsp + 0xf0]
movdqu xmmword [r8 + 0x70], xmm3
movdqu xmm0, xmmword [r10 + 0xb0]
movdqa xmm3, xmmword [rsp + 0xe0]
xorps xmm1, xmm0
movdqu xmmword [r8 + 0xb0], xmm1
movdqu xmm0, xmmword [r10 + 0xf0]
add r10, 0x100
movdqa xmm1, xmmword [rsp + 0xc0]
xorps xmm5, xmm0
movdqa xmm0, xmmword [rsp + 0xb0]
movdqu xmmword [r8 + 0xf0], xmm5
add r8, 0x100
movdqa xmm5, xmmword [rsp + 0x100]
sub rdx, 1
jne 0x14015cb90
movaps xmm15, xmmword [rsp + 0x210]
movaps xmm14, xmmword [rsp + 0x220]
movaps xmm13, xmmword [rsp + 0x230]
mov qword [rsp + 0x2b0], rdi
cmp rbx, 0x40
jb 0x14015d5c9
movdqa xmm11, xmmword [0x1401b5ba0]
mov rdi, rbx
movdqa xmm12, xmmword [0x1401b5bb0]
shr rdi, 6
imul rax, rdi, 0xffffffffffffffc0
add rbx, rax
nop word [rax + rax]
movdqu xmm10, xmmword [r11]
mov rax, r9
movdqu xmm7, xmmword [r11 + 0x10]
movdqu xmm8, xmmword [r11 + 0x20]
movdqu xmm9, xmmword [r11 + 0x30]
movdqa xmm4, xmm10
movdqa xmm2, xmm7
movdqa xmm6, xmm8
movdqa xmm5, xmm9
nop dword [rax]
movdqa xmm3, xmm2
paddd xmm3, xmm4
xorps xmm5, xmm3
pshufb xmm5, xmm11
movdqa xmm4, xmm5
paddd xmm4, xmm6
movdqa xmm0, xmm4
xorps xmm0, xmm2
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
xorps xmm1, xmm0
movdqa xmm2, xmm1
paddd xmm2, xmm3
xorps xmm5, xmm2
pshufb xmm5, xmm12
pshufd xmm6, xmm5, 0x4e
movdqa xmm3, xmm5
paddd xmm3, xmm4
pshufd xmm4, xmm2, 0x93
pshufd xmm5, xmm3, 0x39
movdqa xmm0, xmm3
xorps xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm0, 7
psrld xmm1, 0x19
xorps xmm1, xmm0
paddd xmm4, xmm1
xorps xmm6, xmm4
pshufb xmm6, xmm11
paddd xmm5, xmm6
movdqa xmm0, xmm5
xorps xmm0, xmm1
movdqa xmm2, xmm0
pslld xmm0, 0xc
psrld xmm2, 0x14
xorps xmm2, xmm0
movdqa xmm0, xmm2
paddd xmm0, xmm4
pshufd xmm4, xmm0, 0x39
xorps xmm6, xmm0
pshufb xmm6, xmm12
movdqa xmm0, xmm6
paddd xmm0, xmm5
pshufd xmm5, xmm6, 0x4e
pshufd xmm6, xmm0, 0x93
movdqa xmm1, xmm0
xorps xmm1, xmm2
movdqa xmm2, xmm1
pslld xmm1, 7
psrld xmm2, 0x19
xorps xmm2, xmm1
sub rax, 1
jne 0x14015d470
movdqu xmm0, xmmword [r10 + 0x10]
paddd xmm7, xmm2
paddd xmm8, xmm6
xorps xmm7, xmm0
paddd xmm9, xmm5
movdqu xmm0, xmmword [r10 + 0x20]
paddd xmm10, xmm4
xorps xmm8, xmm0
movdqu xmm0, xmmword [r10 + 0x30]
xorps xmm9, xmm0
movdqu xmm0, xmmword [r10]
movdqu xmmword [r8 + 0x10], xmm7
movdqu xmmword [r8 + 0x20], xmm8
movdqu xmmword [r8 + 0x30], xmm9
xorps xmm10, xmm0
movdqu xmmword [r8], xmm10
mov edx, dword [r11 + 0x34]
add dword [r11 + 0x30], 1
lea eax, [rdx + 1]
cmovne eax, edx
add r8, 0x40
add r10, 0x40
mov dword [r11 + 0x34], eax
sub rdi, 1
jne 0x14015d440
mov rsi, qword [rsp + 0x2b8]
test rbx, rbx
je 0x14015d89b
movdqu xmm9, xmmword [r11]
movdqu xmm10, xmmword [r11 + 0x10]
movdqu xmm11, xmmword [r11 + 0x20]
movdqu xmm12, xmmword [r11 + 0x30]
movdqa xmm7, xmmword [0x1401b5ba0]
movdqa xmm4, xmm9
movdqa xmm8, xmmword [0x1401b5bb0]
movdqa xmm2, xmm10
movdqa xmm0, xmm11
movdqa xmm5, xmm12
nop word [rax + rax]
movdqa xmm3, xmm2
paddd xmm3, xmm4
xorps xmm5, xmm3
pshufb xmm5, xmm7
movdqa xmm4, xmm5
paddd xmm4, xmm0
movdqa xmm0, xmm4
xorps xmm0, xmm2
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
xorps xmm1, xmm0
movdqa xmm2, xmm1
paddd xmm2, xmm3
xorps xmm5, xmm2
pshufb xmm5, xmm8
pshufd xmm6, xmm5, 0x4e
movdqa xmm3, xmm5
paddd xmm3, xmm4
pshufd xmm4, xmm2, 0x93
pshufd xmm5, xmm3, 0x39
movdqa xmm0, xmm3
xorps xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm0, 7
psrld xmm1, 0x19
xorps xmm1, xmm0
paddd xmm4, xmm1
xorps xmm6, xmm4
pshufb xmm6, xmm7
paddd xmm5, xmm6
movdqa xmm0, xmm5
xorps xmm0, xmm1
movdqa xmm2, xmm0
pslld xmm0, 0xc
psrld xmm2, 0x14
xorps xmm2, xmm0
movdqa xmm0, xmm2
paddd xmm0, xmm4
pshufd xmm4, xmm0, 0x39
xorps xmm6, xmm0
pshufb xmm6, xmm8
movdqa xmm0, xmm6
paddd xmm0, xmm5
pshufd xmm5, xmm6, 0x4e
movdqa xmm1, xmm0
pshufd xmm0, xmm0, 0x93
xorps xmm1, xmm2
movdqa xmm2, xmm1
pslld xmm1, 7
psrld xmm2, 0x19
xorps xmm2, xmm1
sub r9, 1
jne 0x14015d620
xor ecx, ecx
paddd xmm9, xmm4
movdqu xmmword [rsp + 0x1c0], xmm9
paddd xmm10, xmm2
movdqu xmmword [rsp + 0x1d0], xmm10
paddd xmm11, xmm0
movdqu xmmword [rsp + 0x1e0], xmm11
paddd xmm5, xmm12
movdqu xmmword [rsp + 0x1f0], xmm5
mov edx, ecx
cmp rbx, 8
jb 0x14015d862
lea eax, [rbx - 1]
mov r9d, eax
lea r11, [rax + r8]
lea rax, [rsp + 0x1c0]
add rax, r9
cmp r8, rax
ja 0x14015d776
lea rax, [rsp + 0x1c0]
cmp r11, rax
jae 0x14015d862
lea rax, [r9 + r10]
cmp r8, rax
ja 0x14015d788
cmp r11, r10
jae 0x14015d862
cmp rbx, 0x40
jb 0x14015d82f
mov rdi, rbx
mov r11, rbx
and edi, 0x3f
sub r11, rdi
mov r9d, 0x20
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [rsp + rcx + 0x1c0]
lea eax, [r9 - 0x10]
add edx, 0x40
movdqu xmm1, xmmword [r10 + rcx]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r10 + rax]
movdqu xmmword [r8 + rcx], xmm1
mov ecx, edx
movdqu xmm1, xmmword [rsp + rax + 0x1c0]
xorps xmm1, xmm0
movdqu xmmword [rax + r8], xmm1
mov eax, r9d
movdqu xmm0, xmmword [r10 + rax]
movdqu xmm1, xmmword [rsp + rax + 0x1c0]
xorps xmm1, xmm0
movdqu xmmword [rax + r8], xmm1
lea eax, [r9 + 0x10]
add r9d, 0x40
movdqu xmm1, xmmword [rsp + rax + 0x1c0]
movdqu xmm0, xmmword [r10 + rax]
xorps xmm1, xmm0
movdqu xmmword [rax + r8], xmm1
cmp rcx, r11
jb 0x14015d7b0
cmp rdi, 8
jb 0x14015d862
mov rcx, rbx
and rcx, 0xfffffffffffffff8
mov eax, edx
nop dword [rax + rax]
movq xmm1, qword [r10 + rax]
add edx, 8
movq xmm0, qword [rsp + rax + 0x1c0]
xorps xmm1, xmm0
movq qword [r8 + rax], xmm1
mov eax, edx
cmp rax, rcx
jb 0x14015d840
mov ecx, edx
cmp rcx, rbx
jae 0x14015d889
nop dword [rax]
movzx eax, byte [r10 + rcx]
inc edx
xor al, byte [rsp + rcx + 0x1c0]
mov byte [r8 + rcx], al
mov ecx, edx
cmp rcx, rbx
jb 0x14015d870
mov edx, 0x40
lea rcx, [rsp + 0x1c0]
call fcn.14011b7a0
mov rdi, qword [rsp + 0x2b0]
movaps xmm10, xmmword [rsp + 0x260]
movaps xmm9, xmmword [rsp + 0x270]
movaps xmm8, xmmword [rsp + 0x280]
movaps xmm7, xmmword [rsp + 0x290]
movaps xmm6, xmmword [rsp + 0x2a0]
movaps xmm11, xmmword [rsp + 0x250]
movaps xmm12, xmmword [rsp + 0x240]
mov rcx, qword [rsp + 0x200]
xor rcx, rsp
call fcn.1401794f0
add rsp, 0x2c0
pop rbx
ret