Function at 0x1800dfcf9
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x1800e0bf9
mov r11, rsp
push r14
sub rsp, 0x2e0
mov rax, qword [0x1803a5f20]
xor rax, rsp
mov qword [rsp + 0x200], rax
mov qword [r11 - 0x38], r15
mov r14, r9
movaps xmmword [r11 - 0x48], xmm6
mov r10, rdx
movaps xmmword [r11 - 0x58], xmm7
mov r15d, 0xa
movaps xmmword [r11 - 0x68], xmm8
movaps xmmword [r11 - 0x78], xmm9
movaps xmmword [r11 - 0x88], xmm10
movaps xmmword [r11 - 0x98], xmm11
movaps xmmword [r11 - 0xa8], xmm12
cmp r9, 0x100
jb 0x1800e07a1
movd xmm0, dword [rcx]
lea r9, [rdx + 0x40]
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]
mov qword [r11 - 0x10], rbx
lea rbx, [rdx + 0x80]
mov qword [r11 - 0x18], rbp
lea rbp, [r8 + 0xc0]
mov qword [r11 - 0x20], rsi
lea rsi, [rdx + 0xc0]
mov qword [r11 - 0x28], rdi
lea rdi, [r8 + 0x80]
mov qword [r11 - 0x30], r12
mov r12, r14
movaps xmmword [r11 - 0xb8], xmm13
movd xmm13, dword [rcx + 0x3c]
shr r12, 8
movaps xmmword [r11 - 0xc8], xmm14
imul rax, r12, 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 r14, 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 [r11 - 0xd8], xmm15
lea r11, [r8 + 0x40]
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]
mov eax, dword [rcx + 0x30]
movdqa xmm15, xmm0
mov edx, dword [rcx + 0x34]
movdqa xmm14, xmm4
movdqa xmmword [rsp + 0x20], xmm2
movdqa xmm4, xmm5
shl rdx, 0x20
movdqa xmm5, xmm13
or rdx, rax
movdqa xmmword [rsp + 0x60], xmm6
movdqa xmmword [rsp + 0x50], xmm1
mov rax, r15
movdqa xmm1, xmmword [0x180115010]
movdqa xmmword [rsp + 0x70], xmm10
movq xmm0, rdx
movdqa xmmword [rsp + 0x40], xmm7
punpcklqdq xmm0, xmm0
add rdx, 4
paddq xmm1, xmm0
movdqa xmmword [rsp + 0xa0], xmm8
movdqa xmm8, xmmword [rsp + 0x40]
movdqa xmm2, xmm0
paddq xmm2, xmmword [0x180115000]
movdqa xmm7, xmm12
movdqa xmm13, xmmword [rsp + 0xa0]
movdqa xmm6, xmm2
punpckldq xmm6, xmm1
movdqa xmm12, xmm3
movdqa xmm10, xmm6
punpckhdq xmm2, xmm1
mov dword [rcx + 0x30], edx
punpckldq xmm10, xmm2
punpckhdq xmm6, xmm2
shr rdx, 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 [rcx + 0x34], edx
jmp 0x1800dffd6
movdqa xmm5, xmmword [rsp + 0x20]
movdqa xmm2, xmm14
paddd xmm2, xmm15
pxor xmm10, xmm2
pshufb xmm10, xmmword [0x180115020]
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 [0x180115030]
pxor xmm6, xmm2
pshufb xmm6, xmmword [0x180115020]
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 [0x180115030]
pxor xmm7, xmm2
pshufb xmm7, xmmword [0x180115020]
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 [0x180115030]
pxor xmm5, xmm2
pshufb xmm5, xmmword [0x180115020]
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 [0x180115030]
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 [0x180115020]
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 [0x180115030]
paddd xmm2, xmm10
movdqa xmm10, xmmword [rsp + 0xa0]
pxor xmm10, xmm2
movdqa xmmword [rsp + 0x20], xmm9
pshufb xmm10, xmmword [0x180115020]
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 [0x180115030]
paddd xmm2, xmm11
movdqa xmm0, xmm10
pxor xmm6, xmm2
pshufb xmm6, xmmword [0x180115020]
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 [0x180115020]
pshufb xmm6, xmmword [0x180115030]
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 [0x180115030]
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 0x1800dffd0
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 [r9]
movdqa xmm1, xmm5
punpckhqdq xmm5, xmm4
punpcklqdq xmm1, xmm4
pxor xmm3, xmm0
movdqa xmm4, xmmword [rsp + 0x110]
paddd xmm4, xmmword [rsp + 0x60]
movdqu xmmword [r11], xmm3
movdqu xmm0, xmmword [rbx]
movdqa xmm2, xmm4
pxor xmm1, xmm0
movdqu xmmword [rdi], xmm1
movdqu xmm0, xmmword [rsi]
movdqa xmm1, xmmword [rsp + 0x100]
paddd xmm1, xmmword [rsp + 0x150]
pxor xmm5, xmm0
movdqa xmm0, xmmword [rsp + 0x120]
movdqu xmmword [rbp], 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 [r9 + 0x10]
movdqa xmm1, xmm5
punpckhqdq xmm5, xmm4
pxor xmm3, xmm0
punpcklqdq xmm1, xmm4
movdqa xmm4, xmmword [rsp + 0x140]
paddd xmm4, xmmword [rsp + 0x70]
movdqu xmmword [r11 + 0x10], xmm3
movdqu xmm0, xmmword [rbx + 0x10]
movdqa xmm2, xmm4
pxor xmm1, xmm0
movdqu xmmword [rdi + 0x10], xmm1
movdqu xmm0, xmmword [rsi + 0x10]
movdqa xmm1, xmmword [rsp + 0x130]
paddd xmm1, xmmword [rsp + 0x30]
pxor xmm5, xmm0
movdqu xmmword [rbp + 0x10], 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 [r9 + 0x20]
movdqa xmm1, xmm5
punpckhqdq xmm5, xmm4
pxor xmm3, xmm0
punpcklqdq xmm1, xmm4
movdqu xmmword [r11 + 0x20], xmm3
movdqu xmm0, xmmword [rbx + 0x20]
movdqa xmm4, xmm12
pxor xmm1, xmm0
paddd xmm4, xmm7
movdqa xmm7, xmmword [rsp + 0x120]
movdqa xmm2, xmm4
movdqu xmmword [rdi + 0x20], xmm1
movdqu xmm0, xmmword [rsi + 0x20]
movdqa xmm1, xmmword [rsp + 0x190]
pxor xmm5, xmm0
paddd xmm1, xmm6
movdqa xmm6, xmmword [rsp + 0x110]
movdqa xmm0, xmm13
movdqu xmmword [rbp + 0x20], 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]
add r10, 0x100
punpcklqdq xmm1, xmm2
pxor xmm1, xmm0
punpckhqdq xmm3, xmm2
movdqa xmm2, xmmword [rsp + 0xd0]
movdqu xmmword [r8 + 0x30], xmm1
add r8, 0x100
movdqu xmm0, xmmword [r9 + 0x30]
add r9, 0x100
movdqa xmm1, xmm5
punpckhqdq xmm5, xmm4
pxor xmm3, xmm0
punpcklqdq xmm1, xmm4
movdqa xmm4, xmmword [rsp + 0xf0]
movdqu xmmword [r11 + 0x30], xmm3
add r11, 0x100
movdqu xmm0, xmmword [rbx + 0x30]
add rbx, 0x100
movdqa xmm3, xmmword [rsp + 0xe0]
pxor xmm1, xmm0
movdqu xmmword [rdi + 0x30], xmm1
add rdi, 0x100
movdqu xmm0, xmmword [rsi + 0x30]
add rsi, 0x100
movdqa xmm1, xmmword [rsp + 0xc0]
pxor xmm5, xmm0
movdqa xmm0, xmmword [rsp + 0xb0]
movdqu xmmword [rbp + 0x30], xmm5
add rbp, 0x100
movdqa xmm5, xmmword [rsp + 0x100]
sub r12, 1
jne 0x1800dfee0
movaps xmm15, xmmword [rsp + 0x210]
movaps xmm14, xmmword [rsp + 0x220]
movaps xmm13, xmmword [rsp + 0x230]
mov r12, qword [rsp + 0x2b8]
mov rdi, qword [rsp + 0x2c0]
mov rsi, qword [rsp + 0x2c8]
mov rbp, qword [rsp + 0x2d0]
mov rbx, qword [rsp + 0x2d8]
cmp r14, 0x40
jb 0x1800e0965
movdqa xmm7, xmmword [0x180115020]
mov r9, r14
movdqa xmm8, xmmword [0x180115030]
shr r9, 6
imul rax, r9, 0xffffffffffffffc0
add r14, rax
nop word [rax + rax]
movdqu xmm9, xmmword [rcx]
mov rax, r15
movdqu xmm10, xmmword [rcx + 0x10]
movdqu xmm11, xmmword [rcx + 0x20]
movdqu xmm12, xmmword [rcx + 0x30]
movdqa xmm4, xmm9
movdqa xmm2, xmm10
movdqa xmm6, xmm11
movdqa xmm5, xmm12
nop
movdqa xmm3, xmm2
paddd xmm3, xmm4
pxor xmm5, xmm3
pshufb xmm5, xmm7
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, 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
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 0x1800e0800
movdqu xmm0, xmmword [r10 + 0x10]
paddd xmm2, xmm10
paddd xmm6, xmm11
pxor xmm2, xmm0
paddd xmm5, xmm12
movdqu xmm0, xmmword [r10 + 0x20]
paddd xmm4, xmm9
pxor xmm6, xmm0
movdqu xmm0, xmmword [r10 + 0x30]
pxor xmm5, xmm0
movdqu xmm0, xmmword [r10]
pxor xmm4, xmm0
movdqu xmmword [r8], xmm4
movdqu xmmword [r8 + 0x10], xmm2
movdqu xmmword [r8 + 0x20], xmm6
movdqu xmmword [r8 + 0x30], xmm5
mov edx, dword [rcx + 0x30]
mov eax, dword [rcx + 0x34]
add edx, 1
jne 0x1800e094d
inc eax
add r8, 0x40
mov dword [rcx + 0x30], edx
add r10, 0x40
mov dword [rcx + 0x34], eax
sub r9, 1
jne 0x1800e07d0
test r14, r14
je 0x1800e0b9b
movdqu xmm9, xmmword [rcx]
movdqu xmm10, xmmword [rcx + 0x10]
movdqu xmm11, xmmword [rcx + 0x20]
movdqu xmm12, xmmword [rcx + 0x30]
movdqa xmm7, xmmword [0x180115020]
movdqa xmm4, xmm9
movdqa xmm8, xmmword [0x180115030]
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 r15, 1
jne 0x1800e09b0
xor ecx, ecx
paddd xmm4, xmm9
paddd xmm2, xmm10
paddd xmm0, xmm11
paddd xmm5, xmm12
mov edx, ecx
movdqu xmmword [rsp + 0x1c0], xmm4
movdqu xmmword [rsp + 0x1d0], xmm2
movdqu xmmword [rsp + 0x1e0], xmm0
movdqu xmmword [rsp + 0x1f0], xmm5
cmp r14, 0x20
jb 0x1800e0b5f
lea eax, [r14 - 1]
mov r9d, eax
lea r11, [r8 + rax]
lea rax, [rsp + 0x1c0]
add rax, r9
cmp r8, rax
ja 0x1800e0b08
lea rax, [rsp + 0x1c0]
cmp r11, rax
jae 0x1800e0b5f
lea rax, [r10 + r9]
cmp r8, rax
ja 0x1800e0b16
cmp r11, r10
jae 0x1800e0b5f
mov r9, r14
and r9, 0xffffffffffffffe0
nop dword [rax]
movdqu xmm0, xmmword [rcx + r10]
lea eax, [rdx + 0x10]
add edx, 0x20
movdqu xmm1, xmmword [rsp + rcx + 0x1c0]
pxor xmm1, xmm0
movdqu xmmword [rcx + r8], xmm1
mov ecx, edx
movdqu xmm0, xmmword [rax + r10]
movdqu xmm1, xmmword [rsp + rax + 0x1c0]
pxor xmm1, xmm0
movdqu xmmword [rax + r8], xmm1
cmp rcx, r9
jb 0x1800e0b20
mov ecx, edx
cmp rcx, r14
jae 0x1800e0b89
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, r14
jb 0x1800e0b70
mov edx, 0x40
lea rcx, [rsp + 0x1c0]
call fcn.1800d6740
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]
mov r15, qword [rsp + 0x2b0]
movaps xmm12, xmmword [rsp + 0x240]
mov rcx, qword [rsp + 0x200]
xor rcx, rsp
call fcn.1800f1430
add rsp, 0x2e0
pop r14
ret