Function at 0x18002b5a0
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x18002c4d0
push rbx
sub rsp, 0x2b0
mov rax, qword [0x1800881d8]
xor rax, rsp
mov qword [rsp + 0x200], rax
movaps xmmword [rsp + 0x2a0], xmm6
mov rbx, r9
movaps xmmword [rsp + 0x290], xmm7
mov r10, rdx
movaps xmmword [rsp + 0x280], xmm8
mov r11, rcx
movaps xmmword [rsp + 0x270], xmm9
mov r9d, 0xa
movaps xmmword [rsp + 0x260], xmm10
movaps xmmword [rsp + 0x250], xmm11
movaps xmmword [rsp + 0x240], xmm12
cmp rbx, 0x100
jb 0x18002c014
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
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 [0x180067220]
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 [0x180067230]
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 0x18002b856
movdqa xmm5, xmmword [rsp + 0x20]
movdqa xmm2, xmm14
paddd xmm2, xmm15
pxor xmm10, xmm2
pshufb xmm10, xmmword [0x180067240]
movdqa xmm3, xmm10
paddd xmm3, xmm13
movdqa xmm0, xmm3
pxor xmm0, xmm14
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
por xmm1, xmm0
movdqa xmm9, xmm1
paddd xmm9, xmm2
movdqa xmm2, xmm4
paddd xmm2, xmmword [rsp + 0x50]
pxor xmm10, xmm9
pshufb xmm10, xmmword [0x180067250]
pxor xmm6, xmm2
pshufb xmm6, xmmword [0x180067240]
movdqa xmm13, xmm10
movdqa xmmword [rsp + 0xa0], xmm10
paddd xmm13, xmm3
movdqa xmm3, xmm6
paddd xmm3, xmmword [rsp + 0x30]
movdqa xmm0, xmm13
pxor xmm0, xmm1
movdqa xmm15, xmm0
pslld xmm0, 7
psrld xmm15, 0x19
por xmm15, xmm0
movdqa xmm0, xmm3
pxor xmm0, xmm4
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
por xmm1, xmm0
movdqa xmm10, xmm1
paddd xmm10, xmm2
movdqa xmm2, xmmword [rsp + 0x60]
paddd xmm2, xmm11
pxor xmm6, xmm10
pshufb xmm6, xmmword [0x180067250]
pxor xmm7, xmm2
pshufb xmm7, xmmword [0x180067240]
movdqa xmm14, xmm6
movdqa xmmword [rsp + 0x90], xmm6
paddd xmm14, xmm3
movdqa xmm3, xmm7
paddd xmm3, xmmword [rsp + 0x70]
movdqa xmm0, xmm14
pxor xmm0, xmm1
movdqa xmm6, xmm0
pslld xmm0, 7
psrld xmm6, 0x19
por xmm6, xmm0
movdqa xmm0, xmm3
pxor xmm0, xmmword [rsp + 0x60]
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
por xmm1, xmm0
movdqa xmm11, xmm1
paddd xmm11, xmm2
movdqa xmm2, xmm8
pxor xmm7, xmm11
paddd xmm2, xmm12
pshufb xmm7, xmmword [0x180067250]
pxor xmm5, xmm2
pshufb xmm5, xmmword [0x180067240]
movdqa xmm4, xmm7
movdqa xmmword [rsp + 0x30], xmm7
paddd xmm4, xmm3
movdqa xmm3, xmm5
paddd xmm3, xmmword [rsp + 0x80]
movdqa xmm0, xmm4
pxor xmm0, xmm1
movdqa xmm7, xmm0
pslld xmm0, 7
psrld xmm7, 0x19
por xmm7, xmm0
movdqa xmm0, xmm3
pxor xmm0, xmm8
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
por xmm1, xmm0
movdqa xmm12, xmm1
paddd xmm12, xmm2
movdqa xmm2, xmm6
paddd xmm2, xmm9
pxor xmm5, xmm12
pshufb xmm5, xmmword [0x180067250]
movdqa xmmword [rsp + 0x20], xmm5
paddd xmm5, xmm3
movdqa xmm9, xmmword [rsp + 0x20]
movdqa xmm0, xmm5
pxor xmm0, xmm1
pxor xmm9, xmm2
pshufb xmm9, xmmword [0x180067240]
movdqa xmm8, xmm0
pslld xmm0, 7
movdqa xmm3, xmm9
psrld xmm8, 0x19
por xmm8, xmm0
paddd xmm3, xmm4
movdqa xmm0, xmm3
pxor xmm0, xmm6
movdqa xmm6, xmmword [rsp + 0x90]
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
por xmm1, xmm0
movdqa xmm0, xmm1
paddd xmm0, xmm2
movdqa xmm2, xmm7
pxor xmm9, xmm0
movdqa xmmword [rsp + 0x40], xmm0
pshufb xmm9, xmmword [0x180067250]
paddd xmm2, xmm10
movdqa xmm10, xmmword [rsp + 0xa0]
pxor xmm10, xmm2
movdqa xmmword [rsp + 0x20], xmm9
pshufb xmm10, xmmword [0x180067240]
movdqa xmm0, xmm9
paddd xmm0, xmm3
movdqa xmm3, xmm10
movdqa xmmword [rsp + 0x70], xmm0
paddd xmm3, xmm5
pxor xmm0, xmm1
movdqa xmm4, xmm0
pslld xmm0, 7
psrld xmm4, 0x19
por xmm4, xmm0
movdqa xmm0, xmm3
pxor xmm0, xmm7
movdqa xmmword [rsp + 0x150], xmm4
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
por xmm1, xmm0
movdqa xmm0, xmm1
paddd xmm0, xmm2
movdqa xmm2, xmm8
pxor xmm10, xmm0
movdqa xmmword [rsp + 0x50], xmm0
pshufb xmm10, xmmword [0x180067250]
paddd xmm2, xmm11
movdqa xmm0, xmm10
pxor xmm6, xmm2
pshufb xmm6, xmmword [0x180067240]
paddd xmm0, xmm3
movdqa xmmword [rsp + 0x80], xmm0
movdqa xmm3, xmm6
pxor xmm0, xmm1
paddd xmm3, xmm13
movdqa xmm1, xmm0
pslld xmm0, 7
psrld xmm1, 0x19
por xmm1, xmm0
movdqa xmm0, xmm3
movdqa xmmword [rsp + 0x60], xmm1
movdqa xmm7, xmmword [rsp + 0x30]
pxor xmm0, xmm8
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
por xmm1, xmm0
movdqa xmm11, xmm1
paddd xmm11, xmm2
movdqa xmm2, xmm15
paddd xmm2, xmm12
pxor xmm6, xmm11
pxor xmm7, xmm2
pshufb xmm7, xmmword [0x180067240]
pshufb xmm6, xmmword [0x180067250]
movdqa xmm13, xmm6
paddd xmm13, xmm3
movdqa xmm3, xmm7
paddd xmm3, xmm14
movdqa xmm0, xmm13
pxor xmm0, xmm1
movdqa xmm8, xmm0
pslld xmm0, 7
psrld xmm8, 0x19
por xmm8, xmm0
movdqa xmm0, xmm3
pxor xmm0, xmm15
movdqa xmm15, xmmword [rsp + 0x40]
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
por xmm1, xmm0
movdqa xmm12, xmm1
paddd xmm12, xmm2
pxor xmm7, xmm12
pshufb xmm7, xmmword [0x180067250]
movdqa xmm0, xmm7
paddd xmm0, xmm3
movdqa xmmword [rsp + 0x30], xmm0
pxor xmm0, xmm1
movdqa xmm14, xmm0
pslld xmm0, 7
psrld xmm14, 0x19
por xmm14, xmm0
sub rax, 1
jne 0x18002b850
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
pxor xmm1, xmm0
punpckhqdq xmm3, xmm2
movdqu xmmword [r8], xmm1
movdqu xmm0, xmmword [r10 + 0x40]
movdqa xmm1, xmm5
punpckhqdq xmm5, xmm4
punpcklqdq xmm1, xmm4
pxor 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
pxor xmm1, xmm0
movdqu xmmword [r8 + 0x80], xmm1
movdqu xmm0, xmmword [r10 + 0xc0]
movdqa xmm1, xmmword [rsp + 0x100]
paddd xmm1, xmmword [rsp + 0x150]
pxor 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
pxor xmm1, xmm0
punpckhqdq xmm3, xmm2
movdqu xmmword [r8 + 0x10], xmm1
movdqu xmm0, xmmword [r10 + 0x50]
movdqa xmm1, xmm5
punpckhqdq xmm5, xmm4
pxor 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
pxor xmm1, xmm0
movdqu xmmword [r8 + 0x90], xmm1
movdqu xmm0, xmmword [r10 + 0xd0]
movdqa xmm1, xmmword [rsp + 0x130]
paddd xmm1, xmmword [rsp + 0x30]
pxor 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
pxor xmm1, xmm0
punpckhqdq xmm3, xmm2
movdqu xmmword [r8 + 0x20], xmm1
movdqu xmm0, xmmword [r10 + 0x60]
movdqa xmm1, xmm5
punpckhqdq xmm5, xmm4
pxor xmm3, xmm0
punpcklqdq xmm1, xmm4
movdqu xmmword [r8 + 0x60], xmm3
movdqu xmm0, xmmword [r10 + 0xa0]
movdqa xmm4, xmm12
pxor 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]
pxor 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
pxor 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
pxor 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]
pxor xmm1, xmm0
movdqu xmmword [r8 + 0xb0], xmm1
movdqu xmm0, xmmword [r10 + 0xf0]
add r10, 0x100
movdqa xmm1, xmmword [rsp + 0xc0]
pxor xmm5, xmm0
movdqa xmm0, xmmword [rsp + 0xb0]
movdqu xmmword [r8 + 0xf0], xmm5
add r8, 0x100
movdqa xmm5, xmmword [rsp + 0x100]
sub rdx, 1
jne 0x18002b763
movaps xmm15, xmmword [rsp + 0x210]
movaps xmm14, xmmword [rsp + 0x220]
movaps xmm13, xmmword [rsp + 0x230]
cmp rbx, 0x40
jb 0x18002c1f1
movdqa xmm11, xmmword [0x180067240]
movdqa xmm12, xmmword [0x180067250]
mov qword [rsp + 0x2d8], rdi
mov rdi, rbx
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
pxor xmm5, xmm3
pshufb xmm5, xmm11
movdqa xmm4, xmm5
paddd xmm4, xmm6
movdqa xmm0, xmm4
pxor xmm0, xmm2
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
pxor xmm1, xmm0
movdqa xmm2, xmm1
paddd xmm2, xmm3
pxor 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
pxor xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm0, 7
psrld xmm1, 0x19
pxor xmm1, xmm0
paddd xmm4, xmm1
pxor xmm6, xmm4
pshufb xmm6, xmm11
paddd xmm5, xmm6
movdqa xmm0, xmm5
pxor xmm0, xmm1
movdqa xmm2, xmm0
pslld xmm0, 0xc
psrld xmm2, 0x14
pxor xmm2, xmm0
movdqa xmm0, xmm2
paddd xmm0, xmm4
pshufd xmm4, xmm0, 0x39
pxor xmm6, xmm0
pshufb xmm6, xmm12
movdqa xmm0, xmm6
paddd xmm0, xmm5
pshufd xmm5, xmm6, 0x4e
pshufd xmm6, xmm0, 0x93
movdqa xmm1, xmm0
pxor xmm1, xmm2
movdqa xmm2, xmm1
pslld xmm1, 7
psrld xmm2, 0x19
pxor xmm2, xmm1
sub rax, 1
jne 0x18002c080
movdqu xmm0, xmmword [r10 + 0x10]
paddd xmm7, xmm2
paddd xmm8, xmm6
pxor xmm7, xmm0
paddd xmm9, xmm5
movdqu xmm0, xmmword [r10 + 0x20]
paddd xmm10, xmm4
pxor xmm8, xmm0
movdqu xmm0, xmmword [r10 + 0x30]
pxor xmm9, xmm0
movdqu xmm0, xmmword [r10]
movdqu xmmword [r8 + 0x10], xmm7
movdqu xmmword [r8 + 0x20], xmm8
movdqu xmmword [r8 + 0x30], xmm9
pxor 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 0x18002c050
mov rdi, qword [rsp + 0x2d8]
test rbx, rbx
je 0x18002c47b
movdqu xmm9, xmmword [r11]
movdqu xmm10, xmmword [r11 + 0x10]
movdqu xmm11, xmmword [r11 + 0x20]
movdqu xmm12, xmmword [r11 + 0x30]
movdqa xmm7, xmmword [0x180067240]
movdqa xmm4, xmm9
movdqa xmm8, xmmword [0x180067250]
movdqa xmm2, xmm10
movdqa xmm0, xmm11
movdqa xmm5, xmm12
nop word [rax + rax]
movdqa xmm3, xmm2
paddd xmm3, xmm4
pxor xmm5, xmm3
pshufb xmm5, xmm7
movdqa xmm4, xmm5
paddd xmm4, xmm0
movdqa xmm0, xmm4
pxor xmm0, xmm2
movdqa xmm1, xmm0
pslld xmm0, 0xc
psrld xmm1, 0x14
pxor xmm1, xmm0
movdqa xmm2, xmm1
paddd xmm2, xmm3
pxor 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
pxor xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm0, 7
psrld xmm1, 0x19
pxor xmm1, xmm0
paddd xmm4, xmm1
pxor xmm6, xmm4
pshufb xmm6, xmm7
paddd xmm5, xmm6
movdqa xmm0, xmm5
pxor xmm0, xmm1
movdqa xmm2, xmm0
pslld xmm0, 0xc
psrld xmm2, 0x14
pxor xmm2, xmm0
movdqa xmm0, xmm2
paddd xmm0, xmm4
pshufd xmm4, xmm0, 0x39
pxor xmm6, xmm0
pshufb xmm6, xmm8
movdqa xmm0, xmm6
paddd xmm0, xmm5
pshufd xmm5, xmm6, 0x4e
movdqa xmm1, xmm0
pshufd xmm0, xmm0, 0x93
pxor xmm1, xmm2
movdqa xmm2, xmm1
pslld xmm1, 7
psrld xmm2, 0x19
pxor xmm2, xmm1
sub r9, 1
jne 0x18002c240
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, 0x40
jb 0x18002c43e
lea eax, [rbx - 1]
mov r9d, eax
lea r11, [rax + r8]
lea rax, [rsp + 0x1c0]
add rax, r9
cmp r8, rax
ja 0x18002c3a2
lea rax, [rsp + 0x1c0]
cmp r11, rax
jae 0x18002c43e
lea rax, [r9 + r10]
cmp r8, rax
ja 0x18002c3b4
cmp r11, r10
jae 0x18002c43e
mov r11, rbx
and r11, 0xffffffffffffffc0
mov r9d, 0x20
movdqu xmm0, xmmword [rcx + r10]
lea eax, [r9 - 0x10]
add edx, 0x40
movdqu xmm1, xmmword [rsp + rcx + 0x1c0]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax + r10]
movdqu xmmword [rcx + r8], xmm1
mov ecx, edx
movdqu xmm1, xmmword [rsp + rax + 0x1c0]
pxor xmm1, xmm0
movdqu xmmword [rax + r8], xmm1
mov eax, r9d
movdqu xmm0, xmmword [rax + r10]
movdqu xmm1, xmmword [rsp + rax + 0x1c0]
pxor xmm1, xmm0
movdqu xmmword [rax + r8], xmm1
lea eax, [r9 + 0x10]
add r9d, 0x40
movdqu xmm1, xmmword [rsp + rax + 0x1c0]
movdqu xmm0, xmmword [rax + r10]
pxor xmm1, xmm0
movdqu xmmword [rax + r8], xmm1
cmp rcx, r11
jb 0x18002c3c1
mov ecx, edx
cmp rcx, rbx
jae 0x18002c469
nop word [rax + rax]
movzx eax, byte [rsp + rcx + 0x1c0]
inc edx
xor al, byte [rcx + r10]
mov byte [rcx + r8], al
mov ecx, edx
cmp rcx, rbx
jb 0x18002c450
mov edx, 0x40
lea rcx, [rsp + 0x1c0]
call fcn.180021e10
movaps xmm11, xmmword [rsp + 0x250]
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 xmm12, xmmword [rsp + 0x240]
mov rcx, qword [rsp + 0x200]
xor rcx, rsp
call fcn.18003f660
add rsp, 0x2b0
pop rbx
ret