Function at 0x18002cd10
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x18002dfb1
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x1f0]
sub rsp, 0x2f0
mov rax, qword [0x1800881d8]
xor rax, rsp
mov qword [rbp + 0x130], rax
mov qword [rsp + 0x2e0], r14
mov rdi, r9
movaps xmmword [rsp + 0x2d0], xmm6
mov r11, rdx
movaps xmmword [rsp + 0x2c0], xmm7
mov rbx, rcx
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 r9, 0x100
jb 0x18002d73f
movdqu xmm3, xmmword [rcx]
mov rdx, r9
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 rdi, 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
mov eax, dword [rbx + 0x20]
mov ecx, dword [rbx + 0x34]
movdqa xmm2, xmmword [0x180067220]
movdqa xmm1, xmmword [0x180067230]
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 [rbx + 0x20], ecx
paddq xmm2, xmm0
shr rcx, 0x20
movdqa xmm3, xmm2
mov dword [rbx + 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 0x18002cf76
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 0x18002cf70
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 [r11]
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 [r11 + 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 [r11 + 0x80]
pxor xmm6, xmm0
movdqu xmmword [r8 + 0x80], xmm6
movdqu xmm0, xmmword [r11 + 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 [r11 + 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 [r11 + 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 [r11 + 0x90]
movdqa xmm1, xmm5
pxor xmm6, xmm0
movdqu xmmword [r8 + 0x90], xmm6
movdqu xmm0, xmmword [r11 + 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 [r11 + 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 [r11 + 0x60]
punpckhqdq xmm2, xmm1
paddd xmm5, xmm13
movdqa xmm13, xmmword [rbp + 0x70]
pxor xmm0, xmm2
movdqu xmmword [r8 + 0x60], xmm0
movdqu xmm0, xmmword [r11 + 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 [r11 + 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 [r11 + 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 [r11 + 0x70]
pxor xmm0, xmm1
movdqu xmmword [r8 + 0x70], xmm0
movdqu xmm0, xmmword [r11 + 0xb0]
pxor xmm6, xmm0
movdqu xmmword [r8 + 0xb0], xmm6
movdqu xmm0, xmmword [r11 + 0xf0]
add r11, 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 0x18002ce80
movaps xmm15, xmmword [rsp + 0x240]
movaps xmm14, xmmword [rsp + 0x250]
mov r14d, 5
cmp rdi, 0x40
jb 0x18002db03
mov qword [rsp + 0x2e8], rsi
mov rsi, rdi
shr rsi, 6
imul rax, rsi, 0xffffffffffffffc0
add rdi, rax
nop word [rax + rax]
movdqu xmm10, xmmword [rbx]
mov rax, r14
movdqu xmm11, xmmword [rbx + 0x10]
movdqu xmm12, xmmword [rbx + 0x20]
movdqu xmm13, xmmword [rbx + 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 0x18002d7a0
mov eax, dword [r11]
paddd xmm9, xmm12
paddd xmm8, xmm11
movd r9d, xmm9
paddd xmm5, xmm13
pshufd xmm1, xmm8, 0x39
paddd xmm3, xmm10
movd r10d, xmm5
xor r9d, dword [r11 + 0x20]
pshufd xmm0, xmm3, 0x39
xor r10d, dword [r11 + 0x10]
pshufd xmm6, xmm0, 0x39
movd ecx, xmm3
pshufd xmm3, xmm5, 0x39
movd edx, xmm8
xor eax, ecx
pshufd xmm2, xmm9, 0x39
movd ecx, xmm0
xor edx, dword [r11 + 0x30]
mov dword [r8], eax
mov dword [r8 + 0x20], r9d
mov dword [r8 + 0x30], edx
mov dword [r8 + 0x10], r10d
mov eax, dword [r11 + 0x14]
xor eax, ecx
movd edx, xmm1
pshufd xmm0, xmm8, 0x93
movd r9d, xmm2
xor edx, dword [r11 + 4]
movd r10d, xmm3
xor r9d, dword [r11 + 0x34]
pshufd xmm4, xmm8, 0x4e
xor r10d, dword [r11 + 0x24]
mov dword [r8 + 0x14], eax
mov dword [r8 + 0x34], r9d
mov dword [r8 + 4], edx
mov dword [r8 + 0x24], r10d
pshufd xmm5, xmm9, 0x4e
pshufd xmm1, xmm3, 0x39
movd r9d, xmm4
movd edx, xmm5
movd ecx, xmm1
xor r9d, dword [r11 + 0x18]
xor edx, dword [r11 + 8]
xor ecx, dword [r11 + 0x38]
movd eax, xmm6
xor eax, dword [r11 + 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, xmm9, 0x93
movd edx, xmm0
xor r9d, dword [r11 + 0x2c]
pshufd xmm0, xmm3, 0x4e
xor edx, dword [r11 + 0x1c]
movd ecx, xmm0
pshufd xmm0, xmm6, 0x39
movd eax, xmm0
xor ecx, dword [r11 + 0xc]
xor eax, dword [r11 + 0x3c]
mov dword [r8 + 0x3c], eax
mov dword [r8 + 0x2c], r9d
mov dword [r8 + 0x1c], edx
mov dword [r8 + 0xc], ecx
mov edx, dword [rbx + 0x34]
add dword [rbx + 0x20], 1
lea eax, [rdx + 1]
cmovne eax, edx
add r8, 0x40
add r11, 0x40
mov dword [rbx + 0x34], eax
sub rsi, 1
jne 0x18002d770
mov rsi, qword [rsp + 0x2e8]
test rdi, rdi
je 0x18002df4a
movdqu xmm10, xmmword [rbx]
movdqu xmm11, xmmword [rbx + 0x10]
movdqu xmm12, xmmword [rbx + 0x20]
movdqu xmm13, xmmword [rbx + 0x30]
movdqa xmm3, xmm10
movdqa xmm8, xmm11
movdqa xmm9, xmm12
movdqa xmm5, xmm13
nop word [rax + rax]
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 r14, 1
jne 0x18002db40
paddd xmm3, xmm10
paddd xmm8, xmm11
pshufd xmm0, xmm3, 0x39
paddd xmm9, xmm12
paddd xmm5, xmm13
movd eax, xmm3
pshufd xmm3, xmm5, 0x39
xor ecx, ecx
pshufd xmm4, xmm0, 0x39
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 xmm0, xmm0, 0x4e
pshufd xmm1, xmm8, 0x93
pshufd xmm3, xmm3, 0x39
movd dword [rbp + 0x12c], xmm0
movd dword [rbp + 0x11c], xmm1
movd dword [rbp + 0x100], xmm5
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 rdi, 0x40
jb 0x18002df0d
lea eax, [rdi - 1]
mov r9d, eax
lea r10, [r8 + rax]
add rax, r11
cmp r8, rax
ja 0x18002de63
cmp r10, r11
jae 0x18002df0d
lea rax, [rbp + 0xf0]
add rax, r9
cmp r8, rax
ja 0x18002de82
lea rax, [rbp + 0xf0]
cmp r10, rax
jae 0x18002df0d
mov r10, rdi
and r10, 0xffffffffffffffc0
mov r9d, 0x20
nop
movdqu xmm0, xmmword [r11 + rcx]
lea eax, [r9 - 0x10]
add edx, 0x40
movdqu xmm1, xmmword [rbp + rcx + 0xf0]
pxor xmm1, xmm0
movdqu xmm0, xmmword [r11 + rax]
movdqu xmmword [r8 + rcx], xmm1
mov ecx, edx
movdqu xmm1, xmmword [rbp + rax + 0xf0]
pxor xmm1, xmm0
movdqu xmmword [r8 + rax], xmm1
mov eax, r9d
movdqu xmm0, xmmword [rbp + rax + 0xf0]
movdqu xmm1, xmmword [r11 + rax]
pxor xmm1, xmm0
movdqu xmmword [r8 + rax], xmm1
lea eax, [r9 + 0x10]
add r9d, 0x40
movdqu xmm1, xmmword [rbp + rax + 0xf0]
movdqu xmm0, xmmword [r11 + rax]
pxor xmm1, xmm0
movdqu xmmword [r8 + rax], xmm1
cmp rcx, r10
jb 0x18002de90
mov ecx, edx
cmp rcx, rdi
jae 0x18002df39
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rbp + rcx + 0xf0]
inc edx
xor al, byte [r11 + rcx]
mov byte [r8 + rcx], al
mov ecx, edx
cmp rcx, rdi
jb 0x18002df20
mov edx, 0x40
lea rcx, [rbp + 0xf0]
call fcn.180021e10
movaps xmm12, xmmword [rsp + 0x270]
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 r14, qword [rsp + 0x2e0]
movaps xmm13, xmmword [rsp + 0x260]
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.18003f660
add rsp, 0x2f0
pop rdi
pop rbx
pop rbp
ret