Function at 0x1400154d0
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x1400167f0
push rbp
push rbx
lea rbp, [rsp - 0x208]
sub rsp, 0x308
mov rax, qword [0x140033180]
xor rax, rsp
mov qword [rbp + 0x130], rax
mov qword [rsp + 0x300], rsi
mov rbx, r9
mov qword [rsp + 0x2f0], r12
mov r10, rdx
mov qword [rsp + 0x2e8], r14
mov r11, rcx
mov qword [rsp + 0x2e0], r15
movaps xmmword [rsp + 0x2d0], xmm6
movaps xmmword [rsp + 0x2c0], xmm7
movaps xmmword [rsp + 0x2b0], xmm8
movaps xmmword [rsp + 0x2a0], xmm9
movaps xmmword [rsp + 0x290], xmm10
movaps xmmword [rsp + 0x280], xmm11
movaps xmmword [rsp + 0x270], xmm12
movaps xmmword [rsp + 0x260], xmm13
cmp rbx, 0x100
jb 0x140015f1f
movdqu xmm3, xmmword [rcx]
mov rdx, rbx
movdqu xmm2, xmmword [rcx + 0x10]
shr rdx, 8
movdqu xmm0, xmmword [rcx + 0x30]
movdqu xmm1, xmmword [rcx + 0x20]
pshufd xmm8, xmm0, 0xff
pshufd xmm11, xmm0, 0
pshufd xmm0, xmm0, 0xaa
movaps xmmword [rsp + 0x250], xmm14
imul rax, rdx, 0xffffffffffffff00
movaps xmmword [rsp + 0x240], xmm15
movdqa xmmword [rbp - 0x20], xmm0
pshufd xmm4, xmm3, 0
pshufd xmm5, xmm2, 0x55
pshufd xmm7, xmm1, 0xaa
pshufd xmm6, xmm3, 0x55
add rbx, rax
pshufd xmm10, xmm2, 0xaa
pshufd xmm12, xmm1, 0xff
pshufd xmm9, xmm3, 0xaa
pshufd xmm13, xmm2, 0xff
pshufd xmm15, xmm2, 0
pshufd xmm14, xmm1, 0x55
pshufd xmm0, xmm3, 0xff
movdqa xmmword [rbp], xmm4
movdqa xmmword [rbp + 0x10], xmm5
movdqa xmmword [rbp + 0x20], xmm7
movdqa xmmword [rbp + 0x30], xmm8
movdqa xmmword [rbp + 0x40], xmm11
movdqa xmmword [rbp + 0x50], xmm6
movdqa xmmword [rbp + 0x90], xmm10
movdqa xmmword [rbp + 0xa0], xmm12
movdqa xmmword [rbp + 0x60], xmm9
movdqa xmmword [rbp + 0x70], xmm13
movdqa xmmword [rbp + 0xd0], xmm15
movdqa xmmword [rbp + 0xe0], xmm14
movdqa xmmword [rbp - 0x10], xmm0
nop word [rax + rax]
mov eax, dword [r11 + 0x20]
mov ecx, dword [r11 + 0x34]
movdqa xmm2, xmmword [0x1400248c0]
movdqa xmm1, xmmword [0x1400248d0]
shl rcx, 0x20
or rcx, rax
movdqa xmmword [rsp + 0x60], xmm6
movdqa xmm6, xmm9
movdqa xmmword [rsp + 0x50], xmm8
movdqa xmm9, xmmword [rbp - 0x10]
movdqa xmm8, xmm14
movdqa xmmword [rbp - 0x60], xmm4
mov eax, 0xa
movq xmm0, rcx
movdqa xmmword [rsp + 0x20], xmm7
punpcklqdq xmm0, xmm0
add rcx, 4
paddq xmm1, xmm0
mov dword [r11 + 0x20], ecx
paddq xmm2, xmm0
shr rcx, 0x20
movdqa xmm3, xmm2
mov dword [r11 + 0x34], ecx
punpckldq xmm3, xmm1
movdqa xmm7, xmm15
punpckhdq xmm2, xmm1
movdqa xmm0, xmm3
movdqa xmm1, xmmword [rbp - 0x20]
punpckhdq xmm3, xmm2
punpckldq xmm0, xmm2
movdqa xmm14, xmm3
movdqa xmmword [rbp - 0x50], xmm1
movdqa xmm2, xmm13
movdqa xmm1, xmm10
movdqa xmmword [rbp + 0xc0], xmm3
movdqa xmm3, xmmword [rsp + 0x60]
movdqa xmm10, xmm4
movdqa xmm4, xmm11
movdqa xmmword [rbp - 0x70], xmm2
movdqa xmm11, xmm0
movdqa xmmword [rbp + 0xb0], xmm0
movdqa xmmword [rbp - 0x80], xmm6
movdqa xmmword [rbp - 0x40], xmm9
movdqa xmmword [rsp + 0x30], xmm1
movdqa xmmword [rsp + 0x70], xmm12
jmp 0x140015756
movdqa xmm5, xmmword [rsp + 0x40]
movdqa xmm0, xmm7
paddd xmm0, xmm10
movdqa xmm10, xmm0
psrld xmm0, 0x19
pslld xmm10, 7
pxor xmm10, xmm4
pxor xmm10, xmm0
movdqa xmm0, xmm5
paddd xmm0, xmm3
movdqa xmm15, xmm0
psrld xmm0, 0x19
pslld xmm15, 7
pxor xmm15, xmm14
pxor xmm15, xmm0
movdqa xmm0, xmm10
paddd xmm0, xmmword [rbp - 0x60]
movdqa xmm13, xmm0
psrld xmm0, 0x17
pslld xmm13, 9
pxor xmm13, xmm11
pxor xmm13, xmm0
movdqa xmm0, xmm15
paddd xmm0, xmm3
movdqa xmmword [rbp + 0x80], xmm13
movdqa xmm14, xmm0
psrld xmm0, 0x17
pslld xmm14, 9
pxor xmm14, xmm8
pxor xmm14, xmm0
movdqa xmm0, xmm13
paddd xmm0, xmm10
movdqa xmm11, xmm0
psrld xmm0, 0x13
pslld xmm11, 0xd
pxor xmm11, xmm7
pxor xmm11, xmm0
movdqa xmm0, xmm15
paddd xmm0, xmm14
movdqa xmm4, xmm0
psrld xmm0, 0x13
pslld xmm4, 0xd
pxor xmm4, xmm5
pxor xmm4, xmm0
movdqa xmm0, xmm13
paddd xmm0, xmm11
movdqa xmm7, xmm0
psrld xmm0, 0xe
pslld xmm7, 0x12
pxor xmm7, xmmword [rbp - 0x60]
pxor xmm7, xmm0
movdqa xmm0, xmm14
paddd xmm0, xmm4
movdqa xmm8, xmm0
psrld xmm0, 0xe
pslld xmm8, 0x12
pxor xmm8, xmm3
pxor xmm8, xmm0
movdqa xmm0, xmm1
paddd xmm0, xmm6
movdqa xmm12, xmm0
psrld xmm0, 0x19
pslld xmm12, 7
pxor xmm12, xmmword [rbp - 0x50]
pxor xmm12, xmm0
movdqa xmm0, xmm2
paddd xmm0, xmm9
movdqa xmm5, xmm0
psrld xmm0, 0x19
pslld xmm5, 7
pxor xmm5, xmmword [rsp + 0x50]
pxor xmm5, xmm0
movdqa xmm0, xmm12
paddd xmm0, xmm6
movdqa xmm2, xmm0
psrld xmm0, 0x17
pslld xmm2, 9
pxor xmm2, xmmword [rsp + 0x20]
pxor xmm2, xmm0
movdqa xmm0, xmm5
paddd xmm0, xmm9
movdqa xmm3, xmm0
psrld xmm0, 0x17
pslld xmm3, 9
pxor xmm3, xmmword [rsp + 0x70]
pxor xmm3, xmm0
movdqa xmm0, xmm12
paddd xmm0, xmm2
movdqa xmm1, xmm0
psrld xmm0, 0x13
pslld xmm1, 0xd
pxor xmm1, xmmword [rsp + 0x30]
pxor xmm1, xmm0
movdqa xmm0, xmm5
paddd xmm0, xmm3
movdqa xmm6, xmm0
psrld xmm0, 0x13
pslld xmm6, 0xd
pxor xmm6, xmmword [rbp - 0x70]
pxor xmm6, xmm0
movdqa xmm0, xmm2
paddd xmm0, xmm1
movdqa xmm9, xmm0
psrld xmm0, 0xe
pslld xmm9, 0x12
pxor xmm9, xmmword [rbp - 0x80]
pxor xmm9, xmm0
movdqa xmm0, xmm5
paddd xmm0, xmm7
movdqa xmm13, xmm0
psrld xmm0, 0x19
pslld xmm13, 7
pxor xmm13, xmm4
pxor xmm13, xmm0
movdqa xmm0, xmm3
paddd xmm0, xmm6
movdqa xmmword [rsp + 0x40], xmm13
movdqa xmm4, xmm0
psrld xmm0, 0xe
pslld xmm4, 0x12
pxor xmm4, xmmword [rbp - 0x40]
pxor xmm4, xmm0
movdqa xmm0, xmm10
paddd xmm0, xmm8
movdqa xmm13, xmm0
psrld xmm0, 0x19
pslld xmm13, 7
pxor xmm13, xmm1
movdqa xmm1, xmm13
movdqa xmmword [rsp + 0x30], xmm13
pxor xmm1, xmm0
movdqa xmm0, xmmword [rsp + 0x40]
paddd xmm0, xmm7
movdqa xmmword [rsp + 0x30], xmm1
movdqa xmm13, xmm0
psrld xmm0, 0x17
pslld xmm13, 9
pxor xmm13, xmm2
movdqa xmm2, xmm13
movdqa xmmword [rsp + 0x20], xmm13
pxor xmm2, xmm0
movdqa xmm0, xmm1
paddd xmm0, xmm8
movdqa xmmword [rsp + 0x20], xmm2
movdqa xmm2, xmm0
psrld xmm0, 0x17
pslld xmm2, 9
pxor xmm2, xmm3
pxor xmm2, xmm0
movdqa xmm0, xmmword [rsp + 0x20]
paddd xmm0, xmmword [rsp + 0x40]
movdqa xmm13, xmm0
movdqa xmmword [rsp + 0x70], xmm2
psrld xmm0, 0x13
pslld xmm13, 0xd
pxor xmm13, xmm5
pxor xmm13, xmm0
movdqa xmm0, xmm2
paddd xmm0, xmm1
movdqa xmmword [rsp + 0x50], xmm13
movdqa xmm5, xmm0
pslld xmm5, 0xd
pxor xmm5, xmm10
psrld xmm0, 0x13
sub rax, 1
pxor xmm5, xmm0
movdqa xmm0, xmm13
paddd xmm0, xmmword [rsp + 0x20]
movdqa xmm10, xmm0
movdqa xmmword [rbp - 0x30], xmm5
psrld xmm0, 0xe
pslld xmm10, 0x12
pxor xmm10, xmm7
pxor xmm10, xmm0
movdqa xmm0, xmm5
paddd xmm0, xmm2
movdqa xmmword [rbp - 0x60], xmm10
movdqa xmm3, xmm0
psrld xmm0, 0xe
pslld xmm3, 0x12
pxor xmm3, xmm8
pxor xmm3, xmm0
movdqa xmm0, xmm15
paddd xmm0, xmm9
movdqa xmmword [rsp + 0x60], xmm3
movdqa xmm2, xmm0
psrld xmm0, 0x19
pslld xmm2, 7
pxor xmm2, xmm6
pxor xmm2, xmm0
movdqa xmm0, xmm12
paddd xmm0, xmm4
movdqa xmmword [rbp - 0x70], xmm2
movdqa xmm7, xmm0
psrld xmm0, 0x19
pslld xmm7, 7
pxor xmm7, xmm11
pxor xmm7, xmm0
movdqa xmm0, xmm2
paddd xmm0, xmm9
movdqa xmm11, xmm0
psrld xmm0, 0x17
pslld xmm11, 9
pxor xmm11, xmmword [rbp + 0x80]
pxor xmm11, xmm0
movdqa xmm0, xmm7
paddd xmm0, xmm4
movdqa xmm8, xmm0
psrld xmm0, 0x17
pslld xmm8, 9
pxor xmm8, xmm14
pxor xmm8, xmm0
movdqa xmm0, xmm11
paddd xmm0, xmm2
movdqa xmm14, xmm0
psrld xmm0, 0x13
pslld xmm14, 0xd
pxor xmm14, xmm15
pxor xmm14, xmm0
movdqa xmm0, xmm8
paddd xmm0, xmm7
movdqa xmm13, xmm0
psrld xmm0, 0x13
pslld xmm13, 0xd
pxor xmm13, xmm12
pxor xmm13, xmm0
movdqa xmm0, xmm14
paddd xmm0, xmm11
movdqa xmmword [rbp - 0x50], xmm13
movdqa xmm6, xmm0
psrld xmm0, 0xe
pslld xmm6, 0x12
pxor xmm6, xmm9
pxor xmm6, xmm0
movdqa xmm0, xmm13
paddd xmm0, xmm8
movdqa xmmword [rbp - 0x80], xmm6
movdqa xmm9, xmm0
psrld xmm0, 0xe
pslld xmm9, 0x12
pxor xmm9, xmm4
movdqa xmm4, xmm5
pxor xmm9, xmm0
movdqa xmmword [rbp - 0x40], xmm9
jne 0x140015750
movdqa xmm6, xmmword [rbp]
movdqa xmm5, xmmword [rbp + 0x20]
paddd xmm6, xmm10
paddd xmm5, xmmword [rsp + 0x20]
movdqa xmm3, xmm6
movdqa xmm1, xmmword [rbp + 0x10]
movdqa xmm2, xmm5
paddd xmm1, xmmword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x30]
paddd xmm0, xmmword [rsp + 0x50]
movdqa xmm10, xmmword [rbp + 0x90]
movdqa xmm12, xmmword [rbp + 0xa0]
punpckhdq xmm5, xmm0
punpckldq xmm2, xmm0
movdqu xmm0, xmmword [r10]
punpckhdq xmm6, xmm1
punpckldq xmm3, xmm1
movdqa xmm4, xmm6
punpcklqdq xmm6, xmm5
movdqa xmm1, xmm3
punpcklqdq xmm3, xmm2
pxor xmm3, xmm0
punpckhqdq xmm1, xmm2
movdqu xmmword [r8], xmm3
movdqu xmm0, xmmword [r10 + 0x40]
punpckhqdq xmm4, xmm5
movdqa xmm5, xmm10
paddd xmm5, xmmword [rsp + 0x30]
pxor xmm0, xmm1
movdqa xmm1, xmmword [rbp + 0x50]
movdqa xmm2, xmm5
paddd xmm1, xmmword [rsp + 0x60]
movdqu xmmword [r8 + 0x40], xmm0
movdqu xmm0, xmmword [r10 + 0x80]
pxor xmm6, xmm0
movdqu xmmword [r8 + 0x80], xmm6
movdqu xmm0, xmmword [r10 + 0xc0]
movdqa xmm6, xmmword [rbp + 0x40]
paddd xmm6, xmmword [rbp - 0x30]
pxor xmm0, xmm4
movdqu xmmword [r8 + 0xc0], xmm0
movdqa xmm3, xmm6
movdqa xmm0, xmm12
paddd xmm0, xmmword [rsp + 0x70]
punpckldq xmm2, xmm0
punpckhdq xmm5, xmm0
movdqu xmm0, xmmword [r10 + 0x10]
punpckhdq xmm6, xmm1
punpckldq xmm3, xmm1
movdqa xmm4, xmm6
punpcklqdq xmm6, xmm5
movdqa xmm1, xmm3
punpcklqdq xmm3, xmm2
pxor xmm3, xmm0
punpckhqdq xmm1, xmm2
movdqa xmm2, xmmword [rbp + 0xc0]
movdqu xmmword [r8 + 0x10], xmm3
movdqu xmm0, xmmword [r10 + 0x50]
punpckhqdq xmm4, xmm5
paddd xmm2, xmm14
movdqa xmm5, xmmword [rbp + 0x60]
pxor xmm0, xmm1
paddd xmm5, xmmword [rbp - 0x80]
movdqu xmmword [r8 + 0x50], xmm0
movdqu xmm0, xmmword [r10 + 0x90]
movdqa xmm1, xmm5
pxor xmm6, xmm0
movdqu xmmword [r8 + 0x90], xmm6
movdqu xmm0, xmmword [r10 + 0xd0]
movdqa xmm6, xmmword [rbp + 0xb0]
pxor xmm0, xmm4
paddd xmm6, xmm11
movdqu xmmword [r8 + 0xd0], xmm0
movdqa xmm0, xmmword [rbp + 0x70]
movdqa xmm3, xmm6
paddd xmm0, xmmword [rbp - 0x70]
punpckldq xmm3, xmm2
punpckhdq xmm6, xmm2
movdqa xmm2, xmm3
punpckldq xmm1, xmm0
punpckhdq xmm5, xmm0
movdqu xmm0, xmmword [r10 + 0x20]
movdqa xmm15, xmmword [rbp + 0xd0]
movdqa xmm4, xmm6
movdqa xmm14, xmmword [rbp + 0xe0]
movdqa xmm11, xmmword [rbp + 0x40]
punpcklqdq xmm6, xmm5
punpcklqdq xmm3, xmm1
pxor xmm3, xmm0
punpckhqdq xmm4, xmm5
movdqa xmm5, xmmword [rbp - 0x20]
movdqu xmmword [r8 + 0x20], xmm3
movdqu xmm0, xmmword [r10 + 0x60]
punpckhqdq xmm2, xmm1
paddd xmm5, xmm13
movdqa xmm13, xmmword [rbp + 0x70]
pxor xmm0, xmm2
movdqu xmmword [r8 + 0x60], xmm0
movdqu xmm0, xmmword [r10 + 0xa0]
movdqa xmm2, xmm5
movdqa xmm1, xmm14
pxor xmm6, xmm0
paddd xmm1, xmm8
movdqa xmm8, xmmword [rbp + 0x30]
movdqu xmmword [r8 + 0xa0], xmm6
movdqu xmm0, xmmword [r10 + 0xe0]
movdqa xmm6, xmm15
pxor xmm0, xmm4
paddd xmm6, xmm7
movdqa xmm7, xmmword [rbp + 0x20]
movdqa xmm3, xmm6
movdqu xmmword [r8 + 0xe0], xmm0
movdqa xmm0, xmmword [rbp - 0x10]
paddd xmm0, xmm9
punpckhdq xmm6, xmm1
movdqa xmm9, xmmword [rbp + 0x60]
movdqa xmm4, xmm6
punpckhdq xmm5, xmm0
punpckldq xmm2, xmm0
movdqu xmm0, xmmword [r10 + 0x30]
punpckldq xmm3, xmm1
movdqa xmm1, xmm3
punpcklqdq xmm6, xmm5
punpckhqdq xmm4, xmm5
movdqa xmm5, xmmword [rbp + 0x10]
punpcklqdq xmm3, xmm2
pxor xmm3, xmm0
punpckhqdq xmm1, xmm2
movdqu xmmword [r8 + 0x30], xmm3
movdqu xmm0, xmmword [r10 + 0x70]
pxor xmm0, xmm1
movdqu xmmword [r8 + 0x70], xmm0
movdqu xmm0, xmmword [r10 + 0xb0]
pxor xmm6, xmm0
movdqu xmmword [r8 + 0xb0], xmm6
movdqu xmm0, xmmword [r10 + 0xf0]
add r10, 0x100
movdqa xmm6, xmmword [rbp + 0x50]
pxor xmm0, xmm4
movdqa xmm4, xmmword [rbp]
movdqu xmmword [r8 + 0xf0], xmm0
add r8, 0x100
sub rdx, 1
jne 0x140015660
movaps xmm15, xmmword [rsp + 0x240]
movaps xmm14, xmmword [rsp + 0x250]
mov qword [rsp + 0x2f8], rdi
mov r14d, 5
cmp rbx, 0x40
jb 0x1400162e0
mov rdi, rbx
shr rdi, 6
imul rax, rdi, 0xffffffffffffffc0
add rbx, rax
nop word [rax + rax]
movdqu xmm10, xmmword [r11]
mov rax, r14
movdqu xmm11, xmmword [r11 + 0x10]
movdqu xmm12, xmmword [r11 + 0x20]
movdqu xmm13, xmmword [r11 + 0x30]
movdqa xmm3, xmm10
movdqa xmm8, xmm11
movdqa xmm9, xmm12
movdqa xmm5, xmm13
nop
movdqa xmm0, xmm8
paddd xmm0, xmm3
movdqa xmm1, xmm0
psrld xmm0, 0x19
pslld xmm1, 7
pxor xmm1, xmm5
pxor xmm1, xmm0
pshufd xmm7, xmm1, 0x93
movdqa xmm0, xmm1
paddd xmm0, xmm3
movdqa xmm5, xmm0
psrld xmm0, 0x17
pslld xmm5, 9
pxor xmm5, xmm9
pxor xmm5, xmm0
paddd xmm1, xmm5
movdqa xmm0, xmm5
movdqa xmm2, xmm1
psrld xmm1, 0x13
pslld xmm2, 0xd
pxor xmm2, xmm8
pxor xmm2, xmm1
movdqa xmm1, xmm7
paddd xmm0, xmm2
movdqa xmm6, xmm0
psrld xmm0, 0xe
pslld xmm6, 0x12
pxor xmm6, xmm3
pxor xmm6, xmm0
pshufd xmm0, xmm2, 0x39
paddd xmm1, xmm6
movdqa xmm3, xmm1
psrld xmm1, 0x19
pslld xmm3, 7
pxor xmm3, xmm0
pshufd xmm0, xmm5, 0x4e
pxor xmm3, xmm1
pshufd xmm8, xmm3, 0x93
movdqa xmm1, xmm3
paddd xmm1, xmm6
movdqa xmm4, xmm1
psrld xmm1, 0x17
pslld xmm4, 9
pxor xmm4, xmm0
pxor xmm4, xmm1
movdqa xmm1, xmm8
paddd xmm3, xmm4
pshufd xmm5, xmm4, 0x4e
movdqa xmm2, xmm3
psrld xmm3, 0x13
pslld xmm2, 0xd
pxor xmm2, xmm7
pxor xmm2, xmm3
movdqa xmm0, xmm2
pshufd xmm3, xmm2, 0x39
paddd xmm0, xmm4
movdqa xmm7, xmm0
psrld xmm0, 0xe
pslld xmm7, 0x12
pxor xmm7, xmm6
pxor xmm7, xmm0
paddd xmm1, xmm7
movdqa xmm0, xmm1
psrld xmm1, 0x19
pslld xmm0, 7
pxor xmm3, xmm0
pxor xmm3, xmm1
movdqa xmm1, xmm3
pshufd xmm6, xmm3, 0x93
paddd xmm1, xmm7
movdqa xmm0, xmm1
psrld xmm1, 0x17
pslld xmm0, 9
pxor xmm5, xmm0
pxor xmm5, xmm1
paddd xmm3, xmm5
movdqa xmm2, xmm3
psrld xmm3, 0x13
pslld xmm2, 0xd
pxor xmm2, xmm8
pxor xmm2, xmm3
movdqa xmm0, xmm5
movdqa xmm1, xmm6
paddd xmm0, xmm2
movdqa xmm4, xmm0
psrld xmm0, 0xe
pslld xmm4, 0x12
pxor xmm4, xmm7
pxor xmm4, xmm0
pshufd xmm0, xmm2, 0x39
paddd xmm1, xmm4
movdqa xmm3, xmm1
psrld xmm1, 0x19
pslld xmm3, 7
pxor xmm3, xmm0
pshufd xmm0, xmm5, 0x4e
pxor xmm3, xmm1
pshufd xmm8, xmm3, 0x93
movdqa xmm1, xmm3
paddd xmm1, xmm4
movdqa xmm2, xmm1
psrld xmm1, 0x17
pslld xmm2, 9
pxor xmm2, xmm0
pxor xmm2, xmm1
pshufd xmm9, xmm2, 0x4e
paddd xmm3, xmm2
movdqa xmm0, xmm3
psrld xmm3, 0x13
pslld xmm0, 0xd
pxor xmm0, xmm6
pxor xmm0, xmm3
pshufd xmm5, xmm0, 0x39
paddd xmm2, xmm0
movdqa xmm3, xmm2
psrld xmm2, 0xe
pslld xmm3, 0x12
pxor xmm3, xmm4
pxor xmm3, xmm2
sub rax, 1
jne 0x140015f80
paddd xmm13, xmm5
paddd xmm10, xmm3
paddd xmm11, xmm8
pshufd xmm0, xmm10, 0x39
paddd xmm12, xmm9
pshufd xmm1, xmm11, 0x39
movd r9d, xmm13
movd eax, xmm10
movd ecx, xmm11
xor r9d, dword [r10 + 0x10]
xor eax, dword [r10]
xor ecx, dword [r10 + 0x30]
movd edx, xmm12
pshufd xmm3, xmm13, 0x39
pshufd xmm2, xmm12, 0x39
xor edx, dword [r10 + 0x20]
mov dword [r8], eax
mov dword [r8 + 0x10], r9d
mov dword [r8 + 0x30], ecx
mov dword [r8 + 0x20], edx
movd eax, xmm0
movd ecx, xmm1
pshufd xmm0, xmm11, 0x93
xor eax, dword [r10 + 0x14]
xor ecx, dword [r10 + 4]
movd r9d, xmm3
movd edx, xmm2
pshufd xmm4, xmm11, 0x4e
xor r9d, dword [r10 + 0x24]
xor edx, dword [r10 + 0x34]
mov dword [r8 + 0x14], eax
mov dword [r8 + 0x24], r9d
mov dword [r8 + 4], ecx
mov dword [r8 + 0x34], edx
pshufd xmm6, xmm10, 0x4e
pshufd xmm5, xmm12, 0x4e
pshufd xmm1, xmm13, 0x4e
movd r9d, xmm4
movd edx, xmm5
movd ecx, xmm1
xor r9d, dword [r10 + 0x18]
xor edx, dword [r10 + 8]
xor ecx, dword [r10 + 0x38]
movd eax, xmm6
xor eax, dword [r10 + 0x28]
mov dword [r8 + 0x28], eax
mov dword [r8 + 0x18], r9d
mov dword [r8 + 8], edx
mov dword [r8 + 0x38], ecx
movd r9d, xmm0
pshufd xmm0, xmm12, 0x93
movd edx, xmm0
xor r9d, dword [r10 + 0x2c]
pshufd xmm0, xmm13, 0x93
xor edx, dword [r10 + 0x1c]
movd ecx, xmm0
pshufd xmm0, xmm10, 0x93
movd eax, xmm0
xor ecx, dword [r10 + 0xc]
xor eax, dword [r10 + 0x3c]
mov dword [r8 + 0x3c], eax
mov dword [r8 + 0x2c], r9d
mov dword [r8 + 0x1c], edx
mov dword [r8 + 0xc], ecx
mov edx, dword [r11 + 0x34]
add dword [r11 + 0x20], 1
lea eax, [rdx + 1]
cmovne eax, edx
add r8, 0x40
add r10, 0x40
mov dword [r11 + 0x34], eax
sub rdi, 1
jne 0x140015f50
test rbx, rbx
je 0x14001676a
movdqu xmm10, xmmword [r11]
movdqu xmm11, xmmword [r11 + 0x10]
movdqu xmm12, xmmword [r11 + 0x20]
movdqu xmm13, xmmword [r11 + 0x30]
movdqa xmm3, xmm10
movdqa xmm8, xmm11
movdqa xmm9, xmm12
movdqa xmm4, xmm13
nop dword [rax]
nop dword [rax + rax]
movdqa xmm0, xmm8
paddd xmm0, xmm3
movdqa xmm1, xmm0
psrld xmm0, 0x19
pslld xmm1, 7
pxor xmm1, xmm4
pxor xmm1, xmm0
pshufd xmm7, xmm1, 0x93
movdqa xmm0, xmm1
paddd xmm0, xmm3
movdqa xmm4, xmm0
psrld xmm0, 0x17
pslld xmm4, 9
pxor xmm4, xmm9
pxor xmm4, xmm0
paddd xmm1, xmm4
movdqa xmm0, xmm4
movdqa xmm2, xmm1
psrld xmm1, 0x13
pslld xmm2, 0xd
pxor xmm2, xmm8
pxor xmm2, xmm1
movdqa xmm1, xmm7
paddd xmm0, xmm2
movdqa xmm6, xmm0
psrld xmm0, 0xe
pslld xmm6, 0x12
pxor xmm6, xmm3
pxor xmm6, xmm0
pshufd xmm0, xmm2, 0x39
paddd xmm1, xmm6
movdqa xmm3, xmm1
psrld xmm1, 0x19
pslld xmm3, 7
pxor xmm3, xmm0
pshufd xmm0, xmm4, 0x4e
pxor xmm3, xmm1
pshufd xmm8, xmm3, 0x93
movdqa xmm1, xmm3
paddd xmm1, xmm6
movdqa xmm5, xmm1
psrld xmm1, 0x17
pslld xmm5, 9
pxor xmm5, xmm0
pxor xmm5, xmm1
movdqa xmm1, xmm8
paddd xmm3, xmm5
movdqa xmm2, xmm3
psrld xmm3, 0x13
pslld xmm2, 0xd
pxor xmm2, xmm7
pxor xmm2, xmm3
movdqa xmm0, xmm2
pshufd xmm3, xmm2, 0x39
paddd xmm0, xmm5
movdqa xmm7, xmm0
psrld xmm0, 0xe
pslld xmm7, 0x12
pxor xmm7, xmm6
pxor xmm7, xmm0
paddd xmm1, xmm7
movdqa xmm0, xmm1
psrld xmm1, 0x19
pslld xmm0, 7
pxor xmm3, xmm0
pshufd xmm0, xmm5, 0x4e
pxor xmm3, xmm1
movdqa xmm1, xmm3
pshufd xmm6, xmm3, 0x93
paddd xmm1, xmm7
movdqa xmm4, xmm1
psrld xmm1, 0x17
pslld xmm4, 9
pxor xmm4, xmm0
pxor xmm4, xmm1
paddd xmm3, xmm4
movdqa xmm2, xmm3
psrld xmm3, 0x13
pslld xmm2, 0xd
pxor xmm2, xmm8
pxor xmm2, xmm3
movdqa xmm0, xmm4
movdqa xmm1, xmm6
paddd xmm0, xmm2
movdqa xmm5, xmm0
psrld xmm0, 0xe
pslld xmm5, 0x12
pxor xmm5, xmm7
pxor xmm5, xmm0
pshufd xmm0, xmm2, 0x39
paddd xmm1, xmm5
movdqa xmm3, xmm1
psrld xmm1, 0x19
pslld xmm3, 7
pxor xmm3, xmm0
pshufd xmm0, xmm4, 0x4e
pxor xmm3, xmm1
pshufd xmm8, xmm3, 0x93
movdqa xmm1, xmm3
paddd xmm1, xmm5
movdqa xmm2, xmm1
psrld xmm1, 0x17
pslld xmm2, 9
pxor xmm2, xmm0
pxor xmm2, xmm1
pshufd xmm9, xmm2, 0x4e
paddd xmm3, xmm2
movdqa xmm0, xmm3
psrld xmm3, 0x13
pslld xmm0, 0xd
pxor xmm0, xmm6
pxor xmm0, xmm3
pshufd xmm4, xmm0, 0x39
paddd xmm2, xmm0
movdqa xmm3, xmm2
psrld xmm2, 0xe
pslld xmm3, 0x12
pxor xmm3, xmm5
pxor xmm3, xmm2
sub r14, 1
jne 0x140016320
paddd xmm3, xmm10
paddd xmm8, xmm11
pshufd xmm0, xmm3, 0x39
paddd xmm9, xmm12
paddd xmm4, xmm13
movd eax, xmm3
pshufd xmm3, xmm4, 0x39
xor ecx, ecx
pshufd xmm1, xmm8, 0x39
pshufd xmm2, xmm9, 0x39
movd edx, xmm2
movd dword [rbp + 0x104], xmm0
movd dword [rbp + 0xf4], xmm1
movd r9d, xmm3
pshufd xmm1, xmm8, 0x93
pshufd xmm3, xmm3, 0x39
movd dword [rbp + 0x100], xmm4
pshufd xmm4, xmm0, 0x39
pshufd xmm0, xmm0, 0x4e
movd dword [rbp + 0x12c], xmm0
movd dword [rbp + 0x11c], xmm1
pshufd xmm0, xmm9, 0x93
pshufd xmm1, xmm3, 0x39
pshufd xmm5, xmm8, 0x4e
pshufd xmm2, xmm9, 0x4e
mov dword [rbp + 0x124], edx
mov edx, ecx
movd dword [rbp + 0x10c], xmm0
movd dword [rbp + 0xfc], xmm1
mov dword [rbp + 0xf0], eax
movd dword [rbp + 0x120], xmm8
movd dword [rbp + 0x110], xmm9
mov dword [rbp + 0x114], r9d
movd dword [rbp + 0x118], xmm4
movd dword [rbp + 0x108], xmm5
movd dword [rbp + 0xf8], xmm2
movd dword [rbp + 0x128], xmm3
cmp rbx, 8
jb 0x140016733
lea eax, [rbx - 1]
mov r9d, eax
lea r11, [r8 + rax]
add rax, r10
cmp r8, rax
ja 0x140016643
cmp r11, r10
jae 0x140016733
lea rax, [rbp + 0xf0]
add rax, r9
cmp r8, rax
ja 0x140016662
lea rax, [rbp + 0xf0]
cmp r11, rax
jae 0x140016733
cmp rbx, 0x40
jb 0x140016703
mov rdi, rbx
mov r11, rbx
and edi, 0x3f
sub r11, rdi
mov r9d, 0x20
nop
movdqu xmm0, xmmword [r10 + rcx]
lea eax, [r9 - 0x10]
add edx, 0x40
movdqu xmm1, xmmword [rbp + rcx + 0xf0]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0xf0]
movdqu xmmword [r8 + rcx], xmm1
mov ecx, edx
movdqu xmm1, xmmword [r10 + rax]
pxor xmm1, xmm0
movdqu xmmword [r8 + rax], xmm1
mov eax, r9d
movdqu xmm0, xmmword [rbp + rax + 0xf0]
movdqu xmm1, xmmword [r10 + rax]
pxor xmm1, xmm0
movdqu xmmword [r8 + rax], xmm1
lea eax, [r9 + 0x10]
add r9d, 0x40
movdqu xmm1, xmmword [r10 + rax]
movdqu xmm0, xmmword [rbp + rax + 0xf0]
pxor xmm1, xmm0
movdqu xmmword [r8 + rax], xmm1
cmp rcx, r11
jb 0x140016680
cmp rdi, 8
jb 0x140016733
mov rcx, rbx
mov eax, edx
and rcx, 0xfffffffffffffff8
nop dword [rax]
movq xmm1, qword [rbp + rax + 0xf0]
add edx, 8
movq xmm0, qword [r10 + rax]
pxor xmm1, xmm0
movq qword [r8 + rax], xmm1
mov eax, edx
cmp rax, rcx
jb 0x140016710
mov ecx, edx
cmp rcx, rbx
jae 0x140016759
nop word [rax + rax]
movzx eax, byte [rbp + rcx + 0xf0]
inc edx
xor al, byte [r10 + rcx]
mov byte [r8 + rcx], al
mov ecx, edx
cmp rcx, rbx
jb 0x140016740
mov edx, 0x40
lea rcx, [rbp + 0xf0]
call fcn.140009800
mov rdi, qword [rsp + 0x2f8]
movaps xmm11, xmmword [rsp + 0x280]
movaps xmm10, xmmword [rsp + 0x290]
movaps xmm9, xmmword [rsp + 0x2a0]
movaps xmm8, xmmword [rsp + 0x2b0]
movaps xmm7, xmmword [rsp + 0x2c0]
movaps xmm6, xmmword [rsp + 0x2d0]
mov r15, qword [rsp + 0x2e0]
mov r14, qword [rsp + 0x2e8]
mov r12, qword [rsp + 0x2f0]
movaps xmm12, xmmword [rsp + 0x270]
mov rsi, qword [rsp + 0x300]
movaps xmm13, xmmword [rsp + 0x260]
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.140021960
add rsp, 0x308
pop rbx
pop rbp
ret